手册:传统建模,CSG方式

From FreeCAD Documentation
Revision as of 06:36, 10 June 2023 by Johnquicker (talk | contribs)
Other languages:

CSG 代表Constructive_solid_geometry_构造实体几何,描述了处理实体 3D 几何的最基本方法,即通过使用布尔运算(如并集、差集或交集)向/从实体中添加和删除一块来创建复杂对象。

正如我们在本手册中早些时候看到的那样,FreeCAD 可以处理许多类型的几何图形,但对于我们想要使用FreeCAD 设计的那种 3D 物体(即现实世界的物体),首选和最有用的类型无疑是实体 BREP 几何图形,主要由Part 工作台处理。与多边形网格不同,BREP 对象的面由数学曲线定义,这实现了在任何尺度下的绝对精度。

这两者之间的区别类似于位图和矢量图像之间的区别。与位图图像一样,多边形网格的曲面被分成一系列点。如果您仔细观察,或者将其放大打印,您将看到的不是曲面而是由许多平面组成的表面。在矢量图像和 BREP 数据中,曲线上任何点的位置不是存储在几何图形中,而是根据需要即时计算,具有准确的精度。

在 FreeCAD 中,所有基于 BREP 的几何都由另一个开源软件 OpenCasCade 处理。FreeCAD 与 OpenCasCade 内核之间的主要接口是 Part 工作台。大多数其他工作台在 Part 工作台的基础上构建其功能。 在FreeCAD中,所有基于 BREP 的几何图形都由另一个开源软件OpenCasCade 处理。FreeCAD 和 OpenCasCade 内核之间的主要接口是 Part 工作台。大多数其他工作台都在 Part 工作台的基础上构建其功能。

虽然其他工作台通常提供更高级的工具来构建和操作几何图形,但由于它们实际上都是操作零件对象,因此了解这些对象在内部是如何工作的,能够使用 Part 工具非常有用。由于 Part 工具更简单,它们经常可以帮助您解决更智能的工具无法正确解决的问题。

为了说明 Part 工作台的工作原理,我们将仅使用 CSG 操作(除了螺钉,我们将使用其中一个插件,以及尺寸,我们将在下一章中看到)来建模这张桌子:

让我们创建一个新文档(使用Ctrl+N或菜单文件 → 新建文档),以保存我们的桌子设计。文档最初在 Combo View 面板的 Model 选项卡中称为“无标题”,但是如果您将文档保存(使用Ctrl+Shift+S或菜单文件 → 另存为),将其保存为名为“ table.FCStd”的新 FreeCAD 文档,该文档将被重命名为“table”,这更清楚地标识了项目。

现在我们切换到 Part 工作台,开始创建我们的第一个桌腿。

  • 点击 立方体按钮
  • 选择立方体,然后设置以下属性(在“数据”选项卡中):
    • 长度:80 毫米(或 8 厘米,或 0.8 米,FreeCAD 可以使用任何单位)
    • 宽度:80 毫米
    • 高度:75 厘米
  • 通过按 Ctrl + C 然后 Ctrl + V 复制立方体(或菜单 编辑 → 复制和粘贴)(不会出现任何变化,因为第二个对象覆盖了第一个对象)。
  • 选择新创建的名为 Cube001 的对象(在左侧的 Model 选项卡中单击 Cube001)
  • 通过编辑其放置属性更改其位置:
    • 位置 x:8 毫米
    • 位置 y:8 毫米

你应该得到了两个高高的立方体,一个与另一个相距 8 毫米。

  • 现在我们可以将一个几何体从另一个几何体中减去:选择要保留第一个体,然后按住CTRL键,选择要减去另一个体(顺序很重要),然后按下 剪切按钮:

注意创建的对象,称为“Cut”。“Cut”仍然包含我们用作运算子的两个立方体。实际上,文档中仍然存在两个“Cube",仅被隐藏并在树视图中的“Cut”对象的分组中,仍然可以通过展开“Cut”对象旁边的箭头来选择它们。如果需要,可以右键单击来将它们显示出来,或更改它们的属性。

您还可以通过“组合视图” 布尔运算 来使用剪切工具和其他布尔工具。这给出了更明确但更费力的方式来完成它。

  • 我们复制基础立方体 6 次,创建另外三个脚。由于它仍然复制在剪贴板里,可以简单地粘贴(Ctrl + V)6次。

然后改变它们的位置,数据如下:

    • Cube002:x:0,y:80cm
    • Cube003:x:8mm,y:79.2cm
    • Cube004:x:120cm,y:0
    • Cube005:x:119.2cm,y:8mm
    • Cube006:x:120cm,y:80cm
    • Cube007:x:119.2cm,y:79.2cm
  • 做另外三个切割,首先选择“host”立方体,然后选择要切除的立方体。我们有了四个 Cut 对象。

你可能一直在想,可以将完整的脚重复三次,而不必复制基础立方体六次。完全正确,在 FreeCAD 中,有很多方法可以实现相同的结果。这是一个宝贵的经验,值得记住。因为随着我们接触到更复杂的对象,某些操作可能无法提供正确的结果,经常需要尝试其他方法。

  • 现在我们将使用相同的 Cut 方法为螺钉制作孔。由于我们需要 8 个孔,每个桌脚需要两个,我们可以制作 8 个要减去的对象。相反,让我们探索其他方法,并制作 4 个管道,这些管道将由两个脚重复使用。因此,让我们使用 圆柱体 工具创建四个管道。您可以再次只制作一个圆柱体,然后将其复制。给所有圆柱体一个半径为 6 毫米。这次,我们需要旋转它们,这也是通过数据选项卡下的 放置 属性完成的 注意: 在设置角度之前更改轴属性,否则旋转将不会应用)
    • Cylinder:高度:130cm,角度:90°,轴:x:0,y:1,z:0,位置:x:-10mm,y:40mm,z:72cm
    • Cylinder001:高度:130cm,角度:90°,轴:x:0,y:1,z:0,位置:x:-10mm,y:84cm,z:72cm
    • Cylinder002:高度:90cm,角度:90°,轴:x:-1,y:0,z:0,位置:x:40mm,y:-10mm,z:70cm
    • Cylinder003:高度:90cm,角度:90°,轴:x:-1,y:0,z:0,位置:x:124cm,y:-10mm,z:70cm

