您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于ISO3584标准的螺纹实体模型的实现-基于ISO1
收稿日期:2005-08-05基金项目:国家高技术发展资助项目(Z00-F02);国家科技部“十五”专项资金资助项目(2001DEA30033)作者简介:孔宪庶(1947-),男,辽宁大连人,教授,主要研究方向为计算机图形学及计算机辅助设计。随着CIM(计算机集成制造)的概念广为工业界所接受,企业集成正从信息集成走向过程集成,迫切需要一种科学、统一的规范来描述、建立CAD标准件库,以确保CAD标准件库的可移植性,以及在企业内部、企业之间标准件库的信息交换与共享。2006年工程图学学报2006第4期JOURNALOFENGINEERINGGRAPHICSNo.4基于ISO13584标准的螺纹实体模型的实现孔宪庶1,郝慧斌1,程静1,詹俊峰2(1.大连交通大学机械工程学院,辽宁大连116028;2.中国标准化研究所,北京100083)摘要:螺纹是许多标准件中的主要结构,因此螺纹实体模型的实现便成了开发标准件库的重要问题之一。文中依据ISO13584标准,以UG为CAD平台,提出了一个交互式的,采用三维曲面构造参数化螺纹模型的算法。阐述了三维螺纹实体模型的实现原理,开发了数据接口,实现了几何图形文件到UGGRIP语句的映射,并举例介绍了螺纹模型的GRIP程序。关键词:计算机应用;标准件库;参数化;螺纹建模中图分类号:TP311文献标识码:A文章编号:1003-0158(2006)04-0043-05SolidModelingofThreadConformingtoISO13584KONGXian-shu1,HAOHui-bin1,CHENGJing1,ZHANJun-feng2(1.InstituteofMechanicalEngineering,DalianJiaotongUniversity,DalianLiaoning116028,China;2.ChinaNationalInstituteofStandardization,Beijing100083,China)Abstract:Thethreadisthemainstructureofthemoststandardparts,sothesolidmodelingofthethreadisoneoftheimportantproblemsinthedevelopmentofstandardpartslibrary.BasedontheISO13584,withUGasaplatform,thealgorithmoftheinteractiveprogramofthesolidmodelingofthethreadispresented,whichachievestheparametricdesignofthethreadwiththree-dimensionalcurvesurface.ThedatainterfaceisdevelopedtoimplementthemappingofthegeometricdatafiletotheUGGRIPprogram.TheGRIPprogramisgivenasanexampletogeneratethreadforISO13584standardpartslibrary.Keywords:computerapplication;standardpartslibrary;parameterization;threadmodelingISO13584就是这样一个关于计算机可解释的、标准件库数据的表示和交换国际标准。其目的是提供一种能够传递标准件库数据、且独立于使用标准件库应用系统的中性机制。这种描述的本质使得它不仅适合于零件库信息的中性文件的交换,也是实现和共享零件库数据的基础。为此开发符合ISO13584标准的标准件库具有重要的意义。由于螺纹是许多标准件中的主体,因此螺纹实体模型的实现便成了开发标准件库的重点之一。螺纹简单的看是三角形、矩形等平面图形沿着螺旋线运动的轨迹,但是在CAD开发语言中并没有此类的功能函数实现一平面域沿着路径进行扫描形成螺纹,有方法介绍用螺纹横断面的平面图形沿着圆柱螺旋线拉伸而形成螺纹,但是拉伸的结果螺纹发生了翻转[1],也有利用多线段拉伸的方法来实现螺纹建模,但是由于拉伸的方向始终是变化的,所拉伸的平面也要随着变化,而且平面对于有限的某段线段是垂直关系,这是非常难以控制的。另外造型时间太长,并不能取得理想的效果。作者依据ISO13584标准,构造了螺纹的中性程序,以UG为CAD平台,编写了由中性语言转换成计算机语言的编译程序,提出了一个交互式的构造螺纹模型的算法,用三维曲面进行参数化模拟螺纹,取得了良好的效果。1UG/OPENGRIP和零件数据交换Unigraphics(简称UG)软件是目前国际、国内应用广泛的CAD/CAM/CAE集成化的三维参数化软件,具有强大的建模、分析和加工功能。UG/OPENGRIP是UG提供的二次开发语言模块,也具有外部高级开发语言的接口。UG/OPENGRIP具有简单、易学、易用的特点,用来创建类似FORTRAN一样的程序,与Unigraphics系统紧密集成。利用GRIP程序,可以完成与Unigraphics的各种交互操作。UG/OPENGRIP还能扩大UG在专业上的应用范围;以及建立标准零件库和通用零件库等。基于UG/OPENGRIP的以上特点和适用范围,开发基于UG的客户端零件库数据交换接口软件具有可行性和实用性,所开发的客户端数据接口应符合ISO13584-31零件库几何编程接口标准。建立符合ISO13584标准的零件库,首先要依据ISO13584-31提供的接口函数,通过FORTRAN语言联编,构成中性文件,传递到具体的CAD系统中进行自动建模。其工作原理如图1所示。ISO13584接口程序是依据13584-31中的几何接口函数进行编写的零件信息传输接口。首先根据ISO13584-31提供的函数对标准零部件进行几何中性程序的描述,然后通过C语言编写的ISO13584接口程序进行编译、联接,生成目标GRIP程序,经编译、链接,送入UGCAD系统实现自动建模。ISO13584-31外部几何联编程序ISO13584接口程序GRIP目标程序UGCAD系统图1数据传递工作原理图·44·工程图学学报2006年图3《器象显真》中的机械图样2螺纹的三维实体模型2.1螺纹实体的构成螺纹构件可以看成是光杆圆柱和螺纹的组合体,光杆圆柱很容易实现,螺纹表面可以看成是平面和规则螺旋面的组合体。三角形螺纹是由起点平面、终点平面、两个倾斜方向的螺旋平面和一个螺旋形圆柱面缝合而成,矩形螺纹则可以看成是起点平面、终点平面、两个直螺旋平面和两个螺旋形圆柱面缝合成,其他形状的依次类推。斜螺旋面和直螺旋面均为直纹曲面,都是由两条圆柱螺旋线作为导线的,两条导线分别是位于螺纹内径所在的圆柱面上的圆柱螺旋线和位于螺纹外径所在圆柱面上的圆柱螺旋线;螺旋形圆柱面的两条导线则均位于螺纹外径所在的圆柱面上[1]。2.2螺纹参数的说明为了设计程序方便,在编写时特作了如下简化。(1)螺纹直径。对于螺纹的直径参数,沿用《机械制图》国家标准的规定:d1=0.85d,D1=0.85D。式中D、d分别为内、外螺纹的大径,D1、d1分别为内、外螺纹的小径。(2)螺距。暂且考虑普通螺纹公称直径第一系列中的粗牙螺纹对应的螺距。(3)螺纹的其他要素。螺纹线数按单线,旋向按右旋。2.3圆柱螺旋线的生成圆柱螺旋线是三维空间曲线,其生成原理是一动点绕着圆柱体作匀速圆周运动,同时沿着轴线作匀速上升运动。运动轨迹方程如下x=r*cos()y=r*sin()z=S*/2参数方程中,r为圆柱的半径,为螺旋线升角,其范围是(-∞,+∞),S为导程(母线转动一周,动点沿轴向移动的距离)。螺旋线的生成可以是空间多线段连接起来,但是会形成曲折路径,作者采用B样条曲线进行拟合得到光滑过渡的螺旋线。螺旋升角=N*360*t这里选择的参数变量为t,t的取值范围(0,1);螺纹的圈数N=H/SN为螺纹的圈数,H为螺纹高度,S为螺距(单线螺纹时,螺距=导程,所以这里就用同一个S表示)。由于采取了B样条曲线来拟合螺旋线,得到的螺旋线会很平滑,因此曲线上点的个数取到100个即可,则每个螺距上的点数n1=100*S/H。按照dt=0.01,dh=S/n1的增量来确定空间点的坐标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螺纹牙型断面的生成[3]以普通螺纹(牙型角=60°)为例。其牙型断面为图2所示的等边三角形。按照螺纹内径d1=0.85*d(D)的关系,计算出三角形3个点的绝对坐标为:A(0.5d,0,0),B(0.425d,0.0433d,0),C(0.425d,-0.0433d,0)。据此可构造出螺纹的牙型端面。图2螺纹牙型断面3程序框图和GRIP程序代码以UG为平台建立标准件库,需要通过接口程序将中性图形程序转变为在UG中可以识别的GRIP程序,进而在UG中进行建立实体模型[4]。(1)程序框图程序框图如图3所示。(2)程序代码以下介绍实现螺纹实体模型的GRIP程序。ABCoxyd1d第4期孔宪庶等:基于ISO13584标准的螺纹实体模型的实现·45·$$定义实体ENTITY/spln(4),p(100),q(100),o(100),u1,v1,u2,v2,$lin1,lin2,lin3,lin4,lin5,lin6,flt1,flt2,flt3,$flt4,flt5,fltNUMBER/mat1(12),mat2(12)t=0i=0.01j=1$$输入参数L1:param/'enterparamsofthread',$'公称直径D',d,$开始N计算参数空间点的坐标直纹面缝合形成螺纹结束YNY输入参数d.H.Sz=z+dhIfzHt1z=H(x,y,z)B样条拟合螺旋线图3程序框图'螺距S',s,$'螺纹高度H',h,respJUMP/L1:,L20:,RESP$$计算其他参数n1=100*s/hdh=s/n1n=h/sr1=d/2r2=0.85*r1z=0$$执行循环,绘制点DO/L10:,t,0,1,Ialpha=n*360*tz=z+dhif/zh,z=hp(j)=POINT/r1*cosf(alpha),r1*sinf(alpha),zq(j)=POINT/r2*cosf(alpha),r2*sinf(alpha),zblank/p(j)blank/q(j)j=j+1L10:$$通过样条曲线绘制螺旋线SPLN(1)=SPLINE/pSPLN(2)=SPLINE/qmat1=MATRIX/TRANSL,0,0,0.0433*dmat2=MATRIX/TRANSL,0,0,-0.0433*dSPLN(3)=TRANSF/mat1,SPLN(2)SPLN(4)=TRANSF/mat2,SPLN(2)u1=TRANSF/mat1,q(1)v1=TRANSF/mat2,q(1)u2=TRANSF/mat1,q(100)v2=TRANSF/mat2,q(100)lin1=line/p(1),u1lin2=line/u1,v1lin3=line/v1,p(1)lin4=line/p(100),u2lin5=line/u2,v2lin6=line/v2,p(100)$$得到直纹曲面flt1=RLDSRF/SPLN(1),p(1),SPLN(3),u1flt2=RLDSRF/SPLN(1),p(1),SPLN(4),v1flt3=RLDSRF/SPLN(3),u1,SPLN(4),v1$$得到有界平面·46·工程图学学报2006年图3《器象显真》中的机械图样flt4=BPLANE/lin1,lin2,lin3flt5=BPLANE/
本文标题:基于ISO3584标准的螺纹实体模型的实现-基于ISO1
链接地址:https://www.777doc.com/doc-443146 .html