| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Wie kann ich den Filebrowser per Lisp erscheinen lassen? (1601 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: 657 Registriert: 20.11.2006 Win7 Pro SP1 64Bit HP Z230, Core i5, 8GB RAM, nv Quadro K600 Creo Elements/Direct 19.0 M010 ModelManager 19.0 M010 clisp,VB.net,VBA,AHK,php,javascript
|
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
|
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: 657 Registriert: 20.11.2006 Win7 Pro SP1 64Bit HP Z230, Core i5, 8GB RAM, nv Quadro K600 Creo Elements/Direct 19.0 M010 ModelManager 19.0 M010 clisp,VB.net,VBA,AHK,php,javascript
|
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 |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|