当前位置:首页 > Mechanical Modeler
CAA V5:Mechanical Modeler 技术中心CAD开发小组
生成新的Mechanical特征
1. 从一个Mechanical StartUp派生一个新的StartUp 1.1. 摘要
本文描述了建立一个新的mechanical特征的所有步骤:新建mechanical特征、生成一个StartUp catalog以及生成实例的工厂。从Mechanical特征派生出的新特征得益于mechanical特性。 1.2. 选择用于派生的Mechanical特征
下面的UML框图显示了mechanical特征树:
为了新建一个特征类型,需要从已经存在的公共特征中派生。这些特征和他们的公共属性可以在.CATSpec文件中找到。在CAA百科全书中,可以在快速参考段里参考这些内容。
在mechanical特征中,有2个文件: 1.2.1. MecMod: MecMod Public Specs参考
这个文件包括了能够派生的mechanical特征的名称, 1.2.1.1. 传统的特征包括:
? MechanicalFeature —— 基本的mechanical特征类型 ? GeometricalElement3D ——基本的geometrical特征类型 ? GeometricalElement3D ——实体特征类型(如Pad…)
1
CAA V5:Mechanical Modeler 技术中心CAD开发小组
? MechanicalContextualFeature ——实体相关特征类型,如fillet、chamfer ? MechanicalElement ——非geometrical特征类型
1.2.1.2.
特征set——用于集合体
? GSMTool ——集合无顺序的Geometrical特征的set
? MechanicalSet ——集合无顺序的非Geometrical特征(如MechanicalElement特征)
的set
1.2.2. CATHyBridShape: CATHyBridShape Public Specs参考
这个文件参考用于派生的GSMGeom StartUp
如何选择?选择哪一个取决于目标Domain中新特征包含的内容: ? 如果新特征中没有几何元素(Geometry)
仅仅从MechanicalContextualFeature StartUp派生,可以获得没有几何元素但集合一些mechanical机制的mechanical特征,例如,你能够在MechanicalPart中插入此特征并且此特征可以显示在细节树上
然而,更好的方式是从MechanicalElement StartUp派生,它用于定义非几何特征 ? 如果新特征是实体(Solid)特征 这里有2种可能性:
? 从MechanicalFormFeature派生
新的特征类型有一个形状,以开槽Groove为例,输入参数是一条曲线和一个封闭的Sketch,非常容易沿着曲线扫略Sketch得到一个派生的形状,结果实体是与其他实体通过实体操作移去一些东西而得到的
? 从MechanicalContextualFeature派生 ? 如果新特征是平面或者线框 这里同样有2种可能性:
? 从GSMGeom派生
这允许你能够从Generative Shape Design (GSD)特征的下列行为中受益:
? Replace机制 ? Changing Body机制 ? 赋材料 ? 上下文菜单 ? …
2
CAA V5:Mechanical Modeler 技术中心CAD开发小组
和以后的GSD行为相同
? 从GeometricalElement3D派生 从这个特征派生是由于以下两个原因:
? 希望是平面/线框特征但没有GSD行为 ? 希望生成一个datum特征
1.3. 新建派生的StartUp
StartUp是一个特征原型,描述了将生成的所有特征实例的数据结构。新的StartUp必须在.CATFct目录文件中建立,下面列出了建立一个新StartUp的步骤:
1) 使用全局函数CreateCatalog生成一个或者使用全局函数UpgradeCatalog打开一个已存在
的catalog,这个目录包括了要派生的StartUp;
2) 使用全局函数CATOsmSUFactor工厂建立新派生的StartUp; 3) 使用AddAttribute函数增加新的属性到StartUp; 4) 使用全局函数SaveCatalog保存catalog目录;
5) 新建或修改CatalogNameNLS.CATNls文件设定新的StartUp的NLS名。 前面的4步可以通过批处理来生成或修改.CATFct文件 1.4. 生成类型接口
新特征当然有它自身的细节属性,为了给他们赋值或者返回其值,建议新建一个类型接口,相对于行为的接口,这个接口可以访问特征所有的细节属性。
为了达到这个目的,需要两个步骤: 1.4.1. 定义类型接口
参考\章节,生成接口的头文件、源文件和.trsc文件 1.4.2. 实现类型接口
新StartUp的接口需要实现,实现源文件中有如下定义:
宏CATImplementClass意味着SourceName是NameOfTheNewStartup数据扩展,第三个参数必须是CATBaseUnknown或者CATNull用于任何类型的扩展。NameOfTheNewStartup在
3
CAA V5:Mechanical Modeler 技术中心CAD开发小组
CATOsmSUFactory全局函数中设定 1.5. 新建派生的StartUp工厂 1.5.1. 建立工厂接口
在大部分情况下,接口只有一个方法,里面有输入参数、初始化新实例的属性值、输出参数。如下例所示:
方法的最后一个参数pISpecObjectOnInstance就是最新生成的实例。 参照“Creating an Interface”章节,生成src和 .trsc文件。 1.5.2. 实现工厂接口
这一节回答了以下问题: ? 实现接口的组件是什么?
? CreateMyNewFeature方法的内容是什么? ? 新的实例位于哪里?
1.5.2.1. 在细节容器(Specification Container)中实现接口
工厂接口要在名为CATPrtCont的细节容器中实现,因此,在实现的源文件中,有如下内容:
宏CATImplementClass意味着CAAEXXFactory 是CATPrtCont的数据扩展,第三个参数必须是CATBaseUnknown或者CATNull用于任何类型的扩展,TIE宏联系了实现和接口。
不要忘记修改接口字典文件声明CATPrtCont实现接口工厂,内容如下:
4
共分享92篇相关文档