Tài liệu cad

Lisp tính tổng diện tích các hình trong CAD trên AutoCAD 2026

Lisp tính tổng diện tích các hình trong CAD: link tải, mật khẩu giải nén, cách nạp tệp fas trên AutoCAD 2026 và cách cộng diện tích mà không cần lisp.

  • autocad123.vn
  • 17/08/2023

Lisp tính tổng diện tích các hình là tiện ích cộng dồn diện tích nhiều hình kín trong bản vẽ. Nó đổi sang đơn vị bạn muốn rồi ghi kết quả thành chữ ngay trên bản vẽ. Lệnh gọi là S2A. Bài này giữ nguyên tệp tải về của trang, nói rõ bên trong có gì và in thẳng mật khẩu giải nén. Kèm theo là phần mà bản viết năm 2017 chưa thể có: cách nạp tệp trên AutoCAD 2026, và những việc mà AutoCAD bây giờ đã tự làm được. Chỉ cần đo một hình thì đã có lisp tính diện tích một hình kín.

Tóm tắt. Mật khẩu giải nén là xaydungso.vn, không phải autocad123. Tệp cuối cùng là Tong dien tich.fas, 21.032 byte, ghi ngày 22 tháng 10 năm 2019. Đuôi fas nghĩa là mã đã biên dịch, không đọc và không sửa được. Trên AutoCAD 2026 biến SECURELOAD mặc định bằng 1 nên nạp tệp từ thư mục lạ sẽ bung hộp thoại Security. Trước khi tin con số, hãy hiệu chuẩn bằng một hình chữ nhật đã biết diện tích. Và nếu chỉ cần con số thì lệnh AREA sẵn có đã cộng dồn được, không cần tệp nào cả.

Gói tải lisp tính tổng diện tích có đúng thứ bạn cần không

Tôi tải gói về và mở ra để kiểm trước. Các gói lisp trôi nổi lâu năm rất hay bị gán nhầm sang bài khác chủ đề. Gói này thì đúng đề tài. Kho RAR tải từ Google Drive nặng 87,9 KB, và mật khẩu giải nén là xaydungso.vn, không phải autocad123 như nhiều gói khác của trang.

Trong gói có kèm một tấm ảnh jpg tên Hướng dẫn lấy pass giải nén file. Ảnh đó bảo bạn mở Google, tìm từ khoá hình chóp đều, lần ra một bài trên rdsic.edu.vn rồi kéo xuống cuối bài để lấy mật khẩu. Đường vòng đó nay không còn chạy được, và cũng không có lý do gì bắt bạn đi vòng. Mật khẩu in ngay ở đây.

Giải nén xong thì chỉ có đúng một tệp: Tong dien tich.fas, 21.032 byte, ghi ngày 22 tháng 10 năm 2019. Không có bản cài đặt, không có tệp phụ nào khác. Đó cũng là điều đáng chú ý đầu tiên: tệp mang đuôi fas chứ không phải lsp, và mục ngay sau đây nói rõ khác biệt đó ảnh hưởng gì tới bạn.

Tải về

Lisp cộng dồn diện tích nhiều hình kín, lệnh S2A

Chọn một loạt hình kín, lisp cộng diện tích rồi ghi kết quả thành chữ lên bản vẽ.

  • Định dạng FAS, tức AutoLISP đã biên dịch
  • Dung lượng 87,9 KB khi tải, tệp fas 21.032 byte
  • Số tệp 1 tệp fas
Tải lisp cộng diện tích

Mật khẩu giải nén: xaydungso.vn

Đuôi fas nghĩa là gì và vì sao điều đó quan trọng với bạn

FAS là dạng mã AutoLISP đã biên dịch. Tài liệu Autodesk nói rõ mục đích của nó là giấu mã nguồn. Chuỗi ký tự và tên biến đều bị mã hoá khi biên dịch. Nhờ vậy, dù bạn phát tán tệp cho hàng nghìn người thì phần viết tay vẫn kín. Tôi đã thử rút chuỗi ký tự trong tệp này và không lấy ra được gì đọc nổi, đúng như tài liệu mô tả.

