| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Effiziente Reinraumlösungen effizienter entwickeln - Ortner Reinraumtechnik GmbH, ein Anwenderbericht
|
Autor
|
Thema: Scriptgenerator (1131 mal gelesen)
|
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003 Windows 10 Prof 64 Bit Inventor Prof 2023 Vault Basic 2023
|
erstellt am: 20. Aug. 2003 16:30 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Bin ein Neuling in Sachen Scripte erstellen und Lisp ist für mich auch noch ein Fremdwort. Mein System: Autocad 2002, Express - Tools, Win2000 Sp 3. Mein Problem: Ich möchte bei mehreren Zeichnungen ( zur Zeit ca 200 Stück) einen Block exportieren. Dafür gibt es bei den Express - Tools ja den Befehl attout, welcher für eine einzelne Zeichnung auch wunderbar funktioniert. Wenn ich aber diesen Befehl nun aber über den Script - Generator ausführen will (um die Attribute aus mehreren Zeichnungen zu exportieren), wird die Datei nicht gespeichert (No output File) oder sowas. Der Dateiname der exportierten Attribute soll identisch sein mit dem Zeichnungsnamen ( z.B. 001.txt) Danke für eure Hilfe. Greetings from Switzerland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
c@s Mitglied cad kommunikation
Beiträge: 269 Registriert: 07.08.2002 win 10<P> AutoCad 2018
|
erstellt am: 20. Aug. 2003 17:34 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
hallo du möchtest aus mehreren zeichnungen (200 st) in denen sich jeweils ein gleichnamiger block befindet ein oder mehrere attribute auslesen und diese in eine datei schreiben ? wenn das so ist, ist es wahrscheinlich der titelblock und du möchtest einen index generieren ? gruss jochen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 20. Aug. 2003 18:01 <-- editieren / zitieren --> Unities abgeben:
Hallo Jochen Ist teilweise richtig. Jawohl, ich möchte den Titelblock aus den Zeichnungen exportieren, es sind dies pro Zeichnung ca 25 Attribute. Die sollen in eine Textdatei exportiert werden. In dieser Textdatei kann ich dann die Namen der Attribute ändern, und so wieder in einen neuen Titelblock einfügen (mit attin). Tönt relativ kompliziert, habe es aber mit einer einzelnen Zeichnung bereits ausprobiert, funktioniert bestens. Das ganze Problem ist deshalb entstanden, da ich bis anhin mit AM Workflow, respektive zuletzt mit Am Teamwork die Titelblöcke erstellt habe. Der Am TeamWork lässt aber von der Performance (Geschwindigkeit, Abstürze, Kompatibilität mit neuer AutoCad Version, etc.) zimelich zu wünschen übrig. Deshalb habe ich mich entschlossen, den Am Teamwork in Zukunft nicht mehr zu benützen. Um die Zeichnungsablage nun richtig zu organisieren, war es leider unerlässlich, gewisse Anpassungen am Titelkopf zu machen. Greetings from Switz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 20. Aug. 2003 19:36 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
noch ein Schweizer, die trifft man in letzter Zeit häufig... Das ist eigentlich kein Problem... da ein Script nichts anderes macht wie du an der Tastatur (wenn du die Tastatur nutzt), nämlich eins nach dem anderen eingeben ! Ablauf von attout: --> attout Return Return Objektwahl Return attout - Name des Befehl´s Return - Befehl/Eingabe bestätigen Return - Bestätigt den vorgeschlagenen Pfad und Dateinamen der zu erstellenden Datei - gleichen Pfad und gleichen Namen wie die betreffende dwg, aber mit der Dateierweiterung *.txt Objektwahl - das ist ein Problem... Return - Objektwahl abbrechen/bestätigen Fertig ! die Objektwahl wird dir aber wohl zu schaffen machen, denn: wie willst du denn das Insert wählen ????
Ich kenne (lerne gern dazu...!) keinen ACAD-Befehl zur Objektsuche, der eine Befehlzeilenversion besitzt, ihr etwa ? Ich manage das immer per Lisp: ------------------------------------------------------------------ (ssget "X" '((0 . "INSERT")(2 . "BLOCKNAME"))) attout _p ------------------------------------------------------------------ Statt "BLOCKNAME" natürlich deinen BLocknamen verwenden... !
------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 21. Aug. 2003 07:04 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, Sebastian Tia, die Schweizer haben halt kein so gutes Forum, wie das hier. :-) :-) Grins Also mit den Return - Befehlen funktioniert das wunderbar. Bei der Auswahl der Objekte ist das auch kein Problem, da kann ich nur "alle" (ohne Anführungszeichen) eintippen, die Objekte (ca 30) werden exportiert. Kannst du mir bitte das kleine Lisp - Programm dementsprechend anpassen, das du da geschrieben hast?? En schöne Arbetstag metenand.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 21. Aug. 2003 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
hatte gedacht in den Dateien ist immer 1 Insert mit Namen XY, welches du auslesen Möchtest...habe ich wohl falsch verstanden wenn du bei der Objektwahl ALLE eingibst ! , wenn du aber ALLE angeben tust, so kenne ich dein Problem nicht ?! Was ich da geschrieben habe ist auch kein Lisp, nur die (1234abcd) Zeile ist ein Lisp-Ausdruck den ich benötige um nur Blöcke mit Namen "BLOCKNAME" auszulesen... wenn du also alles auslesen möchtest sieht das so aus : ------------------------------------------------------- attout
alle
--------------------------------------------------------
PS.: ich verstehe wirklich nicht dein Problem, alles was du "von Hand" in die Befehlszeilenversion des Befehles eingibst, wird dein script später auch gefragt- also "was mach ich ?" - in das Script schreiben ! teste also: SysVar "filedia" auf 0 stellen und, ----------- attout return return alle return return ------------ oder hatte dir das filedia 0 gefehlt um den Befehl über die Befehlszeile zu testen ?
------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. [Diese Nachricht wurde von cadffm am 21. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 21. Aug. 2003 09:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Sebastian Danke für deine schnelle Antwort. Das Problem ist aber Folgendes: Obwohl ich Filedia auf 0 stelle, erscheint bei der Eingabe von attout ein Fenster, in welchem ich nach dem Dateinamen gefragt werde. Wenn das Exportieren aber automatisch ablaufen soll, geht das so nicht. Und wenn ich die Funktion attout im Scriptgenerator einfüge, speichert es die Dateien nicht, da kein "output - Filename" angegeben ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
c@s Mitglied cad kommunikation
Beiträge: 269 Registriert: 07.08.2002 win 10<P> AutoCad 2018
|
erstellt am: 21. Aug. 2003 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
hallo mit acad 2002 pur besteht die möglichkeit aus mehreren zeichnungen gleichzeitig attributinformationen zu essen dazu gibt man (beliebige zeichnung offen) in die befehlszeile eattext ein. dem dialog folgen -mehrere zeichnungen aus verschiedenen verzeichnissen auswählen 200 geht -blöcke auswählen -attribute auswählen -und in eine exceltabelle aus_ _ _ vorlagen zu verwenden ist vieleicht noch interessant grüsse j, Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Aug. 2003 00:46 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
@meierjo 1. bitte gebe deine Soft & Harware im ZUSATZTEXT deines PROFILes ein ! 2. hole dir die etv1-9 von www.cadwiesel.de, und wenn du dann immernoch sagst das bei filedia=0 ein Dialogfenster geöffnet wird dann bin ich ratlos. Filedia ist die Variable zum unterdrücken von "Dateiwählen" Dialogen. ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 22. Aug. 2003 08:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Sebastian Also, das ist wirklich eine verzwickte Sache. Ich habe dieses Exportieren auf einem Pc (Test - PC) mit Autocad 2004 ausprobiert, und mit den Express - Tools bei Auto - Cad 2004 funkioniert das nicht mit dem Dialog unterdrücken. Habe es dann auf einem PC mit der Version Autocad 2002 ausprobiert, da funktiniert es. Habe jetzt die beiden attout.lsp miteinander verglichen, und die Lisp von Autocad 2004 entsprechend angepasst. Nun funktioniert das Exportieren ohne Dialog :-) :-) Wenn ich aber das Exportieren (attout) über den Scriptgenerator laufen lasse, werden die Text Dateien immer noch nicht gespeichert. Hat da jemand eine Idee??
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Aug. 2003 08:56 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
habe es endlich in 2004 testen können und du hattest (natürlich) recht... ich habe nun eine andere attout.lsp verwendet (denke von Wiesel´s etv1-9) und es funkt einwandfrei ! nehm doch mal die ganze alte attout.lsp und teste erneut (du sagtest du hast nur "angepasst" - das ist natürlich nicht nachvollziehbar für uns...
------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Aug. 2003 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
Da fällt mir aber noch was auf ! "Wenn ich aber diesen Befehl nun aber über den Script - Generator ausführen will" Ein "Generator" generiert . Was für ein Programm nutzt du denn da ? um ein Script über mehrere Dateien laufen zu lassen nutze ich ScriptPro von Adesk. Dazu das "alte" attout.lsp - und es funkt. ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 22. Aug. 2003 09:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Sebastian Ich habe für diese Versuche den Script Generator von Autocad benutzt (Hilfsmittel --> Script --> Scriptgenerator). Ich war bisher eigentlich der Meinung, dass man möglichst die Standart - Software verwenden sollte, und nicht viel zusätzliche Software installieren soll. Das Programm Script - Pro kenne ich nocht nicht, werde es aber gleich mal ausprobieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Aug. 2003 09:30 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
ich kenne weder "Hilfsmittel" noch "Scriptgenerator" , kenne aber ACAD2002- was hast du da für ein SuperACAD ? gibt es auch einen Befehl dazu ? ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 22. Aug. 2003 09:43 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Aug. 2003 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
Frage: warum schreibst du das nicht in dein Profil (Zusatztext) oder gibst es wenigstens an ? - dies ist nämlich kein AC2002 - Befehl und da hätten wir noch lange reden können ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. [Diese Nachricht wurde von cadffm am 22. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 22. Aug. 2003 10:26 <-- editieren / zitieren --> Unities abgeben:
Entschuldige, aber woher sollte ich wissen, dass zwischen diesen Versionen solche Unterschiede bestehen. Und mit all den verschiedenen Bezeichnungen von Autocad / Mechanical Desktop / Powerpack, etc. kenn ich mich nicht so gut aus. Für deine Bemühungen gibts natürlich 10 Unities. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Aug. 2003 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für Meierjo
Von welchem Programmteil welcher Befehl stammt ist natürlich nicht immer leicht ersichtlich, für das Forum ist es umso wichtiger alle Angaben zu machen. Selbst einfache Befehle sind bei ADT, MDT und so weiter oft umgeschrieben und folgen einem anderen Ablauf oder es gibt sogar andere Optionen... also bis demnächst ! ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 416 Registriert: 20.08.2003
|
erstellt am: 22. Aug. 2003 13:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Sebastian Ich habe mir den Script Manager pro installiert. Ich habe mal einen Testlauf mit 10 Zeichnungen gemacht. Läuft alles reibungslos. Jetzt wird mit einiges klarer. :-) :-) Hast dir nochmals 10 Unities verdient. Nur noch folgende letzte Frage: Gibt es eine Möglichkeit, dass Autocad nicht nach jeder Zeichnung jedesmal geschlossen und wieder neu geöffnet wird?? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |