public override void Run(RenderControl renderer)
        {
            string fileName = GetResourcePath("Holes.stp");
            var    shape    = StepIO.Open(fileName);

            if (shape == null)
            {
                return;
            }
            renderer.ShowShape(shape, Vector3.LightGray);

            var bbox = shape.GetBBox();

            var shape2 = ShapeBuilder.MakeBox(new GAx2(bbox.CornerMax(), GP.DZ()), 100, 100, 10);

            renderer.ShowShape(shape2, Vector3.LightGray);

            ExtremaShapeShape ess = new ExtremaShapeShape();

            if (!ess.Initialize(shape, shape2, 0.001))
            {
                return;
            }

            var pt1 = ess.GetPointOnShape1(0);
            var pt2 = ess.GetPointOnShape2(0);

            var line = SketchBuilder.MakeLine(pt1, pt2);


            renderer.ShowShape(line, Vector3.Red);
        }
Пример #2
0
        BrepSceneNode CreateGlass(GAx2 ax, double width, double height, double thickness)
        {
            var shape = ShapeBuilder.MakeBox(ax, width, thickness, height);

            var frameMaterial = MeshStandardMaterial.Create("window-glass");

            frameMaterial.SetColor(ColorTable.Hex(0xAAAAAA));
            frameMaterial.SetFaceSide(EnumFaceSide.DoubleSide);
            frameMaterial.SetTransparent(true);
            frameMaterial.SetOpacity(0.5f);

            return(BrepSceneNode.Create(shape, frameMaterial, null));
        }
Пример #3
0
        public override void Run(RenderControl render)
        {
            var box = ShapeBuilder.MakeBox(GP.XOY(), 10, 20, 30);

            render.ShowShape(box, Vector3.Green);

            var trans = TransformTool.Translate(box, new GVec(-20, 0, 0));

            render.ShowShape(trans, Vector3.Blue);

            var scale = TransformTool.Scale(box, GP.Origin(), 0.5);

            render.ShowShape(scale, Vector3.Blue);

            var rotate = TransformTool.Rotation(box, GP.OX(), 45);

            render.ShowShape(rotate, Vector3.Red);
        }
Пример #4
0
        public override void Run(RenderControl render)
        {
            var arrowMaterial = MeshPhongMaterial.Create("arrow");

            arrowMaterial.SetColor(ColorTable.Red);
            mArrow = ArrowWidget.Create(2, 10, arrowMaterial);
            mArrow.SetPickable(false);
            render.ShowSceneNode(mArrow);


            var shape = ShapeBuilder.MakeBox(GP.XOY(), 10, 20, 30);
            var mat   = MeshStandardMaterial.Create("ss");

            mat.SetColor(Vector3.LightGray);

            var node = BrepSceneNode.Create(shape, mat, null);

            render.ShowSceneNode(node);
        }
        static void Main(string[] args)
        {
            GlobalInstance.Initialize();

            WindowCanvas canvas = new WindowCanvas("AnyCAD", false);

            canvas.Initialize(0, 600, 400);


            var box   = ShapeBuilder.MakeBox(GP.XOY(), 10, 20, 30);
            var node  = BrepSceneNode.Create(box, null, null, 0.01);
            var scene = canvas.GetContext().GetScene();

            scene.AddNode(node);
            //canvas.Run();
            scene.UpdateWorld();
            canvas.ZoomToExtend();
            canvas.Redraw(0);
            canvas.CaptureScreenShot("image.bmp");
            canvas.Destroy();

            GlobalInstance.Destroy();
        }
Пример #6
0
        public override void Run(RenderControl render)
        {
            mMaterial1 = MeshPhongMaterial.Create("phong.texture");
            mMaterial1.SetColor(new Vector3(1, 0, 1));

            var texture = ImageTexture2D.Create(GetResourcePath("textures/bricks2.jpg"));

            texture.SetRepeat(new Vector2(2.0f, 2.0f));
            texture.UpdateTransform();

            mMaterial1.SetColorMap(texture);

            var shape = ShapeBuilder.MakeBox(GP.XOY(), 4, 4, 8);

            mNode = BrepSceneNode.Create(shape, mMaterial1, null);

            mMaterial2 = MeshPhongMaterial.Create("phong.texture");
            var texture2 = ImageTexture2D.Create(GetResourcePath("textures/water.png"));

            mMaterial2.SetColorMap(texture2);


            render.ShowSceneNode(mNode);
        }
Пример #7
0
        public override void Run(RenderControl render)
        {
            var box    = ShapeBuilder.MakeBox(GP.XOY(), 10, 10, 10);
            var sphere = ShapeBuilder.MakeSphere(GP.Origin(), 5);

            render.ShowShape(box, Vector3.Red);
            render.ShowShape(sphere, Vector3.Blue);

            var common = BooleanTool.Common(box, sphere);

            render.ShowShape(common, Matrix4.makeTranslation(-20, 0, 0));

            var cut = BooleanTool.Cut(box, sphere);

            render.ShowShape(cut, Matrix4.makeTranslation(0, 20, 0));

            var cut2 = BooleanTool.Cut(sphere, box);

            render.ShowShape(cut2, Matrix4.makeTranslation(0, -20, 0));

            var fuse = BooleanTool.Fuse(box, sphere);

            render.ShowShape(fuse, Matrix4.makeTranslation(20, 0, 0));
        }