Jump to content
InfoFile
Tác giả: ssg
Bài viết gốc: 50422
Tên lệnh: xy
Lấy toạ độ X,Y cùng lúc

Bạn thử lại với lisp này:


Muốn bao nhiêu chữ số thập phân, bạn vào Format - Units - Length - Precision... (phải thiết lập Units trước khi dùng XY, và chỉ cần 1 lần)

Filename: 50422_xy.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5021
Tên lệnh: cv
lisp chọn text chứa dấu phẩy thành dấu chấm

Chúng ta không nên quá lạm dụng lisp, mặc dù lisp này cũng rất đơn giản.

Lệnh CV dưới đây làm theo yêu cầu của bạn

Filename: 5021_cv.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5027
Tên lệnh: jpt
Nối các điểm chèn text thành những đoạn thẳng theo yêu cầu

tên lệnh là JPT. Lệnh sẽ yêu cầu bạn nhập 2 lần. Lần thứ nhất là select tập các đối tượng text cần nối với nhau. Lần thứ 2 là pick vào đối tượng text đầu tiên.

Filename: 5027_jpt.lsp
Tác giả: ssg
Bài viết gốc: 50365
Tên lệnh: xy
Lấy toạ độ X,Y cùng lúc

Bạn dùng lisp này. Lệnh XY:


Filename: 50365_xy.lsp
Tác giả: nataca
Bài viết gốc: 49842
Tên lệnh: ns%09
Thuật toán nội suy cao độ tự nhiên trong Nova

Nói thật mình không thích gửi riêng qua email lắm. Mình post lại lisp của bác Nguyen Hoanh lên đây cho mọi người. (@ bác Nguyen Hoanh ơi không hiểu sao chức năng tìm kiếm trên diễn đàn không hiệu quả lắm. Có cái biết chắc chắn có mà tim mãi không ra)

Filename: 49842_ns%09.lsp
Tác giả: nataca
Bài viết gốc: 49974
Tên lệnh: mexy
Viết Lisp theo yêu cầu


Bạn xem cái này đã đạt yêu cầu chưa. Lệnh MEXY

Filename: 49974_mexy.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5018
Tên lệnh: etp
Lisp xuất dữ liệu từ Acad sang file txt

Chương trình dưới có lệnh là ETP, Đáp ứng được yêu cầu của anh Vbao.
Chương trình tự động nhận dạng các text. Chữ to hơn sẽ được xem là cao độ điểm. Chữ bé hơn sẽ được xem là tên điểm.

Khi sử dụng chương trình, chỉ cần chọn các đối text, không cần phân biệt đâu là cao độ, đâu là tên điểm.

Chương trình có ưu điểm: chấp nhận việc chọn nhầm lẫn...
>>
Chương trình dưới có lệnh là ETP, Đáp ứng được yêu cầu của anh Vbao.
Chương trình tự động nhận dạng các text. Chữ to hơn sẽ được xem là cao độ điểm. Chữ bé hơn sẽ được xem là tên điểm.

Khi sử dụng chương trình, chỉ cần chọn các đối text, không cần phân biệt đâu là cao độ, đâu là tên điểm.

Chương trình có ưu điểm: chấp nhận việc chọn nhầm lẫn với các text không phải là cao độ hay tên điểm (ví dụ là text cao độ hiện trạng), miễn là chiều cao text không trùng với 2 loại này và số đối tượng text tên điểm phải chiếm đa số.


<<

Filename: 5018_etp.lsp
Tác giả: nataca
Bài viết gốc: 49485
Tên lệnh: ei2p
Viết Lisp theo yêu cầu


Filename: 49485_ei2p.lsp
Tác giả: Phiphi-
Bài viết gốc: 49140
Tên lệnh: p2t
Viết Lisp theo yêu cầu
LISP P2T.lsp của CADViet chỉ đánh Số thứ tự từ Trái qua Phải và Trên xuống Duới. Nhờ các Bác bổ sung thêm các options để:
+ Cho phép đánh cả Chử + Số +Chử (TD: X1a, X2a, X3a...)
+ Theo hướng user chọn
+ Dọc theo Line/Pline đi qua các points.
Thanks you.

Filename: 49140_p2t.lsp
Tác giả: Phiphi-
Bài viết gốc: 49261
Tên lệnh: invis
Lệnh ẩn đối tượng
Lệnh INVIS & VIS.

Filename: 49261_invis.lsp
Tác giả: Tue_NV
Bài viết gốc: 49270
Tên lệnh: toh
Viết Lisp theo yêu cầu

Đoạn Lisp này sẽ giúp bạn thực hiện điều đó.
Khi chạy bạn chọn 2 điểm là 2 góc đối diện của hình chữ nhật và Lisp sẽ tự động Hatch vào hình chữ nhật này.
Đoạn lisp này sử dụng kiểu hatch là kiểu ansi31 với tỷ lệ phóng mẫu là 10 và góc nghiêng mẫu là 0 độ.

Hy vọng Lisp chạy đúng ý bạn.

Filename: 49270_toh.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 4900
Tên lệnh: pw
Viết Lisp theo yêu cầu

Lệnh là PW (print width)

Filename: 4900_pw.lsp
Tác giả: ssg
Bài viết gốc: 49115
Tên lệnh: vd1 vd2 vd3 vd4 vd5
Kết hợp Excel-AutoLisp-AutoCAD

Người ta đã ghi rõ comment và cách sử dụng rồi mà. Bạn tham khảo code sau, có thêm vài dòng comment của ssg và các ví dụ ở cuối file. Bạn appload, chạy lần lượt các lệnh từ VD1 đến VD5, quan sát các phản ứng trên Cad lẫn Excel sẽ hiểu rõ hơn:


