OpenSCAD 使用者手冊/STL 匯出
外觀
使用 F6 渲染後,可以使用“檔案 -> 匯出”選單匯出為 STL、OFF、AMF、3MF、DXF、SVG、CSG、PNG(影像)或 PDF。
請務必檢查控制檯視窗以獲取錯誤訊息。
- STL、OFF 和 DXF 使用
import()匯入 - CSG 可以使用
include<>匯入,或者像 SCAD 檔案一樣載入 - PNG 可以使用
surface()匯入 - 對於 SVG 和 AMF,存在開放的拉取請求,需要更多工作/測試
- 檔案字尾用於確定型別
要匯出設計,請從“檔案 -> 匯出”選單中選擇“匯出為 STL...”,然後在隨後的對話方塊中輸入檔名。不要忘記新增“.stl”副檔名。
故障排除:
在編譯並渲染 CGAL(F6)之後,您可能會發現您的設計是簡單的:否。這是個壞訊息。
請檢視OpenSCAD 2010.02的以下輸出中的第 8 行
Parsing design (AST generation)...
Compiling design (CSG Tree generation)...
Compilation finished.
Rendering Polygon Mesh using CGAL...
Number of vertices currently in CGAL cache: 732
Number of objects currently in CGAL cache: 12
Top level object is a 3D object:
Simple: no <*****************
Valid: yes
Vertices: 22
Halfedges: 70
Edges: 35
Halffacets: 32
Facets: 16
Volumes: 2
Total rendering time: 0 hours, 0 minutes, 0 seconds
Rendering finished.
當您嘗試將其匯出為 .STL 時,會出現此訊息
Object isn't a valid 2-manifold! Modify your design..
“流形”意味著它是“水密”的,並且幾何體中沒有孔。在有效的二維流形中,每條邊必須連線恰好兩個面。這意味著程式必須能夠將一個面與一個物體連線起來。例如,如果您使用高度為 10 的立方體從一個寬度為 10 的立方體中雕刻出一些東西,則不清楚頂部或底部屬於哪個立方體。因此,使較小的提取立方體稍微“更長”(或“更短”)。
difference() {
// original
cube (size = [2,2,2]);
// object that carves out
# translate ([0.5,0.5,-0.5]) {
cube (size = [1,1,3]);
}
}

這裡有一個更棘手的例子,取自OpenSCAD論壇(檢索時間:2010 年 3 月 22 日,UTC 時間 15:13)
module example1() {
cube([20, 20, 20]);
translate([-20, -20, 0]) cube([20, 20, 20]);
cube([50, 50, 5], center = true);
}
module example2() {
cube([20.1, 20.1, 20]);
translate([-20, -20, 0]) cube([20.1, 20.1, 20]);
cube([50, 50, 5], center = true);
}
示例 1 將以這種方式呈現

示例 1 模組不是有效的二維流形,因為兩個立方體共享一條邊。它們相互接觸但不相交。
示例 2 是一個有效的二維流形,因為存在一個交點。現在,構造滿足二維流形約束,規定每條邊必須連線恰好兩個面。
您要減去的部分必須延伸到原始部分之外。(OpenSCAD 提示:流形空間和時間,檢索時間:2010 年 3 月 22 日,UTC 時間 18:40)。
作為參考,另一種導致設計無法匯出的是,當兩個面(每個面都是減法結果)相接觸時。然後會出現錯誤訊息。
difference () {
cube ([20,10,10]);
translate ([10,0,0]) cube (10);
}
difference () {
cube ([20,10,10]);
cube (10);
}
簡單地接觸表面被正確處理。
translate ([10,0,0]) cube (10);
cube (10);