| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| Effektives Anforderungsmanagement und agile Entwicklung, eine Pressemitteilung
|
Autor
|
Thema: Bdl und pdf mit Makro erstellen (1701 / mal gelesen)
|
stefan451 Mitglied
Beiträge: 51 Registriert: 24.11.2017 PTC Creo Modeling/Annotation 19.0 PTC Creo 5.0 Catia V5R19
|
erstellt am: 23. Sep. 2020 13:14 <-- editieren / zitieren --> Unities abgeben:
Hallo, gibt es ein Makro dass ein bdl und pdf auf einmal erstellt? Am besten noch in denselben Ordner von wo man das bdl reingeladen hat (also dass man nicht extra wieder den Ordnerpfad beim Speichern angeben muss) . Ich bedanke mich im Voraus Beste Grüße Stefan
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seele Mitglied Konstrukteur
Beiträge: 389 Registriert: 11.06.2003 Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM NVidia Quadro RTX A4000 Win10-64Bit Elements/Direct v20.7.0.0 PartLibrary, Surfacing, 3D-PDF, 3D-Access, Unigraphics-Schnittstelle
|
erstellt am: 23. Sep. 2020 15:53 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Hallo Stefan, ... 1. Wie soll deine BDL aussehen? Alle 2D-Zeichnungen und 3D-Daten zusammen, die geladen sind? 2. PDF Zeichnung, ist das eine einzelne Zeichnung oder willst du z.B. 10 PDF Zeichnungen mit einem Rutsch raus schreiben? Einzelne Makro´s zu deinem Problem gibt es schon, man muss die halt noch in einem LISP kombinieren. Und wenn automatisch mehrere Zeichnungen und Bundle raus sollen, wie setzten sich deine Dateinamen dann zusammen, damit sie auch automatisch generiert werden können? Deine Frage war recht allgemein, da musst Du Dir vorher ein paar mehr Gedanken machen, wo du mit dem LISP-Makro mal hin willst und wie es funktionieren soll. Gruß Wolfgang
------------------ alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. Werden wir es schaffen? Ja wir schaffen das !!! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 23. Sep. 2020 20:16 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
|
stefan451 Mitglied
Beiträge: 51 Registriert: 24.11.2017 PTC Creo Modeling/Annotation 19.0 PTC Creo 5.0 Catia V5R19
|
erstellt am: 25. Sep. 2020 10:11 <-- editieren / zitieren --> Unities abgeben:
Hallo, den Recorder kenne ich schon. Ich habe mir auch schon ein Makro erstellt, dass mir ein „BDL“ speichert und eine Makro dass mir ein pdf der Zeichnung (mit allen Blättern in einem pdf) speichert. Jetzt möchte ich aber diese 2 Makros verbinden. Das Bdl-File und das pdf-Files sollten dann immer gleichzeitig im selben Ordner gespeichert werden. Der Name des Bündels-files und des pdf-files sollten immer dem „Zeichnungsnamen“ entsprechen. Und wenn möglich sollte ich den Ordnerpfad nicht immer eingeben müssen, sondern es sollte automatisch in dem zuletzt geöffneten Ordner gespeichert werden. Oder wenn ich ein bestehendes Bündel lade, dann sollte immer in dem Ordner gespeichert werden von dem ich das Bündel geladen habe. Ist sowas möglich? Das wären die Makros die ich aufgezeichnet habe (hier muss ich aber noch manuell den Ordnerpfad eingeben): Bdl Makro (alle 2D und 3D Daten speichern): set_pers_context "Toolbar-relative" cancel_all (SET-RECORD-STATUS :SUSPEND) (SET-RECORD-STATUS :SUSPEND) cancel am_save_sheet_dxf :sheet (GET-FILE-MANAGER-OBJECTS) (FB-SET-TEMP-FILING-REVISION "19.0") (SET-RECORD-STATUS :SUSPEND) cancel am_save_bundle :tongue:artassy (GET-FILE-MANAGER-OBJECTS) (FB-SET-TEMP-FILING-REVISION "19.0") :file_language :default Pdf Makro um alle Blätter in 1 pdf-File zu speichern: set_pers_context "Toolbar-relative" am_plot_ex :tongue:lotter_type_ra :tongue:df :tongue:aper_format_ra "A3 ( 420 mm x 297 mm )" :redface:rientation_portrait :redface:rientation_landscape :destination_browse
Wie müsste das Makro dafür aussehen?
Vielen Dank für eure Tipps, Gruß Stefan [Diese Nachricht wurde von stefan451 am 25. Sep. 2020 editiert.] [Diese Nachricht wurde von stefan451 am 25. Sep. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 25. Sep. 2020 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Hallo, ich habe die mal einen Dialog geschrieben! Die Zeile 37 (am_plot_ex :Plot_style XXXXX musst Du anpassen. Ansonsten probier mal aus ob das Tool macht was du dir vorgestellt hast! Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 25. Sep. 2020 18:01 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Zitat: Original erstellt von MiBr: ich habe die mal einen Dialog geschrieben!
Prima! Frage: warum machst Du nicht eine normale :check-function statt dem haesslichen sd-display-warning? Hinter :Partassy müssten die Drawing Owners hin. Ich denke nicht das das mit (uib:get-file-manager-objects)(frame2-ui::fb-set-temp-filing-revision "19.0") so funktioniert. Das kommt beim recordern von der Interactivität. Beim Programmatischen Aufruf wird das so IMHO nicht funktionieren. @Michael, weist du noch was sd-call-cmds ist und wofür? Was passiert denn bei einer 'roten Zeichnung'? Aber schon mal ein gutes Gerüst!
------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 28. Sep. 2020 07:01 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Hallo Wolfgang, Zitat: Frage: warum machst Du nicht eine normale :check-function statt dem haesslichen sd-display-warning?
Ehrlich gesagt weis ich nicht mal mehr woher den den Lispschnipsel her habe, funktioniert aber und ich verstehe den Code so!!
Zitat: Hinter :Partassy müssten die Drawing Owners hin. Ich denke ...
Habe bei den Tests keine Probleme bekommen.
Zitat: @Michael, weist du noch was sd-call-cmds ist und wofür?
Nee, kleine Nachschulung wäre sicherlich Hilfreich!
Zitat: Was passiert denn bei einer 'roten Zeichnung'?
Fehlermeldungen: Es wurden nicht alle Eingeben ...
Zitat: Aber schon mal ein gutes Gerüst!
Danke, genau das war meine Absicht. Mir ist nähmich immer noch nicht klar was Stefan genau möchte und da wollte ich ihn erstmal testen lassen. Bei gefallen können wir ja noch weiter daran optimieren! Gruß Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefan451 Mitglied
Beiträge: 51 Registriert: 24.11.2017 PTC Creo Modeling/Annotation 19.0 PTC Creo 5.0 Catia V5R19
|
erstellt am: 28. Sep. 2020 12:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, dein Programm funktioniert sehr gut, habs gerade getestet, vielen Dank erstmal. 1 Kleinigkeit hakt jedoch noch: Wenn ich über ein bestehendes pdf und bdl drüberspeichern möchte kommt immer diese Meldung (siehe Screenshot). Wenn ich hier auf "OK" drücke kommt die Meldung jedoch immer wieder, quasi eine Endlosschleife. Das "PDF" file wird ganz normal überschrieben so wie es sein soll. Nur am Bündel-File ist diese Endlosschleife und das bdl-file wird auch nicht überschrieben. Weißt du woran das liegen könnte? Gruß Stefan
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 28. Sep. 2020 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Hallo Stefan, Zitat: dein Programm funktioniert sehr gut, habs gerade getestet, vielen Dank erstmal. 1 Kleinigkeit hakt jedoch noch:
Kein Problem mir wurde hier schon bei ganz anderen Dingen geholfen!!! Zu der Kleinigkeit finde leider keinen Befehl bei (am_save_bundle ()) zum überschreiben. Was funzt ist folgender Code vor dem Befehl, aber da schlägt Der_Wolfgang gleich die Hände über den Kopf zusammen und schüttelt diesen dabei. (Löscht falls vorhanden den File)
Code: (when (sd-inq-file-status (Format nil "~a\\~a.bdl" file (sd-am-inq-drawing-no)) :existence) (delete-file (Format nil "~a\\~a.bdl" file (sd-am-inq-drawing-no))) )
@Wolfgang anscheint kann ich bei dem Befehl am_save_bundle das :Partassy fehlen lassen. Bei (uib:get-file-manager-objects)(frame2-ui::fb-set-temp-filing-revision "19.0") kommt nur NIL zurück. Bin jetzt auf Wolfgangs Ergänzungen gespannt, der hat bestimmt noch weiterführende Tipps! Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 29. Sep. 2020 18:58 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Zitat: Original erstellt von MiBr: Zu der Kleinigkeit finde leider keinen Befehl bei (am_save_bundle ()) zum überschreiben.
Das ist der generische File Save Over Write mechanismus: Code: (am_save_bundle :FNAME filename :OVERWRITE)
In der Tat ohne :PARTASSY sucht sich save bdl die Drawing Owner halt selber raus. Das hatte ich verdrängt. Aber ich würde den ganzen anderen Schlonz vom am_save_bundle weg lassen. Zitat: Was funzt ist folgender Code vor dem Befehl, aber da schlägt Der_Wolfgang gleich die Hände über den Kopf zusammen und schüttelt diesen dabei. (Löscht falls vorhanden den File)
Code: (when (sd-inq-file-status (Format nil "~a\\~a.bdl" file (sd-am-inq-drawing-no)) :existence) (delete-file (Format nil "~a\\~a.bdl" file (sd-am-inq-drawing-no))) )
Ja so ginge es auch. Ich würde latürnich ein LET spendieren und die absolute Pfadangabe nicht 3++ mal zusammen bauen. Code: (let ((bdl-fname (format nil "~a\\~a.bdl" file (sd-am-inq-drawing-no)))) (when (probe-file bdl-fname) (delete-file bdl-fname)) (sd-call-cmds (am_save_bundle :FNAME bdl-fname)) )
oder statt dem LET eine lokale dialog variable, die dann im after-input von dem Verzeichnis gesetzt wird, und die dann auch schon im Vorgeplänkel der ok-action verwendet werden kann. Aber da sind die Gerüstbauer schon lang wieder weg -- Wobei file ja eigentlich dir ist. Warum probe-file und nicht sd-inq-file-status? Weil ich mich bei :existance so gerne verschreibe. Bin halt auch nur ein Mensch. Und weil es kürzer ist.
------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 01. Okt. 2020 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Hallo, Code: Das ist der generische File Save Over Write mechanismus:
:OVERWRITE Funktioniert bei meinen Tests leider nicht!!! Anstelle von Let habe ich zwei Variablen hinzugefügt: bdl-fname / pdf-fname Zitat: Warum probe-file und nicht sd-inq-file-status? ...
Nehme lieber sd-inq-file-status, da im Intergration-kit dokumentiert! Variable file in dir umbenannt !!! ;) Gerüst steht noch! Jetzt ist nur noch dass Problem mit der roten Zeichnung da, oder? Und da fehlt mir noch das richtige Element! Stefan, Bitte Test mal!!! Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
molto Mitglied Rentner
Beiträge: 242 Registriert: 11.02.2009 Creo Elements Direct Modeling Express 8.0
|
erstellt am: 02. Okt. 2020 19:30 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
|
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 02. Okt. 2020 21:59 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
|
molto Mitglied Rentner
Beiträge: 242 Registriert: 11.02.2009 Creo Elements Direct Modeling Express 8.0
|
erstellt am: 02. Okt. 2020 22:21 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
|
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 02. Okt. 2020 22:33 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
|
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 02. Okt. 2020 23:23 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
|
molto Mitglied Rentner
Beiträge: 242 Registriert: 11.02.2009 Creo Elements Direct Modeling Express 8.0
|
erstellt am: 03. Okt. 2020 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für stefan451
Hallo, danke für euere Bemühungen. Hat beides nicht bei mir funktioniert u. ich gebe auf. Ihr habt mich dabei auf eine Lösung gebracht wie ich meine Zeichnungen als PDF bekomme. ( Hirn eingeschaltet) Sorry mache alles in „learning by doing“. ------------------ Gerd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |