译者前言
版权声明
这本小书作成时,FreeCAD 还在 0.17 版。这里讲的是比较基础的经验,其实对软件版本不太敏感。 虽然它已经是旧书,但它不是开放版权的,里面的内容不能随意修改,也不能用以生成新的材料。海外的中文使用者仍然需要在 KOBO 平台用 15 美金购买。中国大陆的读者可以在紫松鼠公司的网站下载 pdf 文件,也可以在 bookdown.org 读在线版。
关于作者
Brad Collette 在论坛上的名字是 Sliptonic。他 2010 年就参加了 FreeCAD 项目,是 CAM 功能 PATH 工作台的主程序员之一。在2013年他与朋友合著过第一本商业发行的 FreeCAD 图书 FreeCAD [How-to] Solid Modeling with the Power of Python。
目标对象
本书面向广义上的工匠,不限于机械和建筑等特定行业,不限于工程师和设计师等特定职业。哪怕是中小学生,只要你有一个想法,需要三维模型,以便做后续的分析和输出,那就可以借助 FreeCAD 这个工具。
本书名称虽然有发明者,但是不讲发明的思考过程,只是给发明者介绍一个有用的工具箱。本书虽然教 FreeCAD,但是并非套路实例,也不是大全指南,这里只介绍对发明者有用的功能,让他们先知其有,再自行探索。
总之,本书就像是一本特种菜谱,专门给新厨师讲解中式面点做法。之后则是“师父领进门,修行在个人”了。
篇章结构
本书正文有十五章,分为三部分。附录部分另有四章。
第一部分是概念,介绍三维建模的基本概念和建模经验。
三维工具长什么样,有没有表达式和引用,传统 2D 绘图怎么用,传统 3D 建模怎么用,属性建模怎么用?作者没有简单回答这些问题,而是基于经验教训,给出各种方法的适用对象,还有最佳实践技巧。即使是老工程师,如果不了解 FreeCAD,读了这一部分也会有所收获。
第二部分是技巧,通过复现经典发明来展示建模技巧。
阿基米德螺线,爱迪生的灯泡,蝙蝠侠的飞盘,贝尔的金属探测仪,特斯拉的轮机,它们是经典的发明。发明本身不是本书重点。在复制其模型的时候,发现和了解多种建模技巧,才是演示这些例子的目的。比如,用哪些参数生成螺线,怎样通过表达式调用表格数据,怎样导入照片描摹形状,如何处理有对称性的模型,怎样把部件之间的位置尺寸关联起来,怎样用一个草图驱动整个模型的主要尺寸?操练这一部分的例子,你会遇到挫折,也会豁然开朗,这就是熟练掌握 CAD 的过程,到最后你就有信心完成自己的模型了。
第三部分是应用,展示在三维模型基础上的应用层面可以有什么作为。
用于加工的话,可以画工程图,标注详细尺寸作为加工图纸;还可以生成指令或模型,给数控机床和 3D 打印机直接加工;用于分析和展示的话,可以做工程运算,用有限元方法做应变、受热、流体和电磁分析;也可以给材质贴纹理,打光后生成渲染图。另有一章讲 FreeCAD 内置的 Python 控制台,探索其它可能。
附录部分谈两方面的特性。一个方面是实体模型和线框模型各自的利弊,强调为 3D 打印导出文件时要用线框模型。另一个方面谈如何向 FreeCAD 导入三维和二维文件,讲解几种主要公开标准格式的利弊。
第一部分的概念是基础,第二部分的技巧是行路,第三部分的应用是落脚。发明者与工具箱的磨合,要走这样的旅程。
译者初衷
我想用一个月左右的时间,把 Sliptonic 的这本书翻译成中文版。初衷有三:
首先,饮水思源,涌泉相报。说实话,读了 Sliptonic 的书,我才开始用 FreeCAD。这本书的框架和小技巧都很好,但是 Sliptonic 的英语有点别扭,第三部分的例子从工程师眼中看来有点薄弱。我想通过翻译项目中的沟通,再版时我们也许有所改善。
其次,熟悉 FreeCAD 的维基和论坛。我最近翻译了一些 FreeCAD 的维基页面,但是总觉得在外围打转,也不知道哪里是重点。Sliptonic 的书提供了一个很好的路线图,将来我可以给出有关链接,把相应的 wiki 内容也翻译为中文。
最后,借用这个框架做推广培训。我想到师兄所在的大学去做一两场线下活动,给那里的学生们介绍这款开源的 CAD 工具,也许可以积累些课程材料。
FreeCAD 版本
FreeCAD 还在发展演化中,因此文档一旦写下来,就落后于软件的版本了。这本书目前基于 FreeCAD 的 0.17 版,所有的例子都用它测试过。
译者用以下的 FreeCAD 版本环境重做了书中的例子。
- OS: Mac OS X
- Word size of OS: 64-bit
- Word size of FreeCAD: 64-bit
- Version: 0.17.13541 (Git)
- Build type: Release
- Branch: releases/FreeCAD-0-17
- Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
- Python version: 2.7.14
- Qt version: 5.10.1
- Coin version: 4.0.0a
- OCC version: 7.2.0
- Locale: English/UnitedStates (en_US)
书中各章有项目示例,可以从这里下载完成后的文件。