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

采用IS013584标准的螺纹实体模型的实现

时间:2010-11-15 10:01:36 来源:

  随着CIM(计算机集成制造)的概念广为工业界所接受,企业集成正从信息集成走向过程集少成,迫切需要一种科学、统一的规范来描述、建立CAD标准件库,以确保CAD标准件库的可移植性,以及在企业内部、企业之间标准件库的信息交换与共享。

  IS013584就是这样一个关于计算机可解释的、标准件库数据的表示和交换国际标准。其目的是提供一种能够传递标准件库数据、且独立于使用标准件库应用系统的中性机制。这种描述的本质使得它不仅适合于零件库信息的中性文件的交换,也是实现和共享零件库数据的基础。为此开发符合IS013584标准的标准件库具有重要的意义。

  由于螺纹是许多标准件中的主体,因此螺纹实体模型的实现便成了开发标准件库的重点之一。螺纹简单的看是三角形、矩形等平面图形沿着螺旋线运动的轨迹,但是在CAD开发语言中并没有此类的功能函数实现一平面域沿着路径进行扫描形成螺纹,有方法介绍用螺纹横断面的平面图形沿着圆柱螺旋线拉伸而形成螺纹,但是拉伸的结果螺纹发生了翻转,也有利用多线段拉伸的方法来实现螺纹建模,但是由于拉伸的方向始终是变化的,所拉伸的平面也要随着变化,而目平面对于有限的某段线段是垂直关系,这是非常难以控制的。另外造型时间太长,并不能取得理想的效果。

  作者依据IS013584标准,构造了螺纹的中性程序,以UG为CAD平台,编写了由中性语言转换成计算机语言的编译程序,提出了一个交互式的构造螺纹模型的算法,用三维曲面进行参数化模拟螺纹,取得了良好的效果。

  1 UG/OPEN GRIP和零件数据交换

  Unigraphics(简称UG)软件是目前国际、国内应用广泛的CAD/CAM/CAE集成化的三维参数化软件,具有强大的建模、分析和加工功能。UG/OPEN GRIP是UG提供的一次开发语言模块,也具有外部高级开发语言的接口。UG/OPENGRIP具有简单、易学、易用的特点,用来创建类似FORTRAN一样的程序,与Unigraphics系统紧密集成。利用GRIP程序,可以完成与Unigraphics的各种交互操作。UG/OPEN GRIP还能扩大 UG在专业上的应用范围;以及建立标准零件库和通用零件库等。基于UG/OPEN GRIP的以上特点和适用范围,开发基于UG的客户端零件库数据交换接口软件具有可行性和实用性,所开发的客户端数据接口应符合ISO 13584-31零件库几何编程接口标准。

  建立符合IS013584标准的零件库,首先要依据ISO 13584-31提供的接口函数,通过FORTRAN语言联编,构成中性文件,传递到具体的CAD系统中进行自动建模。

  其工作原理如图1所示。

  IS013584接口程序是依据13584-31中的几何接口函数进行编写的零件信息传输接口。首先根据ISO 13584-31提供的函数对标准零部件进行几何中性程序的描述,然后通过C语言编写的IS013584接口程序进行编译、联接,生成目标GRIP程序,经编译、链接,送入UG CAD系统实现自动建模。

  

  图1.数据传递工作原理图

  2 螺纹的三维实体模型

  2.1 螺纹实体的构成

  螺纹构件可以看成是光杆圆柱和螺纹的组合体,光杆圆柱很容易实现,螺纹表面可以看成是平面和规则螺旋面的组合体。三角形螺纹是由起点平面、终点平面、两个倾斜方向的螺旋平面和一个螺旋形圆柱面缝合而成,矩形螺纹则可以看成是起点平面、终点平面、两个直螺旋平面和两个螺旋形圆柱面缝合成,其他形状的依次类推。斜螺旋面和直螺旋面均为直纹曲面,都是由两条圆柱螺旋线作为导线的,两条导线分别是位于螺纹内径所在的圆柱面上的圆柱螺旋线和位于螺纹外径所在圆柱面上的圆柱螺旋线;螺旋形圆柱面的两条导线则均位于螺纹外径所在的圆柱面上。

  2.2 螺纹参数的说明

  为了设计程序方便,在编写时特作了如下简化。

  (1)螺纹直径。对于螺纹的直径参数,沿用《机械制图》国家标准的规定:d1=0.85d,D1=0.85D。式中D, d分别为内、外螺纹的大径,Dl, dl分别为内、外螺纹的小径。

  (2)螺距。暂目考虑普通螺纹公称直径第一系列中的粗牙螺纹对应的螺距。

  (3)螺纹的其他要素。螺纹线数按单线,旋向按右旋

  2.3 圆柱螺旋线的生成

  圆柱螺旋线是三维空间曲线,其生成原理是一动点绕着圆柱体作匀速圆周运动,同时沿着轴线作匀速上升运动。运动轨迹方程如下

  

  参数方程中,r为圆柱的半径,θ为螺旋线升角,其范围是(-∞,+∞), s为导程(母线转动一周,动点沿轴向移动的距离)。

  螺旋线的生成可以是空间多线段连接起来,但是会形成曲折路径,作者采用B样条曲线进行拟合得到光滑过渡的螺旋线。

  螺旋升角 θ=N *360*t

  这里选择的参数变量为t, t的取值范围(0,1);

  螺纹的圈数 N=HlS

  N为螺纹的圈数,H为螺纹高度,S为螺距

  (单线螺纹时,螺距=导程,所以这里就用同一个S表示)。

  由于采取了B样条曲线来拟合螺旋线,得到的螺旋线会很平滑,因此曲线上点的个数取到100个即可,则每个螺距上的点数n1=100*S/H。

  按照dt=0.01, dh=S/nl的增量来确定空间点的坐标

  x= r * cos(N *360*t)

  y= r * sin(N *360*t)

  z= z +dh

  式中t=t+ dt,t在(0,1)之间递增,z的最大值为螺纹高度H。

  绘制三角形螺纹,需要在起始三角形的3个顶点处绘制3条圆柱螺旋线,其节距等于螺距,高度等于螺纹的高度。

  2.4 螺纹牙型断面的生成

  以普通螺纹(牙型角=60)为例。其牙型断面为图2所示的等边三角形。按照螺纹内径d1= 0.85 * d(D)的关系,计算出三角形3个点的绝对坐标为:A(0.5d,0,0),B(0.425d,0.0433d,0),C(0.425d,-0.04331,0)。

  据此可构造出螺纹的牙型端面。

  

  图2.螺纹牙型断

  3 程序框图和GRIP程序代码

  以UG为平台建立标准件库,需要通过接口程序将中性图形程序转变为在UG中可以识别的GRIP程序,进而在UG中进行建立实体模型。

  (1)程序框图

  程序框图如图3所示。

  

  图3 程序框图

  (2)程序代码

  以下介绍实现螺纹实体模型的G RIP程序。

  $$定义实体

  ENTITY/spln(4),p(100),q(100),O(100),ul,vl,u2,v2,

  $

  lin1,lin2,lin3,lin4,lin5,lin6,fltl,flt2,flt3,$

  f1t4,f1t5,flt

  NUMBER/matl(12),mat2(12)

  t=0

  i=0.01

  j=1

  $$输入参数

  L1:

  param/enter params of thread,$

  公称直径D,d,$

  螺距S,s,$

  螺纹高度H,h,resp

  JUMP/L1:,L20:,RESP

  $$计算其他参数

  n1=100*s/h

  dh=s/n1

  n=h/s

  rl=d/2

  r2=0.85 *rl

  z=0

  $$执行循环,绘制点

  DO/L10:,t,0,I,I

  alpha=n * 360* t

  z=z+dh

  if/z>h,z=h

  p(j)=POINT/r1 * cosf(alpha),r1 * sinf(alpha),z

  q(j)=POINT/r2 * cosf(alpha),r2* sinf(alpha),z

  blank/p(j)

  blank/q(j)

  j=j+1

  L10:

  $$通过样条曲线绘制螺旋线

  SPLN(1)=SPLINE/p

  SPLN(2)=SPLINE/q

  matl=MATRIX/TRANSL,0,0,0.0433*d

  matt=MATRIX/TRANSL,0,0,-0.0433*d

  SPLN(3)=TRANSF/mat1,SPLN(2)

  SPLN(4)=TRANS F/mat2,SPLN(2)

  ul=TRANSF/matl,q(1)

  vl=TRANSF/mat2,q(1)

  u2=TRANS F/matl,q(100)

  v2=TRANS F/mat2,q(100)

  linl=line/p(1),ul

  lint=line/ul,v1

  lin3=line/vl,p(1)

  lin4=line/p(100),u2

  lin5=line/u2,v2

  lin6=line/v2,p(100)

  $$得到直纹曲面

  fltl=RLDSRF/SPLN(1),p(1),SPLN(3),ul

  flt2=RLDSRF/SPLN(1),p(1),SPLN(4),vl

  flt3=RLDSRF/SPLN(3),u1,SPLN(4),vl

  $$得到有界平面

  flt4=BPLANE/linl,lin2,lin3

  f1t5=BPLANE/lin4,lin5,lin6

  $$缝合得到螺纹实体

  flt=sew/f1t1,f1t2,f1t3,f1t4,f1t5

  blank/SPLN,ul,vl,u2,v2

  blank/linl,lin2,lin3,lin4,lin5,lin6

  L20:

  HALT

  (3)程序代码的实现实例

  图4为交互输入螺纹参数对话框,图5为生成的螺纹实体模型。

  说明:以普通螺纹为例,遵循公称直径与螺距的对应关系输入参数,则可得到螺纹的实体模型。

  本程序在Unigraphics NX 2.0中调试通过。

  

  图4.参数化螺纹对话框

  

  图5.螺纹实体模型

  4 结论

  螺纹实体模型的实现,对于建立基于IS013584标准的标准零件库具有重要的意义,它不仅对标准件库进行了完善,而目极大地丰富了标准件库的内容,其中模型建立的思想,不仅适用于开发标准件库,而目对于在UG下进行其他建模提供了参考。