ProE映射键全套

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【原创】Ye's ProE映射键全套分享(ProE快捷键大全,附布局表格和代码,ProE 快捷键设置经验)不妨一看
如果你常用PROE作图或查看文档,并希望提高工作效率,则请继续往下看。

常用PROE的朋友应该体会到该软件层层深入的菜单操作方式,长时间操作下来,右手频繁点鼠标都会累得麻木的。

为了让自己和同事右手轻松点,特别制作了一套PROE通用快捷键--不过牺牲了几乎三个月的周末和平时休息(算算加班费得有多少啊,呵呵)。

在此与各位朋友分享交流。

下面分几个部分展开说明:
一、统一对ProE映射键及配置文件的认识
二、关于我的映射键布局及制作思路
三、我的代码结构及经验分享
四、我的困惑,有请高人指点
五、我的映射键布局和代码
现在进入正题:
一、统一对ProE映射键及配置文件的认识
1、PROE Mapkeys,中文映射键或快捷键,个人认为相当于Word\Excel中的宏(Marco)的简化版,可记录使用者的多项鼠标或键盘操作过程,再通过快捷键调用的方式重复执行该过程,可大大简化使用者的工作量。

2、映射键执行时可与用户简单交互,或暂停,但无逻辑判断能力。

映射键调用可以是字母或符号,可以单个也可组合,组合指依次键入。

映射键只能在当前激活窗口运行。

3、新录制好的映射键需手动保存在启动目录下的config.pro中。

可用记事本打开,直接编辑代码。

4、关于PROE工作目录、启动目录,系统配置文件config.pro、环境和使用配置文件config.win,应有所了解。

网文较多,不赘述,搜索一下“探讨ProE的配置文件”,讲得比较明白。

顺便提下,如果只想看配置选项说明,Pro/E安装目录
\html\chinese_cn\proe\helpSysTop\siteset\configoptions.pdf 即是。

5、告诉对于想试验映射键代码的新人,最简单步骤:打开记事本,粘上所需代码,另存为cofig.pro到任一目录,再找到proe桌面或开始菜单中快捷方式,点击右键\属性,在启始位置栏输入此目录地址,点击确定。

再启动该快捷方式即可。

如果想学怎么自己录制,请看PROE帮助,或参考前人的介绍
/read-htm-tid-195776.html
二、关于我的映射键布局及制作思路
快捷键优势在于快捷,所以怎么实现快捷就是关键,说大了这是人机工程学的问题。

每个人的使用目标和习惯不一,不必强求大一统,但设置思路值得与大家交流。

我和同事主要用零件、组装,少量钣金、工程图,常用基本建模、拔模、测量、
剖面,本套快捷键由此出发,参阅多份前人的映射键布局设置,经若干次修改而成。

布局上特点及考虑要点为:
1. 考虑方便使用,按键主要功能分布在键盘左区,少量常用键为单键,大多为双键,少量为多键。

2. 相近功能布置在相同键或相近区域,如A-装配,S-实体特征、D-剪裁特征、F-曲面特征,W-钣金,E-编辑,Q-快速操作,X-剖面,数字-视图,等等。

3. 特征操作与草绘分别在键盘左区与右区,分别进行优化布局。

4. 结合代码,实现一键通用或多用,减少冗余按键,增强了草绘、新建特征、编辑特征、剖面建立与查看、视图查看等功能的方便性。

5. 考虑方便记忆,按键尽量取自其英文版词汇,同时兼顾操作方便、避免布局冲突、减少误操作,以及尽量包容不同软件版本。

6. 全套二百余键,不求全记,而求在需要用时能方便。

专门制作Excel布局表格,按键分类着色,将常用和重点突出,以彩色打印,可方便查阅,快速上手。

附:网上前人布局经验
/article/2008/0104/article_303.html,我觉得
VF-Front、VR-Right、 VT-TOP、VB-Bottom、VD-Default还是不错的(暂称VF 布局吧,我的自称YES布局)。

而我用V来显隐基准面了,用数字来定向(5-Front,2、4、6、8按箭头方向定义,7-Back,3-反向180°)。

如果改用VV来显隐基准面,则仍可以兼容VF布局,看个人喜好了。

功能上的特点(通过代码实现,简单介绍部分):
1. 兼容PROE
2.0/
3.0/
4.0,因为自己安的是2.0和4.0,公司的是2.0和3.0,所以兼顾考虑,但有某些细微差异。

2. 通过映射键的组合与嵌套,实现一键通用或多用。

