| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX | | |  | Simcenter FLOEFD: Effizientes Thermomanagement elektronischer Baugruppen, ein Webinar am 23.09.2025
|
Autor
|
Thema: KF Attribute einer Instanz ändern (1134 mal gelesen)
|
DinnerForOne Mitglied

 Beiträge: 62 Registriert: 29.10.2004 UG NX3
|
erstellt am: 19. Jan. 2005 16:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, habe wieder einmal ein KF Problem. Ich möchte den Zentrumspunkt einer erzeugten Kugel ändern. Es werden mehrere Kugeln in einer Child List erzeugt, ich weiss im voraus wie die Instanzen heissen (werden von 1 aus hinaufinkrementiert). Nun habe ich eine Funktion an einen Button gehängt, welche versucht das Zentrum der ersten Instanze zu ändern. Beim Laden der Klasse wird diese Zeile in der Funktion aber nicht akzeptiert, KF hat ein Problem damit. Jetzt frage ich mich welches? Die Instanz existiert beim laden der Klasse noch nicht, ist das die Ursache fürs Problem (habe ich aber in ähnlicher Form auch schon gemacht)? Sind die Instanzen nicht mehr modifiable? Im Anhang ein Bild mit der Child Rule, wo die Instanzennamen ersichtlich sind.
Beispiel: #Liste mit den Zentrumspunkten (List Modifiable Parameter) ri_point_list: {point(100,0,0), point(200,0,0)};
#Listenlaenge (Integer Modifiable Parameter) ri_point_list_length: length(ri_point_list:); #Kugeln erzeugen (Child List Modifiable) ri_spheres: { Class, ug_sphere; quantity, ri_point_list_length:; Diameter, 10; Center, nth(child:index:, ri_point_list:); }; #Zentrumspunkt der ersten Kugel ändern(an Action Button verknüpft) (Integer Modifiable Parameter) RI_UPDATE_POINT: @{ #diese Zeile macht Probleme ri_spheres:ri_spheres_1:Center: << point(0,0,0); 0; };
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joerg.A Mitglied

 Beiträge: 86 Registriert: 12.12.2001
|
erstellt am: 19. Jan. 2005 23:40 <-- editieren / zitieren --> Unities abgeben:          Nur für DinnerForOne
Hi, in einem Expression-Block kannst Du einem anderen KF-Attribut nichts zuweisen (Ausnahme storeValue). Dort kannst Du nur lokale Attribute mit einem $ definieren, deshalb auch die Fehlermeldung. Der letzte Wert wird dann an das aktuelle KF-Attribut übergeben. Zudem weist Du dem Attribut, das Du hier ändern willst, in der Child List ja eine andere Regel schon zu. In Deinem Fall würde ich einfach die Ausgangsliste mit den Positionen ändern. (Integer Modifiable Parameter) modify_point: 1; (List) modify_point_list: loop{for $i from 1 to length(ri_point_list: );collect $i; }; Im Dialog ein Option-Menü erstellen um den zu editierende Point auszuwählen. (Integer) RI_UPDATE_POINT: @{ $list << loop{ for $i from 1 to length(ri_point_list: ); for $a is if ($i=modify_point: ) then Point(0,0,0) else nth($i,ri_point_list: ); collect $a; }; storeValue($list,self:,ri_point_list ); 0; }; Dieser Code tauscht einfach den im Option-Menü ausgewählte Punkt in der Liste temporär aus und schreibt die neue Liste wieder in das Original-Attribut. Ich hoffe es klappt, denn ich konnte es noch nicht ausprobieren. Gruss Joerg.A Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DinnerForOne Mitglied

 Beiträge: 62 Registriert: 29.10.2004 UG NX3
