Esempio n. 1
0
 /// <inheritdoc />
 public override void UpdateEntities()
 {
     try
     {
         var length = EndPointOCS.DistanceTo(InsertionPointOCS);
         var scale  = GetScale();
         if (EndPointOCS.Equals(Point3d.Origin))
         {
             // Задание точки вставки. Второй точки еще нет - отрисовка типового элемента
             MakeSimplyEntity(UpdateVariant.SetInsertionPoint, scale);
         }
         else if (length < MinDistanceBetweenPoints * scale && MiddlePoints.Count == 0)
         {
             // Задание второй точки - случай когда расстояние между точками меньше минимального
             MakeSimplyEntity(UpdateVariant.SetEndPointMinLength, scale);
         }
         else
         {
             // Задание любой другой точки
             CreateEntities(InsertionPointOCS, MiddlePointsOCS, EndPointOCS, scale);
         }
     }
     catch (Exception exception)
     {
         ExceptionBox.Show(exception);
     }
 }
Esempio n. 2
0
 /// <inheritdoc />
 public override void UpdateEntities()
 {
     try
     {
         var length = EndPointOCS.DistanceTo(InsertionPointOCS);
         var scale  = GetScale();
         if (EndPointOCS.Equals(Point3d.Origin))
         {
             // Задание точки вставки (т.е. второй точки еще нет)
             MakeSimplyEntity(UpdateVariant.SetInsertionPoint, scale);
         }
         else if (length < MinDistanceBetweenPoints * scale)
         {
             // Задание второй точки - случай когда расстояние между точками меньше минимального
             MakeSimplyEntity(UpdateVariant.SetEndPointMinLength, scale);
         }
         else
         {
             // Задание второй точки
             var pts = PointsToCreatePolyline(scale, InsertionPointOCS, EndPointOCS, out List <double> bulges);
             FillMainPolylineWithPoints(pts, bulges);
         }
     }
     catch (Exception exception)
     {
         ExceptionBox.Show(exception);
     }
 }