前两个 DIY 了一个冷蒸发式的加湿器,需要给它做一个外壳,FreeCAD + 3D 打印其实是一个又方便、效果也稳定的方案。学习成本不算高,但中文资料相对零散,所以就借这个小项目,顺便做一次“从需求到成品”的入门记录。

1 工具选型

1.1 3D CAD 工具对比(聚焦 3D 打印建模)

工具 定位 优点 限制 上手难度
FreeCAD 开源参数化 CAD 精确约束、尺寸可控、完全本地 交互偏传统、复杂模型稳定性一般 中等(概念清晰,但需要适应流程)
Fusion 360 工业级 CAD / CAM 功能全面、工程能力强、生态成熟 订阅制、部分功能依赖云 中偏高(功能密度大,学习曲线长)
Shapr3D 触控优先 CAD 交互直观、建模流畅、出形快 高级功能需订阅、工程深度有限 低(几乎即学即用)
Onshape 云端协作 CAD 协同强、版本管理完善 强依赖网络、订阅成本高 中(理念清楚,但概念偏工程)
Blender 自由造型工具 曲面与造型能力极强、插件丰富 非工程 CAD、尺寸控制弱 高(功能庞杂,非 CAD 思维)

1.1.1 建构原理

  • FreeCAD / Fusion 360 / Onshape / Shapr3D
    以 草图 + 约束 → 拉伸 / 剪切 / 布尔 为主,核心是 精确几何,适合对尺寸、配合要求较高的功能件。
    这类工具最适合做要装配、要装配位置精准的 3D 打印件。
  • Blender / ZBrush / Rhino(仅建模部分)
    更偏 自由造型 / 曲面,不擅长参数化尺寸控制。适合雕塑式外壳、艺术造型,但不太适合严肃的尺寸工程零件。

1.1.2 平台和生态

工具 平台 云服务 插件/扩展
FreeCAD Win/Lin/Mac 社区插件丰富
Fusion 360 Win/Mac 部分云功能 Autodesk 生态
Shapr3D iPad/Win/Mac 云同步 官方扩展较限
Onshape 浏览器 App Store 插件
Blender Win/Lin/Mac 海量插件

1.2 我的选型

我的工具上主要在 Blender 和 FreeCAD 之间选,原因很现实:它们都是开源软件,不用付费,Windows / Linux / macOS 都能用。自己实际用到的频率并不高,实在不想为了偶尔建个模花太多学习成本和按年订阅。

具体到这个项目,本质上只是做一个壳子,没有复杂曲面和装饰花纹,基础形状也无非是矩形、圆、椭圆。在这种前提下,FreeCAD 反而更合适一些:它在对齐、具体尺寸的精确设置和约束、简单阵列以及布尔运算上都比较直接,偏工程思路,用起来心里有数,改尺寸也不容易失控。

当然,FreeCAD 的问题也很明显。整体的视角、旋转和交互都偏“朴素”,一旦图形复杂起来,同样的操作,Blender 往往能轻松应对,FreeCAD 却可能直接卡死。这个项目里我对造型自由度要求不高,更看重尺寸和结构是否可控,所以这些限制是可以接受的。

总而言之:需要自由、复杂形态时用 Blender;需要尺寸、约束和工程感时,用 FreeCAD 就够了。

FreeCAD 直接在 GitHub 上下载各操作系统对应的安装包即可。

2 需求和设计

2.1.1 使用需求

给加湿器做一个外壳,至少需要满足以下功能性需求:

  • 包含一个可通气的圆筒,用于保护滤芯,同时保证湿气顺利吹出
  • 有一个顶盒 / 顶盖,方便拆卸查看内部情况和走线;顶盖可替换,以便后期加装单片机、温湿度计、显示屏、风力调节器等
  • 整体结构需要避让右侧水容器(两个圆柱在空间上有一定交集)

2.1.2 设计约束

在满足上述需求的前提下,还需要考虑材料和制造方式带来的现实约束:

  • 选择 PETG 作为打印材料:加湿器外壳长期处于潮湿和送风环境,相比 PLA,PETG 在耐湿性、耐温余量和韧性上更适合这种长期使用的功能件
  • 以 2mm 厚度作为基础壁厚,对 PETG 打印比较友好,强度和成功率都比较稳
  • 盒盖与盒体之间预留 0.3mm 公差,不追求严丝合缝,保证可拆装性
  • 不做回纹、渐变等复杂花纹:一方面 FreeCAD 对复杂花纹计算较慢,另一方面这个壳体本身也没必要
  • 不使用导角,为后续叠加更高层结构预留平整接触面,避免影响稳定性和契合度

2.1.3 结构设计

在需求和约束之上,最终采用了如下结构方案:

  • 主体与顶部分体设计,方便拆装,也便于后续替换不同功能模块
  • 圆筒上的通风孔采用竖直斜角,保证出风的同时,不直接暴露太多滤芯,并提供足够的支撑
  • 出线口做成稍大的随圆形,直接放在可拆的顶盖上,插头无需反复穿孔,维护更省事

2.1.4 FreeCAD 的基本用法(简要说明)

本节不是完整教程,仅用于说明本文中涉及的 FreeCAD 基本建模思路和界面操作,以便后续步骤更容易理解。

2.1.5 建模思路

FreeCAD 以 Body 作为单个物件的基本单位,一个 Body 对应一个完整零件。

常见的建模流程是:

  • 在某个基准平面上创建 Sketch,绘制二维轮廓
  • 通过 Pad 将草图拉伸为实体
  • 通过 Pocket 从已有实体中剪除部分结构(例如挖空、去芯)

模型通常由多次加料和减料操作逐步构成。

其中一个比较重要的概念是 约束 constrain。在 Sketch 中不仅要画出形状,还需要通过尺寸和几何约束明确其大小和位置关系,使草图处于完全约束状态。这一点对尺寸敏感的壳体或零件尤为重要。

2.1.6 界面与常用功能

FreeCAD 的界面元素较多,但常用区域主要集中在以下几处:

  • 左上:模型树,用于选择 Body、Sketch 以及各类特征。
  • 左下:属性面板,显示并编辑当前选中对象的尺寸、位置和参数。
  • 中间:建模视图,用于观察和编辑模型。
  • 右上:视图控制,切换视角以及模型缩放。
  • 右下:状态信息区,显示操作提示和系统信息,一般不需要频繁关注。

工具栏中常用的包括:

  • 第一行:控制视图
  • 第二行:新建 Body、新建 Sketch
  • 最下面一行:Pad(拉伸)与 Pocket(剪切),常见的布尔运算、阵列以及导角等工具

通常不需要一次掌握全部功能,用到时再查即可。

2.1.7 其他补充

  • 视图操作以 中键平移、滚轮缩放 为主
  • 建模时建议从简单结构开始,逐步增加复杂度
  • 出现问题时,优先检查 Sketch 中的约束是否合理
  • 可通过插件管理器安装常用插件(如螺丝、螺母、齿轮等),用于结构验证和快速建模 ## 3 具体实现

3.1.1 主体外壳(圆筒部分)

  • 新建实体
    • Part Design → Create Body
  • 拉出外形圆筒
    • Create Sketch → 选 XY 平面
    • 画圆 → 圆心约束 + 直径 160 mm
    • Close Sketch
    • Pad → 高度 200 mm
  • 挖空内部
    • 选顶部圆面 → New Sketch
    • 画内圆 → 同心 + 直径 156 mm(壁厚 2 mm)
    • Close Sketch
    • Pocket → 深度 198 mm(底部保留 2 mm)
  • 底部局部挖空(给顶盖让位)
    • 选底部圆面 → New Sketch
    • 画内圆 → 同心 + 直径 140 mm
    • Close Sketch
    • Pocket → 深度 2 mm
  • 切通风孔
    • Create Sketch → 选 XY 平面
    • 在圆周附近画一个小长方形(3 mm × 6 mm)
    • 在左下 Attachment → Position 中微调 x,y,z 位置
    • Close Sketch
    • Pocket → 深度 160 mm
    • Polar Pattern → 环形阵列 50 个

3.1.2 顶盖(可拆部分)

顶盖结构上分为“外盖 + 内卡边”。

  • 新建实体
    • Part Design → Create Body
  • 外盖
    • Create Sketch → XY 平面
    • 画圆 → 直径 160 mm
    • Close Sketch
    • Pad → 厚度 2 mm
  • 内卡边
    • Create Sketch → XY 平面
    • 画圆 → 直径 139.7 mm(预留装配间隙)
    • Close Sketch
    • Pad → 高度 4 mm
  • 出线孔
    • Create Sketch → XY 平面
    • 画椭圆 → 40 mm × 5 mm
    • 用 Attachment → Position 调整 x,y,z 位置
    • Close Sketch
    • Pocket → 深度 10 mm

3.1.3 避让水容器

水容器是一个现成结构,这里只是做几何避让,不追求精确建模。

  • 先实测:
    • 水容器直径
    • 与主体圆筒最近的交叠位置
  • 建立参考体
    • Create Sketch → XY 平面
    • 画圆 → 按实测直径
    • 通过 Attachment → Position 移到对应位置
    • Close Sketch
    • Pocket → 向下拉一个足够高的深度,用作减料

4 打印设置

  • 我使用的是 PETG Basic 的默认参数
  • 打印注意顶面朝下,以免产生不必要的支撑和某些面悬空

5 成品效果

6 参考资料

FreeCAD1.1建模教程|螺纹和滚花的创建方法,-36期 freecad VS fusion360 https://www.bilibili.com/video/BV1SFmzBkE7T/?share_source=copy_web&vd_source=573b4e38139c4dc9d07806ec1e946f15