1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng dẫn sử dụng mã lisp autolisp CADViet forum

8 1,4K 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 418,1 KB

Nội dung

rồi chọn file lisp cần sử dụng, nhấn vào phím load.. * Lưu lại đường dẫn file sau mỗi lần load Bạn hãy check vào ô Add to History, từ lần sau bạn chỉ cần click tên file lisp từ bảng Hist

Trang 1

http://www.cadviet.com/forum/topic/1787-huong-dan-su-dung-ma-lisp/ 1/8

Trung tâm đào tạo

CA DV iet for u m → Lập tr ìn h CA D → A u toLisp

T r a n g 1 / 2

Hướng dẫn sử dụng mã Lisp

Started by Nguy en Hoanh, Sep 20 2007 04:24 PM

POPULA R

Nguyen Hoanh

* Lisp là gì?

Lisp là một ngôn ngữ script chạy dưới CAD, sử dụng các mã lisp giúp AutoCAD mạnh hơn

* Cách sử dụng file lisp Gồm 2 bước:

a Tải (load) file lisp vào AutoCAD Khi đã có file lisp trên ổ cứng, dùng lệnh appload (vào menu: Tools > Load Applications ) rồi chọn file lisp cần sử dụng, nhấn vào phím load Với mỗi bản vẽ, thao tác tải file chỉ cần thực hiện 1 lần

b Gọi lệnh trong file lisp vừa tải Tại dòng command, gõ tên lệnh (xem phần tìm tên lệnh bên dưới) và nhấn enter

* Lưu lại đường dẫn file sau mỗi lần load Bạn hãy check vào ô Add to History, từ lần sau bạn chỉ cần click tên file lisp từ bảng History list

* Để file lisp tự động được load mỗi khi mở bản vẽ?

bạn hãy click vào ô contents trong phần Startup suite

Gửi v à o 2 0 Septem ber 2 007 - 04 :2 4 PM

▼ X

T r u n g t â m đà o t ạo CA DV iet AutoCAD nâng cao chuy ên nghiệp

18h00 tối thứ Bảy - Chủ nhật (tuần 2 buổi) Khai giảng: 18:00 30/06/2014

04 3 5 5 2 01 9 0 09 1 5 1 3 9 2 5 7 w @ca dv iet.com

-ca dv iet.com /edu /

Trang 2

6/18/2014 Hướng dẫn sử dụng mã Lisp - AutoLisp - CADViet forum

* Để chạy một đoạn mã lấy từ CADViet về:

- Nếu đoạn mã đã là 1 file lsp thì bạn chỉ việc download về và dùng chức năng appload lên để sử dụng (như đã nói ở trên)

- Nếu đoạn mã nằm trong bài viết của diễn đàn, mở notepad (hoặc một chương trình soạn thảo nào đó cho phép bạn soạn file text) rồi paste nội dung vào Sau đó save file này thành một file có đuôi là lsp Sau đó appload lên dùng

- Nếu chương trình có sử dụng file ngoài như dcl, sld, dwg thì bạn có 2 lựa chọn:

Copy các file này vào thư mục support của AutoCAD Copy vào một thư mục nào đó rồi khai báo thư mục này với AutoCAD bằng cách vào Menu: Tools > Options > Files > Support file search path > Add rồi thêm đường dẫn của bạn vào

