优化Pro/E 2001录制快捷键的脚本命令

来源:互联网 发布:曲面拟合软件 编辑:程序博客网 时间:2024/06/10 05:09
优化Pro/E 2001录制快捷键的脚本命令


(zyphio原创,转载请注明作者)


先说明,很想换野火或学UG,不过因工作地域和行业习惯,目前只能学着和使用Pro/E 2001,所以别BS我!!!


Pro/E 2001的快捷键除了系统定义的,我们还可以进行快捷键录制,实际上也就有点类似MS Office和Photoshop等软件的宏和批处理脚本。


Proe的快捷键录制后一般是保存到工作目录的config.pro中,只要用记事本之类的文本编辑器,便可以打开config.pro来查看和编辑脚本内容,修改和优化快捷键(这个比在proe界面中重新录制修改快得多,也方便得多)。


但即使录制时用最精简的操作步骤,一般也会含有不少多余的命令。


例如:“删除已选定特征”的操作是“主菜单>编辑>删除”,录制得到的脚本命令如下:


mapkey d @MAPKEY_NAME删除特征;@MAPKEY_LABEL删除特征;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `Edit`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `Edit.pshDelete`;


这脚本对应的快捷键是d,当我们选中一个特征,按下d时,你将看到主菜单的编辑菜单快速打开并关闭,就是菜单会闪一下,那个特征才被删除。


菜单这一闪,一方面减慢速度模型显示的刷新速度(在一些复杂几何组件中会比较明显),降低渲染效能;另一方面还会让屏幕闪烁,分散注意力的同时,影响视力。


所以,如何才能让菜单不闪的同时直接删除已被选中的特征呢?


经分析,菜单闪动一下的原因是执行了那快捷键脚本的前两行——


mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `Edit`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\


这前两行实际上是选择(~ Select)主菜单的编辑菜单后再关闭(~ Close)主菜单,但真正有效或是达到我们目的操作实际上是脚本的第三行激活(~ Activate)——


mapkey(continued) ~ Activate `main_dlg_cur` `Edit.pshDelete`;


所以,原则上,我们可以把前两行删了,这在ProE中不会不影响第三行执行效果。


不过,当我们打开多个零件或组件时,如果脚本只有第三行,那又会造成某些情况下丢失激活窗口的操作焦点(搞过GUI编程的应知道),即会自动切换到其它没有激活的窗口,严重影响操作的流畅性和工作效率。


所以,如何保证不失去操作焦点的同时,又能让主菜单不闪呢?


方法很简单,把第一行脚本改为:


mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\


就是修改选择打开“编辑”菜单的代码“Edit”为“None”,也就是说把Edit这个单词改为非“View”、“Help”、“Information”等主菜单中没有单词就可以了,不推荐删除Edit,因为经测试,这个值留空的话,在某些特殊情况下还是会失去焦点。


既然没打开“编辑”菜单,脚本中的第二行关闭(~ Close)菜单就没意义了,但还是保留为好,经测试如果删除这一行,也会在某些快速切换的操作中失去焦点。


经如上改动,脚本执行时会选择主菜单中一个不存在的菜单,所以就不会弹出菜单,闪一下屏这样,也不会丢失激活窗口的操作焦点。


结果,这个快捷键脚本精简优化后如下:


mapkey d @MAPKEY_NAME删除特征;@MAPKEY_LABEL删除特征;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `Edit.pshDelete`;


附上更多已精简的快捷键脚本:


mapkey w @MAPKEY_NAME工作目录;MAPKEY_LABELt重新指定工作目录;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `File.psh_working_dir`;


mapkey h @MAPKEY_NAME隐藏特征;@MAPKEY_LABEL隐藏所选特征;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `View.psh_view_hide`;


mapkey r @MAPKEY_NAME定义;@MAPKEY_LABEL重定义特征;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `Edit.pshRedefine`;


mapkey e @MAPKEY_NAME截面草绘;@MAPKEY_LABEL进入特征草绘截面;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `Edit.pshRedefine`;\
mapkey(continued) ~ Select `Odui_Dlg_01` `odui_steps`1  `SECTION`;\
mapkey(continued) ~ Activate `Odui_Dlg_01` `odui_steps`1  `SECTION`;#SKETCH;


mapkey l @MAPKEY_NAME层;@MAPKEY_LABEL打开层窗口;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `View.psh_view_lyrs`;


mapkey q @MAPKEY_NAME阴影质量;@MAPKEY_LABEL提高模型显示的阴影质量;\
mapkey(continued) ~ Select `main_dlg_cur` `MenuBar1`1  `None`;\
mapkey(continued) ~ Close `main_dlg_cur` `MenuBar1`;\
mapkey(continued) ~ Activate `main_dlg_cur` `psh_view_mdldisp`;\
mapkey(continued) ~ Select `modeldisplay` `ModDsply_Tab`1  `ModDsply_Layout_Shade`;\
mapkey(continued) ~ Update `modeldisplay` `ModDsply_SB_ShadeQlty`8 ;\
mapkey(continued) ~ Activate `modeldisplay` `ModDsply_PB_OK`;