| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: script-Aufruf aus bat-Datei starten (4090 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 14. Feb. 2014 13:10 <-- editieren / zitieren --> Unities abgeben:
Ich bin gerade auf Autospool gestossen, was aber nicht mehr in Acad2013 unterstützt wird. Kennt jemand die HG dazu ? Ich möchte mittels bat-start alle dwgs in dem angezeigten Ordner ausplotten. Mein Vorhaben ist mittels batch-Aufruf eine einfachen Plotaufruf zu starten. Bisher habe ich ein *.bat geschrieben, die mir zwar die Dwg öffnet, aber nicht das Plotscript startet. Kenne mich nicht genau aus mit dem Code Print-PDF.bat
Code: FOR %%G in (*.DWG) DO "C:\Program Files\Autodesk\AutoCAD Civil 3D 2013\acad.exe" "%%G" /b PrintPDF.scr shift del *.dwg
Print-PDF-scr
Code: (if (load "H:\\2013\\LISP\\04_system\\PDFv2.lsp") (c : pdf) ) ZOOM E QSAVE CLOSE
Pdfv2.lsp
Code: (defun c:PDF ( / ) ;; Print layouts as pdf-file ;; you have to have searchpath c:\pdfplot there pdf-files be saved (setq i nil) (while (= i nil) (foreach layoutname (layoutlist) (command "._layout" "set" layoutname) (command "_plot" "_y" layoutname "PDFcreator.pc3" "A1" "Millimeters" "Landscape" "No" "_e" "1000=1" "_c" "_y" "A1.ctb" "_y" "_n" "_n" "_n" "_n" "_n" "_y" ) ) (setq i 1) ) )
Kennt jemand den Trick, der den script-Aufruf in der bat-Datei ausgeführt ? ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 14. Feb. 2014 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 14. Feb. 2014 13:29 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Dirk, wie das aus einer *.bak heraus gehen soll, weiß ich auch nicht. Ich könnte mir aber vorstellen, das dieses mit Hilfe einer hierfür angepassten acaddoc.lisp gehen könnte, die ja für jedes Dokument geöffnet beim laden geöffnet wird. Frage: was bezweckst Du in der pdfv2.lsp eigentlich mit dem Konstrukt (setq i nil) und der While schleife? Du läufst doch in der foreach .. durch alle layouts. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 14. Feb. 2014 14:39 <-- editieren / zitieren --> Unities abgeben:
Zitat: Kennst du DSD?
Nein kenn ich nicht, was soll das sein - funktioniert das ähnlich wie bei scriptPro? Zitat: Frage: was bezweckst Du in der pdfv2.lsp eigentlich mit dem Konstrukt (setq i nil) und der While schleife?
Hast du recht, ist überfüssig! batchCode dateien sind gemeint, starten sich einfach durch Doppelklick wie bei exe. Dahinter steckt aber mein Printaufruf, der das scribt aufrufen soll. Schiebe ich bat- und scr-Datei in den Ordner, wo alle dwgs liegen; sollen die durch Doppelklick auf *.bat alle Layouts als PDF geplottet werden. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 14. Feb. 2014 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 14. Feb. 2014 14:59 <-- editieren / zitieren --> Unities abgeben:
Nein ich glaube nicht, das ist das was ich brauche. Ich muss mich ein wenig mehr mit batchCode auseinandersetzen. Ist ja ein alter Stiefel, aber auch prozedal durchführbar. Danke soweit! ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 17. Feb. 2014 13:09 <-- editieren / zitieren --> Unities abgeben:
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 17. Feb. 2014 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Servus, etwas unhandlicher und man muss Autocad öffnen aber warum nicht publizieren? ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Feb. 2014 14:32 <-- editieren / zitieren --> Unities abgeben:
Der Nachteil beim publizieren 1) man muss jede Datei öffnen, deren layouts man ausgeben will 2) in allen layouts müssen alle Einstellungen für ctb, Papiergrösse, Drucker ect. getroffen werden Bei mir braucht es wie gesagt nur Layouts ohne Voreinstellung und alle gefundenen Dwgs in einem Verzeichnis werden abgearbeitet. Im Prinzip ist das ein Äquivalent zu scriptPro [Diese Nachricht wurde von cadplayer am 17. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 17. Feb. 2014 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Servus 1. man kann mehrere Dateien/Layouts hinzufügen 2. man kann eine Zeichnungsvoreinstellung verwenden alle markieren und bei der obersten kann man diese Auswählen so fern sie in dieser DWG vorhanden ist und wird für alle übernommen. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Feb. 2014 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Beim publizieren braucht nur eine passende Seiteneinrichtung (die man allen Layouts beim Publizieren zuordnen kann). Also eine MyStandardPlotConfig.dwg in denen man verschiedene Standard Seiteneinrichtungen vorhält, die Planlisten sind auch mit diesen Zuordnungen wie gewohnt als DSD speicherbar. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Feb. 2014 17:01 <-- editieren / zitieren --> Unities abgeben:
Danke für eure kommentare. publish war mir doch fremd (irrtümlich). müssen denn alle Drucker in einer pc3 abgelegt sein, damit sie im publish auch verwendet werden können? ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Feb. 2014 17:09 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Etwas verwirrend die Nachfrage, aber ich versuche beide mögliche Fragen zu beantworten: a) Ein Drucker muß freilich nie als pc3 angelegt sein, man kann immer auch Systemdruckertreiber nutzen. b) Außer dem Drucker, welcher in der genutzen Seiteneinrichtung genannt ist, kann man im Publizierdialog auch noch pauschal den Standard PDF und DWGDWF(pc3) Treiber wählen, alle weiteren müßte man tatsächlich über separate Seiteneinrichtungen steuern. [editiert] ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Feb. 2014 17:19 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Feb. 2014 19:13 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Nur für den Horizont: Jedes Script und Lisp kann einfach im SDImodus im Stapelbetrieb laufen, Vba und .net bekommen es sowieso hin. Und: Wenn du dann den ersten Ansatz weiter verfolgen willst, so kannst du auch die Autocadbefehlszeilenversion Accoreconsole.exe nutzen, zum drucken brauchst du ja nicht das gesamte Autocad. Allerdings dürfen dann keine OleObjekte zur Darstellung des Planes vorhanden sein. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 18. Feb. 2014 18:35 <-- editieren / zitieren --> Unities abgeben:
Da werd ich doch gleich hellhörig, LISP & SCRIPT start mit .NET wie ?aus der CMD-console??? Das wäre cool... Zeig mal ein Beispiel auf was du hinaus zielst ?! Der eigentlich simple Ansatz mit der batch-Datei wäre gut, wenn er funktionieren würde. Habe aber nur das aus dem Netz gefischt. Kennst du die Ursache warum das scribt nicht gestartet wird ? Kann ja sein das es falsch aufgerufen wird. Scheint mir irgendwie falschplatziert zu sein. Wie soll denn ein Compiler verstehen, dass hier ein Aufruf in Acad gestartet werden soll. SDImodus, was ist damit gemeint? ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 19. Feb. 2014 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo cadplayer, Zitat: Original erstellt von cadplayer:
SDImodus, was ist damit gemeint?
mit der Systemvariable SDI kannst du Folgendes einstellen: 0 = es können mehrere DWG-Dateien geöffnet werden 1 = es kann eine DWG-Datei geöffnet werden Komischerweise habeich in meiner Hilfe die genaue Beschreibung dazu nicht gefunden. Viele Grüße Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
..... Mitglied
Beiträge: 433 Registriert: 01.07.2011
|
erstellt am: 19. Feb. 2014 09:19 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 21. Feb. 2014 14:13 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 21. Feb. 2014 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 21. Feb. 2014 21:16 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Aber da du ja auf Türen öffnen stehst: Du kannst auch ScriptPro mit den AcadKernKonsole verknüpfen. Du Kannst auch einem Dwgconvert Vorgang ein Script mitgeben usw. Aber, man Muß es auch machen. Deiner BAT am Anfang, könnte zB ein Zeilenumbruch im Weg sein! Aber Tunnelbauers Einwand würde ich unbedingt vorher testen..
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 22. Feb. 2014 10:56 <-- editieren / zitieren --> Unities abgeben:
Zitat: Deiner BAT am Anfang, könnte zB ein Zeilenumbruch im Weg sein!
Das war´s. Funktioniert jetzt so: 1) Lege am besten bat- und scr-Datei dorthin wo die dwg´s liegen 2) Ändere Pfadangabe der script-Datei in der bat, entsprechend da wo sie abgelegt ist 3) Doppelklick auf bat. PS.: meine Angaben beruhen auf Acad 2012 (evtl. ändern) Ein kleines Problem tritt aber noch auf, das Acad nach dem Plotvorgang nicht richtig geschlossen wird. Macht das manuell, startet anschliessend Acad neu und führ den Plotvorgang für die nächste Datei aus. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Feb. 2014 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Na wunderbar, hat es wieder irgendwer geschafft. - Kleines Problem betreffend: Warum schreibst du das denn ins Forum anstatt die Zeit zu nutzen dein Script anzupassen ? Ich kann es nicht verstehen und es wird auch immer schlimmer statt besser über die Jahre ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 22. Feb. 2014 12:10 <-- editieren / zitieren --> Unities abgeben:
Sorry! CLOSE vor QUIT kann ja auch nicht gehen.
Zitat: irgendwer geschafft
Der batchCode ist nicht aus meinem Schuhe entstanden, daher Punktvergabe. pdf.scr sah schäuslich aus. Danke euch allen ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Feb. 2014 12:11 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Das ist nett, noch mehr würde ich mich freuen zu sehen das du mal eine Zeile in einer Woche korrigiert bekommst, oder so Tips wie dem foreach in der whileSchleife ernst nimmst, wobei alleine schon der Ausdruck (= i nil) grausam anmutet, abgesehen von der sinnlosen whileschleife. < deinen Code endlich intern. gestaltest.> // Muß mal abbrechen gerade, sorry // ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 22. Feb. 2014 14:34 <-- editieren / zitieren --> Unities abgeben:
Zitat: alleine schon der Ausdruck (= i nil) grausam anmutet
In dem Zusammenhang, dass habe ich bestätigt war while völlig sinnlos... Ansonsten Ansichtssache - ich bin dankbar, dass meine Codes hier den Schönheitsschliff bekommen, oder ueberhaupt erstmal Ansätze. (if i .... (null i) usw. sind sicherlich sinnreicher. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se[Diese Nachricht wurde von cadplayer am 22. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |