























许多机械零件本质上是二维轮廓加厚度:板件、垫片、面板、齿轮、支架、铭牌、盒体截面。OpenSCAD 提供一组强大的二维建模能力,再通过 linear_extrude 和 rotate_extrude 生成三维实体。
二维建模通常比直接三维布尔更稳定、更快,也更接近激光切割、CNC 轮廓加工和板材设计流程。
square([40, 20], center = true);
circle(r = 10, $fn = 64);
二维对象位于 XY 平面,没有厚度。导出 SVG、DXF 或进行拉伸时非常有用。
polygon 用点列表定义二维多边形:
points = [[0,0], [40,0], [30,20], [10,20]];
polygon(points);
复杂多边形可使用 paths 指定外轮廓和孔洞路径。顶点顺序、自交和闭合性会影响结果。建议先用简单点集验证,再生成复杂路径。
offset 可对二维轮廓扩张、收缩或圆角处理:
offset(r = 2) square([30, 20], center = true);
offset(delta = -1) circle(10);
二维 offset 常用于生成壁厚、间隙、圆角矩形和刀具补偿。相比三维 minkowski,二维偏移再拉伸通常更高效。
线性拉伸把二维对象沿 Z 方向变成三维实体:
linear_extrude(height = 5, center = true)
circle(d = 20, $fn = 64);
可选参数包括 twist、scale、slices 等,可制作扭转体或渐变体:
linear_extrude(height = 40, twist = 180, slices = 80)
square([10, 4], center = true);
扭转模型面数增长快,应控制 $fn 和 slices。
旋转拉伸将二维截面绕 Z 轴旋转,适合旋钮、轮子、管件、碗形件、环形件:
rotate_extrude($fn = 96)
translate([20, 0, 0]) circle(d = 4);
注意二维截面通常需要放在 X 轴正侧,不要穿过旋转轴,否则可能产生自交。
projection 可把三维对象投影到二维:
projection(cut = true)
translate([0,0,5]) cube([30, 20, 10], center = true);
这适合从三维模型生成切割轮廓、检查截面、导出 SVG/DXF。cut = true 表示取 Z=0 截面,false 表示投影轮廓。
OpenSCAD 支持文本生成二维轮廓:
linear_extrude(1)
text("OpenSCAD", size = 8, halign = "center", valign = "center");
文本可用于铭牌、面板标记、浮雕和凹刻。注意字体在不同系统上可能不同,团队协作时应明确字体或把最终轮廓导出固定。
OpenSCAD 可以导入 DXF、SVG 等二维资源,也可以导出二维轮廓。常见流程:
linear_extrude 生成实体。导入外部轮廓时要检查比例和坐标原点。很多问题来自单位不一致或路径未闭合。
$fn = 80;
outer_d = 60;
inner_d = 25;
hole_d = 5;
hole_circle_d = 45;
thickness = 6;
module flange_2d() {
difference() {
circle(d = outer_d);
circle(d = inner_d);
for (a = [0:90:270])
rotate(a) translate([hole_circle_d/2, 0]) circle(d = hole_d);
}
}
linear_extrude(thickness, center = true)
flange_2d();
这个例子展示了“先二维、后拉伸”的清晰结构。后续可增加沉孔、倒角和型号文字。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。