/// <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); } }
/// <inheritdoc/> public override void UpdateEntities() { try { var scale = GetScale(); //// Задание первой точки (точки вставки). Она же точка начала отсчета if (JigState == SecantNodalLeaderJigState.InsertionPoint) { var tempEndPoint = new Point3d( InsertionPointOCS.X, InsertionPointOCS.Y + (MinDistanceBetweenPoints * scale), InsertionPointOCS.Z); CreateEntities(InsertionPointOCS, tempEndPoint, scale); } //// Указание точки выноски else { // Если конечная точка на расстоянии, менее допустимого if (EndPointOCS.DistanceTo(InsertionPointOCS) < MinDistanceBetweenPoints * scale) { var v = (EndPointOCS - InsertionPointOCS).GetNormal(); var tempEndPoint = InsertionPointOCS + (MinDistanceBetweenPoints * scale * v); CreateEntities(InsertionPointOCS, tempEndPoint, scale); } else { // Прочие случаи CreateEntities(InsertionPointOCS, EndPointOCS, scale); } } } catch (Exception exception) { ExceptionBox.Show(exception); } }