Hướng dẫn viết lisp cơ bản cho AutoCad

AutoCad là một phần mềm tuyệt vời, hệ thống lệnh đa dạng và cũng cho chúng ta tùy biến thêm lệnh nữa. Với khả năng tùy biến đó ta hoàn toàn có thể tự tạo ra command (câu lệnh) cho riêng mình để việc vẽ vời nhanh và đạt hiệu suất cao hơn.

8
3587

Bài viết hôm nay mình sẽ hướng dẫn một cách thật cơ bản cách viết một LISP cơ bản để phục vụ cho việc sử dụng AutoCAD của chúng ta.

LISP là viết tắt của LISt Process, có nghĩa là danh sách các hoạt động xảy ra.

Phần mềm cần thiết

Phần mềm cần thiết rất đơn giản, chỉ cần một phần mềm có khả năng soạn thảo cũng như chỉnh sửa văn bản cơ bản (ở đây mình xài NotePad cho tiện, nó được cài sẵn trong Windows không cần tìm đâu cho mệt 😋). À ừm, còn phải có phần mềm AutoCAD để còn test lisp nữa chứ 😀.

Làm sao để chèn Lisp vào AutoCad?

Trước khi bắt đầu viết một lisp thì mình nghĩ chúng ta nên cần biết cách sử dụng nó trước chứ nhỉ 😀. Nếu bạn nào đã biết mục này thì hãy bỏ qua và đi đến mục dưới nhé. Việc chèn Lisp vào AutoCad để sử dụng rất đơn giản. Gõ lệnh AP, sau đó nhấn ↵ Enter (hoặc có thể truy cập tab Tool trên thanh menu chọn Load Application…) để xuất hiện hộp thoại như bên dưới:

Chọn lisp và nhấn nút Load

Sau khi hiện thông báo infihow.lsp successful loaded là đã load lisp thành công. Hãy sử dụng thử nó đi nào.

Nếu muốn được load tự động mỗi khi khởi động AutoCad thì bạn chỉ cần vào phần thiết lập Statup Suite chọn Contents.

Chọn Contents ở phần Startup Suite

Tiếp theo chọn đường dẫn đến các lisp mà bạn muốn tự động load khi khởi động cùng với AutoCAD. Xong đó nhấn Add để thêm.

Nhấn Add để thêm lisp tự động load khi mở AutoCAD

Bắt đầu viết lisp nào

Vào phần chính của bài viết nào.  Đầu tiên chúng ta sẽ phân tích lisp infihow.lsp mà mình đã viết mẫu dưới đây.

(defun C:loa()
(command "-layer" "lo" "*" "")
(princ)
)

Dòng đầu tiên (defun C:loa() có ý nghĩa đặt tên gọi command cho lisp. Ví dụ khi sử dụng lisp này ta sử dụng command loa.

Như vậy để biết lệnh của LISP ta chỉ cần chú ý vào phần phía sau (defun C: . Ở ví dụ của mình là loa.

Dòng đầu quá dễ đúng không nào! Tiếp theo đến dòng thứ 2. Ở dòng này là chúng ta sẽ set hành động cho lisp cho chúng ta muốn tạo. Ở đây mình đang tạo lisp lock tất cả các layer trong bản vẽ.

Dòng thứ 2 của lisp sẽ là tổ hợp các lệnh thực hiện theo thứ tự: đầu tiên gõ lệnh -LAYER, sau đó chọn LO để khóa layer, nhập * để chọn tất cả layer để khóa, dấu hai nháy "" cuối cùng với ý nghĩa là nhấn ↵ Enter . Mình dùng lisp ở đây cũng chỉ là lưu lại quá trình trên với lệnh loa. Và khi gõ loa thì AutoCAD sẽ thực hiện cả quá trình chúng ta set trên.

Dòng thứ 3 (princ) chỉ để không hiện lỗi nil khi ta sử dụng lisp thôi. Có hay không lisp cũng hoạt động bình thường 😋.

Như vậy dòng code mẫu trên cũng chính là một khung đơn giản cho một LISP. Các bạn chỉ cần chỉnh sửa dòng thứ nhất và hai thôi.

Lời kết

Bài viết trên mình đã hướng dẫn các bạn viết cũng như sử dụng một LISP ở mức cơ bản cho AutoCAD. Về viết LISP chỉ là hướng dẫn cơ bản mà thôi, nhưng đối với mình nó đã giúp mình tối ưu công việc và tùy biến các lệnh rất nhiều. Vì vậy mình nghĩ chắc chắn nó sẽ hữu ích với các bạn sử dụng AutoCAD rất nhiều. Cảm ơn các bạn đã đọc bài! 😋 .

5/5 - (8 bình chọn)
Subscribe
Notify of
guest

NỘI QUY BÌNH LUẬN

- Không spam, nói tục, chửi bậy.

- Nên viết Tiếng Việt có dấu để mọi người dễ đọc và giúp đỡ bạn dễ hơn.

8 BÌNH LUẬN
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
<b>Tan Hoa</b><span class="wpdiscuz-comment-count">1 comment</span>
Guest
Tan Hoa1 comment
3 năm trước

Đã có lisp cho acad 2018 giờ muốn chuyển sang acad 2008 thì phải làm sao

<b>im lang hoc hoi</b><span class="wpdiscuz-comment-count">1 comment</span>
Guest
im lang hoc hoi1 comment
3 năm trước

có thật sự biết viết lisp không vậy, không biết trên mỗi đời cad thì có thể có sự thay đổi nhỏ về biến và các lệnh ở cad đời thấp chưa có à

<b>hoang than thien</b><span class="wpdiscuz-comment-count">1 comment</span>
Guest
hoang than thien1 comment
4 năm trước

Chào bạn. bạn bạn có giáo trình viết lips cad không . thấy bạn viết rất rõ ràng và dễ hiểu nên mình muốn hỏi mua..gửi thông tin qua mail giúp mình nhé : hoa******@gmail.com (đã ẩn email bởi admin để bảo vệ thông tin người bình luận).

<b>Phương</b><span class="wpdiscuz-comment-count">1 comment</span>
Guest
Phương1 comment
3 năm trước

Bạn còn nhu cầu tìm giáo trình viết lips không ạ ? nếu còn liên hệ với mình nhé
gmail : vuontoituonglai432@gmail.com cảm ơn bạn