APP下载

基于ObjectArx的相贯线小角度算法研究

2016-10-29马文正周春立

组合机床与自动化加工技术 2016年4期
关键词:外壁管件支管

马文正,周春立

(1.上海理工大学 机械工程学院,上海 200093;2.上海宝业机电科技有限公司,上海 201900)



基于ObjectArx的相贯线小角度算法研究

马文正1,周春立2

(1.上海理工大学 机械工程学院,上海200093;2.上海宝业机电科技有限公司,上海201900)

在实际工程应用中遇到支管与母管夹角较小时,在保证支管内壁与母管外壁理想相贯的情况下,割炬沿管件轴向摆动角度就会很大,导致对管件的实际切割厚度增加。为了解决这种夹角较小时存在的问题,文章按照实际的切割工艺,基于objectarx技术对AutocAD进行二次开发,建立管件的三维空间搭接模型,重新规划并提取所需要的相贯线数据。过渡区域内相贯线数据是由支管内壁与母管外壁的相贯过渡到支管外壁与母管外壁相贯。上述方法利用图形数据规划切相贯线,保证了小角度处理过程中,过渡区域内支管与母管完美贴合。

Objectarx;相贯线;小角度处理

0 引言

在现代社会中,钢管的运用领域极为广泛,船舶、桥梁等行业,都大量地需要对钢管进行交叉焊接[1]。现有的数控相贯线切割机所使用的切割算法大多基于传统的数学建模。传统的数学建模方法对每种搭建情况进行数学分析,推导出对应的相贯线计算公式。但是,这些理论求取的相贯线公式在实际工程运用中会与具体的切割工艺产生矛盾。本文研究的相贯线小角度问题就是基于理论公式很难推导解决的。相贯线小角度切割一直是圆管切割的技术难点,很多相贯线切割机制造厂商无法满足客户这一技术要求。

本文抛开传统的数学建模推导,基于ObjectArx,在AutoCAD中完成管件在三维空间的搭建模型,对小角度相贯时相贯数据进行研究,规划并提取所需要的相贯线数据,并将最终的相贯线数据转化为数控软件的切割代码,在相贯线切割机上完成试切,验证本文所提取的相贯线。

1 ObjectArx和AutoCAD数据库简介

ObjectArx的本质其实是一个软件开发包,是AutoDesk公司为了方便用户对AutoCAD进行二次开发所研发的。ObjectArx可以真正快速的对AutoCAD图形数据库进行访问和提取[2]。本文的开发环境的配置为Visual Studio2005+AutoCAD2008+ObjectArx 2008,由于这三者不断的更新换代,造成了它们所含的标准库的改变,所以这三者的选择版本是要相对应的。

AutoCAD图由对象和实体组成,它们存储在AutoCAD库中。数据库的基本对象是实体、词典和符号表。实体是在AutoCAD图内部表示图的一种特殊数据库对象。符号表和词典是用于存储数据库对象的容器。层表是符号表之一,包含层表记录;块表也是一个符号表,包含块表记录,所有的AutoCAD实体都是属于块表记录,词典给存储对象提供了比符号表更加普通的容器[3]。AutoCAD数据库结构如图1所示。

图1 AutoCAD数据库的组成

2 小角度问题与处理方法

图2 小角度问题

当支管与母管夹角很小时,在它们所形成的理论相贯线上存在一部分线段,该线段上的点所处在的支管内壁切平面与母管外壁切平面的夹角会在会小于一定的度数(即工程中所说的小角度相贯)如图2a所示。假设这段部分依旧按照支管内壁与母管外壁相贯来计算,割炬在这段部分沿管件轴向的摆动角度就会很大,而实际上由于设备机械结构的限制,这个摆角常常有一个限制的最大值,并且这样导致了对管件的实际切割厚度增加。由于实际的切割厚度增加,火焰切割时,在这一段切割区域内就会突然的要求更高的温度和切割时间,所以这一部分常常无法切穿透。

按照实际的切割工艺[4],在该线段部分内,采取支管外壁与母管外壁相贯,并且割炬垂直不摆动,如图2b 所示。问题的难点在于将内壁相贯线与外壁相贯线重新组合,而且在过渡部分依旧保证支管与母管的贴合。

3 管件实体的搭建

管件的实体是由ObjectArx自定义实体产生而来。通过将两个不同直径的圆形成的面域进行拉伸,形成管件的内外壁,两个同心圆的半径差就是管件的厚度,拉伸的高度为管件的长度。

new AcDbArc(const AcGePoint,double Radius,0,2*pi) //该函数通过圆心加半径的方式构建一个圆

两个同心圆可以形成一个圆环面域。

Acad::ErrorStatus createFromCurves(cons ptArray,regions) // ptArry为上述形成的圆环数组

将圆环面域进行拉伸处理。

AcDb3dSolid*pSolid =new AcDb3dSolid

pSolid->extrude(pRegion,dHeight,0.0)

// pSolid为所建立的管件指针

图3 两管的叠加状态

完成管件的建立,接下来要考虑管件在空间中搭接。管件的搭接情况涉及到管件的平移与旋转。AcGeMatrix3d是ObjectArx包含的专用求值类。AcGeMatrix3d类中派生出一些如rotation()和translation()可以完成管件在空间中的平移、旋转操作。

此时的管件的搭接还只是叠加的状态,如图3所示。实际的搭接状态需要对两个圆管实体进行布尔运算。

Virtual Acad::ErrorStatus booleanOper(

图4 两管的相贯状态

BooleanOperType,AcDb-

3dSolid

* pSolid ,AcDb3dSolid* pOtherSolid)

选择对两个管件进行求差(kBoolSubtract)运算。这样管件才是实际的相贯状态,如图4所示。

4 圆管三维相贯线数据的提取

4.1理论相贯线的数据提取

基于ObectARX,通过调用函数的方式提取子实体数据,需要AcBr类库与AcGe类库的协调配合[5]。AcBr类库是ObectARX中的边界描述库,调用AcBr类库中的函数,以只读的方式创建实体建模器,这样可以进一步访问实体数据库中的信息。然后利用AcGe类库对得到的的实体数据信息进行数学处理,得到两管件相贯线的几何数据。

利用AcGe类库进行数学计算的过程如下:

①将上述获得的AcGe对象强制转换为AcGeExternalXXX类型。

②调用isNativeCurve()函数,将AcGe实例本地化。

③根据实体的不同类型,进入分支结构匹配合适AcGe实体类型。

④调用该实体类型所提供的相关函数接口,输出相关实体的几何数据[6-7]。

图5 两管相贯的理论相贯线

如图5所示,红色小线段区域为支管的内、外壁与母管外壁的相贯线,白色小线段区域为没有做小角度处理的切割线。此时的切割线完全以支管内壁作为依据,当考虑到割炬摆角的限制,这样切成来的支管无法骑座在母管上。

4.2重新规划相贯线数据

通过判定二面角大小[8],确定过渡区域的起点与终点,也就是过渡线段的一端与内壁相贯线连接,另一端与外壁相贯线连接。将这空间上由起点和终点组成的线段分成若干段,运用closestPointTo()函数找出母管外壁上与上述节点距离最近的点。具体函数

Void GetSurfacePoint(PointList& curveList,const AcGePoint3d & firstPoint,const AcGePoint3d& scdPoint,int nCount = 50)

{

AcGeVector3d vOffset= (scdPoint-firstPoint)/(nCount+1);

AcGePoint3d myFirstPoint = firstPoint;

for (int i =0 ;i < nCount+1;++i)

{

curveList.push_back(pSurface->closestPointTo(myFirstPoint)); // pSurface为母管外壁面的指针

myFirstPoint += vOffset;

}

}

此时AcGePoint3d myFirstPoint中存放了过渡点,这些点确保了相贯线由内壁过渡到外壁时始终与母管贴合。

整合的切割数据点由三部分组成,支管外径相贯的一部分数据、过渡段数据和支管内径相贯的一部分数据。数据的整理由下列三个函数完成。

GetWaijinData(cutdata,&cutwaijin,index_small[0],index_small[1]);

ConnectGuoduPoint(&cutwaijin,guodupoint1,guodupoint2);

GetNeijinData(cutdata,guodupoint1,guodupoint2,index_small,index_big);

