Flange

Flange

CompositeCurve cc1 = new CompositeCurve(
new Line(Plane.XZ, 15, 40, 29, 40),
new Arc(Plane.XZ, new Point2D(29, 39), 1, 0, Utility.DegToRad(90)),
new Line(Plane.XZ, 30, 39, 30, 16),
new Arc(Plane.XZ, new Point2D(36, 16), 6, Math.PI, Utility.DegToRad(270)),
new Line(Plane.XZ, 36, 10, 79, 10),
new Arc(Plane.XZ, new Point2D(79, 9), 1, 0, Utility.DegToRad(90)),
new Line(Plane.XZ, 80, 9, 80, 6),
new Arc(Plane.XZ, new Point2D(86, 6), 6, Utility.DegToRad(180), Utility.DegToRad(270)),
new Line(Plane.XZ, 86, 0, 130, 0));

Region reg = cc1.OffsetToRegion(5, 0, false);

Solid3D rev1 = reg.RevolveAsSolid3D(Math.PI * 2, Vector3D.AxisZ, Point3D.Origin);

viewportLayout1.Entities.Add(rev1, 0, System.Drawing.Color.Aqua);

CircularSlotShapedRegion cssr1 = new CircularSlotShapedRegion(0, Utility.DegToRad(30), 60, 8);

rev1.ExtrudeRemovePattern(cssr1, new Interval(0, 50), Point3D.Origin, Utility.DegToRad(360) / 3, 3);

RectangularRegion rr1 = new RectangularRegion(90, -40, 50, 80);

rev1.ExtrudeRemovePattern(rr1, new Interval(0, 50), Point3D.Origin, Utility.DegToRad(360) / 2, 2);

CircularRegion cr1 = new CircularRegion(110, 0, 10);

const int numHoles = 8;

rev1.ExtrudeRemovePattern(cr1, 50, Point3D.Origin, Utility.DegToRad(360) / numHoles, numHoles);

viewportLayout1.Entities.Regen();
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.