基本形体的dxf文件格式转换为stl文件格式的方法

文档序号:6620318阅读:1364来源:国知局
基本形体的dxf文件格式转换为stl文件格式的方法
【专利摘要】基本形体的DXF文件格式转换为STL文件格式的方法,其属于文档处理【技术领域】。该方法实现DXF图形交换文件转换成STL文件;利用VC++进行语言编程,读取并显示实体图形的DXF文件内容信息并将其转换为STL文件内容信息;调用OnFileOpen函数打开DXF文件,读取文件内容信息中基本形体的最大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,确定基本形体的几何信息;根据基本形体的几何信息通过调用OnFileTran函数,用三角形对基本形体进行空间分割,求出每个三角形面的顶点坐标,生成以三角形顶点表示的数据信息,并将其写入STL文件。DXF向STL文件格式的转化,缩短产品的设计周期,拓宽软件的使用范围,提高工作效率,节省储存空间。
【专利说明】基本形体的DXF文件格式转换为STL文件格式的方法

【技术领域】
[0001] 本发明涉及一种基本形体的DXF文件格式转换为STL文件格式的方法,其属于文 档处理【技术领域】。

【背景技术】
[0002] 21世纪是信息高度发达、科学技术不断更新的新时代。CAD技术已经在多个行业 领域得到了广泛应用,其应用技术的范畴也早已打破图形软件的约束,包括快速原型设计、 参数化设计以及系统的生成等等。特别是近些年来,由文件格式支持的快速成型(Rapid Prototyping,简称RP)技术得到了迅猛发展,备受制造行业的青睐。作为技术集成度高和 生产柔性度好的结合体,快速成型技术与CAD技术紧密相连,快速发展。美国奥巴马总统在 2012年3月9日提出发展美国振兴制造业计划,并启动首个"增材制造"项目,即快速成型 项目(研制过程中信息的传递主要采用STL文件格式),这标志着快速成型技术将作为国家 制造业发展的首要战略并予以政府支持。
[0003] 各种新技术的发展,当然离不开文件数据的处理。一般来说,所有快速成型和数 控材料的去除过程均需要从CAD系统中提取数据信息。关于AutoCAD图形文件的研究应 用,如数据读取、图形显示及文件管理等内容,已经引起了世界各国的高度重视,国外专家 学者们也作出了巨大的贡献,取得了优异的科研成果。Ferreira.JoseCarvalho通过计算 机辅助工程(CAE)开发了一个集成的CAD/RP/有限元分析系统,用以改进压铸制造工艺,协 助减少压铸件的设计时间和优化升级压铸件的制造工艺参数,从而支持CAD/RP/FEA技术 和NC控制。Hur.S-M等人采用delaunay三角剖分方法,以三角形的角度、三角形减少速率 以及容许区域作为依据来构建三角形数据结构,对逆向工程(ReserveEngineering,简称 RE)中STL文件数据进行轻量化处理,减少了经过3D激光扫描仪所测得的数据量,大大节 省了在建模过程中点数据的处理时间,加速了STL文件的模型切片进程。Rahmati.Sadegh 等人把工作重点放在了 3D打印模型的精度、表层以及颜色质量方面,所创建的模型表层厚 度在25_150um之间,使工作看起来像是重新参数化设计3D打印机。Hayasi.MohamadT等 人通过求交算法对DXF文件模型的特征图素进行提取,将特征信息转化成制造信息,再通 过制造信息的识别,为RP和CNC生成加工路线代码,为计算机辅助工艺规划提供数据库 支持。EmadS.AbouelNasr等人也提出了依据制造特征从CAD系统读取图形元素的方法, Navangul.Gaurav等人提出了分层制造中基于STL文件坐标转换算法等等,上述研究均直 接或间接地使得DXF、STL文件格式成为最为受用的图形存储格式。Sakao.Tomohiko指出了 CAD系统模型设计在S/PE,S卩服务/产品工程中的应用与未来发展趋势。由于快速成型技 术对于CAD模型的处理要求严格,特别是对于表面建模的CAD模型,其表面模型的拓扑信息 的缺失总是会导致其与RP接口对接困难等问题。为此,Meier.IngoR等人提出了一种用于 建立模型拓扑结构的新算法,经过这种算法处理后的拓扑模型满足STL文件自身顶点到顶 点的条件限制,缓解了上述接口对接困难的问题。Galantucci.LM等人利用有效容积的方 法从3D扫描的产品中输出STL文件,从而为逆向工程和快速成型提供技术支撑。Sukimin 等人基于DXF文件格式分析,对DXF文件进行自动提取几何模型操作,最终实现模型的真实 感显示。在建筑CAD领域,日本学者在3D设计方面率先使用STL文件模型,并随后研发了 完整的建筑设计CAD/CAM系统软件,使3D打印技术与计算机辅助设计CAD捆绑起来,共同 作用。
[0004] STL文件格式支持的3D打印技术在航空领域也得到了广泛应用。美国的波音公司 已经能够利用三维打印技术制造大约300种不同的飞机零部件,包括将冷空气导入电子设 备的形状复杂导管,目前波音公司正在研究利用3D打印技术打印出机翼等更大型的产品。 欧洲空客航空公司在这方面也有所作为,空客在A380客舱里使用3D打印的行李架,在"台 风"战斗机中也使用了 3D打印的空调系统。空客公司最近又提出了"透明飞机概念"计划, 制定了一张"路线图",即从打印飞机的小部件开始,一步一步发展,最终在2050年左右用 3D打印机打印出整架飞机。
[0005] DXF文件是目前流行的CAD系统软件提供的一种通用的图形交换文件格式。其中, AutoCAD所有的图形文件都是通过数据库来管理的,但是这些数据库是以压缩数据格式存 储的,用高级语言程序直接获取其中的信息是极为复杂的。为此,若对AutoCAD进行二次开 发,常常读取DXF文件。
[0006] 按通常DXF文件存储图形的规则,DXF文件中的三维图形信息也应该是存储在实 体节内。但是当打开一个包含三维图形信息的DXF文件时,发现了大量的密码信息。因此, 只有间接的从其它部分进行读取。进一步分析文件其他部分格式,可以发现在标题节中有 一组组码包含有一些有用的信息。它们是用来表示图形扩展范围的最大、最小坐标变量 $EXTMAX与$EXTMIN。每个变量后分别以 10,20,30 来引导图形中的图形扩展坐标X,y,Z。 因此,只要读取xmin、ymin、zmin、xmax、ymax与zmax值,即可确定要转换的实体的全部几 何信息。


【发明内容】

[0007] 鉴于已有技术存在的缺陷,本发明的目的是提供一种基本形体的DXF文件格式转 换为STL文件格式的方法,通过对DXF与STL两种文件格式进行深入分析,利用VC++进行 语言编程,能够读取并显示基本形体的DXF文件内容信息并能将它们转化为对应的STL文 件,为CAD/CAM的发展提供新的技术支持。
[0008] 为实现上述目的,本发明通过以下技术方案来实现的:
[0009] 该方法实现DXF图形交换文件转换成STL文件;利用VC++进行语言编程,读取并 显示实体图形的DXF文件内容信息并将其转换为STL文件内容信息;DXF文件的实体图形 信息存储在实体段内,DXF文件的标题段内存在表示实体图形扩展范围的最大坐标变量与 最小坐标变量;调用OnFileOpen函数打开DXF文件,读取文件内容信息中基本形体的最大 坐标值xmax,ymax, zmax与最小坐标值xmin,ymin,zmin,确定基本形体的几何信息;STL模 型的数据由三角形面片的法向量与三角形面片的3个顶点坐标构成,STL文件记载了构成 基本形体的所有三角形面片的法向量和顶点坐标数据信息;根据基本形体的几何信息通过 调用OnFileTran函数,判断switch (what)中what的值,根据what的值调用相应的函数进 行数据处理,用三角形对基本形体进行空间分割,求出每个三角形面的顶点坐标,生成以三 角形顶点表示的数据信息,并将其写入STL文件。
[0010] 基本形体为圆柱体,switch(what)中what的值为3,读取文件内容信息中圆柱体 最大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,令圆柱体的圆周切分密度N, 则圆柱体的半径求得三角形顶点坐标为:

【权利要求】
1. 基本形体的DXF文件格式转换为STL文件格式的方法,其特征在于:该方法实现 DXF图形交换文件转换成STL文件;读取并显示实体图形的DXF文件内容信息并将其转换 为STL文件内容信息;DXF文件的实体图形信息存储在实体段内,DXF文件的标题段内存在 表示实体图形扩展范围的最大坐标变量与最小坐标变量;调用OnFileOpen函数打开DXF 文件,读取文件内容信息中基本形体的最大坐标值xmax,ymax,zmax与最小坐标值xmin, ymin,zmin,确定基本形体的几何信息;STL模型的数据由三角形面片的法向量与三角形面 片的3个顶点坐标构成,STL文件记载了构成基本形体的所有三角形面片的法向量和顶点 坐标数据信息;根据基本形体的几何信息通过调用OnFileTran函数,判断switch(what)中 what的值,根据what的值调用相应的函数进行数据处理,用三角形对基本形体进行空间分 害I],求出每个三角形面的顶点坐标,生成以三角形顶点表示的数据信息,并将其写入STL文 件。
2. 根据权利要求1所述的基本形体的DXF文件格式转换为STL文件格式的方法,其特 征在于:所述基本形体为圆柱体,switch(what)中what的值为3,读取文件内容信息中圆柱 体最大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,令圆柱体的圆周切分密度 N,则圆柱体的半径:求得三角形顶点坐标为:
生成STL文件时,分为两部分输出,输出顶点顺序为: ① 上、下底面:上中心点一点i(上)一点i+Ι(上) 下中心点一点i+Ι(下)一点i(下) ② 侧面:点i(上)一点i(下)一点i+Ι(下) 点i(上)一点i+Ι(下)一点i+Ι(上)。
3. 根据权利要求1所述的基本形体的DXF文件格式转换为STL文件格式的方法,其特 征在于:所述基本形体为球体,switch(what)中what的值为5,读取文件内容信息中球体最 大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,令两个方向上的切割密度M、N, 其中M为纵向切割密度,对应j值变化;N为横向切割密度,对应i值变化;求得球体球心坐 标(ex,cy,cz)为:
根据空间几何关系,得到球体面顶点坐标算法为: rt:-:=rxsin(^· X -); + '. N X;::.i=rt::xsin(2^x-^-)+cx; ... M y:;i;j:=rt ;:x si n (2/Tx) +cy; M 7,:,^i-=Txcos{πx-) +cz; ''… M 生成STL文件时,分为两部分输出,输出顶点顺序为: 上下顶点周围的面: 上顶点一点[i][j]-点[i][j+l] 下顶点一点[i-1] [j+1]-点[i-1] [j] 其它面: 点[i] [j]-点[i+1] [j]-点[i+1] [j+1] 点[i] [j]-点[i+1] [j+1]-点[i] [j+1]。
4.根据权利要求I所述的基本形体的DXF文件格式转换为STL文件格式的方法,其特 征在于:所述基本形体为圆环体,switch(what)中what的值为6,读取文件内容信息中圆环 体最大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,令两个方向上的切割密度 M、N,其中M为纵向切割密度,对应j值变化;N为横向切割密度,对应i值变化,求得环心坐 标(ex,cy,cz)为:
环半径r= (xmax_xmin)/2,切割圆半径b= (zmax_zmin)/2,扫描圆半径rT=r_b; 根据空间几何关系,得到顶点坐标算法为:
生成STL文件时,输出顶点顺序为: 点i,j-点i+1,j-点i,j+1 点i,j+1 -点i+1,j-点i+1,j+1。
5. 根据权利要求1所述的基本形体的DXF文件格式转换为STL文件格式的方法,其特 征在于:所述基本形体为圆锥体,switch(what)中what的值为4,读取文件内容信息中圆锥 体最大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,令圆锥体的圆周切分密度 N,则圆锥体的半径:令求得环心坐标(cx,cy,cz)为:
根据空间几何关系,得到顶点坐标算法为: x:i:=rxsin(2^· x-^-)+cx; ' N y⑴=r x cos (2苁x-)+cyjN 生成STL文件时,输出顶点顺序为: 侧面:上顶点一点i(下)一点i+Ι(下) 上顶点一点i+Ι(下)一点i+2 (下) 底面:点i(下)一下中心点一点i+Ι(下) 点i+Ι(下)一下中心点一点i+2(下)。
6. 根据权利要求1所述的基本形体的DXF文件格式转换为STL文件格式的方法,其特 征在于:所述基本形体为长方体,switch(what)中what的值为1,读取文件内容信息中长方 体最大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,其中心点坐标(ex,cy,cz) 为:
其各边的一半边长值(lx,ly,lz)为:
I一Zfl/17Ι±ΜμVH去向里!与顶点值, 生成STL文件时,输出顶点顺序为: 点1 -点2 -点3,点1 -点3 -点5。
7. 根据权利要求1所述的基本形体的DXF文件格式转换为STL文件格式的方法,其特 征在于:所述基本形体为楔体,switch(what)中what的值为2,读取文件内容信息中楔体最 大坐标值xmax,ymax,zmax与最小坐标值xmin,ymin,zmin,其中心点坐标(cx,cy,cz)为:
其各边的一半边长值(lx,ly,lz)为:
求得8个三角形面的法向量与顶点值, 生成STL文件时,输出顶点顺序为: 点1 -点2 -点4,点1 -点4 -点3。
【文档编号】G06F17/30GK104239400SQ201410339375
【公开日】2014年12月24日 申请日期:2014年7月16日 优先权日:2014年7月16日
【发明者】张滢, 石鑫, 庞凯民, 赵文杰 申请人:沈阳航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1