一种自动钻铆以数控代码还原仿真过程的方法与流程

专利2023-12-03  118



1.本发明属于数控设计领域,提供一种自动钻铆以数控代码还原仿真过程的方法。


背景技术:

2.自动钻铆设备庞大、运动机构复杂、维度较多,进行自动钻铆加工工程中容易发生碰撞干涉,造成严重后果。自动钻铆数控程序运用到产品加工前,必须经过严格的可视化仿真,验证产品加工流程的可行性和可靠性。仿真结果可以指导优化加工姿态。自动钻铆数控代码仿真验证需要使用自动钻铆专用离线编程软件的仿真模块,因此专用离线编程软件的条件束缚了大量加工任务的数控代码仿真验证工作,限制了自动钻铆的离线编程工作效率。


技术实现要素:

3.本发明为了克服上述现有的技术缺陷,提供一种自动钻铆以数控代码还原仿真过程的方法,本发明通过delmia二次开发实现数控加工程序代码的导入和识别,获取负责数控程序文件中的机器的任务信息,创建机器任务并设置机器运动参数,最终实现机器仿真过程的还原。
4.为了达到上述目的,本发明采用的技术方案为:
5.一种自动钻铆以数控代码还原仿真过程的方法,包括以下步骤:
6.第一步,使用delmia中的movejointsact方法,建立初始5轴托架运动项m0、6轴执行器运动项n0,并将所有轴坐标设置为初始值。
7.第二步,使用c#语言内的textreader方法读取程序文件内的文本信息,进而将文本信息读入string对象s。
8.第三步,将文本信息读取并判断处理,建立包含运动类型、坐标值的数据库r,具体方法如下:
9.①
在数据库r内新建一条数据值v1,运动类型值“m”,5轴数据皆为“0”;
10.②
在数据库r内新建一条数据值v2,运动类型值“n”,6轴数据皆为“0”;
11.③
在文本对象s内选出第一条代码内容p;
12.④
使用c#的contains方法判断p是否包括运动值,若不包括运动值,则在s内删除p,否则使用c#的contains方法来区分托架运动和执行器运动,若是托架运动,执行步骤

,若是执行器运动,则执行步骤


13.⑤
在数据库r内选出托架类最后的运动数据v1,读取v1内的5轴数据,使用split方法读取p内5轴数据,然后计算差异值,若无差异值,则在s内删除p,若有差异值,则在数据库r内新建一条数据值v2,运动类型为“m”,并将p内的5轴数据记录至v2,然后在s内删除p;
14.⑥
在数据库r内选出执行器类最后的运动数据v1,读取v1内的6轴数据,使用split方法读取p内6轴数据,然后计算差异值,若无差异值,则在s内删除p,若有差异值,则在数据库r内新建一条数据值v2,运动类型为“n”,并将p内的5轴数据记录至v2,然后在s内删除p;
15.⑦
重复执行步骤

~步骤

,直至文本对象s内无数据,数据库r记录完成。
16.第四步,使用delmia软件movejointsact方法建立仿真事件a,按数据库r,逐条将m0,n0运动项复制至a,并设置各轴数据,具体方法c如下:
17.①
在数据库r读取第一条数据值v1;
18.②
读取v1内的运动类型值,若为“m”执行步骤

,若为“n”则执行步骤


19.③
使用copy方法将m0复制至a最后处,并将v1内5轴数据值设置到m0内,然后在数据库r内删除v1;
20.④
将n0复制至a最后处,并将v1内6轴数据值设置到n0内,然后在数据库r内删除v1;
21.⑤
重复执行步骤

~步骤

,直至数据库r内无数据,仿真事件设置完成。
22.第五步,使用delmia软件createlink方法将所有仿真事件a连接,以实现运动连续。
23.第六步,使用delmia软件processsimulation方法将a进行仿真,还原仿真过程完成。
24.本发明的关键技术点如下:
25.1)使用delmia软件movejointsact方法,建立自动钻铆各轴运动项,并设置初始值;
26.2)使用c#语言内textreader方法读取程序文件内的文本信息;
27.3)将文本信息读取并判断处理,建立包含运动类型、坐标值的数据库;
28.4)按数据库,逐条以复制的方式建立仿真事件,并设置各轴坐标值;
29.5)使用delmia软件createlink方法将所有仿真事件连接,以实现运动连续;
30.6)使用delmia软件processsimulation方法将进行仿真,还原仿真过程。
31.本发明以数控代码还原仿真过程的方法,摆脱了自动钻铆专用离线编程软件的依赖,具有益效果为:
32.(1)可将数控代码还原仿真过程,将数控代码的投入生产前的再次检查验证,保证了程序代码的可行性和准确性;
33.(2)脱离专用离线编程软件的仿真模块,将编程工作和仿真工作可以同时处理,提高了离线编程的工作效率。
附图说明
34.图1为本发明流程架构图。
具体实施方式
35.以下结合附图和技术方案,进一步说明本发明的具体实施方式。
36.如图1所示,在本实施例中,自动钻铆以数控代码还原仿真过程的方法,包括下述实现步骤:
37.1)使用delmia软件movejointsact方法,建立初始5轴托架运动项m0、6轴执行器运动项n0,并将所有轴坐标设置为初始值。
38.2)使用c#语言内textreader方法读取程序文件内的文本信息,进而将文本信息读
入string对象s(方法a)。
39.3)将文本信息读取并判断处理(方法b),建立包含运动类型、坐标值的数据库r,具体方法如下:
40.①
在数据库r内新建一条数据值v1,运动类型值“m”,5轴数据皆为“0”;
41.②
在数据库r内新建一条数据值v2,运动类型值“n”,6轴数据皆为“0”;
42.③
在文本对象s内选出第一条代码内容p;
43.④
使用c#的contains方法判断p是否包括运动值,若不包括运动值,则在s内删除p,否则使用c#的contains方法来区分托架运动和执行器运动,若是托架运动,执行步骤

,若是执行器运动,则执行步骤


44.⑤
在数据库r内选出托架类最后的运动数据v1,读取v1内的5轴数据,使用split方法读取p内5轴数据,然后计算差异值,若无差异值,则在s内删除p,若有差异值,则在数据库r内新建一条数据值v2,运动类型为“m”,并将p内的5轴数据记录至v2,然后在s内删除p;
45.⑥
在数据库r内选出执行器类最后的运动数据v1,读取v1内的6轴数据,使用split方法读取p内6轴数据,然后计算差异值,若无差异值,则在s内删除p,若有差异值,则在数据库r内新建一条数据值v2,运动类型为“n”,并将p内的5轴数据记录至v2,然后在s内删除p;
46.⑦
重复执行步骤

~步骤

,直至文本对象s内无数据,数据库r记录完成。
47.4)使用delmia软件movejointsact方法建立仿真事件a,按数据库r,逐条将m0,n0运动项复制至a,并设置各轴数据,具体方法c如下:
48.①
在数据库r读取第一条数据值v1;
49.②
读取v1内的运动类型值,若为“m”执行步骤

,若为“n”则执行步骤


50.③
使用copy方法将m0复制至a最后处,并将v1内5轴数据值设置到m0内,然后在数据库r内删除v1;
51.④
将n0复制至a最后处,并将v1内6轴数据值设置到n0内,然后在数据库r内删除v1;
52.⑤
重复执行步骤

~步骤

,直至数据库r内无数据,仿真事件设置完成。
53.5)使用delmia软件createlink方法将所有仿真事件a连接,以实现运动连续。
54.6)使用delmia软件processsimulation方法将a进行仿真,还原仿真过程完成。
55.以上所述实施例仅表达本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。

技术特征:
1.一种自动钻铆以数控代码还原仿真过程的方法,其特征在于,包括以下步骤:第一步,在delmia中建立初始5轴托架运动项m0、6轴执行器运动项n0,并将所有轴坐标设置为初始值;第二步,读取程序文件内的文本信息,进而将文本信息读入string对象s;第三步,将文本信息读取并判断处理,建立包含运动类型、坐标值的数据库r,具体方法如下:

在数据库r内新建一条数据值v1,运动类型值“m”,5轴数据皆为“0”;

在数据库r内新建一条数据值v2,运动类型值“n”,6轴数据皆为“0”;

在文本对象s内选出第一条代码内容p;

判断p是否包括运动值,若不包括运动值,则在s内删除p,否则进一步区分是托架运动还是执行器运动,若是托架运动,执行步骤

,若是执行器运动,则执行步骤



在数据库r内选出托架类最后的运动数据v1,读取v1内的5轴数据,读取p内5轴数据,然后计算差异值,若无差异值,则在s内删除p,若有差异值,则在数据库r内新建一条数据值v2,运动类型为“m”,并将p内的5轴数据记录至v2,然后在s内删除p;

在数据库r内选出执行器类最后的运动数据v1,读取v1内的6轴数据,读取p内6轴数据,然后计算差异值,若无差异值,则在s内删除p,若有差异值,则在数据库r内新建一条数据值v2,运动类型为“n”,并将p内的5轴数据记录至v2,然后在s内删除p;

重复执行步骤

~步骤

,直至文本对象s内无数据,数据库r记录完成;第四步,建立仿真事件a,按数据库r,逐条将m0,n0运动项复制至a,并设置各轴数据,具体方法c如下:

在数据库r读取第一条数据值v1;

读取v1内的运动类型值,若为“m”执行步骤

,若为“n”则执行步骤



将m0复制至a最后处,并将v1内5轴数据值设置到m0内,然后在数据库r内删除v1;

将n0复制至a最后处,并将v1内6轴数据值设置到n0内,然后在数据库r内删除v1;

重复执行步骤

~步骤

,直至数据库r内无数据,仿真事件设置完成;第五步,将所有仿真事件a连接,以实现运动连续;第六步,将a进行仿真,完成还原仿真过程。

技术总结
一种自动钻铆以数控代码还原仿真过程的方法,首先,在DELMIA中建立自动钻铆各轴运动项,并设置初始值,读取程序文件内的文本信息,建立包含运动类型、坐标值的数据库。其次,按数据库,逐条以复制的方式建立仿真事件,并设置各轴坐标值,将所有仿真事件连接,以实现运动连续。最后,在DELMIA中进行仿真,还原仿真过程。本发明以数控代码还原仿真过程的方法,能够摆脱自动钻铆专用离线编程软件的依赖:1)可将数控代码还原仿真过程,将数控代码的投入生产前的再次检查验证,保证可行性和准确性;2)脱离专用离线编程软件的仿真模块,提高离线编程的工作效率。程的工作效率。程的工作效率。


技术研发人员:于明洋 刘敏 赵纯颖 王宏伟 马良
受保护的技术使用者:中航沈飞民用飞机有限责任公司
技术研发日:2022.07.19
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-6779.html

最新回复(0)