public static Line2D DrawLine(this Factory2D F, Point2D Start, Point2D End) { Line2D L = F.CreateLine(Start.GetPos(), End.GetPos()); L.StartPoint = Start; L.EndPoint = End; return L; }
public static Line2D DrawLine(this Factory2D F, Vector Start, Point2D End) { Line2D L = F.CreateLine(Start, End.GetPos()); if (LookupTable.ContainsKey(Start)) L.StartPoint = LookupTable[Start]; else { L.StartPoint = L.StartPoint; LookupTable.Add(Start, L.StartPoint); } L.EndPoint = End; return L; }
public static Line2D DrawLine(this Factory2D F, Point2D Start, Vector End) { Line2D L = F.CreateLine(Start.GetPos(), End); L.StartPoint = Start; if (LookupTable.ContainsKey(End)) L.EndPoint = LookupTable[End]; else { L.EndPoint = L.EndPoint; LookupTable.Add(End, L.EndPoint); } return L; }
public static SketchSegment[] CreateLinesByPoints(this SketchManager manager, params double[] points) { manager.InsertSketch(true); manager.AddToDB = true; var segments = new List<SketchSegment>(); for(var i = 0; i < points.Length - 3; i+=3) { segments.Add(manager.CreateLine(points[i], points[i + 1], points[i + 2], points[i + 3], points[i + 4], points[i + 5])); } manager.AddToDB = false; return segments.ToArray(); }
/// <summary> /// Create a line from p0 to p1. /// </summary> /// <param name="modeler"></param> /// <param name="edge"></param> /// <returns></returns> public static ICurve CreateTrimmedLine(this IModeler modeler, Edge3 edge) { Debug.Assert(edge.Delta.Length() > double.Epsilon); var startPoint = new[] {(double)edge.A.X, (double)edge.A.Y,(double)edge.A.Z}; var dir = edge.Delta.Unit(); var direction = new[] {(double)dir.X,(double)dir.Y,(double)dir.Z}; var line = (ICurve)modeler.CreateLine(startPoint, direction); Debug.Assert(line != null, "line != null"); var pp0 = line.GetClosestPointOn(edge.A.X, edge.A.Y, edge.A.Z).CastArray<double>(); var pp1 = line.GetClosestPointOn(edge.B.X, edge.B.Y, edge.B.Z).CastArray<double>(); //line = line.CreateTrimmedCurve2(pp0[0], pp0[1], pp0[2], pp1[0], pp1[1], pp1[2]); var trimmedLine = line.CreateTrimmedCurve(pp0[3], pp1[3]); Debug.Assert(trimmedLine != null, "line != null"); return trimmedLine; }
public static Line2D DrawLine(this Factory2D F, Vector Start, Vector End) { Line2D L = F.CreateLine(Start, End); if (LookupTable.ContainsKey(Start)) L.StartPoint = LookupTable[Start]; else { L.StartPoint = L.StartPoint; LookupTable.Add(Start, L.StartPoint); } if (LookupTable.ContainsKey(End)) L.EndPoint = LookupTable[End]; else { L.EndPoint = L.EndPoint; LookupTable.Add(End, L.EndPoint); } return L; }
static Line2D CreateLine(this Factory2D F, Vector Start, Vector End) { return F.CreateLine(Start.X, Start.Y, End.X, End.Y); }