Với người dùng, điều đó kéo theo ba hệ quả rất thực tế. Bạn không sửa được hệ số đổi đơn vị nếu nó không hợp với bản vẽ của mình. Bạn không đọc được lisp làm gì trước khi chạy, nên chỉ nên nạp tệp lấy từ nguồn bạn tin. Và bạn không vá được nếu sau này nó hỏng, vì môi trường biên dịch cũ đã bị Autodesk rút. Từ AutoCAD 2021, bộ soạn thảo Visual LISP IDE bị tuyên bố ngừng dùng và Autodesk khuyến nghị chuyển sang phần mở rộng AutoLISP cho Visual Studio Code.

Một điểm yên tâm: tệp biên dịch năm 2019 vẫn nạp được trên AutoCAD 2026. Chiều không tương thích mà Autodesk cảnh báo là chiều ngược lại, tức tệp biên dịch theo dạng Unicode ở bản 2021 trở đi thì không nạp được vào bản 2020 và cũ hơn. Tệp cũ chạy trên bản mới thì không vướng gì.

Nạp tệp và chạy lệnh S2A trên AutoCAD 2026

Trước tiên, chọn chỗ cất tệp cho tử tế

Đừng để tệp nằm nguyên trong thư mục Downloads rồi nạp từ đó. Hãy tạo một thư mục cố định, ví dụ D:\lisp, tên thư mục và các cấp cha viết không dấu. Lý do nằm ngay ở mục sau.

Ba chỗ hay tắc khi nạp

Từ khoảng bản 2014, AutoCAD siết việc nạp tệp có chứa mã, gồm LSP, FAS, VLX và DLL. Cơ chế đó còn nguyên trên bản 2026. Biến SECURELOAD mặc định bằng 1, nghĩa là mã chỉ nạp thẳng khi nằm trong danh sách thư mục tin cậy, ngoài danh sách thì AutoCAD hỏi. Danh sách đó nằm ở biến TRUSTEDPATHS và mặc định để rỗng, chỉ có thư mục Program Files cùng các thư mục con là tin cậy ngầm. Tệp để ở Downloads thì lần nào cũng bị hỏi.

Hộp thoại Security - Unsigned Executable File của AutoCAD 2026 khi nạp tệp lisp chưa ký nằm ngoài thư mục tin cậy

Hình 2. Hộp thoại Security - Unsigned Executable File trên AutoCAD 2026, với ba nút Always Load, Load Once và Do Not Load. Đây là lý do số một khiến người ta kêu lisp tải về không chạy. Bấm Load Once là dùng được ngay lần này.

Cách dứt điểm là khai báo thư mục một lần. Vào Options, thẻ Files, mở nhánh Trusted Locations rồi thêm đường dẫn thư mục bạn vừa tạo. Sau đó dùng APPLOAD, bấm Contents trong khung Startup Suite rồi thêm tệp fas vào đó để mỗi lần mở AutoCAD lisp tự nạp. Nếu chỉ cần dùng một lần thì APPLOAD, chọn tệp, bấm Load là xong. Từng bước nạp có ảnh chụp nằm ở bài cách load lisp trong CAD.

Trình tự lệnh

Gõ S2A rồi Enter. Lisp hỏi lại một câu xác nhận. Trả lời không thì nó mở hộp thoại thông số, trả lời có thì nó nhảy thẳng sang bước chọn hình. Lần chạy đầu tiên nên vào hộp thoại để xem và chỉnh thông số, vì đó là chỗ quyết định con số cuối cùng đúng hay sai.

Hộp thoại thông số của lisp cộng dồn diện tích, có ô Cao chữ, Tỷ lệ đơn, Object, Chỉnh, Color và đơn vị mét vuông

Hình 3. Hộp thoại thông số của lisp. Cao chữ là chiều cao chữ kết quả tính theo đơn vị bản vẽ. Tỷ lệ đơn là hệ số đổi đơn vị. Chỉnh là số chữ số thập phân. Color là màu chữ kết quả. Ô cuối cùng là đơn vị in kèm sau con số.

Chỉnh xong thì bấm Ok, chọn các hình kín cần cộng, Enter hoặc phím cách để chốt vùng chọn, rồi chọn một điểm trống để đặt chữ kết quả.

Hiệu chuẩn ba mươi giây trước khi tin con số

Đây là việc bản viết cũ không nhắc, mà lại là chỗ sai nhiều nhất. Ô Tỷ lệ đơn và ô đơn vị in kèm là hai ô rời nhau. Lisp không tự biết bản vẽ của bạn đang vẽ theo milimét hay theo mét, nó chỉ nhân đúng cái hệ số bạn đặt rồi in đúng cái chữ bạn chọn. Đặt lệch một bậc là sai gấp một nghìn lần mà chữ mét vuông vẫn hiện ra rất thuyết phục.

Phép thử. Vẽ một hình chữ nhật 1000 nhân 1000 đơn vị bản vẽ ở chỗ trống. Nếu bản vẽ theo milimét thì đó đúng bằng 1 mét vuông. Chạy lệnh trên riêng hình đó. Ra 1,00 là thông số đã khớp. Ra 1000 hay 0,001 thì hệ số đang sai lệch một nghìn lần, sửa lại rồi thử tiếp cho tới khi đúng. Làm một lần cho mỗi loại bản vẽ, sau đó dùng thoải mái.

Hai điều nữa nên biết trước khi dùng cho khối lượng. Lisp cộng thẳng diện tích của từng hình được chọn, nên hai hình chồng lên nhau thì phần chồng bị cộng hai lần và tổng sẽ lớn hơn diện tích thật. Với đường đa tuyến chưa đóng kín, AutoCAD vẫn trả về một con số. Nó nối tưởng tượng điểm đầu với điểm cuối rồi tính. Kết quả trông bình thường nhưng không phải thứ bạn muốn. Trước khi chọn, nên soát lại xem các hình đã đóng kín chưa.

Khi nào thì chưa cần tới lisp tính tổng diện tích

Có một hiểu lầm lan rất rộng, và bản viết cũ của trang cũng dính. Hiểu lầm đó là lệnh AREA chỉ tính được từng hình một, muốn cộng thì phải tự cộng tay. Không đúng. Tài liệu AutoCAD 2026 ghi rõ lệnh AREA có tuỳ chọn Add area. Nguyên văn là bật chế độ cộng và hiển thị tổng dồn của các vùng bạn chỉ định tiếp sau đó. Bên cạnh là tuỳ chọn Subtract area để trừ bớt. Nghĩa là AutoCAD cộng dồn giúp bạn ngay trong lệnh.

Cần gì thì dùng cái nào Chỉ cần biết tổng là bao nhiêu Lệnh AREA chọn Add area Quét cả loạt rồi đọc tổng một lần Ctrl+1, đọc ô Cumulative Area Ghi số lên bản vẽ, đổi sẵn ra mét vuông Lệnh S2A trong gói tải về Số liệu phải theo kịp khi bản vẽ còn sửa Trường FIELD hoặc DATAEXTRACTION Ba dòng không tô vàng thì không cần nạp thêm tệp nào.

Hình 4. Bốn nhu cầu khác nhau, bốn công cụ khác nhau. Chỉ dòng thứ ba mới thật sự cần tới tệp lisp trong gói tải về. Dòng cuối được nói kỹ ở bài trường FIELD lấy diện tích hình kín.

Lệnh AREA với chế độ cộng dồn

Gõ AREA rồi Enter. Chọn tuỳ chọn Add area để bật chế độ cộng, rồi chọn tiếp Object để chỉ từng đối tượng thay vì bấm từng góc. Bấm lần lượt vào các hình kín. Sau mỗi lần bấm, dòng lệnh in ra diện tích hình vừa chọn kèm tổng dồn tới thời điểm đó. Chọn xong thì Enter để rời chế độ chọn đối tượng rồi thoát lệnh. Muốn trừ một lỗ thủng ra khỏi tổng thì đổi sang Subtract area rồi chỉ vào hình cần trừ. Lệnh MEASUREGEOM cũng có nhánh đo diện tích với đúng hai chế độ cộng và trừ này, khác ở chỗ nó ở lại chờ bạn đo tiếp thay vì kết thúc ngay. Cần cộng chiều dài thay vì diện tích thì dùng lisp đo tổng chiều dài đoạn thẳng.

Bảng Properties và ô Cumulative Area

Cách này nhanh hơn khi số hình nhiều. Quét chọn cả đám, mở bảng Properties bằng Ctrl+1, rồi đọc ô Cumulative Area trong nhóm Geometry. Nó gọn hơn AREA vì không phải bấm từng hình. Nhược điểm là ô này có thể để trống nếu trong đám chọn có một đối tượng mà AutoCAD không tính được diện tích, mà nó lại không nói cho bạn biết đối tượng nào. Gặp ô trống thì bớt dần vùng chọn để tìm ra thủ phạm, hoặc quay về dùng lệnh AREA.

Khi cần số liệu theo kịp bản vẽ đang sửa

Lệnh AREA, bảng Properties và cả lisp đều cho ra con số chết. Sửa hình xong thì con số cũ vẫn nằm nguyên đó. Nếu bản vẽ còn thay đổi nhiều, hãy dùng trường dữ liệu qua lệnh FIELD, gắn vào thuộc tính Area của hình. Trường tự tính lại mỗi khi bản vẽ được tái tạo, lưu hoặc in. Cần cả một bảng thì dùng DATAEXTRACTION để rút diện tích của cả loạt đối tượng ra bảng ngay trong bản vẽ. Chỉ nhớ rằng bảng đó phải ra lệnh cập nhật lại chứ không tự làm.

Video hướng dẫn của tác giả

Video dưới đây do kỹ sư Nguyễn Thanh Dũng quay, đi qua đúng trình tự nói trên, làm ngay trên một bản vẽ thật.

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

Gõ S2A mà báo Unknown command thì làm sao

Soát ba chỗ theo thứ tự. Một, xem APPLOAD đã báo nạp thành công chưa, hay có hộp thoại Security hiện lên mà bạn lỡ bấm Do Not Load. Hai, xem có phải bạn vừa mở lại AutoCAD không, vì lisp nạp bằng nút Load chỉ sống trong phiên đang chạy, muốn giữ thì phải cho vào Startup Suite. Ba, tên lệnh có thể khác ở một bản gói nào đó. Muốn biết chắc, sau khi nạp hãy gõ vào dòng lệnh đoạn dưới đây rồi đọc danh sách trả về, các lệnh do lisp đặt đều bắt đầu bằng C hai chấm.

(vl-load-com)(vl-remove-if-not '(lambda (s) (wcmatch s "C:*")) (atoms-family 1))

Sửa được tệp fas để đổi hệ số đơn vị không

Không. Tệp đã biên dịch, chuỗi và tên biến bị mã hoá, mở bằng trình soạn thảo chỉ thấy ký tự rác. Muốn đổi thì đổi trong hộp thoại thông số của chính lisp, đó là chỗ duy nhất bạn can thiệp được.

AutoCAD LT chạy được tệp này không

Từ bản LT 2024, AutoCAD LT cho Windows đã chạy AutoLISP. Tài liệu Autodesk ghi rõ tệp lsp đã biên dịch thì LT cho Windows có hỗ trợ. Chỉ việc biên dịch mới là độc quyền của AutoCAD bản đầy đủ. Vậy nên với tệp biên dịch sẵn như tệp này, LT 2024 trở lên về nguyên tắc nạp được. Điều không kiểm được từ bên ngoài là lisp có gọi hàm nào của Express Tools hay không, vì mã đã bị mã hoá. Mà Express Tools thì LT không có. Cứ thử, nếu báo lỗi hàm lạ thì đó là lý do. LT các đời trước 2024 thì chắc chắn không chạy.

Lisp có tính được hình chưa đóng kín không

Nó vẫn ra một con số. Nhưng con số đó tính theo giả định nối thẳng điểm đầu với điểm cuối, và thường không phải thứ bạn cần. Hãy đóng kín hình trước. Hoặc dùng lệnh BOUNDARY để tạo một đường bao kín từ vùng đã có rồi tính trên đường bao đó.

Kết quả ra đơn vị gì

Ra đúng đơn vị bạn khai trong hộp thoại, và chữ đơn vị in kèm chỉ là chữ, nó không tự kiểm tra gì. Bản vẽ theo milimét mà muốn đọc ra mét vuông thì phải chia cho một triệu. Đừng đoán, hãy làm phép thử hình chữ nhật ở mục trên.

Cộng diện tích các mảng hatch thì dùng gì

Hatch là chuyện khác. Trang có lisp cộng diện tích hatch theo layer, gom riêng theo từng lớp.