| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| SF INSPECT 3D , eine App
|
Autor
|
Thema: Wo ist der Hund begraben? (1490 mal gelesen)
|
neuimforum Mitglied
Beiträge: 23 Registriert: 21.09.2004
|
erstellt am: 11. Apr. 2008 23:22 <-- editieren / zitieren --> Unities abgeben:
Irgendwie will es nicht: folgendes Problem: Erzeugen eines Teils und gleichzeitig zuweisen der DB-Attribute (MM) Siehe Zeilen 120 ff. in der angehängten mm_customize Entweder wird das Teil korrekt erkannt, oder die übergebene Variable. Beides zusammen will nicht. MM15.50C / Modeling 15.50C Danke
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 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.
|
erstellt am: 12. Apr. 2008 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für neuimforum
Was genau meinst Du mit "das Teil wird nicht korrekt erkannt" oder "die übergebene Variable wird nicht erkannt"? Bekommst Du Fehlermeldungen? Passiert etwas anderes Unerwartetes? (In Deinem Beispielcode steht leider auch nicht mehr als "geht nicht" - was auch immer das heissen soll.) Hinweis am Rande:
Code:
(setq teilename (sd-inq-curr-part)) (setq test-sel-item (oli::sd-pathname-to-obj (sd-inq-obj-pathname teilename)))
Dieser Code besorgt sich erst per (sd-inq-curr-part) ein SEL_ITEM, um es dann per (sd-inq-obj-pathname) in einen Pfad (String) zu verwandeln und dann mit (sd-pathname-to-obj) wieder zurück in das ursprüngliche SEL_ITEM - ist also redundant. Stattdessen kann man auch gleich schreiben:
Code:
(setq test-sel-item (sd-inq-curr-part))
------------------ CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neuimforum Mitglied
Beiträge: 23 Registriert: 21.09.2004
|
erstellt am: 12. Apr. 2008 10:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Claus, das Problem ist, dass das Zuweisen der db-attribute mit sd-assign-db-attribute nicht funktioniert. Habe ich im sd-assign das Objekt hartcodiert (oli::sd-pathname-to-obj "/TEIL001") kommt das Attribut richtig im Strukturbrowser und MM Speicherdialog an. Habe ich im sd-assign den Inhalt für die Zuweisung hartcodiert '( "DESCRIPTION3" "Ich bin ein string")) und das Objekt über die Variable test-sel-item kommt das Attribut richtig im Strukturbrowser und MM Speicherdialog an. Will ich im sd-assign Objekt und Inhalt über die Variablen test-sel-item und benenn3 zuweisen will kommt das Attribut nicht im Strukturbrowser und MM Speicherdialog an. Ich bekomme auch keine Fehlermeldung. (sd-assign-db-attribute "MODELUSERFELDER" test-sel-item '( "DESCRIPTION3" benenn3)) Vielleicht ist es jetzt nachvollziehbar was ich meinte. Schonmal vorab Danke für die Hilfe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 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.
|
erstellt am: 12. Apr. 2008 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für neuimforum
Ins Blaue geraten: Wenn man in Lisp einen Ausdruck quotiert, also einen Apostroph davorstellt, dann wird er genau so, wie er ist, weitergegeben, also insbesondere nicht evaluiert. In Deinem Fall wird also nicht etwa der Inhalt von benenn3 an die Funktion sd-assign-db-attribute weitergereicht, sondern das Symbol "benenn3". Wenn meine Vermutung stimmt, sollte sowas wie das folgende besser funktionieren:
Code:
(sd-assign-db-attribute "DB-DREF" test-sel-item `(:DESCRIPTION ,benenn3)) ;; oder aber auch: (sd-assign-db-attribute "DB-DREF" test-sel-item (list :DESCRIPTION benenn3))
Claus
------------------ CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 14. Apr. 2008 19:23 <-- editieren / zitieren --> Unities abgeben: Nur für neuimforum
Claus's Hinweis muesste eigentlich zielfuehrend sein. darüber hinaus: a) (sd-set-db-attribute-verbose-error-handling t), selbe seite in der IKIT docu wie sd-assign-db-attribute b) (trace oli:sd-assign-db-attribute) nutzen um zu sehen was die funktion ggf. als Rueckgabewert liefert. Es gibt einige Funkionen, die als 2. Rückgabewert eine Fehlerursache liefern (z.b. "X-kein-sel-item" oder aehnlich) Probiere bitte mal a) und b) mit dem falschen Code aus, damit Du eigene Erfahrung sammelst. ------------------ Seamonkey Firefox Thunderbird Seamonkey auf deutsch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 14. Apr. 2008 19:37 <-- editieren / zitieren --> Unities abgeben: Nur für neuimforum
Hier noch ein Hund, vielleicht... in der IKIT docu zu den -db- Funktionen werden die Keys einmal als "String" und einmal als :keyword genutzt.
Code: (sd-define-db-attribute "Material" :class-name "MODEL_3D" :attachment :contents :keys '(("MODEL_MAT_ID" :label "Id" :option :id) ("HEAT_TREAT" :label "Heat Treat") ("FINISH" :label "Finish")) :allowed-owner-types :part-assembly....
Code: (sd-assign-db-attribute "Material" my-part '(:MODEL_MAT_ID "Steel" :HEAT_TREAT "H32" :FINISH "polished"))
Also "MODEL_MAT_ID" contra :MODEL_MAT_ID . Ob man beides mischen kann, weiss ich nicht, aber es mag eine potentielle Fehlerquelle sein. <binunsicher> ------------------ Seamonkey Firefox Thunderbird Seamonkey auf deutsch [Diese Nachricht wurde von der_Wolfgang am 14. Apr. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 14. Apr. 2008 19:44 <-- editieren / zitieren --> Unities abgeben: Nur für neuimforum
|
neuimforum Mitglied
Beiträge: 23 Registriert: 21.09.2004
|
erstellt am: 14. Apr. 2008 20:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Claus, der Tipp war genau richtig -> kaum macht man es richtig, schon geht es. Auch meinen Dank an Wolfgang, ich will mich bessern. Wenn ich jetzt noch den Titel vom Thread ändern könnte wären wir alle glücklich. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
highway45 Moderator Bastler mit Diplom
Beiträge: 6377 Registriert: 14.12.2004 CoCreate Modeling V20 + PE6 NotePad++
|
erstellt am: 14. Apr. 2008 21:28 <-- editieren / zitieren --> Unities abgeben: Nur für neuimforum
|