您的位置:网站首页 > UG教程下载

UG点集处理技术在直接切片中的应用

时间:2010-11-15 09:29:32 来源:

  UG是集CAD/CAM/CAE于一体的高端软件,广泛应用于机械、航空等领域,UG/OPEN提供了良好的高级语言接口,使得UG的造型功能与计算机功能有机结合在一起,便于用户进行二次开发。本文利用UG二次开发中点集处理技术实现直接切片中对截面圆锥曲线、三次Bezier曲线等不规则曲线的直线化处理,并且可以控制其精度。在后续切片文件处理过程中,对于轮廓信息中的圆锥曲线、三次Bezier曲线等不规则曲线的读取处理上,不管是算法设计还是精度控制,都是比较困难和复杂的。而本文的方法在很大程度上降低了切片文件读取算法设计的复杂度,还可以根据加工要求设定切片的精度。

  一、点集处理技术在切片过程中的应用

  1.获得截面信息

  根据实体参数及已知切片厚度,利用循环语句建立基准平面;并用这些基准平面与实体求交,获得截面信息。

  2.对截面信息进行点集处理

  这个过程就是将刚才的截面组成类型进行转化。截面的原始组成是由多种类型的线条组合而成的,现在将所有的线条都按一定规律转换为点,使每个截面都是由点集构成。

  在GRIP语言中,生成点集的常用方法有四种,分别是等弦长、等参数、等弧长和给定弧长。四种方法中,等弦长对于精度控制具有较好的优势,并且可操作性能也很好,所以

  在这个环节中就选用这种方法进行点集处理。

  等弦长法生成点集的命令语句为:CPSET/CHORD,obj,tolerance,results。

  其中obj为一条线实体,tolerance为弦高公差,它决定生成点集的情况,也决定最后切片的精度,所以是一个非常重要的参数。最后生成的点集存放在results数组里面。

  通常一个截面是由多条实体线组成,所以在进行点集处理时要分段处理,在编写GRIP程序时要尤其注意这一点。如图1所示,由四条实线构成的一个封闭截面,其中一条为直线,三条为不规则曲线。处理成点集后的效果如图2所示,它是根据精度弦高公差为0.001cm来进行的点集处理,可以看到直线段处只有两个点,即直线的起点和终点。这个特点使得在保持精度的同时,大大减少处理点集的复杂程度。图3为最后的转变结果,将一个封闭的截面转变为可控精度的点集。

  GRIP语句实现:

  Lp10:

  param/’enter the tolerance’,’

  弦高公差=’,tol,resp

  jump/l10:,stm:,,resp

  i=1

  Lp11:

  cpset/chord,obj1(i),tol,results

  i=i+1

  if/i<=c,jump/lp11:

  3.对点集进行截面恢复

  该过程是将图3得到的点集再转变为封闭的截面,但是要用直线来代替原来的线型,从而降低对切片文件进行解读时的复杂程度。该过程需要的GRIP命令,直线生成命令为:

  obj=LINE/point1,point2。该过程的核心是如何控制和利用上述过程中results数组里的点。

  图4为截面的恢复结果,可将图4与图1进行对比,得出结论:在降低线型复杂度的前提下,

  依然可以保持非常高的精度。

  GRIP语句实现:

  p=1

  Lp12:

  obj2=LINE/results(p),result(p+1)

  p=p+1

  jump/Lp12:

  二、技术难点的解决

  (1)在点集处理时无法获得每个截面点集中点的数量,同时对点集进行截面恢复时,在results数组中取点也无法确定边界点。那么在生成直线命令中:obj=LINE/point1,point2,其中会遇到point1或point2为空点,致使程序报错退出。

  解决办法是用GPA语句存取全局参数,其中&NULENT表示空实体,用语句:IF/LN1<>&NULENT,其中JUMP/Loop来判断实体LN1是否为空实体,然后再对它进行使用和修改,这样就避免了上述直线命令中出错的问题。

  (2)由于在使用点集命令:cpset/chord,obj1(i),tol,results时,是将所有的点有序存放在全局数组results中。在处理每一层截面时,都是利用循环语句重复使用results数组,由于每一层截面点集处理后获得点的数量不同,那么在截面恢复阶段会出现将该层多于上一截面点集中的点重复恢复到这一层,引起截面的变形。解决办法是在每次使用results数组时,对它进行初始化,也就是对它进行清空,保证这个数组中没有实体。

  GRIP语句实现:

  p=1

  Lp13:

  delete/results(p)

  p=p+1

  if/results(p)<>&NULENT,jump/

  Lp13:

  

  

  三、结论

  本文利用了UG二次开发的点集处理技术,将其用于直接切片技术中,达到仅使用直线一种线型来完成截面描述的目的。并且可以控制切片精度,简化了激光快速成型中对于切片

  文件读取算法的设计,提高了切片的效率。