Message 1 of 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi
I want to be able to determine the surface area of a selected face of a 3dsolid. I've written a lisp routine, but I cant get get it to select the face that I want to calculate.
(defun c:area3dface ()
(setq ss (ssget "_:L" '((0 . "3DSOLID"))))
(if ss
(progn
(setq obj (ssname ss 0))
(if (= (cdr (assoc 0 (entget obj))) "3DSOLID")
(progn
(setq pt (getpoint "\nSelect point on face to calculate area: "))
(setq face (vlax-curve-getclosests (vlax-ename->vla-object obj) (vlax-3d-point pt) 1e-6))
(if face
(progn
(setq area (vla-get-Area (vlax-ename->vla-object (car face))))
(princ (strcat "\nArea of selected face: " (rtos area)))
)
(princ "\nNo face selected.")
)
)
(princ "\nSelected object is not a 3DSolid.")
)
)
(princ "\nNo 3DSolid object selected.")
)
(princ)
)
Please could somebody help me to fix this code.
Solved! Go to Solution.