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生成圖形的輪廓。