




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、中考作文素材第1頁,共30頁。ICAPICOMTest示例位置:CAXASOLID安裝目錄SDKSamplesC+ICAPICOMTest 功能介紹: ICAPICOMTest add-in生成兩個工具條:ICAPIComTest1和ICAPIComTest2。 工具條ICAPIComTest1包含三個按鈕,第一個按鈕演示處理從UI選擇管理器中得到的信息;第二個按鈕演示拾取回調(diào)環(huán);第三個按鈕演示RayTest,當(dāng)點擊該按鈕時,會彈出一個對話框,要求輸入視線(Ray)的起點、方向、大小和視線穿過對象的最大值以及實體的種類。確定后,如果一個面被穿過,將顯示它的種類、穿過的位置和法線方向。工具條IC
2、APIComTest2包含兩個按鈕,第一個按鈕以列表的形式顯示當(dāng)前設(shè)計環(huán)境(Scene)的所有外部關(guān)聯(lián);第二個按鈕顯示設(shè)計環(huán)境中的BOM-type零件列表。第2頁,共30頁。主要要點程序內(nèi)容概要1.系統(tǒng)初始化STDMETHODIMP CMyAppAddin:InitSelf(IZAddinSite * piAddinSite)AFX_MANAGE_STATE(AfxGetStaticModuleState();ASSERT(m_spiAddinSite = NULL); 在初始化過程中,主要進(jìn)行系統(tǒng)環(huán)境的初始化和添加工具條。第3頁,共30頁。主要要點程序內(nèi)容概要2、處理從UI選擇管理器中得到的
3、信息1)、判斷是否有選中的對象:第一個工具條的第一個按鈕開始的時候未被激活,當(dāng)鼠標(biāo)點中了對象時,此按鈕才被激活。相應(yīng)的函數(shù)如下:static int UpdateSelTest()VARIANT_BOOL bYes;hr = spiSelMgr-SelectionsAvailable(&bYes);if(bYes = VARIANT_TRUE)return 1; /對象被選中,按鈕被激活第4頁,共30頁。主要要點程序內(nèi)容概要2)、點擊第一個工具條的第一個按鈕即處理從UI選擇管理器中得到的信息,相應(yīng)的函數(shù)為DoSelTest()。 DoSelTest()HRESULT hr = spiBaseA
4、pp-get_ActiveDoc(&spiActiveDoc);HRESULT hr = spiSceneDoc-get_SelectionMgr( &spiSelMgr);spiSelMgr-GetSelectedElements(&vElements);/得到選中的元素第5頁,共30頁。主要要點程序內(nèi)容概要3、拾取回調(diào)環(huán)。建立回調(diào)環(huán)的過程如下:1、通過系統(tǒng)設(shè)計環(huán)境文檔spiSceneDoc得到選擇管理器接口指針 m_spiSelMgr。2、利用m_spiSelMgr創(chuàng)建交互接口指針m_spiInteractor。3、由m_spiInteractor得到選擇事件接口指針spiSelectEv
5、ents。4、由spiSelectEvents設(shè)置選擇事件過濾器選項。5、創(chuàng)建應(yīng)用程序的交互事件接口m_pInteractorEventsSink。6、利用函數(shù)SetAdvise()對交互事件接口進(jìn)行注冊。7、同理創(chuàng)建應(yīng)用程序的選擇事件接收器對象pSelectEventsSinkObj,并注冊。第6頁,共30頁。主要要點程序內(nèi)容概要建立回調(diào)環(huán)的函數(shù)如下:BOOL CSelFilterDlg:SetupLoop(long filterlist, eZSelectionType currFilter)hr = spiSelectEvents-SetSelectionFilterChoices(fi
6、lterlist, currFilter); /設(shè)置選擇過濾器選項hr = m_pInteractorEventsSink-SetAdvise(this, spiUnk);/注冊m_pInteractorEventsSink-m_pSelectEventSink = pSelectEventsSinkObj;/建立應(yīng)用程序與設(shè)計環(huán)境的聯(lián)系第7頁,共30頁。主要要點程序內(nèi)容概要3、演示RayTest, 相應(yīng)的函數(shù)是:static void DoRayTest()spiRayResult-get_HitElement(&spiHitElement);/得到視線穿過的對象spiRayResult-g
7、et_HitPoint(&spiHitPoint);/得到視線穿過對象的點.spiRayResult-get_NormalDirection(&spiHitDir);/得到實現(xiàn)所穿過對象的點的法線方向第8頁,共30頁。主要要點程序內(nèi)容概要4、顯示當(dāng)前設(shè)計環(huán)境(Scene)的所有外部關(guān)聯(lián),相應(yīng)的函數(shù)為:staticvoid DoLinksInfo()/得到設(shè)計環(huán)境的關(guān)聯(lián)文檔信息spiSceneDoc-GetLinksInfo(&vDocs);/得到關(guān)聯(lián)文檔的文件名spiLinkedDoc-get_Name(&DocName);第9頁,共30頁。主要要點程序內(nèi)容概要5、顯示設(shè)計環(huán)境中的BOM-ty
8、pe零件列表,通過點擊按鈕,彈出零件列表對話框。在此對話框類的函數(shù)Create(UINT nID, CWnd * pWnd)里,通過循環(huán)調(diào)用函數(shù)FillRow(IZElement * spiElem, HTREEITEM hParent, BOOL bIsDrawing)將設(shè)計環(huán)境中的信息通過列表的形式表現(xiàn)出來。部分代碼如下:BOOL BOMDisplay:Create(UINT nID, CWnd * pWnd) /得到設(shè)計環(huán)境中的第一個元素spiElem-GetFirstChild( &spiChildElem );/若設(shè)計環(huán)境中的元素不為空,則調(diào)用FillRow()函數(shù)將元素的信息以列表
9、的形式表現(xiàn)出來,并且利用函數(shù)GetNextChild()得到環(huán)境中的下一個元素,重復(fù)以上步驟第10頁,共30頁。主要要點程序內(nèi)容概要while( spiChildElem != NULL ) HTREEITEM hChildItem = FillRow( spiChildElem, hItem?hItem:hParent, FALSE );spiElem-GetNextChild( &spiChildElem );/對于統(tǒng)一元素里包含有不同的特征,則通過函數(shù)FillRow()的遞歸調(diào)用來實現(xiàn)第11頁,共30頁。ICAPICreate示例位置: CAXA實體設(shè)計安裝目錄SDKSamplesC+I
10、CAPICreate 功能介紹: ICAPICreate Add-in例子包含一個含有4個按鈕的工具條。第一個按鈕是Copy/Move特征操作的切換器,會彈出一個對話框要求用戶選擇一個源特征,然后再選擇一個目標(biāo)零件,最后將該源特征移到目標(biāo)零件上。第二和第三個按鈕分別執(zhí)行布爾減第12頁,共30頁。和加操作。只有當(dāng)拾取了兩個實體零件時它們才能執(zhí)行。當(dāng)這些按鈕被點擊時就會執(zhí)行相應(yīng)的布爾操作。最后一個按鈕生成一個Sweep Shape。在打開的Scene中,如果拾取的第一個Shape是Spin Shape而第二個shape是2D profile shape,點擊該按鈕則會生成一個以該2D profil
11、e Shape為導(dǎo)動線、以Spin Shape為截面線的Sweep體。第13頁,共30頁。ICAPICreate Add-in還演示了DragDrop鉤子的應(yīng)用。應(yīng)用會沿著Scene中的一個2D Path自動生成一個“管道”。演示時,打開一個新的Scene并在其中創(chuàng)建一個2D Shape,然后從Shapes Catalog中任意拖動一個Extrude Shape到該2D Shape上,此時將彈出一個對話框要求輸入管道的內(nèi)外半徑。確定后,沿著該2D Shape將會生成一個3D管道。第14頁,共30頁。主要要點回調(diào)過程類的派生回調(diào)過程類的派生第15頁,共30頁。應(yīng)用事件類的派生 class ATL
12、_NO_VTABLE CAppEvents : public CComCoClass,public CZAppEventsSink, public IZAddinServer /應(yīng)用事件接收器 第16頁,共30頁。文檔事件類的派生class CDocEvents : public CZDocEventsSink/文檔事件接收器class CICAPICreateApp : public CWinApp/應(yīng)用類第17頁,共30頁。class CSelectionEventsSink : public ZSelectEventsSink/選擇事件接受器class CInteractorEvents
13、 : public CZInteractorEventsSink/交互事件接收器第18頁,共30頁。class ATL_NO_VTABLE CCopyMoveMgr : public CComObjectRootEx,public CComCoClass,public ICopyMoveMgr, public IDispatchImpl/實現(xiàn)了ICopyMoveMgr和IMySelection接口第19頁,共30頁。class CPipeDialog : public Cdialog /彈出的對話框類class CCopyMoveDialog : public Cdialog /彈出的對話框類
14、第20頁,共30頁。class ATL_NO_VTABLE CZCommandEventsSink : public CComObjectRootEx,public CommandEventsImpl/命令事件的基類class CICAPICreateCommandEventsSink : public CZCommandEventsSink/命令事件類第21頁,共30頁。兩個接口interface ICopyMoveMgr : Iunknowninterface IMySelection : IDispatch第22頁,共30頁。文檔與IZInteractor 、IZSelectEvents
15、接口之間的關(guān)系IZDocPtr spiActiveDoc = GetActiveDoc();IZSceneDocPtr spiSceneDoc =spiActiveDoc; HRESULT hr = spiSceneDoc-get_SelectionMgr ( &spiSelMgr);第23頁,共30頁。IZInteractorPtr m_spiInteractor =NULL;hr = m_spiSelMgr-CreateInteractor( &m_spiInteractor); IZSelectEventsPtr spiSelectEvents=NULL;hr = m_spiIntera
16、ctor-get_SelectEvents( &spiSelectEvents);第24頁,共30頁。主要要點程序內(nèi)容概要1.系統(tǒng)初始化HRESULT CAppEvents:InitSelf(IZAddinSite * piAddinSite)AFX_MANAGE_STATE(AfxGetStaticModuleState();HRESULT hr = S_OK;第25頁,共30頁。系統(tǒng)的清除HRESULT CAppEvents:DeInitSelf()HRESULT hr = S_OK;第26頁,共30頁。添加工具條及其消息處理IZCommandHandlerPtr m_spiCmdHand
17、ler1;m_spiCmdHandler1 = AddCommandHandler(IDS_C1_UNIQUENAME, IDS_C1_DISPLAYNAME, IDS_C1_STATUSSTRING, IDS_C1_TOOLTIP, IDB_C1_SMALL, IDB_C1_LARGE);/IDI_C1_SMALL, IDI_C1_LARGE);第27頁,共30頁。hr = m_spiAddinSite-get_Application(&spiBaseApp); if(FAILED(hr) | spiBaseApp = NULL) return hr;hr = spiBaseApp-get_
18、EnvironmentMgr(&spiEnvMgr); if(FAILED(hr) | spiEnvMgr = NULL) return hr;hr = spiEnvMgr-get_Environment(Z_ENV_SCENE, &spiEnv); if(FAILED(hr) | spiEnv = NULL) return hr;hr = spiEnv-AddControlBar(m_spiAddinSite, csToolbarTitle, &spiControlBar);if(FAILED(hr) | spiControlBar = NULL) return hr;第28頁,共30頁。hr = spiControlBar-get_Controls(&spiControls); if(FAILED(hr) | spiControls = NULL) return hr;hr = m_spiCmdHandler1-get_ControlDescriptor(&spiDescriptor); if(FAILED(hr) | spiDescriptor = NULL) return hr;hr = spiControls-Add(Z
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)導(dǎo)師制師帶徒培養(yǎng)合同
- 2025年度人合作合伙合同:清潔能源項目投資合作框架
- 2025年度醫(yī)療護(hù)理勞務(wù)合同患者安全與權(quán)益保障合同
- 2025年度倉儲物流轉(zhuǎn)租服務(wù)合同
- 2025年度店面轉(zhuǎn)讓定金支付及品牌戰(zhàn)略合作協(xié)議
- 2025年度倉儲設(shè)施使用權(quán)及倉儲倉儲服務(wù)協(xié)議
- 2025年杭州醫(yī)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 2025年度個人短期租房合同月付與租戶退租流程管理協(xié)議
- 2025年度合伙投資開中式餐廳合作協(xié)議
- 2025年度互聯(lián)網(wǎng)企業(yè)產(chǎn)品經(jīng)理崗位聘用合同
- 2024年西安電力高等??茖W(xué)校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年湖南鐵路科技職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 祖沖之的平生與貢獻(xiàn)
- 2025年版護(hù)理法律法規(guī)
- DB3305T 261-2023 湖州湖羊種羊等級評定
- 房屋市政工程生產(chǎn)安全重大事故隱患排查表(2024版)
- 2024年牡丹江大學(xué)單招職業(yè)適應(yīng)性測試題庫帶答案
- 統(tǒng)編版(2024新版)七年級下冊道德與法治期末復(fù)習(xí)背誦知識點提綱
- 健康體檢報告解讀頁課件
- (高清版)DB43∕T 1147-2015 太陽能果蔬烘干機(jī)
- 項目合作分潤合同范例
評論
0/150
提交評論