Patran二次開發(fā)步驟.doc_第1頁
Patran二次開發(fā)步驟.doc_第2頁
Patran二次開發(fā)步驟.doc_第3頁
Patran二次開發(fā)步驟.doc_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、共享知識分享快樂1. *在 Patran 下掛下拉菜單 *通常我們不修改 init.pcl 文件,啟動 init.pcl 時而會執(zhí)行附帶的啟動文件 p3prolog.pcl 和 p3epilog.pcl 。如果這些文件存在, 就會在 init.pcl 啟動前后裝載 p3prolog.pcl (啟動前)和 p3epilog.pcl (啟動后),所以這兩個文件是我們插入自定義命令的好地方。!PATH!LIBRARY!INPUT在 Patran 安裝目錄下修改 p3prolog.pcl ,加入如下命令,例如:!input mymenu.pcl#裝載菜單文件ui_exec_function(mymen

2、u,init)#當(dāng)且僅初始化一次!input plateform.pcl#裝載對話框文件2. * 下拉菜單程序編寫 *CLASS exerciseFUNCTION init()/* 初始化菜單 */WIDGET menubar,menu,item1,item2,item3/* 定義控件變量*/menu = uil_primary.get_menubar_id()/* 獲取主菜單ID*/menubar=ui_menu_create(menu,exercise_menu, 有限元分析 )/* 添加菜單 */item1=ui_item_create( menubar,ex_1, 計算 ,FALSE)

3、/* 添加子菜單 */item2=ui_item_create( menubar,ex_2, 導(dǎo)入文件 ,FALSE)/* 添加子菜單 */item3=ui_item_create( menubar,ex_3, 結(jié)束 ,FALSE)/* 添加子菜單 */END FUNCTIONFUNCTIONexercise_menu(item_name)/* 菜單各項的響應(yīng)函數(shù)*/STRING item_nameSWITCH(item_name)CASE(EX_1)write(Plate with a hole creating function)ui_exec_function(plateform,ini

4、t)plateform.display()CASE(EX_2)write(cross pipes creating function)CASE(EX_3)write(slot modeling function)END SWITCHEND FUNCTIONEND CLASS3. *彈出對話框程序編寫 *#include appforms.pCLASS plateForm/* 定義控件變量 */CLASSWIDE WIDGET form_id,dataBox1,dataBox2,dataBox3,頁眉內(nèi)容共享知識分享快樂apply_button,cancel_button,delete_butt

5、on/* 初始化對話框,必要的函數(shù)*/FUNCTION init()real x_loc,y_loc/* 創(chuàng)建對話框窗體 ui_form_create(callback,x,y,position,width,height,label,unused)*/ form_id=ui_form_create(,FORM_X_LOC,FORM_Y_LOC,UL,FORM_WID_SML,FORM_HGT_FULL,PLATE WITH A HOLE,)/* 創(chuàng)建圖標(biāo) */x_loc=FRAME_WID_SINGLE/2.-200*PIXEL_WID/2.+FORM_L_MARGIN y_loc=FRAME

6、_T_MARGIN+INTER_WIDGET_SPACE/* ui_labelicon_create(parent,callback,x,y,label)*/ui_labelicon_create(form_id,x_loc,y_loc,platehole.icon)y_loc+=200.*PIXEL_HGT+DBOX_HGT_NO_LABOVE+INTER_WIDGET_SPACE /* 創(chuàng)建輸入文本框ui_databox_create(parent,callback,x,y,label_length,box_length,width,height,label,value,label_abo

7、 ve,datatype,num_vars)*/dataBox1=ui_databox_create(form_id,FRAME_L_MARGIN,y_loc,SINGLE_SPACE*5.0, DBOX_WID_SINGLE*0.6,r=,2.,FALSE,REAL,1)y_loc+=DBOX_HGT_NO_LABOVE+INTER_WIDGET_SPACEdataBox2=ui_databox_create(form_id,FRAME_L_MARGIN,y_loc,SINGLE_SPACE*5.0, DBOX_WID_SINGLE*0.6,w=,5.,FALSE,REAL,1)y_loc+

8、=DBOX_HGT_NO_LABOVE+INTER_WIDGET_SPACEdataBox3=ui_databox_create(form_id,FRAME_L_MARGIN,y_loc,SINGLE_SPACE*5.0, DBOX_WID_SINGLE*0.6,h=,5.,FALSE,REAL,1)y_loc+=DBOX_HGT_NO_LABOVE+INTER_WIDGET_SPACE*2/* 創(chuàng)建“應(yīng)用”按鈕 ui_button_create(parent, callback, x, y, width, height, label, unused, highlight)*/apply_bu

9、tton=ui_button_create(form_id,apply_cb,BUTTON_HALF_X_LOC1,y_loc,BUT TON_WID_HALF,0, 應(yīng)用 ,TRUE,TRUE)/* 創(chuàng)建“取消”按鈕*/cancel_button=ui_button_create(form_id,cancel_cb,BUTTON_HALF_X_LOC2,y_loc,BU TTON_WID_HALF,0, 取消 ,TRUE,FALSE)y_loc+=DBOX_HGT_NO_LABOVE+INTER_WIDGET_SPACE /* 創(chuàng)建“刪除”按鈕 */delete_button=ui_butt

10、on_create(form_id,delete_cb,BUTTON_HALF_X_LOC1,y_loc,BUT TON_WID_HALF,0,Delete,TRUE,FALSE)y_loc+=BUTTON_DEFAULT_HGT+FORM_B_MARGIN+INTER_WIDGET_SPACE ui_wid_set(form_id,HEIGHT,y_loc)END FUNCTION/* 窗體顯示,必要的函數(shù)*/FUNCTION display()ui_form_display(plateForm)END FUNCTION頁眉內(nèi)容共享知識分享快樂/* “應(yīng)用”按鈕響應(yīng)處理函數(shù)*/FUNCTIO

11、N apply_cb()real r,w,hui_wid_get(databox1,V ALUE,r)ui_wid_get(databox2,V ALUE,w)ui_wid_get(databox3,V ALUE,h)ui_form_hide(plateform)ui_writec(r =%f,w=%f,h=%f,r,w,h)END FUNCTIONFUNCTION cancel_cb()ui_form_hide(plateform)END FUNCTIONFUNCTION delete_cb()ui_form_delete(plateform)END FUNCTIONEND CLASS4.

12、C文件編譯處理例如:d:mscpatran2001r2bincpp -id:/msc/patran2001r2/customization c:/uillist.pcl c:/uillist.cpp5. 編程格式介紹轉(zhuǎn)行繼續(xù)符: 分號分隔符:同C+ :“;”注釋多行: /*/注釋單行:“”或者“$”計算表達(dá)式說明:用“”(數(shù)字 1 鍵左邊的那個鍵)例如:Angle : 360/5,或者用WRITE(10+20)變量和常量Integer(整型), Real(實數(shù)), Logical ( TRUE 和 FALSE ), String , Widget (控件,有個常量 WIDGET_NULL)變量的生命周期Global全局Local在函數(shù)內(nèi),本地Static靜態(tài), patran 退出就消失ClassWide 對一組函數(shù)可見,patran 退出就消失6.指令文件管理! input file.pcl#編譯連接file.pcl, 并將函數(shù)調(diào)入patran!compile file.pcl into xxx.plb #編譯 file.pcl, 并存入 plb 庫中!library xxx.plb #將 plb 文件調(diào)入patran

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論