public override bool Run(FeatureContext context)
        {
            float          y          = 10;
            TopoShape      line1      = GlobalInstance.BrepTools.MakeLine(new Vector3(0, 0, 0 + y), new Vector3(4, 0, 0 + y));
            TopoShape      line2      = GlobalInstance.BrepTools.MakeLine(new Vector3(4, 0, 0 + y), new Vector3(4, 0, 0.5f + y));
            TopoShape      line3      = GlobalInstance.BrepTools.MakeLine(new Vector3(4, 0, 0.5f + y), new Vector3(1, 0, 0.5f + y));
            TopoShape      line4      = GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 0.5f + y), new Vector3(1, 0, 4 + y));
            TopoShape      line5      = GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 4 + y), new Vector3(0.5f, 0, 4 + y));
            TopoShape      line6      = GlobalInstance.BrepTools.MakeLine(new Vector3(0.5f, 0, 4 + y), new Vector3(0.5f, 0, 0.5f + y));
            TopoShape      line7      = GlobalInstance.BrepTools.MakeLine(new Vector3(0.5f, 0, 0.5f + y), new Vector3(0, 0, 0.5f + y));
            TopoShape      line8      = GlobalInstance.BrepTools.MakeLine(new Vector3(0, 0, 0.5f + y), new Vector3(0, 0, 0 + y));
            TopoShapeGroup shapeGroup = new TopoShapeGroup();

            shapeGroup.Add(line2);
            shapeGroup.Add(line3);
            shapeGroup.Add(line4);
            shapeGroup.Add(line5);
            shapeGroup.Add(line6);
            shapeGroup.Add(line7);
            shapeGroup.Add(line8);
            shapeGroup.Add(line1);
            TopoShape profile = GlobalInstance.BrepTools.MakeWire(shapeGroup);

            TopoShape      line9     = GlobalInstance.BrepTools.MakeLine(new Vector3(0, 0, 0 + y), new Vector3(0, -20, 0 + y));
            TopoShapeGroup lineGroup = new TopoShapeGroup();

            lineGroup.Add(line9);
            TopoShape wire  = GlobalInstance.BrepTools.MakeWire(lineGroup);
            TopoShape sweep = GlobalInstance.BrepTools.Sweep(profile, wire, true);


            TopoShape      line10      = GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 0.5f + y), new Vector3(1, 0, 3 + y));
            TopoShape      line11      = GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 3 + y), new Vector3(2, 0, 3 + y));
            TopoShape      line12      = GlobalInstance.BrepTools.MakeLine(new Vector3(2, 0, 3 + y), new Vector3(2, 0, 0.5f + y));
            TopoShape      line13      = GlobalInstance.BrepTools.MakeLine(new Vector3(2, 0, 0.5f + y), new Vector3(1, 0, 0.5f + y));
            TopoShapeGroup shapeGroup1 = new TopoShapeGroup();

            shapeGroup1.Add(line10);
            shapeGroup1.Add(line11);
            shapeGroup1.Add(line12);
            shapeGroup1.Add(line13);
            TopoShape      profile1   = GlobalInstance.BrepTools.MakeWire(shapeGroup1);
            TopoShape      line14     = GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 0.5f + y), new Vector3(1, -0.5f, 0.5f + y));
            TopoShapeGroup lineGroup1 = new TopoShapeGroup();

            lineGroup1.Add(line14);
            TopoShape wire1 = GlobalInstance.BrepTools.MakeWire(lineGroup1);

            TopoShape sweep1 = GlobalInstance.BrepTools.Sweep(profile1, wire1, true);

            TopoShape comp = GlobalInstance.BrepTools.BooleanAdd(sweep, sweep1);

            RepairTools rt = new RepairTools();

            comp = rt.RemoveExtraEdges(comp);

            context.ShowGeometry(comp);

            return(true);
        }
Beispiel #2
0
        public override bool Run(FeatureContext context)
        {
            TopoShape box1 = GlobalInstance.BrepTools.MakeBox(Vector3.ZERO, Vector3.UNIT_Z, new Vector3(100, 100, 100));
            TopoShape box2 = GlobalInstance.BrepTools.MakeBox(new Vector3(0, 0, -100), Vector3.UNIT_Z, new Vector3(100, 100, 100));

            TopoShapeGroup group = new TopoShapeGroup();

            group.Add(box1);
            group.Add(box2);

            TopoShape compound = GlobalInstance.BrepTools.MakeCompound(group);

            RepairTools repairTool = new RepairTools();
            TopoShape   glue       = repairTool.GlueFaces(compound, 0.00001f, true);

            //TopoShape newBody = repairTool.RemoveExtraEdges(glue);
            context.ShowGeometry(glue);

            return(true);
        }
