FreeCAD Notes

FreeCAD中一个很重要的概念是Workbench。Workbench是适合于完成特定任务(例如操作Mesh、绘制2D对象或者为草图添加约束条件)的一组工具。你可以通过菜单或者工具栏的Workbench Selector来切换Workbench。你可以定制每个Workbench中包含的工具、添加其他Workbench中的工具、甚至创建自己的工具(也就是宏)。还有一个被称作Complete Workbench的Workbench,它包含了几乎所有常用的工具。

具体你应该使用哪种Workbench取决于你想完成什么任务:如果你想要设计机械模型,或者更为宽泛地说,操作小型的对象,那么你可能想要使用PartDesign Workbench。如果你需要设计2D模型,那么请使用Draft Workbench,或者如果你希望使用约束,那么可以使用Sketcher Workbench。如果你想要做BIM,那么请使用Arch Workbench。如果你需要设计船舶,那么我们提供了一个专用的Ship Workbench。如果你是OpenSCAD的用户,那么请使用OpenSCAD Workbench。

PartDesign Workbench和Sketcher workbench

PartDesign Workbench专门用于构建复杂的对象,你从简单的形状起步,然后通过添加或者删除某些部分这样的操作(我们称之为“feature”),来最终获得你想要的对象。建模过程中用到的所有操作(feature)都会在左侧的Tree View中列出,这个视图中还会列出你文档里的其他对象。你可以将一个PartDesign对象看成是一系列的操作,每个操作都作用在前一个操作的结果之上,构成了一个大的操作链。在Tree View中,你可以展开你的对象并查看所有的操作,还可以修改每一个操作的参数,随着你的修改,FreeCAD会更新最终的对象。

PartDesign Workbench需要同Sketcher Workbench一起使用。在Sketcher Workbench中,你可以通过设置约束条件的方式绘制2D图形。例如,你可能需要绘制一个矩形并将通过设置长度约束的方式设置它的边长,在设置了约束条件后,你就不能再修改这个边的长度了(除非你直接修改这个约束的值)。

你会在PartDesign workbench中大量使用这些2D图形,例如用它们为基础创建三维对象,或者在你的对象的表面绘制图形然后在主对象上按照这些图形做镂空。下面是典型的PartDesign工作流:

  1. 创建一个sketch
  2. 绘制一个封闭的图形
  3. 关闭这个sketch
  4. 使用pad工具将这个sketch扩展为一个3D的实心体
  5. 选中实心体的一个表面
  6. 创建第二个sketch(这次它会被绘制在选定的平面上)
  7. 绘制一个封闭的图形
  8. 关闭这个sketch
  9. 使用第二个sketch在实心体上应用pocket操作,创建一个下陷的空穴

Draft Workbench和Arch Workbench

Draft Workbench和Arch Workbench的行为同其他的Workbench略有不同。简单的说,Sketcher和PartDesign主要用于设计单个对象,Draft和Arch主要用于操作多个简单对象。

Draft Workbench提供了同传统2D CAD工具(如AutoCAD)类似的2D工具。不过,2D制图不是FreeCAD的主要功能,因此不要期待FeeCAD提供专用2D CAD应用程序所能提供的所有工具。Draft中的大部分工具不只可以用于2D平面,还可以用于3D空间,而且可以借助于特殊辅助系统如Work Plane和Object Snapping的帮助。

Arch Workbench为FreeCAD添加了BIM(Building Information Modeling)工具,使你能够用参数化的对象构建建筑模型。Arch Workbench依赖于Draft和Sketcher的功能。所有的Draft工具都在Arch里存在,而且大多数Arch工具都用到了Draft帮助系统。

Arch和Draft Workbench的典型工作流是:

  1. 使用Draft Line工具绘制几条线
  2. 依次选择每条线,然后用Wall工具根据这条线生成一面墙
  3. 选中所有的墙,然后使用Arch Add工具将这些墙连接在一起
  4. 创建一个floor对象,然后在Tree View中将前面创建的墙移动到这个对象里
  5. 创建一个building对象,然后在Tree View中将上一步创建的floor移动到这个对象里
  6. 使用Window工具创建一个window对象,在它的面板上选择一个preset,然后点击一面墙的一个表面
  7. 先选中工作平面,然后使用Draft Dimension工具添加尺寸

文档的结构

FreeCAD的文档包含场景中的所有对象(Object),对象被组织为组(Group),可以认为,文档里面全部的东西就分为两类,对象。不同的Workbench可以创造出不同类型的对象,但是无论你怎么切换Workbench,你之前创建的对象和组都会保存下来。

文档中所有的对象和组以及它们之间的层级关系都可以在左侧的树形视图中看到,你也可以在这里操纵它们,具体的命令依照Workbench的不同而有所差别。

FreeCAD的文档模型采用Model/View分离式设计,在Python脚本接口上就可以体现出来,FreeCAD用来表示Model部分,FreeCADGui用来表示View部分。下面是的代码片段演示了这个差别:

# 当前活跃文档
FreeCAD.ActiveDocument
# 当前活跃文档中名为Blob的对象
FreeCAD.ActiveDocument.Blob
# View中的当前活跃文档
FreeCADGui.ActiveDocument
# View中的当前活跃文档中名为Blob的对象,也就是前面Blob对象的View对象
FreeCADGui.ActiveDocument.Blob
# 当前活跃文档中的活跃视图
FreeCADGui.ActiveDocument.ActiveView

如何将2D DXF文件导入为Sketch对象?

  1. 切换到Draft Workbench
  2. 使用菜单File->Import导入DXF文件
  3. 在左侧树形视图中选择所有想要处理的对象
  4. 使用菜单Draft->Draft to shetch将这些对象转换为sketch(FreeCAD会保留你导入的DXF里的对象,以它们为基础生成一系列的sketch对象)
    1. 如果你导入的对象本身不闭合,那么你可能会得到一系列线条sketch对象,可以切换到Sketcher Workbench,用菜单Sketch->Merge sketches将它们合并为一个sketch对象,合并后,FreeCAD会生成一个新的sketch对象,这时就可以将原来分散的sketch对象删除了
    2. 如果你在Part Design Workbench下对这个sketch对象做Pad操作时遇到错误“Failed to validate broken face”,那么请检查各个线条的连接点是否重合,可以使用Sketcher Workbench下的Coincident Constraint工具来强制对齐接驳点(这是个体力活,但是好在有快捷键c,用鼠标选中两个相邻端点,然后按c键就可以了)

在哪里做Part对象之间的Boolean操作呢?

在Part Workbench和OpenSCAD Workbench下都有类似工具,不过Part Workbench下更好用。

results matching ""

    No results matching ""