Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Farbe ändern im Teilestammeditor

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:  Farbe ändern im Teilestammeditor (1392 / mal gelesen)
fewo
Mitglied


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

Beiträge: 2
Registriert: 17.10.2017

Creo Elements 18.0

erstellt am: 17. Okt. 2017 13: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


Teilestammeditor.JPG


teilefarbe.lsp

 
Hallo. Ich bin erst seit kurzem mit Creo Elements am Arbeiten und versuche nun mein Creo etwas zu verbessern. In den letzten wochen hab ich viel hier im Forum über Lisp-Programmierumg gelesen und mich selbst daran versucht. Was ich einfach nicht verstehe ist wie man den Teilepfad in die Funktion übergibt.

Wenn ich ein Makro aufzeichne:
          set_pers_context "Toolbar-relative" ts-sd-stl-show-attribute "Test_BG/Test_Teil"
          ts-sd-stl-enter-feld-dialog "SD-STL-STLEDITOR" "ANMERKUNG" "ANMERKUNG angeben." "RAL 1023"
          ts-sd-stl-editor-ok-dialog "SD-STL-STLEDITOR"

wie kann ich dann den Teil : "Test_BG/Test_Teil"    durch eine Auswahl ersetzen?

In dem beigefügten LISP hab ich schon nen teil für mein Programm geschrieben um das Teil auszuwählen und die Farbe zu bestimmen. Wie ich das in den Teilestammeditor/meinem Teil zuweise schreibe verstehe ich aber leider nicht.

In Zukunft möchte ich das ganze so verbinden dass die Farbe auswählen kann und das ganze als PDF speichern kann.

MFG
FEWO

[Diese Nachricht wurde von fewo am 17. Okt. 2017 editiert.]

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: 18. Okt. 2017 13: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 fewo 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von fewo:
Hallo. Ich bin erst seit kurzem mit Creo Elements am Arbeiten
na dann erstmal herzlich willkommen hier. 
Zitat:
.... Was ich einfach nicht verstehe ist wie man den Teilepfad in die Funktion übergibt.

Na, du legst aber gleich los. Ich muss allerdings auch gleich sagen du dich schon etwas jenseits der Standard Modeling Funktionen bewegst. Das vermindert auch die Anzahl der Antworten... und ist fuer einen Einstieg natuerlich nicht unbedingt einfach.

Was Du da mit dem recorder aufzuzeichnen versucht hast ist der Teilestammeditor einer Datenbankanbindung. Und wenn ich die Kuerzel richtig deute, ist das ein TechSoft Add-on. Damit kann ich dir auch nicht 1:1 weiter helfen.

vielleicht kann ich etwas anderweitig helfen:

in Deinem Dialog nutzt du ':selection (*sd-object-seltype*)' - damit schiesst du etwas uebers Ziel hinaus:

*sd-object-seltype* Assembly, Part, Workplane, Workplane Set, Layout, Docuplane Set, Docuplane

ich glaube nicht wirklich das du eine Docuplane selektieren moechtest  ;) ( <<-- das smilie tut mal wieder nicht    )

fuer die TEILE Auswahl bietet der Dialoggenerator das huebsche ":value-type :Part"
das koennte dann so aussehen:

Code:
(TeileWahl
  :value-type :Part
  :multiple-items nil
  :Prompt-text "Teil auswählen"
  :title "Teil auswählen"
  :initial-value nil
)

Deine ok-action koennte etwa so aussehen:
Code:
:Ok-action
'(let ()
    (when (string= farbe "blank")
        ;"Toolbar-relative"
        (sd-call-cmds (ts-sd-stl-show-attribute :thepart TeileWahl  .......))
        )
  )

:thepart oder aehnlich muss da irgendwie hin..

Von der Struktur her muesste es bei dir so lauten

Code:
... (sd-call-cmds (NameDesAufzurufendenDialogs
          :lispKeywordForX  WertfuerX
          :lispKeywordForY  WertfuerY
          :lispKeywordForZ  WertfuerZ
          ......
      ))....

dieses :lispKeywordForXYZ wird aufgezeichnet wenn du den Button im UserInterface drueckst.

-------------------------------------------------------

Code:

Wenn ich ein Makro aufzeichne:
          set_pers_context "Toolbar-relative" ts-sd-stl-show-attribute "Test_BG/Test_Teil"
          ts-sd-stl-enter-feld-dialog "SD-STL-STLEDITOR" "ANMERKUNG" "ANMERKUNG angeben." "RAL 1023"
          ts-sd-stl-editor-ok-dialog "SD-STL-STLEDITOR"

Das scheint mir etwas unvollstaendig. Ganz heftig vermisse ich hier die sogenannten LispKeyWoerter.  also die, die mit ":" doppelpunkt anfangen.

Der Recorder ist hilfreich, liefert aber nicht immer ein vollstaendiges Bild was du fuer eine LISP programmierung brauchst, und manchmal liefert er auch deutlich zu viel.

Versuche die Aufzeichnung nochmal, ABER druecke jeden button (linkes Drittel) und bestaetige den jeweiligen Wert in der rechten Haelft mit 'return' oder einem klick oder aehnlich.  Gehe dabei ganz systemtisch vor damit wir im recorder file sehen was wann aufgeziechnet wurde. Druecke auch unbedingt einmal auf den button  "von Teil/Bgr"!

Auch 'recorden' will  gelernt sein. 


-------------------------------------------------------------------------------
an die mitlesenden Lisp erfahrenden alten Haudegen: ja, ich habe da oben dies und das ARG vereinfacht (dargestellt)! 

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

fewo
Mitglied


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

Beiträge: 2
Registriert: 17.10.2017

Creo Elements 18.0

erstellt am: 20. Okt. 2017 07:06    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

Zitat:
na dann erstmal herzlich willkommen hier.

Vielen Dank der_Wolfgang

Zitat:

Na, du legst aber gleich los. Ich muss allerdings auch gleich sagen du dich schon etwas jenseits der Standard Modeling Funktionen bewegst.

Nun ja das hab ich eben auch schon bemerkt! Ich dache eigentlich etwas Text in ein Feld einfügen darf ja kein Problem werden.

Zitat:
Und wenn ich die Kuerzel richtig deute, ist das ein TechSoft Add-on

Ja stimmt.


Wenn ich mein Teil mit:

Code:

(wahl
  :value-type :Part
  :multiple-items nil
  :Prompt-text "Teil auswählen"
  :title "Teil auswählen"
  :initial-value nil
)


auswähle kommt das hier raus wenn ich es mit (display ...) ausgeben lasse:
Code:

#S(SEL_ITEM PATH
      (#S(NPARCEL SIMPLE-ENTITY-PTR 118154672)
       #S(NPARCEL SIMPLE-ENTITY-PTR 236978880)
       #S(NPARCEL SIMPLE-ENTITY-PTR 236979216)
       #S(NPARCEL SIMPLE-ENTITY-PTR 1152645024)
       #S(NPARCEL SIMPLE-ENTITY-PTR 1152646032)
       #S(NPARCEL SIMPLE-ENTITY-PTR 1152648720)
       #S(NPARCEL SIMPLE-ENTITY-PTR 1255129440))
      TYPE 118557264 ITEM #S(NPART3 SIMPLE-ENTITY-PTR 1255129440))


Mir würde ja der Teilepfad als sring reichen: "Test_BG/Test_Teil"

Als "Fehler" kommt jetzt: s_name nicht angeben. Das hängt irgendwie mit dem Teilepfad zusammen glaub ich. 

Code:

:Ok-action
'(let ()
ts-sd-stl-show-attribute "Test_BG/Test_Teil"
ts-sd-stl-enter-feld-dialog "SD-STL-STLEDITOR" "ANMERKUNG" "ANMERKUNG angeben." "RAL 1023"
ts-sd-stl-editor-ok-dialog "SD-STL-STLEDITOR
  )

:lispKeywordForXYZ bekomm ich nicht beim Recorden und der Code funktioniert ja so. Ich muss nur den Pfad ändern und alles ist gut.

[Diese Nachricht wurde von fewo am 20. Okt. 2017 editiert.]

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: 20. Okt. 2017 12:12    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 fewo 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von fewo:
Code:

:Ok-action
'(let ()
ts-sd-stl-show-attribute "Test_BG/Test_Teil"
ts-sd-stl-enter-feld-dialog "SD-STL-STLEDITOR" "ANMERKUNG" "ANMERKUNG angeben." "RAL 1023"
ts-sd-stl-editor-ok-dialog "SD-STL-STLEDITOR
  )

:lispKeywordForXYZ bekomm ich nicht beim Recorden und der Code funktioniert ja so. Ich muss nur den Pfad ändern und alles ist gut.



da greift man ins (hoffentlich) bekannte IKIT (Integration kit, siehe online help)
Code:
(sd-inq-obj-pathname object)

Description:
    Returns the pathname string representation of an object.



Deine OK-action ist ein nicht geklammerter Aufruf einer (mir nicht bekannten) action routine. Das sieht so einfach "nicht gut" aus.

s_name ist mit guter Sicherheit ein :s_name und Teil des aufgerufenen dialogs / action routine.

------------------
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: 27. Okt. 2017 12:10    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 fewo 10 Unities + Antwort hilfreich

mit einem ordentlichen Schluck ==>> Kristallkugel:

Code:
(sd-call-cmds (ts-sd-stl-show-attribute  :sname (sd-inq-obj-pathname wahl)....

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