跳转到内容

OpenSCAD用户手册

25% developed
维基教科书,自由的教学读本



简介

[编辑]

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