Góp ý:
Các nội dung code bạn nên cho vào codebox để topic được gọn gàng. Mặt khác, các định dạng code (như các chỗ ra vô...
>>

Người ta đã ghi rõ comment và cách sử dụng rồi mà. Bạn tham khảo code sau, có thêm vài dòng comment của ssg và các ví dụ ở cuối file. Bạn appload, chạy lần lượt các lệnh từ VD1 đến VD5, quan sát các phản ứng trên Cad lẫn Excel sẽ hiểu rõ hơn:


Góp ý:
Các nội dung code bạn nên cho vào codebox để topic được gọn gàng. Mặt khác, các định dạng code (như các chỗ ra vô đầu dòng chẳng hạn) sẽ được bảo toàn y như nguyên mẫu. Ssg đã edit bài của bạn và cho nó vô rồi đó, nhìn tổng thể trang topic cảm thấy dễ chịu hơn!
<<

Filename: 49115_vd1_vd2_vd3_vd4_vd5.lsp
Tác giả: ssg
Bài viết gốc: 48987
Tên lệnh: c2p
Chia đất!!!

Bài toán của anh có thể giải quyết bằng lisp "chia đất" này. Trình tự thực hiện như sau, tham khảo file ssg đã chạy ví dụ:

http://www.cadviet.com/upfiles/TinhDT159B.zip

1. Là hình nguyên thuỷ theo bản vẽ của anh

2. Copy 1/2 hình, dùng lisp ConvertToPline (cái này ssg đã post ở đâu đó rồi, tiện thể post lại ở đây), lệnh C2P. Khi chương trình hỏi "Delete source object? Y/N"...
>>

Bài toán của anh có thể giải quyết bằng lisp "chia đất" này. Trình tự thực hiện như sau, tham khảo file ssg đã chạy ví dụ:

http://www.cadviet.com/upfiles/TinhDT159B.zip

1. Là hình nguyên thuỷ theo bản vẽ của anh

2. Copy 1/2 hình, dùng lisp ConvertToPline (cái này ssg đã post ở đâu đó rồi, tiện thể post lại ở đây), lệnh C2P. Khi chương trình hỏi "Delete source object? Y/N" thì chọn "Y", xoá luôn cái spline cho đỡ lằng nhằng!

Thực hiện lần lượt cho 2 spline. Kết quả: 2 đường spline biến thành 2 pline riêng biệt

3. Lấy đối xứng, gọi lệnh Pedit với tuỳ chọn j (joint) -> toàn bộ thành 1 pline khép kín duy nhất. Tính được:
- Diện tích toàn phần S = 1286.9223
- Diện tích giới hạn bởi đường y=18 (không phải y=23.5 như anh đã nêu, có lẽ nhầm?): S1 = 915.9525
- Hệ số k = S1/S = 0.711739

4. Vẽ 1 line có góc nghiêng tuỳ ý, cắt pline kín ở 2 điểm, dùng cái lisp "chia đất" (lisp đầu tiên của topic này), chạy lệnh DL.
Đường chia dừng lại ở vị trí có S1 = 915.9528 -> sai số rất nhỏ so với các tính toán kỹ thuật thông thường

Tương tự như vậy, anh có thể thực hiện với nhiều đường chia có góc nghiêng theo ý muốn.
<<

Filename: 48987_c2p.lsp
Tác giả: Tue_NV
Bài viết gốc: 48689
Tên lệnh: df
Hiệu chỉnh Dt Text??????
Cám ơn anh Duy. Em dựa vào chính đoạn Code mà anh Duy đã viết cho bạn hhhhgggg để đổi font cho text sang font .VnHelvetlnsH.
Như các bạn đã biết khi ta đánh lệnh Style và thiết lập cho font chữ style đó là font chữ đậm thì nó tác dụng lên toàn bộ Text của Style đó. Còn muốn tô chữ đậm cho text riêng lẻ thì sử dụng đoạn Code của anh Duy và thay cái chuỗi ".VnHelvetInsH Medium" bằng...
>>
Cám ơn anh Duy. Em dựa vào chính đoạn Code mà anh Duy đã viết cho bạn hhhhgggg để đổi font cho text sang font .VnHelvetlnsH.
Như các bạn đã biết khi ta đánh lệnh Style và thiết lập cho font chữ style đó là font chữ đậm thì nó tác dụng lên toàn bộ Text của Style đó. Còn muốn tô chữ đậm cho text riêng lẻ thì sử dụng đoạn Code của anh Duy và thay cái chuỗi ".VnHelvetInsH Medium" bằng textstyle tô đậm thích hợp là được.

Ví dụ :
Để đổi sang font chữ :
.VnArial (Regular) : Thì thay cái chuỗi ".VnHelvetInsH Medium" bằng chuỗi : "VNARIAL.TTF"
.VnArial (Bold) (Chữ đậm) : Thì thay cái chuỗi ".VnHelvetInsH Medium" bằng chuỗi : "VNARIALB.TTF"
.VnArial (Italic) (Chữ nghiêng) : Thì thay cái chuỗi ".VnHelvetInsH Medium" bằng chuỗi : "VNARIALI.TTF"
.VnArial (Bold Italic) (Chữ đậm nghiêng) : Thì thay cái chuỗi ".VnHelvetInsH Medium" bằng chuỗi : "VNARIABI.TTF"

Như vậy, bạn phải xác định truớc font chữ của Style đó rồi mới tô thành cái chữ đậm được.
Anh Duy cho thêm ý kiến nhé. Cảm ơn.
<<

Filename: 48689_df.lsp
Tác giả: Tue_NV
Bài viết gốc: 48704
Tên lệnh: df
Hiệu chỉnh Dt Text??????
Cám ơn anh Duy.


Rõ ràng trong máy của bạn không có font chữ .VnHelvetInsH

Bạn hãy thử thay chuỗi ".VnHelvetInsH Medium" trong đoạn Code trên bằng font chữ có trong máy bạn thử xem.

Filename: 48704_df.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 4850
Tên lệnh: np
Viết Lisp theo yêu cầu



tên lệnh là NP.

Filename: 4850_np.lsp
Tác giả: Tue_NV
Bài viết gốc: 48544
Tên lệnh: df
Lisp đổi Font cho text được chọn tại sao lỗi với Font .vnarial narrow !!!!!!

Đây là đoạn Code đổi font của Text sang font .vnarial narrow

Chúc thành công ^_^

Filename: 48544_df.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 4788
Tên lệnh: wcnt
Viết Lisp theo yêu cầu



bạn thay dòng lệnh
(if (wcmatch gt (strcat "*" sw "*"))
bằng
(if (= gt sw)
là được.
Và lisp mới sẽ là:

Filename: 4788_wcnt.lsp
Tác giả: ssg
Bài viết gốc: 48163
Tên lệnh: mte
Viết Lisp theo yêu cầu

Bạn thử lisp này xem. Lệnh MTE:


Filename: 48163_mte.lsp

Trang 17/330

17