Hallo Strophantus,
vorweg: machbar ist dein Vorhaben!
Eine Frage ist, wie tief steckst du überhaupt im ACA (aus Anwendersicht)? Die API bildet das zum Teil ab, was man als Anwender kennt.
Auf die Eigenschaftssätze kann man relativ gut zugreifen .. allerdings sollte dir klar sein, dass diese an allen möglichen Objekten hängen können --> du steigst also gleich richtig tief ein.
In diesem Zusammenhang ist zu beachten, dass die API das Löschen von Elementen zulässt, auch wenn diese noch irgendwo genutzt sind. Du kannst mit einem solchen Tool folglich ganze Zeichnungen zerstören.
Zugriff auf die EigenschaftssatzDefinitionen:
Autodesk.Aec.PropertyData.DatabaseServices.DictionaryPropertySetDefinitions(_CurrentDatabase);
Dann musst du für jeden Eintrag <DictionaryRecord> die Verweise abfragen. Dazu gibt es einen RelationshipManager.
Autodesk.Aec.DatabaseServices.DBObjectRelationshipManager _dbrel = new Autodesk.Aec.DatabaseServices.DBObjectRelationshipManager(_CurrentDatabase);
Autodesk.Aec.DatabaseServices.DBObjectRelationshipCollection _dbrelC = _dbrel.GetAllReferences(<DictionaryRecord> );
Mit dem Ergebnis hast du dann alle Objekte, die einen Verweis auf die Eigenschaftssatzdefinition haben.
Grüße!
Holger
------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP