Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Annotation: Symbole in der Vorlagenliste mit Parametern öffnen

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
  
Effektives Anforderungs­management und agile Entwicklung, eine Pressemitteilung
Autor Thema:  Annotation: Symbole in der Vorlagenliste mit Parametern öffnen (166 / mal gelesen)
PeterMilsch
Mitglied
CAD-Consultant


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

Beiträge: 80
Registriert: 30.03.2016

PTC Creo Parametrics
Inneo GTools Tools
Pro.File V8 u. V10

erstellt am: 10. Sep. 2024 10: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

Hallo zusammen,

ich habe ein Oberflächenzeichen erstellt und in der Vorlagenliste registriert. Nun kann ich das Symbol über die Befehlszeile mit dem Befehl

Code:
gdm_am_create_ISO21920_dialog :para_Type "BEARBEITET" :para_Text1 "Ra 12,5"

direkt starten und das Symbol öffnet sich mit den entsprechenden Eingaben. Ist es möglich das ich dafür auch in der Vorlagenliste direkt ein Symbol zu registrieren mit diesen Parametern?

Ich habe es hiermit versucht, jedoch hat das nicht funktioniert. Hat jemand eine Idee, wie das geht?

Code:
sd-am-register-symbol
:create-dia (gdm_am_create_ISO21920_dialog :para_Type "BEARBEITET" :para_Text1 "Ra 12,5")
;;:create-dia "gdm_am_create_ISO21920_dialog"
:edit-dia "gdm_am_create_ISO21920_dialog"
:meta-name (sd-multi-lang-string "Surface ISO 21920-1 Ra 12,5" :german "Oberfläche ISO 21920-1 Ra 12,5")
:pixmap-file (format nil "~a/Annotation/bitmaps/gdm_am_create_ISO21920.bmp" (oli::sd-convert-filename-from-platform (oli::sd-sys-getenv "SDCORPCUSTOMIZEDIR")))
:category (sd-multi-lang-string "Surface2" :german "Oberfläche2")

Vielen Dank für eure Hilfe.

Gruß Peter

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

der_Wolfgang
Moderator
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: 2219
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 10. Sep. 2024 14:05    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 PeterMilsch 10 Unities + Antwort hilfreich

Das da am Anfang eine öffnende Klammer fehlt, denke ich, ist ein copy-n-paste Fehler.

Aber: :create-dia ist ein STRING!!! Also eine Zeichenkette. Bei dir ist es aber ein Funktionsaufruf (weil ja mit () Klammern)

sd-am-register-symbol ist eine dokumentierte IKIT funktion, dort nachlesen:

https://support.ptc.com/help/creo_elements_direct/r20.7.0.0/advanced_documentation/integration_kit/reference/annotation/symbol_customization.html#sd-am-register-symbol

also String: also letzlich DAS, was du in die Befehlszeile schreiben würdest, die du ja schon komplett zusammen gebaut hast. 👍


Aber "BEARBEITET" ist schon ein String und Deine Stolperfalle ist vermutlich "String im String" - Das macht man durch "quoten" der Gänsefüschen:

Code:
(sd-am-register-symbol
:create-dia "gdm_am_create_ISO21920_dialog :para_Type \"BEARBEITET\" :para_Text1 \"Ra 12,5\" "
:edit-dia "gdm_am_create_ISO21920_dialog"
:meta-name (sd-multi-lang-string "Surface ISO 21920-1 Ra 12,5" :german "Oberfläche ISO 21920-1 Ra 12,5")
:pixmap-file (format nil "~a/Annotation/bitmaps/gdm_am_create_ISO21920.bmp"
(oli::sd-convert-filename-from-platform (oli::sd-sys-getenv "SDCORPCUSTOMIZEDIR")))
:category (sd-multi-lang-string "Surface2" :german "Oberfläche2")
)

Das eine Leerzeichen am Ende von :create-dia habe ich nur zwecks besserer Lesbarkeit hinzugefügt.

Bei String im String also \" schreiben.

------------------
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
Moderator
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: 2219
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 10. Sep. 2024 14: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 Nur für PeterMilsch 10 Unities + Antwort hilfreich

Peter, wenn Du dein via Befehlszeile erzeugtes Symbol, interactive als Vorlage registriert hättest, wärst du auch zum Ziel gekommen.

Es wäre dein Aufruf von

Code:
oli:sd-am-define-annotation-template....

erzeugt worden, und in der :action hättest du so 'gequotete' strings gefunden.

Die Syntax ist etwas anders als bei register-symbol, weil der Ansatz für 'templates' generischer ist. Aber es wäre eine Alternative gewesen für die Erzeugung. Nachträglich editieren geht dann auch.

------------------
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

PeterMilsch
Mitglied
CAD-Consultant


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

Beiträge: 80
Registriert: 30.03.2016

PTC Creo Parametrics
Inneo GTools Tools
Pro.File V8 u. V10

erstellt am: 10. Sep. 2024 15:22    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

Danke für die Info mit dem String in String, das wusste ich tatsächlich nicht und natürlich hatte es bei meinen Tests ohne \ nicht funktioniert.

Ich habe das nicht über die Befehlszeile erzeugt, sondern Lisp-Dateien beim Start laden lassen oder zum testen via drag&drop ins Creo gezogen. Ich habe aber auch kaum Ahnung muss man dazu sagen, da ich vor einem Jahr erst angefangen habe mit Creo Elements Modelling zu arbeiten und vor zwei Wochen das erste mal mich mit LISP beschäftigt habe, da unser Unternehmen gerade zwei Symbole benötigt. Die Symbole selbst funktionieren und sind auch registriert aber jetzt kommt noch etwas polishing.

Leider habe ich ein neues Problem, das ich heute morgen wahrscheinlich übersehen habe. Beim Code:

Code:
gdm_am_create_ISO21920_dialog  :tongue:ara_Type "BEARBEITET"  :tongue:ara_Text1 "Ra 12,5"

ist para_Text1 zwar als String definiert und funktioniert, aber para_Type ist ein Dropdown-Menü und funktioniert jetzt nicht mehr. Mache ich da was falsch beim Aufrufen?
Der Entsprechende Teil aus den :variables von sd-am-create-symbol-dialog sieht bei mir so aus:
Code:
(para_Type  :title (sd-multi-lang-string "Form" :german "Symbolform")
:range ((:UNDEFINIERT :label (sd-multi-lang-string "English undefiniert" :german "undefiniert"))
(:BEARBEITET :label (sd-multi-lang-string "English bearbeitet" :german "bearbeitet"))
(:UNBEARBEITET :label (sd-multi-lang-string "English unbearbeitet" :german "unbearbeitet"))))
     
    (para_Text1
      :value-type :string
      :editable t
      :title (sd-multi-lang-string "Upper Val a1" :german "RauhOber a1")
      :initial-value ""
    )

den Befehl sd-am-define-annotation-template werde ich mir mal in der Hilfe anschauen, danke.

[Diese Nachricht wurde von PeterMilsch am 10. Sep. 2024 editiert.]

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

der_Wolfgang
Moderator
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: 2219
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 10. Sep. 2024 16:31    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 PeterMilsch 10 Unities + Antwort hilfreich

Zitat:
vor zwei Wochen das erste mal mich mit LISP beschäftigt habe
Na Holla!! Aber du hast Erfahrung aus anderen Programmiersprachen?

┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉

Prima das du den Code Schnipsel gepostet hast!

In diesem Fall hast du eine :range , also eine Feste Auswahlliste definiert.

Im einfachsten Fall sieht sie so aus:

Code:
:range (:UNDEFINIERT
:BEARBEITET
:UNBEARBEITET
)

Wenn du ein hybsches Label (=text in der Oberfläche) mit geben willst dann:
Code:
:range ((:UNDEFINIERT :label "undefiniert")
(:BEARBEITET :label "bearbeitet")
(:UNBEARBEITET :label "unbearbeitet")
)

