Auto Lisp如何选择块内的项目并获取体积

Auto Lisp如何选择块内的项目并获取体积,lisp,autocad,autolisp,Lisp,Autocad,Autolisp,如何使用Auto Lisp获取块内三维实体的体积 (setq Teset (ssget "X" (list (cons 8 Layerdname));;;;;;;;;;;;;Select the Blocks from the Main Layer

如何使用Auto Lisp获取块内三维实体的体积

                                   (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)
在此代码中 将图层上的项目添加到选择集中,并分解第一个图元(即块)

我需要选择分解块中的所有对象(都是三维实体)并打印体积

提前感谢

之后:

(setq Tobjs (vla-explode block ) )
您可以通过以下方式获得音量:

(setq ObjectsAsList (vlax-safearray->list (vlax-variant-value Tobjs ) ) )
(foreach % ObjectsAsList    
    (setq volume (vlax-get-property % 'volume ) )   
    (print volume ) 
)
之后:

您可以通过以下方式获得音量:

(setq ObjectsAsList (vlax-safearray->list (vlax-variant-value Tobjs ) ) )
(foreach % ObjectsAsList    
    (setq volume (vlax-get-property % 'volume ) )   
    (print volume ) 
)