Ejemplo n.º 1
0
        //--------------------------------------------------------------------------------------------------

        void _AddLinetypes(VectorExportTemplate template)
        {
            switch (template)
            {
            case VectorExportTemplate.Drawing:
                _Document.Linetypes.Add(new DxfDomLinetype(VectorExportLayerType.Outline.ToString(), "", 0.0, new double[0]));
                _Lineweights.Add(VectorExportLayerType.Outline, 0.5);

                _Document.Linetypes.Add(new DxfDomLinetype(VectorExportLayerType.Inline.ToString(), "", 0.0, new double[0]));
                _Lineweights.Add(VectorExportLayerType.Inline, 0.3);

                _Document.Linetypes.Add(new DxfDomLinetype(VectorExportLayerType.HiddenOutline.ToString(), "", 0.6, new[] { 0.4, -0.2 }));
                _Lineweights.Add(VectorExportLayerType.HiddenOutline, 0.3);

                _Document.Linetypes.Add(new DxfDomLinetype(VectorExportLayerType.HiddenInline.ToString(), "", 0.4, new[] { 0.2, -0.2 }));
                _Lineweights.Add(VectorExportLayerType.HiddenInline, 0.2);
                break;

            case VectorExportTemplate.Contours:
                _Document.Linetypes.Add(new DxfDomLinetype(VectorExportLayerType.Outline.ToString(), "", 0.0, new double[0]));
                _Lineweights.Add(VectorExportLayerType.Outline, 0.0);

                _Document.Linetypes.Add(new DxfDomLinetype(VectorExportLayerType.FilledOutline.ToString(), "", 0.0, new double[0]));
                _Lineweights.Add(VectorExportLayerType.FilledOutline, 0.0);
                break;
            }
        }
Ejemplo n.º 2
0
        public static MemoryStream Export(VectorExportTemplate template, VectorExportLayer[] layers,
                                          DxfVersion version, DxfFlags flags = DxfFlags.None, double precision = 0.01)
        {
            var exporter = new DxfVectorExporter();

            return(exporter._Export(template, layers, version, flags, precision));
        }
Ejemplo n.º 3
0
        //--------------------------------------------------------------------------------------------------

        #endregion

        #region IVectorExporter

        bool IVectorExporter.DoExport(string fileName, VectorExportTemplate template, VectorExportLayer[] layers)
        {
            bool result;

            using (new ProcessingScope(null, "Exporting vector to DXF"))
            {
                var stream = DxfVectorExporter.Export(template, layers, Settings.ExportVersion, _GetFlags(), Settings.ExportPolygonPrecision);
                result = _WriteToFile(fileName, stream);
            }
            return(result);
        }
Ejemplo n.º 4
0
        //--------------------------------------------------------------------------------------------------

        #endregion

        #region IVectorExporter

        bool IVectorExporter.DoExport(string fileName, VectorExportTemplate template, VectorExportLayer[] layers)
        {
            bool result;

            using (new ProcessingScope(null, "Exporting vector to SVG"))
            {
                SvgVectorExporter.DotsPerInch = Settings.DotsPerInch;
                result = _WriteToFile(fileName, SvgVectorExporter.Export(template, layers));
            }

            return(result);
        }
Ejemplo n.º 5
0
        //--------------------------------------------------------------------------------------------------

        MemoryStream _Export(VectorExportTemplate template, VectorExportLayer[] layers,
                             DxfVersion version, DxfFlags flags, double precision)
        {
            _Precision = precision;
            _Document  = new DxfDomDocument(version, flags);

            _AddLinetypes(template);

            // Export
            foreach (var layer in layers)
            {
                _ExportLayer(layer);
            }

            var stream = _Document.WriteToStream();

            _Document = null;
            return(stream);
        }
Ejemplo n.º 6
0
        //--------------------------------------------------------------------------------------------------

        SvgVectorExporter(VectorExportTemplate template)
        {
            _Template = template;
            switch (template)
            {
            case VectorExportTemplate.Drawing:
                _Styles = new Dictionary <VectorExportLayerType, SvgStyle>
                {
                    { VectorExportLayerType.Outline, new SvgStyle {
                          StrokeColor = Color.Black, StrokeWidth = 0.2f, DashType = SvgDashTypes.Solid
                      } },
                    { VectorExportLayerType.Inline, new SvgStyle {
                          StrokeColor = Color.Black, StrokeWidth = 0.1f, DashType = SvgDashTypes.Solid
                      } },
                    { VectorExportLayerType.HiddenOutline, new SvgStyle {
                          StrokeColor = Color.Black, StrokeWidth = 0.1f, DashType = SvgDashTypes.Long
                      } },
                    { VectorExportLayerType.HiddenInline, new SvgStyle {
                          StrokeColor = Color.Black, StrokeWidth = 0.05f, DashType = SvgDashTypes.Short
                      } },
                };
                break;

            case VectorExportTemplate.Contours:
                _Styles = new Dictionary <VectorExportLayerType, SvgStyle>
                {
                    { VectorExportLayerType.Outline, new SvgStyle {
                          StrokeColor = Color.Black, StrokeWidth = 0.1f, DashType = SvgDashTypes.Solid
                      } },
                    { VectorExportLayerType.FilledOutline, new SvgStyle {
                          StrokeColor = Color.Black, FillColor = Color.Black
                      } },
                };
                break;
            }
        }
Ejemplo n.º 7
0
        public static MemoryStream Export(VectorExportTemplate template, VectorExportLayer[] layers)
        {
            var exporter = new SvgVectorExporter(template);

            return(exporter._Export(layers));
        }