| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | Altair ernennt MAIT zum Channel Partner für DACH, Benelux und Liechtenstein, eine Pressemitteilung
|
Autor
|
Thema: Aktion bei expand-shrink einbauen (591 mal gelesen)
|
holt Mitglied Systembetreuer CAD
  
 Beiträge: 720 Registriert: 07.08.2003 Lenovo ThinkStation P360 Core i7-12700@2.10 GHz, 32GB NVIDIA RTX A2000 12 GB Creo Elements/Direct Modeling 20.5 Creo Elements/Direct Drafting 20.5 Creo Elements/Direct ModelManager 20.5
|
erstellt am: 13. Nov. 2008 12:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe lange gesucht, aber nichts gefunden. Gibt es eine Möglichkeit, bei Betätigung eines expand-shrink Feldes (in einem eigenen Dialog) LISP-Code aufzurufen? ------------------ Gruß aus dem Salzkammergut Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 Registriert: 12.12.2000
|
erstellt am: 13. Nov. 2008 17:08 <-- editieren / zitieren --> Unities abgeben:          Nur für holt
|
der_Wolfgang Moderator Tastenhauer
     
 Beiträge: 2296 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.5737 ● Drafting V17~V20.7@job ● Modeling V17~V20.7@job ● Windchill 12.1.2.6@job ● UWGM Client 13.0.0.1@job ● Taschenrechner ● Stift+Zettel V8.42
|
erstellt am: 13. Nov. 2008 22:39 <-- editieren / zitieren --> Unities abgeben:          Nur für holt
|
holt Mitglied Systembetreuer CAD
  
 Beiträge: 720 Registriert: 07.08.2003 Lenovo ThinkStation P360 Core i7-12700@2.10 GHz, 32GB NVIDIA RTX A2000 12 GB Creo Elements/Direct Modeling 20.5 Creo Elements/Direct Drafting 20.5 Creo Elements/Direct ModelManager 20.5
|
erstellt am: 14. Nov. 2008 07:59 <-- editieren / zitieren --> Unities abgeben:         
Funktioniert! Danke euch beiden! Jetzt weiß ich auch, was ich falsch gemacht habe: Ich habe eine :Push-action definiert (was ja auch funktioniert wie ich gerade festgestellt habe), habe diese aber gequotet! Quote weg und es funktioniert! Damit hatte ich schon äfters ein Problem. In der IKit-Doku steht immer LISP-form, es geht daraus aber nicht hervor, ob der Code dahinter gequotet werden muss oder nicht. z.B.: :after-initialization {LISP-form [nil]} :Ok-action {LISP-form [nil]} :after-input LISP-form ;default=nil :Push-action LISP-form ;default=nil Die geschwungenen Klammern können das doch auch nicht aussagen, oder? ------------------ Gruß aus dem Salzkammergut Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
     
 Beiträge: 2296 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.5737 ● Drafting V17~V20.7@job ● Modeling V17~V20.7@job ● Windchill 12.1.2.6@job ● UWGM Client 13.0.0.1@job ● Taschenrechner ● Stift+Zettel V8.42
|
erstellt am: 14. Nov. 2008 20:48 <-- editieren / zitieren --> Unities abgeben:          Nur für holt
Zitat: Original erstellt von holt: Jetzt weiß ich auch, was ich falsch gemacht habe:...... habe diese aber gequotet! .... Damit hatte ich schon äfters ein Problem. In der IKit-Doku steht immer [i]LISP-form, es geht daraus aber nicht hervor, ob der Code dahinter gequotet werden muss oder nicht.Die geschwungenen Klammern können das doch auch nicht aussagen, oder?[/i]
Nein, die geschwungen / geschweiften Klammer stehen ja z.b. auch .... ------------------- Im Prinzip muss mal alles quoten was hinter sd-defdialog auf 'oberster' Ebene kommt, wenn es denn eine LISP-form ist. --> kapitel "3.1 SD-DEFDIALOG [macro]" die dann folgende latte von Parametern wird immer gequoted, wenn es eine LISP-form ist (gegenbeispiel: konstanter string, oder ne Nummer oder nen :Keyword)
Code: Description: Defines a dialog.Parameters: ....... :top-level-keyword '(quoted lisp ausdruck...) ....... Return Value (of sd-defdialog):
Bei :variables z.B. kommt dann meist eine dicke fette lange liste, die **einmal** direkt hinter dem keyword gequoted wird.Beispiel (mit dialog title)
Code: (sd-defdialog 'test_dia :Dialog-title "Mein Dialog")
nicht gequoted, weil konstanter string
Code: (sd-defdialog 'test_dia :Dialog-title '(sd-multi-lang-string "my dialog" :german "Mein Dialog"))
gequoted, weil der ausdruck als ganzes genommen werden soll und erst zur laufzeit (also wenn man den dialog aufruft) ausgewertet werden soll)
Code: (sd-defdialog 'test_dia :Dialog-title '(format nil "my dialog at ~A" (get-current-time)))
gequoted, weil der ausdruck als ganzes genommen werden soll und erst zur laufzeit (also wenn man den dialog aufruft) ausgewertet werden soll) -->> wenn ich ihn JETZT aufrufe -> "my dialog at 20:32" -->> wenn ich ihn in einer Stunde aufrufe -> "my dialog at 21:33"FALSCHER CODE:
Code: (sd-defdialog 'test_dia :Dialog-title (format nil "my dialog at ~A" (get-current-time)))
NICHT gequoted, nun haben wird den Salat! :( wenn ich diese lisp-datei vor 2 Stunden geladen habe würde mir folgender dialog generiert worden seinCode: (sd-defdialog 'test_dia :Dialog-title "my dialog at 18:22")
wenn ich den JETZT aufrufe würde mir diese 'uhrzeit' angezeigt werden.. und das ist eben falsch (rspe. ungewollt)Man unterscheidet zwischen Evaluierung (also Ausführung des codes) * zur Compile-Zeit (bzw. bei interpretierten LISP files, zur Lade-Zeit) * zur Lauf-Zeit, also dem Aufruf (des Dialogs) Im obigen Beispiel koennte man zb. (trace oli:sd-multi-lang-string) nutzen und in der Konsole beobachten was beim Laden des Lisp codes und beim Aufrufen des dialogs passiert, jeweils mit/ohne dem quote. selbiges geht noch besser bei (trace get-current-time) ------------------------------------------------------------- Ich habe jetzt mal ganz bewusst auf die backquote-comma Notation verzichtet, weil sie bei den meisten Mitlesern wohl eher unbekannt ist. Gemeint ist:[code]`(2 3 4 ,(random 5))[code] ------------------------------------------------------------- Thomas, Deine push-action ist tief innerhalb der bereits gequoteten variables Liste. Deswegen braucht man dort den quote nicht, bzw. das führt zu unerwarteten (und ungewollten) Resultaten. Wer kann mir noch folgen?  ------------------ ● Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
holt Mitglied Systembetreuer CAD
  
 Beiträge: 720 Registriert: 07.08.2003 Lenovo ThinkStation P360 Core i7-12700@2.10 GHz, 32GB NVIDIA RTX A2000 12 GB Creo Elements/Direct Modeling 20.5 Creo Elements/Direct Drafting 20.5 Creo Elements/Direct ModelManager 20.5
|
erstellt am: 16. Nov. 2008 11:25 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von der_Wolfgang: Wer kann mir noch folgen?
Naja, ich glaube man muss das ganze ein wenig sickern lassen, als Lesezeichen ablegen und in passenden Momenten nochmals lesen, dann wirds schon werden. Vielen Dank! ------------------ Gruß aus dem Salzkammergut Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |