AALL.VLX – TÍNH TỔNG DIỆN TÍCH & CHIỀU DÀI 🚀
AutoLISP AALL.VLX là một ứng dụng nhỏ gọn nhưng vô cùng hữu ích dành cho người dùng AutoCAD. Ứng dụng giúp tự động hóa việc tính tổng diện tích và tổng chiều dài chỉ bằng cách pick điểm, giúp tiết kiệm thời gian và tăng độ chính xác trong quá trình thiết kế. 🏗️✨
Kết quả được Copy trực tiếp vào Clipboard và cho phép Ghi giá trị vào 1 Text hoặc Attribute trong bản vẽ.
🔥 TÍNH NĂNG CHÍNH
🔹 Lệnh AA – Tính tổng diện tích cộng dồn dựa trên các điểm được chọn.
🔹 Lệnh LL – Tính tổng chiều dài giữa các cặp điểm do người dùng chọn.
🔹 Tùy chọn Scale – Cho phép nhân kết quả tính toán theo một tỷ lệ bất kỳ để phù hợp với bản vẽ. (Có trong bản nâng cao, link tải dưới cùng).
Ứng dụng được thiết kế để đơn giản, dễ sử dụng nhưng lại cực kỳ hiệu quả, đặc biệt hữu ích trong các lĩnh vực như quy hoạch, đo đạc, xây dựng và thiết kế kỹ thuật. 📏🏗️
🎯 LỢI ÍCH KHI SỬ DỤNG
✅ Nhanh chóng – Không cần đo thủ công, chỉ cần pick điểm.
✅ Chính xác – Giảm sai sót khi tính toán.
✅ Miễn phí – Được chia sẻ hoàn toàn miễn phí trong nhóm AutoLISP Trải Nghiệm.
✅ Nhỏ gọn & Tiện lợi – Chạy trực tiếp trên AutoCAD mà không cần cài đặt phức tạp.
🚀 CÀI ĐẶT & SỬ DỤNG
1️⃣ Nạp ứng dụng vào AutoCAD bằng lệnh APPLOAD.
2️⃣ Gõ AA để tính tổng diện tích hoặc LL để tính tổng chiều dài.
3️⃣ Pick các điểm mong muốn theo hướng dẫn.
4️⃣ Xem kết quả hiển thị ngay lập tức trên màn hình! 🎯
AALL.VLX là công cụ không thể thiếu cho những ai muốn tối ưu hóa quy trình làm việc trên AutoCAD. Hãy tham gia AutoLISP Trải Nghiệm để tải về ngay và trải nghiệm sự tiện lợi mà ứng dụng mang lại! 🚀🔧
Tính tổng diện tích AA
;-------------------------------------------Do dien tich----------------------------------- (defun C:AA (/ M ent ss area str C_text O_text N_text N_text1 Text olderr)
(princ (strcat "\nGet Total Area by lisp.vn")) (defun SetClipText (str / html result) (if (= 'STR (type str)) (progn (setq html (vlax-create-object "htmlfile") result (vlax-invoke (vlax-get (vlax-get html 'ParentWindow) 'ClipBoardData) 'setData "Text" str)) (vlax-release-object html) str ) ) ) (defun ssnewer (ent / ss ent1) (if ent (progn (setq ent1 ent) (while (setq ent1 (entnext ent1)) (if ent1 (progn (if (NULL ss) (setq ss (ssadd))) (setq ss (ssadd ent1 ss)) ) ) ) ss ) nil ) ) (defun sleep_osnap ()(setvar "OSMODE" (logior (getvar "OSMODE") 16384))) (defun wake_osnap ()(setvar "OSMODE" (logand (getvar "OSMODE") -16385))) (defun toggle_osnap ()(setvar "OSMODE" (boole 6 (getvar "OSMODE") 16384))) (setvar "CMDECHO" 0) (setvar "DIMZIN" 0) (setq ent_1_command (entlast)) (setq olderr *error*) (setq *error* 1error) (setq ent (entlast)) (setq str "\nSpecify a point: ") (setq area 0.0) (sleep_osnap) (while (setq pt (getpoint str)) (Command ".Bpoly" "a" "o" "r" "" pt "") (if (setq ss (ssnewer ent)) (progn (Command "Union" ss "") (Command ".Area" "o" (entlast)) (if area (setq area (abs (- (getvar "AREA") area))) (setq area (getvar "AREA")) ) (princ (strcat "\nTotal: " (rtos (getvar "AREA") 2 (getvar "LUPREC")) "/ Area: " (rtos area 2 (getvar "LUPREC")))) ) ) (setq str "\nSpecify next point: ") ) (wake_osnap) (setq C_text (strcat "" (rtos (getvar "AREA") 2 (getvar "LUPREC")) "")) ;Bien can thay vao text (setq *error* olderr) (if (setq ss (ssnewer ent)) (Command ".Erase" ss "")) (setcliptext C_text) (princ "Data was copied to the Clipboard") ;Thay doi noi dung text (if (setq O-Text (nentsel (strcat "\nSelect Area-Text object: "))) (progn (setq Text (car O-Text) N-Text (cons 1 C_text)) (setq N-Text1 (subst N-Text (assoc 1 (entget Text)) (entget Text))) (entmod N-Text1) );Close Progn );Close IF (princ) )
Tính tổng chiều dài LL
;-------------------------------------------Do chieu dai----------------------------------- (defun c:LL ( / pt1 pt2 C_text O-Text N-text d i)
(princ (strcat "\nGet Total Length by lisp.vn"))
(defun SetClipText (str / html result)
(setq d 0 i 0) (while (setq pt1 (getpoint "\nSpecify first point: ")) (if (setq pt2 (getpoint pt1 "Specify second point: ")) (progn (setq d (+ d (distance pt1 pt2))) (princ (strcat "\nDelta X" (itoa (setq i (1+ i))) " = " (rtos (abs (- (car pt1) (car pt2))) 2 (getvar "LUPREC")) " Delta Y" (itoa i) " = " (rtos (abs (- (cadr pt1) (cadr pt2))) 2 (getvar "LUPREC")) " Total = " (rtos d 2 (getvar "LUPREC")))) ) ) ) (setq C_text (rtos d 2 (getvar "LUPREC"))) (setcliptext C_text) (princ (strcat "\nTotal " (itoa i))) (if (setq Text (car (entsel (strcat "\nChon Text ghi ket qua [L = " C_text "]:")))) (progn ; (setq N-Text (cons 1 C_text)) (setq N-Text1 (subst N-Text (assoc 1 (entget Text)) (entget Text))) (entmod N-Text1) (setcliptext C_text) ) ) (princ "\nCreat by AJS www.lisp.vn") (princ) )(if (= 'STR (type str)) (progn (setq html (vlax-create-object "htmlfile") result (vlax-invoke (vlax-get (vlax-get html 'ParentWindow) 'ClipBoardData) 'setData "Text" str)) (vlax-release-object html) str ) ) )
Không có nhận xét nào:
Đăng nhận xét