版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、吴 敏 2000/8/24,主要内容:,Catia二次开发环境简介 多视拼合技术研究 基于特征的逆向建模技术研究,学术报告,CAA与VC COM和接口技术 UML、状态图、代理 界面,工具条、菜单、workshop和workbench 命令和对话框 编译、调试、运行、发布,1 CATIA二次开发环境简介,Catia的二次开发: 1. 自定义特征UDF(PowerCopy) 2. 零件设计表(DesignTable) 3. 知识库(KnowledgeWare) 4. 宏(Automation API macros written in an interpreted language:Visual
2、 Basic Script or Java Script) 5. 交互式开发(CAA-Component Architecture Application) i. Extended Catia V5 ii. Reusing CAA V5 components,CAA: Component Application Architecture 目的: 了解CAA V5开发平台、基本组件、CATIA V5应用程序结构(Model / View/ Controller) Prerequisites: CATIA V5 user interface principles (Mandatory) C+ in
3、dustrial programming practice (Mandatory) COM (Microsoft Object Model) notions (Nice to have) Microsoft Developer Studio practice (Nice to have),Prerequisite framework的搜索路径 IdentityCard.h 定义了编译和使用一个框架所需的其它框架(framework),每个framework中有一个IdentityCard.h 例:AddPrereqCompent(System,Protected);其中AddPrereqCom
4、pent为一个宏命令 Imakefile.mk定义了编译类型和链接所需的库文件,将UNIX和NT下的编译过程统一起来。 编译时必须要在IdentityCard.h指定所需的框架,指定相关目录,使用时包含必要的头文件;而且需要在Imakefile.mk中指定所需的库。每个module中有一个Imakefile.mk,IdentityCard.h & Imakefile.mk,1、环境编辑器中设定CATDLLPATH=; 2、Imakefile.mk文件中添加SYS_LIBS=*.lib,并将*.lib文件拷贝至MICROSOFT VISUAL STUDIOVC98LIB下。,外部库的使用:,(1
5、) Project+Choose/Refresh CAA V5 Project (2) Tools+Runtime Environment Variables Set CNEXTOUTPUT = Console (3) Ctrl+F1帮助/Q文件h和cpp之间切换/T打开光标处关键字的头文件 (4) F7快速编译 (5) MakeRemoveDo a 删除中间文件,MSDev Add-Ins: Hints and Tips,命名规则:,强于VC,关键是包括接口、CAT,模块等的命名,具体规则可以参考CAA Encyclopedia,接口的继承 接口查询:1、从接口查询接口;2、从实现查询接口(
6、系统内部使用,如类厂) 实现的继承 类厂时一种特殊的对象,容纳了创建对象的方法;创建了一个实现的对象,返回该对象的接口;使耦合最小(不需要操作实现);对象集中创建,便于对象创建管理。 接口和实现之间的连接包括两种方式:Standard TIE和Chained TIE。两个宏:TIE_xxx和TIEchain_xxx,接口、实现与类厂 :,对象、接口生命周期管理、引用计数、智能指针 扩展机制:字典、扩展类型 扩展对象为现存的实现对象增添加新的能力,可以实现更多的接口 组件基类扩展接口 字典(*.dico)用来定位与给定实现或扩展捆绑的所有其他接口,建立组件、接口和库的对应关系。扩展类型:数据扩展
7、(方法和数据)和代码扩展(方法),接口、实现与类厂(续一) :,迟后键入(Late Typing)机制:可以在运行时(run time)通过名称(name字符串)对组件进行实例化。适用于使用扩展机制的接口、如CATObject、documents、containers和features等。,接口、实现与类厂(续二) :,Specification:明细单、清单、规格说明书(条件)Input data Result:结果Output data Update Mechanism:更新机制 相关性、多种更新机制和运行时的扩展性(用户定义specification Art-to-part/state-
8、of-the-art(艺术级的) Spec Modeler&Data Modeler(保存在Catalog中) 原型和实例的对象模型,便于更新和动态实例化,CAA V5 ObjectSpecsModeler,存储specification,根据更新机制产生一个和多个result 特征的属性、原型/实例模式、特征可持久性(特征定义保存在StartUp中)、迟后键入 特征的接口(V5R6) CATISpecBase、LifeCycleObject、CATExtendable、CATISpecAttrManager、CATISpecAttrValue、CATISpecUpdate 特征定义的过程:
9、catalogstartupattributesinstantiationbehaviorsbuild 特征扩展,特征 :,目的:模型可视化、多窗口管理和视图直接操作 Model(data)/View/Controller 体系结构、notification 控制器的任务(创建、删除、修改)、协议、显示包、递归过程 Root Object、一个可视化单元 控制器协议:Controller Protocol 可视化接口:CAT3DGeoVisu、CAT2DgeoVisu、My1DgeoVisu 使用可视化接口:BuildRep、ModifyRep、BuildHighlightLook、Decod
10、eGraphic 建立模型和可视化的连接:CATIModelEvents 用户接口:CATSelector、CATCommand 接口:CATIVisu的实现CATIExtVisu几乎提供了除了BuildRep之外所有的功能,BuildRep返回一个指向CATRep的指针,CAA V5 Visualization:,Workshop&Workbench定义了一系列可以通过菜单和工具条访问的命令,workshop定义的是指与一个指定文档类型相关的公共的菜单和工具条;而workbench提供了一些专用的命令(如Part Design、GSD、Freestyle、AssemblyDesign、Ske
11、ther等均具有各自不同的workbench),一般一个workshop和多个workbench相关联。 CommandHeader:命令头持有调用某一命令的必要的信息:如有效性条件、图标、提示文本(本地语言支持)、Lazy_loading、快捷键等。 Path of the object:对象路径,祖先和绝对路径,CAA V5 ApplicationFrame :,选择管理:CSO、ISO、CATXSO(HSO、PSO) 对象编辑(双击、右键菜单):需要实现两个接口,CATIUIActivate(用于激活所需的workshop)、CATIEdit(用于编辑)(特征生成和编辑有相同的界面) 代
12、码扩展CATIExtEdit:CATIEdit接口,并实现Activate()方法 对象属性(object properties)CATIProperty、CATIEditProperties 应用属性(application properties)Tools+Options;这些信息保存在目录C:WinntProfilesUserApplication DataDassault SystemesCATSettings下,接口CATIUserSettings可以添加新的属性页。,ApplicationFrame (续一):,一些宏: NewAccesss()、SetAccessCustomer
13、Name()、SetAccessCommand()、SetAccessChild()、SetAccessNext()、AddToolbarView() SetWorkbenchMenu(),ApplicationFrame (续二):,CAA V5 对象接口,一个对象需要实现的重要接口:,主要功能:1)描述和管理交互式命令中的对话框;2)运行时监视交互操作(状态变迁)和管理对话框交互中Undo/Redo操作。 基本概念:State、Transition、Condition、Action 有限状态机:起始状态、中间状态、终止状态、条件、执行、变迁 对话框代理:1)将用户交互操作翻译成用户输入;2
14、)隐藏了将事件驱动(event-driven)转换为输入驱动(input-driven)的具体细节;3)一个状态中需要组合(多次)输入时,简化了状态图;4)一个状态valuate后就退出该状态操作,用户可以设置CATDlgEngReap,5)输入后循环重用需要InitializeAcquisition() 命令中断:Activate()、Deactivate()、Cancel() Undo/Redo:三种Undo/Redo:1)Provious View/Next View;2)Command;3)Input,CAA V5 DialogEngine :,How to program an in
15、teractive command :,交互式命令编程:派生CATStateCommand类,1)重载BuildGraph()命令(描述自己的状态图);2)合适管理命令生命周期:Activate()、Deactivate()、Cancel();3)定义一些特定方法用于条件(Condition)和行为(Action);4)保存对话框代理数据成员 声明资源文件宏:DeclareResource(MyCommand,CATStateCommand),资源文件保存在CatiaCodeintel_aCNextresourcesmsgcatalog(Local_Language)目录下。 CATCreat
16、eClass(MyCommand)、CATCreateClassArg(MyCommand,CATISample)宏,How to program an interactive command(续一) :,定义状态图BuildGraph():1)创建所有的状态;2)定义所需要的对话框代理;3)将对话框代理插入到合适的状态中;4)定义状态之间的变迁(SourceStateTargetState,Condition,Action)CATDialogState、GetInitialState、AddDialogState 对话框代理的主要类型:,How to program an interacti
17、ve command(续二):,代理的行为(behavior):CATDlgEngWithPSOHSO|CATDlgEngWithPrevaluation|CATDlgEngMultiAcquisition SetElementType()、GetListOfValues() 将对话框代理插入到状态中:AddDialogAgent 状态变迁条件行为:AddTransition(State1, State2, AndCondtion(IsOutputSetCondition (_myAgent1),Condition(ConditionMethod) ,Rubber Banding: 1)定义一
18、个反身变换; 2)行为Prevaluation; 3)条件IsLastModifiedAgentCondition(_MyAgent); 4)需要recycled:InitializeAcquisition(),ApplicationFrame (续二):,图形用户接口: 提供的对象:容器(Window、Menu、Bar、Box)和组件(Indicator、Control、MenuItem) 资源文件的使用: 资源:1)可以是文本或图标;2)本地化语言;3)资源修改无需重新编译(需要更新运行视图)。,对话框:,1)声明资源宏:DeclareResource(ClassName,FatherCl
19、assName) 2)message file(*.CATNls)、non message file(*.CATRsc) 3)使用用户自定义资源:MyDialogBox.cpp中: CATUnicodeString text = CATMsgCatalog:BuildMessage(“MyDialogBox”,“Pick”) MyDialogBox.CATNls中:Pick = “Indicate coordinates” 4)使用预定义资源(Title、Mnemonic、Help、Accelerator、ShortHelp、LongHelp;Icon、IconSel、IconFocus、Ic
20、onDisable、IconType):MyDialogBox.CATNls中:Title = “A Simple Panel”或在MyDialogBox.CATRsc中设定。,对话框(续一):,返回用户输入将命令与对话框关联 1) 定义回调: AddAnalyseNotificationCB (pMyButton/*回调的控制对象*/,pMyButton- GetPushBActivateNotification()/*通知*/,(CATCommandMethod) 2) 对话框代理集成AcceptOnNotify() 3) 应用程序体系结构 对话框构建器(同VC),对话框(续二):,1 R
21、ADE开发工具(CIDC+ Interactive Dashboard、MABMulti-Workspace Application Builder、CUTC+ Unit Test Manager) 2 API(API、Encyclopedia) 3 LUMLicense Use Management、locknode key 4 安装过程 CATIAAPIRADE 发布 1 拷贝CAA application的Runtime View 2 环境编辑器(活用setcatenv命令)创建新的环境:注意path要指定到caitaintel_a和myapplicationintel_a,即可建立一个新的快捷方式,安装打包,标签法:预定位 ICP算法:精确定位 优化建模(建立目标函数) 点对应关系的建立 奇异值分解(SVD) 数据融合:K邻域内的简化,2.多视拼合技术研究,多视拼合技术研究(续一),多视拼合技术研究(续二),3.基于特征的逆向建模技术研究,草图平面的建立,线性最小二乘法拟合平面,可以用来确定拉伸方向,草图轮廓,数据拟合:,线性最小二
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026贵州贵阳观山湖区红枫湖畜禽水产有限公司招聘备考题库及答案详解(夺冠系列)
- 2026陕西汉中市中医医院招聘9人备考题库及参考答案详解
- 2026河南投资集团社会招聘管理人员备考题库及1套参考答案详解
- 2026重庆垫江县县属国有企业第1次考试招聘27人备考题库完整答案详解
- 陕西西安理工大学附属小学2026年教师招聘备考题库参考答案详解
- 2026福建南平政和县劳动人事争议仲裁院就业见习岗位招聘3人备考题库带答案详解
- 2026福建厦门市集美区侨英小学产假顶岗教师招聘1人备考题库及答案详解(新)
- 企业安全员岗位职责
- 人事部岗位说明书
- 品牌部绩效考核管理制度V1.0
- 电力电缆敷设与维护规范手册
- 2025至2030中国手术机器人医生培训体系构建与手术收费模式研究报告
- GJB1032A-2020 电子产品环境应力筛选方法
- 2025年机车调度员岗位培训手册考试题库
- 北京市通州区2023-2024学年九年级上学期期末考试语文试卷(含答案)
- 2024四川绵阳涪城区事业单位选调(聘)笔试管理单位遴选500模拟题附带答案详解
- 发货组年终总结
- 《化工制图》试题及参考答案 (C卷)
- 2024年普通高等学校招生全国统一考试政治试题全国乙卷含解析
- 新疆维吾尔自治区伊犁哈萨克自治州2023-2024学年八年级下学期期中数学试题
- 2024 年咨询工程师《工程项目组织与管理》猛龙过江口袋书
评论
0/150
提交评论