Forum:PTC Creo Elements/Programmierung
Thema:UICT - Control Actions
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
StephanWörz

Beiträge: 738 / 1

Xenon 3.2GHz
24GB Ram
nVidia Quadro 4000
OSDM 17M050 & 18.1
SWX 2008
PHOENIX V10

Hallo,

ich Blicks mal wieder nicht!

Folgendes ist zu lesen:

Zitat:
Control Actions can always be specified in two ways:

As a quoted LISP form which gets executed as soon as the control action gets triggered or
As a string. If in this case the control action gets triggered, the specified string gets passed to Creo Elements/Direct Modeling's command buffer just like as if the value of the string is entered manually into the enter command line.
See sd-put-buffer for more information.


Ich habe mir ein Stück Beispielcode aus der UICT-Doku angeschaut und bei diesem Code

Code:
(sd-create-text-control "UICT-TEST-121-TX" "UICT-TEST-12-GA"
  :x 0
  :y 0
  :width 10
  :height 2
  :editable t
  :showModified nil
  :showFocus t
  :enterAction ":text_121_enter_pressed")

erwartet dass beim drücken von Enter in dem Textfeld die :enterAction ausgeführt, also der Text in die Kommandozeile geschrieben wird. Leider tut sich da gar nichts??

Kann jemand was dazu sagen??

------------------
...viele Grüße
Stephan

clausb

Beiträge: 2908 / 0

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

Meine Erwartung wäre, dass das Keyword abgeschickt wird (und dann vom aktuell laufenden Kommando ausgewertet/entgegengenommen wird), aber nicht, dass es dann in der Eingabezeile auftaucht.


------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ - Blog: http://www.clausbrod.de/Blog

StephanWörz

Beiträge: 738 / 1

Xenon 3.2GHz
24GB Ram
nVidia Quadro 4000
OSDM 17M050 & 18.1
SWX 2008
PHOENIX V10

Guten morgen,

da hab ich wohl falsche Erwartungen gehabt und immer auf die Eingabezeile gelinst!

Verhält sich wie von Claus erwartet. String wird übergeben und sofort ausgewertet...

So geht's (anderes Beispiel halt):

Code:
(sd-create-pushbutton-control "UICT-BUTTON-1-PB"  "UICT-ABB-TAB-GA"
      :title      "BUTTON 1"
      :x 0
      :y 0
      :width 18
      :height 3
      :alignment  :center
      :PushAction    "(display \"UICT-BUTTON-1-PB presssed\")"
);;sd-create-pushbutton-control

------------------
...viele Grüße
Stephan

lix b

Beiträge: 272 / 0

Creo Elements / Direct Modeling 20.2
Creo Elements / Direct Model Manager 20.2
Creo 5.0 Simulate
<P>Notepad++
Win 7

Funktioniert auch mit

Code:
(sd-create-pushbutton-control "UICT-BUTTON-1-PB"  "UICT-ABB-TAB-GA"
      :title      "BUTTON 1"
      :x 0
      :y 0
      :width 18
      :height 3
      :alignment  :center
:PushAction '(display "UICT-BUTTON-1-PB presssed")
);;sd-create-pushbutton-control


------------------
Viele Grüße
Felix

der_Wolfgang

Beiträge: 1733 / 3

● PEnix@home
● W10 Pro Build16299
● Drafting V17~V20.3.1
● Modeling V17~V20.3.1
● @Scirotec201804

Wenn ihr wollt das Eure Action recorderhähig ist, ist die Variante von Stephan die richtige. 

Weil: ein string geht via sd-put-buffer in die command line. Und was dort durchläuft, landet auch im Recorder file.

Ja, eine ge-quotete Lisp form ist als PushAction auch möglich. Siehe ==>> IKIT Dokumentation.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi