updated: Extended data is not Xdata, so vla-GetXData cannot be used, I think.
so I'm doing this now:
; find all walls
(setq selSet (ssget "X" '((0 . "AEC_WALL"))))
; choose the first wall
(setq entname (ssname selSet 0))
(setq vlax-entname (vlax-ename->vla-object entname))
; is there extened data on this objects?
if true (vla-get-HasExtensionDictionary vlax-entname) then there is extended data
; get the right extension dictionary item
(entget (vlax-vla-object->ename (vla-GetExtensionDictionary vlax-entname)))
((-1 . ) (0 . "DICTIONARY") (330 . ) (5 . "5B5") (100 . "AcDbDictionary") (280 . 1) (281 . 1) (3 . "AEC_PROPERTY_SETS") (360 . ) (3 . "AEC_TEXT_NOTE") (360 . ))
if this shows the entget from the AEC_TEXT_NOTE
(vlax-for i (vla-GetExtensionDictionary vlax-entname)
(if (= "AEC_TEXT_NOTE" (cdr (assoc 0 (setq cDXF (entget (vlax-vla-object->ename i))))))
(princ cDXF)
); end if
); end vlax-for
((-1 . ) (0 . "AEC_TEXT_NOTE") (5 . "BC4") (102 . "{ACAD_REACTORS") (330 . ) (102 . "}") (330 . ) (100 . "AecDbObject") (102 . "{AEC_SUBOBJECT") (300 . "AecImpObj") (100 . "AecImpObj") (3 . "") (102 . "AEC_SUBOBJECT}") (102 . "{AEC_NULLOBJECT}") (100 . "AecDbTextNote") (1 . "hejhejhej2"))
then why do I get nil from this?
(vlax-for i (vla-GetExtensionDictionary vlax-entname)
(if (= "AEC_PROPERTY_SETS" (cdr (assoc 0 (setq cDXF (entget (vlax-vla-object->ename i))))))
(princ cDXF)
); end if
); end vlax-for
I still need to find "Area-RightNet" in "extended data" see attached file: "wall-property-set-definitions.png"
and I can't get any further now ...
any help is very much appreciated
/Kristian
Edited by: ktk@te.dk on Sep 4, 2009 8:16 AM