入门建议

  • 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处的截面投影至其他实体表面或者将实体表面投影.



software CAD

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!