您会注意到圆柱体比需要的稍长一点。这是因为,就像所有基于实体的3D应用程序一样,FreeCAD中的布尔运算有时对面对面的情况过于敏感,可能会失败。通过这样做,我们可以保险一些。

  • 现在让我们进行减法。选择第一个桌脚,然后按住 CTRL 键,选择穿过它的一个管道,按下 剪切 按钮。孔将被制作,管道将被隐藏。通过展开穿过的脚,在树视图中找到它。
  • 选择另一个受到此隐藏管道穿透的桌脚,然后重复此操作,这次使用 Ctrl+ 在树视图中选择管道,因为它在 3D 视图中被隐藏了(您也可以使其再次可见并在 3D 视图中选择它)。对其他脚重复此操作,直到每个脚都有两个孔:

正如您所看到的,每个桌脚已经变成了一系列相当长的操作。所有这些操作都是参数化的,您可以随时更改任何早期操作的任何参数。在 FreeCAD 中,我们经常将这个堆栈称为“建模历史”,因为它实际上记载了您执行的所有操作的历史记录。

FreeCAD 的另一个特点是,3D 对象的概念和 3D 操作的概念往往融为一体。剪切既是一种操作,也是由此操作产生的 3D 对象。在 FreeCAD 中,这被称为“特征”(feature),而不是对象或操作。

  • 现在让我们制作桌面,它将是一个简单的木块,让我们使用另一个 Box 工具,长度:126cm,宽度:86cm,高度:8cm,位置:x:10mm,y:10mm,z:67cm。在 视图 选项卡中,您可以通过更改其 形状颜色 属性,使其具有漂亮的棕色木材质感:

请注意,虽然腿的厚度为 8mm,但我们将它放置在距离桌子 10mm 处,在它们之间留出了 2mm。 当然,这不是必需的,不会发生在真正的桌子上。但在“组装”模型中这种操作是常见的,可以帮助那些看模型的人理解哪些是独立的部分,需要以后手动连接在一起。

现在我们的五件部品已经完成了,是时候给他们更专有的,而不是“Cut015”这类的名称了。右键单击树视图中的对象(或按 F2),可以将它们重命名,改为对自己,或以后打开文件的其他人,更有意义的内容。人们常说,相比于你建模它们的方式,简单地给你的对象赋予正确的名称要重要得多。

  • 下面安装几颗螺丝。有一个由 FreeCAD 社区成员开发的非常有用的插件,称为紧固件,你可以在FreeCAD 插件库中找到。这使得插入螺钉变得非常容易。其他工作台的安装很容易,在插件页面上有说明。
  • Fasteners 工作台安装完毕并重新启动 FreeCAD 后,它将显示在工作台列表中,可以切换进去。要在一个孔中添加螺钉,首先选择这个孔的圆形边缘。

然后我们可以按下紧固件工作台上的一个螺钉按钮,例如 EN 1665 Hexagon bolt with flanges, heavy series。螺钉放好,与孔对齐,并自动选择直径以匹配这个孔的尺寸。有时螺钉是倒置的,可以通过翻转其 invert 特性来纠正。也可以将其偏移设置为 2mm,遵循在桌面和桌腿之间使用的同样的规则。

  • 对所有孔重复此操作,桌子就完成了。

Part对象的内部结构

如上所述,FreeCAD 中不仅可以选择整个对象,还可以选择其中的一部分,例如螺孔的圆形边框。现在是时候快速了解一下在 FreeCAD 内部如何构建 Part 对象了。生成 Part 几何体的每个工作台都基于以下内容:

  • 顶点:是构建所有其它对象用的点(通常是端点)。例如,一条线段有两个顶点。
  • :是线性的几何体,如直线,圆弧,椭圆或 NURBS 曲线,通常有两个顶点,但是某些特殊情况下只有一个(例如一个封闭的圆圈)。
  • 线:是在端点相连接的一系列边,可以包含任何类型的边,可以闭合,也可以不闭合。
  • :可以是平面的或弯曲的,可以由一个闭合的线所形成,作为面的边界,或者在面具有孔的情况下,由多个边来形成面。
  • :只是在边相连接的一组面,可以是开放的,也可以是封闭的。
  • 实体:当一个壳紧紧关闭时,或者说没有“泄漏”,就成了实体。实体有内外的概念。许多工作台依赖于此,确保生成的对象可以在现实世界中建造出来。
  • 复合物:是其他形状的聚集体。无论那些形状的原始类型如何,最终形成了这个单一形状。

在 3D 视图中,可以选择单个vertices, edgesfaces。选择其中一个即选中了整个对象。

关于共享设计的说明

看到上面的桌子,你也许认为它的设计不好。用桌面固定桌腿的方式可能太弱了。你也许想要添加加固件,或者只是有其他想法可以使其更好。这里,分享就有趣了。你可以从下面的链接下载本练习中制作的文件,修改它,让它更好。然后,如果你共享改进后的文件,其他人便可能会进一步改善它,或者在他们的项目中使用这个精心设计的桌子。你的设计可能会给别人提供其他想法,也许会有助于一点点地创造一个更美好的世界……

下载

延伸阅读