如:
SE-实体拉伸,直接进入参照选择界面,在选择两平面或选择一平面后在空白处点击左键后,会直接进入草绘界面。

ED-编辑定义,可以用于特征、组件中零件、层、工程图视图和尺寸的编辑;
EF-编辑参照平面,能直接进入拉伸、旋转、扫描、筋、填充等特征的参照选择界面;
ES-编辑草绘,则能直接进上述特征的草绘状态;
ET-编辑轨迹,则能用于扫描的轨迹编辑;
RF-在特征出错时,执行重定义,而ED、EF、ES、ET也能直接进入对应编辑状态进行修复。

QE-快速退出,能退出大多编辑状态,不保存;
QA(TY)-快速接受,无错时能一路打勾;
SA(Y)-单步接受,一步一步地确定;
II-镜像,在特征与草绘、工程图均能使用。

3. 通过映射键控制配置选项的开关,实现某些特殊功能。

如:
KN-Sketch Refit-NO 关闭草绘自动缩放,解决困扰很多人许久的草绘更改尺寸后自动缩放的问题。

KY恢复默认状态。

S3或S4,能使PROE在新建或修改草绘时不会自动定向,速度快了,像感觉其它3D软件一样。

S1或S2恢复。

4. 实现快速新建一个或多个剖面功能、快速查看功能。

如:
XF,查看Front剖面,并定向Front;
XCA到XCZ,分别以字母A到Z命名的剖面;
XGF,自动进入Front草绘,划线后,建立偏移类型剖面;
XS,能快速进入剖面的草绘编辑状态;
NXAF,NXBF,分别在组件或零件中以Front面为基准,陈列10个平面并建立对应剖面,完成后可编辑修改;
NXAX,NXBX,分别在组件或零件中以一面和一轴为参考,旋转陈列18个平面并建立对应剖面,相当于每10°都有一截面。

5. 增加某些特殊功能键,如AA,在3D中选中某个元件或特征后,运行AA可自动找到它在模型树中的位置。

三、我的代码结构及经验分享
我的代码大多为自己录制加修改,参考了一些资料光盘附带的和网上的代码。

介绍几个特色映射键的制作思路:
1. QQ、QE、QA、SA
QQ实现从草绘界面到初始状态的单步退出,QE实现直接退出所有对话框
QE相当于是在QQ的基础上加了若干点击确实的操作。

先定义Quit_XX的若干映射键,每个实现退出一个类型的窗口
!--------------------------------------------------
mapkey Quit_1 ;~ Command `ProCmdSketQuit` ;
mapkey Quit_2 ;
mapkey Quit_3 ;~ Activate `Odui_Dlg_00` `stdbtn_2`;
mapkey Quit_4 ;~ Activate `Odui_Dlg_01` `stdbtn_2`;
mapkey Quit_5 ;~ Activate `Odui_Dlg_01` `cancel`;
mapkey Quit_6 ;~ Activate `main_dlg_cur` `dashInst0.Quit`;
mapkey Quit_7 ;~ Activate `main_dlg_cur` `dashInst0.stdbtn_2`; mapkey Quit_8 ;~ Activate `relation_dlg` `PB_Cancel`;
(在此省略若干)
另外UI_YES、UI_OK、CFM_OK对应不同类型的确认按钮功能
!--------------------------------------------------
mapkey UI_YES ;~ Activate `UI Message Dialog` `yes`;
mapkey UI_OK ;~ Activate `UI Message Dialog` `ok`;
mapkey CFM_OK ;~ Activate `0_std_confirm` `OK`;
分别用 Quit_Once_A和 Quit_Once_B来调用不用确认执行的映射键(由于数量较多,才分A和B两个)
!--------------------------------------------------
mapkey Quit_Once_A @MAPKEY_LABELQuit_Once;%Quit_21;%Quit_22;%Quit_23;\ mapkey(continued) %Quit_24;%Quit_25;%Quit_31;%Quit_32;%Quit_33;%Quit_ 34;%Quit_35;%Quit_36;\
mapkey(continued) %Quit_37;%Quit_38;%Quit_39;%Quit_40;%Quit_42;%Quit_ 43;%Quit_44;%Quit_45;
!--------------------------------------------------
mapkey Quit_Once_B @MAPKEY_LABELQuit_Once;%Quit_51;%Quit_52;%Quit_53;\ mapkey(continued) %Quit_54;%Quit_55;%Quit_71;%Quit_72;%Quit_41;
QQ把所有需加确认功能的映射键加载进去,然后加载Quit_Once_A和
Quit_Once_B
!--------------------------------------------------
mapkey QQ @MAPKEY_LABELQuick
Cancel;%Quit_1;%Quit_2;%Quit_3;%Quit_4;%Quit_5;\
mapkey(continued) %Quit_6;%Quit_7;%Quit_8;%Quit_9;%Quit_10;%Quit_Once _A;%Quit_Once_B;
QE按从草绘退出的顺序加载上述映射键,并根据需要在对应键后加上确认按钮功能,实现能一退到底
!--------------------------------------------------
mapkey QE @MAPKEY_LABELQuick
Cancel;%Quit_1;%Quit_2;%UI_YES;%Quit_3;%Quit_4;\
mapkey(continued) %UI_YES;%Quit_5;%CFM_OK;%Quit_6;%UI_YES;%Quit_7;%UI _YES;%Quit_8;%UI_YES;\
mapkey(continued) %Quit_Once_A;%Quit_Once_B;%CFM_OK;%UI_YES;
QA和SA类似上述方法,先定义若干OKXX的映射键,QA按从草绘确认的顺序加载,
! - - - - - - - - - - - - - - - - - - - - - - - - -
mapkey QA @MAPKEY_LABELQuick
Accept;%OK1;%OK2;%OK3;%OK4;%OK5;%OK6;%OK7;%OK8;\
mapkey(continued) %OK9;%OK10;%OK31;%OK32;%OK33;%OK34;%OK35;%OK51;%OK5 2;%OK53;%OK54;%OK55;%OK71;
而SA则需把OK1到OK10的顺序倒置,才能避免一路执行下去。

