AI个体时代下的免费开源跨平台CAD工具

个体时代

AI的普及意味着个体时代的到来, 以前需要一个团队完成的事, 如今只需要一个人+AI就能完成, 比如独立音乐人、独立游戏开发、独立影视工作, 独立创意工坊等等

人手一间独立工作室, 而我们需要做的只有一件事, 那就是大胆发挥想象力

事物发展不是巧合, 3D打印像是提前为大家准备好的工具, 它不再是有钱人的玩具, 而是普通创意工作者的生产制造利器

我们可以设计给各样的工具, 来解决生活过程中某一处的痛点, 如果确实好用, 可以申请专利, 批量生产售卖, 从而获取创意收入

有想法, 会使用AI, 会一点工具, 三者缺一不可

今天我们就来聊一聊, 创意工坊中的必备工具, 那就是CAD画图工具, 这是将想法转为具体实物的第一步

开源跨平台CAD

现在是免费开源时代, 进一步降低了我们创作的成本门槛

目前好用的开源跨平台CAD工具有:

  • OpenSCAD
  • FreeCAD
  • Python CAD(CadQuery / build123d)

OpenSCAD

由代码驱动的CAD工具, 适合程序员使用的工具, 对AI及其友好, 直接让AI给我们生成建模代码, 复制粘贴然后修改参数即可, 支持MacOS、Windows、Linux平台, 支持3D打印

image-20261027145945111

image-20261027150025982

支持导出图像、PDF、CSG、STL格式, 不支持导出STEP格式:

image-20261027150617856

官网: 点击进入

示例写法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
// 一个带安装孔的底座:参数化写法
L = 80; W = 56; T = 8; hole = 6.4;

difference() {
hull() {
for (x = [5, L-5], y = [5, W-5])
translate([x, y, 0]) cylinder(r = 5, h = T);
cube([L, W, T]);
}
// 4 个安装孔
for (x = [10, L-10], y = [10, W-10])
translate([x, y, -1]) cylinder(r = hole/2, h = T+2);
}

FreeCAD

一款功能齐全的参数化 3D CAD,界面与主流商业 CAD 类似,对标SolidWorks商业建模工具, 支持导出STEP格式, 同样跨平台 支持MacOS、Windows、`Linux系统, 支持M芯片, 支持3D打印

image-20261027150528859

image-20261027151001309

官网: 点击进入

如果你使用的是Mac平台, 可以直接使用brew命令行安装:

1
brew install --cask freecad

Python CAD

python语言代码式建模工具, 跨平台且AI友好, 知名的建模包有CadQuery与build123d

  1. CadQuery

    把 CAD 建模抽象成一系列流畅的 Python 操作,每一步都返回可继续操作的对象,最终直接输出精确 STEP, 示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import cadquery as cq

    plate = (
    cq.Workplane("XY")
    .box(80, 56, 8)
    .edges("|Z").fillet(5) # 四边竖直棱倒圆角
    .faces(">Z").workplane()
    .pushPoints([(10, 10), (70, 10), (10, 46), (70, 46)])
    .hole(6.4) # 4 个安装孔
    )

    cq.exporters.export(plate, "base_plate.step")

    直接运行一行代码即可生成step文件

  2. build123d

    它和CadQuery类似, build123d使用了更现代的语法, 在 CadQuery 基础上提供了更直观的上下文管理器写法, 示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    from build123d import *

    with BuildPart() as p:
    Box(80, 56, 8)
    Fillet(edges(), 5)
    with Locations((10, 10), (70, 10), (10, 46), (70, 46)):
    Hole(radius=3.2)

    export_step(p.part, "base_plate.step")

对比表格

三种工具对比表格如下:

维度 OpenSCAD FreeCAD Python CAD(CadQuery / build123d)
建模方式 声明式代码 图形化(草图 + 特征) 命令式 Python 代码
价格 免费开源 免费开源 免费开源
原生导出 STEP ❌(原生为 STL/CSG) ✅ ✅
原生导出 STL/网格 ✅ ✅ ✅
参数化 ✅ 顶部变量 ✅ 表达式/电子表格 ✅ Python 变量与逻辑
AI 友好度 ⭐⭐⭐⭐⭐ 极高 ⭐⭐ 中(API 复杂) ⭐⭐⭐⭐ 高
学习曲线 中等(需学语法) 中等(工作台多、界面偏传统) 中等(需会 Python)
草图约束 ❌ ✅ 以代码逻辑间接实现
装配/工程图/有限元 ❌ ✅ 需配合其他工具
跨平台 ✅ Windows/macOS/Linux ✅ Windows/macOS/Linux ✅ 任何有 Python 的平台
中文资料 官方手册有中文 官方 Wiki 有中文 主要是英文
典型用途 快速原型、参数化零件、AI 生成、3D 打印 完整设计流程、出工程图、导入导出、仿真 精确 STEP、批量建模、自动化、AI 生成

开源 CAD + AI 工作流

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
┌────────────────────────┐
│ 【你 / AI】 │
│ 输入:自然语言需求 │
│ 产出:模型代码 │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ 【OpenSCAD】 │
│ 输入:.scad 代码 │
│ 产出:快速原型 + CSG │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ 【CadQuery / build123d】│
│ 输入:Python 代码 │
│ 产出:精确 STEP │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ 【FreeCAD】 │
│ 输入:STEP / CSG │
│ 产出:检查、工程图、格式 │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ 【下游应用】 │
│ CNC 加工 │
│ 3D 打印 │
│ 装配验证 │
└────────────────────────┘

嘉立创免费打样

最近嘉立创有免费CNC打样活动, 每个月两个机会:

image-20261027153430009

image-20261027153849172

image-20261027153832730

image-20261027153904825

image-20261103210247974

官网: 点击进入

在符合规则的尺寸范围内的简单模型都可以免费打样, 有兴趣的小伙伴可以去薅一薅

本文为作者原创 转载时请注明出处 谢谢

ACG作坊– 分享动漫制作的博客站

0%