Hallo en0038,
Du musst dem ug_simple_hole die Faces mitgeben. Diese kannst Du mit Funktionen abrufen. In folgendem Beispiel kannst Du Dir die Arbeitsweise mal ansehen:
(Child) cylinder:
{
Class, ug_cylinder;
Diameter, 50;
Height, 100;
};
Dies ist der Ausgangszylinder.
(List) oberes_face: ug_feature_askFaceClosestToPoint(cylinder:, cylinder: origin:+vector(0,0,cylinder:Height: ));
(List) unteres_face: ug_feature_askFaceClosestToPoint(cylinder:, cylinder: origin: );
Mit diese beideb Attributen rufe ich das obere und das untere Face von dem Zylinder ab.
(Child) cylinder:
{
Class, ug_simple_hole;
Hole_Diameter, 25;
Location, Point(0,0,cylinder:Height: );
Placement_Face, oberes_face:;
Thru_Face, unteres_face:;
};
In diesem Fall habe ich noch das untere Face mitgegeben, damit das Loch immer komplett durch geht, dies ist aber optional und nicht zwingend erforderlich.
Da der Zylinder in KF parametrisch positioniert werden kann gibt für Deinen Fall noch eine andere Lösung, einfach mit einem zweiten Zylinder.
(Child) hole:
{
Class, ug_cylinder;
Diameter, 25;
Height, cylinder:Height:;
origin, cylinder: origin:;
Direction, cylinder: Direction:;
Operation, Subtract;
Target, {cylinder:};
};
Hierbei kannst Du Dir die Abfrage der Faces sparen und der zweite Zylinder ändert sich in der Höhe genauso wie der erste.
Schöne Grüße
Joerg.A
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP