private void SetInternalRadius(object data) { BeginUpdate(); Builder[1].Real = (double)data; NodeBuilderUtils.UpdateSketchesOnFaces(new NodeBuilder(Parent)); EndVisualUpdate("Fillet 2D radius changed"); }
private void SetInternalRadius(object data) { BeginUpdate(); Builder[2].Real = (double)data; NodeBuilderUtils.UpdateSketchesOnFaces(Builder); EndVisualUpdate("Extrude depth changed"); }
private void OnSetLengthValueHandler(object data) { BeginUpdate(); TreeUtils.SetLineLength(Parent, (double)data); CallSolverForLineChanges(Parent); NodeBuilderUtils.UpdateSketchesOnFaces(new NodeBuilder(Parent)); EndVisualUpdate("Updated length"); }
private void SetMinorRadius(object data) { BeginUpdate(); var previousMajor = GetPreviousMajorRadius(); SetRadius(previousMajor, (double)data); NodeBuilderUtils.UpdateSketchesOnFaces(new NodeBuilder(Parent)); EndUpdate(PropertyDescriptorsResources.EllipseTab_Set_minor_radius); }
private void SetValue(object data) { BeginUpdate(); //if (Builder.Node.Children.Count == 0) //{ // return; //} Builder[1].Real = (double)data; CallSolverForLineChanges(Parent); NodeBuilderUtils.UpdateSketchesOnFaces(new NodeBuilder(Parent)); EndVisualUpdate("Set circle radius"); }
private void SetStartAngleValue(object data) { if (Builder.Node.Children.Count == 0) return; BeginUpdate(); var angle = (double)data; Builder[1].RefTransformedPoint3D = NodeBuilderUtils.PositionForAngle(Builder, Builder[0].RefTransformedPoint3D, Builder[1].RefTransformedPoint3D, angle); Builder.ExecuteFunction(); NodeBuilderUtils.UpdateSketchesOnFaces(new NodeBuilder(Parent)); EndVisualUpdate(""); }
private void SetRadiusValue(object data) { var radius = (double)data; if (Builder.Node.Children.Count == 0) return; if (radius > 0) { BeginUpdate(); Builder[1].RefTransformedPoint3D = NodeBuilderUtils.PointForNewArcRadius(Builder, Builder[0].RefTransformedPoint3D, Builder[1].RefTransformedPoint3D, radius); Builder[2].RefTransformedPoint3D = NodeBuilderUtils.PointForNewArcRadius(Builder, Builder[0].RefTransformedPoint3D, Builder[2].RefTransformedPoint3D, radius); Builder.ExecuteFunction(); NodeBuilderUtils.UpdateSketchesOnFaces(new NodeBuilder(Parent)); EndVisualUpdate(""); } }
private void SetRadius(Double majorRadius, Double minorRadius) { bool reversed; gpDir dirX = null; gpDir dirY = null; double previousMinorRadius; double previousMajorRadius; var firstPoint = Builder[0].ReferenceBuilder[1].TransformedPoint3D; var secondPoint = Builder[1].ReferenceBuilder[1].TransformedPoint3D; var thirdPoint = Builder[2].ReferenceBuilder[1].TransformedPoint3D; TreeUtils.ComputeEllipseRadiuses(firstPoint, secondPoint, thirdPoint, out previousMinorRadius, out previousMajorRadius, out reversed, ref dirX, ref dirY); // Calculate the ratio needed to scale the radiuses var scaleMajor = majorRadius / previousMajorRadius; var scaleMinor = minorRadius / previousMinorRadius; var center = firstPoint; var translatedPoint = new Point3D(center.X, center.Y, center.Z); var translatedPoint2 = new Point3D(center.X, center.Y, center.Z); // If minor radius is smaller than major radius if (!reversed) { Builder[1].ReferenceBuilder[1].TransformedPoint3D = TreeUtils.ScaleSegment(translatedPoint, secondPoint, scaleMajor); Builder[2].ReferenceBuilder[1].TransformedPoint3D = TreeUtils.ScaleSegment(translatedPoint2, thirdPoint, scaleMinor); } else { Builder[1].ReferenceBuilder[1].TransformedPoint3D = TreeUtils.ScaleSegment(translatedPoint, secondPoint, scaleMinor); Builder[2].ReferenceBuilder[1].TransformedPoint3D = TreeUtils.ScaleSegment(translatedPoint2, thirdPoint, scaleMajor); } NodeBuilderUtils.UpdateSketchesOnFaces(new NodeBuilder(Parent)); }