FreeCAD源码分析: PartDesign模块

FreeCAD源码分析: PartDesign模块

济南友泉软件有限公司

一、功能概述

当使用Sketcher完成草图绘制之后,便可以通过PartDesign进行三维实体模型的创建。实际上,PartDesign模块正是基于Part、Sketcher模块实现了基于特征的参数化实体建模方法。

特征来源于制造工程的应用。目前,关于“什么是特征”有很多种定义,其中一种定义是:特征是指具有确定的约束关系的几何实体。

特征建模则是指采用具有一定设计或加工功能的特征作为造型的基本单元来建立零部件的建模方法。也就是说,在特征建模中,三维模型可以看作为一系列相对简单的几何体的有序组合。

由此可以看出,特征及其组合方式就是特征建模的核心要素。因此,可以从这两方面来分析PartDesign模块。

PartDesign提供的主要功能包括:

  • 特征

特征可以简单理解成相对简单的几何体。PartDesign::ProfileBased及其子类基于二维草图,通过Pad、Pocket、Hole、Revolution、Loft、Groove等操作生成三维几何体。

  • 组合特征

在特征建模中,一个复杂的三维模型是由一系列简单几何体通过一定的方式组合而成。PartDesign::Body(继承自Part::BodyBase)提供了包含一组继承自Part::Feature的feature列表,其中第一个feature通常称之为base feature(即Part::BodyBase::BaseFeature);最后一个feature称为Tip(即Part::BodyBase::Tip),对应着Part::BodyBase模型的最终形状。从base feature按顺序到Tip,后一个feature在前一个feature基础之上,完成进一步的模型修改,以此类推,最终完成整个模型的修改。

二、特征建模

PartDesign是一个基于特征的实体建模工具,以特征作为组成模型的基本单元,实体模型就是特征的累加,通过特征完成设计的。特征建模就是由各种特征来构建零件模型,零件模型的设计就是特征的累积过程。通常,特征之间存在着相互依赖的关系,使得某一单独特征的改变,会牵动其他特征的变更。

通常,特征可以分为以下几类:

  • 基准特征

基准特征用于建立其他特征时的定位,又称辅助特征或参考特征,主要包括基准面、基准轴、基准点和局部坐标系。

  • 基本特征

基本特征是参与运算的原始特征,而不是运算的结果,只要各处关键尺寸,便可以直接生成,包括长方体、圆柱体、球体、圆锥体等。

  • 草图特征

很多三维模型的建立都是从草图开始的,草图是一种特殊的基本特征。

  • 附加特征

附加特征(又称二次特征)实在已有特征基础之上通过运算形成的特征,包括草图拉伸、倒角、倒圆、孔、阵列等。

三、PartDesign主要组件

PartDesign正是通过基准特征、草图特征、附加特征等实现了特征建模功能。

3.1 PartDesign::Body

PartDesign实际上是提供了一个基于草图的特征流水线,据此实现全参数化建模功能。每个PartDesign在实际场景中通常表示一个零件。

3.2 基准特征

基准特征主要由于定义特征建模过程中的三维空间参考的基准,起辅助作用,为基本特征的创建和编辑提供操作的参考。基准特征没有物理容积,也不对几何元素产生影响。

基准特征主要包括PartDesign::CoordinateSystem、PartDesign::Point、PartDesign::Line、PartDesign::Plane、PartDesign::ShapeBinder、PartDesign::SubShapeBinder等。

顺便一提PartDesign::ShapeBinder与PartDesign::SubShapeBinder的区别:PartDesign::ShapeBinder实际上是一个只读引用,是通过连接的形式引用其他Body内的几何体(来自二维草图与三维特征等),但是却不能对ShapeBinder进行编辑修改等几何操作;而PartDesign::SubShapeBinder可以理解成原有几何体的副本引用,保持与原几何体的同步,同时可以当作一个独立的几何体进行常规几何操作。

3.3 形变特征

特征实际上表示基于草图的操作,用于在二维草图的基础之上增加第三维度,从而完成三维几何体创建。主要包括PartDesign::Pad、PartDesign::Revolution、PartDesign::Pocket、PartDesign::Hole、PartDesign::Loft、PartDesign::Pipe、PartDesign::Groove等。

3.4 工程特征

PartDesign::Fillet、PartDesign::Chamfer等PartDesign::DressUp派生类提供了倒角、削角等常有的三维几何处理功能。

参考资料

  1. FreeCADWeb
  2. 杜平安. CAD/CAE/CAM方法与技术. 清华大学出版社, 2010.
  3. 王定标. CAD/CAE/CAM技术与应用. 化学出版社, 2010.

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片