| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Arbeiten über mehrere Zeichnungen hinweg (864 mal gelesen)
|
Kenny1 Mitglied
Beiträge: 77 Registriert: 29.06.2004
|
erstellt am: 07. Sep. 2006 21:57 <-- editieren / zitieren --> Unities abgeben:
Hallo @all, ich muß eine Routine erstellen und bin noch am überlegen welchen Weg ich denn gehe. Vielleicht hat der eine oder andere auch noch ne Idee wie man folgende Anforderungen umsetzten kann (es geht mir nicht um Quellcode, sondern um "Pseudocode"): In einer Zeichnung sind 1-n Bauteile(Kreise, Polylinien etc). Jedes dieser Bauteile soll in einer neuen dwg eingefügt werden, in geringem Umfang verändert, abgespeichert und die neue Zeichnung wieder geschlossen werden. Die Zeichnungen werden in einem definierten Verzeichnis abgelegt. Mir geht es hauptsächlich um das arbeiten über mehrere Zeichnung hinweg : Aus der Mutterzeichnung werden die Teile erfasst und jeweils in einer neuen eingefügt. Alle Zeichnungen sollen geschlossen werden. Wichtig ist auch eine Sicherheit im Ablauf. Gruß Kenny1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 965 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 07. Sep. 2006 22:19 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
Zitat: Original erstellt von Kenny1: Hallo @all,ich muß eine Routine erstellen und bin noch am überlegen welchen Weg ich denn gehe. Vielleicht hat der eine oder andere auch noch ne Idee wie man folgende Anforderungen umsetzten kann (es geht mir nicht um Quellcode, sondern um "Pseudocode"): In einer Zeichnung sind 1-n Bauteile(Kreise, Polylinien etc). Jedes dieser Bauteile soll in einer neuen dwg eingefügt werden, in geringem Umfang verändert, abgespeichert und die neue Zeichnung wieder geschlossen werden. Die Zeichnungen werden in einem definierten Verzeichnis abgelegt. Mir geht es hauptsächlich um das arbeiten über mehrere Zeichnung hinweg : Aus der Mutterzeichnung werden die Teile erfasst und jeweils in einer neuen eingefügt. Alle Zeichnungen sollen geschlossen werden. Wichtig ist auch eine Sicherheit im Ablauf. Gruß Kenny1
Am einfachsten wäre es, wenn Du die Veränderungen in der "Mutterdatei" vornimmst und die Teile dann einfach via WBLOCK in neue Dateien schreibst.
Ansonsten geht das auch via Skript, das eventuell benötigte LISP-Funktionen ja auch in jede neu geöffnete bzw erzeugte DWG laden kann. Und dann geht das auch richtig kompliziert, dafür mit allen Schikanen via ObjectDBX. Damit kannst Du z.B. auch aus VisualLISP heraus DWG-Dateien bearbeiten, die gar nicht geöffnet sind (naja, sie sind natürlich schon geöffnet, aber eben nicht im AutoCAD Fenster). Tom Berger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kenny1 Mitglied
Beiträge: 77 Registriert: 29.06.2004
|
erstellt am: 08. Sep. 2006 22:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Tom, mit wblock kriegt man schnell was hin, was auch "sicher" zu sein scheint. Die Elemente werden ja aus der "Mutterzeichnung" gelöscht. Ich brauche sie allerdings dort wieder. Die Routine habe ich erweitert, das sie wieder eingefügt und aufgelöst werden. Gibt es irgendwelche Unterschiede zwischen den "Originalen" Elementen und den "exportieren-importierten" Elementen ? Die Vorteile von deinem ganz komplizierten Weg habe ich noch nicht erkennen können. Welche Vorteile habe ich dort ? Gruß Kenny1
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1455 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 09. Sep. 2006 23:22 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
Wenn ich dich richtig verstehe sind die Teile in der Mutterzeichnung keine Blöcke. Da du als Arbeitsschritte Erfassen, Verändern, Speichern in dieser Reihenfolge angegeben hast, gehe ich davon aus daß die Mutterzeichnung nicht von diesen Änderungen betroffen sein soll. Es wäre doch sicher sinnvoll die Änderungen erst dann vorzunehmen, wenn du (oder dein Programm) die einzelnen Zeichnungen erstellt hast. Wenn du mit wblock arbeitest, kannst du mit _oops das entfernen der Elemente rückgängig machen. Wenn du die Namen der einzelnen Zeichnungen in einer Liste speicherst, kannst du dann ein Script erstellen um die Änderungen an diesen Zeichnungen vorzunehmen. Vorausgesetzt diese Änderungen sind nicht zu individuell für jede einzelne Zeichnung, damit man das auch automatisieren kann. Das wäre meine Idee zur Vorgehensweise. Allerdings verstehe ich nicht was du mit der Frage: Zitat: Gibt es irgendwelche Unterschiede zwischen den "Originalen" Elementen und den "exportieren-importierten" Elementen ?
meinst. Welche Unterschiede würden dich denn stören ? Also die geometrischen Daten sollten eigentlich die gleichen sein (wenn nicht läuft was schief). Gib doch mal noch ein par Infos was du vorhast, wie du das vorhast, was rauskommen soll, was nicht rauskommen darf, usw. Und was meinst du eigentlich mit: Zitat: mit wblock kriegt man schnell was hin, was auch "sicher" zu sein scheint.
Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kenny1 Mitglied
Beiträge: 77 Registriert: 29.06.2004
|
erstellt am: 10. Sep. 2006 12:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, es handelt sich nicht um Blöcke. Die Reihenfolge der Arbeitsschritte ist noch offen. Als Ergebnis brauche ich von jedem Element eine einzelne DXF Datei.Die Mutterzeichnung soll von diesen Änderungen nicht betroffen sein. In den einzelnen Dateien muessen noch u.a. Layerwechsel vorgenommen werden und diverse geomtrische Aenderungen. Somit meine ich, ist es sinnvoller diese Aenderungen in den einzelnen DXF Dateien zu machen. Das Ableiten der einzelnen Dateien klappt soweit. Momentan finde ich keine Loesung zum automatischen oeffnen aller DWG, und zum aendern in den einzelnen DWG Dateien. Wenn ich eine Script-Datei erstelle, dann starte ich diese aus der Mutterzeichnung. Wenn dann die erste DWG geoeffnet ist, hat er ja keinen auszufuehrenden Befehl und bleibt bei der ersten Zeichnung haengen. Bzgl. der Unterschiede zwischen den Elemente aus der Mutterzeichnung und den wieder neu eingefuegten aus den WBlock Dateien, meine ich, ob es im Gruppencode oder sonstwo irgendwelche Unterschiede sind, die mir im nachhinein evt. Probleme bereiten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1455 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 11. Sep. 2006 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
Hmm..., also in in den Objektdaten dürften sich z.B. - -1 Objektname - 5 Referenz - 330 Soft-Zeiger-ID/Referenz auf das Besitzerwörterbuch (optional) geändert haben. Wenn du damit leben kannst, kann dir das egal sein. Statt ein Script zu verwenden um alle Dateien zu öffnen, mach das einfach aus dem Explorer heraus. Nicht alles was man irgendwie mit aller Gewalt automatisieren kann macht auch Sinn. Die Dateien stehen doch eh alle in einem Verzeichniss oder gibts noch andere Gründe das vom Programm machen zu lassen außer Bequemlichkeit ? Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kenny1 Mitglied
Beiträge: 77 Registriert: 29.06.2004
|
erstellt am: 12. Sep. 2006 17:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, mit den verändertenf Objektnamen kann ich leben. Gründe für den Automatismus ist die Menge von diesen Dateien. Das wäre schon ne echte Zeitersparnis, wenn man dies automatisieren kann. Momentan sehe ich auch keine Ansätze zu automatisieren. Kann man im VBA nicht so einen Automatismus schreiben ? Gruß Kenny1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1455 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 18. Sep. 2006 16:31 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
Hab ich nachgedacht. Vielleicht gehts so: Ich nehme an daß du nicht alle Dateien auf einmal öffnen möchtest, weils so viele sind, sondern nacheinander. Das Programm muß nun eine Liste aller zu öffnenden Dateien erstellen. Daraus machen wir eine Textdatei. SDI auf 1 stellen. Reactor einrichten der z.B. nach dem Speichern gleich die nächste Datei aufruft. Die erste Datei aus der Liste wird aufgemacht. (command "_open" dateiname) Diese Datei (also die erste in der Liste) wird aus der Liste gelöscht. Ist diese Datei bearbeitet und wird sie gespeichert, wird die nächste Datei vom Reactor gesteuert aufgemacht usw. So lange bis die Textdatei keinen Eintrag mehr enthält. Ist nur so eine Idee. Wenn das so in Ordnung geht und du mit dem Reactor nicht klarkommst, gib Bescheid Gruß Andreas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |