Sửa giúp mình lisp tính diện tích

gha16180

Thành viên mới
Tham gia
21/8/08
Bài viết
1
Điểm thành tích
1
Tuổi
39
Mình dân cầu đường hay tính diện tích mặt cắt ngang. Trước mình có dùng lisp này rất hay, tính được diện tích miền kín kể cả line và pline... Tính tổng khi pích nhiều miền liên tiếp. Nhưng nhược điểm là chưa tự thay đổi text có sẵn mà vẫn thủ công dùng lệnh edit. Vậy bạn nào giỏi về lisp sửa thêm mình chức năng thay đổi kết quả text có sẵn với. Lấy tròn sau dấu thập phân 2 số nhé. Cảm ơn!

(Defun c:a2()
(setvar "cmdecho" 0)
(initget "Heso Do")
(setq pt (getpoint "\n Chon diem:"))
(if (= pt "Heso")
(progn
(setq am (getreal "Cho he so"))
(if (and (null am) (/= ac 0))
(setq am ac)
)
(setq pt (getpoint "\n Chon diem: "))
)
(setq ac am))

(if (or (= am 0) (null am)) (setq am 1))
(setq s 0)
(progn
; (setq pt (getpoint "\n Chon diem: "))
(while pt
(setq entold (cdr (assoc 5 (entget (entlast)))))
(command "boundary" pt "")
(setq entnew (cdr (assoc 5 (entget (entlast)))))
(if (/= entold entnew)
(progn
(setq entnew (entget (entlast)))
(if (assoc 62 entnew)
(setq entnew (subst (cons 62 (+ 3 (cdr (assoc 62 entnew)))) (assoc 62 entnew) entnew))
(setq entnew (append entnew (list (cons 62 (+ 3 (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 entnew))))))))))
)


(entmod entnew)
(Command "area" "o" (entlast))
(setq s (+ s (getvar "area")))
(setq pt (getpoint "\n Chon diem: "))
(entdel (entlast))
)
(progn
(princ "chon diem sai")
(setq pt (getpoint "\n Chon diem: "))
)
)
)

)

(princ (* s 1))
(princ)
)
 

Tải bộ cài phần mềm Dự toán GXD, Đấu thầu GXD, Thanh Quyết toán GXD, Quản lý chất lượng GXD. Dành cho người mua bản quyền
Kích để xem khóa học Dự toán công trình
Kích để xem khóa học Dự toán công trình
Phần mềm quản lý chất lượng công trình QLCL GXD
Tìm hiểu khóa học Thanh Quyết toán GXD

Các bài viết mới

Top