Beispiel #3
0
        private void complexToolStripMenuItem_Click(object sender, EventArgs e)
        {
            float y = 10;
            TopoShape line1 =  GlobalInstance.BrepTools.MakeLine(new Vector3(0, 0, 0 + y), new Vector3(4, 0, 0 + y));
            TopoShape line2 =  GlobalInstance.BrepTools.MakeLine(new Vector3(4, 0, 0 + y), new Vector3(4, 0, 0.5f + y));
            TopoShape line3 =  GlobalInstance.BrepTools.MakeLine(new Vector3(4, 0, 0.5f + y), new Vector3(1, 0, 0.5f + y));
            TopoShape line4 =  GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 0.5f + y), new Vector3(1, 0, 4 + y));
            TopoShape line5 =  GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 4 + y), new Vector3(0.5f, 0, 4 + y));
            TopoShape line6 =  GlobalInstance.BrepTools.MakeLine(new Vector3(0.5f, 0, 4 + y), new Vector3(0.5f, 0, 0.5f + y));
            TopoShape line7 =  GlobalInstance.BrepTools.MakeLine(new Vector3(0.5f, 0, 0.5f + y), new Vector3(0, 0, 0.5f + y));
            TopoShape line8 =  GlobalInstance.BrepTools.MakeLine(new Vector3(0, 0, 0.5f + y), new Vector3(0, 0, 0 + y));
            TopoShapeGroup shapeGroup = new TopoShapeGroup();

            shapeGroup.Add(line2);
            shapeGroup.Add(line3);
            shapeGroup.Add(line4);
            shapeGroup.Add(line5);
            shapeGroup.Add(line6);
            shapeGroup.Add(line7);
            shapeGroup.Add(line8);
            shapeGroup.Add(line1);
            TopoShape profile =  GlobalInstance.BrepTools.MakeWire(shapeGroup);

            TopoShape line9 =  GlobalInstance.BrepTools.MakeLine(new Vector3(0, 0, 0 + y), new Vector3(0, -20, 0 + y));
            TopoShapeGroup lineGroup = new TopoShapeGroup();
            lineGroup.Add(line9);
            TopoShape wire =  GlobalInstance.BrepTools.MakeWire(lineGroup);
            TopoShape sweep =  GlobalInstance.BrepTools.Sweep(profile, wire);
            //shapeGroupall.Add(sweep);

            //renderView.ShowGeometry(sweep, ++shapeId);



            TopoShape line10 =  GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 0.5f + y), new Vector3(1, 0, 3 + y));
            TopoShape line11 =  GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 3 + y), new Vector3(2, 0, 3 + y));
            TopoShape line12 =  GlobalInstance.BrepTools.MakeLine(new Vector3(2, 0, 3 + y), new Vector3(2, 0, 0.5f + y));
            TopoShape line13 =  GlobalInstance.BrepTools.MakeLine(new Vector3(2, 0, 0.5f + y), new Vector3(1, 0, 0.5f + y));
            TopoShapeGroup shapeGroup1 = new TopoShapeGroup();
            shapeGroup1.Add(line10);
            shapeGroup1.Add(line11);
            shapeGroup1.Add(line12);
            shapeGroup1.Add(line13);
            TopoShape profile1 =  GlobalInstance.BrepTools.MakeWire(shapeGroup1);
            TopoShape line14 =  GlobalInstance.BrepTools.MakeLine(new Vector3(1, 0, 0.5f + y), new Vector3(1, -0.5f, 0.5f + y));
            TopoShapeGroup lineGroup1 = new TopoShapeGroup();
            lineGroup1.Add(line14);
            TopoShape wire1 =  GlobalInstance.BrepTools.MakeWire(lineGroup1);

            TopoShape sweep1 =  GlobalInstance.BrepTools.Sweep(profile1, wire1);
            //shapeGroupall.Add(sweep1);

            TopoShape comp = GlobalInstance.BrepTools.BooleanAdd(sweep, sweep1);
            RepairTools rt = new RepairTools();
            comp = rt.RemoveExtraEdges(comp);

            renderView.ShowGeometry(comp, ++shapeId);
            renderView.View3d.FitAll();

        }