| | |  | Teamcenter Herbsttagung | 28. Oktober 2026 | Siemens AG, Erlangen Termin: in 3 Tagen |
|
Autor
|
Thema: Woher vor Erzeugung dir Namen der Kanten eines Zylinders wissen? (1257 mal gelesen)
|
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen

 Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 03. Jan. 2008 19:15 <-- editieren / zitieren --> Unities abgeben:         
Ein neues Problem und wieder die Bitte um Hilfe. Für die ganzen Tips bisher noch einmal vielen, vielen Dank! Ich erzeuge über KF eine Welle, bestehend aus mehreren ug_cylinder. Die Maße dafür kommen aus einer Exceltabelle. Jetzt möchte ich an mehrere Kanten Phasen modellieren. Es gibt dazu eine Klasse "ug_single_offset_chamfer" und eine "nx_chamfer". Ich wollte es zuerst mit "ug_single_offset_chamfer" probieren. Die Klasse sieht wie folgt aus: Code: (Child) new_ug_single_offset_chamfer: { Class, ug_single_offset_chamfer; References, {}; Offset1, 0.25; };
Hier wußte ich nicht was ich bei References eintragen sollte, da ich nicht weiß wie die Kanten heißen. Also habe ich mir ein einfaches Beispiel aus 2 Zylindern (in KF erzeugt) erstellt (siehe Bild). Der kleine Zylinder links wurde zuerst erstellt, dann der große und mit Unite verknüpft. Dann habe ich von Hand im Modeling an den 4 direkt aufeinanderfolgende Kanten eine Phase erzeugt und das Feature in KF adoptiert.Hier sieht das dann so aus:
Code: { Class, nx_chamfer; Smart_Collector, collector:; Reverse_Offsets, FALSE; All_Instances, FALSE; Option, symmetric_offsets; Method, edges_along_faces; First_Offset, 2; First_Offset_Exp, 2; Second_Offset, 2; Second_Offset_Exp, 2; angle, 45; Angle_Exp, 45; Suppressed, FALSE; Name, ""; };{ Class, ug_collector; Tolerances, {0.5, 2.54e-005}; Rules, {{Tangent_Edges, ug_refObject("Edge:C-21-8","")}, {Tangent_Edges, ug_refObject("Edge:C-30-8","")}, {Tangent_Edges, ug_refObject("Edge:C-29-8","")}, {Tangent_Edges, ug_refObject("Edge:C-28-8","")}}; };
Im Bild ist den Kanten die Nummer zugeordnet. NX hat die Kanten also von Links nach Rechts mit 21,30,29,28 durchnummeriert. Woher kann ich denn die Namen der Kanten beim Programmieren des dfa-files vorher wissen? Oder gibts da einen ganz anderen Weg? Notlösung für mich wäre, das ich mit Durchmesser und Höhe der Zylinder und der Phasentiefe aus der Tabelle 3 Linien erzeugen kann und die dann extrudieren kann. Aber das müsste ich für jede Phase an der Welle als extra-code in der dfa-file stehen haben und das wird dann recht viel... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
totti2305 Mitglied Dipl Ing Maschinenbau
 
 Beiträge: 183 Registriert: 10.03.2005
|
erstellt am: 04. Jan. 2008 07:31 <-- editieren / zitieren --> Unities abgeben:          Nur für rhonanpaldur
Hallo Dieter! Ich hab dir mal ne selbsterstellte Vorlage zu ug_single_offset_chamfer per Email geschickt. Die Kanten kannst du dir einfach von NX aussuchen lassen indem du alle Kanten im Beierch eines Punktes suchen lässt. Diese werden dann in einer Liste angegeben. Mit der nth-Funktion kannst du dann die gewünschte Kante ansprechen, dass ist dann genau das was in References reinkommt. In dem Bsp. heisst die liste ts_kanteoben, schau dir die mal einfach im KF-Navigator an. Hoffe ich konnte dir helfen Torsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen

 Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 04. Jan. 2008 10:43 <-- editieren / zitieren --> Unities abgeben:         
|

| | Teamleiter:in Infrastrukturplanung (w/m/d) | Gestalte deine Zukunft bei Ingérop Hyna + Weiß Bauingenieure GmbH steht für fundiertes Ingenieurwissen und langjährige Erfahrung in den Bereichen Verkehrs- und Straßenplanung, Entwässerungssysteme sowie technische Erschließung. Wir entwickeln nachhaltige und wirtschaftliche Lösungen für anspruchsvolle Infrastrukturprojekte im öffentlichen und privaten Sektor.... | | Anzeige ansehen | Feste Anstellung |
|
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen

 Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 08. Jan. 2008 10:28 <-- editieren / zitieren --> Unities abgeben:         
Funktioniert wunderbar. In einfachen Fällen kann man das sogar verkürzen auf: Code: (Child) cylinder_1: { Class, ug_cylinder; Diameter, 20; Height, 50; Origin, Point(0,0,0); Direction, Vector(0,0,1); Operation, Unite; Target, {}; }; (Child) chamfer_1: { Class, ug_single_offset_chamfer; References, ug_feature_askEdgeClosestToPoint(cylinder_1:,cylinder_1: origin:) ; offset1, 2; };
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |