【技术实现步骤摘要】
本专利技术提供一种基于无冗余数据结构的IGES文件读取方法,它涉及一种从初始化图形交换规范(InitialGraphicExchangeSpecification,IGES)文件中读入数据的系统和方法,具体涉及系统的数据结构框架和从IGES文件读入数据的方法。属于计算机辅助设计、计算机图形学和曲线曲面造型
技术介绍
初始化图形交换规范(InitialGraphicExchangeSpecification,IGES)建立了产品定义数据的数字表达和交换的信息结构,支持在计算机辅助设计(ComputerAidedDesign,CAD)、计算机辅助制造(ComputerAidedManufacturing,CAM)和计算机辅助工程(ComputerAidedEngineering,CAE)系统间进行数据交换。IGES文件中数据的基本单位是实体,实体可以分为几何和非几何类型。其中,几何类型实体定义产品的物理形状,包括点、线、面、立体以及类似于结构化实体集合的关系。非几何类型实体规定注释、定义及结构。非几何类型实体也规定实体的属性,诸如颜色和状态、实体间的联系。IGES文件中常用的实体类型包括有理B样条曲线实体、有理B样条曲面实体、边界实体、有界曲面实体、复合曲线实体、参数曲面上的曲线实体、裁剪曲面实体,IGES文件中每个实体都有对应的类型号,上述实体类型分别对应实体号126、128、141、143、102、142、144,运用这些实体类型足以表达任意复杂的几何模型。目前,现有的许多CAD系统和软件在读取IGES文件并显示时,存在数据丢失现象,并且读入数 ...
【技术保护点】
一种基于无冗余数据结构的IGES文件读取方法,其特征在于:该方法包括如下步骤:步骤一、定义一个字符串数组a,用于存储IGES文件中的数据信息;步骤二、从IGES文件向字符串数组a中逐行读入字符串数据;步骤三、判断字符串数组a中前三个字符是否依次为有理B样条曲线实体类型号1、2、6,如果为是,则进行步骤四;如果为否,则进行步骤五;步骤四、读入IGES文件中有理B样条曲线实体的数据信息;接着返回步骤二;步骤五、判断字符串数组a中前三个字符是否依次为有理B样条曲面实体类型号1、2、8,如果是,则进行步骤六;如果否,则进行步骤七;步骤六、读取IGES文件中有理B样条曲面实体的数据信息;接着返回步骤二;步骤七、判断字符串数组a中前三个字符是否依次为边界实体类型号1、4、1,如果是,则进行步骤八;如果否,则进行步骤九;步骤八、读入IGES文件中边界实体的数据信息;接着返回步骤二;步骤九、判断字符串数组a中前三个字符是否依次为有界曲面实体类型号1、4、3,如果是,则进行步骤十;如果否,则进行步骤十一;步骤十、读入IGES文件中有界曲面实体的数据信息;接着返回步骤二;步骤十一、判断字符串数组a中前三个 ...
【技术特征摘要】
1.一种基于无冗余数据结构的IGES文件读取方法,其特征在于:该方法包括如下步骤:步骤一、定义一个字符串数组a,用于存储IGES文件中的数据信息;步骤二、从IGES文件向字符串数组a中逐行读入字符串数据;步骤三、判断字符串数组a中前三个字符是否依次为有理B样条曲线实体类型号1、2、6,如果为是,则进行步骤四;如果为否,则进行步骤五;步骤四、读入IGES文件中有理B样条曲线实体的数据信息;接着返回步骤二;步骤五、判断字符串数组a中前三个字符是否依次为有理B样条曲面实体类型号1、2、8,如果是,则进行步骤六;如果否,则进行步骤七;步骤六、读取IGES文件中有理B样条曲面实体的数据信息;接着返回步骤二;步骤七、判断字符串数组a中前三个字符是否依次为边界实体类型号1、4、1,如果是,则进行步骤八;如果否,则进行步骤九;步骤八、读入IGES文件中边界实体的数据信息;接着返回步骤二;步骤九、判断字符串数组a中前三个字符是否依次为有界曲面实体类型号1、4、3,如果是,则进行步骤十;如果否,则进行步骤十一;步骤十、读入IGES文件中有界曲面实体的数据信息;接着返回步骤二;步骤十一、判断字符串数组a中前三个字符是否依次为复合曲线实体类型号1、0、2,如果是,则进行步骤十二;如果否,则进行步骤十三;步骤十二、读入IGES文件中复合曲线实体信息;接着返回步骤二;步骤十三、判断字符串数组a中前三个字符是否依次为参数曲面上的曲线实体类型号1、4、2,如果是,则进行步骤十四;如果否,则进行步骤十五;步骤十四、读入IGES文件中参数曲面上的曲线实体的数据信息;接着返回步骤二;步骤十五、判断字符串数组a中前三个字符是否依次为裁剪曲面实体类型号1、4、4,如果是,则进行步骤十六;如果否,则进行步骤十七;步骤十六、读入IGES文件中裁剪曲面实体的数据信息;接着返回步骤二;步骤十七、判断文件是否结束?如果是,则该方法结束;如果否,则进行步骤二;通过以上步骤,对IGES文件数据进行筛选,将本系统底层数据结构所包含的数据信息读入,舍去其余的冗余信息,实现IGES文件数据读取的快速性和精确性,解决了现有CAD系统在读取IGES文件并显示时存在的数据丢失缺陷和读入数据与显示速度较慢的不足。2.根据权利要求1所述的一种基于无冗余数据结构的IGES文件读取方法,其特征在于:在步骤二中所述的“从IGES文件向字符串数组a中逐行读入字符串数据”,其作法为调用编程语言中从文件中读入一行字符串数据的库函数,实现逐行读入字符串数据。3.根据权利要求1所述的一种基于无冗余数据结构的IGES文件读取方法,其特征在于:在步骤四中所述的“读入IGES文件中有理B样条曲线实体的数据信息”,其具体实现步骤如下:(4.1)产生一个新的有理B样条曲线实体ArcNurbsCurve类;(4.2)逐个查找a中字符P的位置并读取ArcNurbsCurve类的参数索引数据Parameter_Data;(4.3)读取ArcNurbsCurve类的成员变量n,为有理B样条曲线的控制顶点数减一;(4.4)读取ArcNurbsCurve类的成员变量k,为有理B样条曲线的次数;(4.5)读取ArcNurbsCurve类的容器类型成员变量knot,为有理B样条曲线节点矢量;(4.6)读取ArcNurbsCurve类的容器类型成员变量w,为有理B样条曲线的权因子;(4.7)读取ArcNurbsCurve类的容器类型成员变量controlpoint,为有理B样条曲线的控制顶点坐标。4.根据权利要求1所述的一种基于无冗余数据结构的IGES文件读取方法,其特征在于:在步骤六中所述的“读取IGES文件中有理B样条曲面实体的数据信息”,其具体实现步骤如下:(6.1)产生一个新的有理B样条曲面实体ArcNurbsSurface类;(6.2)逐个查找a中字符P的位置并读取ArcNurbsSurface类的参数索引数据Parameter_Data;(6.3)读取ArcNurbsSurface类的成员变量un,为有理B样条曲面U向的控制顶点数减一;(6.4)读取ArcNurbsSurface类的成员变量vn,为有理B样条曲面V向的控制顶点数减一;(6.5)读取ArcNurbsSurface类的成员变量uk,为有理B样条曲面U向的次数;(6.6)读取ArcNurbsSurface类的成员变量vk,为有理B样条曲面V向的次数;(6.7)读取ArcNurbsSurface类的容器类型成员变量knot_u,为有理B样条曲面U向节点矢量;(6.8)读取ArcNurbs...
【专利技术属性】
技术研发人员:王伟,柏硌,赵罡,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。