Một Lisp tốt không cần dài hàng nghìn dòng. Đôi khi chỉ một tiện ích giải quyết đúng thao tác bạn lặp lại 50 lần mỗi ngày đã đủ tiết kiệm hàng giờ trong một dự án.
Thay vì đưa ra một thư mục tải xuống khó kiểm soát, bài viết này chọn 12 tác vụ AutoLISP đáng tự động hóa nhất trong quy trình kiến trúc. Bạn sẽ biết mỗi Lisp nên giải quyết vấn đề gì, dùng lúc nào, rủi ro ở đâu và cách đặt lệnh sao cho không đè lên lệnh mặc định của AutoCAD.
AutoLISP là gì và khi nào nên dùng?
AutoLISP là ngôn ngữ tự động hóa tích hợp trong AutoCAD. Một file .lsp có thể đọc lựa chọn hiện tại, gọi lệnh AutoCAD, thay đổi thuộc tính đối tượng hoặc xử lý nhiều phần tử theo một quy tắc. Nó đặc biệt hiệu quả với công việc có ba đặc điểm:
- Lặp lại nhiều lần: đổi layer, xoay block, khóa viewport hoặc cộng số liệu.
- Có quy tắc rõ: mọi DIM phải về layer A-DIM, mọi HATCH phải về A-HATCH.
- Dễ kiểm tra kết quả: người dùng có thể nhìn, đo hoặc Undo ngay sau khi chạy.
Cách cài file LSP an toàn trước khi đưa vào Startup Suite
File LSP là mã có thể thực thi trong AutoCAD. Vì vậy, đừng tải về rồi cho tự chạy cùng AutoCAD ngay lập tức. Quy trình an toàn nên gồm sáu bước:
- Kiểm tra nguồn: ưu tiên tác giả có thông tin rõ ràng, hướng dẫn sử dụng và lịch sử cập nhật.
- Mở file bằng trình soạn thảo văn bản: xem tên lệnh sau
defun c:; cảnh giác với đoạn gọi shell, tải URL, sửa Registry hoặc xóa file không liên quan. - Lưu vào thư mục riêng: ví dụ
D:\CAD-Tools\Lisp; chỉ người quản trị thư viện nên có quyền sửa. - Thêm thư mục vào TRUSTEDPATHS: giữ
SECURELOADở mức 1 hoặc 2. Không tắt bảo vệ chỉ để chạy một file không rõ nguồn. - Dùng APPLOAD để thử một lần: chạy trên bản sao DWG, kiểm tra Layer, Block, Undo và kết quả số liệu.
- Chỉ thêm vào Startup Suite sau khi đã thử: không nên tự động load mọi Lisp bạn từng tải.
Nhóm 1: Đo lường và thống kê
Cộng diện tích Polyline
Chọn nhiều đường bao kín, cộng tổng diện tích và đặt kết quả thành MText. Hữu ích khi thống kê diện tích sàn, lát gạch hoặc cảnh quan.
- Lệnh gợi ý
- ADSA
- Cần kiểm tra
- Polyline phải kín; thống nhất mm² → m².
Cộng chiều dài tuyến
Tổng hợp chiều dài polyline cho len chân tường, đường ống, bó vỉa hoặc dây LED mà không phải mở Properties từng đối tượng.
- Lệnh gợi ý
- ADSL
- Cần kiểm tra
- Đơn vị bản vẽ và hệ số đổi mm → m.
Đếm Block theo tên
Thống kê nhanh số lượng cửa, thiết bị hoặc ký hiệu cùng tên block; có thể xuất kết quả ra bảng để kiểm tra trước khi bóc khối lượng.
- Lệnh gợi ý
- ADBC
- Cần kiểm tra
- Dynamic Block có thể dùng Effective Name khác tên hiển thị.
Nhóm 2: Block và Layer
Tạo Block nhanh với basepoint ở tâm
Gom lựa chọn thành block, sinh tên không trùng và đặt basepoint theo tâm bounding box. Phù hợp khi chuẩn hóa thư viện đồ rời.
- Lệnh gợi ý
- ADB
- Cần kiểm tra
- Tâm hình học không phải lúc nào cũng là điểm chèn hợp lý.
Đưa hình học trong Block về Layer 0
Chuẩn hóa linework bên trong block để block nhận màu và linetype theo layer đặt nó. Nên giới hạn vào các block được chọn.
- Lệnh gợi ý
- ADL0
- Cần kiểm tra
- Không phá các sub-layer có chủ ý trong block phức tạp.
Chuẩn hóa Layer theo loại đối tượng
Đưa HATCH, TEXT/MTEXT và DIMENSION về các layer tiêu chuẩn của văn phòng trong một lượt, thay vì lọc thủ công nhiều lần.
- Lệnh gợi ý
- ADANN
- Cần kiểm tra
- Tạo layer thiếu trước khi đổi và bỏ qua layer bị khóa.
Nhóm 3: Chữ, kích thước và trình bày ký hiệu
Lấy Dimstyle từ một kích thước mẫu
Chọn một DIM đúng, đặt Dimstyle tương ứng thành current và chuyển sang layer của DIM mẫu. Rất hữu ích khi nhận file từ đối tác.
- Lệnh gợi ý
- ADDS
- Cần kiểm tra
- Không tự sửa override sai bên trong từng DIM.
Căn hàng loạt điểm neo Text
Đổi justification của nhiều TEXT/MTEXT sang Left Center, Middle Center hoặc Right Center mà vẫn giữ nguyên vị trí nhìn thấy.
- Lệnh gợi ý
- ADTXT
- Cần kiểm tra
- Phân biệt insertion point và alignment point.
Xoay hoặc reset góc Block/Text
Xoay lựa chọn theo 45°/90° quanh tâm, hoặc đưa rotation về 0. Tác vụ này đặc biệt nhanh với ký hiệu và đồ nội thất.
- Lệnh gợi ý
- ADR
- Cần kiểm tra
- Block có scale âm hoặc annotative cần thử riêng.
Nhóm 4: Cảnh quan, Viewport và kiểm soát file
Random Rotate/Scale cho cây và người
Tạo biến thiên nhẹ cho block cảnh quan để tránh cảm giác lặp. Nên cho người dùng nhập khoảng góc và scale thay vì hard-code.
- Lệnh gợi ý
- ADLAND
- Cần kiểm tra
- Giữ scale trong khoảng hợp lý, ví dụ 0,9–1,1.
Khóa hoặc mở khóa toàn bộ Viewport
Duyệt các Layout và đổi trạng thái Display Locked của viewport. Hữu ích trước khi in để tránh lỡ tay thay đổi tỷ lệ.
- Lệnh gợi ý
- ADVP
- Cần kiểm tra
- Bỏ qua viewport đặc biệt và báo số lượng đã xử lý.
Audit nhanh trước khi bàn giao
Kiểm tra layer lạ, block trùng tên, text rỗng, polyline hở hoặc đối tượng ngoài vùng làm việc rồi xuất báo cáo—không tự xóa khi chưa xác nhận.
- Lệnh gợi ý
- ADQC
- Cần kiểm tra
- Ưu tiên “report first”, cho phép Undo từng thay đổi.
Nên tự động hóa từng bước hay viết một “siêu Lisp”?
Với văn phòng nhỏ, nhiều Lisp đơn nhiệm thường an toàn hơn một công cụ làm mọi thứ. Khi lỗi xảy ra, bạn biết chính xác lệnh nào đã thay đổi file. Lisp nhỏ cũng dễ kiểm thử trên nhiều phiên bản AutoCAD và dễ thay alias nếu xung đột.
| Tiêu chí | Lisp đơn nhiệm | “Siêu Lisp” nhiều chức năng |
|---|---|---|
| Học cách dùng | Nhanh, một lệnh–một kết quả | Cần menu hoặc tài liệu riêng |
| Kiểm tra lỗi | Dễ cô lập | Khó biết bước nào gây lỗi |
| Triển khai nhóm | Chọn đúng công cụ cần thiết | Đồng bộ thuận tiện nhưng rủi ro rộng hơn |
| Bảo trì | Nhiều file nhỏ | Một codebase lớn cần quản lý phiên bản |
Checklist 8 điểm trước khi dùng một Lisp tải từ Internet
- Có tên tác giả, nguồn tải và mô tả chức năng rõ ràng.
- Alias không đè lệnh mặc định hoặc lệnh nội bộ của công ty.
- Không tự ý tắt
SECURELOADhay thêm thư mục tin cậy quá rộng. - Không gọi chương trình ngoài, URL, PowerShell hoặc shell nếu chức năng không cần.
- Có xử lý khi người dùng nhấn Esc hoặc không chọn đối tượng.
- Có lưu và khôi phục biến hệ thống đã thay đổi.
- Có thể Undo kết quả theo một nhóm thao tác hợp lý.
- Được thử trên bản sao DWG và đúng phiên bản AutoCAD của nhóm.
Quy trình triển khai Lisp cho một nhóm thiết kế
- Chọn 3–5 tác vụ gây tốn thời gian nhất thay vì cài hàng chục file cùng lúc.
- Đặt prefix alias thống nhất, ví dụ
AD+ tên chức năng. - Lưu source trong Git hoặc kho nội bộ; mỗi thay đổi có phiên bản và người duyệt.
- Đặt thư mục triển khai ở Trusted Location chỉ đọc đối với người dùng thường.
- Ghi một trang hướng dẫn gồm: mục đích, alias, đầu vào, đầu ra, Undo và giới hạn.
- Đánh giá lại sau một dự án: Lisp nào thực sự tiết kiệm thời gian thì giữ, phần còn lại loại bỏ.
Câu hỏi thường gặp
AutoCAD LT có chạy AutoLISP không?
Các phiên bản AutoCAD LT hiện đại trên Windows có hỗ trợ AutoLISP, nhưng một số API và Express Tools có giới hạn theo nền tảng hoặc sản phẩm. Hãy kiểm tra tài liệu Autodesk và thử chính file của bạn trước khi triển khai cả nhóm.
Tại sao APPLOAD báo file không đáng tin cậy?
AutoCAD đang áp dụng Secure Mode. Hãy di chuyển file vào một thư mục chuyên dụng, kiểm tra source rồi thêm đúng thư mục đó vào TRUSTEDPATHS. Không nên đặt cả thư mục Downloads hoặc ổ đĩa rộng vào danh sách tin cậy.
Có nên cho mọi Lisp chạy khi AutoCAD khởi động?
Không. Startup Suite chỉ nên chứa công cụ đã kiểm thử và dùng thường xuyên. Với lệnh ít dùng, cơ chế autoload giúp chỉ nạp file khi người dùng gọi lệnh, giảm thời gian khởi động và phạm vi lỗi.
Kết luận: giá trị của AutoLISP không nằm ở số lượng file bạn sưu tầm, mà ở việc mỗi công cụ giải quyết đúng một nút thắt trong quy trình. Bắt đầu nhỏ, kiểm thử trên bản sao, giữ bảo mật mặc định và quản lý source như một sản phẩm kỹ thuật.
Nếu bạn đang tối ưu quy trình từ AutoCAD sang SketchUp, hãy xem thêm hệ sinh thái plugin AD Studio và bài 40 lệnh tắt AutoCAD kiến trúc sư nên nhớ.


