Jump to content
InfoFile
Tác giả: congdung04
Bài viết gốc: 101562
Tên lệnh: sapxep
Viết lisp theo yêu cầu [phần 2]

Rất cảm ơn bác đã nhiệt tình giúp đỡ nhưng bác có thể đơn giản hóa lisp này hơn chút nữa không ạ, cụ thể là không cần nó phải ra cả một cái bảng mà trong đó không có chữ nào :D mà chỉ cần nó cho ra một cột gồm tất cả các text đã chọn (mỗi hàng một đối tượng text đã chọn - như thể là...
>>
Rất cảm ơn bác đã nhiệt tình giúp đỡ nhưng bác có thể đơn giản hóa lisp này hơn chút nữa không ạ, cụ thể là không cần nó phải ra cả một cái bảng mà trong đó không có chữ nào :D mà chỉ cần nó cho ra một cột gồm tất cả các text đã chọn (mỗi hàng một đối tượng text đã chọn - như thể là copy cái text đã chọn ấy ạ) và yêu cầu khoảng cách các hàng để sau đó em move tất cả chúng vào một bảng được kẻ bằng các line, như thế có phải dễ không ạ.
EM chỉ cần lisp này cho ra tên bản vẽ thôi còn kí hiệu thì em để ở một cột dùng Tcount sẽ ra ví dụ KC-01, KC-02, ........
Bác hiểu ý em chưa ạ?

kiểu như là đoạn code này nhưng mà thay vì nó sắp xếp theo hàng ta cho nó sắp theo cột ạ.

<<

Filename: 101562_sapxep.lsp
Tác giả: gia_bach
Bài viết gốc: 101588
Tên lệnh: sapxep
Viết lisp theo yêu cầu [phần 2]

Muốn đơn giản hóa ?! có ngay LISP sắp xếp theo cột.

Filename: 101588_sapxep.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 101241
Tên lệnh: fu
Giúp chuyển text từ cad sang Excel?
Đúng là AutoCAD thao tác với unicode rất khó khăn.

Dưới đây là lisp để biến file txt của bạn thành file txt unicode (mở bằng Wordpad hoặc MS Word). Tuy nhiên không triệt để bởi vì Autolisp không thể tạo ra một dấu xuống dòng unicode được. chính vì vậy, tạm thời dấu xuống dòng được biến thành dấu chấm phẩy ( ; ) vào trong word hoặc excel bạn biến nó thành ngắt dòng sau.
>>
Đúng là AutoCAD thao tác với unicode rất khó khăn.

Dưới đây là lisp để biến file txt của bạn thành file txt unicode (mở bằng Wordpad hoặc MS Word). Tuy nhiên không triệt để bởi vì Autolisp không thể tạo ra một dấu xuống dòng unicode được. chính vì vậy, tạm thời dấu xuống dòng được biến thành dấu chấm phẩy ( ; ) vào trong word hoặc excel bạn biến nó thành ngắt dòng sau.

Lệnh là FU (FixUnicode), sẽ tạo một file nằm cùng thư mục của file được chọn, có hậu tố _u.


Nếu bạn sử dụng quen excel, bạn có thể dễ dàng biến file text ngăn bằng dấu ; thành các hàng trong excel.
<<

Filename: 101241_fu.lsp
Tác giả: gia_bach
Bài viết gốc: 101556
Tên lệnh: sxt
Viết lisp theo yêu cầu [phần 2]

Bạn sài tạm : Lisp lập một bảng thống kê danh mục bản vẽ cho đối tượng text độc lập.

Filename: 101556_sxt.lsp
Tác giả: VUVUZELA
Bài viết gốc: 100741
Tên lệnh: wipe
Lisp nối Line thành Pline ?


Bác có thể dùng đoạn lisp này để đổi bất kỳ elisp hay Circle thành đường Pline

Filename: 100741_wipe.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 100917
Tên lệnh: fixtext
Chuyển text từ mã font %% sang text thường

Một vài file CAD có định dạng Text trong file được tạo nên từ các ký tự Ascii có cấu trúc %%xxx. Chính vì vậy hiển thị trong CAD vẫn ngon lành, tuy nhiên nội dung của text là lộn xộn. Lisp này giúp bạn sửa lỗi text trên

Filename: 100917_fixtext.lsp
Tác giả: Tue_NV
Bài viết gốc: 100733
Tên lệnh: nn
Lisp nối Line thành Pline ?

Hề hề, có 1 dấu tick Thanks, bạn tick vào đó là được mờ.
NgocSon hãy thử code này :
Bạn pick vào 1 trong các line, arc, pline nào đó -> là nó tự tìm các đoạn liên kết được để nối và các đoạn này có cùng tên layer. Tên Layer này được lấy theo đối tượng mà bạn đã pick. OK?
Đây là code

Hy vọng trúng ý của bạn

Filename: 100733_nn.lsp
Tác giả: gia_bach
Bài viết gốc: 100367
Tên lệnh: edatt
LISP voi thuoc tinh

Bạn tham khảo Lisp : Cập nhật Text ATT trong Block thuộc tính.

Filename: 100367_edatt.lsp
Tác giả: Thaistreetz
Bài viết gốc: 100287
Tên lệnh: rb
Viết lisp theo yêu cầu [phần 2]




Nếu cần ngay thì bạn dùng tạm code này. mình không có thời gian làm hộp thoại cho bạn.

Filename: 100287_rb.lsp
Tác giả: Truongson2006corp
Bài viết gốc: 5760
Tên lệnh: noi
Diễn giải các lệnh trong 1 file Autolisp
Mình có một đoạn Lisp, mìnhđọc mãi không hiểu lắm nhờ các bạn giải thích giúp mình. Một số lệnh trong Lisp mình đã đọc ở phần Help của Lisp nhưng mình vẫn không hiểu. Vì mình vừa mới nhập môn Lisp. Có bạn nào có tài liệu về giải thích các lệnh trong Lisp không, nếu có gửi cho mình với. Cám ơn các bạn nhiều. Sau đây là đoạn Lisp mình nhờ các bạn giải thích dùm:

Filename: 5760_noi.lsp
Tác giả: phamngoctukts
Bài viết gốc: 110218
Tên lệnh: taob
TÁCH BLOCK TỪ FILE!


Của bác đây. lệnh taob chọn block muốn tạo thành file mới. các file mới được tạo ra trong thư mục c:\wblock

Filename: 110218_taob.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 168090
Tên lệnh: tpg
(Yêu cầu) Lisp tìm phân giác góc lơn nhất tạo bởi các đoạn thẳng đồng qui


Hề hề hề,
Bác Trungngamy thử xài cái này xem có ưng ý không nhé.

Mình mới viết cho trường hợp là các line đồng quy, còn các polyline thì chưa xét. Nếu bác thấy cần thì mình sẽ bổ sung sau.
Chúc bác vui...

Filename: 168090_tpg.lsp
Tác giả: ketxu
Bài viết gốc: 168112
Tên lệnh: gd
Gióng đường kẻ Dim

Sử dụng cùng bộ với Lisp Cắt chân dim sẽ tạo ra các đường dim thẳng đẹp xinh :)


