| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Mehrere Benutzerparameter ändern (933 mal gelesen)
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2017 AutoCAD Mechanical 2017 Microsoft Visual Basic 2010
|
erstellt am: 29. Mrz. 2018 08:53 <-- editieren / zitieren --> Unities abgeben:
Hallo miteinander, wir arbeiten bei AutoCad viel über Benutzerspezifische Zeichnungseigenschaften. Hinter einen dieser Parameter soll jetzt noch etwas hinzugefügt werden. Mein Problem liegt darin das dies für fast 30.000 Zeichnugen gemacht werden muss. Gibts es eine Möglichkeit dies zu machen ohne jede Zeichnung zu öffnen? (Bei Inventor gibt es dafür den "Apprentice") ------------------ ---------------------------------- Mit freundlichen Grüßen Felix 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. Mrz. 2018 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo Felix, es kommt darauf an, wie du 'Zeichnung öffnen' definierst. Du kannst die Zeichnungsdatenbank lediglich in den Speicher lesen, so dass diese nicht am Bildschirm sichtbar geöffnet wird. Das bringt schon einiges an Performance. Das Zauberwort (Methode) dafür lautet: Database.ReadDwgFile Folgendes Prinzip:
Code:
foreach (String _f in _files) { using (Database _fDb = new Database(false, false)) { try { _fDb.ReadDwgFile(_f, System.IO.FileShare.ReadWrite, true, ""); ...
Mit _fDb hast du nun Zugriff auf die Zeichgnungsdatenbank und damit auch auf das Dictionary, in dem die Benutzereigenschaften gespeichert sind. 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 |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2017 AutoCAD Mechanical 2017 Microsoft Visual Basic 2010
|
erstellt am: 29. Mrz. 2018 11:46 <-- editieren / zitieren --> Unities abgeben:
Erstmal vielen Dank für die schnelle Antwort. Weist du auch wie ich über diese Funktion an die benutzerspzifischen Eigenschaften komme? Wenn die Datei richtig offen ist bin ich folgender masen vorgegenagen: Code:
Public oDoc As Document Public Builder As DatabaseSummaryInfoBuilder oDoc = Application.DocumentManager.MdiActiveDocument Builder = New DatabaseSummaryInfoBuilder(oDoc.Database.SummaryInfo) HilfMBDa = Builder.CustomPropertyTable.Item("MBDa")
Und wenn ich Daten schreibe muss ich dahinter noch
Code: oDoc.Database.SummaryInfo = Builder.ToDatabaseSummaryInfo()
einfügen. ------------------ ---------------------------------- Mit freundlichen Grüßen Felix 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. Mrz. 2018 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
ähmmm .. verstehst du deinen eigenen Code nicht oder stört der Wald um die Bäume zu sehen? Zitat: Original erstellt von Fiedel93felix:
Code:
Builder = New DatabaseSummaryInfoBuilder(oDoc.Database.SummaryInfo)
... du greifst dochh selber auf das Database-Object des aktuellen Dokuments zurück. Nur dass du beim Öffnen mit obigen Codeschnipsel das Document-Objekt gar nicht brauchst. Zur Erklärung: das Document ist das, was am Bildschirm angezeigt wird und das Database-Objekt enthält alle Informationen der Zeichnung .. es genügt also vollkommen mit dem Database-Objekt zu arbeiten. 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 |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2017 AutoCAD Mechanical 2017 Microsoft Visual Basic 2010
|
erstellt am: 29. Mrz. 2018 14:55 <-- editieren / zitieren --> Unities abgeben:
Sorry Holger ich hatte mich bei der einen Zeile irgendwie voll verrannt weil ich da ein Fehler bekommen habe aber der Verursacher weiter vorne lag... Vielen Dank für deine Hilfe, jetzt geht es ------------------ ---------------------------------- Mit freundlichen Grüßen Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |