Auto Lisp 如何 select 块内的项目并获取音量
Auto Lisp How to select items inside block and get Volume
如何使用 Auto Lisp 获取块内的 3D 实体体积
(setq Teset
(ssget "X"
(list (cons 8 Layerdname));;;;;;;;;;;;;Select the Blocks from the Main Layer
)
)
(setq Tcntr 0)
(setq Ttvm 0)
(setq Ten (ssname Teset 0))
(setq Tvlaobj (vlax-ename->vla-object Ten))
(setq Tobjs (vla-Explode Tvlaobj))
..............Help here Please.............
(princ Tobjs)
(princ)
在此代码中
将层上的项目添加到 selection set 并爆炸第一个实体,它是一个块。
我需要 select 分解块中的所有对象(都是 3d 实体)并打印体积
提前致谢
之后:
(setq Tobjs (vla-explode block ) )
您可以通过以下方式获取音量:
(setq ObjectsAsList (vlax-safearray->list (vlax-variant-value Tobjs ) ) )
(foreach % ObjectsAsList
(setq volume (vlax-get-property % 'volume ) )
(print volume )
)
如何使用 Auto Lisp 获取块内的 3D 实体体积
(setq Teset
(ssget "X"
(list (cons 8 Layerdname));;;;;;;;;;;;;Select the Blocks from the Main Layer
)
)
(setq Tcntr 0)
(setq Ttvm 0)
(setq Ten (ssname Teset 0))
(setq Tvlaobj (vlax-ename->vla-object Ten))
(setq Tobjs (vla-Explode Tvlaobj))
..............Help here Please.............
(princ Tobjs)
(princ)
在此代码中 将层上的项目添加到 selection set 并爆炸第一个实体,它是一个块。
我需要 select 分解块中的所有对象(都是 3d 实体)并打印体积
提前致谢
之后:
(setq Tobjs (vla-explode block ) )
您可以通过以下方式获取音量:
(setq ObjectsAsList (vlax-safearray->list (vlax-variant-value Tobjs ) ) )
(foreach % ObjectsAsList
(setq volume (vlax-get-property % 'volume ) )
(print volume )
)