Filename: 168112_gd.lsp
Tác giả: gia_bach
Bài viết gốc: 165863
Tên lệnh: exptxt
Giúp chỉnh sửa lisp xuất tọa độ và cao độ sang text
Do file CAD của bạn set biến hệ thống DimZin = 8 nên CAD cắt bỏ các chữ số zero không có nghĩa phần chữ số thập phân.
(khi biến hệ thống DimZin khác 8 -> K/quả có hiển thị số 0 sau dấu phẩy)
Sửa lại cho bạn :

Filename: 165863_exptxt.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 168189
Tên lệnh: glt
Lisp tính lý trình các điểm trên 1 polyline/line

Hề hề hề,
Của bạn đây. Hy vọng bạn sẽ hài lòng với lần sửa này;

Chúc bạn luôn vui khi tham gia diễn đàn cùng mọi người.

Filename: 168189_glt.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 119619
Tên lệnh: pkp
You can order them on the spot with much confidence as most of the reputed online sellers give you 12-month warranty on buying these entertainment systems.

Chào bạn Nghia_XD,
Bạn xài thử cái này xem có đúng ý không nhé, nếu không ổn hãy post lên.

Filename: 119619_pkp.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 51606
Tên lệnh: ptest
help: làm sao để chia một đường polyline thành các đoạn có chiều dài khác nhau?