|
erstellt am: 20. Jan. 2005 14:06 <-- editieren / zitieren --> Unities abgeben:         
Hallo Joerg, so machts Spass, die Applikation wird je länger je schöner. Danke für die Hilfe. Noch was anderes: habe noch bei UGS KF Enhancement Requests deponiert... 2.1. Function ”ug_excel_read” Defun: ug_excel_read( String, $file_name, String, $cell ) @{...} Number; It’s not possible to read Strings from an Excel File. Just Numbers are supported. Wished return type is any. It would be possible to create any definition files (used for the most applications) in excel, it’s easier to edit as an ASCII File. 2.2. Class “ug_extruded” DefClass: ug_extruded (ug_feature); (Canonical Number Parameter Modifiable) Taper_Angle: 0; (Canonical Number Parameter Modifiable) Start_Limit: 0; (Canonical Number Parameter Modifiable) End_Limit: 1; (Canonical Vector Parameter Modifiable) Direction: Vector(0,0,1); (Canonical List Parameter Modifiable) Profile: {}; (Canonical List Parameter) Start_Trim: {}; (Canonical List Parameter) End_Trim: {}; (Canonical Name Parameter) Operation: Unite; (Canonical List Parameter uncached) Target: {}; In opposite to the interactive extruded Dialog, it’s not possible to define an Offset (Start and End). Due to this circumstance, it’s not possible to get directly a solid by an extruded function of one curve. It’s necessary to create first offset curves an use this one for the extruded function. 2.3. Multi selection of Points With the sub dialog “point sub function” (called over the return value “point” on an action button) just single definition is possible. After selecting a point, the dialog closes an give me just one Point back. I would like to have the possibility to change the single selection mode to a multi selection mode (return List of Points).
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
 
 Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 20. Jan. 2005 14:30 <-- editieren / zitieren --> Unities abgeben:          Nur für DinnerForOne
|
DinnerForOne Mitglied

 Beiträge: 62 Registriert: 29.10.2004 UG NX3
|
erstellt am: 20. Jan. 2005 14:45 <-- editieren / zitieren --> Unities abgeben:         
|
Joerg.A Mitglied

 Beiträge: 86 Registriert: 12.12.2001
|
erstellt am: 29. Jan. 2005 14:47 <-- editieren / zitieren --> Unities abgeben:          Nur für DinnerForOne
Zitat: Original erstellt von DinnerForOne: 2.2. Class “ug_extruded”DefClass: ug_extruded (ug_feature); (Canonical Number Parameter Modifiable) Taper_Angle: 0; (Canonical Number Parameter Modifiable) Start_Limit: 0; (Canonical Number Parameter Modifiable) End_Limit: 1; (Canonical Vector Parameter Modifiable) Direction: Vector(0,0,1); (Canonical List Parameter Modifiable) Profile: {}; (Canonical List Parameter) Start_Trim: {}; (Canonical List Parameter) End_Trim: {}; (Canonical Name Parameter) Operation: Unite; (Canonical List Parameter uncached) Target: {}; In opposite to the interactive extruded Dialog, it’s not possible to define an Offset (Start and End). Due to this circumstance, it’s not possible to get directly a solid by an extruded function of one curve. It’s necessary to create first offset curves an use this one for the extruded function.
Hallo, in NX3 gibt es eine neue Klasse, die das neue Extrude anspricht (ug_mswp_extrude). Damit kannst Du auch die Offset-Funktion vom Extrude verwenden. Die Eingabe der Kurven erfolgt hiebei allerdings über eine andere Klasse (ug_section). Es hat mich übrigens auch sehr gestört, dass UG diese nicht von Anfang an in das alte Extruded in KF implementiert hat. Gruss Joerg.A Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
 
 Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 31. Jan. 2005 09:26 <-- editieren / zitieren --> Unities abgeben:          Nur für DinnerForOne
Zitat: Original erstellt von DinnerForOne: [B]Ja, da hast du recht, mag aber nicht auf jedem Client die ODBC einrichten.
Ich mag die ODBC-Schnittstelle auch nicht, doch darum kann sich KF selbst kümmern: der Befehl system(...) machts möglich. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |