惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
MyScale Blog
MyScale Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
博客园 - 司徒正美
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
N
News | PayPal Newsroom
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LINUX DO - 热门话题
有赞技术团队
有赞技术团队
V
Visual Studio Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Project Zero
Project Zero
B
Blog RSS Feed
J
Java Code Geeks
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
博客园 - 【当耐特】
Latest news
Latest news
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园_首页
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta
D
Docker
Forbes - Security
Forbes - Security
Help Net Security
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
The Last Watchdog
The Last Watchdog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threatpost
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
Webroot Blog
Webroot Blog

博客园 - 我才是银古

第16章:常见问题、排错与最佳实践 第15章:扩展生态、MCAD 与外部集成 第12章:实战案例:机械结构与 3D 打印零件 第14章:构建、测试、调试与贡献流程 第13章:OpenSCAD 源码架构与核心执行流程 第11章:预览、渲染、网格精度与性能优化 第09章:列表推导、递归与算法建模 第08章:参数化零件库与复用设计 第10章:导入导出、命令行与自动化 第06章:CSG 布尔建模方法 第07章:二维图形、拉伸、旋转与投影 第05章:基础几何、坐标系与变换 第04章:参数、变量、函数、模块与作用域 OpenSCAD 教程目录 第03章:OpenSCAD 语言基础 第02章:安装、环境配置与开发工作流 第01章:OpenSCAD 项目全景与学习路线 第02章:源码获取、编译与开发环境配置 第01章:OCCT项目全景与学习路线 第18章:二次开发实战与综合案例 第17章:与 Qt VTK Python pythonOCC 生态集成 第18章:综合实战案例 第17章:数据交换与协同 第16章:源码架构与二次开发 第15章:插件与自定义工作台开发 第14章:Python脚本宏与自动化 第13章:FEM仿真分析 第12章:CAM数控加工 第11章:SurfaceMesh与逆向工程 第10章:Draft二维绘图与BIM建筑 第09章:工程图TechDraw 第07章:参数化表达式与Spreadsheet 第08章:装配设计Assembly 第06章:Part工作台与几何内核 第05章:PartDesign实体特征建模 第04章:草图Sketcher约束建模 第02章:安装版本与工作环境配置 第03章:界面工作台与基础操作 第十二章:插件开发、研究功能与最佳实践 第十章:定时任务与自动化(Cron) 第七章:技能、记忆与自学习闭环 第八章:MCP 集成与上下文文件 第六章:工具系统与终端后端 第五章:模型供应商与配置体系 Hermes Agent 教程目录 第十一章:语音、视觉、浏览器与子代理协作 第四章:CLI/TUI 与会话管理 第十二章:学习路线、实战方案与最佳实践 第十一章:源码结构、开发调试与插件开发 第十章:自动化、远程访问、日志与排障 第九章:Control UI、节点、Canvas 与语音能力 第七章:工具、技能、插件与能力扩展 第八章:安全模型、访问控制与沙箱实践 第六章:Agent 工作区、会话与多智能体路由 第五章:多通道消息接入与聊天平台配置 第四章:配置体系、模型接入与认证管理 第三章:Gateway 架构、协议与运行机制 第二章:安装、环境准备与快速上手 第一章:OpenClaw 项目概览与核心定位 oh-my-openagent 教程目录 09-命令模型回退与配置参考 10-实战案例最佳实践与故障排除 05-工作模式-Ultrawork-Prometheus-Atlas 08-Hooks与MCP系统 06-Category与Skill系统 07-核心工具链 04-智能体全景详解 03-安装与环境配置 02-整体架构与多模型编排机制 01-项目简介与核心理念 01-项目概览与学习路线 02-安装部署与工具适配 03-Skill机制与using-superpowers 05-TDD系统化调试与完成前验证 04-需求澄清方案设计与计划编写 07-并行智能体子智能体与Git-Worktree 第六章:代码审查、反馈处理与分支收尾 08-中国特色Skills与本土团队落地 09-MCP构建工作流执行与自定义Skill 第23章:FreeCAD-Python-API Clipper2 C# 源码解读教程 第19章:PolyTree 多边形树结构 第20章:实际应用与最佳实践 第18章:Minkowski 和与差 第17章:RectClip 矩形裁剪优化 第16章:ClipperOffset 偏移类详解 第15章:填充规则详解 第14章:布尔运算执行流程 第13章:ClipperD 浮点裁剪类 第11章:OutRec 与 OutPt 输出结构 第9章:Active 活动边结构 第10章:Vertex 顶点与 LocalMinima 局部极小值 第12章:Clipper64 裁剪类详解 第7章:高精度运算与128位整数 第8章:ClipperBase 基类详解 第5章:枚举类型与常量定义 第6章:InternalClipper 内部工具类 第2章:核心数据结构 - Point64、PointD 第3章:路径与多边形表示 - Path64、PathD、Paths64、PathsD 第4章:矩形边界 - Rect64、RectD
第01章:项目全景与学习路线
我才是银古 · 2026-05-05 · via 博客园 - 我才是银古

第01章:FreeCAD 项目全景与学习路线

1. FreeCAD 是什么

FreeCAD 是一个开源、跨平台、以参数化建模为核心的三维 CAD/CAE/CAM 平台。它的定位不是单一绘图软件,而是一个可扩展的工程建模系统:用户可以用草图、约束、特征、布尔运算和装配关系构建设计;开发者可以用 Python、C++、Qt 与 OpenCASCADE 扩展新的对象、命令、工作台和自动化流程。

结合 FreeCAD 官方仓库可以看到几个关键事实:

  • 项目主页将 FreeCAD 定义为 “Your own 3D Parametric Modeler”,强调开源、参数化、面向现实对象设计。
  • README 明确列出底层技术:OpenCASCADE 几何内核、Coin3D 三维场景、Python API、Qt 图形界面。
  • 源码目录采用核心层与模块层分离:src/App 承载应用数据模型,src/Gui 承载图形界面,src/Base 提供基础设施,src/Mod 收纳各工作台模块。
  • 当前主线通过 CMake 组织构建,顶层 CMakeLists.txt 要求 CMake 3.22.0 及以上,并根据选项启用 GUI、FEM、BIM、VR、测试等能力。

因此,学习 FreeCAD 应同时理解三个层面:

  1. 用户层:如何建模、约束、出图、装配、导入导出、加工、仿真。
  2. 参数化层:文档对象、属性、表达式、依赖图、重计算、命名稳定性。
  3. 开发层:Python 脚本、宏、工作台、命令、FeaturePython、自定义视图、C++ 模块。

2. FreeCAD 的适用场景

FreeCAD 适用于多种工程任务:

  • 机械设计:零件建模、孔/倒角/圆角/筋板/螺纹表达、工程图。
  • 产品原型:参数化外壳、结构件、夹具、3D 打印件。
  • 建筑与 BIM:墙、楼板、结构构件、IFC 数据、建筑模型组织。
  • 二维制图与施工辅助:Draft 工作台可绘制线、圆、尺寸、文字、捕捉和阵列。
  • 数控加工准备:CAM 工作台可创建作业、刀具、路径、后处理。
  • 仿真分析:FEM 工作台组织材料、网格、边界条件、求解器与结果。
  • 自动化建模:Python API 可以批量生成模型、读取参数、导出格式。
  • 二次开发:通过 Python 工作台快速扩展,也可通过 C++ 模块集成高性能算法。

不适合期望 FreeCAD 像商业 CAD 一样隐藏所有复杂度的场景。FreeCAD 的优势在于透明、可脚本化、可扩展;代价是用户需要理解对象树、重计算和工作台之间的边界。

3. 学习路线总览

建议按以下顺序学习:

  1. 安装与界面:先能稳定运行,理解工作台、组合视图、属性、导航、偏好设置。
  2. 草图约束:掌握几何约束和尺寸约束,这是 PartDesign 的基础。
  3. 实体建模:学习 Body、Pad、Pocket、Revolution、Fillet、Chamfer、Pattern。
  4. 参数化设计:使用 Spreadsheet、表达式、命名对象和配置变量。
  5. Part 与布尔建模:理解 B-Rep、形状、布尔、切片、壳体、融合与修复。
  6. 装配与工程图:用 Assembly 组织零部件,用 TechDraw 输出图纸。
  7. 专业工作台:根据方向学习 Draft/BIM/CAM/FEM/Surface/Mesh。
  8. 脚本与宏:用 Python 自动创建对象、修改属性、执行重计算和导出。
  9. 插件与工作台开发:封装命令、界面、图标、任务面板、偏好设置。
  10. 源码架构:理解 App/Gui/Mod/Base 的分层,进一步阅读核心对象模型。

4. 与其他 CAD 软件的差异

FreeCAD 的核心差异在参数化和开放架构:

  • 模型不是一次性几何结果,而是一组有依赖关系的对象;修改上游属性会触发下游重计算。
  • 工作台不是完全隔离的应用,而是围绕同一个文档模型提供不同命令。
  • Python 控制台不是附属工具,而是几乎所有操作都可以被脚本化的入口。
  • 文件格式 FCStd 本质上是包含 XML、BREP 和资源的压缩包,适合版本化理解但不适合直接手写修改。
  • 开源项目的功能演进与社区密切相关,版本之间命令名称、工作台组织和装配能力可能变化,需要关注官方 Release Notes。

5. 本教程的结构

本教程不生成 README,而是按照博客当前布局在 cad/FreeCAD/ 下提供独立章节 Markdown 文件,并在 index.md 中集中导航。章节覆盖用户入门、核心建模、专项工作台、工程输出、脚本自动化和源码开发。

建议读者在学习时采用“读一章、做一个模型、保存一个版本”的方式。FreeCAD 的知识只有在反复重建模型、修改参数、观察依赖图和处理失败特征时才会真正掌握。

6. 资料依据

本教程综合参考 FreeCAD 官方 GitHub 仓库的 README、src 源码结构、src/Mod 工作台列表、顶层 CMake 构建配置、贡献说明和当前发布信息,并结合 FreeCAD 常见使用流程整理为中文教程。官方仓库地址:https://github.com/FreeCAD/FreeCAD