| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Blatt per Mausklick wählen (1327 mal gelesen)
|
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 04. Sep. 2018 08:49 <-- editieren / zitieren --> Unities abgeben:
Hallo folgendes Problem... Wie kann ich das Aktive Blatt per Mausklick auswählen. So wie bei den Standardgeometrie erstellen im Annotation. Hier mein erster Versuch Code: (in-package :custom) (use-package :oli)(sd-defdialog 'tp_am_beispiel_dia :dialog-title "Beispiel" :toolbox-button t :without-show nil :variables '( (tp_ansicht :selection (*sd-anno-sheet-seltype*) :title (sd-multi-lang-string "Owner" :german "Besitzer") :prompt-text (sd-multi-lang-string "Select owner." :german "Besitzer wählen") :initial-visible t :initial-enable t :after-input (progn ) ) );; end variables :cleanup-action '(progn);;ende progn ;:cancel-action '(progn);;ende progn ;:ok-action '(progn);;ende progn :local-functions '( );;ende local-functions );;ende dialog
Normalerweise müsste ich doch so einfach auf das Blatt klicken und er selected das. Hat da jemand eine Idee?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 04. Sep. 2018 18:45 <-- editieren / zitieren --> Unities abgeben: Nur für taino
Zitat: Original erstellt von taino:folgendes Problem...
Beschreibe das Problem! Das wäre schon mal ein guter Anfang. Zitat: Normalerweise müsste ich doch so einfach auf das Blatt klicken und er selected das.
Und wie geht der Versuch aus? Was geht nicht? Welche Fehlermeldung kommt, wie sieht das 'higlighting' aus? Was passiert wenn du im Drawning browser selektierst? Mach in Dein after-input progn doch mal einen (pprint tp_owner) rein, oder (display tp_sheet) oder sd-display-message oder so etwas. Beschreibe dein Problem! Die Glaskugel ist noch im Urlaub.
------------------ ● 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 |
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 05. Sep. 2018 07:23 <-- editieren / zitieren --> Unities abgeben:
Hallo er macht nichts. Ich kann nichts selektieren. Ich gehe erst ganz normal auf "Zeichnung neu" und dann müsste ich doch das Blatt anwählen können. Im Strukturbaum macht er das richtig. Aber ich brauche das wenn ich einmal auf das Blatt klicke. Bei Ansichten funktioniert das ja wunderbar. Hier mal aus der Online Reference. AM_GEO_LINE_2POS Dialog Title: "Linie 2 Pos" Dialog Type: :terminate Loaded with Module: "Annotation" Parallel Input Keywords: :OWNER value type: :list calls subaction: AM_SET_OWNER :LINE-START value type: :DOCUPNTCP (permanently INVISIBLE) :LINE-END value type: :DOCUPNTCNP (permanently INVISIBLE) Bei diesem Befehl funktioniert das auch. So soll das funktionieren. Ich verstehe diese Zeile nicht ganz. :OWNER value type: :list calls subaction: AM_SET_OWNER Warum ist als value-type :list? Das versteh ich nicht ganz. Gruß
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 05. Sep. 2018 14:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich bin jetzt schon ein Stück weiter gekommen. Code:
(in-package :custom) (use-package :oli)(sd-defdialog 'tp_am_beispiel_dia :dialog-title "Beispiel" :toolbox-button t :variables '( (tp_owner :value-type :list :subaction-name am_set_owner :default tp_owner ) );; end variables ;:cleanup-action '(progn);;ende progn ;:cancel-action '(progn);;ende progn ;:ok-action '(progn);;ende progn ;:local-functions '();;ende local-functions );;ende dialog
Aber warum legt er das nicht in die Variable? Er ruft die Subaction richtig auf aber er gibt nichts zurück.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 06. Sep. 2018 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für taino
Zitat: Original erstellt von taino: Ich bin jetzt schon ein Stück weiter gekommen. Aber warum legt er das nicht in die Variable? Er ruft die Subaction richtig auf aber er gibt nichts zurück.
Prima!!! Du solltest in solchen test dialogen aber immer auch etwas drin haben in den (progn...) sectionen . und in diesem fall natürlich auch im after-input. Das Anwenden der subaction am_set_owner ist schon mal eine SEHR gute Idee! Hilfe zur Selbsthilfe: trace, die mal ... und nutze eine Standard routine... dann siehst Du was 'rein geht' und was 'raus kommt'. Ich denke Du kommst dann selbst auf die Lösung. Das bleibt dann besser hängen bei Dir. Ja, dialoge (oder alte Action routinene) kann mach auch tracen.. Das sind halt etwas besondere Funktionen.
------------------ ● 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 |
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 07. Sep. 2018 08:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Danke Wolfgang jetzt hab ich's. Code:
(in-package :custom) (use-package '( li :nobiggrin CU))(sd-defdialog 'tp_am_beispiel_dia :Dialog-title "Beispiel" :toolbox-button t :after-initialization '(progn) :variables '( (tp_owner :value-type :list :gui-value (nth 3 tp_owner) :title (sd-multi-lang-string "Owner" :german "Besitzer") :subaction-name am_set_owner :Default '(:geo) :after-input (progn (display tp_owner) );;ende progn ) );; end variables ;:cleanup-action '(progn);;ende progn ;:cancel-action '(progn);;ende progn ; k-action '(progn);;ende progn ;:local-functions '();;ende local-functions );;ende dialog
Gruß tAiNo
[Diese Nachricht wurde von taino am 07. Sep. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 10. Sep. 2018 19:23 <-- editieren / zitieren --> Unities abgeben: Nur für taino
Zitat: Original erstellt von taino: Danke Wolfgang jetzt hab ich's.
Prima! Und mit hübschem GUI Value! :) für die sich interessierende Mitleserschaft: die entscheidende Änderung ist die folgende:
Code: (tp_owner :value-type :list :gui-value (nth 3 tp_owner) :title (sd-multi-lang-string "Owner" :german "Besitzer") :subaction-name am_set_owner :Default '(:geo) :after-input (display tp_owner) )
:default is nämlich nicht so was änliches wie :initial-value sondern der Wert, den die subaction erhält. This parameter specifies the data that is passed from the calling dialog to the called dialog. am_set_owner hätte hier gerne gewusst wo es den gewählten Wert hinschreiben muss wenn der Owner selektiert worden ist. In der ersten Variante hatte Taino da ein NIL übergeben. Damit konnte am_set_owner nichts anfangen und konnte auch nichts zurückliefern und damit ist die dialog variable NIE in den :after-input gehüpft. Mögliche Werte für :default kann man in diesem Fall der Integration Kit Documentation unter dem Stichwort "sd-am-set-default-owner" entnehmen. sd-am-set-default-owner und die subaction am_set_owner sind arg verwandt und nutzen die gleiche / eine ähnliche Syntax. Jetzt hat sich auch Deine Frage geklärt warum der value-type eine LISTE ist, oder? Weil am_set_owner eine Liste zurück liefert (in der selben Form wie oli:am-set-default-owner). Fazit: eine interessante Funktion trace 'n und eine Weile beobachten welche Parameter sie erhält, welche werden zurück geliefert, wenn sie aus Standard Funktionalität heraus gerufen wird. So kann man sich dann heran tasten.
------------------ ● 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 |
| Ingenieur Gebäudeautomation (m/w/d) | Von Industriebetrieb, Forschungszentrum, Krankenhaus, Büroimmobilie und Hochschule bis zur Elbphilharmonie oder Antarktisstation: Unsere über 250 Ingenieure sorgen für zukunftsweisende Energiesysteme, modernste gebäudetechnische Anlagen und innovative Gebäudedigitalisierung! Im Geschäftsfeld Engineering erarbeiten unsere Ingenieurteams modernste Designlösungen für Energie- und Gebäudetechnik in allen relevanten Branchen und Institutionen.... | Anzeige ansehen | Gebäude-, Versorgungs-, Sicherheitstechnik |
|
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 11. Sep. 2018 07:16 <-- editieren / zitieren --> Unities abgeben:
|