入门建议
- 去http://www.openscad.org/downloads.html下载安装OpenSCAD.
- 要是会一点C就好了.
- 许多参数可以在最开始申明, 后面默认引用, 便于修改.
- 善用变量.
- 善用
module name(){}组合打包位置需要微调实体. - 接上, 可以用
children()指代被控制的实体. - 善用
hull(){}给实体蒙皮. - 用
$fn参数增大弧形计算精度. - 在函数前加
#以高亮函数生成的实体, 便于观察调试. - 用
%隐藏实体. - 在文件开头用
use <...>引用其它文件中的module. $vpr=[,,]设定初始视角.
基础实体创建
基础实体函数
如果没有
translate(), 实体生成起始点为[0,0,0], 没有center=true的参数的话起始点不一定为实体中心.
import(“path to stl files”)
导入文件为实体.
二维
square(x)或者square([x,y])
从起始点向x/y轴正方向构建正方形或者长方形.
polygon(points=[[x1,y1],[x2,y2],…])
circle(r)
以起始点为圆心构建圆.
text(“text”, size, font=””, halign=””, valign=””)
从起始点向x/y轴正方向生成字.
halign=”center”时起始点位于文字x轴的中心.
valign=”center”时起始点位于文字y轴的中心.
三维
cube([x,y,z])
从起始点向x/y/z轴正方向构建立方体.
cylinder(h,r)或者cylinder(h,d)或者cylinder(h,r底,r顶)
从底面中心向Z轴正方向构建圆柱体或者圆台/圆锥.
sphere(r)或者sphere(d)
以起始点为球心构建球体.
通用参数
| 参数 | 值 | 作用 | 备注 |
|---|---|---|---|
| [x,y,z] | 数值 | 指定长宽高 | |
| center | true/false | 设定起始点为中心 | |
| $fn | 数值 | 控制弧形精度 | 可以在代码前进行全局申明, 数字越大精度越差 |
| $fa | 数值 | 控制曲面精度下限 | 同上 |
| $fs | 数值 | 控制曲面进度上限 | 同上 |
| r | 数值 | 半径 | |
| d | 数字 | 直径 | |
| h | 数值 | 高 |
实体控制函数
所有实体控制函数后面都要紧跟着待控制实体的函数, 后面不要有
;,就像C中的if()等, 有必要话后面接用{}括起的代码块.
translate([x,y,z])
移动起始点的坐标.
对于二维实体z无效.
rotate([x度,y度,z度])或者rotate([z度])
沿x/y/z轴旋转实体, 从正方向看过来正数为逆时针旋转, 单位是角度.
对于二维实体仅需填入一个参量, 表现为实体绕z轴旋转.
color([R,G,B])或者color(“”)
RGB颜色代码, 取值为0~1; 或者填入颜色名.
计算函数
{}内需要;,{}后面不要跟;.
union(){}
将花括号内的实体取并集为新实体.
intersection(){}
将花括号内的实体取交集为新实体.
difference(){}
将花括号内第一个实体中减去后面的实体得到新实体.
hull(){}
蒙皮: 将花括号内实体边缘用曲面/品面连接形成新实体(实心).
linear_extrude(height)
将平面图形向z轴正方向拉伸为柱体或台体.
scale参数控制实体上表面相对底表面的缩放倍数.
twist参数控制拉伸过程中的旋转角度(在z轴正方向看过来正数为顺时针).
slices参数控制旋转时产生曲面的精度(类似3D打印中的切片数).
rotate_extrude(angle=360)
将平面人\图形立起至xOz平面并沿z轴旋转.
angle为正数时从z轴正方向看来为逆时针旋转.
projection(cut)或者projection()
取实体z=cut处的截面投影至其他实体表面或者将实体表面投影.
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!