PDA

View Full Version : Lisp tính diện tích một hình khép kín


concocnho
03-02-2007, 03:42 PM
;tinh dien tich 1 hinh khep kin
(defun c:Q13()
(command "-layer" "n" "tdientich" "l" "CONTINUOUS" "tdientich" "c" 1 "tdientich" "")
(command "-layer" "s" "tdientich" "")
(Command "-style" "TDTICH" ".vnarial" "0.4" "" "" "" "" "" "" )
(setvar "cmdecho" 0)
(setq p (getpoint "Chon mot diem trong vung can tinh dien tich:"))
(command "boundary" p "")
(command "area" "e" "l")
(command "erase" "l" "" )
(command "color" "bylayer")
(setq dt (strcat (rtos (getvar "area" ) 2 2)))
(setq P1 (getpoint "\nChon diem ghi gia tri vua tinh duoc:"))
(Command "Text" "M" P1 "0" dt)
(Command "textsize" Oldsize "")
(princ)
(princ "dien tich = ") (princ dt)
(prompt "\nChon doi tuong TEXT can sua: ")
(command "DDEDIT")
(setvar "cmdecho" 1)
(princ)
)
:confused: Em mù tịt về lisp nên nhờ các anh sửa dùm. Em muốn khi chọn đối tượng text cần sửa thì nó sửa luôn ( mà vẫn giữ nguyên style của text cũ ). Ai biết xin giúp đõ :D

nguyency
04-02-2007, 07:50 PM
trong cad cũng có tính diện tích hình khép kín bất kỳ nào, phần này hay dùng trong tính diện tích trắc ngang trong đường
command: bo
chọn đối tượng
command: a (xem kỹ phần này)
kéo cửa sổ command lên để coi trong phần nhập có diện tích, chu vi....

a2tiep
10-04-2007, 05:55 PM
[FONT="Arial"]Trong CAD cũng hỗ trợ các lệnh tính toán diện tích của một tiết diện khép kín bất kỳ. Và nó cũng hỗ trợ tính toán các đặt chưng hình học rồi. Các bạn có thể tham khảo trong CAD
Thông tin có thể gửi về hòm thư a2tiep.addpro@gmail.com [FONT]

a2tiep
12-04-2007, 09:54 AM
Trong cad còn hỗ trợ tính toán các đặc trưng hình học. Rất tiện lợi. Với mặt cắt bất kỳ ta đều có thể tính các đặc trưng hình học của nó. Để tính được các đặc trưng hình học ta có thể sử dụng lần lượt các lệnh sau: Region, massprop sau đó nhấn F2 để xem kết quả. (Ví dụ với hình chữ nhật).

tuankt411
03-07-2010, 09:38 AM
tôi hay sử dụng lệnh LI có trong cad để tính diện tích hình khép kín, cái này không cần đến lips đâu bạn

maichina
01-10-2011, 06:08 AM
ai co lisp tinh dien tich up len cho minh voi

nhatminh_fff
27-12-2011, 03:52 PM
Mình tìm hiểu rất nhiều lisp tính diện tích, thấy vẫn bồ kết nhất cái này:
http://www.mediafire.com/?y8dog33qxpyygqm

ketxu
27-12-2011, 04:33 PM
;tinh dien tich 1 hinh khep kin
(defun c:Q13()
(command "-layer" "n" "tdientich" "l" "CONTINUOUS" "tdientich" "c" 1 "tdientich" "")
(command "-layer" "s" "tdientich" "")
(Command "-style" "TDTICH" ".vnarial" "0.4" "" "" "" "" "" "" )
(setvar "cmdecho" 0)
(setq p (getpoint "Chon mot diem trong vung can tinh dien tich:"))
(command "boundary" p "")
(command "area" "e" "l")
(command "erase" "l" "" )
(command "color" "bylayer")
(setq dt (strcat (rtos (getvar "area" ) 2 2)))
(setq P1 (getpoint "\nChon diem ghi gia tri vua tinh duoc:"))
(Command "Text" "M" P1 "0" dt)
(Command "textsize" Oldsize "")
(princ)
(princ "dien tich = ") (princ dt)
(prompt "\nChon doi tuong TEXT can sua: ")
(command "DDEDIT")
(setvar "cmdecho" 1)
(princ)
)
:confused: Em mù tịt về lisp nên nhờ các anh sửa dùm. Em muốn khi chọn đối tượng text cần sửa thì nó sửa luôn ( mà vẫn giữ nguyên style của text cũ ). Ai biết xin giúp đõ :D
Lisp này hơi dở nhỉ :) Nhưng theo yêu cầu thì bạn hãy thay dòng (command "DDedit") bằng dòng
(vla-put-textstring (vlax-ename->vla-object (car (entsel "\nChon Text can sua :"))) dt)

lthienkt
27-12-2011, 05:49 PM
Cái lisp tính diện tích thì nhiều
Ví dụ đây là 1 cái lisp tính ra diện tích và xuất ra text "Diện tích đào (m2):..."

;;Chuong Trinh Tinh Dien tich 1 hinh kin, xuat ket qua ra man hinh
(defun c:att (/ s pt)
(while
(princ "\nInsert inside_point :")
(setq pt (getpoint))
;(setq S 0 )
(command "-Boundary" pt "")
(command "area" "O" "last" "")
(setq S (getvar "area")) ;(+ S (getvar "area")))
;(command "erase" "last" "")
(setq ndso (rtos S 2 3))
(setq nd (strcat "Diện tích đào (m2): " ndso ))
(setq p (getpoint))
(command "text" p 0.4 0 nd "")
);while
(princ)
)
)