AutoDesk Nén, CAD và tiện ích

LISP trong AutoCAD: cách cài, chạy, AutoCAD LT có dùng được không

Hướng dẫn nạp file LISP trong AutoCAD và AutoCAD LT, tự nạp khi mở bản vẽ, sửa lỗi lệnh không chạy và giới hạn AutoLISP trên LT.

Thanh Nguyễn Đăng 9 phút đọc 1 khối lệnh

LISP trong AutoCAD: cách cài, chạy, AutoCAD LT có dùng được không
Mục lục bài viết
  1. LISP trong AutoCAD là gì
  2. AutoCAD LT có dùng LISP được không
  3. Cách cài và chạy file LISP trong AutoCAD, AutoCAD LT
  4. Cho LISP tự nạp mỗi khi mở bản vẽ
  5. Chạy thử AutoLISP ngay ở dòng lệnh
  6. LISP không chạy: kiểm theo thứ tự này
  7. Dùng LISP nhiều thì chọn AutoCAD LT hay AutoCAD
  8. Câu hỏi thường gặp
  9. Nguồn tham khảo
  10. Bài viết liên quan

Trả lời nhanh: Gõ APPLOAD, chọn file .lsp, bấm Load rồi gõ tên lệnh nằm sau chữ C: trong dòng defun. Muốn tự nạp, thêm file vào Startup Suite hoặc ACADDOC.lsp (LT là ACADLTDOC.lsp). AutoCAD LT từ bản 2024 cho Windows chạy được AutoLISP, nhưng không có VLIDE, không tạo 3D, không gọi ObjectARX hay ứng dụng ngoài.

"LISP AutoCAD" được tìm khoảng 720 lần mỗi tháng, nhiều nhất là câu hỏi cài file LISP thế nào và AutoCAD LT có chạy được không. Bài này hướng dẫn từng bước theo tài liệu chính thức của Autodesk, kèm danh sách giới hạn AutoLISP trên LT để bạn chọn đúng bản trước khi mua.

LISP trong AutoCAD là gì

AutoLISP là một biến thể của ngôn ngữ Lisp, được Autodesk đưa vào AutoCAD từ năm 1986 để mở rộng chức năng (blog AutoCAD của Autodesk). Với AutoLISP, bạn tự động hóa các thao tác lặp lại (mạnh hơn file script), chọn điểm, chọn đối tượng, nhập dữ liệu ở dòng lệnh hoặc qua hộp thoại viết bằng DCL (Dialog Control Language). Dân CAD Việt Nam gọi tắt là "LISP": file đuôi .lsp tải từ đồng nghiệp hay diễn đàn để đánh số, tính diện tích, đổi layer hàng loạt.

Ngoài file .lsp (văn bản đọc được), AutoCAD còn nạp được .fas và .vlx, là dạng đã biên dịch nên không mở ra đọc được.

AutoCAD LT có dùng LISP được không

Câu trả lời phụ thuộc phiên bản. Theo bài hỗ trợ của Autodesk:

Phiên bảnAutoLISPGhi chú
AutoCAD LT 2023 trở về trướcKhôngKhông hỗ trợ VBA, AutoLISP hay ngôn ngữ lập trình khác
AutoCAD LT 2024 trở lên cho WindowsCó, có giới hạnHỗ trợ AutoLISP và DCL
AutoCAD (bản đầy đủ)Có, đầy đủThêm ActiveX đầy đủ, ObjectARX, .NET, VBA, biên dịch LISP
AutoCAD trên webCóChỉ cho người có thuê bao AutoCAD (từ bản 2023)

Nghĩa là nếu văn phòng đang dùng AutoCAD LT 2027, phần lớn file LISP 2D quen thuộc chạy được. Các giới hạn cụ thể của LT được Autodesk liệt kê trong What’s New or Changed with AutoLISP:

  • Không có Visual LISP IDE (lệnh VLIDE, VLISP); không gỡ lỗi được bằng AutoLISP Extension của Visual Studio Code trong LT.
  • Không tạo được khối 3D, mặt 3D, mesh; sửa đối tượng 3D chỉ hỗ trợ hạn chế.
  • entmake, entmakex, entmod chỉ tạo, sửa được loại đối tượng mà LT hỗ trợ.
  • Các hàm VLA* tạo, sửa solid, surface, helix, vật liệu, multiline... không chạy.
  • vlax-get-or-create-object và vlax-create-object không có trong LT, nên LISP điều khiển Excel, Word kiểu này không chạy.
  • Hàm do chương trình ObjectARX, .NET bên ngoài cung cấp không dùng được; LT cũng không chạy VBA.
  • File MNL không tự nạp theo file CUIx cùng tên; nạp bằng hàm load từ file LISP khác.
  • LT chạy được file LISP đã biên dịch, nhưng chỉ AutoCAD bản đầy đủ mới biên dịch được.

LT cho Mac: các trang trên ghi hỗ trợ AutoLISP cho "AutoCAD LT for Windows". Người dùng LT trên Mac nên thử trước file LISP cần dùng, hoặc hỏi TND trước khi mua.

Cách cài và chạy file LISP trong AutoCAD, AutoCAD LT

Các bước dưới làm được cả trên AutoCAD và AutoCAD LT 2024 trở lên (theo hướng dẫn của Autodesk):

  1. Lưu file .lsp vào một thư mục cố định, ví dụ D:\CAD\LISP. Không để trong thư mục Downloads dễ bị dọn.
  2. Gõ lệnh APPLOAD, hoặc bấm biểu tượng trong panel Applications của tab Manage trên ribbon.
  3. Trong hộp thoại Load/Unload Applications, tìm tới file, chọn rồi bấm Load. Dòng lệnh báo nạp thành công.
  4. Tìm tên lệnh để chạy: thường tác giả in hướng dẫn ra dòng lệnh. Nếu không, mở file bằng Notepad, tìm dòng (defun C:TenLenh. Chữ đứng sau C: chính là lệnh cần gõ, không phân biệt hoa thường.
  5. Gõ tên lệnh đó và Enter.

Hai cách nạp nhanh khác: kéo thả file .lsp vào cửa sổ AutoCAD, hoặc gõ ở dòng lệnh (load "tenfile.lsp") nếu file nằm trong đường dẫn tìm kiếm đã khai báo; nằm ngoài thì phải ghi đủ đường dẫn.

Cho LISP tự nạp mỗi khi mở bản vẽ

Nạp bằng APPLOAD chỉ có hiệu lực trong phiên làm việc hiện tại. Có hai cách để LISP tự nạp:

  • Startup Suite: nằm ở góc dưới bên phải hộp thoại APPLOAD. Thêm file LISP vào Startup Suite thì file được nạp mỗi lần mở bản vẽ.
  • File ACADDOC.lsp (AutoCAD) hoặc ACADLTDOC.lsp (AutoCAD LT): file này nạp mỗi khi mở một bản vẽ. Ban đầu chưa có, bạn tạo bằng Notepad và đặt trong một thư mục thuộc đường dẫn tìm kiếm. Khác Startup Suite, trong file này bạn còn chạy được lệnh, đặt biến hệ thống cho cả văn phòng.

Ví dụ nội dung ACADLTDOC.lsp (hoặc ACADDOC.lsp) theo bài của Autodesk: đặt biến hệ thống và tạo lệnh tắt MP chạy MATCHPROP.

TerminalCho LISP tự nạp mỗi khi mở bản vẽbash
(setvar "FILEDIA" 1)(setvar "CMDDIA" 1)(setvar "ATTDIA" 1)(setenv "ShowFullPathInTitle" "1") (defun c:mp () (command "_matchprop") (princ))

Dùng Notepad hoặc trình soạn văn bản thuần để viết LISP, không dùng Word vì định dạng chữ sẽ làm hỏng mã.

Chạy thử AutoLISP ngay ở dòng lệnh

AutoCAD và AutoCAD LT tự thông dịch AutoLISP, nên bạn gõ trực tiếp biểu thức ở dòng lệnh. Một vài ví dụ trong bài của Autodesk:

Gõ ở dòng lệnhKết quả
(+ 2 2)Trả về 4: AutoLISP viết toán tử trước
(/ (* pi 12) 2) khi lệnh đang hỏi khoảng cáchTính ra 18.8496 và dùng luôn làm khoảng cách
(setq SS (ssget))Chọn một nhóm đối tượng phức tạp và lưu vào biến SS
!SS khi lệnh hỏi chọn đối tượngGọi lại đúng nhóm đã chọn, khi bản vẽ còn mở

Lập trình viên viết LISP chung cho cả hai bản có thể kiểm biến hệ thống PROGRAM: AutoCAD LT trả về acadlt, từ đó bỏ qua phần mã chỉ chạy trên AutoCAD đầy đủ.

LISP không chạy: kiểm theo thứ tự này

Vuốt ngang để xem đủ bảng.

Hiện tượngNguyên nhân thường gặpCách xử lý
Gõ tên lệnh báo Unknown commandChưa nạp file, hoặc gõ sai tên sau C:APPLOAD lại, mở file kiểm dòng defun C:
Chạy trên AutoCAD được, LT báo lỗiMã dùng hàm LT không hỗ trợ (3D, vlax-create-object, ObjectARX)Tìm bản LISP 2D khác hoặc dùng AutoCAD đầy đủ
File có dòng (vl-load-com), lệnh vla-, vlax-Mã dùng ActiveXLT hỗ trợ phần lớn, nhưng phần tạo 3D, gọi ứng dụng ngoài sẽ không chạy
Mở bản vẽ khác thì mất lệnhChỉ nạp bằng APPLOADĐưa vào Startup Suite hoặc ACADDOC.lsp, ACADLTDOC.lsp
AutoCAD LT 2023 trở về trướcKhông hỗ trợ AutoLISPLên LT 2024 trở lên (thuê bao được dùng bản mới nhất)

An toàn: LISP chạy được lệnh trên máy bạn. Chỉ nạp file từ nguồn tin cậy, mở bằng Notepad xem qua trước khi dùng, nhất là file .fas, .vlx không đọc được nội dung.

Dùng LISP nhiều thì chọn AutoCAD LT hay AutoCAD

Nhu cầuGợi ýGiá tại TND
Dùng LISP 2D có sẵn: đánh số, thống kê, đổi layer, ghi chúAutoCAD LT 202712.800.000đ/năm
Tự viết, gỡ lỗi LISP; LISP điều khiển Excel; LISP 3D; VBA, .NETAutoCAD 2027 kèm bộ công cụ chuyên ngành41.900.000đ/năm

Các điểm khác giữa hai bản ngoài LISP: xem AutoCAD LT và AutoCAD full khác nhau gì. Muốn thử LISP trên bản chính hãng trước khi mua: tải AutoCAD bản dùng thử chính hãng. Toàn bộ phần mềm CAD TND đang bán, có hóa đơn VAT: phần mềm CAD bản quyền.

Câu hỏi thường gặp

AutoCAD LT có chạy LISP không?

Có, từ AutoCAD LT 2024 cho Windows. Bản LT 2023 trở về trước không hỗ trợ AutoLISP.

Lệnh APPLOAD dùng để làm gì?

APPLOAD mở hộp thoại Load/Unload Applications để nạp file .lsp, .fas, .vlx và quản lý Startup Suite.

Nạp LISP xong gõ lệnh gì để chạy?

Mở file .lsp bằng Notepad, tìm dòng (defun C:...). Chữ ngay sau C: là tên lệnh cần gõ.

Làm sao để LISP tự nạp mỗi khi mở AutoCAD?

Thêm file vào Startup Suite trong hộp thoại APPLOAD, hoặc gọi (load "tenfile.lsp") trong ACADDOC.lsp (AutoCAD), ACADLTDOC.lsp (AutoCAD LT).

Vì sao LISP chạy trên AutoCAD nhưng lỗi trên AutoCAD LT?

Mã có thể dùng hàm LT không hỗ trợ: tạo 3D, vlax-create-object, hàm của ObjectARX hoặc .NET, VBA.

Viết và gỡ lỗi LISP thì cần bản nào?

AutoCAD bản đầy đủ. AutoCAD LT không có Visual LISP IDE và không gỡ lỗi được bằng AutoLISP Extension của VS Code.

Nguồn tham khảo

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.