Wenn das hybsches Label mehrsprachig sein soll:
Code:
:range ((:UNDEFINIERT :label (sd-multi-lang-string "undefined" :german "undefiniert")
(:BEARBEITET :label (sd-multi-lang-string "processed" :german "bearbeitet")
(:UNBEARBEITET :label (sd-multi-lang-string "unprocessed" :german "unbearbeitet")
)
So hast du es gemacht! Prima!

Hier ist der gewählte range VALUE ein :keyword. Das ist dann sprachunabhängig.

Da Programmierung im allgemeinen "english" ist, hätte ich wohl eher so geschrieben:

Code:
:range ((:undefined :label (sd-multi-lang-string "undefined" :german "undefiniert")
(:processed :label (sd-multi-lang-string "processed" :german "bearbeitet")
(:unprocessed :label (sd-multi-lang-string "not processed" :german "unbearbeitet")
)
Also Keywords in english. Was aber in der Oberffläche angezeigt wird hängt davon ab mit welcher Sprache Modeling gestartet wurde.

Da para_Type also ein :KEYWORD ist und kein "string" ist der Wert auch ein anderer.

daraus folgt:

Code:
:create-dia "gdm_am_create_ISO21920_dialog :para_Type :BEARBEITET :para_Text1 \"Ra 12,5\" "
hier passend zu deinen deutschen keywörtern

┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉

Ich empfehle dir mal den 'recorder'

Code:
(load "recorder")
Findest du dann in der "Werkzeugkiste".

Der zeichnet auf was du so treibst. Also sozusagen das was du dir als Befehlszeile zusammen gebaut hast.

* Starte mal den Recorder (Dateiname vergeben und Aufzeichnung STARTEN)
* Wähle ein Symbol aus der Vorlagen liste
* füttere es mit 2..3.4. Parametern,
* plaziere es
* beende die Aktion
* Beende den Recorder

die erzeugte xx.rec Datei ist auch nur LISP code. Aber mit den Befehlen die du gerade ausgeführt hast.
Darin findest du dann :BEARBEITET und nicht "BEARBEITET" ;-)

------------------
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
Moderator
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: 2219
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 10. Sep. 2024 16:36    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 PeterMilsch 10 Unities + Antwort hilfreich

PeterMilsch
Mitglied
CAD-Consultant


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

Beiträge: 80
Registriert: 30.03.2016

PTC Creo Parametrics
Inneo GTools Tools
Pro.File V8 u. V10

erstellt am: 10. Sep. 2024 16:51    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

Perfekt danke für die Infos, das werde ich testen.
Ich beherrsche SQL und etwas C#. Außerdem habe mir letztes Jahr etwas Kotlin beigebracht um mir eine App zu schreiben um damit eine PDM-System anzusprechen, aber ansonsten bin ich kein Programmierer.

Ja noch ist das auf deutsch, generell sind ja auch die Internationalen Bezeichnungen bei mir noch auf deutsch, da ich aktuell noch darauf warte die Norm in Englisch zu bekommen, damit ich sie dann mit den Richtigen Fachwörtern auf Englisch versehen kann. Aber ansonsten hast du Recht, wenn ich das habe, werden alle Variablen und Bezeichnungen auf Englisch übersetzt und dann muss ich auch noch die Lisp-Dateien fertig mit Kommentaren bestücken.

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

der_Wolfgang
Moderator
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: 2219
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 10. Sep. 2024 17:22    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 PeterMilsch 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von PeterMilsch:
Perfekt danke für die Infos, das werde ich testen.
Gerne

Untypisiertes Kotlin sieht ja mit den ((runden) Klammern) etwas LISPisch aus.

Zitat:
Original erstellt von PeterMilsch:
werden alle Variablen und Bezeichnungen auf Englisch übersetzt

Achtung : Wenn Du heute ein Symbol mit :para_Type :BEARBEITET in der Zeichnung hast kannst du es nach der Umstellung nicht mehr (gescheit) bearbeiten, weil dann :BEARBEITET nicht Teil der (validen Werte) Liste :undefined :processed :unprocessed ist!

Also entweder dies jetzt ändern, oder diese :DEUTSHES_WORT varianten in der Firma zumindest nicht in Umlauf bringen.

Hintergrund: diese Dinge hängen versteckt an den Symbolen in den MI files der Zeichnungen. Und diese Info wird dann beim Bearbeiten der Symbole ausgelesen.

------------------
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)2024 CAD.de | Impressum | Datenschutz