Kowal 发表于 2022-7-5 17:32:18

来自数据库的几何空间属性

在Civil 3D 2010中,我使用此函数检索数据几何空间点。2014年,Civil function返回零。
(setq acadObject (vlax-get-acad-object))
(princ acadObject)
(setq acadDocument (vla-get-ActiveDocument acadObject))
(setq mSpace (vla-get-ModelSpace acadDocument))
(print mSpace)
(setq lst nil)
(vlax-for ent mSpace
   (if (equal (vla-get-ObjectName ent) "AeccDbCogoPoint")
   (progn
(setq enm (vlax-vla-object->ename ent))
(setq obj (vlax-ename->vla-object enm))
(setq nbr (vlax-get obj 'Number))
(setq coo (vlax-get obj 'Location))
(setq coor (mapcar '(lambda (%) (rtos % 2 3)) (list (cadr coo) (car coo) (caddr coo))))
(setq lst (append lst (list (append (list nbr) coor))))
)
   )
   )
如何获得几何空间的属性?

Hippe013 发表于 2022-7-5 18:59:42

科瓦尔,
 
这是很快放在一起,但应该是你正在寻找的。
 

(defun c:test ( / ss n obj nbr coo coor lst)
(setq ss (ssget "x" '((0 . "AECC_COGO_POINT"))))
(setq n 0)
(repeat (sslength ss)
   (setq obj (vlax-ename->vla-object (ssname ss n)))
   (setq nbr (vlax-get-property obj 'Number))
   (setq coo (vlax-safearray->list (vlax-variant-value (vlax-get-property obj 'Location))))
   (setq coor (mapcar '(lambda (%) (rtos % 2 3))(list (cadr coo)(car coo)(caddr coo))))
   (setq lst (append lst (list (append (list nbr) coor))))
   (setq n (+ n 1))
   )
(princ (strcat "\n" (vl-princ-to-string lst)))
(princ)
)
 
当做
 
hippe013
页: [1]
查看完整版本: 来自数据库的几何空间属性