/// <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); } }
/// <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); } }