Trước đây, muốn có một lệnh LISP tùy biến, bạn phải tự học lập trình hoặc thuê người viết. Từ khi các AI assistant như ChatGPT, Claude hay GitHub Copilot trở nên phổ biến, dùng AI viết LISP đã xóa gần hết rào cản đó: kỹ sư mô tả bài toán bằng tiếng Việt, AI trả về code LISP, và vì ZWCAD tương thích AutoLISP nên code đó chạy được ngay trên ZWCAD. Bài viết dành cho kỹ sư đang dùng ZWCAD muốn tự tạo lệnh riêng mà không cần biết lập trình, dựa trên quy trình chúng tôi áp dụng khi hỗ trợ khách hàng doanh nghiệp.

Bạn sẽ nắm được:

Vì sao AI viết LISP cho ZWCAD hiệu quả nhất?

Ba lý do khiến chúng tôi khuyên khách hàng bắt đầu với LISP thay vì VBA hay .NET khi làm việc cùng AI:

Hướng tiếp cận này không mới trên thế giới — các hãng đào tạo CAD như IMAGINiT đã có loạt bài hướng dẫn dùng ChatGPT viết AutoLISP từ 2023 — nhưng với ZWCAD, lợi thế chi phí bản quyền cộng với AI miễn phí tạo ra mức đầu tư gần như bằng 0.

Công thức prompt 5 thành phần

Chất lượng code AI phụ thuộc gần như hoàn toàn vào prompt. Qua nhiều lần thử nghiệm, chúng tôi chốt công thức 5 thành phần:

Thành phầnNội dung cần nêuVí dụ
1. Bối cảnhPhần mềm + chuẩn tương thích“Viết AutoLISP chạy trên ZWCAD (tương thích AutoCAD)”
2. Tên lệnhTên command muốn tạo“Tên lệnh: DANHSO”
3. Hành viMô tả từng bước thao tác“Hỏi tiền tố, hỏi số bắt đầu, click điểm nào chèn text số thứ tự tăng dần tại đó”
4. Ràng buộcLayer, chiều cao chữ, đơn vị, xử lý lỗi“Text cao 2.5, đặt trên layer hiện hành, Enter để kết thúc”
5. Yêu cầu chất lượngComment, thông báo, không treo lệnh“Thêm comment tiếng Việt không dấu, kết thúc bằng (princ)”

Prompt mơ hồ kiểu “viết lisp đánh số bản vẽ” sẽ cho code mỗi lần một kiểu và thường thiếu xử lý lỗi. Theo kinh nghiệm của chúng tôi, prompt đủ 5 thành phần thường cho code dùng được ngay hoặc chỉ cần sửa nhỏ.

Ví dụ trọn vẹn: lệnh đánh số thứ tự DANHSO

Bước 1 — Prompt gửi cho AI (ChatGPT hoặc Claude)

Viết một chương trình AutoLISP chạy trên ZWCAD (tương thích AutoCAD), tạo lệnh tên DANHSO. Hành vi: hỏi người dùng tiền tố (ví dụ “BV-”), hỏi số bắt đầu (mặc định 1). Sau đó mỗi lần người dùng click một điểm trên bản vẽ, chèn một TEXT cao 2.5 tại điểm đó với nội dung tiền tố + số thứ tự, số tự tăng dần sau mỗi lần click. Nhấn Enter để kết thúc lệnh. Dùng entmake thay vì command để chèn text. Thêm comment tiếng Việt không dấu, kết thúc sạch bằng (princ).

Bước 2 — Code AI sinh ra

;; DANHSO.lsp - Chen so thu tu tang dan tai cac diem click
(defun c:DANHSO (/ prefix start num pt)
  ;; Hoi tien to va so bat dau
  (setq prefix (getstring T "\nNhap tien to (vi du BV-): "))
  (setq start (getint "\nSo bat dau <1>: "))
  (if (null start) (setq start 1))
  (setq num start)
  ;; Lap: moi lan click mot diem thi chen text, Enter de thoat
  (while (setq pt (getpoint
                    (strcat "\nDiem dat \"" prefix (itoa num)
                            "\" (Enter de ket thuc): ")))
    (entmake (list '(0 . "TEXT")
                   (cons 10 pt)      ; diem chen
                   (cons 40 2.5)     ; chieu cao chu
                   (cons 1 (strcat prefix (itoa num))) ; noi dung
             ))
    (setq num (1+ num))
  )
  (princ (strcat "\nDa chen " (itoa (- num start)) " nhan so."))
  (princ)
)

Bước 3 — Nạp và chạy trên ZWCAD

Lưu thành danhso.lsp, gõ APPLOAD → Load, rồi gõ DANHSO. Nhập tiền tố BV-, số bắt đầu 1, click lần lượt vào các khung tên: ZWCAD chèn BV-1, BV-2, BV-3… Việc đánh số 40 bản vẽ từ 10 phút thủ công còn dưới 1 phút. Toàn bộ chu trình prompt → code → chạy thử mất chưa đến 5 phút — đó là ý nghĩa thật của “tăng tốc gấp 10”.

