Patran二次开发步骤.docVIP

  • 30
  • 0
  • 约4.26千字
  • 约 4页
  • 2019-12-09 发布于河北
  • 举报
******在Patran下挂下拉菜单****** 通常我们不修改init.pcl文件,启动init.pcl时而会执行附带的启动文件p3prolog.pcl和p3epilog.pcl。如果这些文件存在,就会在init.pcl启动前后装载p3prolog.pcl(启动前)和p3epilog.pcl(启动后),所以这两个文件是我们插入自定义命令的好地方。 !!PATH !!LIBRARY !!INPUT 在Patran安装目录下修改p3prolog.pcl,加入如下命令,例如: !!input mymenu.pcl #装载菜单文件 ui_exec_function(mymenu,init) #当且仅初始化一次 !!input plateform.pcl #装载对话框文件 ******** 下拉菜单程序编写********* CLASS exercise FUNCTION 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) /*添加子菜单*/ item2=ui_item_create(menubar,ex_2,导入文件,FALSE) /*添加子菜单*/ item3=ui_item_create(menubar,ex_3,结束,FALSE) /*添加子菜单*/ END FUNCTION FUNCTION exercise_menu(item_name) /*菜单各项的响应函数*/ STRING item_name[] SWITCH(item_name) CASE(EX_1) write(Plate with a hole creating function) ui_exec_function(plateform,init) plateform.display() CASE(EX_2) write(cross pipes creating function) CASE(EX_3) write(slot modeling function) END SWITCH END FUNCTION END CLASS *******弹出对话框程序编写******* #include appforms.p CLASS plateForm /*定义控件变量*/ CLASSWIDE WIDGET form_id,dataBox1,dataBox2,dataBox3,@ apply_button,cancel_button,delete_button /*初始化对话框,必要的函数*/ FUNCTION init() real x_loc,y_loc /*创建对话框窗体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,) /*创建图标*/ x_loc=FRAME_WID_SINGLE/2.-200*PIXEL_WID/2.+FORM_L_MARGIN y_loc=FRAME_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 /*创建输入文本框ui_databox_create(parent,callback,x,y,label_length,box_length,width,height,label,value,label_above,datatype,num_vars)*/ dataBox1=ui_databox_create(form_id,,FRAME_L_MARGIN,y_loc,SINGLE_SPACE*5.0,DBOX_WID_SING

文档评论(0)

1亿VIP精品文档

相关文档