简介:这份资源是 FreeCAD 官方文档 wiki 的中文翻译版手册(PDF 电子书),面向初次接触参数化 3D 建模的爱好者、创客与工程技术人员,主要解决官方 wiki 信息量大但新手难以检索、难以循序渐进学习的问题。手册以更平缓的节奏和基于示例的方式组织内容,系统覆盖软件安装(Windows、Mac、Linux)、3D 视图导航、传统 CSG 建模与 2D 绘图、参数对象的创建与属性读写、工作台与界面自定义、导入导出其他文件格式,以及 FEM 分析、Cura 与 Slic3r 切片插件、BIM 建模、生成 G 代码和 Python 脚本编写等进阶主题。压缩包仅含 1 个 PDF 文件,大小约 14.8MB,单文件便于在电脑或平板上离线阅读与全文检索,目录层级完整,可按章节跳读。目前已有 10960 人学习,适合希望脱离零散教程、按体系掌握 FreeCAD 从建模到出图、打印与二次开发流程的读者参考。
1. 装 FreeCAD 之前先对齐版本:0.16 手册配 0.16 客户端
有个读者照着这份 FreeCAD 中文教程装完,回头问我为什么手册里写的“编辑 → 首选项”在他机器上叫“Edit → Preferences”,工作台名称也一个都对不上。原因很简单:这份 FreeCAD 中文教程是机翻版手册,明确说是为当时稳定版 0.16 写的,他装了个新版本,界面、菜单层级、插件机制全变了,自然会处处错位。这份机翻版是从官方 wiki 反向整理的,步子比 wiki 小,例子多,从安装、界面导航、参数对象,一路铺到 3D 打印、BIM、FEM 和 Python 脚本,适合第一次接触参数化建模、又想一条链路走到 3D 打印的人。装不好最典型的后果不是报错,而是“静默错位”——你按手册点,界面没那一项,还以为自己装坏了。所以我建议先把版本、平台、依赖这三件事定死,再动手。
2. 三平台安装:Windows 走 exe、Linux 走包管理器、macOS 拖 App
FreeCAD 在三个平台上跑起来几乎没差别,装法却差得远。Windows 和 macOS 有官方预编译包,Linux 通常交给发行版打包,你直接从软件管理器装就行。这里的分歧点不是“能不能装”,而是“装哪个版本、装到哪个目录、和谁共存”。下面按平台各走一遍,命令都能直接抄。
2.1 Windows:exe 向导里真正要看的三处
从发布页下对应位数的 .exe(32 位和 64 位别选错,0.16 时代 32 位机器还不少),双击进向导。第一处是许可证页,LGPL,没有隐藏条款,接受即可。第二处是安装路径,默认在C:\Program Files\FreeCAD 0.16,我一般不动它,但有个血泪经验:路径里不要带中文、不要带空格,后面写 Python 脚本、挂插件、调切片器引擎时,这些字符会以各种奇怪的方式让子进程起不来。第三处是组件页,安装程序会把 Python 运行时和一批科学计算库一起塞进去,这是它自带的解释器,你机器上原本装没装 Python 都不冲突。
向导走完,PYTHONPATH不用设。手册里专门写了一句“除非你要做高级安装”,我把它翻译成人话:只要你是拿它建模、写写脚本、导个 STL,环境变量一个都不用碰。装完在开始菜单里能找到入口。
# 装完先确认两样东西落到位:主程序和自带的 Python 运行时 Get-ChildItem "C:\Program Files\FreeCAD 0.16\bin" -Filter "FreeCAD*.exe" Get-ChildItem "C:\Program Files\FreeCAD 0.16\bin" -Filter "python*.exe" # 顺便看一眼安装路径里有没有中文或空格,有的话尽早重装到纯英文路径 $env:ProgramFiles这段不是必须执行,是我给自己留的确认动作。第一条列出主程序,第二条列出解释器;两条都有输出,说明安装包解压完整。如果第二条空着,多半是安装时组件页被手动取消了勾选,重跑安装程序选“修复”就行。最后一行打印 Program Files 路径,是为了提前发现路径里的非 ASCII 字符。
还有一条容易忽略的:如果你在虚拟机里装,性能可能偏低,甚至因为 OpenGL 限制起不来界面。这不是装错,是虚拟显卡的能力问题,改宿主机或者换实体机验证,别在虚拟机里跟驱动较劲。
2.2 Linux:软件管理器够用,PPA 是追新版的路
大多数现代发行版(Ubuntu、Fedora、openSUSE、Debian、Mint 等)的软件管理器里搜freecad,点安装就完事。这条路的优点是依赖全自动解决,缺点是版本往往偏旧,可能落后官方发布好几个小版本。
# 先看发行版仓库里给的是哪个版本,再决定要不要换源 apt-cache policy freecad # 仓库版本能接受,直接装 sudo apt-get update sudo apt-get install -y freecad # 想追社区维护的稳定版/每日构建,用 PPA(Ubuntu 及衍生版) sudo add-apt-repository ppa:<社区维护的 FreeCAD 稳定版 PPA> sudo apt-get update sudo apt-get install -y freecadapt-cache policy是决策依据,它会把“已安装版本”和“候选版本”一起打出来,版本号对不上手册就先把这一步看清楚。PPA 那两行的地址,我写成占位符是故意的:这类源会换、会归档,正确的做法是去官方发布页拿当期地址,不要抄别人文章里几年前的字符串。追开发版同理,每日构建的包名通常带-daily后缀,装之前确认一下包名,别把稳定版覆盖掉了。
Linux 上还有一条被低估的路:开发版(预发布版)以.zip或.7z压缩包形式提供,解压后双击里面的可执行文件就能跑,不需要安装。好处是稳定版和开发版可以并存在同一台机器上,你想对比某个功能在不同版本的表现,直接开两个窗口。代价是没有桌面菜单项、没有文件关联,升级靠手动换目录。
源码编译这条路手册也提了,我一般不建议新手走。它要拉一堆开发库,编译一次几十分钟,出错了报错信息还特别长。除非你要改 FreeCAD 本身,否则别从这条路入门。
2.3 macOS:zip 解压、拖进 Applications、首次启动放行
macOS 的包通常是 zip,解开之后是一个.app。手册里写的动作是“拖到 Applications 文件夹”,这一步别省,直接在下载目录里双击运行也能开,但后面插件路径、偏好设置的定位会乱。
# 解压到临时目录,再把 App 整体搬进 /Applications unzip ~/Downloads/FreeCAD*.zip -d ~/Downloads/freecad_tmp cp -R ~/Downloads/freecad_tmp/FreeCAD.app /Applications/ # 从命令行拉一次版本号,验证包是完整的、可执行的 /Applications/FreeCAD.app/Contents/MacOS/FreeCAD --versioncp -R里的-R是递归复制,.app本质上是个目录,不能只复制里面的二进制。最后那条命令是我习惯的验证动作:能打印出版本号,说明包没在下载或解压过程中损坏,也说明系统允许它执行。如果这一步提示权限不足或者直接被杀掉,那就是下面要说的放行问题。
社区里用 Mac 的人相对少,可用的包经常落后其他平台几个版本,这一点装之前要有心理预期。首次启动如果被系统拦下——提示应用来自非 App Store 渠道、来源不明——去“系统设置 → 隐私与安全性”里给这一个应用放行,不要图省事把全局限制关掉。放行之后还是起不来,就看是不是包本身没下完整,重新下一遍比调系统设置快。
卸载在三平台都很轻:Windows 走控制面板的删除软件,Linux 用同一个软件管理器删,macOS 直接把 App 从 Applications 里拖走。但注意,删程序不等于删配置,用户目录里的配置文件会留着,这个坑在后面第 5 章细说。
3. 中文界面与首选项:编辑菜单里那六个开关
FreeCAD 装完第一次打开,默认走“开始中心”页面。这时先去改首选项,不要急着建模。理由是后面每一步——单位、自动恢复、脚本报错看不看得见——都挂在这些开关上,改晚了你会发现前面建的模型单位是错的,或者崩了一次什么都没留下。首选项入口在“编辑 → 首选项”。
3.1 语言与启动行为:中文只变一半是正常的
语言项在“常规”页里,FreeCAD 默认跟操作系统语言走,想手动改就在这里选简体中文,改完必须重启才生效。这里要提前打个预防针:手册里写得很清楚,FreeCAD 只有五六种语言接近完全翻译,中文属于“翻译了不少但没翻完”的那一档。所以你会看到主菜单是中文、某个工作台的名字还是英文、某个工具提示干脆原样。这不是装坏了,是对照手册学的时候,中英两边都要认。
同一页里还有两三个和启动有关的开关,值得一起定下来:
- 自动加载模块:决定启动后进哪个工作台。我一般设成
Part或者留空进开始中心,先看清楚再选,比默认落到某个不常用的工作台强。 - 启动时创建文档:勾上之后,开软件直接得到一个空文档,省一次“新建”。做连续实验的时候这个很省事。
- 开始中心:新版第一次启动会显示它。如果你已经明确知道自己要干什么,可以跳过,直接在选定工作台里开会话。
这几项没有对错,只有“你下次打开软件想看到什么”。我的习惯是:学习和对照手册期间,保留开始中心,因为它会列出最近文档,翻回去比重开快。
3.2 崩溃恢复与 Python 输出:把黑匣子打开
FreeCAD 和任何复杂应用一样,会崩。手册在“存储选项”这一节说得很直白:这里配的就是崩溃时救你工作的东西。两个开关必须开——自动保存恢复信息(设一个间隔,比如 10 分钟)、保存时把缩略图写进文件。前者是后悔药,后者让你在文件管理器里能一眼认出模型。
同一页还有两个“把 Python 消息重定向到输出视图”的选项,我强烈建议勾上。FreeCAD 的很多功能背后是 Python 脚本,脚本出错时如果消息被吞掉,你看到的现象就是“点了没反应”,纯黑匣子。勾上之后,报错会出现在报告视图里,至少有个线索能查。
# Linux / macOS:用户配置都在 ~/.FreeCAD 下,改坏了从这里救 ls -l ~/.FreeCAD/user.cfg # 看几个关键键当前的值,确认语言、自动恢复、重定向是否真的写进去了 grep -nE "Language|AutoSave|Redirect|UnitSystem" ~/.FreeCAD/user.cfguser.cfg是纯文本的 XML,FreeCAD 把界面里改的每一项都落到这个文件。第一条命令确认文件存在,第二条把和本章相关的几个键捞出来看。这一步的价值在于:界面里点了“确定”但没重启、或者配置被别的版本覆盖时,界面显示和文件内容会不一致,以文件为准。改之前先cp user.cfg user.cfg.bak,这是我每次动配置前的固定动作。
Windows 上对应路径是%APPDATA%\FreeCAD\user.cfg,macOS 在~/Library/Preferences/FreeCAD/下。清理配置重来时,删的就是这个目录,不是安装目录。
3.3 单位系统与默认许可:第一个文件就定死
单位在“常规”页里,选项大致如下:
| 单位系统 | 长度单位 | 适用场景 |
|---|---|---|
| MKS | 毫米 / 米 | 手册全部示例的默认,3D 打印和机械件首选 |
| Standard | 混合 | 想按习惯自动切换时用 |
| Imperial | 英寸 | 对接英制图纸 |
| 自定义 | 任选 | 已有工程规范要求时用 |
手册后面的例子都在 MKS 下走,你如果改成英制再去对示例,尺寸会差 25.4 倍,看起来像“模型炸了”,其实只是单位没对齐。我建议学习和复现期间锁死 MKS,等整套流程跑顺了再按项目需要切换。
“创作和许可”这一项很多人直接跳过,但它是给文件写默认元数据的地方:默认作者名、默认许可证。手册建议从一开始就选一个友好的 copyleft 许可证(比如知识共享类),理由是文件天然可共享。我的看法更实际一些——这些字段会写进你导出的每一个文件,等到你要把模型发给别人时再回头一个个补,比重装一遍还烦。开头定好,后面就不用管了。
4. 3D 打印链路:Cura 插件、Slic3r 工作台与网格导出
手册从“为 3D 打印准备模型”这一节开始,把 FreeCAD 和切片器接了起来。这条链路有一个概念必须先理清,否则后面所有操作都是盲的:FreeCAD 里建出来的是参数化实体,切片器吃的是三角网格。中间必须有一次“转换”。
4.1 谁负责三角面,谁负责走刀路径
参数化实体(B-rep)记录的是面和边的数学定义,改一个参数整个形状重算,精度是连续的。切片器不理解这个,它只认三角面片拼出来的壳,所以导出前要做网格化,把曲面离散成一堆三角形。精度的取舍就在这一步:网格划得细,STL 大、切片慢,但曲面圆滑;划得粗,文件小,圆柱会变成多棱柱。
分工是这样的:FreeCAD 负责几何和网格化,Cura 或 Slic3r 负责把网格切成一层层的走刀路径并生成 G 代码。手册里两条路都写了——Cura 是以插件形式嵌进 FreeCAD,Slic3r 是以工作台形式接进来。选哪条看你手头用什么切片器,不要两个都装,容易在导出时选错引擎。
4.2 插件装在哪:用户 Mod 目录是唯一入口
附加内容不是扔进安装目录,而是放在用户数据目录下的Mod文件夹里,FreeCAD 启动时扫描这个目录。这是它和很多软件不一样的地方,也是新手最容易放错的地方。
# Linux / macOS:用户级插件目录,没有就建一个 mkdir -p ~/.FreeCAD/Mod # 把解压好的插件目录整体放进去,然后重启 FreeCAD 才会被扫到 ls -l ~/.FreeCAD/ModWindows 对应%APPDATA%\FreeCAD\Mod。mkdir -p的-p表示父目录不存在就一起建,重复执行不报错。第二条ls是确认插件确实在里面,且是“目录”而不是压缩包——很多人把 zip 直接丢进去,FreeCAD 扫不到,还以为是插件不兼容。
版本匹配这件事必须说清楚:0.16 自带的是 Python 2.7 运行时,插件里的脚本也必须是按这个环境写的。拿一个新版插件塞进 0.16,最常见的表现不是报错,而是菜单里干脆不出现这一项,静默失败。判断办法是打开“视图 → 面板 → 报告视图”,看有没有 import 失败的记录。
4.3 从参数化实体到 STL:一段能复现的脚本
图形界面点“转换为网格”当然可以,但我更推荐先用一段脚本把整条链路跑通,因为脚本把每一步都摊开了,出问题知道断在哪。打开“视图 → 面板 → Python 控制台”,逐段粘进去。
import FreeCAD as App import Part, Mesh # 新建文档,名字只是标识,和磁盘文件名无关 doc = App.newDocument("BrickDemo") # 建一个参数化长方体:三个参数就是长宽高,单位跟随首选项(MKS 下是毫米) brick = doc.addObject("Part::Box", "Brick") brick.Length = 200.0 # 长 brick.Width = 100.0 # 宽 brick.Height = 50.0 # 高 # 改完参数必须重算,否则视图和导出都还是旧几何 doc.recompute() # 导出实体:STEP 给 CAD 之间交换,保留精确曲面 Part.export([brick], "/tmp/brick.step") # 导出网格:STL 给切片器,这一步内部做的就是三角化 Mesh.export([brick], "/tmp/brick.stl")几个点值得说明。addObject的第一个参数是对象类型名,Part::Box表示参数化长方体,换成别的类型名就是别的几何体,手册里“创建和操作几何”那一章列了一串。recompute()不能省,FreeCAD 的参数化是惰性的,你改完属性它不会立刻重算,不重算就导出会拿到旧形状,这个坑我踩过不止一次。Part.export和Mesh.export的区别就是前面说的实体与网格之分,两个文件都导出来对比一下大小,你对“离散化”会有直观感受。
导出路径用/tmp只是示例,Windows 上换成C:/temp/brick.stl这种正斜杠写法,反斜杠在 Python 字符串里会被当转义符。目录必须提前存在,导出函数不会帮你建目录。
5. 避坑排查:装完打不开、中文只变一半、插件找不到
这一章是我自己装过几轮之后攒下来的记录,按“现象 → 原因 → 解决”写,遇到对得上的直接照做。
5.1 启动阶段的翻车
现象一:Windows 上双击图标,转一下就没反应,任务管理器里也看不到进程。原因多半在显卡。FreeCAD 的 3D 视图吃 OpenGL,驱动太旧、远程桌面会话、虚拟机显卡都可能让它起不来,而且它不一定弹窗,就是安静退出。解决顺序是:先用命令行启动看有没有输出,再更新显卡驱动,最后排除是不是在虚拟机或远程会话里跑。实体机加正常驱动,这一条基本不会出现。
现象二:装完之后插件装不上、脚本执行报路径错误。原因通常是安装路径里带了中文或空格。Python 子进程拿到的路径被截断,报错信息还指向一个看起来完全无关的文件。解决办法是把 FreeCAD 重装到纯 ASCII 路径下,比如C:\FreeCAD。这是我在第 2 章就强调路径的原因,事后改比重装麻烦。
现象三:macOS 上提示应用来源不明,或者“已损坏,应移到废纸篓”。原因是系统对非 App Store 应用的默认限制。先去“系统设置 → 隐私与安全性”给这一个应用单独放行;如果提示的是“已损坏”,那多半是下载或解压不完整,重新下一遍,别去关全局安全限制。
5.2 配置与插件阶段的翻车
现象四:界面改成中文了,但一半菜单还是英文。这不是配置没生效,是翻译覆盖率的问题。手册里说得很清楚,只有少数几种语言接近完全翻译。解决方式是接受它:对照手册学时中英两边一起认,尤其工作台名称和工具提示。真要补翻译,官方有翻译入口,但那是另一件事了。
现象五:Cura 插件放进 Mod 目录,重启后菜单里没有。两个原因最常见:一是把压缩包直接丢进去了,没解压成目录;二是插件是按 Python 3 写的,而 0.16 跑的是 Python 2.7。前者看目录结构就能发现,后者要去报告视图里找 import 报错。解决是解压成目录、换匹配 0.16 的插件版本,装完重启再看一次报告视图确认加载成功。
现象六:软件崩了一次,重开发现刚才的模型没了。原因是首选项里的自动恢复信息没开,或者间隔设得太长。这个只能事前防:第 3 章那两个存储选项务必勾上,间隔按你的操作节奏定,我一般 10 分钟。已经丢了的情况,去用户目录下找.fcstd1这类备份文件,FreeCAD 保存时会留上一版,运气好能捞回来。
现象七:卸载重装新版本后,界面还是旧的设置,甚至启动就报配置错误。原因是卸载只删程序,不删用户目录里的user.cfg。新版本读到旧配置,键对不上就出各种怪现象。解决办法是把~/.FreeCAD(Windows 是%APPDATA%\FreeCAD)整个改名备份,让它重新生成一份干净配置,再逐项改回来。这也是我为什么建议动配置前先备份——留有退路比事后找原因省时间。
6. 装完怎么验证:拿一块砖把整条链路跑一遍
验证不要靠“能打开就算装好”,那只能证明主程序起来了。我的做法是用一个最小模型,把版本、语言、单位、参数化、网格导出、切片器对接这六件事一次性串起来,任何一环断掉都能立刻定位。
具体动作是:新建文档,用第 4 章那段脚本建一个 200×100×50 的砖块;改一下brick.Length到 300,看视图里的形状是不是立刻跟着变——这一步验证的是参数化和重算;然后导出 STEP 和 STL 各一份,看文件是否生成、大小是否合理;最后把 STL 丢进 Cura 或 Slic3r,能不能正常预览分层。
| 检查项 | 操作 | 期望结果 |
|---|---|---|
| 版本对齐 | 关于对话框 / 命令行--version | 与手册标注的 0.16 一致 |
| 中文生效 | 首选项里选简体中文后重启 | 主菜单为中文,工作台名可能仍为英文 |
| 单位正确 | 首选项单位系统为 MKS,量一下砖块 | 200 / 100 / 50,不是 7.87 英寸 |
| 参数化 | 改brick.Length后recompute() | 3D 视图形状同步变化 |
| 网格导出 | Mesh.export生成 STL | 文件存在,能被切片器打开 |
| 切片对接 | STL 导入 Cura / Slic3r | 模型居中显示,无破面 |
表格里最容易被跳过的是“单位正确”这一行,但它恰恰是最容易出问题的地方:单位错了,模型看起来完全正常,直到切片器告诉你尺寸是 7.87 英寸。所以量一下,别猜。
还有一个我自己的习惯:验证通过之后,把这份最小脚本存成brick_test.py放在固定位置。以后换机器、升级版本、怀疑环境坏了,跑一遍这个脚本,三十秒就知道是环境问题还是操作问题。它比任何“安装成功”的提示都可靠。
从那以后我每次装完 FreeCAD,不管多急,都强制走一遍这块砖的流程,再动真项目。省下来的排查时间,远比这三十秒多。希望帮到你。
本文还有配套的精品资源,点击获取