计算厚度a的程序
您好,先生,我正在lisp中工作,我需要你的帮助。
现在,我想获取AutoCAD中已有的3D组件的尺寸。
例如,我有100x100x10组件的3D图。我在这一点上感到受挫。请帮帮我。
谢谢你, Soham,你的3D部件总是像box 3DSOLID吗?你可以得到它的边界框点坐标,并计算其高度。。。如果3DSOLIDs是在实体建模操作(并集、减法、相交)后未创建的普通图元,则最简单的方法是尝试在本文中解释的方法:
http://www.cadtutor.net/forum/showthread.php?89522-通过lisp更改曲面构建设置(&p)=#6&
HTH公司 您在主3DSOLID中进行了减法,因此我的链接不适用,因为3DSOLID失去了其基本属性。。。你必须走另一条路:
(defun c:solhig ( / ss solobj ll ur hig )
(vl-load-com)
(prompt "\nPick 3D SOLID")
(setq ss (ssget "_+.:E:S" '((0 . "3DSOLID"))))
(while (null ss)
(prompt "\nEmpty sel.set... Please try picking 3D SOLID again...")
(setq ss (ssget "_+.:E:S" '((0 . "3DSOLID"))))
)
(setq solobj (vlax-ename->vla-object (ssname ss 0)))
(vla-getboundingbox solobj 'll 'ur)
(setq ll (vlax-safearray->list ll))
(setq ur (vlax-safearray->list ur))
(setq hig (abs (- (caddr ur) (caddr ll))))
(prompt "\nHeight of picked 3D SOLID is : ") (princ (rtos hig 2 50))
(princ)
)
索:没有必要在背靠背的帖子中重复同一个问题。请表现出一些耐心。也没有必要在多个线程中重复同一个问题,因为当帖子分布在两个或多个不相关的线程上时,很难遵循任何讨论的过程。非常感谢。 你只需要有耐心。我们这些选择在这里回答问题的人只是自愿贡献我们的时间、服务和才能;我们不是带薪员工。 谁会删除这些帖子。。。soham,试试这个代码,如果它满足您的需求,请告诉我。。。如果这是真的,请删除足够的帖子。。。
当然,要感谢李先生的子功能(增量Alpha)。。。
M、 R。 我将相关帖子移动到AutoLISP、Visual LISP和DCL>程序,以使用AutoLISP自动计算厚度
请停止添加到不相关的线程。 谢谢你SLW210。。。
M、 R。
非常感谢。绿巨人:lol:
你是一个负责任的管理员干得好!
页:
[1]