Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX
  KF Attribute einer Instanz ändern

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



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

Beiträge: 62
Registriert: 29.10.2004

UG NX3

erstellt am: 19. Jan. 2005 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


KFNavigatormitchildlist.zip

 
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



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

Beiträge: 86
Registriert: 12.12.2001

erstellt am: 19. Jan. 2005 23: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 DinnerForOne 10 Unities + Antwort hilfreich

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



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

Beiträge: 62
Registriert: 29.10.2004

UG NX3

erstellt am: 20. Jan. 2005 14: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

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


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

Beiträge: 403
Registriert: 17.06.2003

erstellt am: 20. Jan. 2005 14:30    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 DinnerForOne 10 Unities + Antwort hilfreich

Strings, Excel? Nimm die ODBC-Schnittstelle -> funktioniert.

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

DinnerForOne
Mitglied



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

Beiträge: 62
Registriert: 29.10.2004

UG NX3

erstellt am: 20. Jan. 2005 14:45    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

Ja, da hast du recht, mag aber nicht auf jedem Client die ODBC einrichten. Aber danke für den Hinweis!

Gruss und auf ein andermal zu einem gemütlichen KF-Shwatz...

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

Joerg.A
Mitglied



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

Beiträge: 86
Registriert: 12.12.2001

erstellt am: 29. Jan. 2005 14:47    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 DinnerForOne 10 Unities + Antwort hilfreich

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


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

Beiträge: 403
Registriert: 17.06.2003

erstellt am: 31. Jan. 2005 09:26    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 DinnerForOne 10 Unities + Antwort hilfreich

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

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