Skip to content
Published on

3D 打印机建模完全指南 — 从 Fusion 360、切片软件到打印

分享
Authors
3D Printing Guide

引言

3D 打印机是把想法变成实体物件的工具。Arduino 外壳、无人机零件、键帽、手办——只要你能想到的,都能做出来。本文梳理从建模到打印的全过程。

3D 打印机的种类

FDM vs SLA vs SLS

项目FDMSLA(树脂)SLS
原理熔化长丝逐层堆叠用 UV 固化树脂用激光烧结粉末
分辨率100~400μm25~100μm80~120μm
材料PLA、PETG、ABS、TPUUV 树脂尼龙、PA12
价格(入门)20万~50万韩元30万~60万韩元500万韩元以上
后处理去除支撑、打磨需要清洗+二次固化去除粉末
用途外壳、零件、原型手办、首饰、牙科工业零件、小批量生产
推荐机型Bambu Lab A1 miniElegoo Saturn 4-(工业用)

FDM 耗材对比

耗材温度热床强度特点
PLA190~220°C60°C中等最容易上手、环保、气味小
PETG220~250°C80°C耐化学腐蚀、可做透明件、实用
ABS230~260°C100°C耐热、收缩大、必须通风
TPU210~230°C50°C柔韧像橡胶一样柔软、适合手机壳
ASA240~260°C100°C耐紫外线、适合户外使用

Part 1: Fusion 360 建模

基本工作流程

1. Sketch(2D 草图)
   ├── Rectangle、Circle、Line
   ├── Dimension(尺寸约束)
   └── Constraint(水平、垂直、对称)

2. 转换为 3D
   ├── Extrude(拉伸):把 2D 赋予 3D 高度
   ├── Revolve(旋转):让 2D 绕轴旋转
   ├── Loft(放样):连接两个轮廓之间
   └── Sweep(扫掠):沿路径移动轮廓

3. 修改
   ├── Fillet(圆角):把边角磨圆
   ├── Chamfer(倒角):削平边角
   ├── Shell(抽壳):把内部掏空
   ├── Mirror(镜像):向对称一侧复制
   └── Pattern(阵列):环形/直线重复

4. 导出
   └── STL3MF(供切片软件使用)

Arduino 外壳制作示例

Fusion 360 步骤:
1. 新建草图(XY 平面)
2. Rectangle:70mm × 55mm(Arduino Uno 尺寸 + 余量)
3. Extrude:高度 25mm
4. Shell:壁厚 2mm(顶面开放)
5. 草图(内壁)USB 接口孔(12mm × 11mm)
6. Extrude Cut:贯穿 USB7. 草图(底面)4 个安装孔(M3,Ø3.2mm)
8. Extrude Cut:贯穿孔位
9. Fillet:外部边角 3mm
10. 盖子:新建 Body → 草图 72mm × 57mm → Extrude 2mm
    → 内部凸起 1.5mm(卡扣式)
11. ExportSTL(High Resolution)

3D 打印设计规则

设计规则(FDM 为基准)├── 最小壁厚:1.2mm(喷嘴 0.4mm × 3 条线)
├── 最小孔径:2mm
├── 卡合公差:+0.2~0.3mm(紧配合:+0.1mm)
├── 螺丝孔:-0.2mm(M3 = 按 Ø2.8mm 建模)
├── 悬空角度:45° 以下(无需支撑)
├── 桥接:最长 50mm(无需支撑)
├── 最小细节:0.4mm(喷嘴直径)
├── 文字凸起:最小 0.6mm
├── 卡扣:钩子 1mm + 间隙 0.3mm
└── 45° 规则:倾斜超过 45° → 需要支撑

Part 2: OpenSCAD(用代码做 3D 建模)

// 最适合开发者! 用代码生成 3D 模型

// Arduino 外壳(参数化)
board_w = 68.6;  // Arduino Uno 尺寸
board_h = 53.3;
board_d = 15;    // 元件高度

wall = 2;        // 壁厚
clearance = 0.5; // 卡合公差

// 主体
difference() {
    // 外部箱体
    rounded_box(
        board_w + wall*2 + clearance*2,
        board_h + wall*2 + clearance*2,
        board_d + wall,
        r = 3
    );
    // 内部空间
    translate([wall, wall, wall])
        cube([board_w + clearance*2, board_h + clearance*2, board_d + 1]);
    // USB 接口孔
    translate([-1, wall + 10, wall + 3])
        cube([wall + 2, 12, 11]);
    // 电源接口孔
    translate([-1, wall + 30, wall + 2])
        cube([wall + 2, 10, 12]);
}

// M3 安装孔
mount_positions = [[14, 2.5], [15.3, 50.7], [66.1, 7.6], [66.1, 35.6]];
for (pos = mount_positions) {
    translate([pos[0] + wall + clearance, pos[1] + wall + clearance, 0])
        cylinder(d = 3.2, h = wall, $fn = 20);
}

// 模块: 圆角箱体
module rounded_box(w, h, d, r) {
    hull() {
        for (x = [r, w-r], y = [r, h-r])
            translate([x, y, 0]) cylinder(r = r, h = d, $fn = 30);
    }
}

// 用 CLI 生成 STL:
// openscad -o case.stl case.scad
OpenSCAD 核心语法:
├── cube([x,y,z])         — 长方体
├── cylinder(d, h)        — 圆柱体
├── sphere(r)             — 球体
├── translate([x,y,z])    — 平移
├── rotate([x,y,z])       — 旋转
├── scale([x,y,z])        — 缩放
├── difference()A - B(相减)
├── union()A + B(合并)
├── intersection()AB(相交)
├── hull()                — 凸包
├── linear_extrude(h)     — 2D → 3D 拉伸
└── rotate_extrude()      — 2D → 3D 旋转

Part 3: 切片软件设置

核心参数

Cura / PrusaSlicer 通用设置:

层高:
├── 0.12mm:高品质(慢,适合手办)
├── 0.20mm:标准(常规零件)
├── 0.28mm:超高速(原型、测试)
└── 规则:喷嘴直径的 25~75%(0.4mm 喷嘴 → 0.1~0.3mm)

壁厚/顶底厚度:
├── 壁线数:3~4(1.2~1.6mm)
├── 顶/底层数:4~5(0.8~1.0mm)
└── 需要强度时增加壁数

填充:
├── 10~15%:装饰用(强度弱)
├── 20~30%:常规零件(标准)
├── 40~60%:机械零件(强度高)
├── 100%:实心(最强,最慢)
└── 图案:Grid(标准)、Gyroid(强度/柔韧性)、Lightning(快速)

支撑:
├── 悬空角度:45°(默认)
├── 支撑密度:10~15%(默认)
├── 支撑 Z 间距:0.2mm(便于去除)
└── 树形支撑:适合复杂模型

速度:
├── 外壁:30~50mm/s(品质)
├── 内壁:60~80mm/s
├── 填充:80~150mm/s(速度)
├── 空驶:150~250mm/s
└── Bambu Lab:300mm/s 以上(加速度 20000mm/)

温度:
├── PLA:喷嘴 200°C,热床 60°C
├── PETG:喷嘴 235°C,热床 80°C
├── ABS:喷嘴 245°C,热床 100°C(必须使用封闭箱!)
└── 首层:+5°C,速度 50%(提升附着力)

G-code 基础

; 3D 打印机的指令 = G-code
G28           ; 回原点(Home)
G29           ; 自动调平
M104 S200     ; 设置喷嘴温度为 200°C
M140 S60      ; 设置热床温度为 60°C
M109 S200     ; 等待喷嘴温度到达设定值
M190 S60      ; 等待热床温度到达设定值

G1 X50 Y50 F3000  ; 移动到 X50 Y50(3000mm/min)
G1 Z0.2 F300      ; Z 0.2mm(首层高度)
G1 X100 E10 F1500 ; 移动到 X100 的同时挤出 10mm
G1 Y100 E20       ; 移动到 Y100 的同时追加挤出

M106 S128     ; 风扇 50%(0~255)
M84           ; 关闭电机
M104 S0       ; 关闭喷嘴加热

疑难排解

问题 → 原因 → 解决方法:

首层不粘:
  → 热床调平 / 喷嘴过高
  → 降低 Z 偏移、提高热床温度、使用辅助胶

拉丝(Stringing)  → 回抽不足
  → 回抽距离提高到 6mm 以上、速度提高到 40mm/s 以上、降低温度

层裂(分层)  → 层间粘合不良
  → 提高温度、降低风扇速度、使用封闭箱

象脚(Elephant Foot)  → 首层挤压过度
  → 提高 Z 偏移、首层流量调至 90%

堵头(Clogging)  → 热蠕变 / 杂质
  → 冷拉清理、更换喷嘴、检查 PTFE

📝 测验 — 3D 打印机建模(点击查看!)

Q1. FDM 和 SLA 的核心区别是什么? ||FDM:熔化长丝逐层堆叠(100~400μm),价格低廉,可打印大尺寸。SLA:用 UV 固化树脂(25~100μm),分辨率高,适合手办/牙科。FDM 适合功能性零件,SLA 适合精密模型||

Q2. 层高 0.12mm 与 0.28mm 的权衡是什么? ||0.12mm:高品质,看不出层纹,打印时间是 2.3 倍。0.28mm:速度快,能看出层纹,强度相近。范围是喷嘴直径(0.4mm)的 25~75%||

Q3. 悬空 45° 规则是什么? ||倾斜超过 45° 的表面下方没有支撑,会悬空打印导致下垂。45° 以下时前一层能提供足够支撑。超过 45° 时需要支撑||

Q4. OpenSCAD 的 difference、union、intersection 有什么区别? ||difference:从 A 中减去 B(打孔)。union:把 A 和 B 合并。intersection:只保留 A 和 B 的重叠部分。属于 CSG(Constructive Solid Geometry,构造实体几何)方式||

Q5. 填充图案中 Gyroid 好在哪里? ||各方向强度均匀、有柔韧性、可以让树脂/水排出(非实心)。相比 Grid,各向同性强度更优,打印中的振动也更小||

测验

Q1:《3D 打印机建模完全指南 — 从 Fusion 360、切片软件到打印》一文的主要内容是什么?

3D 打印的方方面面 — Fusion 360 建模、OpenSCAD 参数化设计、切片软件(Cura/PrusaSlicer)设置、FDM/SLA 对比,直到实战打印技巧。

Q2:3D 打印机的种类是什么? FDM vs SLA vs SLS FDM 耗材对比

Q3:请说明 Part 1: Fusion 360 建模的核心概念。 基本工作流程 Arduino 外壳制作示例 3D 打印设计规则

Q4:Part 3: 切片软件设置的关键要点有哪些? 核心参数 G-code 基础

Q5:疑难排解推荐采用什么方法? Q1. FDM 和 SLA 的核心区别是什么? Q2. 层高 0.12mm 与 0.28mm 的权衡是什么? Q3. 悬空 45° 规则是什么? Q4. OpenSCAD 的 difference、union、intersection 有什么区别? Q5. 填充图案中 Gyroid 好在哪里?