Chapter 5 特征建模(PartDesign和Sketcher工作台)
前面了解了怎样用传统方法做 2D 和 3D 的设计。在本章,我们谈混合驱动的技术,看看它怎样通过叠加一个个的特征,构造出复杂的形状。原始形状称为“基础特征/Base Feature”,在此基础上,通过多次增加和削除材料,得到最终想要的模型。每个后续特征都建立在前面特征的基础上,但是并不会破坏它,所以任何时候都可以回滚到前面一步。最后的特征称为“tip”,它作为这个零件的整体形象出现在 3D 窗口中。
本书的后续章节都使用特征建模技术。
5.1 特征建模适用的场景
- 创建复杂零件的全参数化模型;
- 创建基于凸台、扫掠和放样的特征,以及增加材料的其他几何体;
- 创建基于去除材料类操作的特征;
- 创建基于阵列和镜像的特征;
- 给一个面施加斜角;
- 建立一组有配合关系的零件。
5.2 Part Design 与 Sketcher
跟之前提到的建模技术不同,FreeCAD 里基于特征建模的方法依赖于两个工作台:Part Design 和 Sketcher。
Part Design 总管创建体和特征的过程。
有些特征依赖于 2D 元素,这里参数驱动的 2D 对象称为 sketch。 Sketch 后续可以用来给 body 增加材料或削除材料。Sketcher 工作台就提供绘制这种图形的工具。
Part Design 和 Sketcher 工作台紧密配合着工作。从 Part Design 工作台,创建和编辑 sketch,FreeCAD 会自动切换到 Sketcher 工作台。当关掉 sketch ,它就自动切换回 Part Design 工作台了。
5.3 Part Design 工作台的用户图形界面
Part Design 有两个工具条:帮手工具/Helper tools 和建模工具/Modeling tools。
通过 Helper tools 可以创建 body ,可以给工作台用到的各个对象之间建立重要的联系。
通过 Modeling tools 可以创建特征,给 body 增加材料,削除材料,复制特征。
很多建模工具需要用到 sketch。Sketch 是在 Sketcher 工作台里创建的 2D 图。这些 sketch 会定义凸台的形状或 body 上凹坑的形状。单个或多个 sketch 也可用来引导诸如旋转、扫掠和放样之类的操作,来增加材料或去除材料。
当 body 有多个同样特征,省力的办法是只做一次特征模型,然后用阵列功能复制成其它。如果这些特征沿着一条直线,可以用线性的阵列;如果这些特征围绕着一个点,可以用圆形的阵列。类似地,如果特征是对称的,那就用镜像特征来做。
有很多直接针对实体的边沿或表面的特征不需要 sketch 。圆角和倒角就是最常用的此类特征。
在本书第二部分中,我们会仔细操练这些工具如何使用。
5.4 Sketcher 工作台的用户图形界面
Sketcher 工作台里绘制的 2D 图有些特殊,它用 Constraint 来控制各种几何元素。
Sketcher 有很多工具条,我们这里重点看两个:Geometry 与 Constraint 工具。
Geometry 工具跟 Draft 工作台里的工具很像。画圆、直线、弧线和椭圆,等等。也有几个工具,用来快速创建规则多边形、长方形等。
在 Sketcher 工作台里画几何元素,控制方式更符合直觉——给它们添加 Constraint。Constraint 就是限制几何元素的一些规则。例如, sketch 中的一条线段,如果没有约束,就可以随意修改尺寸和位置。如果给它添加一个长度尺寸约束,让它精确等于 10mm 长,这条线段就不能被拉长了,虽然你还是可以移动整条线段或它的一个端点。
一个个地加上约束,Solver 就自动地把受到约束的几何元素固定下来,同时调整那些没有约束的元素来适应它们,满足所有要求。
Constraint 工具条(图 5.4)里的工具可以给选定的对象施加各种各样的约束。
编辑 sketch 就激活了一个任务。任务面板上显示着 solver 的信息,告诉你还有多少自由度。这个数字表示未被完全约束的几何元素可以有多少种变化方式。
5.5 Body
我们前面讲到过 body,但是没有多谈。它是 Part Design 工作台的核心概念,值得进一步讨论一下。
Body 是单一连续实体对象。这里有一个简单的判断准则:如果真实世界中的零件需要用到胶水、螺栓或者钉子,它就不是单一 body 。Body 应该是单一的、材料唯一的实体,比如说一块铸造金属,一个 3D 打印件,或者整个木片。如果你的作品需要装配,比如用多片木头拼起来的橱柜,那么就该把它做成多个 body。
FreeCAD 允许在一个文件中含有多个 body,但是同时只能有一个 body 处于激活状态。在项目树上,处于激活状态的 body 的背景是蓝色的(图 5.5),它接收添加进来的新特征。
要激活一个 body,在项目树节点上点击右键,然后选择 Toggle active body。
5.6 简单示例(建模)
让我们做一个简单的盒子,通过它看看这种建模方法怎么用。先别担心尺寸和准确性。在特征建模r的加持下,最好(也更快)的做法是先大致画出来。我们稍后就会告诉你怎么让你的作品既准确又容易修改。
- 新建一个文件,切换到 Part Design 工作台。创建一个实体,创建一个 sketch。 创建新实体按钮 会创建一个实体,同时激活它。你可以按你所愿在一个项目中创建多个实体。如果你还没有创建过实体,那么 创建 sketch 按钮 就先帮你创建一个,然后激活它。无论通过哪种方式,你都会进入任务对话框,来选择 sketch 所在平面。你可以在清单选,也可以在 3D 窗口中选(图 5.6)。
- 用长方形工具 画封闭的四条边。大致围着原点画就行了,暂时不用担心精确性。
- 关闭 sketch,用凸台工具 把 sketch 拉伸成一个实体,我们这里的凸台 50mm 厚。
- 现在我们需要削除盒子中间的材料。选中实体的顶面,创建另一个 sketch。
- 重复上面的过程,画一个长方形,代表要挖的凹坑形状。这次也不要担心精确性,只要保证轮廓落在面的内部就行。做好了就关掉 sketch。
- 用凹坑工具 挖除材料,到 40mm 深。
你可以继续这个增加材料和削除材料的过程。对象一直都是参数化的,所以你可以再次打开我们创建外轮廓的 sketch ,修改长方形的大小。当你关掉 sketch,模型会自动更新,反映出你的改动效果。
5.6.1 简单示例(添加约束)
- 展开我们刚刚创建的 body,找到定义了外形的那个 sketch;
- 双击 sketch,重新打开它;
- 选择顶部的那条边,给它一个水平方向的距离约束 ;
- 输入一个尺寸值,点击“OK”;
- 重复上面的过程,给侧边一个竖直方向的距离约束 。
- 为了把长方形的中心对正原点,还需要一个约束,不过要小心。选择左上角的点,接着选择右下角的点,最后选择坐标原点,然后施加一个对称约束 。注意选中这些点的顺序很重要。
现在 sketch 应该是完全约束的了。窗口中的几何元素会变成可爱的绿色,解算器也会反映出这个消息。
关闭 sketch,注意实体会自动更新,反映出这些约束的效果。
5.7 使作品的一部分依赖另一部分
几何元素能怎样改变,约束给它规定了限制。另一种看待约束的视角把它看作是几何元素之间的关系。比如说规定一个线段 5in 长,也可以说它的两个端点必须间距 5in。
很多约束能直接施加,但是有时我们想做复杂的约束,或者需要依赖这个 sketch 之外的东西。
比如:
- 我们需要零件的一个特征与另一个特征离开某个特定距离;
- 我们想要螺栓头或其它圆形特征的中心在 sketch 上某个指定的点;
- 我们从材料上切除多个零件,这材料的厚度可能要改,但是我们并不想重新设计;
- 我们想让两个 body 以某种方式配合在一起。
Sketcher 和 Part Design 有几个工具,让我们可以建立这样复杂的关系。
5.7.1 构造线
构造线可以是直线、圆或者圆弧。把构造线加入到 sketch 中,是为了附加更多的引用关系,最终的零件并不直接依赖它们。
设想一个等边三角形。我们可以画出三角形的三条边,然后给它们加上长度相等的约束。Solver 会告诉我们还有几个自由度,涉及三角形的大小、位置和朝向。如果想固定这个等边三角形的中心,就遇到麻烦了:没有这个中心啊。还有,虽然可以设定三角形边的长度,但是要设定中心到顶点的距离就办不到了。
在图 5.13 里,用了正三边形 工具。它自动加入了一个圆作为构造线,三角形的三个顶点与圆相接。这种方法与上面讲到的方法其实是等效的,但是它给出了一个中心点,还有一个半径参数,可以用来控制等边三角形的大小和位置。
练习多用构造线吧!把它用得出神入化,你的 sketch 就能保持简单,后续添加的约束数量也会更少。
5.7.2 链接到外部几何体的边
body 的边线能用于约束,但是需要先做一步操作。点击 Edge linked to External Geometry 按钮 ,指针移动到 body 的边上面悬停,如果指针变样子了,说明这个允许链接。选中的边会渲染为玫红色,在给 sketch 添加约束时可以引用。
5.7.3 body 基准
body 基准(X、Y、Z 轴和 XY、XZ、YZ 平面)能被引用。平面用于镜像特征,轴用于旋转特征。XYZ 基准原点用来确立本地坐标系,也用来“固定”特征位置。
5.7.4 基准点、线、面
如果 body 的基准轴和平面不够用,你可以自己加入额外的点、线、面,明确把它们作为参考框架之用。这些基准在 body 的坐标系中自有其方位,可以用作 sketch 和特征的参考基础。
5.7.5 Shape binder
Shape binder 能实现跨 body 引用,让某个 body 的几何元素为另一个 body 所用。做一次 shape binder 可以从原始形状上引用多个面和边。这些边和线就好像是本地的一样,可以被新的 body 或 sketch 引用。
5.7.6 简单示例(链接到外部的边)
也许我们想让上面例子中的盒子壁厚 12mm。在项目树里找到定义凹坑的 sketch ,打开它。
- 点击 Edge Linked to External Geometry 按钮 ;
- 在盒子外轮廓的边上悬停指针,它改变了样子,选中这条边添加进来,这条边会变成玫红色;
- 给长方形的角点和这条的一个端点之间设置正交尺寸(图 5.16);
- 关闭 sketch,body 会自动更新,反映出改动的效果。
5.8 特征建模的实践经验
特征建模需要实践。只要最终得到想要的模型,做法上没有什么对的和错的。然而,肯定有比较好的和相对不好的做法。糟糕的做法带来脆弱的模型,难以修改的模型,甚至可能导致 FreeCAD 崩溃。
下面是给你的一些实践经验。
5.8.1 关于 body 的实践经验
- 保证 body 越简单越好。记住,它是单一连续实体。
- 应该到最后才做圆角和倒角。
- 如果特征具有对称性,考虑只建模它的一半,然后做镜像(参考第 8 章)。
- 对同样的特征,用线性阵列或圆形阵列复制它,避免重复做同样的事情。
- 用多个简单的小动作搭建出复杂的实体,而不要用复杂的动作来减少步骤。
5.8.2 关于 sketcher 的实践经验
- 让 sketch 保持简单。太多的约束会带来糟糕的表现。你总是能把一个复杂的 sketch 拆分成一系列简单的特性。
- 努力做到完全约束 sketch。
- 总是给外周特征绘制封闭的轮廓。否则,你的 sketch 无法拉伸出实体的凸台。
- 从计算角度讲,不是所有的约束都性能相等,有些约束占用更多的处理器资源。如果你可以在长度约束和水平/竖直距离约束之间做选择,后者更好。
- 采用构造元素。添加几何元素总比添加约束容易。只作构造用的几何元素在添加时,就可以借助 Construction Mode 工具改变其存在状态。构造元素并不包含在最终的实体中。
- 一般来讲,先添加几何约束,然后是尺寸约束,最后再定位 sketch。
- 如果可以的话,用定位约束把把 sketch 的中心放在坐标原点。如果你的 sketch 不具有对称性,把它的一个角点固定在原点。或者选择具有圆整尺寸值的点来做定位。
- 最好用这些约束:水平、竖直、点与点相接。尽量少用用这些约束:长度、边与边相切、点固定在线上、对称。
- 可以在 sketch 里做圆角,但是这会增加复杂性。如果圆角并不少,那就不要这么做,稍后再把它们加在 body 上。