//-------------------------------------------------------------------------------------------------- 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; } }
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)); }
//-------------------------------------------------------------------------------------------------- #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); }
//-------------------------------------------------------------------------------------------------- #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); }
//-------------------------------------------------------------------------------------------------- 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); }
//-------------------------------------------------------------------------------------------------- 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; } }
public static MemoryStream Export(VectorExportTemplate template, VectorExportLayer[] layers) { var exporter = new SvgVectorExporter(template); return(exporter._Export(layers)); }