




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Pro/E工程圖自動生成軟件的開發(fā)一、前言Pro/ENGINEER是美國參數(shù)技術(shù)公司(PTC研制的三維CAD/CAM軟件,TOOLKIT是PTC專門提供的一個二次開發(fā)工具。在TOOLKIT中,PTC向用戶提供了大型的C語言函數(shù)庫,通過調(diào)用這些底層函數(shù),用戶能方便而又安全地訪問Pro/ENGINEER的數(shù)據(jù)庫及內(nèi)部應(yīng)用程序,進(jìn)行二次開發(fā),擴(kuò)展一些特定功能。作為一種成功的三維CAD/CAM軟件,Pro/ENGINEER已經(jīng)包含了比較高效的出圖模塊,可以適用于任何形狀的零件出圖任務(wù),但是,對于一些零件較為類似、幾何外形接近的出圖要求來說,將大量的時間花在重復(fù)布置視圖、標(biāo)記尺寸上,是得不償失的。在Pr
2、o/ENGINEER已有的出圖模塊基礎(chǔ)上進(jìn)行二次開發(fā),則更適合此類情況。目前,在很多設(shè)計部門中所設(shè)計的產(chǎn)品有一定相關(guān)性,這就使得很多設(shè)計過程存在重復(fù)勞動的問題。基于這種原因,在Pro/ENGINEER2000i2基礎(chǔ)上,作者參與開發(fā)了一個較為完整的軸類零件設(shè)計(三維模型、零件出圖、零件加工(加工刀軌代碼生成系統(tǒng),讓一些通用的設(shè)計過程實現(xiàn)自動處理,以減輕設(shè)計人員的工作量(本文僅著重討論其中的零件出圖部分。對于零件設(shè)計,該系統(tǒng)采用較為簡單的族表方法(即預(yù)先手工構(gòu)建產(chǎn)品模型,把它作為族表的類屬件,然后在族表中定義各個控制參數(shù)來控制模型的形狀大小,并在程序中通過改變各個參數(shù)的值來得到所需要的衍生件。對
3、于零件出圖部分的程序設(shè)計,就可以十分方便地根據(jù)前面零件設(shè)計中定義的參數(shù)名稱來獲得相應(yīng)的軸類零件形狀及尺寸信息。二、視圖生成方法分析1.圖紙區(qū)域劃分為了避免在圖紙自動生成的過程中產(chǎn)生視圖間干涉、尺寸重疊等現(xiàn)象,可以事先按要求將圖紙劃分出特定區(qū)域。對于結(jié)構(gòu)較為相似、幾何外形不太復(fù)雜的軸類零件,可以將整個圖紙分成主視圖區(qū)、剖面圖區(qū)、表格區(qū)及注釋區(qū)。然后根據(jù)所確定的區(qū)域大小及位置,調(diào)節(jié)視圖比例,生成較為合理的視圖。這樣就可避免圖紙上視圖及尺寸間的位置沖突。2.生成主視圖及剖面圖生成視圖的關(guān)鍵是確定視圖方向以及視圖的比例。對于視圖方向,如果方向選擇錯誤,則無法正確表達(dá)零件的形狀。在TOOLKIT提供的生
4、成主視圖(General View的函數(shù)中,可以通過輸入不同的方向矩陣(Orientation Matrix來調(diào)整視圖方向。對于視圖比例,選擇恰當(dāng)?shù)谋壤禂?shù),可以使視圖盡可能表達(dá)清楚,又不會造成越界,產(chǎn)生區(qū)域干涉。對于軸類零件,由于特定的外形特征,在生成圖紙時除了主視圖外還需生成各鍵槽處的剖視圖。通過調(diào)用TOOLKIT提供的視圖生成函數(shù)ProDrawingGeneralviewCreate(,可以方便地生成需要的視圖(需要注意:在零件模型設(shè)計階段就確定恰當(dāng)?shù)哪J(rèn)參考平面,這樣可以在出圖階段忽略考慮方向的問題,即方向矩陣可用單位矩陣代替;視圖比例先默認(rèn)為1:1。在此基礎(chǔ)上,調(diào)用TOOLKIT提供
5、的視圖輪廓提取函數(shù)ProDrawingViewOutlineGet(,計算此視圖的輪廓大小,再根據(jù)事先劃分好的區(qū)域大小,重新設(shè)定視圖比例,自動生成大小合適的視圖。3.視圖生成實例及程序在這個實例中,根據(jù)已生成的軸模型實體(axis.part,采用C語言編程,調(diào)用TOOLKIT提供的視圖生成及調(diào)整函數(shù),生成符合要求的圖紙,并在此之上生成視圖。程序如下:ProSolid solid;int sheet;ProMdlCurrentGet(&solid;/獲得內(nèi)存中打開的軸模型ProStringToWstring(wroot,“drawing”;ProObjectwindowCreate(wr
6、oot,PRO_DRAWING,&w_id;/打開名為drawing的空視圖窗口ProDrawingCurrentSheetSet(drawing,sheet;/設(shè)置當(dāng)前圖層ProDrawingSolidAdd(drawing,solid;/將獲得的軸模型加入當(dāng)前窗口ProWindowActivate(w_id;/激活當(dāng)前窗口ProDrawingGeneralviewCreate(drawing,solid,sheet,0,pos,scale,matrix,&view;/在當(dāng)前圖層上生成視圖,其中比例大小scale=1.0,方向矩陣matrix為33單位矩陣ProDrawing
7、ViewOutlineGet(drawing,view,outline;/獲得視圖輪廓大小./調(diào)整scale大小ProDrawingViewDelete(drawing,view,1;/刪除不合理的視圖ProDrawingGeneralviewCreate(drawing,solid,sheet,0,pos,scale,matrix,&view;/按照調(diào)整的比例大小scale重新生成視圖ProDwgSheetRegenerate(drawing,sheet;/刷新窗口,重新顯示生成的視圖三、顯示尺寸方法分析在Pro/ENGINEER中,實體模式(part mode存儲的尺寸和在制圖(d
8、rawing中創(chuàng)立的尺寸是不同的概念,因此要顯示零件的尺寸就有以下兩種方法可以實現(xiàn)。1.在制圖模式中生成新的尺寸在TOOLKIT中提供了尺寸生成函數(shù)ProDrawingDimCreate(,應(yīng)用該函數(shù)可以生成各種尺寸。但是,該函數(shù)要求輸入較多的入口參數(shù),包括圖紙模型(Drawing、尺寸基準(zhǔn)(Dimension Attachments、尺寸類型(ProDimSense、標(biāo)注文本定位點(Dimension Text Location等。2.在制圖模式中直接顯示實體模型中存儲的尺寸在TOOLKIT中提供了尺寸顯示函數(shù)ProDimensionShow(,應(yīng)用該函數(shù)可以在制圖模式中有條件地顯示實體模型
9、中存儲的各種尺寸,這也是Pro/ENGINEER制圖模塊中默認(rèn)的顯示模型尺寸的方法。相比較而言,這種顯示尺寸的方法更簡單適用,而且根據(jù)面向加工的設(shè)計思想(DFM,可以在設(shè)計階段即實體造型階段就考慮到加工,使得實體模型中存儲的尺寸信息滿足加工需求,即滿足在出圖時對尺寸顯示的要求。3.尺寸顯示實例及程序在此實例中,選擇第二種尺寸顯示方法。ProSolid solid;ProSolidDimensionVisit(solid,-1,(ProDimensionVisitActionDimVisitAction01,(ProDimensionFilterActionDimVisitFilter01,(P
10、roAppData&p_data;/遍歷實體模型中的各種尺寸ProError DimVisitAction01(ProDimension *dimension,ProError status,data *p_data/尺寸處理函數(shù)p_drawing,NULL;/尺寸顯示p_drawing,dimension,location;/獲得默認(rèn)標(biāo)注文本位置p_drawing,dimension,location_new;/移動標(biāo)注文本到指定位置ProError DimVisitFilter01(ProDimension *dimension/尺寸遍歷過濾函數(shù)status = .;/設(shè)置不同的過
11、濾條件,使得不同類型的尺寸可以對應(yīng)不同的處理函數(shù)return (status;四、注釋生成實例與程序在TOOLKIT中,注釋是以文本行(Note Line為最小的存儲單元的,不同的文本行組成一個注釋塊(Note Data,對于這些注釋塊,調(diào)用函數(shù)ProDtlnoteCreate(就可以生成注釋,并在圖紙的任何位置處顯示出來。對于顯示的字符可以通過設(shè)置不同的參數(shù)來改變它的顏色,字體以及傾斜度。實例中,通過調(diào)用用戶自定義的注釋生成函數(shù)UsrNoteCreate(,在圖紙上生成軸的技術(shù)要求等信息。具體函數(shù)如下: UsrNoteCreate(ProDtlnote note;ProDtlnotetext
12、HeightSet(text,height;ProDtlnotetextWidthSet(text,-1.0;ProDtlnotetextSlantSet(text,0.0;/設(shè)置注釋字體的高、寬、傾斜度ProDtlnotetextThicknessSet(text,0.0;/設(shè)置字體粗細(xì)ProStringToWstring(font,襢ont?;ProDtlnotetextFontSet(text,font;/設(shè)置字體類型ProStringToWstring(wstr,note_text;/note_text中存儲需要顯示的字符串ProDtlnotetextStringSet(text,ws
13、tr;ProDtlnotelineAlloc(&line;ProDtlnotelineTextAdd(line,text;/為文本行分配存儲空間ProDtlnotedataAlloc(drawing,&ndata;ProDtlnotedataLineAdd(ndata,line;/為頭峙淇占洌 尤胛謀拘?ProDtlnotedataAngleSet(ndata, angle;ProDtlattachAlloc(PRO_DTLATTACHTYPE_FREE,NULL,pos_note,NULL,&attach;ProDtlnotedataAttachmentSet(nda
14、ta,attach;ProDtlattachAlloc(PRO_DTLATTACHTYPE_PARAMETRIC,NULL,NULL,surf_sel,&leader;ProDtlnotedataLeaderAdd(ndata,leader;ProDtlnoteCreate(drawing,NULL,ndata,?e;ProDtlnoteShow(?e;/最終生成注釋,并顯示其中的字符串ProDtlnotedataFree(ndata;/釋放前面所分配的內(nèi)存空間Return(;五、其他特殊符號的生成方法TOOLKIT提供了最基本的二維圖形生成函數(shù)ProDtlentityCreate(,
15、它的生成方法和文本注釋的生成方法類似。通過調(diào)用圓弧初始化函數(shù)ProArcdataInit(或者直線初始化函數(shù)ProLinedataInit(,可以很容易地畫出直線或者圓弧曲線。以圓弧生成為例,程序如下:UsrCircleentityCreate(ProVector start_pos,end_pos;double start_angle,end_angle,start_angle ,end_angle ;ProDtlentitydataAlloc(drawing,&edata;/分配圖元存儲空間ProCurvedataAlloc(&curve;/分配圓弧存儲空間ProArcda
16、taInit(start_pos,end_pos,center,start_angle,end_angle,radius,curve;/ 圓弧的初始化:設(shè)置起點,終點,起始角度,中止角度以及半徑ProDtlentitydataCurveSet(edata,curve;entity_color.method = PRO_COLOR_METHOD_TYPE;entity_color.value.type = color;ProDtlentitydataColorSet(edata,&entity_color;/設(shè)置圓弧的線型顏色ProDtlentityCreate(drawing,NULL
17、,edata,entity;/生成圓弧ProDtlentitydataFree(edata;/釋放內(nèi)存空間return (;借助于以上圖形生成函數(shù),可以生成一些特殊符號或者簡單的剖面圖形。在實例中,應(yīng)用這種方法來實現(xiàn)粗糙度、同軸度及平行度等的標(biāo)注。六、程序運(yùn)行在Pro/ENGINEER環(huán)境中要運(yùn)行用戶自己的應(yīng)用程序(可執(zhí)行exe文件或動態(tài)鏈接庫dll文件,必須在Pro/ENGINEER中對該程序進(jìn)行注冊。在Pro/ENGINEER安裝目錄下的toolkit子目錄中有個Protk.dat 文件,這就是一個標(biāo)準(zhǔn)的注冊文件,用戶只需按照實際情況簡單更改就可以生成自己的注冊文件。程序如下:NAMEdrawing_application/應(yīng)用程序名稱EXEC_FILE ./$PRO_MACHINE_TYPE/obj/drawing_application.exe /用戶編寫的可執(zhí)行程序TEXT_DIR./protk_appls/pt_install_test/text /STARTUP exeREVISION18END有了注冊文件之后,可在Pro/EN
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本打字
- 吊車租賃續(xù)簽合同范本
- 內(nèi)衣合伙人協(xié)議合同范本
- 醫(yī)療器械委托申報合同范本
- 單位勞動終止合同范本
- 住宅裝修交付合同范本
- 制作安裝窗戶合同范例
- 驛站轉(zhuǎn)租定金合同范本
- 合資商鋪合同范本
- 北京裝修合同范本查詢
- 羊水穿刺的委托書
- 爆破飛石控制措施
- 2024年新疆生產(chǎn)建設(shè)兵團(tuán)興新職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- (高清版)JTGT M72-01-2017 公路隧道養(yǎng)護(hù)工程預(yù)算定額
- DZ∕T 0130.6-2006 地質(zhì)礦產(chǎn)實驗室測試質(zhì)量管理規(guī)范 第6部分:水樣分析(正式版)
- 2024年遼寧生態(tài)工程職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫一套
- 摩托車科目一題庫-共400題(附答案)
- 第一節(jié)-原核生物與真核生物DNA的復(fù)制課件
- 第四單元素養(yǎng)評價卷(單元測試)2023-2024學(xué)年統(tǒng)編版語文一年級下冊
- 幼兒園隊列隊形訓(xùn)練培訓(xùn)
- 20K607 防排煙及暖通防火設(shè)計審查與安裝
評論
0/150
提交評論