Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 6
0
 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;
 }
Esempio n. 7
0
 static Line2D CreateLine(this Factory2D F, Vector Start, Vector End)
 {
     return F.CreateLine(Start.X, Start.Y, End.X, End.Y);
 }