! - - - - - - - - - - - - - - - - - - - - - - - - -
mapkey Step_Yes @MAPKEY_LABELQuick
Accept;%OK10;%OK9;%OK8;%OK7;%OK6;%OK5;\
mapkey(continued) %OK4;%OK3;%OK2;%OK1;%OK31;%OK32;%OK33;%OK34;%OK35;% OK51;%OK52;%OK53;%OK54;\
mapkey(continued) %OK36;%OK55;
2. RF、ED、EF、ES
RF、ED、EF、ES,从功能上后项依次包含前一项,分别增加所需执行的对应功能。

EF不是直接调用ED的,而相当于是调用了去掉了RT的ED,因为RT中第三项(编辑注释特征),在很多情况执行是会提示错误的,为了保持ED的通用,ED中加RT,为了提高EF和ES的效率,去掉了RT。

另外,EF中调用RF后,执行了UI_NO,是为了应对一种情况:在剖面打开时,已经对特征进行编辑定义,按EF或ES进草绘反而会退出定义。

此时RF在搞怪,加了UI_NO就好了。

!--------------------------------------------------
mapkey RT @MAPKEY_LABELProperty;\
mapkey(continued) ~ Activate `main_dlg_cur` `Edit.psh_dwg_props`;\ mapkey(continued) ~ Activate `main_dlg_cur` `ActionMenuLayerProps`;\ mapkey(continued) ~ Activate `main_dlg_cur` `AEProperties`;%UI_OK;\ mapkey(continued) ~ FocusIn `main_dlg_cur` `proe_win`;
!--------------------------------------------------
mapkey RF @MAPKEY_LABELRedfine;#QUICK FIX;#REDEFINE;#CONFIRM;
!--------------------------------------------------
mapkey ED @MAPKEY_LABELEdit Definition;%RF;\
mapkey(continued) ~ Activate `main_dlg_cur`
`Redefine`;%UI_YES;%UI_OK;%RT;
!--------------------------------------------------
mapkey EF @MAPKEY_LABELEdit REF;%RF;%UI_NO;\
mapkey(continued) ~ Activate `main_dlg_cur`
`Redefine`;%UI_YES;%UI_OK;%Edit_Rib;%Edit_Fill;\
mapkey(continued) %Edit_1;%Edit_2;%Edit_3;%Edit_4;%Edit_5;%Edit_31;%E dit_32;%Edit_33;%Edit_34;\
mapkey(continued) %Edit_35;%Edit_36;%Edit_37;%Edit_38;~ Command
`ProCmdSketSetup`;
!--------------------------------------------------
mapkey ES @MAPKEY_LABELEdit Sketch;~ Activate `visual_dlg0`
`CloseBtn`;%EF;\
mapkey(continued) %Edit_21;%Edit_22;%Edit_23;%Edit_24;%Edit_25;#SECTI ON;#SKETCH;%Edit_72;
3. NXBF
NXBF实现偏移Front面0,建立一基准面,阵列10个,并建立对应的10个剖面它先执行Pattern_Front,再调用X_Front_1到X_Front_10
!--------------------------------------------------
mapkey NXBF ;@MANUAL_PAUSECreate 10 X-sec by "FRONT" in
Part?;%Pattern_Front;\
mapkey(continued) %X_Front_1;%X_Front_2;%X_Front_3;%X_Front_4;%X_Fron t_5;%X_Front_6;%X_Front_7;\
mapkey(continued) %X_Front_8;%X_Front_9;%X_Front_10;~ FocusIn
`main_dlg_cur` `proe_win`;
Pattern_Front执行偏移Front面0,建立一基准面,并命名为DTM9001,然后阵列增加9个面,新增的名称会自动从DTM9002起递增
!--------------------------------------------------
mapkey Pattern_Front ;~ Command `ProCmdDatumPlane` ;%Find_DTM_FRONT;\ mapkey(continued) ~ Select `Odui_Dlg_00` `pg_vis_tab`1 `tab_3`;\ mapkey(continued) ~ Update `Odui_Dlg_00` `t3.datum_plane_name`
`DTM9001`;\
mapkey(continued) ~ Activate `Odui_Dlg_00` `t3.datum_plane_name`;\ mapkey(continued) ~ Activate `Odui_Dlg_00` `stdbtn_1`;~ Command
`ProCmdFtPattern` ;\
mapkey(continued) ~ Select `main_dlg_cur` `maindashInst0.ui_pat_type`1 `ui_pat_type_dir`;\
mapkey(continued) %Find_DTM_FRONT;\
mapkey(continued) ~ Update `main_dlg_cur`
`maindashInst0.ui_pat_dir_1_num_inst` `10`;\
mapkey(continued) ~ FocusOut `main_dlg_cur`
`maindashInst0.ui_pat_dir_1_num_inst`;\
mapkey(continued) ~ Update `main_dlg_cur`
`maindashInst0.ui_pat_dir_1_incr` `10`;\
mapkey(continued) ~ FocusOut `main_dlg_cur`
`maindashInst0.ui_pat_dir_1_incr`;\
mapkey(continued) @MANUAL_PAUSERESUME to Create Xsec;\
mapkey(continued) ~ Activate `main_dlg_cur` `dashInst0.stdbtn_1`;
Find_DTM_FRONT实现查找并选择Front面,这是从“Proe配置文件生成器”附带的代码中学习并改进的,在此表示感谢其作者!其原理是利用Ctrl+F的查找功能,输入Front查找到该面,并加以选中,其要点是须自动将上次的查找结果清除,而个别版本软件不支持该操作(比如我的2.0,呵呵)
! - - - - - - - - - - - - - - - - - - - - - - - - -
mapkey Find_DTM_FRONT %Find_DTM_Start;%Input_F;%Find_DTM_End;
! - - - - - - - - - - - - - - - - - - - - - - - - -
mapkey Find_DTM_Start ~ Activate `main_dlg_cur` `Edit.Find`;\
mapkey(continued) ~ Activate `selspecdlg0` `SelScopeCheck`0;\
mapkey(continued) ~ Select `selspecdlg0` `SelOptionRadio` 1 `Datum`;\ mapkey(continued) ~ Select `selspecdlg0` `LookByOptionMenu` 1 `Datum`;\ mapkey(continued) ~ Select `selspecdlg0`
`ExtRulesLayout.ExtBasicNameLayout.BasNameComp` 1 ` \
mapkey(continued) == `;
! - - - - - - - - - - - - - - - - - - - - - - - - -
mapkey Input_F ~ Update `selspecdlg0` \
mapkey(continued) `ExtRulesLayout.ExtBasicNameLayout.BasicNameList` `FRONT`;
! - - - - - - - - - - - - - - - - - - - - - - - - -
mapkey Find_DTM_End ;@MAPKEY_LABELFind_DTM_End;\
mapkey(continued) ~ Activate `selspecdlg0` `EvaluateBtn`;\
mapkey(continued) ~ Select `selspecdlg0` `SelectedItemsList` -1 ;\ mapkey(continued) ~ Activate `selspecdlg0` `DeleteBtn`;~ Select
`selspecdlg0` `ResultList` -1;\
mapkey(continued) ~ Activate `selspecdlg0` `ApplyBtn`;~ Activate
`selspecdlg0` `CancelButton`;
X_Front_1是建立剖面过程,先调用 New_Xsc_Start 开始新建剖面,然后输入新名称_Front_01,到选择平面时运行查找功能,选定DTM9001,剖面完成,接着运行更改特征名称功能,改为_Front_01,一为好看,二为避免运行另外几个命令时冲突。

