




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,吴敏2000/8/24,主要内容:,Catia二次开发环境简介多视拼合技术研究基于特征的逆向建模技术研究,学术报告,.,2,CAA与VCCOM和接口技术UML、状态图、代理界面,工具条、菜单、workshop和workbench命令和对话框编译、调试、运行、发布,1CATIA二次开发环境简介,.,3,Catia的二次开发:1.自定义特征UDF(PowerCopy)2.零件设计表(DesignTable)3.知识库(KnowledgeWare)4.宏(AutomationAPImacroswritteninaninterpretedlanguage:VisualBasicScriptorJavaScript)5.交互式开发(CAA-ComponentArchitectureApplication)i.ExtendedCatiaV5ii.ReusingCAAV5components,.,4,CAA:ComponentApplicationArchitecture目的:了解CAAV5开发平台、基本组件、CATIAV5应用程序结构(Model/View/Controller)Prerequisites:CATIAV5userinterfaceprinciples(Mandatory)C+industrialprogrammingpractice(Mandatory)COM(MicrosoftObjectModel)notions(Nicetohave)MicrosoftDeveloperStudiopractice(Nicetohave),.,5,Prerequisiteframework的搜索路径IdentityCard.h定义了编译和使用一个框架所需的其它框架(framework),每个framework中有一个IdentityCard.h例:AddPrereqCompent(System,Protected);其中AddPrereqCompent为一个宏命令Imakefile.mk定义了编译类型和链接所需的库文件,将UNIX和NT下的编译过程统一起来。编译时必须要在IdentityCard.h指定所需的框架,指定相关目录,使用时包含必要的头文件;而且需要在Imakefile.mk中指定所需的库。每个module中有一个Imakefile.mk,IdentityCard.h&Imakefile.mk,.,6,1、环境编辑器中设定CATDLLPATH=;2、Imakefile.mk文件中添加SYS_LIBS=*.lib,并将*.lib文件拷贝至MICROSOFTVISUALSTUDIOVC98LIB下。,外部库的使用:,.,7,(1)Project+Choose/RefreshCAAV5Project(2)Tools+RuntimeEnvironmentVariablesSetCNEXTOUTPUT=Console(3)Ctrl+F1帮助/Q文件h和cpp之间切换/T打开光标处关键字的头文件(4)F7快速编译(5)MakeRemoveDoa删除中间文件,MSDevAdd-Ins:HintsandTips,.,8,命名规则:,强于VC,关键是包括接口、CAT,模块等的命名,具体规则可以参考CAAEncyclopedia,.,9,接口的继承接口查询:1、从接口查询接口;2、从实现查询接口(系统内部使用,如类厂)实现的继承类厂时一种特殊的对象,容纳了创建对象的方法;创建了一个实现的对象,返回该对象的接口;使耦合最小(不需要操作实现);对象集中创建,便于对象创建管理。接口和实现之间的连接包括两种方式:StandardTIE和ChainedTIE。两个宏:TIE_xxx和TIEchain_xxx,接口、实现与类厂:,.,10,对象、接口生命周期管理、引用计数、智能指针扩展机制:字典、扩展类型扩展对象为现存的实现对象增添加新的能力,可以实现更多的接口组件基类扩展接口字典(*.dico)用来定位与给定实现或扩展捆绑的所有其他接口,建立组件、接口和库的对应关系。扩展类型:数据扩展(方法和数据)和代码扩展(方法),接口、实现与类厂(续一):,.,11,迟后键入(LateTyping)机制:可以在运行时(runtime)通过名称(name字符串)对组件进行实例化。适用于使用扩展机制的接口、如CATObject、documents、containers和features等。,接口、实现与类厂(续二):,.,12,Specification:明细单、清单、规格说明书(条件)InputdataResult:结果OutputdataUpdateMechanism:更新机制相关性、多种更新机制和运行时的扩展性(用户定义specificationArt-to-part/state-of-the-art(艺术级的)SpecModeler&DataModeler(保存在Catalog中)原型和实例的对象模型,便于更新和动态实例化,CAAV5ObjectSpecsModeler,.,13,存储specification,根据更新机制产生一个和多个result特征的属性、原型/实例模式、特征可持久性(特征定义保存在StartUp中)、迟后键入特征的接口(V5R6)CATISpecBase、LifeCycleObject、CATExtendable、CATISpecAttrManager、CATISpecAttrValue、CATISpecUpdate特征定义的过程:catalogstartupattributesinstantiationbehaviorsbuild特征扩展,特征:,.,14,目的:模型可视化、多窗口管理和视图直接操作Model(data)/View/Controller体系结构、notification控制器的任务(创建、删除、修改)、协议、显示包、递归过程RootObject、一个可视化单元控制器协议:ControllerProtocol可视化接口:CAT3DGeoVisu、CAT2DgeoVisu、My1DgeoVisu使用可视化接口:BuildRep、ModifyRep、BuildHighlightLook、DecodeGraphic建立模型和可视化的连接:CATIModelEvents用户接口:CATSelector、CATCommand接口:CATIVisu的实现CATIExtVisu几乎提供了除了BuildRep之外所有的功能,BuildRep返回一个指向CATRep的指针,CAAV5Visualization:,.,15,Workshop&Workbench定义了一系列可以通过菜单和工具条访问的命令,workshop定义的是指与一个指定文档类型相关的公共的菜单和工具条;而workbench提供了一些专用的命令(如PartDesign、GSD、Freestyle、AssemblyDesign、Skether等均具有各自不同的workbench),一般一个workshop和多个workbench相关联。CommandHeader:命令头持有调用某一命令的必要的信息:如有效性条件、图标、提示文本(本地语言支持)、Lazy_loading、快捷键等。Pathoftheobject:对象路径,祖先和绝对路径,CAAV5ApplicationFrame:,.,16,选择管理:CSO、ISO、CATXSO(HSO、PSO)对象编辑(双击、右键菜单):需要实现两个接口,CATIUIActivate(用于激活所需的workshop)、CATIEdit(用于编辑)(特征生成和编辑有相同的界面)代码扩展CATIExtEdit:CATIEdit接口,并实现Activate()方法对象属性(objectproperties)CATIProperty、CATIEditProperties应用属性(applicationproperties)Tools+Options;这些信息保存在目录C:WinntProfilesUserApplicationDataDassaultSystemesCATSettings下,接口CATIUserSettings可以添加新的属性页。,ApplicationFrame(续一):,.,17,一些宏:NewAccesss()、SetAccessCustomerName()、SetAccessCommand()、SetAccessChild()、SetAccessNext()、AddToolbarView()SetWorkbenchMenu(),ApplicationFrame(续二):,.,18,CAAV5对象接口,一个对象需要实现的重要接口:,.,19,主要功能:1)描述和管理交互式命令中的对话框;2)运行时监视交互操作(状态变迁)和管理对话框交互中Undo/Redo操作。基本概念:State、Transition、Condition、Action有限状态机:起始状态、中间状态、终止状态、条件、执行、变迁对话框代理:1)将用户交互操作翻译成用户输入;2)隐藏了将事件驱动(event-driven)转换为输入驱动(input-driven)的具体细节;3)一个状态中需要组合(多次)输入时,简化了状态图;4)一个状态valuate后就退出该状态操作,用户可以设置CATDlgEngReap,5)输入后循环重用需要InitializeAcquisition()命令中断:Activate()、Deactivate()、Cancel()Undo/Redo:三种Undo/Redo:1)ProviousView/NextView;2)Command;3)Input,CAAV5DialogEngine:,.,20,Howtoprogramaninteractivecommand:,交互式命令编程:派生CATStateCommand类,1)重载BuildGraph()命令(描述自己的状态图);2)合适管理命令生命周期:Activate()、Deactivate()、Cancel();3)定义一些特定方法用于条件(Condition)和行为(Action);4)保存对话框代理数据成员声明资源文件宏:DeclareResource(MyCommand,CATStateCommand),资源文件保存在CatiaCodeintel_aCNextresourcesmsgcatalog(Local_Language)目录下。CATCreateClass(MyCommand)、CATCreateClassArg(MyCommand,CATISample)宏,.,21,Howtoprogramaninteractivecommand(续一):,定义状态图BuildGraph():1)创建所有的状态;2)定义所需要的对话框代理;3)将对话框代理插入到合适的状态中;4)定义状态之间的变迁(SourceStateTargetState,Condition,Action)CATDialogState、GetInitialState、AddDialogState对话框代理的主要类型:,.,22,Howtoprogramaninteractivecommand(续二):,代理的行为(behavior):CATDlgEngWithPSOHSO|CATDlgEngWithPrevaluation|CATDlgEngMultiAcquisitionSetElementType()、GetListOfValues()将对话框代理插入到状态中:AddDialogAgent状态变迁条件行为:AddTransition(State1,State2,AndCondtion(IsOutputSetCondition(_myAgent1),Condition(ConditionMethod),.,23,RubberBanding:1)定义一个反身变换;2)行为Prevaluation;3)条件IsLastModifiedAgentCondition(_MyAgent);4)需要recycled:InitializeAcquisition(),ApplicationFrame(续二):,.,24,图形用户接口:提供的对象:容器(Window、Menu、Bar、Box)和组件(Indicator、Control、MenuItem)资源文件的使用:资源:1)可以是文本或图标;2)本地化语言;3)资源修改无需重新编译(需要更新运行视图)。,对话框:,.,25,1)声明资源宏:DeclareResource(ClassName,FatherClassName)2)messagefile(*.CATNls)、nonmessagefile(*.CATRsc)3)使用用户自定义资源:MyDialogBox.cpp中:CATUnicodeStringtext=CATMsgCatalog:BuildMessage(“MyDialogBox”,“Pick”)MyDialogBox.CATNls中:Pick=“Indicatecoordinates”4)使用预定义资源(Title、Mnemonic、Help、Accelerator、ShortHelp、LongHelp;Icon、IconSel、IconFocus、IconDisable、IconType):MyDialogBox.CATNls中:Title=“ASimplePanel”或在MyDialogBox.CATRsc中设定。,对话框(续一):,.,26,返回用户输入将命令与对话框关联1)定义回调:AddAnalyseNotificationCB(pMyButton/*回调的控制对象*/,pMyButton-GetPushBActivateNotification()/*通知*/,(CATCommandMethod)2)对话框代理集成AcceptOnNotify()3)应用程序体系结构对话框构建器(同VC),对话框(续二):,.,27,1RADE开发工具(CIDC+InteractiveDashboard、MABMulti-WorkspaceApplicationBuilder、CUTC+UnitTestManager)2API(API、Encyclopedia)3LUMLicenseUseManagement、locknodekey4安装过程CATIAAPIRADE发布1拷贝CAAapplication的RuntimeView2环境编辑器(活用setcatenv命令)创建新的环境:注意path要指定到caitaintel_a和myapplicationintel_a,即可建立一个新的快捷方式,安装打包,.,28,标签法:预定位ICP算法:精确定位优化建模(建立目标函数)点对应关系的建立奇异值分解(SVD)数据融合:K邻域内的简化,2.多视拼合技术研究,.,29,多视拼合技术研究(续一),.,30,多视拼合技术研究(续二),.,31,3.基于特征的逆向建模技术研究,草图平面的建立,线性最小二乘法拟合平面,可以用来确定拉伸方向,草图轮廓,数据拟合:,线性最小二乘(直线、样条线等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年经济师职称考试经济基础模拟试题及答案实战演练
- 2025年小学教师资格考试《综合素质》教育资源整合重点难点试题及答案
- 医院信息化建设与慢病管理的深度融合研究
- 2025年建筑法规的适用性试题及答案
- 民用航空器维修信息集锦试题及答案
- 区块链金融应用在供应链中的价值与挑战
- 区块链技术助力企业实现供应链透明化
- 消防工程采供货渠道分析试题及答案
- 企业价值评估实务试题及答案
- 2024高级会计学基础试题及答案
- 2025年采煤机司机技能比赛理论考试题库(共400题含答案)
- 中国网络广告行业十四五发展分析及投资前景与战略规划研究报告2025-2028版
- 2024-2025学年福建省泉州市晋江市安海中学等五校七年级(下)期中数学试卷
- 2025-2030中国建筑智能化工程行业市场发展分析及发展趋势前景研究报告
- 和医院签运营合同协议
- 2025-2030有机肥料产业市场深度调研及发展趋势与投资前景研究报告
- 2025年人教版小学五年级下册奥林匹克数学竞赛测试卷(附参考答案)
- 2024年高考数学真题(北京卷)试题试卷原卷答案解析
- 2025年安全生产月主题培训课件:如何查找身边安全隐患
- 职代会知识培训课件
- 第四章 问题解决策略:特殊化 课件 2024-2025学年北师大版七年级数学下册
评论
0/150
提交评论