Example #1
0
        public void LocatedWire()
        {
            var source = TestData.GetBodyFromBRep(@"SourceData\Brep\ContourLocatedWire.brep");

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent()
            {
                Owner         = source,
                LayerCount    = 1,
                ReferenceFace = source.Shape.GetSubshapeReference(SubshapeType.Face, 2)
            };

            Assert.IsTrue(template.Make());
            var path = Path.Combine(TestData.TestDataDirectory, Path.Combine(_BasePath, "LocatedWire_TestResult.dxf"));

            try
            {
                Assert.IsTrue(template.Export(path, new DxfExchanger()));
            }
            catch (SEHException)
            {
                var info = ExceptionHelper.GetNativeExceptionInfo(Marshal.GetExceptionCode(), Marshal.GetExceptionPointers());
                TestContext.WriteLine(info.Message);
                throw;
            }

            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "LocatedWire.dxf"), path, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }
Example #2
0
        public void FindBiggestFace()
        {
            var source = TestData.GetBodyFromBRep(Path.Combine(_BasePath, "FindBiggestFace_Source.brep"));

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent
            {
                Owner = source
            };

            Assert.IsTrue(template.Make());
            AssertHelper.IsSameModel(template.Layers[0].BRep, Path.Combine(_BasePath, "FindBiggestFace"));
        }
Example #3
0
        public void SimpleCutout()
        {
            var source = TestData.GetBodyFromBRep(Path.Combine(_BasePath, "SheetWithOneLayer_Source.brep"));

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent
            {
                Owner = source
            };

            Assert.IsTrue(template.Make());
            AssertHelper.IsSameModel2D(template.Layers[0].BRep, Path.Combine(_BasePath, "SimpleContour"));
        }
Example #4
0
        public void FindCorrectHeight()
        {
            var body = TestData.GetBodyFromBRep(Path.Combine(_BasePath, "FindCorrectHeight_Source.brep"));

            var template = new SliceContourComponent
            {
                Owner         = body,
                LayerCount    = 2,
                ReferenceFace = body.Shape.GetSubshapeReference(SubshapeType.Face, 4)
            };

            Assert.IsTrue(template.Make());
            AssertHelper.IsSameModel(template.Layers[0].BRep, Path.Combine(_BasePath, "FindCorrectHeight1"));
            AssertHelper.IsSameModel(template.Layers[1].BRep, Path.Combine(_BasePath, "FindCorrectHeight2"));
        }
Example #5
0
        public void Reconstruction()
        {
            var source = TestData.GetBodyFromBRep(Path.Combine(_BasePath, "RotatedSheet_Source.brep"));

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent
            {
                Owner         = source,
                ReferenceFace = source.Shape.GetSubshapeReference(SubshapeType.Face, 4)
            };

            Assert.IsTrue(template.Make());
            AssertHelper.IsSameModel(template.ReconstructedBRep, Path.Combine(_BasePath, "Reconstruction"));
        }
Example #6
0
        public void ShapeId()
        {
            Context.InitWithDefault();

            var imprint = TestGeomGenerator.CreateImprint();
            var body    = imprint.Body;

            Assume.That(body?.GetBRep() != null);
            imprint.Depth = 10;

            var template = new SliceContourComponent
            {
                Owner     = body,
                ShapeGuid = (imprint.Operands[0] as Shape).Guid
            };

            Assert.IsTrue(template.Make());
            AssertHelper.IsSameModel(template.Layers[0].BRep, Path.Combine(_BasePath, "ShapeId"));
        }
Example #7
0
        public void MultipleHoles()
        {
            var source = TestData.GetBodyFromBRep(@"SourceData\Brep\ContourMultipleHoles.brep");

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent()
            {
                Owner      = source,
                LayerCount = 2,
            };

            Assert.IsTrue(template.Make());
            var path = Path.Combine(TestData.TestDataDirectory, Path.Combine(_BasePath, "MultipleHoles_TestResult.dxf"));

            Assert.IsTrue(template.Export(path, new DxfExchanger()));

            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "MultipleHoles.dxf"), path, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }
        public void TwoLayerCutout()
        {
            var source = TestData.GetBodyFromBRep(@"SourceData\Brep\SheetWithTwoLayers.brep");

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent
            {
                Owner      = source,
                LayerCount = 2,
            };

            Assert.IsTrue(template.Make());
            var path = Path.Combine(TestData.TestDataDirectory, Path.Combine(_BasePath, "TwoLayerContour_TestResult.svg"));

            Assert.IsTrue(template.Export(path, new SvgExchanger()));

            AssertHelper.IsSameFile(Path.Combine(_BasePath, "TwoLayerContour.svg"), path);
        }
        public void BoundaryIsClosed()
        {
            var source = TestData.GetBodyFromBRep(Path.Combine(_BasePath, "BoundaryIsClosed_Source.brep"));

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent()
            {
                Owner      = source,
                LayerCount = 1,
            };

            Assert.IsTrue(template.Make());
            var path = Path.Combine(TestData.TestDataDirectory, Path.Combine(_BasePath, "BoundaryIsClosed_TestResult.svg"));

            Assert.IsTrue(template.Export(path, new SvgExchanger()));

            AssertHelper.IsSameFile(Path.Combine(_BasePath, "BoundaryIsClosed.svg"), path);
        }
Example #10
0
        public void SimpleContour()
        {
            var source = TestData.GetBodyFromBRep(@"SourceData\Brep\SheetWithOneLayer.brep");

            Assume.That(source?.GetBRep() != null);

            var template = new SliceContourComponent
            {
                Owner      = source,
                LayerCount = 1,
            };

            Assert.IsTrue(template.Make());
            var path = Path.Combine(TestData.TestDataDirectory, Path.Combine(_BasePath, "SimpleContour_TestResult.svg"));

            Assert.IsTrue(template.Export(path, new SvgExchanger()));

            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "SimpleContour.svg"), path, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }
Example #11
0
        //--------------------------------------------------------------------------------------------------

        public override bool Start()
        {
            if (_Component != null)
            {
                _InitInteractions();
            }
            else
            {
                if (SliceContourComponent.CanFindReferenceFace(_Body.GetBRep()))
                {
                    _CreateComponent();
                    _InitInteractions();
                }
                else
                {
                    ToggleFaceSelection();
                }
            }

            return(true);
        }
Example #12
0
        //--------------------------------------------------------------------------------------------------

        void _CreateComponent()
        {
            _Component = new SliceContourComponent();
            _Body.AddComponent(_Component);
        }
Example #13
0
        //--------------------------------------------------------------------------------------------------

        public SliceContourEditTool(Body body)
        {
            _Body      = body;
            _Component = _Body.FindComponent <SliceContourComponent>();
        }