OpenSCAD用户手册/SVG导入

维基教科书,自由的教学读本

SVG Import[编辑]

[请注意: 需要使用版本 2019.05]

OpenSCAD可以导入SVG文件中的几何结构。

 import("file.svg");
 import(file = "file.svg", center = false, dpi = 96);

参数

file
字符串。要导入的文件名。
center
布尔值。如果设置为true,则被导入的几何体将根据它的包围体进行居中对齐。
dpi
双精度浮点值。如果并未为宽度/高度指定单位,则利用此DPI值计算viewbox的大小。如果连宽度/高度也未给出,则用viewbox加以替代(例如,对于Adobe Illustrator早期版本所创建的文件即是如此)。如果指定了宽度/高度的绝对单位(px/pt/pc/in/mm/cm)则忽略此DPI值。

限制[编辑]

顾名思义,可缩放矢量图形(Scalable Vector Graphics,简作SVG)被设计为一种可渲染在网页上且支持交互与动画的可缩放图形格式。

这就意味着部分特性不能较好地转换至CAD格式加以使用。在此过程中,SVG文件中的所有的动画功能与大多可视属性将统统被忽略掉。通常情况下,OpenSCAD会准确地导入SVG中各对象的核心几何信息,并将其转换为闭合的2D多边形。

不会被导入的主要特性有:

  • 文本 / 字体
  • 裁剪与遮罩(Clipping and Masking)
  • 使用模板的对象

ViewBox的处理[编辑]

SVG文件的ViewBox属性定义了用来展示其内容的初始坐标系。OpenSCAD导入器支持包括preserveAspectRatio属性在内的变换。理解SVG坐标系及其变换一文中详细讲解了viexBox所有相关属性的组合显示效果。

DPI的处理[编辑]

开放图形与闭合图形[编辑]

OpenSCAD仅处理闭合多边形,因此并不能导入线段与开放多边形。而是把开放多边形看作是由其stroke-width(线宽)定义的图形。

闭合图形总是采用SVG文件中定义的几何规格(geometric specification)而忽略其中的fill(填充)与stroke-with。

Inkscape中的SVG
导入OpenSCAD中的SVG
闭合图形忽略fill与stroke-width,而开放路径则采用stroke-width生成图形的轮廓。