Как получить Area of Objects внутри Block/autocad в переменную используя lisp
Вот кодекс;
(setq Tobjs (vla-Explode Tvlaobj))
(setq ObjectsAsList (vlax-safearray->list (vlax-variant-value Tobjs ) ) )
(foreach % ObjectsAsList
(setq TSublayerNew (vla-get-layer %))
(cond ((eq TSublayerNew TLaynemeShort)
(command "_.AREA" "_O" %)
(setq Teee (getvar 'area))
(setq Ttvm (+ Ttvm Teee))
(princ (strcat (rtos Teee 2 0) " | "))
(setq Tcntr (+ Tcntr 1))
)
)
)
(setq TNumF Ttvm)
(princ (strcat (rtos TNumF 2 2)))
Я хочу получить общую площадь для всех областей и тел в блоке (Tobjs) в переменную TNumF, если это соответствует условию,
выдает ошибку: неверное значение аргумента: команда AutoCAD: #
пожалуйста помоги
заранее спасибо
1 ответ
Решение
Это потому, что% это сущность как vla-объект, но команде нужна сущность, поэтому попробуйте этот код:
(command "_.AREA" "_O" (vlax-vla-object->ename % ))