当前位置:首页 > Mechanical Modeler
CAA V5:Mechanical Modeler 技术中心CAD开发小组
MechanicalContextualFeature派生),如果这个CAA特征非激活时,Mechanical模块机制不会调用build方法;而对于平面特征,它是会调用的。因此,如果特征是派生于GWSGeom时,在实现CATIBuild时有必要将状态考虑进去;而如果是派生于GeometricalElement3D时,仅仅是在如果实现CATIMechanicalProperties接口时才要考虑这个。
在“使用Update更新机制集合新的几何特征”章节说明了Build函数的实现方法。 ? Replace
CATIReplace接口(ObjectSpecsModeler)允许用另外的对象代替一个属性值,如果特征是派生于GeometricalElement3D、MechanicalFormFeature 和MechanicalContextualFeature,需要实现这个接口;如果特征是派生于GSMGeom时,已经存在一个默认的实现。 为了验证一个代替操作的申请,有两件事必须考虑:
1) 如果特征派生于GSMGeom StartUp时,
应该实现CATIAttrBehavior接口(ObjectSpecsModeler)以提供一系列的实现的接口,这些接口适用于代替操作的申请。 2) 其它,
最简单的方式就是通过类CATSpecReplaceExt实现CATIReplace接口,在IsElementValidForReplace函数中调用类CATSpecReplaceExt中同名的函数。如果是这样的话,仅仅需要实现CATIAttrBehavior接口(ObjectSpecsModeler)以提供一系列的实现的接口,这些接口适用于代替操作的申请。否则的话,这个信息能够直接在IsElementValidForReplace函数中设定,并且也不需要实现CATIAttrBehavior接口。 实现CATIReplaceUI接口(InteractiveInterfaces)在代替命令选择时提供过滤功能。 最后,如果实现CATIReplacable 接口(InteractiveInterfaces),可以阻止给定属性的代替,这个仅仅在一些特别情况下才实现的。 ? Cut/Copy/Paste/Delete
CCP和删除操作是由CATICutAndPastable 和 LifeCycleObject接口(ObjectModelerBase)来管理的,不需要实现这两个接口,在所有的mechanical特征中已经实现了。
CATICutAndPastable接口调用了CATICutAndPastable接口以确定拷贝和删除操作是否被认可,默认的CATIMechanicalCCP认可了这两个操作,可以自己实现这个接口以改变默认的行为。 交互式命令(Cut, Copy, Paste and Delete)调用了CATICCPable接口以确定拷贝和删除操作是否在交互式上下文中被认可,万一有错误的操作,弹出一个对话框显示信息。默认的CATICCPable实现调用了CATIMechanicalCCP接口。例如,你能够自己实现这个接口来阻止用
9
CAA V5:Mechanical Modeler 技术中心CAD开发小组
户删除你的特征而软件删除操作是允许的,或者可以自己实现来显示一个特定的NLS信息。 对于立体特征(如派生于MechanicalFormFeature 或 MechanicalContextualFeature)也有
CATIShapeFeatureProperties接口(MechanicalModeler),这个接口可以返回被删除的或者拷贝
的sketches草图,建议实现它。
请阅读Part Design 使用实例中“Implementing the Cut/Copy/Paste Behavior for Mechanical
Design Features”章节,详细介绍了实现
CATIShapeFeatureProperties 和
CATIMechanicalCCP的例子
? 集合到Ordered Set 中(Integration into an Ordered Set )
几何特征集合到Ordered Set依赖于CATIInputDescription (InteractiveInterfaces) 接口,这个接口仅仅设计到平面特征,就是说这个CAA StartUp 是从GeometricalElement3D 或GSMGeom 派生的。虽然它的实现有时是没有用处的,但是为了避免隐含的代码,强烈建议实现从这两种类型派生出的StartUp,这就是为什么CATIInputDescription强制性出现在代码片段中的原因。
对于立体特征,不需要实现此接口。
? 几何特征的行为(Geometrical Feature Behaviors)
要考虑的主要接口是CATIMf3Dbehavior,这个接口声明了mechanical特征的类型:是立体特征、平面特征还是datum特征?这儿有个例外就是在平面特征中,如果它是volumic(体积)特征,需要考虑CATIMf3DBehavior2接口。
1) 立体特征
StartUp是从MechanicalFormFeature或 MechanicalContextualFeature派生的,特征本来就是立体特征,不用做什么事,CATIMf3Dbehavior接口的默认实现特别指定了此特征是一个立体特征。
2) 0维到2维的平面特征(点、线、面)
StartUp是从GSMGeom 或 GeometricalElement3D派生的。如果是从GSMGeom派生,可以在StartUp中实现CATIMf3DBehavior 接口,这个不是强制性的,因为默认的实现是有效的;如果是从GeometricalElement3D派生,就必须实现它。
在这两种接口下,IsAShape函数应该返回S_OK,IsAShape和IsADatum应该返回E_FAIL,可参考“Combined Curve”例子。
3) 3维的平面特征,换句话说就是体积(Volume)特征
Volume特征的StartUp是从GSMGeom 或 GeometricalElement3D派生的,
10
CAA V5:Mechanical Modeler 技术中心CAD开发小组
CATIMf3DBehavior2接口的IsAVolume函数必须返回S_OK,程序必须实现CATIMf3DBehavior2接口,因为默认的实现的IsAVolume函数返回的是E_FAIL, 4) Datum(数据)特征
StartUp派生于GeometricalElement3D StartUp,必须实现CATIMf3Dbehavior接口,函数IsADatum返回S_OK,IsASoild和IsAShape函数返回E_FAIL。 ? 特征名称的持久性(Persistence of a Feature's Name)
CATIAlias接口(ObjectModelerBase)管理特征名称的持久性,此接口已经由mechanical特征实现,不需要重新实现。 ? 编辑(Editing)
在特征上双击或者按右键从上下文菜单中选择“Definition”命令时弹出对话框可以编辑特征,对话框中包括了所选特征可以修改的属性值,编辑功能由CATIEdit接口(ApplicationFrame)来管理。
当在特征中实现CATIEdit接口时,有可能用新的命令扩展上下文子菜单:简单地实现CATIContextualSubMenu接口(ApplicationFrame)。除了GSMGeom特征,后者接口没有默认的实现。参照例子“Adding a Contextual Sub-Menu”。 参考例子“Editing Combine Curves”,详细说明了编辑的过程。
? 细节树的可视化和导航(Specification Tree Visualization and Navigation) CATINavigateObject接口管理可视化和导航细节树,此接口在所有原生定义的特征中实现,例如,在应用层面定义的特征由DS来提供。这个接口的函数返回特征名称和子级序列。当一个特征增加到细节树下特定节点时,父节点必须能够列出作为子级物体,特征本身也应该能够列出任何它可以指向的特征。
对于GSMGeom,默认的实现是在树中显示了CATICkeParm对象和材料(Material)特征,如果平面特征中有些不显示的特征(如整数),可以实现这个接口来设定参数的在树中的可视性。 CATIIcon接口(InteractiveInterfaces)允许为给定的特征特定的图标,此接口不是一定要实现,只要提供一个图标,名称为“I_NameofTheFeature”即可,其中NameofTheFeature是新特征的名称,就是CATOsmSUFactory全局函数的第四个参数。然而,也可以在特别情况中实现之。 一旦特征有修改,可以使用CATIRedrawEvent接口 (ObjectModelerBase)的函数来更新细节树。
? 几何可视化(Geometrical Visualization)
GeometricalElement3D特征实现了CATI3DgeoVisu接口,CATIVisProperties接口管理特征
11
CAA V5:Mechanical Modeler 技术中心CAD开发小组
的图形属性,当特征的可视化有修改需要更新时,CATIModelEvents接口负责发送事件消息。 这三个接口(Visualization framework)不应该重新实现。
? 参数的发布(Publication of Knowledge Parameters)
CATIParmPublisher接口(KnowledgeInterfaces)允许发布特征的参数,发布的参数显示在Power Copy/User Feature的参数页面的F(x)命令中。
默认的实现发布了CATISpecObject特征和对象,可以实现这个接口以修改默认的行为。 ? Search Integration
目的是根据规则找到实例,这里有两类规则:
? 一般规则:名称、颜色,可视化、层、线的属性 ? 高级规则:它是知识工程规则(尺寸、布尔值等等…) 下表显示了CAA特征查询的限制:
此表说明了不能在交互命令中通过高级规则来查询,但可以用代码来查询。 ? VB Integration
如果新特征派生于GSMGeom,它整合在CATIAHybridShapes , CATIAReference 和CATIReference 接口中。
为了生成或修改实例,必须建立VBScript接口,参考例子“Integrating a New Mechanical Feature in the CAA Exposed Model”。
? 约束集成(Constraint Integration) 这个没什么要做的。
? Power Copy and User Feature
新特征可以作为Power Copy 和 User Feature的输入。 ? 交互式命令(Interactive Commands)
对于一些交互式命令,新特征有下列行为:什么是默认行为,如果有的话如何有V5行为?
? Datum模式
在交互过程中,采用CreateDatum设定
,可以以Datum模式生成一个DS特征,这意
味着新的实例没有任何几何细节,只有一个拓扑结果。然而目前,在命令中把参数考虑进去是不可能的。
12
共分享92篇相关文档