来自数据库的几何空间属性
在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))))
)
)
)
如何获得几何空间的属性? 科瓦尔,
这是很快放在一起,但应该是你正在寻找的。
(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]