| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Stapelverarbeitung mit Addin (866 mal gelesen)
|
Boortsneggor Mitglied Ingenieur
Beiträge: 49 Registriert: 27.12.2011 Win7 Prof, Visual Studio 2010/2012, ObjectARX 2008/2012/2013, ACAD 2008/2012/2013
|
erstellt am: 30. Mai. 2012 22:13 <-- editieren / zitieren --> Unities abgeben:
Einen schönen guten Abend, ich habe eine kleine Frage bezüglich einer Stapelverarbeitungsfunktion in meinem ACAD-Addin. Ich habe im Addin eine Funktion, die es ermöglicht, nacheinander in einem bestimmten Order liegende dwgs zu öffnen bzw. deren DB zu öffnen und dort verschiedene Text-Objecte durch BlockReferenzen zu ersetzen. Ich habe das mit der readDwg-Funktion realisiert. Es klappt auch alles soweit ganz gut. Nur zwei Dinge sind mit aufgefallen: - Die Attribute der Blöcke sind ursprünglich rechts ausgerichtet, wenn ich die Stapelverarbeitung wähle sind die Attribute links ausgerichtet. Sobald ich diese anfasse und minimal verschiebe, nehmen sie ihre richtige Ausrichtung an. Scheint irgendein Aktualisierungsgeschichte zu sein. Hat von euch eventuell ähnliche Sachen festgestellt? -Das Zweite ist, dass ich bei Zeichnungen die mit der Stapelverarbeitung bearbeitet wurden das Gefühl habe, dass AUTOCAD länger zum Laden und Speichern braucht. Gibt es beim Öffnen und schließen von Datenbanken diesbezüglich noch Spezielles zu beachten? Vielen Dank für eure Hilfe und einen schönen Abend! Grüße robert ------------------ Robert Menger 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: 31. Mai. 2012 08:52 <-- editieren / zitieren --> Unities abgeben: Nur für Boortsneggor
Hallo Robert, ich denke, die von dir genannten Ungereimtheiten sind nicht in der Stapelverarbeitung zu suchen. Fügst du eine Blockreferenz ein, dann musst du (was dir wohl bekannt ist) die Attributreferenzen im Nachgeng dieser Blockreferenz hinzufügen. Diesen AttributReferenzen musst du dann eben auch vollständig alle Eigenschaften explizit zuweisen, wie diese in der Attributdefinition vorgegeben sind (Koordinaten müssen transformiert werden). Beim Übertragen der Eigenschaften ist es für die Ausrichtung wichtig, eine bestimmte Reihenfolge einzuhalten (ich habe es nicht im Kopf, ob erst der Referenzpunkt und dann die Ausrichrung oder umgekehrt) Ich mache das so, und das funktioniert ohne Problem, auch in Zeichnungen, die via ReadDwg geladen sind. Zum längeren Laden und Speichern: Diese Erfahrung habe ich nicht gemacht. Ich hätte auch keine Idee, was dazu führen könnte. 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 |
Boortsneggor Mitglied Ingenieur
Beiträge: 49 Registriert: 27.12.2011 Win7 Prof, Visual Studio 2010/2012, ObjectARX 2008/2012/2013, ACAD 2008/2012/2013
|
erstellt am: 04. Jun. 2012 16:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, vielen Dank für deine Antwort. Ich werde das mal prüfen. Es wundert mich nur, dass wenn ich die selbe Konvertierung bei meiner aktuell offenen Zeichnung anwende, alle Attribute mit korrekter Ausrichtung eingefügt werden. Die Blockdefinitionen sind in beiden Fällen noch nicht vorhanden. Im Grunde ist das doch genau das Gleiche, nur dass die Datenbank schon geladen ist!? Was habe ich die verschiedenen Ausrichtungen meiner Attribute schon verflucht! Im Übrigen habe ich eine gute Möglichkeit gefunden, Breiten von Textattributen unabhängig von der Schriftart zu ermitteln. Code:
AttributeReference ar = this.GetAttributeRef(attribute); Extents3d ex = ar.GeometricExtents; ex.TransformBy(_doc.Editor.CurrentUserCoordinateSystem.Inverse()); Vector3d len_ar = ex.MaxPoint - ex.MinPoint; double lenX = len_ar.X; double lenY = len_ar.Y;
Ist für dich wahrscheinlich nichts Neues, aber vielleicht hilft es ja dem ein oder anderen. Dann kann ich vielleicht auch mal der helfende und nicht nur der Hilfe suchende Part sein! Viele Grüße Robert ------------------ Robert Menger 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: 04. Jun. 2012 22:39 <-- editieren / zitieren --> Unities abgeben: Nur für Boortsneggor
Hallo Robert, Zum Platzbesarf der Texte noch ein Hinweis: Mach noch ein (keine Ahnung wie es korrekt heißt, bin hier nur am Handy) UpdateAttribut davor, dann passt das auf jeden Fall. Mir ist es schon passiert, dass die Boundingbox sonstwo saß buw sich auf die Attributdefinition bezogen hat. 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 |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|