public static void Print(this Cone cone, Part part = null) { double startV = -Math.Cos(cone.HalfAngle) * cone.Radius; double endV = 0; ShapeHelper.CreateRevolvedCurve(cone.Axis, CurveSegment.Create( cone.Evaluate(PointUV.Create(0, startV)).Point, cone.Evaluate(PointUV.Create(0, endV)).Point )).Print(part); // Circle.Create(cone.Frame, cone.Radius).Print(part); // CurveSegment.Create(cone.Evaluate(PointUV.Create(0, 0)).Point, cone.Evaluate(PointUV.Create(Math.PI / 2, 0)).Point).Print(part); }
public static Point WrapPoint(this Cone cone, double angle, double distance) { return(cone.Evaluate(PointUV.Create(angle, distance * Math.Cos(cone.HalfAngle))).Point); }