Movatterモバイル変換


[0]ホーム

URL:


跳转到内容
维基百科自由的百科全书
搜索

OpenSCAD

维基百科,自由的百科全书
OpenSCAD
OpenSCAD 2015.03
OpenSCAD 2015.03
開發者Marius Kintel, Claire Wolf[1]
首次发布2010年2月19日,​15年前​(2010-02-19
当前版本2021.01[2]在维基数据编辑
源代码库編輯維基數據鏈接
编程语言C++QtCGALOpenCSGOpenGL[3]
操作系统Linux,macOS,Windows,FreeBSD,NetBSD,OpenBSD
平台IA-32,x64,arm64
文件大小15–27MB(依作業系統有所不同)[4]
语言12种语言
类型電腦輔助設計
许可协议GPL-2.0或更新版本
网站www.openscad.org

OpenSCAD是一款電腦輔助設計(CAD)的自由軟體,用於建立實體3D物件。它僅支援腳本的建模器,使用自己的描述語言;3D 預覽可以互動方式操作,但無法在 3D 中互動式修改。相反地,OpenSCAD 腳本會指定幾何基本圖元(如球體、方塊、圓柱體等),並定義如何修改與組合它們(例如透過交集差集、包絡組合或閔可夫斯基和等)來渲染 3D 模型 。因此,該程式執行的是构造实体几何(CSG)。此軟體可在WindowsLinuxmacOS 等作業系統上使用。

概覽

[编辑]

腳本語言

[编辑]

OpenSCAD 採用專屬腳本語言來產生 3D 圖形。此腳本語言支援函數式程式設計、參數化模組化與重複利用,以及數學運算。變數具有作用域限制,但在每個作用域(scope)之內都是不可變的。

預覽功能

[编辑]

為了快速預覽使用Z緩衝的模型,OpenSCAD 採用了OpenCSGOpenGL 技術。

與其他 3D 建模軟體類似,使用者可以透過滑鼠在視窗中互動式調整 3D 模型的位置。此外,還能在腳本中定義預設的「鏡頭」視角位置。

零件顏色(包含透明度)可在 3D 視圖中進行設定[註 1]

預覽相對快速,並允許在修改腳本時進行互動式修改。

模型渲染器會考慮光照,但光源不可修改。

使用

[编辑]

OpenSCAD 讓設計師能夠創建精確的 3D 模型與參數化設計,只需調整參數即可輕鬆修改設計[5]

OpenSCAD 文件採用純ASCII文本格式人類可讀腳本,在語法上可能更適合與git版本控制系統整合。

因此,OpenSCAD 是一款面向程式設計師的實體建模工具[6],並被推薦作為入門級的 CAD 工具,用於設計科研教育用途的科學儀器等開放硬體[7]

它常被用於設計3D列印零件,這些零件可輸出為多種 3D 檔案格式。其基於腳本的參數化特性使其能整合至線上模型客製化服務,例如Thingiverse3D列印市集上的「Customizer」工具。

使用 OpenSCAD 建立的Strandbeest 模型動畫

對於簡單模型,可實現每秒數動畫效果。動畫可影響任何參數,包括攝影機位置或零件尺寸、位置、形狀及存在狀態。動畫可錄製為一組影像,用以建立動態GIF

目前實驗性地支援與Calculix 耦合進行有限元素法分析(FEM)[8]FreeCAD 也能導入 OpenSCAD 檔案,搭配 Calculix 或其他支援的 FEM 求解器進行分析[9]。FreeCAD 特別設有與 OpenSCAD 互通的專用工作台[10]

檔案格式

[编辑]

匯入

[编辑]
  • 可導入DXFSVGPNG 格式的2D 圖檔,再擠壓成型為單體零件。
  • 能導入STL、OFF、AMF 與3MF 格式的 3D 零件,進行比例縮放及加減法運算處理。

匯出

[编辑]

OpenSCAD 的視圖與模型可輸出為多種格式,包括:

  • 檢視畫面可匯出為 PNG 格式。
  • 2D 模型可匯出為 SVG、DXF 與PDF 格式。
  • 3D 零件可匯出為基本體積的 3MF、AMF、OFF 及 STL 格式[11],輸出模型不包含色彩、材質或零件定義資訊。

設計

[编辑]

OpenSCAD 是以C++開發的 CSG 引擎封裝程式,具備圖形化使用者介面整合式編輯器。截至 2024 年,正式釋出版本採用計算幾何演算法函式庫(CGAL)作為基礎 CSG 引擎,開發快照版本則額外支援 Manifold作為替代方案[12]

其腳本語法反映了函數式程式設計的哲學。類似於Haskell,在作用域內每個「變數」都被視為常數,具有不可變性且最多只能有一個值。

平台實作

[编辑]
  • 官方獨立版本以C++編寫,適用於 Windows、MacOS 和 Linux等作業系統
  • FreeCAD:具有 OpenSCAD命令列介面,可替代零件求解器(part solver)或零件工作台(part workbench)使用
  • 瀏覽器實作版本亦可使用,例如 cadhub.xyz 和 jscad.app。

另見

[编辑]

PLaSM:另一種用於創建 3D 物件的開源腳本語言。

註解

[编辑]
  1. ^透明度是按建造順序評估的,因此只有已建造的部件才是透明的。

參考資料

[编辑]
  1. ^Claire Wolf. [2022-09-16]. (原始内容存档于2022-09-20). 
  2. ^OpenSCAD - News. 
  3. ^Building OpenSCAD.GitHub. 21 November 2021 [1 March 2014]. (原始内容存档于20 August 2017). 
  4. ^OpenSCAD - Downloads. [2017-02-09]. (原始内容存档于2021-03-31). 
  5. ^Evans, Brian,Practical 3D Printers: The Science and Art of 3D Printing, Apress: 113, 2012,ISBN 9781430243922 .
  6. ^Pettis, Bre; France, Anna Kaziunas; Shergill, Jay,Getting Started with MakerBot, O'Reilly Media, Inc.: 131, 2012,ISBN 9781449338657 .
  7. ^Pearce, Joshua M., Chapter 6: „Digital Designs and Scientific Hardware“,Open-Source Lab: How to Build Your Own Hardware and Reduce Research Costs, Elsevier: 165–254, 2014,ISBN 9780124104624 .
  8. ^Example.GitHub. 21 November 2021. 
  9. ^FEM CalculiX - FreeCAD Documentation. 
  10. ^OpenSCAD Workbench - FreeCAD Documentation. [2021-06-28]. (原始内容存档于2021-05-25). 
  11. ^OpenSCAD User Manual/Export - Wikibooks, open books for an open world. 
  12. ^GitHub上的manifold頁面

外部連結

[编辑]
維基教科書中的相關電子教程:OpenSCAD User Manual
開源軟體
專有軟體
已中止
核心技術
CAD軟體
自由和开源
机械
电子
专有软件
机械
电子
文件格式
建模内核英语Geometric modeling kernel
检索自“https://zh.wikipedia.org/w/index.php?title=OpenSCAD&oldid=89734564
分类:​
隐藏分类:​

[8]ページ先頭

©2009-2026 Movatter.jp