| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: DynamicProperty in externer Datenbank ändern. (1064 mal gelesen)
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 29. Jun. 2015 16:56 <-- editieren / zitieren --> Unities abgeben:
Hallo an Alle, da die Sache mit dem Ändern von Attributen in nicht geöffneten Zeichnungen inzwischen so gut funktioniert, möchte ich jetzt gern auch die Eigenschaften dynamischer Blöcke ändern. Also ich würde gerne die Eigenschaften dynamischer Blöcke in externen Datenbanken ändern und diese Datenbanken dann speichern. leider finde ich da im ganzen Internet kein Beispiel oder ähnliches. Und wenn ich die externe Datei einfach wie die im Editor geöffnete Datei behandle dann klappt es manchmal aber sehr oft führt es zum Systemfehler. Ich denke irgendetwas müsste zum Schreiben geöffnet werden. Aber ich komme nicht drauf was. hat da jemand ein Beispiel oder einen Tipp wie ich vorgehen muß. Oder geht es schlichtweg nicht? Danke für jede Idee. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 29. Jun. 2015 17:41 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
... mit welcher Entwicklungsumgebung arbeitest du denn? Du kannst doch sicher debuggen .. dann siehst du auch genau an welcher Stelle das Programm versagt. Ohne den Code zu kennen oder genauere Angaben bei welcher Aktion das Tool abschmiert ist die Anzahl der Fehlerquellen zu groß, als dass man da irgendeinen Tipp abgeben könnte (ich zumindest nicht). Dass Dein Vorhaben grundsätzlich geht, dass kann ich dir schon bestätigen .. ich manipuliere dynam. Eigenschaften in unserem Blocktauch-Programm, dass die Zeichnungen auch nur in den Speicher lädt und somit einen Blocktauch über eine komplette Zeichnungsstruktur ermöglicht. 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 |
Ingenieur Studio HOLLAUS Mitglied CAD / CAFM / GIS Beratung-Programmierung-Schulung
Beiträge: 1049 Registriert: 06.11.2008 Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks) RKV .... CAFM+mehr HMap ... Vermessung und Verkehr OoC .... Raumplanung CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)
|
erstellt am: 29. Jun. 2015 19:32 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 30. Jun. 2015 14:08 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, ich arbeite mit VS Express 2013. Damit kann ich sicher debuggen. Die Stelle an der das Programm hängen bleibt, ist wenn ich versuche das Property zu schreiben. Dabei ist es egal ob es sich um einen String oder um einen Doubel Wert handelt. Es geht ein paarmal gut und dann kommt Systemfehler. Meine Programmzeilen sehen dabei so aus: Myblockref = acTrans.GetObject(MyID, OpenMode.ForWrite) MydynamicPropertyCol = Myblockref.DynamicBlockReferencePropertyCollection For a = 0 To Tempref.DymName.Length - 1 MyProp = MydynamicPropertyCol(Tempref.DymIndex(a)) If MyProp.Value.GetType = Blockname.GetType Then MyProp.Value = Tempref.Dymwert(a) End If If MyProp.Value.GetType = Mydouble.GetType Then Try MyProp.Value = CDbl(Tempref.Dymwert(a)) Catch End Try End If Next Bei lokalen, also im Editor geöffneten Dateien funktioniert diese Vorgehensweise sehr gut. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008 ACAD 2019 WIN 7 64bit Intel Xenon CPU E5-1620 3.60GHz 16GB RAM
|
erstellt am: 30. Jun. 2015 14:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Ingeneur Studio Hollaus, das stimmt, da gibt es im Internet schon einiges zu finden. Und auf diese Art und Weise ist es mir auch gelungen die Propertys in einer geöffneten Zeichnung zu bearbeiten. Wie gesagt das klappt inzwischen sehr gut. Auch das bearbeiten von Attributen in externen also mit Readdwg geöffneten Dateien funktioniert zuverlässig. Nur wenn ich versuche eine externe Zeichnung mit readdwg zu öffnen und dann die Propertys zu bearbeiten dann kommt es leider oft zum Programmabsturz. Das reine Lesen der Propertys klappt übrigens auch noch ohne Probleme. Erst beim Schreiben, also dem zuweisen von Werten kommt es zum Absturz. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 30. Jun. 2015 14:25 <-- editieren / zitieren --> Unities abgeben:
Hallo ihr Beide, ich selbst habe immer noch den Verdacht, daß ich irgend etwas noch zum Schreiben öffnen müßte. Oder daß ich irgenwas noch aktualisieren müsste bevor ich das nächste Property bearbeiten darf. Vielleicht macht der geöffnete Editor irgendwas automatisch was in der externen Datenbank nicht von selbst passiert. Es ist wirklich so, daß genau der selbe Vorgang in der in ACAD geöffneten Zeichnung funktioniert aber in der eingelesenen Datenbank nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 30. Jun. 2015 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
du hast doch ein try/Catch .. was wird denn als Fehlermeldung ausgegeben oder schmiert das Programm direkt ab, ohne dass es in den Catch-Handler gelangt? Vielleicht ist es besser, wenn du dein Projekt und ein paar Zeichnungen hochlädst, dann kann man mal direkt schauen/debuggen) 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 |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 30. Jun. 2015 14:38 <-- editieren / zitieren --> Unities abgeben:
Ja ist leider so. das Programm schmiert direkt ab. Fehlermeldung ist: "SYSTEMFEHLER: Unhandled Accses Violation Reading 0x000c Exception at dfedf3c9h. Das Projekt muß ich ein bißchen bereinigen, ist durch das viele Probieren etwas unübersichtlich geworden. Die Orginal-Dateien darf ich nicht weggeben, aber ich kann einen Dummy erstellen. Schicke ich Dir zu. Gruß Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |