| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
| NX Programmierung (NXOpen.net, UF mit VB, C#) |
Autor
|
Thema: Ausdruck > Attribut (8427 mal gelesen)
|
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 07. Mai. 2007 15:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, gibt es eine Möglichkeit, einem Attribut bestimmte Ausdruckswerte assoziativ zuzuweisen? Ich möchte z.B. dem Teile-Attribut "Abmessungen" die Parameter "D1" x "L1" zuweisen, und zwar so, das sich das Attribut ändert, wenn ich z.B. die Länge ändere. grüße ------------------ Grüße Meinolf Ich steh auf flotte Dreier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noermel Mitglied Wiss. Mitarbeiter
Beiträge: 3 Registriert: 27.02.2007
|
erstellt am: 07. Mai. 2007 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
Hallo Meinolf, ja, gibt es. Im Attribut-Dialog kann man als Attribut-Typ "Referenz" anwählen. Das ergibt eine assoziative Verknüpfung zu einem Ausdruck Nur mathematische Operationen sind IMHO nicht drin. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 07. Mai. 2007 16:53 <-- editieren / zitieren --> Unities abgeben:
|
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 07. Mai. 2007 21:21 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
Hallo Meinolf, meine empfehlung währe: Ausdruckseditor-->beliebigen namen eingeben-->formel: ug_setPartAttrValue( "Material", "Stahl" ) also für ein teileattribut Material mit dem Wert stahl. Dies kannst du dann mit if then else bedingungen verknüpfen also if durchmesser=15(ug_setPartAttrValue( "Material", "Stahl" ))else(ug_setPartAttrValue( "Material", "Holz" )) :-) Eine andere möglichkeit ist über die ugtools zu gehen dort gibts es ein programm ausdrücke zu attributen. Hier musst du dann eine liste schreiben was gemapt werden soll. Ist aber nicht dynamisch sondern statisch und man muss es immer anstossen. Hoffe es hilft dir weiter. Es gäbe auch noch die möglichkeit über api die dann beim speichern postactions ausführen kann. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 08. Mai. 2007 08:38 <-- editieren / zitieren --> Unities abgeben:
|
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 08. Mai. 2007 09:09 <-- editieren / zitieren --> Unities abgeben:
|
cadycam Mitglied Konstrukteur
Beiträge: 254 Registriert: 25.10.2000 NX 8.5.1.3 Native Moldwizard W7/64bit 32GD RAM
|
erstellt am: 08. Mai. 2007 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
|
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 08. Mai. 2007 12:53 <-- editieren / zitieren --> Unities abgeben:
Bsp.: du hast zwei Parameter: Aussendurchmesser "AD", 50mm Länge "L", 100mm Mit dem folgenden Eintrag in der Formel des Ausdruckseditors wird dann ein Teile-Attribut erzeugt "Abmessung": ug_setPartAttrValue( "Abmessung", ((format ("ø%5.1f",AD)) + (format ("x%5.1f",L)))) Das Attribut sieht dann so aus: Abmessung: ø50.0x100.0 Die format-Anweisung wandelt den Wert von AD in einen formatierten String ( %5.1f )um, eventuelle Textergänzungen müssen innerhalb der Gänsefüßchen stehen, das "+" verkettet die einzelnen Strings. Die Übergabe ans TcX funzt auch, Vorraussetzung ist natürlich ein entsprechendes Attributmapping. grüße
------------------ Grüße Meinolf Ich steh auf flotte Dreier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadycam Mitglied Konstrukteur
Beiträge: 254 Registriert: 25.10.2000 NX 8.5.1.3 Native Moldwizard W7/64bit 32GD RAM
|
erstellt am: 08. Mai. 2007 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
|
cadycam Mitglied Konstrukteur
Beiträge: 254 Registriert: 25.10.2000 NX 8.5.1.3 Native Moldwizard W7/64bit 32GD RAM
|
erstellt am: 09. Mai. 2007 07:17 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
Hallo Meinolf, vielleicht kannst du mir nochmal weiterhelfen. Funzt das in NX3 genauso ? Bekomme folgende Fehlermeldung The specified string contains a syntax error. Couldn t find object for ug_setPartAttrValue. No function ug_setPartAttrValue. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 09. Mai. 2007 09:14 <-- editieren / zitieren --> Unities abgeben:
|
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 10. Mai. 2007 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
|
master001 Mitglied Projektingenieur
Beiträge: 454 Registriert: 25.02.2005 Win 10 UG NX 12
|
erstellt am: 13. Okt. 2008 08:48 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
Moin, ich hab da mal ne kleine zwischen Frage: Der Ausdruck Funktioniert ja ganz gut, was für Formate gibt es denn alles? ug_setPartAttrValue( "Abmessung", ((format ("ø%5.1f",AD)) + (format ("x%5.1f",L)))) Gruß Patric ------------------ E-Mail: patric.tilge@imtech.de Internet: http://www.imtech.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 13. Okt. 2008 09:11 <-- editieren / zitieren --> Unities abgeben:
|
master001 Mitglied Projektingenieur
Beiträge: 454 Registriert: 25.02.2005
|
erstellt am: 13. Okt. 2008 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
Ich hab noch ein kleines Attentat vor und zwar werden bei uns Teilebestellungen getätigt. Ich würde bei einer Stückliste gerne eine Spalte haben, in der die Summe aller Attribute einer Spalte gebildet wird. Ich brauch auf meinem Bestellblatt nachher nur irgendwo diesen Wert stehen haben. Ist es möglich die Attribute autmatisch zu summieren? Gruß Patric ------------------ E-Mail: patric.tilge@imtech.de Internet: http://www.imtech.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 13. Okt. 2008 11:46 <-- editieren / zitieren --> Unities abgeben:
IMHO nicht, zumindest nicht ohne Umwege. Die Attributwerte sind als Texte zu verstehen, d.h. du müsstest die zuerst wieder in einen Zahlenwert umwandeln. Möglicherweise geht da was über Programmierung, GRIP oder so. Da kann ich dir aber leider nicht weiterhelfen. Wenn es sich aber vorher um reine Zahlenwerte handelt und du die Attribute aus diesen Zahlenwerten erzeugst, müsstest du deine Summe doch vorher bilden können, oder? grüße ------------------ Grüße Meinolf Ich steh auf flotte Dreier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
master001 Mitglied Projektingenieur
Beiträge: 454 Registriert: 25.02.2005
|
erstellt am: 13. Okt. 2008 19:44 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
nein vorher klappt leider nicht, ich habe ein Modell in dem sind 2000 Teile verbaut. Ich brauch für die Bestellung dir Flächen der Teile. Da die Teile aber nur Symbolisch dargestellt werden, kann ich Sie nur als Wert erfassen und damit ich diese Werte in einer Baugruppe abgreifen kann, muss ich Sie in ein Attribut überführen. Ich schau mal ob ich hier morgen ein Formblatt einbinden kann Gruß Patric ------------------ E-Mail: patric.tilge@imtech.de Internet: http://www.imtech.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
master001 Mitglied Projektingenieur
Beiträge: 454 Registriert: 25.02.2005 Win 10 UG NX 12
|
erstellt am: 20. Okt. 2008 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
Zitat: Original erstellt von little_ug:
also für ein teileattribut Material mit dem Wert stahl. Dies kannst du dann mit if then else bedingungen verknüpfen alsoif durchmesser=15(ug_setPartAttrValue( "Material", "Stahl" ))else(ug_setPartAttrValue( "Material", "Holz" )) ... Gruß Michael
Moin Michael, hab eben mal deine If Formel versucht nur leider bekomme ich da immer eine Fehlermeldung bzgl Syntaxe. korrigiert: if a=200 then(ug_setPartAttrValue( "s", "a" )) else(ug_setPartAttrValue( "s", "b" )) Gruß Patric
------------------ E-Mail: patric.tilge@imtech.de Internet: http://www.imtech.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5145 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 20. Okt. 2008 14:32 <-- editieren / zitieren --> Unities abgeben:
|
master001 Mitglied Projektingenieur
Beiträge: 454 Registriert: 25.02.2005
|
erstellt am: 20. Okt. 2008 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für Meinolf Droste
|