|
Cimatron环境下基于NC文件的产品反求 一、引言
$ l2 |# ]* o, D 随着现代设计方法和计算机技术的发展,反求 工程在机械工程领域获得了越来越广泛的应用。反 求工程是以先进产品设备的实物、软件(包括图纸、 程序、技术文件等)或影像(图像、照片等)等作 为研究对象,应用现代设计方法学原理、生产工程 学、材料学和有关专业知识进行系统地分析和研究, 探索掌握其关键技术,进而开发出同类的更为先进 的产品的系统工程技术。
) A6 ^! ?1 d4 c. M& o 目前,反求工程的应用主要集中在实物反求方 面,即借助一定的测量装置,采用特定的测量方法 对实物或模型进行测量,获取其表面特征点的几何 数据,继面利用这些特征点的几何数据在计算机上 推理重构出实物的CAD模型。在实际应用中,会经 常遇到没有零件实物或零件实物局部损坏,需要基 于程序如零件的数控加工NC 代码文件进行产品 CAD模型反求的情况。在这种情况下,如何根据零 件的数控加工NC代码文件快速得到零件的CAD模 型成为一种新的应用需求。本文基于 Cimatron 软 件,利用软件提供的已有功能,讨论了从NC代码 文件到产品CAD模型的反求工程及相关处理方法。 1 \2 l! L% O' M- x0 M. h
二、NC代码文件组成及预处理5 X" R! e3 o3 k6 N: {' j& z% N
NC代码文件作为控制数控机床加工零件的重要技术文件,主要包括了两个方面的信息:6 s @- A% D' f2 Q
1 是数 控机床的控制信息,如刀具的选择和更换等指令、 机床进给速度控制、主轴速度控制、辅助控制等内 容;7 N8 _* d6 C6 q8 ^3 u
2 是和零件加工直接相关的刀具运动位置信息 它最终决定了零件产品的形状。因此,第二部分信 息是反求工程最为关心的内容。通常,零件并不是 一次加工就可以完成的,而是要经过粗加工、半精 加工、精加工等过程,精加工决定了零件的最后形 状,其中给出的控制信息直接决定了零件的几何信 息。因此,我们进行零件反求是基于零件的精加工 数控文件进行的。* Z- u; `0 m% T# r5 B8 F }
通常,一般数控机床的刀具运动有直线、圆弧 条条三种形式,在NC代码文件中分别用G01、G02 和G03三种指令形式来进行描述,并经直线和圆弧 运动最为常见。我们主要考虑这三种运动形式。为 了提高CAD建模精度,在进行反求之前,对NC 进行必要的预处理,根据相邻运动位置的相对关系, 适当增加数据点,进行人工插补处理。因为只关心 产品外形,和实际加工无关,所以只采用简单的等 间距插补即可,间距可以根据CAD建模的精度交互 给出。 % |8 c" \, q/ l& G
& l. S. E9 Y. C- v 三、Cimatron软件对反求工程的支持8 M$ h2 a, h( n, n) M
Camatron具有强大的实体造型和曲面造型功 能,并且支持混合徒造型,为2D/3D产品CAD设计 提供了详尽的支持。 Cimatron在CAM方面结合了 当今先进的加工技术,实现了智能NC(AND)和 基于知识的加工(KBM),并与毛坯残留知识达到 了完美结合。Cimatron的KBM具有为用户提供优 化的刀迹轨迹和产生更加高效的NC代码的能力。 系统可以直接由立体模型去计算准确安全的刀具路 径。具有由两轴半到五轴的铣订、车床、冲床和线 切割等功能,其多样化的加工方式能得到最佳的加 工结果,并备有强大的刀具路径管理功能,可以通 过实体切削模拟来确认刀具路径的可靠度。
( C- j9 F0 [1 Y# T Cimatron 从 9.0 版本提供了反向工程(Re- Enge)模块,利用该模块,可以直接读取现实物体 的几何描述数据,输入Cimatron环境中。从未整理 的数字化文件开始,反向工程能够从点云来生成自 由曲面。强大的工具能把大数目的点云编辑为样条 曲线、网格(Mesh)和曲面(Nurbs),产生光顺的 CAD模型,可用Cimatron的工具包来扩展设计,例 如增加模具的拔模斜度等到,帮助用户快速完成设计 任务。反向工程模块和Cimatron的其他模块是完全 集成的,生成的三 维 曲 线 和 曲 面可以象其他 Cimatron数据库里的实体一样被编辑,并可对曲面 进行NC加工等不同处理,从而可利用最新的NC技 术成果,得到更为有效的加工文件,提高加工的效 率。% K5 S/ c7 z2 U. v
四、NC文件产品反求工程的实施
9 F! K( H2 E2 \/ q. j( y 基于NC代码文件的产品反求主要内容和步骤 如下所述。
' B- a# c! C! t( V6 r; T: i 1.NC代码文件预处理
+ f4 f. b+ X6 t2 o/ M 为了提高CAD建模的效率和精度,对NC清加 工代码文件进行预处理,对其中的G01、G02和G03 指令进行一定的插补处理后,进行下面的处理过程。</P
: H9 v2 D7 B7 H3 ^, q/ K* b7 C
* k ^3 d D. l5 f% g K7 v+ y" L# h, q
2.Cimatron的接口处理0 ~" H- N' I6 e8 G2 h% Q' X# V
ReEnge(反向工程)模块能从多种格式文件里 读取数字化测量数据点生成点云, 这些格式包括 ASCII、G代码和CMM等,用户可以根据自己的特 殊需要定制其他的数据格式,只要填写相应的数据 说明配置文件 CONFLG.XXX ,并将该文件放置在 Re-Enge模块所在路径下的FILTER文件夹即可。 其中, XXX 是包含测量数据的 ASII 文件的扩展 名。这里,我们约定反求的NC代码文件扩展名为 NEU,因此生成配置文件CONFug.NEU,内容如 下所示。
5 X- s5 X7 `* f8 { o3 `
- q! R# R) U8 n8 n# E9 w) l#######################* S$ H1 v; A/ w
## Cimatro反求工程输入文件格式配置文件 ##% c$ Q5 |4 [3 H ]5 k' _. Y& i
########################
# }+ k- w' m. S3 y; E% {SKIPHEAD=0 文件开始即是程度代码, 不需跳行读取
4 \2 b! g' b" b6 M' PINCREMENTAL=NULL没有程序开始标识
" @: N. P: I: R2 u2 ], A5 kNED-S=NULL没有程序结束标识
3 }: ]5 a) U7 hSTART-L=NULL没有程序代码段开始标识
; U+ q$ F) p1 e, D R. uEND-L=0读取每个程序行点坐标从左边第一个字符开始
j) k. D5 k1 U# y9 [1 N" D8 @/ jR-TRIM=0读取每个程序行点坐标到右边最后一个字符结束5 R, j7 }3 J+ R3 i3 a: x4 W
X-COORD=X每个点坐标的X坐标数值前有一个前缀符号X
% W% |$ t+ M9 _4 ]# EY-COORD=Y每个点坐标的Y坐标数值前有一个前缀符号Y$ X3 S2 h* z% r- [4 i
Z-CIIRD=Z每个点坐标的Z坐标数值前有一个前缀符号Z- _# g8 K- x% R8 @* O
需要说明的是,上面给出的坐标标识符X、Y和 Z区分大小写,必须和NC代码文件的格式相一致。
( v! \5 p$ W# x 3、反求的基本步骤
" I6 m K( L( L3 L5 h3 S: j: D9 @(1)读放NC代码文件ReEnge (反向工程) 模块读取NC代码文件(对可以读取的数据点没有 数目限制) 并根据其中的零件表面数据生成点云 (Point Cloud)。然后利用点云操作命令编辑点云, 校正数字化的缺陷。对于未进行刀具补偿处理的 NC文件,还可以利用点云偏移命令进行刀具半径 补偿处理,得到反映最终零件几何数据的点云。0 X1 T5 Q; _, E% W, W9 x
(2)点云的编辑 ReEnge模块读取数据点形 成点云后,点云被截面截取分段为多个区域。 ReEnge模块对数字化点重新排序,根据点之间的接 近程度自动拾取点并把点成组,自动拟合分为扫描 线和投影到平面上。5 i$ U* z! S, W( E
(3)生成曲面 ReEmge模块读取分段数据点形 差校正的二维、三维Bezier或NURBS样条曲线连 接点,拐角点既可手工交互确定也可指定一角度范 围由系统自动检测。使用点去数据可以直接生成智 能的网格曲面(多面体网格),网格的章个节点还可 在不影响曲面的条件被修改。通过颜色表格来显 示网格和点之间的距离,也可以直接从点云生成 NURBS曲面,用颜色表格显示点和曲面这间的 距离。7 e' j! d1 b! y0 v, ?! j
(4)生成零件CAD模型 由于ReEnge模块和 Cimatron的其他模块使用相同的数据库,完全无缝 集成,因而上面得到的三维曲线和曲面等可以象其 他Cimatron数据库里的实体一样允许用户进行编辑 修改,然后生成曲面CAD模型,并可转变成实体模 型。进行重新设计后,利用Cimatron的NC功能, 得到进一步优化的NC代码文件控制数据榨机床进行 加工。
* ~$ d0 C1 I2 m; h( D3 q) ]6 ](5)模型的输出处理 应用Re-Enge得到零件 的CAD模型后,既可以利用Cimatron其他模块提 供的工具对CAD模型进行处理,也可以输出到其他 CAD/CAM系统中进行后续处理。Cimatron提供 了多种数据换接口,支持包括IGES、DXF、VDA 和JAMA--IS等在的多种工业界标准格式,还可 以直接输出STL文件驱动快速成型装
/ c+ \0 {* W2 C }实现零件的 加工.</P |
|