《基于二维DXF文件格式的零件三维真实感显示方法.pdf》由会员分享,可在线阅读,更多相关《基于二维DXF文件格式的零件三维真实感显示方法.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103761376 A (43)申请公布日 2014.04.30 CN 103761376 A (21)申请号 201410013304.1 (22)申请日 2014.01.10 G06F 17/50(2006.01) G06T 19/00(2011.01) (71)申请人 沈阳航空航天大学 地址 110136 辽宁省沈阳市道义经济开发区 道义南大街 37 号 (72)发明人 张滢 (74)专利代理机构 沈阳火炬专利事务所 ( 普通 合伙 ) 21228 代理人 李福义 (54) 发明名称 基于二维 DXF 文件格式的零件三维真实感显 示方法 (57) 摘要 本发明属。
2、于图像处理技术领域, 具体涉及一 种基于二维 DXF 文件格式的零件三维真实感显示 方法。具体步骤如下 : 步骤 1 : 读取 DXF 文件格式 中母线和轴线的数据 ; 步骤 2 : 利用步骤 1 中读取 的数据构造旋转曲面 ; 步骤 2.1 : 利用圆弧切割算 法计算出圆弧的圆心坐标 : 步骤 2.2 : 利用旋转成 形算法计算旋转曲面的坐标 : 步骤 2.2.1 : 对已知 曲线进行横向切割 ; 步骤 2.2.2 : 对横向切割所得 的点进行纵向切割 : 步骤 3 : 利用法向矢量算法的 进行光照效果处理 ; 步骤 4 : 利用 OpenGL 功能函 数对三维实体进行显示。最终实现零件三维。
3、真实 感显示。 (51)Int.Cl. 权利要求书 2 页 说明书 5 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图3页 (10)申请公布号 CN 103761376 A CN 103761376 A 1/2 页 2 1. 基于二维 DXF 文件格式的零件三维真实感显示方法, 其特征在于 : 具体步骤如下 : 步骤 1 : 读取 DXF 文件格式中母线和轴线的数据 ; 步骤 2 : 利用步骤 1 中读取的数据构造旋转曲面 ; 步骤 2.1 : 利用圆弧切割算法计算出圆弧的圆心坐标 : 步骤 2.2 : 利用旋转成形算法计算旋转曲。
4、面的坐标 : 步骤 2.2.1 : 对已知曲线进行横向切割 : 步骤 2.2.2 : 对横向切割所得的点进行纵向切割 : 步骤 3 : 利用法向矢量算法的进行光照效果处理 ; 步骤 4 : 利用 OpenGL 功能函数对三维实体进行显示。 2. 根据权利要求 1 所述的基于二维 DXF 文件格式的零件三维真实感显示方法, 其特征 在于 : 所述的步骤 1 中, 用 AutoCAD 所提供的多义线来描述母线, 同时通过设置线型来识别 轴线, 在实体节中, LINE 和 LWPOLYLINE 中分别存有轴线和母线的信息, 在读取数据过程中, 可以根据组码 0 和组码 6 的值来搜索线型为中心线的轴。
5、线, 然后按照文件格式依次读取轴 线的起始点坐标 ; 对于多义线, 首先根据子类标记值搜索作为母线的多义线, 然后按照文件 格式依次读取多义线所有顶点坐标值。 3. 根据权利要求 1 所述的基于二维 DXF 文件格式的零件三维真实感显示方法, 其特征 在于 : 所述的步骤 2.1 的计算出圆弧的圆心坐标 (xo, yo) 的具体过程如下 : 令 由拱度的定义可知所以 h l*bow 由图中三角关系可得 : r2-l2 (r-h)2 即圆弧半径 令 则弧线圆心坐标为 : 式中 : 设 (a, b) 为起点坐标, (c, d) 为终点坐标, l 为 (a, b) 与 (c, d) 构成的弦的长度,。
6、 bow 为拱度, h 为弦高, 为 l 对应的圆心角。 4. 根据权利要求 1 所述的基于二维 DXF 文件格式的零件三维真实感显示方法, 其特征 在于 : 所述的步骤 2.2.1 具体切割过程如下 : 在母线上逐段均匀地提取若干个点, 并把它们 的坐标存入三个二维数组 x1, j, y1, j, z1, j。 5. 根据权利要求 1 所述的基于二维 DXF 文件格式的零件三维真实感显示方法, 其特征 在于 : 所述的步骤 2.2.2 具体切割过程如下 : 在横向切割完成以后, 对所得的点进行三维旋 权 利 要 求 书 CN 103761376 A 2 2/2 页 3 转, 并对每一个点的旋。
7、转轨迹进行插值点坐标计算 : 由横向切割操作可以得到曲线上的坐 标点数组 x1, j, y1, j, z1, j, 设纵向切割为绕 x 轴作 360的旋转, 为了求出曲线上 的每一点在旋转轨迹上所形成的 n 个点的坐标, 可设旋转步长为 t 2/n, 旋转变换矩阵 为 : 设曲线上的点为 (x, y, z), 则旋转后的坐标为 : x* y* z* x y z*T 即 5、 根据权利要求 1 所述的基于二维 DXF 文件格式的零件三维真实感显示方法, 其特征 在于 : 所述的步骤 3 的具体步骤如下 : 计算法向矢量, 所需条件为三个不共线的点的坐标 值, 它们的排列顺序决定了法向矢量的方向,。
8、 在右手空间坐标系中, 设已知点 A、 B、 C、 的坐标 值分别为 (xA, yA, zA), (xB, yB, zB), (xC, yC, zC), 计算三点构成的平面的法向矢量, 其算法如 下 : 首先求出矢量和利用空间解析几何的方法, 平面法矢量的空间描述为 其中 将平面法矢量空间描述的矩阵形式展开, 可以得到其数学表达式为 : (yACzBC-zACyBC) i+(zACxBC-zBCxAC)j+(xACyBC-xBCyAC)k。 权 利 要 求 书 CN 103761376 A 3 1/5 页 4 基于二维 DXF 文件格式的零件三维真实感显示方法 技术领域 0001 本发明属于图。
9、像处理技术领域, 具体涉及一种基于二维 DXF 文件格式的零件三维 真实感显示方法。 背景技术 0002 在实际工程零件的设计和制造中, 经车削和镗削加工而成的回转体类型零件占有 很大的比重。 在计算机辅助车削加工系统中, 主要的工作均是围绕这一类零件进行的。 这一 类图形常常是由AutoCAD绘制的二维图形, 我们不便于观察其三维立体结构。 AutoCAD默认 的文件格式是 DWG 格式, 这种格式 AutoCAD 公司对外是不公开的, 我们无法对其进行处理。 0003 计算机图形学是近年来发展迅速、 应用广泛的新兴学科。 它主要研究图形输入、 表 示、 变换、 真实感绘制技术、 运算和输入。
10、图形的原理、 算法及系统。 计算机图形学的最新研究 成果在机械 CAD/CAM 领域中也得到了广泛应用。工程技术人员完成机械零件的设计后, 往 往希望马上看到零件的立体效果图, 对其结构产生直观、 感性的认识, 以利于评价产品的结 构、 设计是否合理。这就需要利用计算机图形学的知识进行真实感图形显示。但在目前所 广泛使用的 CAD/CAM 系统软件中, 真实感图形显示功能仅被一些大型软件作为功能模块之 一得以应用, 而能够独立运行的实用真实感显示软件还较为少见。 0004 真实感图形显示技术的产生可以追溯到 60 年代中期, 随着计算机技术与图形学 的发展以及光栅显示器的出现, 加上包括显示存。
11、储器在内的各种计算机硬件性能的大幅度 提高, 使得需要海量高速存储器的真实感图形的生成成为可能。 目前, 真实感图形显示技术 已广泛应用于 CAD/CAM、 虚拟制造、 模拟训练、 数控仿真等领域中。 0005 在实际工程零件的设计和制造中, 经车削和镗削加工而成的回转体类型零件占有 很大的比重。 在计算机辅助车削加工系统中, 主要的工作均是围绕这一类零件进行的。 这一 类图形常常是由AutoCAD绘制的二维图形, 我们不便于观察其三维立体结构。 AutoCAD默认 的文件格式是 DWG 格式, 这种格式 AutoCAD 公司对外是不公开的, 我们无法对其进行处理。 发明内容 0006 针对现。
12、有技术存在的不足, 本发明提供一种基于二维 DXF 文件格式的零件三维真 实感显示方法。 0007 本发明采取按如下步骤进行 : 基于二维 DXF 文件格式的零件三维真实感显示方 法, 具体 0008 步骤如下 : 0009 步骤 1 : 读取 DXF 文件格式中母线和轴线的数据 ; 回转体零件图形构造, 实际上就 是已 0010 知轴线和母线, 构造相应的旋转曲面。 0011 步骤 2 : 利用步骤 1 中读取的数据构造旋转曲面 ; 0012 步骤 2.1 : 利用圆弧切割算法计算出圆弧的圆心坐标 : 说 明 书 CN 103761376 A 4 2/5 页 5 0013 步骤 2.2 : 。
13、利用旋转成形算法计算旋转曲面的坐标 : 0014 步骤 2.2.1 : 对已知曲线进行横向切割 : 0015 步骤 2.2.2 : 对横向切割所得的点进行纵向切割 : 0016 步骤 3 : 利用法向矢量算法的进行光照效果处理 ; 0017 步骤 4 : 利用 OpenGL 功能函数对三维实体进行显示。 0018 所述的步骤1中, 用AutoCAD所提供的多义线来描述母线, 同时通过设置线型来识 别轴线, 在实体节中, LINE 和 LWPOLYLINE 中分别存有轴线和母线的信息, 在读取数据过程 中, 可以根据组码0和组码6的值来搜索线型为中心线的轴线, 然后按照文件格式依次读取 轴线的起。
14、始点坐标 ; 对于多义线, 首先根据子类标记值搜索作为母线的多义线, 然后按照文 件格式依次读取多义线所有顶点坐标值。经过以上分析和处理, 可以将旋转成形所需的数 据读入程序, 以便于进行下一步数据操作。 0019 所述的步骤 2.1 的计算出圆弧的圆心坐标 (xo, yo) 的具体过程如下 : 0020 令 0021 由拱度的定义可知所以 h l*bow 0022 由图中三角关系可得 : r2-l2 (r-h)2 0023 即圆弧半径 0024 令 0025 则弧线圆心坐标为 : 0026 0027 式中 : 设 (a, b) 为起点坐标, (c, d) 为终点坐标, l 为 (a, b) 。
15、与 (c, d) 构成的弦的 长度, bow 为拱度, h 为弦高, 为 l 对应的圆心角。所述的步骤 2.2.1 具体切割过程如下 : 在母线上逐段均匀地提取若干个点, 并把它们的坐标存入三个二维数组 x1, j, y1, j, z1, j。 所取的点数在程序中由横向切割密度控制, 横向切割密度越高, 所生成立体图形母 线越接近于原母线。 0028 所述的步骤 2.2.2 具体切割过程如下 : 在横向切割完成以后, 对所得的点进行三 维旋转, 并对每一个点的旋转轨迹进行插值点坐标计算, 插值点的数目由纵向切割密度控 制。纵向切割密度越高, 所生成立体图形横截面越光滑, 但同样也会导致数据量增。
16、多。由横 向切割操作可以得到曲线上的坐标点数组 x1, j, y1, j, z1, j, 设纵向切割为绕 x 轴 作 360的旋转, 为了求出曲线上的每一点在旋转轨迹上所形成的 n 个点的坐标, 可设旋转 步长为 t 2/n, 旋转变换矩阵为 : 说 明 书 CN 103761376 A 5 3/5 页 6 0029 0030 设曲线上的点为 (x, y, z), 则旋转后的坐标为 : 0031 x* y* z* x y z*T 0032 即 0033 所述的步骤 3 的具体步骤如下 : 计算法向矢量, 所需条件为三个不共线的点的坐 标值, 它们的排列顺序决定了法向矢量的方向, 在右手空间坐标。
17、系中, 设已知点 A、 B、 C、 的坐 标值分别为 (xA, yA, zA), (xB, yB, zB), (xC, yC, zC), 计算三点构成的平面的法向矢量, 其算法 如下 : 0034 首先求出矢量和利用空间解析几何的方法, 平面法矢量的空间描述为 0035 其中 0036 将 平 面 法 矢 量 空 间 描 述 的 矩 阵 形 式 展 开, 可 以 得 到 其 数 学 表 达 式 为 : (yACzBC-zACyBC)i+(zACxBC-zBCxAC)j+(xACyBC-xBCyAC)k。 0037 本 发 明 的 优 点 为 : 1、由 于 多 种 典 型 三 维 CAD/CA。
18、M 软 件 产 品 (AutoCAD、 Pro-Engineer、 Master CAM、 CATIA、 UG II、 3DSMAX) 都支持 DXF 文件格式, 所以基于这种文 件格式开发的应用程序具有广泛的实用性。 0038 2、 利用对已知曲线进行横向切割和纵向切割来构造旋转曲面, 由切割密度控制所 生成立体图形横截面的光滑度, 从而实现了二维图形数据向三维的转化。 0039 3、 本发明利用真实感图形显示技术选择 OpenGL 作为图形软件包, 实现一个实用 的交互式真实感图形显示, 在本专利用 OpenGL 功能函数对所读取的图形文件主要实现了 以下几种功能 : 视窗初始化, 图形绘。
19、制功能, 坐标变换功能, 光照与材质设置, 图像与纹理操 作功能, 线框图、 面模型、 体模型处理等功能。 从而通过物体材质和光源的设置, 可以较准确 地模拟真实世界的光照效果, 达到三维实体计算机真实感显示的目的。通过增加雾化效果 及纹理贴图, 能够实现实体的一些特殊效果显示。 附图说明 0040 图 1 是本发明的总体流程图 ; 0041 图 2 是圆弧切割示意图 ; 0042 图 3 是纵向切割示意图 ; 0043 图 4 是本发明图形的真实感显示。 说 明 书 CN 103761376 A 6 4/5 页 7 具体实施方式 0044 如图1至图3所示, 本发明采取按如下步骤进行 : 基。
20、于二维DXF文件格式的零件三 维真 0045 实感显示方法, 具体步骤如下 : 0046 步骤 1 : 读取 DXF 文件格式中母线和轴线的数据 ; 回转体零件图形构造, 实际上就 是已知轴线和母线, 构造相应的旋转曲面。 0047 步骤 2 : 利用步骤 1 中读取的数据构造旋转曲面 ; 0048 步骤 2.1 : 利用圆弧切割算法计算出圆弧的圆心坐标 : 0049 步骤 2.2 : 利用旋转成形算法计算旋转曲面的坐标 : 0050 步骤 2.2.1 : 对已知曲线进行横向切割 : 0051 步骤 2.2.2 : 对横向切割所得的点进行纵向切割 : 0052 步骤 3 : 利用法向矢量算法的。
21、进行光照效果处理 ; 0053 步骤 4 : 利用 OpenGL 功能函数对三维实体进行显示。 0054 所述的步骤1中, 用AutoCAD所提供的多义线来描述母线, 同时通过设置线型来识 别轴线, 在实体节中, LINE 和 LWPOLYLINE 中分别存有轴线和母线的信息, 在读取数据过程 中, 可以根据组码0和组码6的值来搜索线型为中心线的轴线, 然后按照文件格式依次读取 轴线的起始点坐标 ; 对于多义线, 首先根据子类标记值搜索作为母线的多义线, 然后按照文 件格式依次读取多义线所有顶点坐标值。经过以上分析和处理, 可以将旋转成形所需的数 据读入程序, 以便于进行下一步数据操作。 00。
22、55 所述的步骤 2.1 的计算出圆弧的圆心坐标 (xo, yo) 的具体过程如下 : 0056 令 0057 由拱度的定义可知所以 h l*bow 0058 由图中三角关系可得 : r2-l2 (r-h)2 0059 即圆弧半径 0060 令 0061 则弧线圆心坐标为 : 0062 0063 式中 : 设 (a, b) 为起点坐标, (c, d) 为终点坐标, l 为 (a, b) 与 (c, d) 构成的弦的 长度, bow 为拱度, h 为弦高, 为 l 对应的圆心角。所述的步骤 2.2.1 具体切割过程如下 : 在母线上逐段均匀地提取若干个点, 并把它们的坐标存入三个二维数组 x1,。
23、 j, y1, j, 说 明 书 CN 103761376 A 7 5/5 页 8 z1, j。 所取的点数在程序中由横向切割密度控制, 横向切割密度越高, 所生成立体图形母 线越接近于原母线。 0064 所述的步骤 2.2.2 具体切割过程如下 : 在横向切割完成以后, 对所得的点进行三 维旋转, 并对每一个点的旋转轨迹进行插值点坐标计算, 插值点的数目由纵向切割密度控 制。纵向切割密度越高, 所生成立体图形横截面越光滑, 但同样也会导致数据量增多。由横 向切割操作可以得到曲线上的坐标点数组 x1, j, y1, j, z1, j, 设纵向切割为绕 x 轴 作 360的旋转, 为了求出曲线上。
24、的每一点在旋转轨迹上所形成的 n 个点的坐标, 可设旋转 步长为 t 2/n, 旋转变换矩阵为 : 0065 0066 设曲线上的点为 (x, y, z), 则旋转后的坐标为 : 0067 x* y* z* x y z*T 0068 即 0069 所述的步骤 3 的具体步骤如下 : 计算法向矢量, 所需条件为三个不共线的点的坐 标值, 它们的排列顺序决定了法向矢量的方向, 在右手空间坐标系中, 设已知点 A、 B、 C、 的坐 标值分别为 (xA, yA, zA), (xB, yB, zB), (xC, yC, zC), 计算三点构成的平面的法向矢量, 其算法 如下 : 0070 首先求出矢量。
25、和利用空间解析几何的方法, 平面法矢量的空间描述为 0071 其中 0072 将 平 面 法 矢 量 空 间 描 述 的 矩 阵 形 式 展 开, 可 以 得 到 其 数 学 表 达 式 为 : (yACzBC-zACyBC)i+(zACxBC-zBCxAC)j+(xACyBC-xBCyAC)k。 0073 如图 4 所示, 本发明利用 OpenGL 功能函数对所读取的图形文件主要实现了以下 几种功能 : 视窗初始化, 图形绘制功能, 坐标变换功能, 光照与材质设置, 图像与纹理操作功 能, 线框图、 面模型、 体模型处理等功能。 从而通过物体材质和光源的设置, 可以较准确地模 拟真实世界的光照效果, 达到三维实体计算机真实感显示的目的。通过增加雾化效果及纹 理贴图, 能够实现实体的一些特殊效果显示。 说 明 书 CN 103761376 A 8 1/3 页 9 图 1 说 明 书 附 图 CN 103761376 A 9 2/3 页 10 图 2 图 3 说 明 书 附 图 CN 103761376 A 10 3/3 页 11 图 4 说 明 书 附 图 CN 103761376 A 11 。