OpenSCAD 使用者手冊/其他二維格式
目前,OpenSCAD 僅支援 DXF 作為二維圖形的圖形格式。其他常見格式包括 PS/EPS、SVG 和 AI。
程式 pstoedit 可以進行各種向量圖形格式之間的轉換。OpenSCAD 需要將 -polyaslines 選項傳遞到 dxf 輸出外掛才能理解該檔案。-mm 選項將 1 毫米設定為 dxf 中的 1 個單位;如果將 OpenSCAD 中的 1 個單位設定為等於 1 毫米,請包含此選項。-dt 選項指示 pstoedit 渲染文字,這通常是包含文字時所需的操作。(如果渲染文字的多分邊形數量的解析度太低,最簡單的解決方案是在轉換之前放大 eps;如果您知道更優雅的解決方案,請將其新增到示例中。)
pstoedit -dt -f "dxf: -polyaslines -mm" infile.eps outfile.dxf
Inkscape 可以將 SVG 轉換為 EPS。然後 pstoedit 可以將 EPS 轉換為 DXF。
inkscape -E intermediate.eps infile.svg pstoedit -dt -f dxf:-polyaslines\ -mm intermediate.eps outfile.dxf
可以使用 make 系統自動化轉換;將以下行新增到您的 Makefile 中
all: my_first_file.dxf my_second_file.dxf another_file.dxf
%.eps: %.svg
inkscape -E $@ $<
%.dxf: %.eps
pstoedit -dt -f dxf:-polyaslines\ -mm $< $@
第一行指定在當前目錄中呼叫 make 時要生成哪些 dxf 檔案。第二段指定如何將以 .svg 結尾的檔案轉換為以 .eps 結尾的檔案,第三段將 .eps 轉換為 .dxf。
一個更完整的 makefile 可以從資料夾中的任何 svg 自動生成 dxf 檔案。在這種情況下,將以下行新增到您的 Makefile 中
SVG := $(wildcard *.svg)
DXF := $(SVG:%.svg=%.dxf)
EPS := $(SVG:%.svg=%.eps)
.PHONY: all clean clean-eps clean-dxf
all: $(DXF)
%.eps: %.svg
inkscape -E $*.eps $*.svg
%.dxf: %.eps
pstoedit -dt -f "dxf: -polyaslines -mm" $*.eps $*.dxf
clean: clean-dxf clean-eps
clean-dxf:
rm -f $(DXF)
clean-eps:
rm -f $(EPS)
仍然可以透過呼叫 make filename.dxf 來構建特定檔案,但此程式碼還允許僅透過呼叫 make 或 make all 來構建(重新構建)資料夾中的所有 dxf 檔案。
此程式碼也足夠通用,可以將其放在單個檔案中,並在每個包含用於 dxf 轉換的 svg 檔案的目錄中透過執行以下命令將每個 makefile 建立符號連結
ln -s /path/to/this/svg_to_dxf_makefile makefile
在每個相應的目錄中。
儘管 Adobe Illustrator CC/CC.2014 允許您將插圖匯出為 DXF(並選擇 DXF 格式版本,最早可追溯到 12),但它使用 OpenSCAD 不支援的 DXF 實體,例如 POLYLINE 和 SPLINE。
由於 pstoedit 本身不支援 Adobe Illustrator 檔案,因此可以使用 EXDXF 作為替代方案,它是一個 Adobe Illustrator 外掛(30 次免費試用匯出,之後您需要支付 90 美元才能註冊該外掛)。
在匯出之前,建議您確保畫板與您要匯出的元件的尺寸相同。儘管 EXDXF 在匯出到 DXF 時提供了許多選項,但對於 OpenSCAD 相容性而言,最重要的選項是將 線轉換 設定為 線和圓弧。
OpenSCAD 並不總是提供有關它在 DXF 匯入中遇到的問題的資訊。如果發生這種情況,請選擇 設計 | 清理快取,然後選擇 設計 | 重新載入和編譯。