| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| Schweizer Premium-Anbieter von Flugzeuginnenausstattungen "fliegt" auf Modelsearch , ein Anwenderbericht
|
Autor
|
Thema: Wie kann ich den Filebrowser per Lisp erscheinen lassen? (1610 mal gelesen)
|
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 02. Feb. 2012 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe gerade ein Lisp vor mir und stehe auf dem Schlauch. Das Programm sieht im Bereich der Variablendeklaration so aus: Code: (verz :value-type :string :Prompt-text "Verzeichnis zum Speichern angeben" :title "Verzeichnis" :initial-value NIL ;(sd-get-current-working-directory) :check-function #'(lambda (dir) (if (sd-directory-p (format nil "~a//" dir)) :Ok (values :error "Dieses Verzeichnis existiert nicht!"))) )
Ich möchte erreichen, dass beim Klick auf das Feld "Verzeichnis" der Dateibrowser "aufpoppt", so wie das auch der Fall ist, wenn ich die Variable als "filename" deklariere (möchte ich hier aber nicht). Ist das möglich? Vielen Dank im Voraus für Eure Hilfe. Gruß, Michael ------------------ Avis matutina vermem capit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PeterO Mitglied Admin
Beiträge: 101 Registriert: 14.01.2003 Windows XP Modeling 15.50A Drafting 15.50A UI3 ModelManager 15.50A
|
erstellt am: 02. Feb. 2012 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, hier ein Beispiel aus der Doku (sd-defdialog 'filename_demo :dialog-title "Filename" :variables '((PARTS :value-type art :modifies NIL :multiple-items t) (FILE :value-type :filename :title "Save File" :initialdirectory "/tmp" :fileType :lisp)) k-action (progn
------------------ Gruß, Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
Beiträge: 659 Registriert: 20.11.2006
|
erstellt am: 02. Feb. 2012 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Du bastelst am multiplestep.lsp? Ein Verzeichnis-Auswahldialog gibt's meines Wissens nicht (steht nix in der Doku). Behelfen könnte man sich über einen File-Dialog, wo man eine Dummydatei "wählt" und daraus dann der Pfad extrahiert wird. Ich habe das Problem isoliert und hier dargestellt, wie man es lösen könnte. Code: (sd-defdialog 'cust-choose-directory-sa :Dialog-title "Verzeichnis wählen" :toolbox-button nil :Dialog-type :subaction :embedded-ui t :initial-variable 'DUMMYFILE :variables '( (DIR :initial-enable nil) (DUMMYFILE :value-type :filename :title "Verzeichnis zum Speichern anwählen" :initialdirectory (sd-get-current-working-directory) :initial-value '("Hier speichern" nil) :next-variable (let () (setf DIR (directory-namestring (first DUMMYFILE))) (sd-accept-dialog) ) ) ) :Ok-action '(list DIR) )(sd-defdialog 'dc4-speichere-teile-step-dialog :Dialog-title "STEP speichern" ;;:Dialog-control :sequential :variables '( (DIR_SA :Push-action (progn) :title "Verzeichnis wählen" :subaction-name cust-choose-directory-sa :Default (list nil) :after-input (setq verz (first DIR_SA)) :next-variable 'verz ) (verz :value-type :string :Prompt-text "Verzeichnis zum Speichern angeben" :title "Verzeichnis" :initial-value nil :check-function #'(lambda (dir) (if (sd-directory-p (format nil "~a//" dir)) :Ok (values :error "Dieses Verzeichnis existiert nicht!"))) ) ) ...
------------------ Grüße aus Sachsen pw Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000 System: DELL Precision 5770, 32GB RAM nVidia RTX A2000 Win10 Enterprise 64bit SOLIDWORKS 2022 Premium SP5.0 Creo Elements/Direct Modeling (x64) 19.0 M030
|
erstellt am: 02. Feb. 2012 14:14 <-- editieren / zitieren --> Unities abgeben:
Hallo, @ Peter: Vielen Dank für die Antwort, aber dieses Vorgehen wäre wahrscheinlich das, was ich gemeint hatte (value-type :filename) und vermeiden wollte. @Patrick: Danke für deine Mühe. Ja ich hatte hier http://ww3.cad.de/foren/ubb/Forum29/HTML/003972.shtml gelesen, dass Eugen gerne einen Speicherpfad angeben möchte. Prinzipiell kann man das ja in diesen Makro auch, aber leider nicht über einen Dateibrowser, sonder nur "zu Fuß". Leider ging es nicht auf die Schnelle so einfach wie ich gedacht hatte. Dafür ist mein Lisp auch zu mager... Hast du mal probiert, ob das im Ganzen funktioniert? Gruß, Michael ------------------ Avis matutina vermem capit [Diese Nachricht wurde von MC am 02. Feb. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
Beiträge: 659 Registriert: 20.11.2006
|
erstellt am: 02. Feb. 2012 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Du musst einfach nur die Variablen ergänzen/anpassen und den cust-choose-directory-sa vor dc4-speichere-teile-step-dialog packen. Sollte ohne Probleme funktionieren. Wenn nicht, schau ich mir das morgen mal an. ------------------ Grüße aus Sachsen pw Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |