OpenSCAD用戶手冊



OpenSCAD 是一款用於構建三維立體模型的軟體。
他是一款 自由軟體 可用於多種作業系統,包括 GNU/Linux, MS Windows and Apple OS X.

簡介 編輯

不同於其他多數用於構建三維立體模型的自由軟體(比如大家熟知的Blender),OpenSCAD的主要用途並不是用於外觀藝術渲染,而是更多致力於CAD方面的功能。所以如果你在尋找一款用於構建類似機械零件模型的應用軟體,他可能正好是你想要找的,而如果你更感興趣的是製作電腦動畫或模擬生命體模型的話,他可能不夠勝任。

OpenSCAD並不是交互式模型設計工具,這一點跟多數CAD工具也不相同。他更像是個二維/三維編譯器讀取描述對象的程序文件從中生成出模型。這樣使設計者能夠全面控制模型處理過程,能夠容易的改變其中的步驟,或者通過定義配置參數來進行設計。

OpenSCAD主要有兩種操作模式,預覽和渲染。預覽通過利用了三維圖形技術計算機圖形處理單元速度相對較快,但只作為一個模型的近似結果用於生產artifacts;預覽使用的是OpenCSGOpenGL,渲染生成精確的幾何模型並完全棋盤化柵格化,其並非近似,從而過程較為漫長,較大的設計通常需要以分鐘記甚至小時記的時間;渲染使用的是CGAL幾何引擎。

OpenSCAD提供了兩種類型的3D建模,構造立體幾何Constructive Solid Geometry (CSG)或通過二維圖元生成三維空間。

AutoCAD的DXF文件被用作為二維輪廓數據交換格式的。除了使用二維路徑建立模型還可以從DXF文件的讀取設計參數。除了可以讀取DXF文件,OpenSCAD還可以讀取或者創建STL和OFF文件格式的三維模型。

OpenSCAD可以從http://openscad.org/下載。您可以在[1]獲取更多額外的信息。

假如不想(或不能)在電腦上安裝新的OpenSCAD軟體,在瀏覽器支持WebGL的情況下,也可以使用OpenJSCAD( http://OpenJSCAD.org/ ),一個運行在Web瀏覽器OpenSCAD接口。 還可嘗試http://openscad.net/,這是OpenSCAD的部分移植版。

本文的葡語翻譯(未完成/開發中)可在GitHub庫[2]中找到。


教材:

這裡有25個基本的幻燈片通過GNUFDL協議免費提供,來指導學生使用OpenSCAD的流程。

Fablab Lannion(法國)編制了很棒的交互式教程(法語),可供參閱。

第一步

目錄 編輯

  1. 簡介
  2. 第一步
  3. OpenSCAD用戶界面
  4. 輸入設備
  5. 定製功能
  6. 導入 - STL, 3MF, OFF, AMF, DXF, SVG, CSG
    1. SVG導入
  7. 導出 - STL, 3MF, OFF, AMF, DXF, SVG, CSG, PNG
    1. STL導出
    2. CSG導出
    3. DXF變換
    4. 其他二維數據格式
  8. 帶注釋的項目示例
    1. 簡短的帶注釋項目示例
    2. Strandbeest (3D動畫行走機構)
  9. OpenSCAD環境變量路徑
  10. 在OpenSCAD上使用外部編輯器
  11. 與其他應用程式整合
  12. 在命令行環境下使用OpenSCAD
  13. 使用源文件編譯OpenSCAD
    1. 在Linux/UNIX環境下構建
    2. 在Linux或者Mac OS X上為Windows交叉編譯
    3. 在Windows環境下編譯(過時的)
    4. 在Windows環境下編譯(新)
    5. 在Mac OS X環境下編譯
    6. 提交補丁
  14. 常見問題
  15. 要訣與技巧
  16. 詞彙表 - 縮寫與語法參考


OpenSCAD語法參考 編輯

  1. OpenSCAD 語言
    1. 綜述 - 先行閱讀 - 注釋, 數值與數據類型, 變量, 向量, 獲取輸入
  2. 3D 模型
    1. 3D 基礎模型 - 立方體, 球體, 圓柱體, 多面體
    2. 3D 到 2D 投射
  3. 2D 模型 -
    1. 2D 基礎模型 - 方形, 圓形, 多邊形
    2. 文本 - 利用已安裝或用戶指定的字體文件生成文本。
    3. 2D 到 3D 拉伸 - linear_extrude, rotate_extrude
  4. 變換
    1. color
    2. rotate, translate, mirror, multmatrix
    3. scale, resize
    4. offset, minkowski, hull
    5. 組合變換
  5. 邏輯組合
    1. union, difference, intersection, render
  6. 其他函數與運算
    1. 條件與迭代 - for, intersection_for, if, conditional ? :, assign
    2. 數學運算 - 常見算符, 向量運算符, 矩陣乘法
    3. 數學函數
      1. 三角函數 (cos sin tan acos asin atan atan2)
      2. 其他數學函數 (abs ceil concat cross exp floor ln len let log lookup max min norm pow rands round sign sqrt)
    4. 字符串函數 - str, chr
    5. List Comprehensions
    6. 其他語言特性 - 以'$'開頭的特殊變量, echorendersurfacesearchversion(), version_num()parent_module(n) 與 $parent_modules
  7. 用自戶定義函數及模塊 - Functions, Modules, Children
  8. 調試輔助工具 -  % # ! * echo
  9. 擴展庫及編碼文件
    1. include - SCAD, CSG
    2. use - SCAD
    3. 導入 - STL, OFF, DXF
      1. import_dxf - 過時的不推薦
      2. import_stl - 過時的不推薦
    4. surface - PNG

Work in progress 編輯

This section contains documentation about ongoing work which is available as experimental features in snapshot versions of OpenSCAD or not yet integrated at all and pending in a branch or pull-request at the OpenSCAD github repository.

Template:Subjects/0 Template:Subjects/0 Template:Subjects/0