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();
Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.