[发明专利]基于CAX软件录制用户操作自动生成Python脚本的方法和装置在审
申请号: | 202211361943.8 | 申请日: | 2022-11-02 |
公开(公告)号: | CN115686470A | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 王靖宇;王铁军;付成杰;王运涛;陈亮中 | 申请(专利权)人: | 四川大学;成都信息工程大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/65;G06F9/448;G06F9/455 |
代理公司: | 成都智涌知识产权代理事务所(普通合伙) 51313 | 代理人: | 蔡福林 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cax 软件 录制 用户 操作 自动 生成 python 脚本 方法 装置 | ||
1.基于CAX软件录制用户操作自动生成Python脚本的方法,其特征在于,在GUI表现层和核心业务逻辑层之间,设置脚本处理引擎,实现将CAX软件用户操作翻译成Python脚本的功能,所述脚本引擎处理包括事件驱动组件、脚本生成器和规则元数据驱动组件,所述规则元数据驱动组件实现对规则元数据信息本身的读取、遍历、查询功能,同时提供C++和Python语言访问接口,具体脚本翻译方法包括:
步骤1:启动CAX软件,在所述CAX软件初始化过程中从XML文件加载规则元数据到内存;
步骤2:用户在GUI表现层上通过键盘、鼠标操作触发Qt简单事件,并通过所述Qt简单事件的响应机制通知事件驱动组件;
步骤3:所述事件驱动组件将所述Qt简单事件存入历史事件队列,根据规则元数据信息,判断历史事件队列中的事件是否构成一个完整的高级事件,即完成一个动作,若已完成,则清空历史事件队列,执行步骤4,否则跳转到步骤2;
步骤4:所述事件驱动组件触发一个高级事件,通过消息机制通知核心业务逻辑层,完成所述高级事件对应的业务逻辑操作,基于不同类型的高级事件,所述事件驱动组件与核心业务逻辑之间的通信可采用同步或异步方式;
步骤5:所述核心业务逻辑层执行高级事件所对应的业务逻辑操作,并在执行结束后通过消息机制通知所述事件驱动组件;
步骤6:所述事件驱动组件判断所述核心业务逻辑层执行的结果,若执行成功,则执行步骤7,否则跳转到步骤15,结束程序执行,并异常退出;
步骤7:所述事件驱动判断但钱是否正在录制脚本,若正在录制,则继续执行步骤8,否则跳转步骤14;
步骤8:所述事件驱动从内存中读取规则元数据,将一个高级事件转换成一个追踪项,并调用C++代码中定义的宏,通知所述脚本生成器开始记录一个追踪项;
步骤9:所述脚本生成器根据接收到的追踪项信息,完成C++端的追踪项初始化,并调用python代码;
步骤10:根据传入的追踪项实例化一个Python对象,所述脚本生成器根据传入的追踪项信息,并依据规则元数据信息,实例化一个与该用户操作相对应的Python对象,本步骤在python端执行;
步骤11:记录追踪项生成Python语句,所述脚本生成器调用Python对象的记录日志方法,将该追踪项信息以Python语句的形式追加到一个缓存列表中,本步骤在Python端执行;
步骤12:所述脚本生成器在在C++端获取到对步骤10中所创建Python对象的引用,并反馈给所述事件驱动组件;
步骤13:所述事件驱动组件获得Python对象的引用,供后续业务代码使用;通常情况下,该引用仅供C++代码来判断脚本生成器是否执行成功。
步骤14:CAX程序是否结束执行,若结束,则继续步骤15;否则跳转到步骤2;
步骤15:结束CAX程序执行,正常退出。
2.如权利要求1所述的自动生成Python脚本的方法,其特征在于,所述规则元数据信息记录着CAX软件各项功能点的元数据信息,一个元数据即为一条规则,所述规则将GUI表现层、核心业务逻辑层、事件驱动组件和脚本生成器联系到一起。
3.如权利要求1所述的自动生成Python脚本的方法,其特征在于,步骤3中的规则包括对应某个功能点核心业务逻辑层的实现接口、事件驱动组件调用所述实现接口是相关属性参数及返回值、某个功能点对应在GUI层需要展现的相关文本信息和控制逻辑、脚本生成器记录该功能点时需要的相关信息。
4.基于CAX软件录制用户操作自动生成Python脚本的装置,所述装置包括GUI表现层和核心业务逻辑,其特征在于,所述装置还包括设置在所述GUI表现层和核心业务逻辑之间的脚本处理引擎,所述脚本处理引擎包括:
事件驱动组件,被配置成收集并过滤用户在GUI表现层上的操作,通过读取规则原数据,将GUI表现层上触发的简单事件转化成高级事件,即动作语义,并将所述动作语义发送给脚本生成器;
脚本生成器,被配置成读取规则元数据,将所述动作语义翻译成一组脚本指令,实现以某个特定编程语言语法记录动作语义的功能;即可通过不同的脚本生成器实现采用不同编程语言录制脚本的功能;
脚本生成器,还被配置成实现语义分析,实现变量的自动定义和调用;
规则元数据驱动组件,被配置成记录CAX软件各项功能点的元数据信息,实现对规则元数据信息本身的读取、遍历、查询功能,同时提供C++和Python语言访问接口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学;成都信息工程大学,未经四川大学;成都信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211361943.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:显示基板及其修补方法
- 下一篇:一种高精度油液化验装置