其它9个面过程类似。

!--------------------------------------------------
mapkey X_Front_1 %New_Xsc_Start;\
mapkey(continued) ~ Update `visual_dlg0` `Table_INPUT` `_Front_01`;\ mapkey(continued) ~ Activate `visual_dlg0`
`Table_INPUT`;#DONE;%Find_DTM_Start;\
mapkey(continued) ~ Update `selspecdlg0`
`ExtRulesLayout.ExtBasicNameLayout.BasicNameList` \
mapkey(continued) `DTM9001`;%Find_DTM_End;~ Activate `main_dlg_cur` `Rename`;\
mapkey(continued) ~ Update `main_dlg_cur` `PHTLeft.node_edit`
`_Front_01`;\
mapkey(continued) ~ Activate `main_dlg_cur` `PHTLeft.node_edit`;
(在此省略若干)
!--------------------------------------------------
mapkey New_Xsc_Start ~ Command `ProCmdViewVisTool`;\
mapkey(continued) ~ Select `visual_dlg0` `RadioSelApplMgr`1 `xsec`;\ mapkey(continued) ~ Activate `visual_dlg0` `ZoneNmCreate`;\
mapkey(continued) - - - - - - - - - - - - - - - - - - - - - - - - -
另外NXAF、NXBX等过程相仿,但NXBX是旋转阵列,中途有手动选轴和面的交互过程。