* Tìm tên lệnh của file lisp Bạn mở file lsp ra (bằng notepad), tìm đến các dòng mã (defun c:, phía sau c: là tên lệnh Ví dụ: (defun c:NOILINE thì tên lệnh là NOILINE Mặc định các file lisp của CADViet thì tên lệnh nằm ở tên file Ví dụ file tên là abc_def.lsp thì file có 2 lệnh là abc và def

Các chủ đề liên quan:

01 - Cách sử dụng Lisp ! - AutoLisp (http://www.cadviet.com/forum/topic/32-cach-su-dung-lisp/)

02 - AutoLisp (http://www.cadviet.com/forum/forum/50-autolisp/)

03 - How to use Visual LISP Editor - AutoLisp (http://www.cadviet.com/forum/topic/71169-how-to-use-visual-lisp-editor/)

04 - cách gỡ lisp - AutoLisp (http://www.cadviet.com/forum/topic/25359-cach-go-lisp/)

05 - [Nhờ viết] mã code đường dẫn load lisp - AutoLisp (http://www.cadviet.com/forum/topic/66559-nho-viet-ma-code-duong-dan-load-lisp/)

06 - Giúp mình sử dụng tff.lips - AutoLisp (http://www.cadviet.com/forum/topic/96875-giup-minh-su-dung-tff-lips/)

07 - code giới hạn thời gian sử dụng File lisp - AutoLisp (http://www.cadviet.com/forum/topic/1024-code-gioi-han-thoi-gian-su-dung-file-lisp/)

08 - Vẽ thang bằng lisp - AutoLisp (http://www.cadviet.com/forum/topic/272-ve-thang-bang-lisp/)

09 - Lisp tiện ích về dung sai - AutoLisp (http://www.cadviet.com/forum/topic/92994-lisp-tien-ich-ve-dung-sai/)

10 - Tổng hợp các file lisp thường dùng - Page 3 - AutoLisp - CADViet

(http://www.cadviet.com/forum/topic/7974-tong-hop-cac-file-lisp-thuong-dung/page-3)

11 - [Hỏi] Tiếng Việt trong Visual Lisp của Win7 - AutoLisp (http://www.cadviet.com/forum/topic/67533-hoi-tieng-viet-trong-visual-lisp-cua-win7/)

12 - Autocad 2012 không sử dụng được LISP! - AutoLisp (http://www.cadviet.com/forum/topic/61405-autocad-2012-khong-su-dung-duoc-lisp/)

13 - Tổng hợp các file lisp thường dùng - Page 5 - AutoLisp - CADViet

(http://www.cadviet.com/forum/topic/7974-tong-hop-cac-file-lisp-thuong-dung/page-5)

14 - Tìm lệnh của Lisp vẽ mặt cắt - AutoLisp (http://www.cadviet.com/forum/topic/89231-tim-lenh-cua-lisp-ve-mat-cat/)

15 - [Đã xong] Lisp rải đối tượng theo đơờng dẩn - AutoLisp - CADViet

(http://www.cadviet.com/forum/topic/42771-da-xong-lisp-rai-doi-tuong-theo-doong-dan/) Tags: text (/forum/custom/tag.html?q=text) , lisp (/forum/custom/tag.html?q=lisp) , script (/forum/custom/tag.html?q=script) , autocad (/forum/custom/tag.html?q=autocad) , cách (/forum/custom/tag.html?q=cách) , appload (/forum/custom/tag.html?q=appload) , tools (/forum/custom/tag.html?q=tools) , load (/forum/custom/tag.html?q=load) , applications

Trang 3

http://www.cadviet.com/forum/topic/1787-huong-dan-su-dung-ma-lisp/ 3/8

(/forum/custom/tag.html?q=applications) , command (/forum/custom/tag.html?q=command) , history (/forum/custom/tag.html?q=history) , contents (/forum/custom/tag.html?q=contents) , startup (/forum/custom/tag.html?q=startup) , download (/forum/custom/tag.html?q=download) , notepad (/forum/custom/tag.html?q=notepad) ,

thuyvan89

Tue_NV, on Apr 13 2009, 13:24, said:

password của nó là : www.cadv iet.com Tuy nhiên cách thức hoạt động của nó giống như lệnh Ded Lệnh Ded có thể thêm tiền tố lẫn hậu tố

Về cách của bạn ghi kích thưóc 1 2 [ Ø3 00.80] thì Ø3 00.80 là do trong nhãn Altnate Units -> Multiplier alt units bạn để số khác 1

Hãy nhập giá trị bằng 1 trong Multiplier alt units -> bạn sẽ có kết quả là 1 2 [ Ø1 2]

Tuy nhiên, đây không phải là kết quả bạn m ong m uốn Cái m ong m uốn của bạn là Ø1 2 thôi phải không?

Rất tiếc, CAD không thể làm được chuy ện đó được bạn ạ

Cách nhanh nhất là bạn sử dụng lệnh Ded(dim edit)

Bạn có thể chọn trước Dim Sty le bằng quickselect hoặc Filter rồi dùng Ded(Dim edit) để điền tiền tố Hoặc nhanh hơn là khi v ừa ghi kích thước xong, sẽ tự động nhập luôn giá trị Ø trước kích thước Đây là ý của bạn phải không?

Vậy thì bạn sử dụng đoạn Code này Khi y êu cầu nhập điểm đầu, điểm cuối v à đường chân kích thước (giống dim linear) thì Lisp tự động điền luôn tiền tố Ø trước kích thước

Hẳn bạn đã biết sử dụng Code Chúc thành công

Em vẫn chưa làm được Code đâu !Hu hu hu! Các anh chỉ giúp em : các thao tác tuần tự nhé, em cảm ơn nhiều!

Gửi v à o 1 6 A pr il 2 009 - 1 1 :5 6 A M

Tue_NV

thuyvan89, on Apr 16 2009, 11:56, said:

Em v ẫn chưa làm được Code đâu !Hu hu hu! Các anh chỉ giúp em : các thao tác tuần tự nhé, em cảm ơn nhiều!

Bạn lưu file này về trong một thư mục nào đó http://www.cadviet.com/upfiles/gfi.lsp (http://www.cadviet.com/link/?f=upfiles/gfi.lsp&w=1787)

Vào CAD -> đánh lệnh AP(Apload) -> Hiện lên hộp thoại Load/Unload aplication -> Bạn chỉ đường dẫn chọn file lưu đó -> Chọn Load -> Chọn Close Bạn đánh lệnh gfi xem sao

Khi chạy Lisp yêu cầu nhập điểm đầu, điểm cuối và đường chân kích thước (giống dimlinear) và Lisp tự động điền luôn tiền tố Ø trước kích thước

Chúc thành công nhé

Gửi v à o 1 6 A pr il 2 009 - 1 2 :5 1 PM

MoneyFan

E mới học Cad , e đã làm theo hướng dẫn ở trên ,nhưng vẫn chưa hiểu cách thực hiện và chạy các list này thế nào ,có phải đánh lệnh gì để nó chạy ko hay chỉ vào chọn đường dẫn load về , e chưa hiểu mong các bác chỉ dùm

Gửi v à o 09 A u g u st 2 009 - 07 :5 8 PM

svba1608

MoneyFan, on Aug 9 2009, 19:58, said:

E m ới học Cad , e đã làm theo hướng dẫn ở trên ,nhưng v ẫn chưa hiểu cách thực hiện v à chạy các list này thế nào ,có phải đánh lệnh gì để nó chạy ko hay chỉ v ào chọn đường dẫn load v ề , e chưa hiểu m ong các bác chỉ dùm

Đây có phải điều bạn muốn hỏi:

Gửi v à o 09 A u g u st 2 009 - 08 :3 9 PM

Trang 4

6/18/2014 Hướng dẫn sử dụng mã Lisp - AutoLisp - CADViet forum

Tue_NV, on Apr 16 2009, 11:45, said:

Bạn m ở notepad rồi paste nội dung v ào Sau đó sav e file này thành m ột file có đuôi là lsp

Ví dụ file này lưu có tên là gfi.lsp ở ổ C:\ chẳng hạn (đuôi là lsp) Vào Cad -> Gõ AP (APPLOAD) -> Hiện lên hộp thoại Load/Unload Application -> Bạn chọn file Lisp bạn v ừa lưu đó ở ổ C:\gfi.lsp -> Chọn Load -> Chọn Close

Để biết tên lệnh là gì?

Bạn m ở file lsp ra, tìm đến các dòng m ã (defun c:, phía sau c: là tên lệnh Ví dụ: (defun c:gfi thì tên lệnh là gfi

Bạn đọc thêm bài v iết này nhé : Hướng dẫn sử dụng m ã Lisp (http://www.cadv iet.com /forum /index.php?

showtopic=1 7 87 )

Với những lisp có sắn, bạn chỉ việc down về, gõ ap để appload lisp

Muốn biết lệnh của lisp, bạn mở file ra, tìm dòng chữ sau "defun c:" Đó chính là lệnh của lisp Mong bạn hiểu!

dinhcong

Mình mới xem qua mã Lisp nên chưa hiểu lắm Mình có down file có đuôi VLX, nhưng không biết thi hành lệnh thế nào? Đã convert sang file lsp để đọc, được 1 thư mục rất nhiều file, mình mở file có đuôi fas_.lsp xem defun là gì để thi hành lệnh nhưng báo lỗi Mà khi apload file lsp sau hki convert lại báo lỗi ở dòng Common, thế là sao nhỉ?

Gửi v à o 2 9 October 2 009 - 1 2 :5 3 PM

gia_bach

thaiquyenck, on Nov 14 2009, 14:20, said:

Mấy anh ơi cho em hỏi các lệnh v ẽ trong cad( chẳng hạn như line, circle, rectangle, )khi v ào lisp thì m ình phải sử dụng như thế naò v ậy ?

- Chẳng hạn như lệnh circle : (Com m and "circle" p1 r)

Mấy lệnh đó có sử dụng giống như khi m ình v ẽ không ? tức là thứ tự nhập điểm có giống nhau k? Mấy anh chỉ cho em cách

sử dụng luôn nha

Ví dụ vẽ line, circle, rectangle bằng command

File lisp: dt1_v t1_rec1.lsp Download (http://www.cadv iet.com/forum/topic/17 87 -huong-dan-su-dung-ma-lisp/)

(defun C:dt1( pt1 pt2 ) (setq pt1 (getpoint "\nDiem dau :") pt2 (getpoint pt1 "\nDiem cuoi :

")) com m and "line" pt1 pt2 "" )(princ) )(defun C:v t1( oo r )(setq oo (getpoint "\nT am :") r (getdist oo "\nBan kinh :")) com m and "circle" oo r )(princ))(defun C:rec1( pt1 pt2 )(setq

pt1 (getpoint "\nDiem dau :") pt2 (getpoint pt1 "\nDiem doi dien :")) com m and "rectang" pt

1 pt2)(princ))

Ví dụ vẽ line, circle bằng AutoLisp

File lisp: dt2_v t2.lsp Download (http://www.cadv iet.com/forum/topic/17 87 -huong-dan-su-dung-ma-lis p/)

Gửi v à o 1 4 Ja n u a r y 2 01 0 - 03 :4 5 PM

Trang 5

http://www.cadviet.com/forum/topic/1787-huong-dan-su-dung-ma-lisp/ 5/8

(defun C:dt2( pt1 pt2 )(setq pt1 (getpoint "\nDiem dau :") pt2 (getpoint pt1 "\nDiem cuoi :

")) entm ake (list (0 "LINE")(cons10 pt1)(cons11 pt2) )) princ))(defun C:v t2( oo r )(setq

oo (getpoint "\nT am :") r (getdist oo "\nBan kinh :")) entm ake (list (0 "CIRCLE")(cons1

0 oo)(cons40 r) )) princ))

Ví dụ vẽ rectangle bằng AutoLisp, độ phức tạp tăng lên

File lisp: rec2.lsp Download (http://www.cadv iet.com/forum/topic/17 87 -huong-dan-su-dung-ma-lisp/)

(defun C:rec2( ll ur )(defun m akeLWPoly line(lst-pt) (entm ake (apply (functionappe

nd) (cons (list '(0 "LWPOLY LINE") '(100 "AcDbEntity ") '(100 "AcDbPoly line") (cons90 (length lst-pt)) '(7 0 1 ) (m apcar (functionlist) (m apcar (function (

lam bda (a) (cons10 a))) lst-pt) ) ;_ m apcar ) ;_ cons ) ;_ apply ) ) (setq ll (getpoint "\

nDiem dau :") ur (getpoint ll "\nDiem doi dien :")) (m akeLWPoly line (list ll (list (car ll)(ca

dr ur)) ur (list (car ur)(cadr ll)))) (princ) )

gia_bach

DTCAT, on Jan 14 2010, 13:54, said:

Chao cac bac!E la thanh v ien m oi toe!Xin cac bac chi bao giup!Hien e dang co Lisp co đuổi dạng *.fas; em m uốn tìm hiểu cấu trúc bên trong của Lisp m à không thể m ở được Có bác nào có cách chuy ển v ề *.lsp được không?E đang cần, rất cần

Vấn đề bạn đặt ra khá tế nhị

Bạn hãy search trên diễn đàn, chủ đề này đã bàn rất nhiều rồi

hay http://www.cadviet.c p?showtopic=324 (http://www.cadviet.com/forum/index.php?showtopic=324) http://www.cadviet.c -Lsp-t3252.html (http://www.cadviet.com/forum/Lai-Van-De-Chuyen-VLX-Sang-Lsp-t3252.html)

Gửi v à o 1 5 Ja n u a r y 2 01 0 - 09 :5 4 A M

ndtnv

thaiquyenck, on Nov 14 2009, 14:20, said:

Mấy anh ơi cho em hỏi các lệnh v ẽ trong cad( chẳng hạn như line, circle, rectangle, )khi v ào lisp thì m ình phải sử dụng như thế naò v ậy ?

- Chẳng hạn như lệnh circle : (Com m and "circle" p1 r)

Mấy lệnh đó có sử dụng giống như khi m ình v ẽ không ? tức là thứ tự nhập điểm có giống nhau k? Mấy anh chỉ cho em cách

sử dụng luôn nha

Ngoài cách dùng command thì bạn có thể dùng hàm vl-cmdf với cú pháp tương tự

Dùng vl-cmdf có ưu điểm là CAD sẽ lượng giá các tham số giao cho command trước, nếu có lỗi sẽ trả về nil trong khi đó nếu dùng command thì ta không thể lường trước lỗi sẽ xảy ra như thế nào

Gửi v à o 01 Febr u a r y 2 01 0 - 1 0:2 5 A M

Trang 6

6/18/2014 Hướng dẫn sử dụng mã Lisp - AutoLisp - CADViet forum

Cảm ơn bác vì kiến thức bổ ích này kienctk4

gia_bach, on Jan 14 2010, 15:45, said:

Ví dụ v ẽ line, circle, rectangle bằng command

Ví dụ v ẽ line, circle bằng AutoLisp

Ví dụ v ẽ rectangle bằng AutoLisp, độ phức tạp tăng lên

Mình mới tìm hiểu Autolisp nên chưa biết nhiều lắm.Bạn có thể hướng dẫn cụ thể mình sử dụng Autolisp được không?

Sử dụng file lisp như thế nào?

Minh chua hieu ve

Gửi v à o 2 8 A u g u st 2 01 0 - 09 :04 A M

saonam_duyxuyen

hochoaivandot, on Aug 28 2010, 8:56, said:

Em xin được hỏi v ấn đề như sau : Khi em dùng lệnh m easure Cad cho phép m ình Align Block Nghĩa là qua đường cong thì hướng Block là theo phương tiếp tuy ến đường cong tại v ị trí chèn block Vậy cho em hỏi Cad quản lý góc tiếp tuy ến của đường cong so v ới phương ngang qua thông số nào? Nhờ các anh có thể chỉ cho em cách để lấy góc đường tiếp tuy ến của đường cong tại 1 điểm so v ới phương ngang Em đã xem các hàm trong v lax-curv e m à không thấy ?

Em m ới tập tành nên nếu có hỏi hơi ngớ ngẩn thì cũng m ong nhận được sự nhiệt tình của diễn đàn Xin cảm ơn m ọi người

- Mình cũng vừa đăng ký thành viên để hỏi vấn đề này, Hi vong nhận được câu trả lời sớm của diễn đàn

Mình nghĩ thế này : Nếu là đường arc, circle thì mình có thể vẽ 1 đường nối tâm, Rồi xác định góc đường này so với phương ngang dễ dàng bằng lệnh (angle point center), Nhưng nếu là đường curve tổng quát được ghép từ nhiều đường (Có thể có nhiều hơn 1 điểm center) thì làm sao xác định góc của đường tiếp tuyến với phương ngang Chắc phải có 1 biến nào đó chứa thông số này vì khi mình vẽ 1 đường line từ 1 điểm và rê chuột chọn osnap : parallel thì Cad cho ta đường tiếp tuyến

Gửi v à o 2 8 A u g u st 2 01 0 - 03 :2 0 PM

phucprodhv

Tại sao mình vẫn làm theo hướng dẫn mà vẫn không dc vậy hè? nhờ các bác chỉ dùm thanks nhìu nhé!

Gửi v à o 2 3 Septem ber 2 01 0 - 01 :2 3 PM

tuanduc

Bani có thể nói cụ thể hơn không Ví dụ như mở notepad rồi paste nội dung vào đâu? Khi mình mở notepad, sau đó save file này thành một file có đuôi là lsp nhưng ko đc Có thể gửi file hướng dẫn đính kèm ko

Gửi v à o 2 8 Septem ber 2 01 0 - 1 0:4 0 A M

Trang 7

http://www.cadviet.com/forum/topic/1787-huong-dan-su-dung-ma-lisp/ 7/8

CA DV iet for u m → Lập tr ìn h CA D → A u toLisp

Các bạn có thể nói rõ hơn về tác dụng của LISP giúp mình được ko.Thanks all phucprodhv

mình đã làm và sử dụng rùi.nó rất hay.nó giúp ta vẽ nhanh hơn nhiều.nhưng mà khi nào sử dụng thì phải chạy nó truớc.anh em ai có cách nào mà nó tự đọng chạy như các lệnh bình thuờng không? chỉ dùm mình nhé!thanks!

Gửi v à o 01 October 2 01 0 - 1 2 :04 A M

18011985

phucprodhv, on Oct 1 2010, 0:04, said:

m ình đã làm v à sử dụng rùi.nó rất hay nó giúp ta v ẽ nhanh hơn nhiều.nhưng m à khi nào sử dụng thì phải chạy nó truớc.anh em ai có cách nào m à nó tự đọng chạy như các lệnh bình thuờng không? chỉ dùm m ình nhé!thanks!

Bạn dùng lệnh appload, Chọn button contents, chọn button add, chọn các lisp bạn thường xuyên sử dụng ấn OK, Close, Close

Gửi v à o 01 October 2 01 0 - 07 :5 5 A M

lyky

Để ACAD tự động load một AutoLisp nào đó, điều đầu tiên bạn phải chép file LISP đó vào folder Support (nằm trong vùng cài đặt của ACAD trong máy bạn)

Sau đó mở file Acad.lsp lên (file này nằm sẵn trong Support, là Autolisp duy nhất được ưu tiên tự động cập nhật mặc nhiên) Thêm vào ở vị trí thích hợp (nghĩa là ở sau vị trí kết thúc hoặc ở trước vị trí bắt đầu của một đoạn code thống nhất nào đó) một đoạn như sau (chọn cách nào cũng được):

1 (load "TÊN FILE LISP CẦN TẢI")

2 (command "load" ""TÊN FILE LISP CẦN TẢI") Cần tự động load bao nhiêu file thì bạn cần thêm vào bấy nhiêu dòng

Sau đó lưu file lại, khởi động ACAD lên, các LISP mà bạn yêu cầu đã được tự động cập nhật rồi đó

chúc các bạn vui và mọi điều may mắn!

Lý Kỳ

Gửi v à o 04 October 2 01 0 - 1 2 :5 1 PM

dandongcoc_boison

Làm thế nào để save tex *txt thanh LSP được các bạn nhỉ?

Gửi v à o 2 9 October 2 01 0 - 1 2 :3 1 PM

phamthanhbinh

dandongcoc_boison, on Oct 29 2010, 12:31, said:

Làm thế nào để sav e tex *txt thanh LSP được các bạn nhỉ?

Sau khi bạn soạn thảo xong lisp trên notepad, bạn click vào nút save as từ menu file trên thanh công cụ

Trong hộp thoại save as, bạn click vào nút file type, chọn all file

Trong dòng file name bạn nhập đầy đủ cả tên và kiểu file mà bạn muốn , ví dụ: hoclisp.lsp

Nhớ click vào dấu kiểm mã text Ansi

Sau đó click nút save là OK Bạn sẽ có file *.lsp mong muốn Chúc thành công

Gửi v à o 2 9 October 2 01 0 - 1 2 :5 1 PM

Trang 8

6/18/2014 Hướng dẫn sử dụng mã Lisp - AutoLisp - CADViet forum

Ngày đăng: 09/08/2017, 13:55

TỪ KHÓA LIÊN QUAN

w