Chào bạn manhhuy1984,
Bạn dùng thử cái lisp này xem có đúng ý bạn không nhé. Có gì chưa đúng post lên để mình xem lại.
Bạn lư ý là lisp này chèn cái block b trên bản vẽ bạn post. Nếu bạn muốn chèn một block khác thì bạn sửa lại tên nó trong hàm insert hoặc thay vào đó là một hàm chọn tên block bạn nhé. Hơn nữa vì mình xài cái block cũ của bạn nên bạn đã đặt điểm chèn của...
>>

Chào bạn manhhuy1984,
Bạn dùng thử cái lisp này xem có đúng ý bạn không nhé. Có gì chưa đúng post lên để mình xem lại.
Bạn lư ý là lisp này chèn cái block b trên bản vẽ bạn post. Nếu bạn muốn chèn một block khác thì bạn sửa lại tên nó trong hàm insert hoặc thay vào đó là một hàm chọn tên block bạn nhé. Hơn nữa vì mình xài cái block cũ của bạn nên bạn đã đặt điểm chèn của block là tâm của hình rồi. Với các bock khác bạn phải lưu ý cái điểm chèn này nhé.


Lệnh chạy lisp là ptest, trong quá trình chạy lisp sẽ yêu cầu bạn nhập polyline, nhập các khoảng cách chèn block a, b và d.e như trên bản vẽ của bạn. (khoảng cách c là không cần thiết đâu bạn ạ, có a,b tất sẽ suy ra c mà)
Nếu polyline có nhiều đoạn thẳng hơn thì bạn sẽ phải nhập như vậy cho tới đoạn cuối cùng. Ở đoạn nào bạn không muốn chèn block vào thì bạn chỉ việc enter bỏ qua khi lisp hỏi khoảng cách chèn block.
Ở lisp này mình chỉ chèn block mà không xoay nó đi. nếu cần phải xoay, bạn bổ xung góc xoay vào cuối dòng lệnh insert là được
Cái lisp này mình dựa trên lisp lấy đỉnh của polyline của bác Hoành đã post trên diễn đàn rồi bổ sung phần lấy điểm chia theo khoảng cách cho trước và chèn block thôi. Bạn xem và cho mình biết ý kiến nếu như thấy chưa đạt theo yêu cầu của bạn.
Chúc bạn vui.
<<

Filename: 51606_ptest.lsp
Tác giả: Tue_NV
Bài viết gốc: 168299
Tên lệnh: gdclnil%0D%0A
Đố vui với LISP
Đáp án đây bạn :

Filename: 168299_gdclnil%0D%0A.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 168357
Tên lệnh: gcdtn
lisp tạo ra các điểm point lấy gt từ trắc dọc

Hề hề hề,
Giờ thì mọi việc có vẻ sẽ thuận lợi hơn.
Dựa theo bản vẽ bổ sung của bạn mình viết thử cái lisp này để bạn dùng xem có cần bổ sung hay sửa chữa gì thêm không nhé.

Chúc bạn vui.

Filename: 168357_gcdtn.lsp
Tác giả: ssg
Bài viết gốc: 11320
Tên lệnh: gp
lấy thuộc tính từ block
Thông cảm với bạn vì attrib block là đối tượng phức tạp. Bạn mới làm quen với entity, lại chọn đúng cái phức tạp mà "chơi" nên lúng túng cũng phải!
Đoạn lisp sau lấy ra được các thuộc tính từ attrib block có tên "caodomoc" trong bản vẽ của bạn. Kết quả nhận được là:
p: toạ độ điểm chèn block, kiểu point (list có 3 thành phần)
CD_TN: cao độ hiện trạng, kiểu string
>>
Thông cảm với bạn vì attrib block là đối tượng phức tạp. Bạn mới làm quen với entity, lại chọn đúng cái phức tạp mà "chơi" nên lúng túng cũng phải!
Đoạn lisp sau lấy ra được các thuộc tính từ attrib block có tên "caodomoc" trong bản vẽ của bạn. Kết quả nhận được là:
p: toạ độ điểm chèn block, kiểu point (list có 3 thành phần)
CD_TN: cao độ hiện trạng, kiểu string
CD_TK: cao độ thiết kế, kiểu string
CH_CAO: độ chênh cao, kiểu string
Bạn có thể sử dụng chúng để làm gì tuỳ ý. Hàm alert cuối cùng chỉ là ví dụ, minh hoạ cho việc áp dụng các kết quả nhận được.


<<

Filename: 11320_gp.lsp

Trang 52/303

52