Maltese Cross

CompositeCurve cc1 = new CompositeCurve(
    new Line(-6, -13.5, -6, -21),
    new Arc(-4.5, -21, 0, 1.5, Utility.DegToRad(180), Utility.DegToRad(270)),
    new Line(-4.5, -22.5, -1.5, -22.5),
    new Arc(-1.5, -24, 0, 1.5, Utility.DegToRad(90), 0),
    new Line(0, -24, 0, -80),
    new Line(0, -80, 15, -80),
    new Line(15, -80, 15, -24),
    new Arc(16.5, -24, 0, 1.5, Utility.DegToRad(180), Utility.DegToRad(90)),
    new Line(16.5, -22.5, 34.5, -22.5),
    new Arc(34.5, -21, 0, 1.5, Utility.DegToRad(270), Utility.DegToRad(360)),
    new Line(36, -21, 36, -13.5),
    new Line(36, -13.5, -6, -13.5)
);

Solid3D rev1 = cc1.RevolveAsSolid3D(0, Utility.DegToRad(360), Vector3D.AxisX, Point3D.Origin);

viewportLayout1.Entities.Add(rev1, 0, Color.LightCoral);

CircularRegion cr1 = new CircularRegion(Plane.YZ, 0, 92, 33);

rev1.ExtrudeRemovePattern(cr1, 20, Vector3D.AxisX, Point3D.Origin, Utility.DegToRad(60), 6);

SlotShapedRegion ssr1 = new SlotShapedRegion(Plane.YZ, 45, 0, 50, 9);

rev1.ExtrudeRemovePattern(ssr1, 20, Vector3D.AxisX, Point3D.Origin, Utility.DegToRad(60), 6);

CircularRegion cr = new CircularRegion(Plane.XZ, 22.5, 0, 3.25);

rev1.ExtrudeRemove(cr, new Interval(-25, 25));

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.