CATIA技术交流论坛

 找回密码
 点击注册
查看: 404|回复: 0

CATIA CAA 二次开发详细教程 第四讲:创建自定义特征

[复制链接]

1684

主题

1726

帖子

4266

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4266
发表于 2018-1-26 13:49:03 | 显示全部楼层 |阅读模式
本例是使用CAA C++开发方式,建立一个自定义的用户特征,实现的功能是使一个任意曲面可以根据给定曲面的形状来生成和目标形状相同的形状,类似于生活中缝补的概念,其具体的开发步骤如下:
(1)创建一个库(catalog)来定义特征的StartUp。用CATfctEditorAssistant-new-catalog命令创建catalog,通过.osm文件定义catalog里StartUp数据结构。对StartUp的定义要根据自 定义特征的性质,选用合适的container,在feature定义中,要对对自定义特征的输入输出和该特征的中性数据给予明确的定义。
(2)创建一个扩展接口来访问特征的属性。通常在该接口中定义设置和获取自定义特征属性的方法。在本文中接口的作用是 取得被缝合的表面和支撑面。
(3)创建一个可以实例化该特征的工厂(Factory)。该工厂的作用是打开创建的catalog获取startup,然后实例化自定义特征并设置它的属性。本文中为创建缝合面,然后打开catalog并获取startup,实例化特征设置其属性。
(4)创建工具条Toolbar。使用CATCommandHeader类创建命令头,最简单的方法就是使用宏命令:
#include"CATCommandHeader.h"、MacDeclareHeade(rMyHea-der)。CommandHeader添加到工具条的Addin函数中,createco-mmand(s)用来实例化一个新的命令,createtoolbars用来确定访问顺序,SetAccessCommand的作用是将命令头与按钮相连,SetAccessChild以及SetAccessNext这两个宏则可以顺序连接到入口。
(5)创建对话框Panal。在Bulid函数里添加设置对话框各按钮相应的功能函数,并为各按钮设置默认的初始值。用CATStateCommand类创建StateCommand命令,在BuildGraph里 定义状态表(StartChart)来实现用户意图。
(6)最后应用CATIBuild方法,当输入改变时对新的特征更新。本文中具体为移除可能的更新错误、获取新的输入数据、定义程序上的结果、生成特征并存储结果。主要程序代码(略)。 运行程序后,生成图1所示的三张不同形状的曲面,其中黄色两个曲面为参考面,绿色为目标曲面。

当在创建的自定义特征对话框中,参考曲面选择sphericalsurface,目标曲面选择base plane时,点击ok按钮后,原绿色平面就生成了缝合球面后的新特征,如图2所示。

图2以球面为参考生成的自定义特征
当在创建的自定义特征对话框中,参考曲面选择prismsurface,目标曲面选择base plane时,点击ok按钮,原绿色平面就生成了缝合后的新特征,如图3所示。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?点击注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点击注册

本版积分规则

手机|小黑屋|CATIA技术交流论坛

GMT+8, 2019-12-7 03:15 , Processed in 0.027400 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表