Ejemplo n.º 1
0
        public override bool Execute()
        {
            var dependency       = Builder.Node.Get <FunctionInterpreter>().Dependency;
            var firstData        = dependency[Constant.StepIndexBeamFirstNode].ReferenceData;
            var firstNode        = firstData.Node;
            var firstIndex       = firstData.ShapeCount;
            var firstPointValue  = ShapeUtils.ExtractShapesPoint(firstNode, firstIndex);
            var secondData       = dependency[Constant.StepIndexBeamSecondNode].ReferenceData;
            var secondNode       = secondData.Node;
            var secondIndex      = secondData.ShapeCount;
            var secondPointValue = ShapeUtils.ExtractShapesPoint(secondNode, secondIndex);

            if (firstPointValue.IsEqual(secondPointValue, Precision.Confusion))
            {
                return(false);
            }

            NodeUtils.Hide(firstNode);
            NodeUtils.Hide(secondNode);

            var aEdge = new BRepBuilderAPIMakeEdge(firstPointValue, secondPointValue).Edge;
            var wire  = new BRepBuilderAPIMakeWire(aEdge).Wire;

            Shape = wire;

            return(true);
        }
 public static Point3D ComputePointPosition(Node node, int vertexIndex)
 {
     if (node == null)
     {
         throw new ArgumentNullException("node");
     }
     return(ShapeUtils.ExtractShape(node) == null
                ? new Point3D()
                : new Point3D(ShapeUtils.ExtractShapesPoint(node, vertexIndex)));
 }
Ejemplo n.º 3
0
        public static Point3D GetReferencePoint(NodeBuilder builder, int index)
        {
            var dependency = builder.Node.Get <FunctionInterpreter>().Dependency;
            var sourceData = dependency[index].ReferenceData;
            var shapeNode  = sourceData.Node;
            var pointIndex = dependency[index].ReferenceData.ShapeCount;

            var soucePointValue =
                ShapeUtils.ExtractShapesPoint(shapeNode, pointIndex);

            return(new Point3D(soucePointValue));
        }