| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
| NX Updatekurs |
Autor
|
Thema: NX2 Array mit wechselnden Abständen, wie? (764 mal gelesen)
|
macasina Mitglied
Beiträge: 8 Registriert: 17.11.2004
|
erstellt am: 23. Nov. 2004 07:43 <-- editieren / zitieren --> Unities abgeben:
grüß euch, wie löst ihr folgende aufgabe. ich hebe einen einfachen solid (block) diesen möchte ich 30 mal in eine richtung vervielfältigen. mit instances gibt man den abstand, richtung und anzahl ein und er schiesst den block entsprechend in diese richtung. nun möchte ich aber den abstand von block zu block um einen immer gleichbleibenden wert erhöhen. d.h der erste abstand zwischen den blöcken ist z.b. 0.3, der nächste abstand (also zwischen block 2 und 3) ist 0.31, weiter mit 0.32 (zwischen 3 und 4) usw. wenn ich beim abstand 0.3+0.1 eintippe errechnet er 0.4 und der abstand ist dann überall dieser wert........ es wäre nett wenn da einer einen tipp hätte, CU arthur Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 23. Nov. 2004 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für macasina
|
liogets Mitglied Engineer
Beiträge: 161 Registriert: 22.10.2002 Win XP SP3 NX 6.0.5.3 (Produktiv) NX8 (Test)
|
erstellt am: 23. Nov. 2004 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für macasina
Hallo Arthur, ich würde es mit 'Clock Instance' versuchen. Gehe dazu im Model Navigator auf die erste Instanz des Arrays (Instance 01), -> RMB -> Edit Parameter -> Clock Instance ... Hier kannst du jetzt diese Instanz in X und Y-Richtung verschieben. Wäre bei dir also +0.01 in die X oder Y (entsprechend deinem Muster)... Dies must du dann für jede weitere Instance im Muster wiederholen, d.h bei der zweiter +0.02 bei der dritten +0.03 und so weiter ... Sind diese Parameter ersteinmal erzeugt, kannst du sie auch in der Expression List nachträglich ändern... Hoffe es klappt, Gruß Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
macasina Mitglied
Beiträge: 8 Registriert: 17.11.2004
|
erstellt am: 23. Nov. 2004 08:57 <-- editieren / zitieren --> Unities abgeben:
servus, danke für die antworten, das habe ich auch schon vermutet,wenn ich dich richtig verstanden habe, muss ich das für jeden einzelnen schritt händisch eingeben. das ist halt mühselig, da ich ca. 50 blöcke mit ansteigenden abständen brauche, CU arthur Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
macasina Mitglied
Beiträge: 8 Registriert: 17.11.2004
|
erstellt am: 23. Nov. 2004 08:58 <-- editieren / zitieren --> Unities abgeben:
|
schmima Mitglied Konstrukteur
Beiträge: 375 Registriert: 01.07.2003 NX 6.0.2.8 TCE 10.0.2.2
|
erstellt am: 23. Nov. 2004 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für macasina
|
macasina Mitglied
Beiträge: 8 Registriert: 17.11.2004
|
erstellt am: 23. Nov. 2004 11:15 <-- editieren / zitieren --> Unities abgeben:
|
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 23. Nov. 2004 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für macasina
Ich habe mal ein paar Minuten investiert und folgendes KF-file erstellt: #! UGNX/KF 2.0 DefClass: kf_block (ug_base_part); (number) bl_b: 40; (number) bl_h: 20; (number) bl_l: 50; (point) bl_pt: Point(0,0,0); (integer) anzahl: 30; (number) standard: 0.3; (number) zusatz: 0.01; (number) grenze: 0.1; (child list) GB: { Class; ug_block; quantity, anzahl:, Length; bl_l:; Width; bl_b:; Height; bl_h:; Origin; bl_pt: + vector((child:index: - 1) * bl_l: + dist_bl(child:index: - 1), 0,0); }; Defun: dist_bl (number $n) @{ $m << $n - 1; $a << $n * standard:; $f << grenze: / zusatz:; $g << 1 + $f; $b << if $m > 0 then loop { for $x from 1 to $m; sum $x; } * zusatz: else 0; $e << loop { for $x from 1 to $g; sum $x; } * zusatz:; $c << if $n = 0 then 0 else if $n <= $g then $a + $b else $a + $e - zusatz: + ($n - $g - 1) * grenze:; } number;
Die Sache wird natürlich erst richtig rund, wenn man dazu einen UI-Dialog erstellt - daher sind alle Parameter zu Beginn dargestellt.
Viel Spaß beim Probieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
macasina Mitglied
Beiträge: 8 Registriert: 17.11.2004
|
erstellt am: 23. Nov. 2004 15:46 <-- editieren / zitieren --> Unities abgeben:
|