| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| Traumwerkzeuge für die Traumfabrik , ein Anwenderbericht
|
Autor
|
Thema: Druckmenü (5883 mal gelesen)
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 07. Okt. 2015 13:15 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin ein wenig genervt von dem Druckmenü in Annotation. Hier kann ich natürlich Druckkonfigurationen eingeben (A4-A0) und das funzt ja auch gut. Was leider öfter passiert, man stellt Anzahl der Kopien / Einpassen oder ... ein und wählt dann erst die Druckkonfiguration an, sind die Einstellungen verloren. Dann freut sich in der Regel der Regenwald und zu dem entsprechenden Ausgleich auch noch eine gewisse Brauerei. Deshalb habe ich mir Button in die Oberfläche gelegt, siehe Bild1. Hiermit kann ich direkt in den meist vorkommenden Formaten drucken. Das Ganze ist aber auch Käse, weil ich Anzahl, Format und Einpassen nicht auswählen kann. Da ich zu 99% nur auf die Einstellung -> Format / Einpassen / Anzahl und Ausrichtung <- einfluss nehme, folgende Frage: Ist es möglich eine Menü, siehe Bild 2 zu erstellen? Oder gibt es ähnliches schon. Wenn ich den Befehl zum Drucken aufnehme sieht das doch garnicht so schwer aus, oder? Beispiel: A4 - Eingepasst - Quer - Anzahl 'set_pers_context "Toolbar-relative" am_plot_ex lot_style :a4 :scale_fit rientation_landscape :copies 2 lot' Habe schon selber versucht Lisp zu basteln, bin aber leider total gescheitert! (BIN HALT NUR ANWENDER) Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 12. Okt. 2015 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 12. Okt. 2015 13:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, Besten Danke für die Lisp!!! Ich babe die Lisp noch geändert, so dass Sie über die vordefenierten 'Plot Styles A0-A4' druckt, siehe Anhang Lisp. Habe leider noch folgende Probleme: - Die Automatik läuft nicht (liegt evtl. an meinen Änderungen). Allerdings benötige ich diese auch nicht unbedingt. Deshalb habe ich diese aus der Auswahl in der Lisp entfernt! - Ich wollte die Anzahl der zu druckenden Kopien auf 5 erhöhen. Hierzu habe ich in der Lisp einfach ' roposals (1 2 3)' in ' roposals (1 2 3 4 5)' geändert habe. Jetzt kann ich zwar bis zu 5 Auswählen, aber die Reihenfolge wird nicht mehr korrekt angezeigt. Hat jemand nee Idee was ich falsch gemacht habe? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 12. Okt. 2015 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Hi! Die Proposals hätten sich nach der ersten manuellen Eingabe selbst hinzugefügt Code: :auto-add-proposal t ersistent-proposals t
Du kannst diese 2 Zeilen auskommentieren wenn du das nicht wünscht, dann müsste auch die starre Auswahl von 1 bis 5 wieder funktionieren Zur Automatik: Lösch mal das ";" bei Code: ;;(display blatt)
raus und druck eine Seite über "Automatisch" dann müsste der Rahmenname im Ausgabefenster erscheinen so wie er bei euch genutzt wird. Ich vermute mal dieser lautet nicht A1 bzw DINA1 Heißen die Styles bei dir wirklich nur A0 usw? ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 12. Okt. 2015 14:47 <-- editieren / zitieren --> Unities abgeben:
Hallo, Du hast vollkommen recht, es liegt an den Rahmennamen, die heißen bei uns '.sfeld_rahmen_A4' usw.. Nach kleiner Anpassung läuft die Automatik dann auch tadellos. Auch das mit den Zahlen hat sich dank deiner Hilfe geklärt, auch hierfür Danke. Und was die Styles angeht, die heißen bei uns wirklich so A4-A0, siehe Bild. Anbei auch noch mal meinen Lisp-Text, falls noch ein ahnungsloser Anwender ähnliches basteln möchte, halt zum Nachvollziehen! Gruß Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 27. Nov. 2015 14:04 <-- editieren / zitieren --> Unities abgeben:
Hallo, das Tool läuft super!!! Allerdings gibt es da noch eine Kleigkeit. Bei Zeichungen die aus dem Drafting in Annotaion geladen werden, wird der Rahmen als Skizze geladen. Beispiel siehe Anhang 'format_A3' da fumktioniert die Abfrage nach dem Blatt logischerweise nicht. Also folgendes in der Lisp funzt natürlich nicht (when (or (string= blatt ".sfeld_rahmen_A1")(string= Skizze "format_A1")) Gibt es eine Abfrage nach Skizze/Teilename der hier eingebunden werden kann? Schon mal Danke! Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 18. Jan. 2016 08:13 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, noch immer läuft das Tool super, aber die Zeichnungen aus dem Drafting kann ich damit nicht drucken. Wäre es möglich als Quelle zum Drucken die 'Kasten' Auswahl hinzu zu fügen? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 16. Mrz. 2016 08:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bins nach mal mit einer Frage zum Drucktool. Anstelle vom drucken, wollte ich mir Pdf´s der Zeichung erstellen und direkt öffnen lassen! Teil der Lisp: (when (or(string= blatt "A0") (string= blatt "DINA0") (string= blatt ".sfeld_rahmen_A0")) (if (and (equal einpassen t) (string= ausr "quer")) (progn (am_plot_ex :Plot_style :pdf_a0 :output_drawing :destination "C:\\temp\\plot.pdf" :scale :fit :ORIENTATION :landscape :POSITION :CENTER :plot :yes (oli:sd-display-url "C:\\TEMP\\plot.pdf") ) Dies funzt bei kleine A4/A3 Zeichnungen auch gut. Bei größeren Zeichnungen, kann er dann auf einmal die Zeichnung nicht öffnen. Ich denke, dass sich das Erstellen und das Öffnen des Pdf-Files zeitlich überschneidet. Wenn dem so wäre brächte ich eine kleine Pause dazwischen. :yes :wait 1 ;(1Sekunden warten) (oli:sd-display-url "C:\\TEMP\\plot.pdf") Gibt es da was? Oder seht Ihr da ein anderes Problem? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 16. Mrz. 2016 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 16. Mrz. 2016 09:06 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für die schnelle Antwort. Leider habe ich damit kein Erfolg. Habe ich den Befehl so richtig eingebracht, anbei auch die gesamte LISP. :yes (sleep 1) (oli:sd-display-url "C:\\TEMP\\plot.pdf") Obwohl die Datei erzeugt ist, kommt diese Fehlermeldung des Adobe Reader: 'Beim Öffnen dieses Dokuments ist ein Fehler aufgetreten. Diese Datei kann nicht gefunden werden.' Was mache ich falsch? Gruß Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 16. Mrz. 2016 09:16 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Wird die Datei auch tatsächlich erstellt? Was passiert wenn du den Befehl Code: (oli:sd-display-url "C:\\TEMP\\plot.pdf")
nach dem Erstellen des PDFs über die Konsole ausführst? Erhöhe mal die Sleeptime noch ein wenig. ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 16. Mrz. 2016 09:29 <-- editieren / zitieren --> Unities abgeben:
|
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 16. Mrz. 2016 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 16. Mrz. 2016 09:54 <-- editieren / zitieren --> Unities abgeben:
File Plot.pdf gelöscht und dann gestartet (Sleep 15)! Es erscheint ein 'Nil' im Ausgabefenster! Anschließend den Code eingegeben: (oli:sd-display-url "C:\\TEMP\\plot.pdf") und der PDF-File wird geöffnet. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 16. Mrz. 2016 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Also ist der fehlerhafte URL Aufruf korrekt, weil die Datei zu diesem Zeitpunkt noch nicht existiert. Vermutlich pausiert der Sleep-Befehl auch das Erstellen des PDFs.... Was nicht gut ist, ist der Umstand, dass du den Aufruf in der "am_plot_ex" Aktion ausführst Ändere mal diesen Teil vom Code Code: (am_plot_ex :Plot_style :tongue:df_a0 :redface:utput_drawing :Destination "C:\\temp\\plot.pdf" :scale :fit :ORIENTATION :landscape :POSITION :CENTER :tongue:lot :yes (oli:sd-display-url "C:\\TEMP\\plot.pdf") )
auf Code: (am_plot_ex :Plot_style :tongue:df_a0 :redface:utput_drawing :Destination "C:\\temp\\plot.pdf" :scale :fit :ORIENTATION :landscape :POSITION :CENTER :tongue:lot :yes ) (sleep 5) (oli:sd-display-url "C:\\TEMP\\plot.pdf")
------------------ Viele Grüße Felix [Diese Nachricht wurde von lix b am 16. Mrz. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 16. Mrz. 2016 10:15 <-- editieren / zitieren --> Unities abgeben:
|
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 16. Mrz. 2016 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 17. Mrz. 2016 11:39 <-- editieren / zitieren --> Unities abgeben:
Und nochmal das Drucktool, die Aussrichtung des Blattes ist bei uns zu 99,9% 'A4'hoch' und A3-A0 'quer'. Eingeben kann ich im folgenden Code nur eines als ':initial-value'! (ausr :value-type :string :title (sd-multi-lang-string "orientation" :german "Ausrichtung") rompt-text (sd-multi-lang-string "Ausrichtung" :german "Blattausrichtung definieren") roposals ("hoch" "quer") :initial-value "quer" ) Gibt es eine Möglich: wenn Rahmen A4->'hoch' sonst 'quer' ähnl. der Erkennung im weiteren Code: (let () (rahmen-identifizieren) (when (or(string= blatt "A4") (string= blatt "DINA4") (string= blatt ".sfeld_rahmen_A4")) Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 17. Mrz. 2016 11:57 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Hi! Über die Option Rahmen "automatisch" holt sich Annotation das Format aus den Rahmeneigenschaften. Im LISP ist dann für jedes Format separat hinterlegt ob dieses Hoch oder Quer ausgerichtet ist. Also ursprünglich eh genauso wie bei euch A0 => quer A1 => quer A2 => quer A3 => quer A4 => hoch Solang diese Definition für dich zutrifft brauchst du also gar nichts ändern. ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 17. Mrz. 2016 12:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, ich habe im Drucktool doch die Auswahl Ausrichtung -> 'quer' und 'hoch', siehe Bild. Bei default 'quer' druckt das Tool dann auch bei A4 quer, wie angegeben. Da ich die Auswahl der Ausrichtung erhalten möchte, denke ich gerade nach bei Ausrichtung eine Auswahl 'Auto' hinzuzufügen. Ebend die Lisp erweitern, dann sollte das eigentlich funktionieren! Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 17. Mrz. 2016 12:59 <-- editieren / zitieren --> Unities abgeben:
|
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 17. Mrz. 2016 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Ok! Ich habe das damals für dich hinzugefügt weil ich es aus deinen Anforderungen herausgelesen hatte. Wenn du dir den Code ansiehst findest du bei jedem Format 4 Blöcke für die 4 Möglichkeiten Einpassen>>ja/nein Ausrichtung>>quer/hoch. Du kannst natürlich die Variable Ausrichtung löschen und die "IF" Abfrage in den jeweiligen Formatblöcken anpassen. ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 17. Mrz. 2016 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 18. Mrz. 2016 12:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, mir war garnicht bewußt, dass Du Dein Tool extra für mich geändert hattest! BestenDANK für deine Mühe! (schleim ) Wenn Du mir sagst, wie ich als Quelle zum drucken noch die Kastenfunktion in das Tool integrieren kann, dann wäre ich zu 100% glücklich mit dem Tool! Also nochmal Dank Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 21. Mrz. 2016 07:04 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Morgen! Aber gerne doch. Ohne dieses Forum hätte ich doch gar nicht erst mit den Anpassungen begonnen :smile: Ist nur fair auch anderen dabei zu helfen Wenn du die Kastenauswahl auch noch brauchst. Diese bekommst du direkt in der Definition wenn du Code: :output_drawing
durch Code: :output_box
ersetzt. Wenn es wahlweise sein soll müsstest du eine neue Variabel integrieren die diese Information dann je nachdem weiter gibt. Was du dann auch noch brauchen wirst, ist die Definition der Box über Code: :output_pick
und 2 Punkte im Annotationfenster. ------------------ Viele Grüße Felix [Diese Nachricht wurde von lix b am 21. Mrz. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 21. Mrz. 2016 09:59 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich hätte mir das so vorgestellt. Als zusätzliche Variable 'Kasten' bei Auswahl ' utput_Pick' Anschließend dies in der (if (and) Auswahl zu integieren' Scheitere aber schon kläglich bei der Auswahl der 2 Punkte im Annotation. Ich weiß ja nicht mal ob man das an dieser Stelle einbringen kann! Trotzdem mal so vom Gedanken der Code: (kasten :value-type :boolean :toggle-type :grouped-toggle :title (sd-multi-lang-string "Box" :german "Kasten") rompt-text (sd-multi-lang-string "Box" :german "Quelle der Zeichnung aus Kasten") :initial-value nil :after-input (progn(am_plot_ex utput_pick)) ) ..... (when (or(string= blatt "A4") (string= blatt "DINA4") (string= blatt ".sfeld_rahmen_A4")) (if (and (equal kasten t) (equal einpassen t) (string= ausr "Automatisch")) (progn (am_plot_ex :Plot_style df_a4 utput_box :destination "C:\\temp\\plot.pdf" :scale :fit :ORIENTATION ortrait :POSITION :CENTER lot :yes ) (oli:sd-display-url "C:\\TEMP\\plot.pdf"); open PDF ; end am_plot_ex ); end progn Schmunzel ist hier natürlich erlaubt! Naja bin halt kein Pogrammierer, aber vielleicht lerne ichs ja noch, so wie Du. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 22. Mrz. 2016 13:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, nachdem ich jetzt schon x Versuche unternommen habe die Funktion irgendwie einzubauen und mehr als kläglich gescheitert bin , kam mir die Idee an stelle dessen einen Hacken fürs erweitertes Menü einzufügen. Also wenn ich erweitertes Menü anhake, dann das standard Druckmenü dabei öffnen und die entsprechenden Einstellungen quasi bis zum Befehl 'plot' zu übernehmen. Leider reicht es hier nicht den Befehl'plot' zu entfernen, aber es müsste doch einfach sein, das Menü anzeigen zu lassen! Wäre eine gute Alternative zur Kastenauswahl! Zusätzlich habe ich noch eine Frage zu speichern der Pdf´s. Ist es möglich die Zeichnungsnummer im Pfad zu übernehmen? In etwa so -> :destination "C:\\temp\\(sd-am-inq-drawing-no).pdf"
und noch eine Frage könnte man ähnlich -> %userprofile%\Desktop auf den Desktop drucken? Nur mal zum Hintergrund, warum ich so auf die PDF´s herumreite. Wir haben ein eigenens Zeichnungsmanagment bei uns in der Firma. Dies verteilt die entsprechende Zeichnungen per PDF an die entsprechenden Kostenstellen. Somit drucke ich X PDF´s am Tag und darf hierbei immer die Zeichnungsnummer umschreiben und dann ins Zeichnungsmanagment überführen. Schön wäre ein Druck auf dem Desktop mit entsprechender Zeichnungsnummer! (Über den Desktop lässt sich natürlich streiten!) Gruß Michael [Diese Nachricht wurde von MiBr am 23. Mrz. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seele Mitglied Konstrukteur
Beiträge: 391 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: 01. Apr. 2016 11:32 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
So meine Lisp-Kenntnisse sind noch nicht die Besten, aber ich probier mal dir zu helfen, ... -> :destination "C:\\temp\\(sd-am-inq-drawing-no).pdf" würde vermutlich so aussehen, ... :destination (format nil "C:\\temp\\~a.pdf" (sd-am-inq-drawing-no)) Mit format nil kannst Du Dir den gewünschten STRING-Ausdruck zusammenbasteln. ~a im STRING bewirkt das er an diesem Platz den Wert aus der Variable einsetzt die hinter den Anführungszeichen steht. Setzt du öfters ~a~a ein so nimmt das erste ~a die erste Variable die dahintersteht, das zweite dann die zweite u.s.w. Den doppelten \\ brauchst du, weil das \ ein Sonderzeichen ist, welches in Anführungszeichen nicht erlaubt ist durch das zweite vorgestellte \ also \\ erreichst du das das darauf folgende Zeichen nach dem ersten \ ohne Interpretation von LISP übernommen wird. Das würde auch für andere Sonderzeichen wie z.B. " gelten auch hier müsste ein \ vorangeschrieben werden.
So da ich selbst LISP-Anfänger bin, bitte korrigiert mich, wenn ich was verbuchselt habe. Viel Spaß beim Testen
------------------ 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 |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 04. Apr. 2016 10:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Wolfgang, funzt super! Über (sd-sys-getenv "USERNAME") konnte ich dann sogar das Problem mit %USERPROFILE% erschlagen! :destination (Format nil "c:\\users\\~a\\desktop\\~a.pdf" (sd-sys-getenv "USERNAME") (sd-am-inq-drawing-no)) Überlege noch eine Auswahl des Zielordner einzubauen. Mal schauen aus welcher LISP ich das klau! Besten Dank Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 04. Apr. 2016 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Hi! Z.B. sowas? Code: (file :value-type :filename :fileType :pdf :IF-EXISTS :OVERWRITE :Prompt-text "Datei zum Speichern angeben" :title "Datei" :initialdirectory (sd-get-current-working-directory) )
------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 04. Apr. 2016 12:31 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich hatte mir vorgestellt vorgestellt, nur den Ordner anzuwählen, Zeichnungsnummer automatisch (sd-am-inq-drawing-no). Also so: Code: (file :value-type :directory :Prompt-text "Ordner zum Speichern angeben" :title "Ordner" :initial-value nil :initialdirectory (sd-get-current-working-directory) ) was ich überhaubt nicht hinbekomme, die Auswahl entsprechen im folgenden Code unterzubringen:
(if (and(equal einpassen nil) (string= ausr "Hoch")) (progn (am_plot_ex :Plot_style :pdf_a4 :output_drawing :destination (Format nil "\\~a\\~a.pdf" (file???) (sd-am-inq-drawing-no)) :scale :factor :value 1 :ORIENTATION :portrait :POSITION :CENTER :plot :yes ) Was muss bei DESTINATION hin? Gruß Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 04. Apr. 2016 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Code: (if (and(equal einpassen nil) (string= ausr "Hoch")) (progn (am_plot_ex :Plot_style :pdf_a4 :output_drawing :destination (format nil "~A\\~A.pdf" file (sd-am-inq-drawing-no)) :scale :factor :value 1 :ORIENTATION :portrait :POSITION :CENTER :plot :yes )
------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 04. Apr. 2016 14:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, hatte x Varianten probiert, die erschien mir wohl zu einfach! Danke! Noch eine Sache: Ich habe die Auswahl des Ordners mit folgendem Code vorgegeben: :initial-value (sd-get-current-working-directory) Wenn ich einen anderen Ordner wähle, funktioniert dies auch. Mein Wunsch wäre hier, das er diesen dann als 'current-working-directory' übernimmt. set file -> current-working-directory Geht das? Michael Ups hab es schon gefunden!
:initial-value (sd-get-current-working-directory) :after-input (sd-set-current-working-directory file) Besten dank Für Eure Hilfe!!!!! [Diese Nachricht wurde von MiBr am 04. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 13. Apr. 2016 13:10 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, ich hoffe ihr habt noch Lust auf meine Fragen! Ist es möglich ein Fenster auf gehen zu lassen, wenn der Rahmen nicht indentifiziert wurde? Ungefähr so :-) (If 'nicht'(and(string= blatt "A0") (string= blatt "A1") (string= blatt "A2") usw.) (Progn (display "Kein Blattformat gefunden"))) Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 13. Apr. 2016 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 13. Apr. 2016 20:00 <-- editieren / zitieren --> Unities abgeben:
|
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 14. Apr. 2016 06:54 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 14. Apr. 2016 09:45 <-- editieren / zitieren --> Unities abgeben:
So jetzt wäre es noch schön, wenn das Druckfenster nicht schließt wenn kein Blatt gefunden wurde! Kann man das hier intergrieren oder muss der Code an einer anderen Stelle in der Lisp liegen? Hier das Ende vom Code: ) ;end if );end when A4 ;PDF anzeigen (if (equal anzeigen t) (progn (oli:sd-display-url (Format nil "~a\\~a.pdf" file (sd-am-inq-drawing-no))); open PDF ); end Progn PDF anzeigen ); end if PDF anzeigen ;end PDF anzeigen (if (not(or(string= blatt "A4") (string= blatt "A3") (string= blatt "A2") (string= blatt "A1") (string= blatt "A0") (string= blatt "DINA4") (string= blatt "DINA3") (string= blatt "DINA2") (string= blatt "DINA1") (string= blatt "DINA0") (string= blatt ".sfeld_rahmen_A4") (string= blatt ".sfeld_rahmen_A3") (string= blatt ".sfeld_rahmen_A2") (string= blatt ".sfeld_rahmen_A1") (string= blatt ".sfeld_rahmen_A0") ); end or ); end not (display "Blattformat nicht gefunden, Bitte manuell auswÌhlen") ); end if ;end Fehlermeldung kein Blatt );end ok action ) ;; end dialog Gibt es ein lass das Fenster offen? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 14. Apr. 2016 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Wenn du die Abfrage erst nach Auslösen der ok-action platzierst kann der Dialog nicht stehen bleiben. Du kannst es z.B. nach der Initializierung des Dialogs ausführen...
Code: (sd-defdialog 'bfe-Plot :Dialog-title '(sd-multi-lang-string "PDF" :german "PDF erstellen") :after-initialization '(Kasten-definieren)
Code: :after-initialization '(progn (Kasten-definieren) (HIER DEINE PRÜFFUNKTION) );ende progn
------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 14. Apr. 2016 19:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, ich habe den Code mittlerweile an jede Stelle in der Lisp geschrieben. Bekomme es aber leider nicht hin. Falls Du noch Lust hast anbei mein Code. Ich kann mich nur noch mal bei dir bedanken. Vielleicht kann ich ja auch bald mal helfen -> Buch 'Land of Lisp' ist bestellt!!! Für alle die ein Tool zum automatischen erstellen von PDF suchen, nur die Plotstyles und Blattnamen in der Lisp anpassen und es läuft! Gruß Michael [Diese Nachricht wurde von MiBr am 14. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 15. Apr. 2016 07:07 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 15. Apr. 2016 09:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, fast wie gewünscht, das hat leider einen kleinen Hacken. Bei Blattformat trägt er jetzt die Blattgröße bzw. den Namen des Rahmens ein und dieser ist bei uns leider mit ".sfeld_rahmen_A0" benannt und das sieht bescheiden aus, siehe Anhang. Kann man die Anzeige Blattformat auf 'Automatisch' stellen (wie gehabt) oder wenn ".sfeld_rahmen_A0" dann trage "A0" in die Anzeige ein. Ist aber nur Kosmetik, man gewöhnt sich wahrscheinlich auch daran! Danke Michael [Diese Nachricht wurde von MiBr am 15. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 15. Apr. 2016 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 15. Apr. 2016 09:18 <-- editieren / zitieren --> Unities abgeben:
|
MiBr Mitglied Konstrukteur
Beiträge: 576 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: 14. Dez. 2017 09:16 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte das Drucktool etwas vereinfachen und hierzu eine local-function benutzen. Diese sieht so aus:
Code:
(do-plot (plot-style plot-scale plot-ori plot-copie) (am_plot_ex :Plot_style plot-style :scale plot-scale :ORIENTATION plot-ori :POSITION :CENTER :COPIES plot-copie :plot :output_sheet ) )
Leider habe ich ein Problem mit :scale, hier benötige ich einmal mehrere Eingaben: (setf plot-scale :fit) <- läuft (setf plot-scale :factor :value 1) <- läuft nicht Hat da jemand nee einfache Idee? Ich könnte ja auch zwei Funktionen machen, aber dass muss doch anders gehen! Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 14. Dez. 2017 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Zitat: Original erstellt von MiBr: ich möchte das Drucktool etwas vereinfachen und hierzu eine local-function benutzen. Diese sieht so aus:
Code: (do-plot (plot-style plot-scale plot-ori plot-copie) (am_plot_ex :Plot_style plot-style :scale plot-scale :ORIENTATION plot-ori :POSITION :CENTER :COPIES plot-copie :Plot :Output_sheet ))
Leider habe ich ein Problem mit :scale, hier benötige ich einmal mehrere Eingaben: (setf plot-scale :fit) <- läuft (setf plot-scale :factor :value 1) <- läuft nicht Hat da jemand nee einfache Idee? Ich könnte ja auch zwei Funktionen machen, aber dass muss doch anders gehen!
"läuft nicht" gibts nicht! Fehlermeldung?? ------------------------------------------------ Ich bin ja grad schier vom Hocker gefallen. - eine :OK-action die 570 (!!) Zeilen lang ist.
- 30 annaehernd identische Aufrufe von "(am_plot_ex..."
- 31 mal wird ein und derselbe Dateiname gebildet
Ja, das riecht nach noetiger Ueberarbeitung, gute Idee Michael! Code: (do-plot (style scale orientation copies)...
' scale is entweder ein :fit (also (keywordp scale) ist True) oder eine number (also (numberp scale) ist true. in der local function Code: ... :scale (if (keywordp scale) scale :factor) :value (if (numberp scale) scale 1) ;; function caller takes care ;; it is keyword or number only ...
Das es sich bei den Parametern um 'plot' Werte handelt ist bei dem Funktionsname offensichtlich: also kann man sich die Schreibweise der Parameter etwas vereinfachen. Das waere ein erster Schritt! (Datei SO dann einmal als variante beiseite legen, und erst dann den naechsten Schritt machen) _____________________________________ In einem 2. Schritt machst du aus der dialog variablen 'ausr' mal eine :range mit keywords als value (und einem deutsch/english Label). Hier 'proposals' zu verwenden ist keine gute Idee! Die keywords der range sind dann u.a. :Landscape :Portrait. Dann kannst du die ausr naemlich direkt an die do-plot bzw. am_plot_ex unveraendert durchschleusen, was dann einen Level der SECHS-fach verschachtelten if's entfernen sollte.
Es ist im Allgemeinen besser sich die Werte fuer den 'wichigen' Aufruf (hier am_plot_ex) zuerst 'schoen' zu formen, und zwar idealer weise in allgemeiner Weise. Dann gibt es einen 'wichtigen' Aufruf statt 30 (eventuell leicht) verschiedene. _____________________________________ In einem 3. Schritt machst Du am Anfang der OK-action ein
Code: (setq scale (if (equal einpassen :fit) :fit 1))
und kannst somit erneut einen 'if' level bei den 30 Varianten eliminiern, weil du scale dann einfach an die neue local function uebergibst. _____________________________________ Zu Deiner Eingangsfrage: AM_plot_ex hat nicht EINE variable Scale, sonder eine variable :scale und eine variable :value (die zugebenerweise besser :scale-value oder :scale-factor haette heissen sollen/koennen). _____________________________________ Du wolltest ja Ideen haben. Viel Spass beim ==>> Refactorn _____________________________________ Nach dem 5. oder 6. Schritt wirst du feststellen das die 30 Stellen des Aufrufs der lokalen funktion eigentlich nur 2 oder 4 unterschiedliche varianten sind. Und das ist gut so! Dann war die Ueberarbeitung prima. --------------------------------------- hier mal noch eine kurze Analyse, was wie haeufig benutzt wird:
Code: $ grep -i '(am_plot_ex' -A 8 AmPlotAuto-pdf.lsp | sort | uniq -c | tr '\011' ' ' 30 (am_plot_ex 30 :Destination (Format nil "~a\\~a.pdf" file (sd-am-inq-drawing-no)) 18 :ORIENTATION :landscape 12 :ORIENTATION :Portrait 30 :Output_drawing 30 :Plot 6 :Plot_style :Pdf_a0 6 :Plot_style :Pdf_a1 6 :Plot_style :Pdf_a2 6 :Plot_style :Pdf_a3 6 :Plot_style :Pdf_a4 30 :POSITION :CENTER 10 :scale :factor :value 1 20 :scale :fit 30 :yes
Dann bin ich ja mal gespannt auf AmPlotAuto-pdf.01.lsp, AmPlotAuto-pdf.02.lsp, AmPlotAuto-pdf.03.lsp ... [edit]der Beitrag war zu lang um auf Anhieb nur wenige Tippveeler zu haben[/edit] ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● [Diese Nachricht wurde von der_Wolfgang am 14. Dez. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 292 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 14. Dez. 2017 14:03 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Hallo! Nachdem ich den Bandwurm in der ok-action, der dir fast einen Krankenhausaufenthalt eingebracht hat, verbrochen habe, muss ich zu meiner Verteidigung sagen, dass der Code noch aus der Zeit stammt, wo ich von LISP noch nicht viel mehr wusste als das es LISP gibt Das kleine Tool ist quasi nur Code den der Recorder ausgespuckt hat an den richtigen Stellen zusammengefügt. Aber es freut mich wenn da wieder frischer Wind rein kommt, weil dann kann man auch wieder viel von den großen LISPlern lernen. ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 14. Dez. 2017 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
schnipsel: Code: (when (find blatt '("A0" "DINA0" ".sfeld_rahmen_A0") :test #'string=) (setq plot-style :PDF_a0))
dito fuer A1/2/3/4. Ansonsten unterscheiden sich A0/1/2/3 gar nicht. Lediglich A4 setzt :Portrait fuer den plot, wenn :standard im UI gewaehlt ist, die anderen vier nehmen :Landscape. also: Code: (when (eql ausr :standard) ; overwrite the value now! (if (eql plot-style :PDF_a4) (setq ausr :Portrait) (setq ausr :Landscape) ))
Damit waeren alle 'dinge' in 'geschoenten' (s.o.) Variablen schon vorhanden und die local function hat nur noch einen einzigen Aufruf. Letzeres kann man auch als Code: (when (eql ausr :standard) ; overwrite the value now! (setq ausr (if (eql plot-style :PDF_a4) :Portrait :Landscape)) )
schreiben. Aber das moegt ihr nicht so..
------------------ ● 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: 576 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: 15. Dez. 2017 11:17 <-- editieren / zitieren --> Unities abgeben:
So, ich habs mal mit Refactoring versucht um frischen Wind ins Tool zu bekommen! Leider bekomme ich das mit :SCALE nicht hin, zudem habe ich auch noch verschwiegen, dass ich mit :OUTPUT_SHEET das gleiche Problem habe. Aber da Scale und Output nur 4 Bedingungen bzw. am_plot_ex ergeben, sieht das garnicht mehr so schlimm aus. Für weitere Tipps wäre ich sehr DANKBAR!!! Und wo ich gerade dabei bin, also Tipps! Kann man die zwei Punkte für den :Output_pick auch wie im Annotool mittels Rahmen auswählen? Danke nochmal Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 15. Dez. 2017 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Zitat: Original erstellt von MiBr: So, ich habs mal mit Refactoring versucht um frischen Wind ins Tool zu bekommen!
schoen. und DA haettest Du erstmal aufhoeren sollen und nur den vorhanden Code umbauen, NUR umbauen, bis er wieder so funktioniert wie vorher (also April 2016). Hast du aber nicht :( du hast gleichzeitg zum "Umbauen" auch noch 2 Dicke Aenderungen (versucht) einzubauen. DAS macht es sehr unuebersichtlich und ich denke Du verwirssst Dich damit eben auch selbst.
1) Umbauen, dann hast Du eine Version die funktioniert wie die vom 15April2016, die aber statt 564 zeilen nur (geschaetze) 130 Zeilen lang ist. dann, wenn 1) wieder funktioniert 2) mit der 130 Zeilen langen Version die "BOX" einbauen, dann, wenn 2) wirklich funktioniert 3) diese A3 Zusatzblatt einbauen (und zwar mit dem Aufruf einer extra lokalen Funktion, die sich nur um ZuA3 kuemmert und nicht einer erneuten Verlaengerung der ok-action. :( ) 3a) in der ok-action baut man keinen check ("Soll der Druck eingepasst werden?") ein. Schlecht. Dafuer gibt es die :Ok-action-precondition Zitat: der_Wolfgang schrieb: Dann bin ich ja mal gespannt auf AmPlotAuto-pdf.01.lsp, AmPlotAuto-pdf.02.lsp, AmPlotAuto-pdf.03.lsp ...
Zitat: Original erstellt von MiBr: Kann man die zwei Punkte für den :Output_pick auch wie im Annotool mittels Rahmen auswählen?
ja, aber das kommt halt spaeter dran. __________________________________
Du hast auch noch funktional im after-initalisation geandert. ---------------- code schnipsel: statt: Code: (or (string= blatt ".sfeld_rahmen_A4") (string= blatt ".sfeld_rahmen_A3") (string= blatt ".sfeld_rahmen_A2") (string= blatt ".sfeld_rahmen_A1") (string= blatt ".sfeld_rahmen_A0"))
einfacher Code: (find blatt '(".sfeld_rahmen_A0" ".sfeld_rahmen_A1" ".sfeld_rahmen_A2" ".sfeld_rahmen_A3" ".sfeld_rahmen_A4") :test #'string=)
liest sich: finde den Wert von der Variablen blatt in der folgenden liste und stelle die Gleichheit mit der test Funktion string= fest. Da braucht man nicht X-mal ein string= auszukodieren und wenn ein Rahmentyp dazu kommt ist es ein 'Klacks' ------------------ ● 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 |