AutoCAD – Bản vẽ

Thư viện LISP CAD: 45 lệnh của Viện, tải về nạp một lần là chạy

Thư viện LISP CAD của Viện Tin học Xây dựng gồm 12 tệp, 45 lệnh, kèm mã nguồn và hướng dẫn nạp từng bước. Tải miễn phí, không mật khẩu, không quảng cáo.

  • TS. Đỗ Quốc Hoàng
  • 10 phút đọc
Hộp thoại Load/Unload Applications sau khi nạp cả 12 tệp, dòng dưới cùng báo Successfully loaded 12 files Ảnh: AutoCAD 2027

Bạn gõ tìm một bộ lisp, tải về một tệp nén 20 MB có mật khẩu, giải ra ba trăm tệp .lsp không ai biết của ai. Nạp vào thì một nửa số lệnh trùng tên nhau, gõ lệnh này lại ra việc khác, và không có chỗ nào để tra xem lệnh nào làm gì.

Thư viện LISP CAD này đi theo hướng ngược lại: 12 tệp, 45 lệnh, mỗi lệnh có một bài hướng dẫn riêng và mã nguồn in đầy đủ trong bài. Tải về không mật khẩu, không qua trang trung gian. Để học bài bản cả quy trình dựng bộ bản vẽ, Viện có khoá học AutoCAD cho ngành xây dựng.

Bộ thư viện: 12 tệp, 45 lệnh, 43 KB

Cả bộ nặng 43 KB, nhỏ hơn một tấm ảnh chụp màn hình. Mỗi tệp chạy độc lập: nạp tệp nào thì có lệnh của tệp ấy, không tệp nào cần tệp nào.

TệpLệnhViệc
dt-iic.lspTDT TDTX TDTP TDTPX GDT GDTXCộng diện tích hình kín, có tính cả phần chồng nhau
stt-iic.lspSTT STTT STTD + 3 tên dự phòngĐánh số thứ tự tự động
in-iic.lspINHL INHLC INHL1 + 3 tên dự phòngIn hàng loạt theo khung tên
tkt-iic.lspTKT TKTX + 2 tên dự phòngThống kê thép, lập bảng khối lượng
xtd-iic.lspXTD XTDCSVGhi toạ độ lên bản vẽ, xuất ra Excel
blk-iic.lspBKD BKM BKT BKPĐếm, đổi màu, đổi tên, phá block hàng loạt
sc1-iic.lspSC1 SC1X + 2 tên dự phòngScale một chiều, giãn hoặc nén theo một trục
txt-iic.lspTXC TXN TXL TXHCộng số trong chữ, căn lề, đổi chiều cao chữ
dcd-iic.lspTCD TCDT TCDLCộng tổng chiều dài, tách riêng theo lớp
ntd-iic.lspNTD NTDP NTDKĐọc toạ độ từ tệp CSV vào bản vẽ
dnh-iic.lspDNH DNHPGhi chuỗi kích thước liên tiếp trong một lần
cd-iic.lspCDCắt chân dim cho thẳng hàng

Nạp cả 12 tệp vào một bản vẽ mới thì cả 45 lệnh đều có mặt, không lệnh nào rơi.

Một chi tiết nhỏ nhưng đáng nói: 45 tên lệnh này không đụng bất kỳ lệnh nào của AutoCAD 2027, kể cả 424 bí danh trong tệp acad.pgp. Đặt tên trùng bí danh là lấy mất một lệnh sẵn có của chính mình — DT là bí danh của TEXT, AA của AREA, AR của ARRAY, nên ba tên ấy đều bị loại từ đầu.

Nạp vào CAD: ba bước, có ảnh chụp từng hộp thoại

Bước 1 — giải nén ra một chỗ để yên.

Giải nén cả thư mục ra một chỗ sẽ không xoá, ví dụ C:\CAD\lisp-iic. AutoCAD chỉ nhớ đường dẫn, nó không chép tệp đi chỗ khác, nên xoá hay đổi tên thư mục là mất lisp.

Bước 2 — gõ APPLOAD rồi Enter.

Hộp thoại Load/Unload Applications mở ra. Trỏ vào thư mục vừa giải nén. Ô Files of type để nguyên AutoCAD Apps, nó tự lọc chỉ hiện tệp .lsp.

Bước 3 — chọn hết rồi bấm Load.

Bấm tệp đầu tiên, giữ Ctrl+A để chọn cả 12 tệp, rồi bấm Load. Dòng dưới cùng của hộp thoại báo lại số tệp đã nạp.

Chọn cả 12 tệp rồi bấm Load, dòng dưới cùng báo Successfully loaded 12 files Ảnh: AutoCAD 2027

Xong bước này là gõ được lệnh ngay. Nhưng lisp nạp kiểu này chỉ sống đến khi đóng AutoCAD.

Cho lisp tự nạp mỗi lần mở CAD

Đây là bước hầu hết các trang chia sẻ lisp bỏ qua, mà lại là bước quyết định bạn có dùng bộ lisp lâu dài hay không.

Vẫn trong hộp thoại APPLOAD, khung Startup Suite ở góc dưới bên phải, bấm Contents…. Hộp Startup Suite mở ra, bấm Add…, trỏ lại vào thư mục lisp, chọn cả 12 tệp, bấm Open.

Sau khi thêm, Startup Suite liệt kê đủ 12 tệp kèm đường dẫn, dòng dưới báo 12 files added to the Startup Suite Ảnh: AutoCAD 2027

Từ lần sau mở AutoCAD, 45 lệnh có sẵn, khỏi nạp tay. Danh sách này lưu theo hồ sơ người dùng chứ không lưu trong bản vẽ, nên nó theo bạn qua mọi bản vẽ trên máy ấy.

Lỗi không load được lisp trong cad: hai nguyên nhân thật

Lỗi không load được lisp trong cad gần như luôn rơi vào một trong hai trường hợp, và cả hai đều không phải do tệp hỏng.

Trường hợp thứ nhất — AutoCAD chặn vì lý do an toàn. Màn hình hiện dòng File Loading - Security Concern. Đây là biến SECURELOAD. Trang tài liệu của Autodesk về biến SECURELOAD ghi rõ ba mức:

SECURELOADAutodesk mô tả
0"Loads executable files from any location without displaying a warning. This option maintains legacy behavior, but is not recommended."
1"Loads executable files only if their location is in the trusted locations specified in the TRUSTEDPATHS system variable. Displays a warning during load requests from executable files in other locations."
2"Allows executable files to be loaded only if their location is in the trusted locations specified in the TRUSTEDPATHS system variable."

Mặc định là 1. Cách chữa đúng không phải hạ xuống 0, mà là khai thư mục lisp vào danh sách tin cậy: gõ OPTIONS, thẻ Files, mục Trusted Locations, bấm Add… rồi trỏ vào C:\CAD\lisp-iic. Từ đó tệp trong thư mục ấy nạp bình thường mà máy vẫn chặn tệp lạ ở chỗ khác.

Trường hợp thứ hai — tệp lưu sai mã. Tệp lisp có chữ tiếng Việt phải lưu bằng mã UTF-8. Mở bằng Notepad rồi lưu lại theo mã ANSI là mọi dòng nhắc tiếng Việt hỏng hết, và nếu dấu nháy kép bị lệch thì AutoCAD bỏ qua cả tệp chỉ với một dòng báo đỏ thoáng qua.

Download lisp cad tổng hợp trên mạng: ba thứ phải soi trước khi nạp

Gõ tìm download lisp cad tổng hợp thì ra hàng chục bộ, phần lớn là các gói gom từ nhiều nguồn qua nhiều năm. Ba thứ nên soi trước khi cho chúng chạy trên máy mình.

Thứ nhất, bộ ấy có bao nhiêu tên lệnh trùng nhau. Các gói lớn thường gom 300 tệp trở lên, và khi nhiều tệp cùng khai một tên lệnh thì tệp nạp sau cùng thắng. Một gói phổ biến trong nước có 312 tệp khai 2.230 tên lệnh, trong đó 480 tên bị từ hai tệp trở lên cùng giành — riêng tên CD có 18 tệp giành nhau. Gõ CD ra việc gì thì tuỳ hôm ấy tệp nào nạp sau.

Thứ hai, có mã nguồn không. Tệp .lsp là văn bản thuần, mở bằng Notepad là đọc được. Tệp .fas.vlx thì đã biên dịch, không đọc được nữa. Một tệp biên dịch chạy với đầy đủ quyền của AutoCAD trên máy bạn mà bạn không biết nó làm gì.

Thứ ba, tệp đến từ đâu. Phần lớn gói "tổng hợp" không ghi tác giả, không ghi giấy phép. Dùng trong công việc có phát hành bản vẽ cho khách là chuyện khác hẳn với dùng cho vui.

Bộ của Viện giải quyết cả ba. Trong 12 tệp, không tệp nào trùng tên lệnh với tệp nào. Toàn bộ là .lsp mở ra đọc được. Và mã nguồn in nguyên trong bài hướng dẫn của từng lệnh, chẳng hạn bài lisp cắt dim hay bài lisp xuất toạ độ.

Cái bẫy không trang nào nói: hai tệp giẫm lên hàm của nhau

Chuyện trùng tên lệnh thì nhiều nơi đã nhắc. Còn một kiểu trùng nguy hiểm hơn hẳn mà chưa thấy trang nào viết: trùng tên hàm phụ.

AutoLISP không có phạm vi riêng cho từng tệp. Mọi hàm đều nằm chung một chỗ. Hai tệp cùng đặt một hàm phụ tên iic-ghi-nhan, một bên nhận 2 đối số, một bên nhận 5, thì tệp nạp sau ghi đè lên tệp nạp trước. Lệnh của tệp kia gọi hàm ấy bằng số đối số cũ, và AutoCAD báo lỗi ở một chỗ chẳng liên quan gì đến việc bạn vừa làm.

Điều làm nó khó bắt là không có dấu hiệu nào lúc nạp. Hộp thoại vẫn báo nạp thành công, tên lệnh vẫn hiện đủ. Hỏng chỉ lộ ra khi chạy đúng cái lệnh xui xẻo ấy.

Bộ của Viện đã xử lý triệt để: mỗi tệp mang tiền tố riêng cho toàn bộ hàm phụ của mình — iic-xtd-, iic-tkt-, iic-dt-… Hai tệp bất kỳ trong bộ không thể giẫm chân nhau, dù nạp theo thứ tự nào.

Khi bạn trộn bộ này với các lisp cad hay sưu tầm được ở nơi khác, đây cũng là thứ nên kiểm: mở tệp bằng Notepad, xem các dòng (defun không có c: đứng sau — đó là hàm phụ. Tên càng chung chung như ghi, doc, sotien thì càng dễ đụng.

Chọn lệnh theo việc đang làm

Không cần nạp cả bộ nếu chỉ dùng vài lệnh. Vài cách ghép thường gặp:

Đang làmNạp tệp
Bóc khối lượng sàn, tường, máidt-iic.lsp + dcd-iic.lsp
Hoàn thiện bộ bản vẽ để incd-iic.lsp + dnh-iic.lsp + in-iic.lsp
Hồ sơ hạ tầng, san nềnxtd-iic.lsp + ntd-iic.lsp + stt-iic.lsp
Bản vẽ kết cấutkt-iic.lsp + dt-iic.lsp
Dọn bản vẽ nhận từ nơi khácblk-iic.lsp + txt-iic.lsp

Người mới tải lisp cad lần đầu nên bắt đầu bằng hai tệp thôi, quen rồi hẵng thêm. Nạp một lúc 45 lệnh mà không nhớ lệnh nào làm gì thì rốt cuộc vẫn không dùng lệnh nào.

Ba điều hay nghe mà không đúng

Hay ngheThực tế trên bản 2027
Lisp phải để trong thư mục cài đặt AutoCAD mới chạyĐể ở đâu cũng được, miễn khai vào Trusted Locations
Nạp lisp xong phải lưu bản vẽ thì lần sau mới cònLisp không nằm trong bản vẽ; muốn còn thì thêm vào Startup Suite
Tải bộ càng nhiều tệp càng tốtCàng nhiều tệp càng nhiều tên lệnh giành nhau

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

Thư viện LISP CAD này có dùng được cho bản AutoCAD cũ không?

Mã viết bằng AutoLISP chuẩn và ActiveX, chạy được từ các bản có Visual LISP. Bộ này kiểm trên AutoCAD 2027.

Có phải trả tiền hay để lại thông tin không?

Không. Đây là lisp cad free, tải thẳng từ trang, không mật khẩu, không qua trang rút gọn link.

Nạp rồi mà gõ lệnh máy báo Unknown command?

Lisp chỉ sống trong phiên làm việc. Đóng AutoCAD là mất, trừ khi đã thêm vào Startup Suite. Cũng nên kiểm lại xem hộp thoại có báo đủ 12 tệp không.

Tôi đã có sẵn một bộ lisp khác, nạp chung được không?

Được, miễn là hai bên không trùng tên lệnh. Nếu trùng thì bộ nạp sau thắng. Các tệp có tên lệnh dự phòng kết thúc bằng IIC chính là để dùng trong trường hợp này.

Muốn sửa lại lisp cho hợp cách làm của công ty thì sao?

Cứ mở bằng Notepad mà sửa, nhớ lưu lại đúng mã UTF-8. Mã nguồn in đầy đủ trong từng bài hướng dẫn kèm giải thích từng đoạn.

Lệnh nào chạy chậm với bản vẽ nặng?

Các lệnh quét cả bản vẽ như TDTX, GDTX, STTD phải duyệt mọi đối tượng nên lâu hơn. Với bản vẽ lớn, chọn vùng cần làm rồi dùng bản lệnh không có X sẽ nhanh hơn nhiều.

Về tác giả

TS. Đỗ Quốc Hoàng — Phó Viện trưởng Viện Tin học Xây dựng, Trường Đại học Xây dựng Hà Nội, chuyên gia phát triển phần mềm cho ngành xây dựng