1 引言
随着数字和自动化技术的发展,当代企业的产品具有迭代周期短、标准化程度高等特点。因此,在研发阶段,工程人员通常会制定相同的设计规则和流程来提升产品的开发效率以及统一数据的管理。在这过程中会产生许多带有重复性、批量式特点的操作,例如利用同一种方式创建、修改、替换产品模型及图纸,针对同一系列产品订制同一套组装方案以便于工厂部署产线等等。而这些工作又因为操作难度较低、需要修改或替换的数据差异不大,让计算机替代人去执行会更优。在三维机械设计软件Creo Parametric 4.0当中,有一个宏模块Mapkey,它能够帮助并提升完成这类型工作的效率和质量。
Mapkey中文名称为映射键,主要功能是使用键盘调用宏来自动反映并重现一些Creo的操作流程。用户一般可以使用手动录制的方法去创建一个Mapkey,但这样通常会让系统把许多非关键操作环节也自动记录进来,最终导致程序运行效率低下。当更新一个Mapkey时,相当于再重新录制一遍,因此维护起来也比较困难。另外,用户所录制的Mapkey有时需要在某种特定情况下才能够实现,不具有普遍性、规律性,不易推广。对于一些过多重复的操作,这种录制方法反而会增加用户的工作量。虽然目前已有PTC官方手册作为一手的培训资料,但是该手册的关注重点在于基本的使用方法,并未涉及到Mapkey在实际项目中的进阶运用,学习起来有一定的局限性。
本文目的通过研究Mapkey技术在Creo工程设计不同板块中的实际应用、程序的编写方法和实际案例来帮
助企业或个人用户能够深入的了解并运用,从而解决上述人工录制时产生的一些问题,同时提升对它的使用效率。
2 Mapkey在Creo平台应用
2.1 快捷键
Mapkey 的常用功能之一是快捷键。用户能够通过一些个性化的键位设置对Creo单个或者多个连续的命令做一个快捷键驱动的宏。它的主要特点就是方便输入和记忆,并减少了人为搜索及调用指令的时间。需要注意的是,Mapkey
关于Creo Parametric 4.0 Mapkey 技术的研究
庄志凡
(特灵科技亚太研发中心,江苏 215400)
摘要:本文主要通过分析Creo Parametric 4.0 平台下Mapkey模块的应用范围以及该语句程序的编写规则来完成简易CAD 设计自动化方案的定制,并且用一个工程图创建的实际案例来做进一步的说明,为实现企业Creo软件自动化应用提供一个新的思路。
关键词:Mapkey;Creo;字符;结构;自动化
快捷键运行时具有一定的优先原则。例如有两个Mapkey ,快捷键依次为a 和ab ,通常无法直接通过键盘运行程序ab ,程序a 在键盘输入上具有优先执行的能力,因此一般不建议设置单个字母或者字符的快捷键。
2.2 批处理
在使用Creo 的时候,往往会需要做一些添加、删除或者替换某些对象的工程变更。当该对象只需进行单次操作时,通过人工就能快速处理,但当它需要按照特定规则重复操作的时候,人工操作的效率就会很低。利用Mapkey 技术能够完成将一个周期较长且不限次数自动循环的操作,直到最后一个指令提示操作结束为止。因此,Mapkey 能够提升在这类型批处理操作上带来的效率问题。
2.3 快速装配
在Creo 内进行组件的装配是产品研发中的一个重要环节,对于一些大型的装配而言,它占内存较大会导致模型的卡顿,因此人为进行切换和选择约束参照会变得十分缓慢和笨拙。另外,对于相同或者类似的装配组件和被装配组件,它们在Creo 内部使用的约束及参照对象ID 大多相同。在这
有些时候,全自动的设计往往不能够满足所有的需求,工程人员需要在其中某几个环节人工介入来做一些技术性的判断,从而达到人和机器两者相互合作的工作模式。Mapkey 也能够提供这样的人机交互式的设计,通常在Mapkey 进行自动处理期间,进入手动编辑模式,等待用户
进行一些特殊的操作,再执行下一步。如图2所示,用户在执行一些自动操作前需要检查部分参数是否准确,再决定是否继续,继续则选择“Resume ”,取消选择“Cancel ”。
图2 暂停宏窗口示例
2.5 参数化设计
Mapkey 由于自身缺乏逻辑运算使得它无法进行一些灵活的参数化设计,但使用一些第三方的工具进行编程就能够实现这一功能,用户可以对具体的参数进行定义并输入到第三方程序,同时将这些参数进行编程运算并转换成Mapkey 语句,最终把得到的语句传输到Creo 软件内部运行就能实现一次参数化的设计过程。
图3 Mapkey 参数化设计流程
3 Mapkey 程序的结构
3.1 基本结构
Mapkey 程序主要由Mapkey 初始声明和主语句组成,
aa 自定义快捷键,用户自定义类型@MAPKEY_LABEL Mapkey短描述声明,可选项open part Mapkey短描述内容,用户自定义类型@MAPKEY_NAME Mapkey长描述声明,可选项open Mapkey长描述内容,用户自定义类型;表示这段语句的结束
\
表述继续执行下一句,又可以作续行符、注释符自定义快捷键短描述长描述
表1 Mapkey 声明解析
初始声明的功能是为了定义该Mapkey 以下基本信息:快捷键,短描述以及长描述,而长短描述一般是可选项,用户可以忽略。
如表2所示,Mapkey 主语句的标准结构就是由Mapkey (continued )和执行命令组成,其中“;”和“\”在主语句的作用与初始声明相同。
如表3所示,主语句结构通常有三类,第一类为段落式结构,由多行语句组成,每一行代表一个命令的执行,由Mapkey (continued ) 和“;”“\”之间做换行连接,直到执行完第N 个命令之后末端删除续行符“\
”表示程序终止。这类型的结构层次分明,便于阅读,适合代码偏多的程序。第二类为组合式结构,只有一个Mapkey (continued ),每个命令之间由“;”相隔且不换行。它的特点就是结构比较紧缩,相比段落式阅读起来比较困难,适合代码偏少的程序。第三类为单命令分解式结构,它与段落式结构相似,将同一个命令依次拆分成多个部分并且用Mapkey (continued )和“\”换行,该命令除末尾行,每一行结尾是不需要分号的,表明还未执行完毕。该结构只适用于其中单一命令字符过长的程序。在实际编写的过程中,用户可根据需求来混合
使用这三类的结构。
3.2 嵌套结构
当Mapkey 主程序的代码很多且部分代码语句重复出现的时候,编写起来耗时较长,维护时其难度也会随之增大,因此现有一种特殊的可嵌套结构,能够在一套程序的某个位置执行另一个Mapkey 的程序,提升维护和阅读的效率,嵌套命令如表4所示。
如表5所示,通常有三类嵌套结构:第一类为标准嵌套结构,可以在快捷键ab 中执行快捷键aa 的命令1。第二类为同级嵌套结构,在快捷键ab 中先后运行快捷键aa 和ac 的命令。第三种为多级嵌套结构,在快捷键ab 中运行快捷键aa ,而同时在快捷键aa 的程序中调用快捷键ac 的程序,这类结构能实现最多五级嵌套。
表4 嵌套命令
aa 嵌套的mapkey快捷键字符
~ Command `ProCmdModelOpen`执行的具体命令
表2 主语句命令
表3 主语句结构类型
表5 嵌套结构类型
4 标准语句介绍
4.1 常见语句类型
如表6所示,Mapkey 有四种标准语句,主要由命令类型的声明和命令语句组成。标准命令能够在Creo 内进行一些常规的操作;暂停命令能够实现人机交互,用户能够用它让程序在某个阶段暂停等待操作响应;系统命令通常可以做一些Creo 平台之外的一些程序的操作,例如打开某个应用程序文件;菜单管理器命令一般处理在菜单管理器中的一些操作。
表6 Mapkey 四种语句
暂停命令@MANUAL_PAUSE please check it 系统命令@SYSTEM msg /time:5 * "ok"菜单管理器命令#DONE
由于标准命令在程序中的占比最高,下文着重分析标准命令语句字符的编写。通常它是由三类特殊的字符组成,行为字符、窗口字符以及参数字符,如图4所示:
`file_open` `Inputname` `123456780001.prt`参数字符
窗口字符行为字符图4 标准命令字符示例
4.2 行为字符
Mapkey 可以完成的标准语句事件类型很多,主要体现在对Creo 每个功能块的执行特点,用户需要定义对应的行为字符来模拟这些特点的动作。如下表所示,通常Command 和Activate 对应的事件就是按钮或复选框控件的操作;Update 和input 这两类的事件是通过完成输入框填写来完成的,其中update 更加的直接和高效;Select 就是用户进行列表框、条目框、选项框的选择事件,它可以模拟在Creo 内几乎所有的选择类型的操作。Mapkey 还有其他的的行为字符,例如Key
、Open 、Close 、Trail 等等,由于这些字符的使用频率非常低,故不作具体的说明。
表7 行为字符列表
Activate 激活窗口内部指令Update 更新窗口中的内容Input 输入窗口的内容Select 选择窗口内命令
4.3 窗口字符
确定行为字符的事件类型之后,用户需要去判断该事件发生的窗口名称,在Mapkey 内部会生成一个该窗口的字符。除了Command 事件以外,一般都需要在行为字符之后输入相应的窗口字符,又因为从属关系需要把它分为一级和二级窗口,由于二级窗口被包含在一级窗口里面,因此它的
字符位置通常在一级窗口之后。Creo 内部的二级窗口字符数较多,下表展示的是部分常见的一级窗口列表:
表8 一级窗口字符列表`file_saveas`文件另存为`file_open`文件打开`ftb_edit_table`族表
`selspecdlg0`高级搜索`relation_dlg`参数关联表`visual_dlg0`
自动弹窗代码
视图管理器
4.4 参数字符
用户确定执行的事件以及窗口之后,就需要到执行命令的字符,它就是参数字符。参数字符位置通常在窗口字符之后,它有许多种类型,主要由模拟事件类别所决定。第一类字符通常比较固定,该参数字符通常会和activate 或者Command 的事件结合使用,如果是复选框的参数,需要在字符后面添加复选框的值,真为1,假为0。第二类字符是在有限范围内的可变参数,该参数字符一般和select 事件共用,根据选择的参数选择条件数量需在字符前面加上对应的数字,通常参数选择条件数量为1或者2。上述两者字符格式通常是固定的,否则会导致执行失败,而最后一类字符是最自由的,用户可以随意去定义这类型的参数,一般会应用
在input 和update 事件。
表9 参数字符类型
固定Command A 1/0固定Activate 窗口 A
固定Activate 窗口 A 1/0有限可变Select 窗口 子窗口 1 A 有限可变Select 窗口 子窗口 2 A B 自由Update 窗口 子窗口 A 自由Input 窗口 子窗口 A
5 自动化实例:创建基于当前模型的工程图
下文主要通过一个具体的自动化案例:创建一个基于当
前模型的工程图来说明利用Mapkey 进行程序的设计的主要思路和具体操作方式。
(1)分析得知工程图创建界面中无屏幕捕捉界面会强制终止Mapkey 运行,并且图纸创建流程具有很强的通用性,因此选择使用Mapkey 技术来设计自动化方案。本实例主要利用notepad++作为编程环境来写入Mapkey 代码,注意在程序前面更改两个配置Mapkey_execution 的值no_feedback 以及visible_Mapkeys 值no ,前者能够防止Mapkey 由于程序没到指令而终止,后者能够在运行Mapkey 的时候禁止屏幕刷新。
(2)如下图所示的手动操作顺序中,可以生成一些通用的操作:主要事件为选择、点击,其字符为Command 、select 、Activate 。依次的窗口为“New ”和“New drawing ”,其字符为`new`、`dwg_create`,综上这些字符在创建图纸
的时候是必不可少的。
图6 操作事件通用顺序
(3)通过手动操作还能够出需要用户介入的操作:填写图纸名称以及选择模板。因此,在设计这套流程的时候,需要在图6中序号1和2,3和4中间进入用户输入模式,即程序暂停。由此可得图7中的关键路径自动化流程。如果不定义二者的手动状态,程序会以默认的配置全自动执行,往往与实际情况不符。
(4)Creo 内部除了标准实体还有许多其他类型的模
1Select
`new``Type``Drawing`选择新建的类型drawing 2Activate `new`
`OK`新建窗口ok
3Select `dwg_create``rad_format`
`1`
选择第一种模板定义类型4Activate
`dwg_create`
`psh_ok`模板选择窗口ok
表10 创建图纸主要Mapkey 字符
图5 notepad++界面和默认配置图7 创建工程图流程及其Mapkey 分解步骤

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。