| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Adobe PDF Plotten automatisieren (1790 mal gelesen)
|
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020
|
erstellt am: 07. Aug. 2020 17:39 <-- editieren / zitieren --> Unities abgeben:
Hallo. Vielleicht ist es ja leicht zu lösen. Habe viel gesucht aber nix passendes gefunden. Möchte einfach Dateien ohne Stapelplot über Adobe PDF erstellen. Code: (command "_.LAYOUT" "_Set" "" "_.-PLOT" "_No" "" "" "Adobe PDF" "_No" "_No" "_Yes")
Befehl läuft super. Dann geht das "PDF-Datei speichern unter..." Fenster auf. Bekomme ich das irgendwie automatisiert das er mir das speichert? Schönes WE.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020 Windows 10 Pro - 64-Bit - Lenovo Thinkstation P520 - Intel Xeon W-2255 CPU @ 3.70 GHz 10 Kerne - 3x32GB DDR4 RAM @ 2933 MHz - WD Blue SN570 SSD 1000GB - Samsung MZVLB512HAJQ-000L7 SSD 500GB - NVIDIA Quadro P2200 5GB - Elgato Stream Deck 15 Tasten - AutoCAD MEP 2019 - Revit 2018+2019+2020+2021+2022
|
erstellt am: 08. Aug. 2020 12:25 <-- editieren / zitieren --> Unities abgeben:
Habe jetzt eine kleine Notlösung hinbekommen. Nutze das Elgato Stream Deck als Zusatztastatur. Habe mir jetzt nach dem Script eine 2,5 sek. Warteschleife eingebaut und danach kommt die Eingabetaste. Das "PDF-Datei speichern unter..." gehört ja nicht mehr zu Autocad, also gehe ich davon aus das da in einem Script einfach Ende ist. Vielleicht kann das ja jemand bestätigen, dann brauche ich mir den Kopf nicht mehr zu zerbrechen. 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: 08. Aug. 2020 20:36 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel486
Schau doch noch mal nach, du hast im System-Druckertreiber sicher die Einstellung "Nach Dateiname fragen" wie auch soetwas wie "Dateiname automatisch vergeben" oder ähnliches. Wobei mir gerade noch einfällt das Adobe und ein paar andere Anbieter vollständig in ACAD integriert werden können und dann wie auch die Autodesk PDF ganz normal als Befehlszeilen-Abfrage nach der Zieldatei fragen, Hast du ein Autodesk Plugin für den Adobe installiert? Ich denke ein Menü/Register ADOBE oder dergleichen wäre ein Hinweis darauf.
Sorry, ich habe so einen Luxus nicht um selbst testen zu können, alles "altes Wissen" bei mir. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020
|
erstellt am: 10. Aug. 2020 08:48 <-- editieren / zitieren --> Unities abgeben:
Zitat: Schau doch noch mal nach, du hast im System-Druckertreiber sicher die Einstellung "Nach Dateiname fragen" wie auch soetwas wie "Dateiname automatisch vergeben" oder ähnliches.
Habe es wie im Bild zu sehen umgestellt. Jetzt läuft es wie ich es mir vorstelle. Danke für den Tipp. Wir haben auch ein Adobe Plugin, aber das ist nicht eingerichtet. Edit: Habe es jetzt so eingestellt, dass er Layout für Layout durch geht und den Adobe PDF ausführt.
Code: (foreach L (append(layoutlist))(setvar "CTAB" L)(command "_.-PLOT" "_No" "" "" "Adobe PDF" "_No" "_No" "_Yes"))
[Diese Nachricht wurde von Manuel486 am 10. Aug. 2020 editiert.]
[Diese Nachricht wurde von Manuel486 am 10. Aug. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020 Windows 10 Pro - 64-Bit - Lenovo Thinkstation P520 - Intel Xeon W-2255 CPU @ 3.70 GHz 10 Kerne - 3x32GB DDR4 RAM @ 2933 MHz - WD Blue SN570 SSD 1000GB - Samsung MZVLB512HAJQ-000L7 SSD 500GB - NVIDIA Quadro P2200 5GB - Elgato Stream Deck 15 Tasten - AutoCAD MEP 2019 - Revit 2018+2019+2020+2021+2022
|
erstellt am: 16. Okt. 2020 13:46 <-- editieren / zitieren --> Unities abgeben:
Hallo. Ich habe da eine komische Situation mit meinem Script.
Code: ;;;Adobe PDF RazFaz Auslesen ; ;Schaltet durch alle Layouts und führt Plotten aus, stellt auf den Plotter "Adobe PDF.pc3" und druckt / ; (foreach L (layoutlist)(setvar "CTAB" L)(command "_.-PLOT" "_No" "" "" "Adobe PDF.pc3" "_No" "_No" "_Yes")) ; ; ; ;Schliesst die Zeichnung OHNE speichern / ; (progn(command "_.close")(while (/= 0 (getvar "CMDACTIVE"))(command "_Y")))
Ich erstelle PDF-Dateien mit dem Script „Adobe PDF RazFaz Auslesen.scr“ Plan auf, Script laufen lassen, erstellte PDF zu kurz, bei genau 1500mm abgeschnitten. Dann bin ich von Hand in das Layout und habe Strg+P gedrückt und Adobe PDF händig eingestellt. Dann hat er es richtig ausgelesen (2000mm) lang. Danach habe ich dann wieder das Script genommen und dann war der Plan komplett drauf… Ich habe immer dieselbe Datei genutzt und immer das gleiche Script. Warum bekomme ich da was anderes bei raus? Was mir aufgefallen ist, dass bei Plänen mit Papierformat (Benutz. 4) 1500x914mm alles drauf ist, immer. Pläne größer als 1500x914mm z.B. (Benutz. 3) werden obwohl richtig eingerichtet bei 1500mm länge abgeschnitten… Es ist so als würde das Script obwohl auf Benutzer.3 2000x914mm eingestellt auf Benutzer.4 1500x914mm umstellen… Wie kann es sein, das ein und das selbe Script, im selben Plan, ein anderes Ergebnis erzeugt?! Jetzt ist das ja kein komplexes Script, einfach nur Plotter umstellen und Drucken. Vielleicht hatte sowas schonmal einer von euch oder hat vielleicht einen Tipp. MFG Manuel486
[Diese Nachricht wurde von Manuel486 am 16. Okt. 2020 editiert.] 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: 16. Okt. 2020 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel486
|
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020
|
erstellt am: 16. Okt. 2020 15:10 <-- editieren / zitieren --> Unities abgeben:
Was für Infos würden noch fehlen? Ich denke die wenigsten haben Adobe pdf und unsere Seiteneinrichtung. Von daher schwer nachzuvollziehen... Das Auswahl Problem wurde so gelöst das ich das Script an dem Betreffenden Arbeitsplatz so umgeschrieben habe das es durch läuft. Eine Zurücksetzung auf Werkseinstellungen von ACAD steht noch aus... 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: 16. Okt. 2020 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel486
|
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020
|
erstellt am: 16. Okt. 2020 15:41 <-- editieren / zitieren --> Unities abgeben:
Ich bin jetzt ein Stück weiter mit dem Fehler. Also... Er speichert, wo auch immer, das zuletzt genutzte Papierformat. Wenn ich von Hand einen Plan als PDF auslese auf 2500mm länge, dann macht er alle folgenden PDF Dateien die per Script ausgeführt werden 2500mm lang. Es hat also nichts mit einer Datei speziell zu tun. Genauso verhält es sich beim Plotten auf den Drucker. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020 Windows 10 Pro - 64-Bit - Lenovo Thinkstation P520 - Intel Xeon W-2255 CPU @ 3.70 GHz 10 Kerne - 3x32GB DDR4 RAM @ 2933 MHz - WD Blue SN570 SSD 1000GB - Samsung MZVLB512HAJQ-000L7 SSD 500GB - NVIDIA Quadro P2200 5GB - Elgato Stream Deck 15 Tasten - AutoCAD MEP 2019 - Revit 2018+2019+2020+2021+2022
|
erstellt am: 07. Jan. 2021 15:23 <-- editieren / zitieren --> Unities abgeben:
Frohes neues Jahr noch allen. Habe das Problem jetzt in den Griff bekommen. Bin auf die LISP "PlotAll.lsp" gestoßen. (siehe Anhang) Die geht hin und tauscht wirklich nur den Plotter und übernimmt sonst alle Einstellungen. Es gibt einen Befehl mit Menü (PLOTALL) oder über Befehlszeile (-PLOTALL) Bei der .lsp ist noch eine .dcl Datei dabei. (Vielleicht kann mich noch jemand kurz aufklären was .dcl bedeutet) Zitat:
Dialogue Control Language. Baut in / mit Lisp die Dialoge auf. Original von Acad, technisch schon etwas angestaubt. Siehe Lisp-Hilfe von Autocad. Das ist die Datei deren Inhalt das Dialogfenster definiert. https://en.wikipedia.org/wiki/Dialog_Control_Language
Die PlotAll..dcl soll muss in einen ACAD-Support Pfad gelegt werden.
Da bei uns die Scripte auf dem Server liegen, habe ich die PlotAll.dcl im PlotAll.lsp zugewiesen. Um nicht auf allen Pcs die Datei einspielen zu müssen.
Sieht dann so aus:
Code: ((not (findfile (setq dclfile "Z:/ABC/YXZ/Faust/LISP/PlotAll.dcl")))
Originalzeile ist so:
Code: ((not (findfile (setq dclfile "PlotAll.dcl")))
Einfach die Zeile im Script anpassen auf euren Pfad. Oder eben das Script so lassen und die PlotAll.dcl in den Support Pfad. ;) Hier das Script wie ich es verwende:
Code:
;Erstellt ein Logfile um die Ausführung des Befehls zu zählen / ; (setq des (open "Z:\\ABC\\XYZ\\Faust\\SCRIPT\\LOG-Files\\Adobe PDF RazFaz Auslesen.txt" "a"))(princ "1" des)(close des) ; ; ; ;Schaltet durch alle Layouts und führt Plotten aus, stellt auf den Plotter "Adobe PDF.pc3" und druckt / ; (load "Z:/ABC/XYZ/Faust/LISP/PlotAll.lsp") -PLOTALL Adobe PDF.pc3 Tab No 1 ; ; ; ;Schliesst die Zeichnung OHNE speichern / ; (progn(command "_.close")(while (/= 0 (getvar "CMDACTIVE"))(command "_Y")))
Kurz zur Erklärung: Am Anfang habe ich einen Counter angelegt, um einfach Spaßeshalber mal zu sehen, wie oft so ein Script genutzt wird. Da geht er hin und legt in dem angegeben Pfad eine .txt Datei an und speichert fortlaufend eine "1" in die Textdatei. Dann kommt der Plotten Befehl, in dem der Plotter, auf den umgestellt werden soll, angegeben wird. Habe noch nicht ganz verstanden worin der Unterschied zwischen Alpha, Numeric und Tab liegt... Zitat: Ausgabe sortiert nach alphabetischer Reihenfolge, sofern das Programm anhand der Namen sortieren kann Ausgabe sortiert nach nummerischer Reihenfolge, sofern das Programm anhand der Namen sortieren kann Ausgabe in Reihenfolge der angezeigten Layout-Register Positionen.
Wozu die Reverse Funktion nützlich sein soll erschließt sich mir auch nicht ganz. Zitat:
Je nachdem in was man mit dem Ploterzeugnis vorhat und je nach Layoutname, kann eschnell gewünscht sein die vorher festgelegte Sortierreihenfolge UMZUDREHEN. Manche Befehle bauen Listen gerne "Verkehrt" auf, also nicht 1-2-3. sondern 3-2-1. Das will man am Ende dann doch in "üblicher" Richtung haben. Umgekehrt will man manchmal "richtige" Listen "von hinten" abarbeiten (so wie Tabellenspalten mal auf-, dann absteigend sortieren). Und dann dreht man sie um und arbeitet sie "von vorne" ab.
Bei einer PDF macht nichts außer 1-fach einen Sinn, aber wenn man Sachen mehrfach auf einen Plotter senden möchte ist das sehr hilfreich. Zum Schluss Schließt er die Zeichnung ohne Speichern. Aber steht ja auch eigentlich alles im Script. Wünschne einen guten Start ins neue Jahr. LG Manuel486 [Diese Nachricht wurde von Manuel486 am 08. Jan. 2021 editiert.] 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: 07. Jan. 2021 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel486
Frohes Neues, >>Vielleicht kann mich noch jemand kurz aufklären was .dcl bedeutet Das ist die Datei deren Inhalt das Dialogfenster definiert. https://en.wikipedia.org/wiki/Dialog_Control_Language >>Die PlotAll..dcl soll in einen ACAD-Support Pfad gelegt werden. Dann würde auch der Originalcode funktionieren!?
>>Habe noch nicht ganz verstanden worin der Unterschied zwischen Alpha, Numeric und Tab liegt... Ausgabe sortiert nach alphabetischer Reihenfolge, sofern das Programm anhand der Namen sortieren kann Ausgabe sortiert nach nummerischer Reihenfolge, sofern das Programm anhand der Namen sortieren kann Ausgabe in Reihenfolge der angezeigten Layout-Register Positionen. >>Wozu die Reverse Funktion nützlich sein soll erschließt sich mir auch nicht ganz. Je nachdem in was man mit dem Ploterzeugnis vorhat und je nach Layoutname, kann eschnell gewünscht sein die vorher festgelegte Sortierreihenfolge UMZUDREHEN.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 07. Jan. 2021 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel486
DCL: Dialogue Control Language. Baut in / mit Lisp die Dialoge auf. Original von Acad, technisch schon etwas angestaubt. Siehe Lisp-Hilfe von Autocad. Reverse: Manche Befehle bauen Listen gerne "Verkehrt" auf, also nicht 1-2-3. sondern 3-2-1. Das will man am Ende dann doch in "üblicher" Richtung haben. Umgekehrt will man manchmal "richtige" Listen "von hinten" abarbeiten (so wie Tabellenspalten mal auf-, dann absteigend sortieren). Und dann dreht man sie um und arbeitet sie "von vorne" ab. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020
|
erstellt am: 07. Jan. 2021 16:11 <-- editieren / zitieren --> Unities abgeben:
Zitat: >>Die PlotAll..dcl soll in einen ACAD-Support Pfad gelegt werden. Dann würde auch der Originalcode funktionieren!?
Heißt das, so wie ich es gemacht habe ist es Mist?! Er lädt die .dcl Datei aber. Vorher kam eine Fehlermeldung. 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: 07. Jan. 2021 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel486
>>"Heißt das, so wie ich es gemacht habe ist es Mist?!" Nicht unbedingt, aber vorher war es ein allgemein funktionierendes Werkzeug und du hast jetzt ein Werkzeug daraus gemacht welches abhängig von der erreichbaren Laufwerkstruktur ist. EDIT: Bei mir würde es jetzt also nicht mehr funktionieren, da bei mir der Pfad nicht erreichbar ist. >>"Vorher kam eine Fehlermeldung." Wie gewissenhaft und oft hast du das getestet? Ich nehme an du hattest beim testen vielleicht doch einfach einen Tippfehler im ACAD-Supportpfad oder ähnliches, vielleicht war auch mal ne Sekunde das Netzlaufwerk nicht erreichbar. Befehl: (findfile "PlotAll.dcl") Kommt nil oder Pfad+Dateiname+Extension zutück? Bei der Rückfabe nil noch ein zweites Mal probiern und wenn es weiterhin nil als Antwort gibt: Dann unterstelle ich mal dass den Pfad "Z:/ABC/YXZ/Faust/LISP/" nicht als ACAD-Supportpfad im aktuellen Profil gibt. Erwarten würde ich wohl eher den Pfad "Z:/ABC/XYZ/Faust/LISP/" in dem wohl auch die LSP Datei liegt (alles laut deinen Angaben). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manuel486 Mitglied Technischer Zeichner Elektro
Beiträge: 194 Registriert: 31.01.2020
|
erstellt am: 08. Jan. 2021 07:57 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 08. Jan. 2021 08:07 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel486
Moin, du hast doch selbst geschrieben gehabt dass die DCL in einen Supportpfad gehört und wenn das zutrifft kann ACAD die Datei auch finden, ob Netzwerk oder nicht. >>"Was halt komisch ist, dass der Befehl PLOTALL ja läuft." Du hast im Script doch explizit angegeben wo die Datei zu suchen ist => (load "Z:/ABC/XYZ/Faust/LISP/PlotAll.lsp") also eher logisch als komisch. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |