CAA學(xué)術(shù)報(bào)告課件_第1頁(yè)
CAA學(xué)術(shù)報(bào)告課件_第2頁(yè)
CAA學(xué)術(shù)報(bào)告課件_第3頁(yè)
CAA學(xué)術(shù)報(bào)告課件_第4頁(yè)
CAA學(xué)術(shù)報(bào)告課件_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、吳,敏,2000/8/24,主要內(nèi)容,1,Catia,二次開(kāi)發(fā)環(huán)境簡(jiǎn)介,2,多視拼合技術(shù)研究,3,基于特征的逆向建模技術(shù),研究,學(xué)術(shù)報(bào)告,1,CAA,與,VC,COM,和接口技術(shù),UML,狀態(tài)圖、代理,界面,工具條、菜單,workshop,和,workbench,命令和對(duì)話框,編譯、調(diào)試、運(yùn)行、發(fā)布,1,CATIA,二次開(kāi)發(fā)環(huán)境簡(jiǎn)介,2,Catia,的二次開(kāi)發(fā),1,自定義特征,UDF(PowerCopy,2,零件設(shè)計(jì)表,DesignTable,3,知識(shí)庫(kù),KnowledgeWare,4,宏,Automation API,macros written,in an interpreted lang

2、uage:Visual Basic,Script or Java Script,5,交互式開(kāi)發(fā),CAA-Component,Architecture Application,i,Extended Catia V5,ii,Reusing CAA V5 components,3,CAA,Component,Application,Architecture,目的,了解,CAA,V5,開(kāi)發(fā)平臺(tái)、基本組件,CATIA,V5,應(yīng)用程,序結(jié)構(gòu),Model,View,Controller,Prerequisites,CATIA,V5,user,interface,principles,Mandatory,C,

3、industrial,programming,practice,Mandatory,COM,Microsoft,Object,Model,notions,Nice,to,have,Microsoft,Developer,Studio,practice,Nice,to,have,4,Prerequisite framework,的搜索路徑,IdentityCard.h,定義了編譯和使用一個(gè)框架所需的其它框架,framework,,每個(gè),framework,中有一個(gè),IdentityCard.h,例,AddPrereqCompent(System,Protected,其中,AddPrereqCom

4、pent,為一個(gè)宏命令,Imakefile.mk,定義了編譯類型和鏈接所需的庫(kù)文件,將,UNIX,和,NT,下的編譯過(guò)程統(tǒng)一起來(lái),編譯時(shí)必須要在,IdentityCard.h,指定所需的框架,指定相關(guān)目,錄,使用時(shí)包含必要的頭文件;而且需要在,Imakefile.mk,中指,定所需的庫(kù)。每個(gè),module,中有一個(gè),Imakefile.mk,IdentityCard.h & Imakefile.mk,5,1,環(huán)境編輯器中設(shè)定,CATDLLPATH,2,Imakefile.mk,文件中添加,SYS_LIBS=*.lib,并將,.lib,文,件拷貝至,MICROSOFT VISUAL STUDIO

5、VC98LIB,下,外部庫(kù)的使用,6,1,Project+Choose/Refresh CAA V5,Project,2,Tools+Runtime Environment Variables,Set,CNEXTOUTPUT = Console,3,Ctrl+F1,幫助,Q,文件,h,和,cpp,之間切換,T,打,開(kāi)光標(biāo)處關(guān)鍵字的頭文件,4,F7,快速編譯,5,MakeRemoveDo,a,刪除中間文件,MSDev Add-Ins: Hints and Tips,7,命名規(guī)則,強(qiáng)于,VC,關(guān)鍵是包括接口,CAT,模塊等的命名,具體規(guī)則可以參,考,CAA Encyclopedia,8,接口的繼承

6、,接口查詢,1,從接口查詢接口,2,從實(shí)現(xiàn)查詢接口(系統(tǒng),內(nèi)部使用,如類廠,實(shí)現(xiàn)的繼承,類廠時(shí)一種特殊的對(duì)象,容納了創(chuàng)建對(duì)象的方法;創(chuàng)建了一,個(gè)實(shí)現(xiàn)的對(duì)象,返回該對(duì)象的接口;使耦合最?。ú恍枰?作實(shí)現(xiàn));對(duì)象集中創(chuàng)建,便于對(duì)象創(chuàng)建管理,接口和實(shí)現(xiàn)之間的連接包括兩種方式,Standard TIE,和,Chained TIE,兩個(gè)宏,TIE_xxx,和,TIEchain_xxx,接口、實(shí)現(xiàn)與類廠,9,對(duì)象、接口生命周期管理,引用計(jì)數(shù)、智能指針,擴(kuò)展機(jī)制:字典、擴(kuò)展類型,擴(kuò)展對(duì)象為現(xiàn)存的實(shí)現(xiàn)對(duì)象增添加新的能力,可以實(shí)現(xiàn)更多的,接口,組件基類擴(kuò)展接口,字典,.dico,用來(lái)定位與給定實(shí)現(xiàn)或擴(kuò)展捆綁的

7、所有其他接口,建立組件、接口和庫(kù)的對(duì)應(yīng)關(guān)系。擴(kuò)展類型:數(shù)據(jù)擴(kuò)展(方法,和數(shù)據(jù))和代碼擴(kuò)展(方法,接口、實(shí)現(xiàn)與類廠(續(xù)一,10,遲后鍵入,Late Typing,機(jī)制:可以在運(yùn)行時(shí),run,time,通過(guò)名稱,name,字符串,對(duì)組件進(jìn)行實(shí)例化。適,用于使用擴(kuò)展機(jī)制的接口、如,CATObject,documents,containers,和,features,等,接口、實(shí)現(xiàn)與類廠(續(xù)二,11,Specification,明細(xì)單、清單、規(guī)格說(shuō)明書(shū)(條件,Input,data,Result,結(jié)果,Output data,Update Mechanism,更新機(jī)制,相關(guān)性、多種更新機(jī)制和運(yùn)行時(shí)的擴(kuò)展性

8、(用戶定義,specification,Art-to-part/state-of-the-art,藝術(shù)級(jí)的,Spec Modeler&Data Modeler,保存在,Catalog,中,原型和實(shí)例的對(duì)象模型,便于更新和動(dòng)態(tài)實(shí)例化,CAA V5 ObjectSpecsModeler,12,存儲(chǔ),specification,根據(jù)更新機(jī)制產(chǎn)生一個(gè)和多個(gè),result,特征的屬性、原型,實(shí)例模式、特征可持久性(特征定義保存,在,StartUp,中)、遲后鍵入,特征的接口,V5R6,CATISpecBase,LifeCycleObject,CATExtendable,CATISpecAttrManag

9、er,CATISpecAttrValue,CATISpecUpdate,特征定義的過(guò)程,catalog,startup,attributes,instantiation,behaviors,build,特征擴(kuò)展,特征,13,目的:模型可視化、多窗口管理和視圖直接操作,Model,data,View/Controller,體系結(jié)構(gòu),notification,控制器的任務(wù)(創(chuàng)建、刪除、修改)、協(xié)議、顯示包、遞歸過(guò)程,Root Object,一個(gè)可視化單元,控制器協(xié)議,Controller Protocol,可視化接口,CAT3DGeoVisu,CAT2DgeoVisu,My1DgeoVisu,使用

10、可視化接口,BuildRep,ModifyRep,BuildHighlightLook,DecodeGraphic,建立模型和可視化的連接,CATIModelEvents,用戶接口,CATSelector,CATCommand,接口,CATIVisu,的實(shí)現(xiàn),CATIExtVisu,幾乎提供了除了,BuildRep,之外所有的功能,BuildRep,返回一個(gè)指向,CATRep,的指針,CAA V5 Visualization,14,Workshop&Workbench,定義了一系列可以通過(guò)菜單和工具條,訪問(wèn)的命令,workshop,定義的是指與一個(gè)指定文檔類型相關(guān),的公共的菜單和工具條;而,w

11、orkbench,提供了一些專用的命,令(如,Part Design,GSD,Freestyle,AssemblyDesign,Skether,等均具有各自不同的,workbench,,一般一個(gè),workshop,和多個(gè),workbench,相關(guān)聯(lián),CommandHeader,命令頭持有調(diào)用某一命令的必要的信息,如有效性條件、圖標(biāo)、提示文本(本地語(yǔ)言支持),Lazy_loading,快捷鍵等,Path of the object,對(duì)象路徑,祖先和絕對(duì)路徑,CAA V5 ApplicationFrame,15,選擇管理,CSO,ISO,CATXSO,HSO,PSO,對(duì)象編輯(雙擊、右鍵菜單):需

12、要實(shí)現(xiàn)兩個(gè)接口,CATIUIActivate,用于激活所需的,workshop,CATIEdit,用于,編輯)(特征生成和編輯有相同的界面,代碼擴(kuò)展,CATIExtEdit,CATIEdit,接口,并實(shí)現(xiàn),Activate(,方法,對(duì)象屬性,object properties,CATIProperty,CATIEditProperties,應(yīng)用屬性,application properties,Tools+Options,這些信息,保存在目錄,C:WinntProfilesUserApplication DataDassault,SystemesCATSettings,下,接口,CATIUse

13、rSettings,可以添加新的,屬性頁(yè),ApplicationFrame,續(xù)一,16,一些宏,NewAccesss(,SetAccessCustomerName(,SetAccessCommand(,SetAccessChild(,SetAccessNext(,AddToolbarView(,SetWorkbenchMenu(,ApplicationFrame,續(xù)二,17,CAA V5,對(duì)象接口,CATICutAndPastable,Cut / Copy / Paste,CATIEdit,Edit,LifeCycleObject,Delete,CATIEditProperties,Defin

14、e specific properties,CATI2DGeoVisu,CATI3DGeoVisu,Display in 2D / 3D,CATINavigateObject,Display in the graph,viewer,一個(gè)對(duì)象需要實(shí)現(xiàn)的重要接口,18,主要功能,1,描述和管理交互式命令中的對(duì)話框,2,運(yùn)行時(shí)監(jiān)視交互,操作(狀態(tài)變遷)和管理對(duì)話框交互中,Undo/Redo,操作,基本概念,State,Transition,Condition,Action,有限狀態(tài)機(jī):起始狀態(tài)、中間狀態(tài)、終止?fàn)顟B(tài)、條件、執(zhí)行、變遷,對(duì)話框代理,1,將用戶交互操作翻譯成用戶輸入,2,隱藏了將事件驅(qū),動(dòng)

15、,event-driven,轉(zhuǎn)換為輸入驅(qū)動(dòng),input-driven,的具體細(xì)節(jié),3,一,個(gè)狀態(tài)中需要組合(多次)輸入時(shí),簡(jiǎn)化了狀態(tài)圖,4,一個(gè)狀態(tài),valuate,后就退出該狀態(tài)操作,用戶可以設(shè)置,CATDlgEngReap,5,輸入后循環(huán),重用需要,InitializeAcquisition(,命令中斷,Activate(,Deactivate(,Cancel(,Undo/Redo,三種,Undo/Redo,1,Provious View/Next View,2,Command,3,Input,CAA V5 DialogEngine,19,How to program an interac

16、tive,command,交互式命令編程:派生,CATStateCommand,類,1,重載,BuildGraph(,命令(描述自己的狀態(tài)圖,2,合適管理命,令生命周期,Activate(,Deactivate(,Cancel(,3,定,義一些特定方法用于條件,Condition,和行為,Action,4,保存對(duì)話框代理數(shù)據(jù)成員,聲明資源文件宏,DeclareResource(MyCommand,CATStateCommand,資源文件保存在,CatiaCodeintel_aCNextresourcesmsgcatalog,Local_Language,目錄下,CATCreateClass(M

17、yCommand,CATCreateClassArg(MyCommand,CATISample,宏,20,How to program an interactive,command,續(xù)一,定義狀態(tài)圖,BuildGraph(,1,創(chuàng)建所有的狀態(tài),2,定義,所需要的對(duì)話框代理,3,將對(duì)話框代理插入到合適的狀,態(tài)中,4,定義狀態(tài)之間的變遷,SourceState,TargetState,Condition,Action,CATDialogState,GetInitialState,AddDialogState,對(duì)話框代理的主要類型,CATDialogAgent,定義一個(gè)與,panel,對(duì)象相連的代理

18、,CATIndicationAgent,屏幕映射、點(diǎn)擊視圖,返回,2D,Point,CATPathElementAgent,點(diǎn)擊時(shí),返回對(duì)象的路徑元素,21,How to program an interactive,command,續(xù)二,代理的行為,behavior,CATDlgEngWithPSOHSO|CATDlgEngWithPrevaluation|CATD,lgEngMultiAcquisition,SetElementType(,GetListOfValues(,將對(duì)話框代理插入到狀態(tài)中,AddDialogAgent,狀態(tài)變遷條件行為,AddTransition,State1,

19、State2,AndCondtion,IsOutputSetCondition,_myAgent1,Condition,ConditionMethod) ,MyCommand:CheckPosition,CATIPoint,PointToBeChecked,Action,ActionMethod,MyCommand:CreatePoint,(ActionMethod,MyCommand,Undo,CreatePoint,(ActionMethod,MyCommand,Redo,CreatePoint,22,Rubber Banding,1,定義一個(gè)反身變換,2,行為,Prevaluation,

20、3,條件,IsLastModifiedAgentCondition(_MyAgent,4,需要,recycled,InitializeAcquisition(,ApplicationFrame,續(xù)二,23,圖形用戶接口,提供的對(duì)象:容器,Window,Menu,Bar,Box,和,組件,Indicator,Control,MenuItem,資源文件的使用,資源,1,可以是文本或圖標(biāo),2,本地化語(yǔ)言,3,資源修,改無(wú)需重新編譯(需要更新運(yùn)行視圖,對(duì)話框,24,1,聲明資源宏,DeclareResource,ClassName,FatherClassName,2,message file,.CAT

21、Nls,non message file,.CATRsc,3,使用用戶自定義資源,MyDialogBox.cpp,中,CATUnicodeString text,CATMsgCatalog:BuildMessage,MyDialogBox,Pick,MyDialogBox.CATNls,中,Pick,Indicate coordinates,4,使用預(yù)定義資源,Title,Mnemonic,Help,Accelerator,ShortHelp,LongHelp,Icon,IconSel,IconFocus,IconDisable,IconType,MyDialogBox.CATNls,中,Ti

22、tle,A,Simple Panel,或在,MyDialogBox.CATRsc,中設(shè)定,對(duì)話框(續(xù)一,25,返回用戶輸入將命令與對(duì)話框關(guān)聯(lián),1,定義回調(diào),AddAnalyseNotificationCB (pMyButton,回調(diào)的控制對(duì)象,pMyButton- GetPushBActivateNotification(),通知,(CATCommandMethod)&MyDialog:myFirstCB,控制按,鈕方法, NULL,2,對(duì)話框代理集成,AcceptOnNotify(,3,應(yīng)用程序體系結(jié)構(gòu),對(duì)話框構(gòu)建器(同,VC,對(duì)話框(續(xù)二,26,1,RADE,開(kāi)發(fā)工具,CID,C+ Int

23、eractive Dashboard,MAB,Multi-Workspace Application Builder,CUT,C,Unit Test Manager,2,API(API,Encyclopedia,3,LUM,License Use Management,locknode key,4,安裝過(guò)程,CATIA,API,RADE,發(fā)布,1,拷貝,CAA application,的,Runtime View,2,環(huán)境編輯器(活用,setcatenv,命令,創(chuàng)建新的環(huán)境,注意,path,要指定到,caitaintel_a,和,myapplicationintel_a,即可建立,一個(gè)新的快捷

24、方式,安裝打包,27,標(biāo)簽法:預(yù)定位,ICP,算法,精確定位,優(yōu)化建模(建立目標(biāo)函數(shù),點(diǎn)對(duì)應(yīng)關(guān)系的建立,奇異值分解,SVD,數(shù)據(jù)融合,K,鄰域內(nèi)的簡(jiǎn)化,2,多視拼合技術(shù)研究,28,多視拼合技術(shù)研究(續(xù)一,p,N,i,T,i,R,i,p,q,p,q,R,y,N,q,f,1,2,1,k,q,29,多視拼合技術(shù)研究(續(xù)二,P,Q,p,c,1,p,c,2,p,c,3,S,1,30,3,基于特征的逆向建模技術(shù)研究,草圖平面的建立,線性最小二乘法擬合平面,可以用來(lái)確定拉伸方向,草圖輪廓,數(shù)據(jù)擬合,線性最小二乘(直線、樣條線等,非線性最小二乘,L-M,算法(如圓、橢圓等,約束求解,減少自由度,如草圖中的相切、對(duì)稱、平行等約束對(duì)于擬合的罰,函數(shù)求解,31,1,RADE,開(kāi)發(fā)工具,CID,C+ Interactive Dashboard,MAB,Multi-Workspace Application Builder,CUT,C,Unit Test

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論