图6为重新规划后的相贯线。对比图5,此时的白色切割线在管件小角度区域是以支管的外壁相贯线为依据,通过myFirstPoint中的存放的空间过渡点,将小角度区域外壁相贯线与其他部分内壁相贯线连接起来。如图6重新提取的相贯线正是实际工程切割所需的相贯线。图7将相贯线分离出来,此时的相贯线由多段曲线组成,不在是原先简单的相贯线曲线。

图6 重组后的相贯线

图7 重组后的相贯线的提取

5 实际应用

运用该方法得到的相贯线数据经过上海宝业机电科技有限公司的相贯线切割机上的试切(如图8所示),切割效果非常满意。如图9所示,支管根部是外壁与母管相贯,然后过渡到内壁相贯,管件的搭接效果良好。

图8 实际切割图

图9 实际搭接图

6 结束语

本文基于ObjectArx对CAD进行二次开发,在CAD基础上搭建圆管,提取圆管相贯线数据,并将这些数据重新规划,成功的解决了在管件焊接时的小角度问题。并且此思想相较于传统的公式计算更加准确、方便,同时可以扩展到一些其他的搭接情况下的相贯线计算。

[1] 甄洪栋.数控切管机控制软件的研究[D].济南:山东大学,2005.

[2] 陈大东. 基于ObjectARX技术的船体型线生成系统[J]. 中国科技纵横,2011(15):391.

[3] 杜刚,刘东学. AutoCAD二次开发中对图形数据库的访问[J].化工装备技术,2004,25(6):53-55.

[4] 葛国政. 数控管子相贯线火焰切割机的研制[J].焊接技术,2006,35(2):45-47.

[5] 袁文辉.三维AutoCAD中实体曲面边界数据的提取及应用[J].机械研究与应用,2001,14(3):44-45,48 .

[6] 屈振生,何恒利. ObjectARX应用程序开发中AcBr与AcGe类库的应用[J].计算机应用,2001, 21(7):66-67.

[7] 王尧.基于ObjectARX的管端三维模型数据生成与提取研究[D].哈尔滨:哈尔滨工程大学,2013.

[8] 李小刚,吕碧峰,姚伟伟,等.相交双管焊接坡口的数据化处理[J].中国机械工程,2004,15(4):355-357.

(编辑赵蓉)

Research On Algorithm of Intersecting Line Based on ObjectArx

MA Wen-zheng1,ZHOU Chun-li2

(1.School of Mechanical Engineering ,University of Shanghai for Science and Technology,Shanghai 200093,China; 2.Shanghai Baoye M&E Technical Co., Ltd, Shanghai 201900,China)

Encountered branch pipe and main pipe angle is small in practical engineering applications, while ensuring branch pipe wall with the parent tube wall intersecting ideal situation, the torch along the tube axial oscillation angle will be great, cause the actual cutting thickness of the pipe increased .To solve this problem,the paper according to the actual cutting process, based objectarx technology to build three-dimensional solid model, re-planning and extracted intersecting line data needed, intersecting line data in the transition region is a branch pipe wall and the main pipe intersecting the outer wall of the outer wall of the transition to branch pipe tube wall intersecting with the parent.The above-described method ensures that small-angle process, the branch pipe and main pipe fit perfectly within the transition zone.

Objectarx;intersecting line;small angle processing

1001-2265(2016)04-0066-03DOI:10.13462/j.cnki.mmtamt.2016.04.018

2015-05-08;

2015-06-12

马文正(1989—),男,武汉人,上海理工大学硕士研究生,研究方向为数控技术,(E-mail)1098402599@qq.com。

TH166;TG506

A

猜你喜欢

外壁管件支管
液体火箭发动机推力室身部外壁快速电铸成型技术
压接式碳钢管材及管件在燃气工程的应用
某型铁路货车120-1阀连接支管失效及改进方案研究
厚玻璃杯预热更容易炸裂
汤峪二原子自压喷灌工程支管破裂原因探索与对策
昆钢6#高炉热风炉支管波纹补偿器技术改造
万福矿井副井井筒掘砌技术探讨
细长薄壁管件车削变形误差控制研究
烧水时烧水壶外壁为何会“出汗”
一种童车