示例#1
0
        //--------------------------------------------------------------------------------------------------

        #endregion

        #region IDrawingExporter

        bool IDrawingExporter.DoExport(string fileName, Drawing drawing)
        {
            bool result;

            using (new ProcessingScope(null, "Exporting drawing to SVG"))
            {
                SvgExporterBase.DotsPerInch       = Settings.DotsPerInch;
                SvgExporterBase.TagGroupsAsLayers = Settings.TagGroupsAsLayers;
                result = _WriteToFile(fileName, SvgDrawingExporter.Export(drawing));
            }

            return(result);
        }
示例#2
0
        //--------------------------------------------------------------------------------------------------
        //--------------------------------------------------------------------------------------------------

        #region Helper

        public MemoryStream _Export(PipeDrawing pipeDrawing)
        {
            Drawing drawing = new()
            {
                Name = "Pipe"
            };

            drawing.Add(pipeDrawing);

            return(SvgDrawingExporter.Export(drawing));
        }

        #endregion
    }
示例#3
0
        //--------------------------------------------------------------------------------------------------

        #region Helper

        MemoryStream RunExporter(bool useTriangulation, Ax3 projection, params Body[] bodies)
        {
            var hlrEdgeTypes = HlrEdgeTypes.VisibleSharp | HlrEdgeTypes.VisibleOutline | HlrEdgeTypes.VisibleSmooth
                               | HlrEdgeTypes.HiddenSharp | HlrEdgeTypes.HiddenOutline;

            IBrepSource[] sources        = bodies.Select(body => (IBrepSource) new BodyBrepSource(body)).ToArray();
            var           hlrBrepDrawing = HlrDrawing.Create(projection, hlrEdgeTypes, sources);

            hlrBrepDrawing.UseTriangulation = useTriangulation;

            var drawing = new Drawing();

            drawing.Add(hlrBrepDrawing);

            return(SvgDrawingExporter.Export(drawing));
        }
示例#4
0
        public void ScaleLabeling()
        {
            var dim = new LengthDimension()
            {
                FirstPoint  = new Pnt2d(-3, -0.5),
                SecondPoint = new Pnt2d(3, -3),
            };

            Drawing drawing = new();

            drawing.Add(dim);

            var svg = SvgDrawingExporter.Export(drawing);

            Assert.IsNotNull(svg);
            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "ScaleLabeling.svg"), svg, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }
示例#5
0
        public void ExtentToTop()
        {
            var dim = new LengthDimension()
            {
                FirstPoint  = new Pnt2d(-10, -5),
                SecondPoint = new Pnt2d(10, -10),
            };

            Drawing drawing = new();

            drawing.Add(dim);

            var svg = SvgDrawingExporter.Export(drawing);

            Assert.IsNotNull(svg);
            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "ExtentToTop.svg"), svg, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }
示例#6
0
        public void ReversedCoordinates()
        {
            var dim = new LengthDimension()
            {
                SecondPoint = new Pnt2d(-10, 5),
                FirstPoint  = new Pnt2d(10, 10),
            };

            Drawing drawing = new();

            drawing.Add(dim);

            var svg = SvgDrawingExporter.Export(drawing);

            Assert.IsNotNull(svg);
            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "ReversedCoordinates.svg"), svg, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }
示例#7
0
        public void IsNotToScale()
        {
            var dim = new AngleDimension()
            {
                FirstPoint   = new Pnt2d(-8, -5),
                SecondPoint  = new Pnt2d(10, -10),
                CenterPoint  = new Pnt2d(0, -30),
                IsNotToScale = true
            };

            Drawing drawing = new();

            drawing.Add(dim);

            var svg = SvgDrawingExporter.Export(drawing);

            Assert.IsNotNull(svg);
            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "IsNotToScale.svg"), svg, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }
示例#8
0
        public void Dimension()
        {
            // Create simple geometry
            var dim = new LengthDimension()
            {
                FirstPoint  = new Pnt2d(-10, 5),
                SecondPoint = new Pnt2d(10, 10),
            };

            Drawing drawing = new();

            drawing.Add(dim);

            var svg = SvgDrawingExporter.Export(drawing);

            Assert.IsNotNull(svg);

            // Write to file and compare
            AssertHelper.IsSameTextFile(Path.Combine(_BasePath, "Dimension.svg"), svg, AssertHelper.TextCompareFlags.IgnoreFloatPrecision);
        }