一种STEP文件等效的二进制数据存储方法技术

技术编号:19023283 阅读:55 留言:0更新日期:2018-09-26 19:02
一种STEP文件等效的二进制数据存储方法。一个实体由32位有符号数组表示,数组的第一个数包含有实体类型和数组长度的信息,参考ISO 14649标准,每一种实体的数组格式是固定的,即可以根据实体类型明确后面的数据的类型和含义;字符串和数组长度可变参数在参数位置只保存大小和存储地址偏移量,实际的数组和字符串被放置在实体参数后面,预留附加空参数存储空间,便于扩展和修改属性;实体数组起始位置为实体的地址;这个实体数组的末尾之后的第一个数据为下一实体的开头。应用本发明专利技术实施例,提高STEP文件的执行效率。

【技术实现步骤摘要】
一种STEP文件等效的二进制数据存储方法
本专利技术涉及文件转化
,尤其涉及一种STEP文件转化为二进制数据结构的方法。
技术介绍
STEP-NC是一个面向对象的新型NC编程数据接口国际标准ISO14649。随着数控技术的迅猛发展,NC加工中所采用的编程方式还是基于19世纪60年代所开发的ISO6983(G/M代码)标准,这种代码仅仅包括一些简单的运动指令(如G01、G02)和辅助指令(如M03、M08),而不包含零件几何形状、刀具路径生成、刀具选择等信息,使得CNC与CAD/CAM通道之间形成瓶颈。数控加工中编程困难、设计与加工等信息不能完全共享的问题限制了数控系统的进一步发展,使其面临新的变革。为了解决这些问题,欧共体于1997年提出了OPTIMAL计划,将STEP(StandardfortheExchangeofProductmodeldate,ISO10303)标准延伸到自动化制造的底层设备,开发了一种STEP-NC的数据模型,作为铣削加工编程的数据接口。该接口遵从STEP标准,具有面向对象的特征。STEP-NC将产品模型数据转换标准STEP扩展到CNC领域,重新制订了CAD/CAM与CNC之间的接口,它要求CNC系统直接使用符合STEP标准的CAD三维数据模型(包括工件几何数据、参数配置和制造特征)、工艺信息和刀具信息直接产生加工程序。然而STEP文件,基于EXPRESS语言,是一种文本格式的文件,便于人的阅读修改。但数控系统执行解析STEP文件时,必须根据EXPRESS语言和STEP规范将文件包含的元素解析成对象体,造成执行效率低下的问题。国内文献“基于XML的STEP—NC程序解释器的设计与实现”将文件解析成xml数据库格式。但是这种方案,造成了复杂性,而且依然没有摆脱文本数据格式,执行效率一样低下。
技术实现思路
针对现有技术的问题,本专利技术提供了一种STEP文件转化为二进制数据结构的方法,旨在提高存储文件的执行效率。为解决上述问题,本专利技术提供的技术方案为:所述存储方法遵循以下规范:1)一个实体由数组表示,数组的第一个数包含有实体类型和数组长度的信息,随后为参数段与数组段,参考ISO14649标准,根据实体类型明确后面的数据的类型和含义;2)字符串和数组长度可变参数在参数位置只保存大小和存储地址偏移量,实际的数组和字符串被放置在实体参数段后面;3)实体数组起始位置为实体的地址;4)这个实体数组的末尾之后的第一个数据为下一实体的开头;所述数据存储方法包括步骤:1)解析出实体,将实体存储于数组中,参数访问地址待定;2)在解析实体的时候,将参数访问地址存储于地址列表之中;3)根据参数访问地址列表,填充实体数组中待定的参数访问地址。优选的,预留扩展参数存储空间,便于扩展和修改实体属性;应用本专利技术实施例,获取到二进制文件以后,有利于计算机进行执行二进制文件,因此,可以提高STEP文件的执行效率。附图说明图1为本专利技术:以实体笛卡尔坐标点为例,#73=CARTESIAN_POINT(”,(-8.8960606956346,5.24775006834384,56.552652692042));其存储格式的附图;图2为本专利技术:另外一个例子STEP文本为:#38=ADVANCED_FACE('Demo',(#46,#47,#48,#49),#42,.T.);其存储格式的附图。具体实施方式为进一步了解本专利技术的内容,结合附图及实施例对本专利技术作详细描述。本专利技术的数据存储方法包括步骤:1)解析出实体,将实体存储于数组中,参数访问地址待定;2)在解析实体的时候,将参数访问地址存储于地址列表之中;3)根据参数访问地址列表,填充实体数组中待定的参数访问地址。本专利技术所述存储方法遵循以下规范:1)一个实体由数组表示,数组的第一个数包含有实体类型和数组长度的信息,参考ISO14649标准,根据实体类型明确后面的数据的类型和含义;2)字符串和数组长度可变参数在参数位置只保存大小和存储地址偏移量,实际的数组和字符串被放置在实体参数段后面,预留附加空参数存储空间,便于扩展和修改属性;3)实体数组起始位置为实体的地址;4)这个实体数组的末尾之后的第一个数据为下一实体的开头;实体在STEP文件的中的特征是“#id=”,根据这个特征可解析出实体。实体按先后顺序存储于数组中,所述数组在本实施例中为32位无符号数数组。本专利技术的一种实施例中,以实体笛卡尔坐标点为例,#73=CARTESIAN_POINT(”,(-8.8960606956346,5.24775006834384,56.552652692042));其存储格式说明书附图1所示。根据STEP文件遵循的规范,CARTESIAN_POINT的格式为指令-字符串-长度为3的浮点数组。若存储#73实体数组的起始位置为100,则#73的地址为100,其它实体访问它的时候,直接使用地址100。将参数#73访问地址100存储于一个地址列表之中,格式为{73,100}。实体末尾的下一个数即#74的起始位置。存储的数组为32位无符号数,即4字节。在这个实施例中,CARTESIAN_POINT的代码为86,放在第一字节,长度两字节为0006,放在第3-4字节。这时,地址100的数据为(16进制)00060086。浮点数的存储方法是,取要写入的位置的地址指针,将此指针强制转换为浮点数指针,然后写入用此指针写入浮点数。读取时,用指针转化的方法读取浮点数。对于实体的数组或者字符串参数,在存储参数的位置,我们存储数组或者字符串参数在实体数组中的偏移位置,而实际的参数放置在实体参数段之后。此实例中100位置存储实体头,101-102存储参数,103-105存储数组数据。如此实例中第一参数偏移为2,而长度为0,因此数组101的值为(16进制)00000002{长度,偏移}。对于第二参数数组,偏移为1,因此102的值为(16进制)00030001。另外一个例子STEP文本为:#38=ADVANCED_FACE('Demo',(#46,#47,#48,#49),#42,.T.);其存储格式,如说明书附图2。根据STEP文件遵循的规范,ADVANCED_FACE的格式为指令-字符串-实体FACE_BOUND组-曲面实体-拓扑属性TRUE/FALSE。若存储#73实体数组的起始位置为100,则#73的地址为100,其它实体访问它的时候,直接使用地址100。此时将参数#73访问地址100存储于一个实体地址列表之中,格式为{73,100}。实体末尾的下一个数即#74的起始位置。存储的数组为32位无符号数,即4字节。在一个实施例中,ADVANCED_FACE的代码为80,放在第一字节,长度两字节为000A,这时,地址100的数据为(16进制)000A0080。对于实体的字符串参数,我们只存储字符串在实体数组中的偏移位置,如此实例中为4,而长度为1(因为一个单元可以存储4个字符),因此101的值为(16进制)00010004。对于实体组,我们采取类似的方法,因此102的值为(16进制)00040003。103存储的是实体#42的地址。104存储值为1。105存储字符串“Demo”,106存储实体#46的地址,107-1本文档来自技高网
...

【技术保护点】
1.一种STEP文件等效的二进制数据存储方法,其特征在于,所述存储方法遵循以下规范:1)实体由数组表示,数组的第一个数包含有实体类型和数组长度的信息,随后为参数段与数组段,参考ISO 14649标准,根据实体类型明确后面的数据的类型和含义;2)字符串和数组长度可变的参数在参数位置只保存参数大小和存储地址偏移量,实际的数组和字符串被放置在参数段后面;3)实体数组起始位置为实体的地址;所述数据存储方法包括步骤:1)解析出实体,将实体存储于数组中,参数访问地址待定;2)在解析实体的时候,将参数访问地址存储于地址列表之中;3)根据参数访问地址列表,填充实体数组中待定的参数访问地址。

【技术特征摘要】
1.一种STEP文件等效的二进制数据存储方法,其特征在于,所述存储方法遵循以下规范:1)实体由数组表示,数组的第一个数包含有实体类型和数组长度的信息,随后为参数段与数组段,参考ISO14649标准,根据实体类型明确后面的数据的类型和含义;2)字符串和数组长度可变的参数在参数位置只保存参数大小和存储地址偏移量,实际的数组和字符串被放置...

【专利技术属性】
技术研发人员:胡小春
申请(专利权)人:湖南戈人自动化科技有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1