コード例 #1
0
        public override bool Run(FeatureContext context)
        {
            Text3dNode textNode = new Text3dNode();

            textNode.SetFontName("FangSong (TrueType)");
            textNode.SetText("1234565\nabcdefg\n我爱CAD");
            textNode.SetLineSpace(10);

            Coordinate3 coord = new Coordinate3();

            coord.Origion = new Vector3(100, 100, 0);
            coord.X       = new Vector3(1, 1, 0);
            coord.X.Normalize();
            coord.Y = coord.Z.CrossProduct(coord.X);

            Matrix4 trf = GlobalInstance.MatrixBuilder.ToWorldMatrix(coord);

            textNode.SetTransform(trf);
            textNode.Update();

            context.ShowSceneNode(textNode);


            return(true);
        }
コード例 #2
0
        public override bool Run(FeatureContext context)
        {
            //1. Create the path
            float     radius = 100;
            TopoShape arc    = GlobalInstance.BrepTools.MakeArc(Vector3.ZERO, new Vector3(-radius, -radius, 0), new Vector3(0, -radius, 0), Vector3.UNIT_Z);
            TopoShape line   = GlobalInstance.BrepTools.MakeLine(new Vector3(-radius, -radius, 0), new Vector3(-radius, -radius * 2, 0));

            TopoShapeGroup edges = new TopoShapeGroup();

            edges.Add(arc);
            edges.Add(line);
            TopoShape wire = GlobalInstance.BrepTools.MakeWire(edges);


            Vector3 dirZ = new Vector3(1, -1, 0);

            dirZ.Normalize();
            Vector3     dirX  = dirZ.CrossProduct(Vector3.UNIT_Z);
            Coordinate3 coord = new Coordinate3(Vector3.ZERO, dirX, Vector3.UNIT_Z, dirZ);


            TopoShape path = GlobalInstance.BrepTools.Transform(wire, coord);

            context.ShowGeometry(path);

            //2. Create the profile
            List <Vector3> points = new List <Vector3>();

            points.Add(new Vector3());
            points.Add(new Vector3(200, 0, 0));
            points.Add(new Vector3(200, 200, 0));
            points.Add(new Vector3(0, 200, 0));

            TopoShape polygon = GlobalInstance.BrepTools.MakePolygon(points);

            // 3. Make body
            AdvFeatureTools advFT = new AdvFeatureTools();
            TopoShape       shape = advFT.MakeEvolved(polygon, path, 0, true);

            context.ShowGeometry(shape);

            return(true);
        }
コード例 #3
0
        public override void UpdateGeometry()
        {
            VisualNode.ClearAll();

            Coordinate3 coord = new Coordinate3();

            coord.X = -Vector3.UNIT_Y;
            coord.Y = Vector3.UNIT_Z;
            coord.Z = Vector3.UNIT_X;

            Matrix4 trf = GlobalInstance.MatrixBuilder.ToWorldMatrix(coord);

            foreach (TopoShape edge in Section)
            {
                TopoShape shape = GlobalInstance.BrepTools.Extrude(edge, Length, -Vector3.UNIT_Z);
                shape = GlobalInstance.BrepTools.Transform(shape, trf);

                VisualNode.AddNode(GlobalInstance.TopoShapeConvert.ToSceneNode(shape, 0.01f));
            }
        }
コード例 #4
0
ファイル: FormMain.cs プロジェクト: xazk027/anycadnetsdkpro
        private void text3DToolStripMenuItem_Click(object sender, EventArgs e)
        {
            String fontName = "romand.shx";
            FontManager fontMgr = GlobalInstance.FontManager;
            AnyCAD.Platform.Font font = fontMgr.FindFont(fontName);
            if(font == null)
            {
                font = fontMgr.LoadFont(fontName, "..\\Library\\Font\\romand.shx");
                if(font != null)
                    fontMgr.AddFont(font);
            }


            foreach (String name in fontMgr.ListFontNames())
            {
                //MessageBox.Show(name);
            }


            Text3dNode textNode = new Text3dNode();
            textNode.SetFontName("FangSong (TrueType)");
            textNode.SetText("1234565\nabcdefg\n我爱你");
            textNode.SetLineSpace(10);

            Coordinate3 coord = new Coordinate3();
            coord.Origion = new Vector3(100, 100, 0);
            coord.X = new Vector3(1, 1, 0);
            coord.X.Normalize();
            coord.Y = coord.Z.CrossProduct(coord.X);

            Matrix4 trf = GlobalInstance.MatrixBuilder.ToWorldMatrix(coord);
            textNode.SetTransform(trf);
            textNode.Update();

            renderView.ShowSceneNode(textNode);
        }
