MEP verhält sich wie vermutlich alle anderen dieser Vertikalprodukte ziemlich unterschiedlich zum Verwalten dieser oder aller anderen Informationen im Gegensatz zu einem Autocad was die Speicherung dieser Informationen angeht.
Wenn ich also ein MEP oder ADTo.ä. AutoCAD habe, kann ich über das Interfaceobject auf die Datensätze zugreifen.
Code:
(setq schedApp (vla-getInterfaceObject
(vlax-get-acad-object)
"AecX.AecScheduleApplication.7.9" ;;; AutoCAD MEP 2017
)
)
Code:
(setq vlaObj (vlax-ename->vla-object (car (entsel))))
(setq propSets (vlax-invoke-method
schedApp
'PropertySets
vlaObj
) ;_ end of vlax-invoke-method
)
(setq propSet (vlax-invoke-method
propSets
'Item
"MEPPartNumbering"
) ;_ end of vlax-invoke-method
)
Über die Property Sets kann ich mir dann alle Informationen zu dem jeweils angewählten Bauteil raussuchen.
Ganz anders verhält es sich, wenn ich die gleiche Zeichnung in AutoCAD Vanilla öffne. Nun sind die Objekte erstmal Proxys, was erstmal nix macht, da die Daten ja dennoch da sein sollten.
Die Meißten Daten sind auch noch vorhanden, allerdings völlig anders abgelegt, als unter MAP. Jetzt müssen die Dictionarys durchgegangen werden um an diese Infos ranzukommen. Also das Dict des gewädlten Proxys auslesen (GC 360) dann alle darin enthaltenen Dicts durchsuchen (wieder GC 360) und dort nach den GC 309 suchen wu dann die Textinformationen abgelegt sind, die ich brauchn könnte.
Alles klar?
------------------
Gruß
CADwiesel
Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP