Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Variable mit Dialogaufruf übergeben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
Autor Thema:  Variable mit Dialogaufruf übergeben (1180 mal gelesen)
sas-m2n
Mitglied
Maschinenbautechniker


Sehen Sie sich das Profil von sas-m2n an!   Senden Sie eine Private Message an sas-m2n  Schreiben Sie einen Gästebucheintrag für sas-m2n

Beiträge: 39
Registriert: 02.03.2011

@Work:
HP Z400, NVIDIA Quadro 4000, 12 GB RAM, WIN7 X64
NX6.0.2.8,NX I-deas 6 m2,Teamcenter 2005 SR1/2007,
Creo Elements/Direct 19.0 M060 Modelmanager 19
@home:
DELL Precision M4500
PE6.0 auf Win10 pro X64
FreeCAD 017 X64
TurboCAD 17 pro

erstellt am: 10. Okt. 2017 08:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Symbole_Annotation_V19_Forum.lsp

 
Hallo CAD Gemeinde,

besteht die Möglichkeit bei Dialogaufruf eine Variable mit zu
übergeben? Hintergrund ich möchte über ein Ribbon-Menü im Annotation
verschiede Mi-Datei laden.

Hier der Dialog (Energiefeld.mi wäre immer variabel)

(sd-defdialog 'sas_load_Energiefeld
  :dialog-title "Energiefeld laden"
  :dialog-type :terminate

  :variables
  '(
    (zpnt  :value-type :docupntcnp
            :title "Zielpunkt"
            :PROMPT-TEXT "Zielpunkt fuer Skizze angeben"
    )
  )
  :local-functions
  '(
      (sas_load_Energiefeld ()
       
  (let (p0)
      (setf p0 (make-gpnt2d :x (oli::gpntdocu_x zpnt)
                            :y (oli::gpntdocu_y zpnt)))
  (oli::sd-am-set-default-owner :sketch :current-sheet)
      (sd-call-cmds
      (am_load_sketch :filename (format nil "~a/Energiefeld.mi" Anno_symbol_Pad):cursor_adjustment  :ON :lower_left p0))
  );; Ende let
    )
)
  k-action'(sas_load_Energiefeld)
  ) ;; Ende Dialog


Ribbon Button

  (oli::sd-fluentui-add-ribbon-button
  arent '("Symbole" "Symbole-Gruppe1")
  :name "Energiefeld"
  :annotationRibbon t
  :splitButton t 
  :largeImage t 
  :image  (format nil "~a/Energiefeld.bmp" Icon_symbol_Pad)
  :description "Energiefeld Deutsch/Englisch laden"
  :label "Energiefeld"
  ushaction "sas_load_Energiefeld Varriable"
  )
Im Anhang das ganze Makro


Gruß Steffen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

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. Okt. 2017 16:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

Wenn Dein Ribbon menu X Eintrage fuer X Dateien haben wird, bist Du gar nicht so weit entfernt...


In der Ribbon Definition veraenderst Du die "Pushaction"

Code:
:Pushaction "sas_load_Energiefeld :fileToLoad \"NiedrigEnergieFeld\""

Also: der Name einer (neuen) Dialog Variable gefolgt vom Wert dazu.  In jedem Ribbon Eintrag steht dann nur ein jeweils anderer Wert drin.

Dem Dialog spendierst du noch eine variable

Code:
  (fileToLoad
    :Prompt-text (sd-multi-lang-string "Filename" :german "Dateiname")
    :value-type        :filename
    :Direction        :input
    :add-suffix t
    :initialPattern "*.mi"
    )
und passt den Aufruf am_load_sketch in der local-function entsprechend an (ich weiss nicht wo 'Anno_symbol_Pad' herkommt  )

Was in die Pushaction hinein kommt kannst Du auch auf der Kommandozeile austesten. Musst dann nur mit den """ aufpassen beim uebernehmen.

statt :value-type :filename kannst Du evlt. auch einfach "string" nehmen. Das haengt davon ab wo/wie du diese Anno_symbol_Pad variable handhabst. Das ist in dem code schnipsel den du gepostet hast nicht ersichtlich.

- - - - - - - - - - - - - - - - - - - - - - - - - -
PS: fuer Sourcecode gibt es den UBB-Code : [ code ] ... [/ code ]

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

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

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. Okt. 2017 16:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

Code:
(setf Anno_symbol_Pad "P:/Tools/V19/3D/Annotation/Symbole")
habe ich noch in der LSP datei gefunden, die Du angehaengt hattest. Ich hatte nur in den Text deiner Anfrage gesehen.


Alternativ koennest Du auch die Pushaction anpassen:

Code:
:Pushaction "sas_load_Energiefeld :fileToLoad (format nil \"~a/NiedrigEnergieFeld.mi\" custom::Anno_symbol_Pad)"

Ich wuerde es aber eher IM Dialog lassen, dann hast du nur eine Stelle zu pflegen.

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

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

sas-m2n
Mitglied
Maschinenbautechniker


Sehen Sie sich das Profil von sas-m2n an!   Senden Sie eine Private Message an sas-m2n  Schreiben Sie einen Gästebucheintrag für sas-m2n

Beiträge: 39
Registriert: 02.03.2011

@Work:
HP Z400, NVIDIA Quadro 4000, 12 GB RAM, WIN7 X64
NX6.0.2.8,NX I-deas 6 m2,Teamcenter 2005 SR1/2007,
Creo Elements/Direct 19.0 M060 Modelmanager 19
@home:
DELL Precision M4500
PE6.0 auf Win10 pro X64
FreeCAD 017 X64
TurboCAD 17 pro

erstellt am: 11. Okt. 2017 07:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Symbole_Annotation_V19_Test.lsp

 
Hallo Wolfgang,

vielen Dank für Deine Hilfe hat Top funktioniert.
Im Anhang habe ich die geändert LSP angehängt.

Vielleicht kannst jemand gebrauchen.

Gruß Steffen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

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: 11. Okt. 2017 15:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von sas-m2n:
vielen Dank für Deine Hilfe hat Top funktioniert.

Prima. Freut mich.

__________________________________________________

Ergaenzend:

ALTERNATIV...

...haette man den Vorlagen Browser im Annotation nehmen koennen und die Skizzen dort registrieren.

Der haette dir dann auch die Pushaction gezeigt.  dort haettest Du nur ein :Owner :current-sheet spendieren muessen. Zudem zeigt er beim Platzieren auch eine Box in der Groesse der zu platzierenden Skizze als Feedback an. Das ist dann doch von Vorteil wenn man viele unterscheidlich grosse Vorlagen im Zugriff haben moechte.

Aber ich wollte dich von deinem eingeschlagenen Weg nicht direkt abbringen.

Wenn ich mich recht entsinne hat der Vorlagen Browser im Kontext menu auch ein "export 2 html" .. da sieht man dann die push action. Ansonsten muss man die Stelle kennen wo die LISP dateien im customize verzeichnis rumschwirren.

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

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz