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");
        }
Esempio n. 3
0
 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);
        }
Esempio n. 5
0
 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");
 }
Esempio n. 6
0
 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("");
     
 }
Esempio n. 7
0
        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));
        }