此处感叹下PROE的映射键功能是比较笨的,不能通过编程循环来控制语句的执行和变化。

PROE的零件和组件中默认基准面和新建面的名称是不同的,不同的剖面数量、名称,意味着不同的代码,现在本套代码2千余行,三分之一为关于自动建剖面的。

发表几条感悟:
1. 为了便于检查,对于复杂的映射键,可将其拆成若干条,再调用它们(嵌套不超过5层)。

对于重复使用的代码,这样也可减少文件长度。

如我的文件中,直接使用的映射键有200个左右,而实际编录的映射键有500左右。

2. 如果你要手动编辑代码,最好找个有语言着色功能的程序编辑器,会帮你在成百上千行代码中保持清醒的。

3. 修改代码后要重新加载才能使用,我设了一个映射键作实现该功能,不然工作量又大了。

注意,重新加载后,有时映射键执行会有混乱情况,那就重启PROE 吧。

4. 如果有的映射键用不了,不要立即否定代码的问题。

如自动建剖面功能,在自己电脑上4.0能用,2.0不能用,而公司的2.0能用。

检查出关键是有一条代码(~ Select `selspecdlg0` `SelectedItemsList` -1 ;)在我的2.0上不能用,原因未知。

5. 虽然PROE的不同版本代码基本通用,但有的差别较大,不好兼容到一个映射键里,最好各版本单独配置。

6. 为了减少按错键带来麻烦,最好将没用上但可能按错的键也加到配置文件中。

我加了一百多个,只执行重画功能。

四、我的困惑,有请高人指点
1. 为什么有的代码我自己电脑上4.0能用,
2.0不能用,而公司的2.0能用,就那一条。

2. 在别人的一份代码中,执行部分几乎全是#开头的,如#VIEW ,#LAYER DISP,#ENVIROMENT,#DBMS,#SAVE,#EXIT,#PURGE等,而自己录制的仅有几个是这种形式的,如#DONE,#DONE/RETURN,#INSERT MODE等,这是为什么?
如果你有经验,请不吝赐教;如有其它问题,欢迎交流。

我的:yeegle@#@ (防扰)
五、我的映射键布局和代码
由于经常修改,加了版本号,如:
映射键布局 Proe Mapkeys' Map H13
映射键代码 Proe Mapkeys H8
打包后命名为 Ye's Proe Mapkeys Version-H13+8
字母从A开始,表示布局有大的改动,数字表示布局或代码各自的较小改动,无关联。

代码和布局的字母相同即可配套使用。

PROE中GH可查看当前映射键代码。

下载地址:Ye's Proe Mapkeys Version-H13+8
/d/Ye's%20Proe%20Mapkeys%20Version-H13+8.rar/f70f a67c059b4bec31aa6145b88d58ff021cf009dbb21800
豆丁网上也有:
映射键布局/p-51400846.html
映射键代码/p-51407964.html
快捷键不必每人一样,但功能和代码应求其精。

如果你有好的想法,不妨上传交流!
【送人玫瑰,手有余香】。

相关文档
最新文档