コード例 #5
0
ファイル: FormMain.cs プロジェクト: xazk027/anycadnetsdkpro
        private void evolvedToolStripMenuItem_Click(object sender, EventArgs e)
        {
            List<Vector3> points = new List<Vector3>();
            points.Add(new Vector3());
            points.Add(new Vector3(200, 0, 0));
            points.Add(new Vector3(200, 200, 0));
            points.Add(new Vector3(0, 200, 0));

            TopoShape polygon = GlobalInstance.BrepTools.MakePolygon(points);

            float radius = 100;
            TopoShape arc = GlobalInstance.BrepTools.MakeArc(Vector3.ZERO, new Vector3(-radius, -radius, 0), new Vector3(0, -radius, 0), Vector3.UNIT_Z);
            TopoShape line = GlobalInstance.BrepTools.MakeLine(new Vector3(-radius, -radius, 0), new Vector3(-radius, -radius * 2, 0));

            TopoShapeGroup edges = new TopoShapeGroup();
            edges.Add(arc);
            edges.Add(line);
            TopoShape wire = GlobalInstance.BrepTools.MakeWire(edges);
            

            Vector3 dirZ = new Vector3(1,-1,0);
            dirZ.Normalize();
            Vector3 dirX = dirZ.CrossProduct(Vector3.UNIT_Z);
            Coordinate3 coord = new Coordinate3(Vector3.ZERO, dirX, Vector3.UNIT_Z, dirZ);

            
            TopoShape path = GlobalInstance.BrepTools.Transform(wire, coord);
            renderView.ShowGeometry(path, ++shapeId);

            AdvFeatureTools advFT = new AdvFeatureTools();
            TopoShape shape = advFT.MakeEvolved(polygon, path, 0, true);

            renderView.ShowGeometry(shape, ++shapeId);
        }
コード例 #6
0
ファイル: FormMain.cs プロジェクト: xazk027/anycadnetsdkpro
        private void swee2ToolStripMenuItem_Click(object sender, EventArgs e)
        {




            AdvFeatureTools advTool = new AdvFeatureTools();

            {
                Coordinate3 coord = new Coordinate3();
                coord.Origion = new Vector3(-0.5f, -1, 0);
                TopoShape profile = GlobalInstance.BrepTools.MakeRectangle(1,2,0.2f, coord);

                TopoShape path = GlobalInstance.BrepTools.MakeLine(Vector3.ZERO, new Vector3(0, 0, 100));

                //define the "S" curve
                float[] S ={0,40,-80,
                            1,10,0};
                TopoShape sweepBody = advTool.MakeSweep(profile, path, S, true);
                renderView.ShowGeometry(sweepBody, ++shapeId);
            }
            {
                Primitive2dTools tool2d = new Primitive2dTools();
                float radius = 50;
                TopoShapeGroup group = new TopoShapeGroup();

                group.Add(tool2d.MakeArc(new Vector2(0, radius), radius, 0, 45));
                group.Add(tool2d.MakeLine(new Vector2(radius, radius), new Vector2(radius * 2, radius)));
                TopoShape spline = tool2d.ToBSplineCurve(group);

                TopoShape profile = GlobalInstance.BrepTools.MakeCircle(new Vector3(100, 100, 0), 1, Vector3.UNIT_Z);
                List<Vector3> pts = new List<Vector3>();
                pts.Add(new Vector3(100, 100, 0));
                pts.Add(new Vector3(100, 100, 100));
                pts.Add(new Vector3(100, 200, 400));

                TopoShape path = GlobalInstance.BrepTools.MakeSpline(pts);
                TopoShape sweepBody = advTool.MakeSweep(profile, path, spline, true);

                renderView.ShowGeometry(sweepBody, ++shapeId);
            }
        }
コード例 #7
0
ファイル: FormMain.cs プロジェクト: xazk027/anycadnetsdkpro
        private void pipeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            for (int ii = 0; ii < 3; ++ii)
            {
                Vector3 startPt = new Vector3(ii * 100, 0, 0);
                var points = new System.Collections.Generic.List<Vector3>();
                points.Add(startPt);
                points.Add(startPt + new Platform.Vector3(0, 0, 100));
                points.Add(startPt + new Platform.Vector3(50, 50, 150));
                TopoShape path = GlobalInstance.BrepTools.MakePolyline(points);
                TopoShape section = GlobalInstance.BrepTools.MakeCircle(startPt, 10, Vector3.UNIT_Z);

                TopoShape pipe = GlobalInstance.BrepTools.MakePipe(section, path, ii);

                renderView.ShowGeometry(pipe, ++shapeId);
            }
            for (int ii = 0; ii < 3; ++ii)
            {
                Vector3 startPt = new Vector3(ii * 100, 100, 0);
                var points = new System.Collections.Generic.List<Vector3>();
                points.Add(startPt);
                points.Add(startPt + new Platform.Vector3(0, 0, 100));
                points.Add(startPt + new Platform.Vector3(50, 50, 150));
                TopoShape path = GlobalInstance.BrepTools.MakePolyline(points);
                Coordinate3 coord = new Coordinate3();
                coord.Origion = startPt - new Vector3(-5,-5,0);
                TopoShape section = GlobalInstance.BrepTools.MakeRectangle(10, 10, 2, coord);

                TopoShape pipe = GlobalInstance.BrepTools.MakePipe(section, path, ii);

                renderView.ShowGeometry(pipe, ++shapeId);
            }

            renderView.RequestDraw();
        }