Muốn nâng cấp? Gửi tiếp cho AI: “Sửa để text luôn nằm trên layer KT-SOHIEU màu đỏ, tạo layer nếu chưa có” — AI sẽ vá đúng chỗ. Cách làm việc lặp từng bước nhỏ này hiệu quả hơn nhiều so với yêu cầu một chương trình lớn ngay từ đầu.

Giới hạn của AI và checklist kiểm thử

AI không thay được hiểu biết CAD của bạn. Các lỗi chúng tôi gặp thường xuyên nhất khi duyệt code AI cho khách hàng:

Lỗi AI hay mắcDấu hiệuCách xử lý
Gọi hàm Visual LISP ít dùng (vlax-...) không có trong ZWCADLỗi “no function definition”Yêu cầu AI viết lại bằng hàm AutoLISP thuần (entget/entmod)
Dùng biến hệ thống không tồn tại trong ZWCADLệnh dừng giữa chừngBỏ hoặc thay biến; tra LISP FAQ của ZWSOFT
Quên khai báo biến cục bộ sau dấu /Lệnh chạy sai từ lần thứ haiYêu cầu AI “khai bao toan bo bien cuc bo”
command thiếu/thừa EnterCommand line trôi lệnhChạy từng bước bằng tay để đối chiếu số lần Enter

Checklist bắt buộc trước khi dùng thật:

  1. Đọc lướt code — dù không biết lập trình, hãy nhìn xem có lệnh đáng ngờ (xóa, ghi file) ngoài mô tả không.
  2. Chạy trên bản vẽ trống trước, rồi mới đến bản sao của bản vẽ thật.
  3. Thử trường hợp biên: bản vẽ không có đối tượng nào khớp, người dùng nhấn Esc giữa chừng, nhập số âm.
  4. Kiểm tra bằng UNDO — một lệnh LISP tốt phải undo được gọn trong một bước.

Nguyên tắc an toàn: luôn làm việc trên bản sao

Quy tắc chúng tôi khuyến nghị mỗi khi bàn giao tiện ích LISP:

Bước tiếp theo

Nắm vững LISP do AI viết rồi, bạn có thể tiến xa hơn: script .scr chạy hàng loạt file, VBA kết nối Excel, hay .NET cho công cụ toàn công ty — xem bài Tự động hóa ZWCAD từ A–Z. Và đừng bỏ qua những tính năng thông minh ZWSOFT đã tích hợp sẵn trong ZWCAD 2026 — nhiều việc không cần viết code nữa. Đang có sẵn kho LISP từ AutoCAD? Xem hướng dẫn chuyển từ AutoCAD sang ZWCAD.

Câu hỏi thường gặp về AI viết LISP (FAQ)

Nên dùng ChatGPT hay Claude để viết LISP cho ZWCAD? Cả hai đều viết AutoLISP tốt; bản trả phí cho code dài và ổn định hơn. Quan trọng là prompt đủ 5 thành phần và luôn ghi rõ “chạy trên ZWCAD, tương thích AutoCAD” để AI tránh các hàm đặc thù.

Code LISP do AI viết có hợp pháp để dùng thương mại không? Theo điều khoản sử dụng hiện hành của các nhà cung cấp lớn như OpenAI và Anthropic, người dùng được quyền sử dụng nội dung đầu ra; hãy kiểm tra điều khoản của đúng gói dịch vụ bạn dùng. Lưu ý ngược lại: đừng dán code LISP có bản quyền của bên thứ ba vào AI để “chế lại”.

Tôi không biết tiếng Anh, prompt tiếng Việt được không? Được. Các mô hình hiện nay hiểu tiếng Việt tốt; chỉ nên giữ tên lệnh, tên layer bằng ký tự không dấu để tránh lỗi hiển thị trên command line.

AI có viết được chương trình lớn như quản lý cả bộ hồ sơ không? Được nhưng rủi ro cao nếu làm một lần. Hãy chia thành các lệnh nhỏ độc lập, kiểm thử từng phần rồi ghép lại — hoặc chuyển sang .NET với sự hỗ trợ của lập trình viên khi quy mô vượt vài trăm dòng code.

Dùng thử ZWCAD bản quyền kèm hỗ trợ kỹ thuật

Khách hàng mua ZWCAD tại ZWCAD Vietnam được hỗ trợ cài đặt, tư vấn tự động hóa và review tiện ích LISP miễn phí. Tham khảo bảng giá hoặc liên hệ hotline 0977 893 681, hoặc tải ZWCAD 2026 dùng thử miễn phí 30 ngày.


Biên soạn từ tài liệu ZWSOFT được dẫn bên dưới. Mã minh họa cần được kiểm thử trên bản sao bản vẽ trước khi áp dụng.

Nguồn tham khảo:

← Tất cả tin tức