基于.NET的CAD二次开发在风电塔筒参数化放样中的应用
2018-08-20吴海宏
吴海宏
摘 要:本文基于.Net平台采用c#语言对AutoCAD进行二次开发,研制了多种风电塔筒参数化展开放样技术,解決了风电塔筒生产过程中传统手工放样及绘图的难题,提高了放样和绘图的工作效率和准确率。
关键词:风电塔筒;参数化;展开放样;CAD二次开发
DOI:10.16640/j.cnki.37-1222/t.2018.13.176
1 引言
风电塔筒项目在投标报价及生产准备环节,必须快速算出筒身钢材的实际订购量,在生产环节则需要详细的下料图。通常技术员手工计算往往需要1-2天的拆料、绘图、复核及统计。风电塔筒设计图纸一般将同种板厚的筒体高度定为4800mm、6900mm、7200mm等,需要由制造厂将同种板厚的筒体自行拆图。基于节省钢材和采购方便的角度考虑,在拆图的时候需要考虑所拆的同种板厚原材料的板宽相同。由于该过程手工计算量较大,且手工计算出错率高,如果能够通过计算机自动计算及绘图,则可提高出图效率,从而更好响应市场需求。基于生产实际的需要,本文研究开发了多种风电塔筒参数化展开放样技术。
2 研究思路
通过研究风电塔筒的单节、多节展开放样技术,采用VS 2005软件对AutoCAD2007软件进行二次开发。在.NET平台上采用C#语言,对风电塔筒采用展开计算法进行计算,实现自动展开计算功能;利用CAD核心数据库结构、图形系统,通过向CAD对象发送消息,直接调用CAD核心函数,从而实现自动绘图功能。
3 风电塔筒展开放样计算原理
风电塔筒钢板采购时均要求双定尺,根据锥形筒的特征,每块板的长度宽度均不同,但如在放样时考虑同种板厚的钢板调整为相同板宽,则可以减少定尺的种类要求和板材损耗,减少采购费用。如图1,当n=2时需要计算出一个关键的参数R2,即可满足采购时同种板厚的钢材等板宽原则。
根据已知参数小端直径d1、大端直径d2、锥筒高H、板厚t、分节数n,利用几何关系依次求得锥筒下夹角∠b、R1,R3,展开扇形夹角∠a,设立方程解得R2 = (R3+R1*cos(a/2))/(1+cos(a/2));再求出两张钢板宽S=R2-R1*cos(a/2),上端板长L1=2*R2*sin(a/2),下端板长L2=2*R3*sin(a/2)。
将以上计算原理的各种分块计算情况通过函数的形式封装在CL.cs类文件中,待需要时直接调用,如下所示:
public static void DrawPolyLine(double d1,double d2,double H,int n,int t )。
4 风电塔筒展开放样自动绘图原理
为了访问CAD模型空间、图纸空间,需要先引用“AutoCAD 2007 Type Library.dll”、“AutoCAD/ObjectDBX Common 17.0 Type Library.dll”和“Microsoft.VisualBasic.dll”三个文件,保证放样程序与CAD软件的通信。
将直线和弧线等绘图功能采用函数的形式,封装在PF.cs类文件中,例如,以pt1为起点,pt2为终点的直线绘图函数如下:
public static ObjectId AddLine(Point3d pt1, Point3d pt2)
{ Line ent = new Line(pt1, pt2);
ObjectId entId = AppendEntity(ent);
return entId; }
在自动绘图前,利用函数DrawPolyLine计算出原点坐标ppt0,弧线的半径值R1、R2、R3,角度值astar、aend,以及六个端点的坐标值,然后调用PF.cs中的绘制弧线和直线的函数。上端板的绘图调用如下:
PF.AddArc(ppt0, R1, astar,aend);
PF.AddArc(ppt0, R2, astar, aend);
PF.AddLine(ppt2, ppt3);
PF.AddLine(ppt1, ppt4);
5 功能实现及界面设计
(1)单节塔筒放样。单节塔筒放样程序的界面设计如图2,在获取屏幕参数后,直接调用函数DrawPolyLine(d, D, H, n,t),先根据同板厚钢板等板宽展开计算原理,利用switch(n)和case语句,求得n节情况下的关键参数,再将关键参数传递给PF.cs的绘图函数,实现绘图功能。
(2)多节塔筒放样。多节塔筒放样程序的界面设计如图3,获取的参数存入一维数组arr[i]中,再直接调用函数DrawPolyLineM(arr[i], k)进行k次单节塔筒展开计算和绘图,计算和绘图原理与单节塔筒放样相同。
6 结语
利用AutoCAD提供的API接口,可以访问、创建及编辑各类对象。在此基础上能够灵活开发出适合企业产品的各类自动绘图程序。本文通过开发风电塔筒参数化放样及绘图程序,实现输入关键参数即可输出下料图纸,极大提高绘图效率和节约钢材损耗,也为今后对复杂的结构件的展开放样提供了思路和借鉴。
参考文献:
[1]张帆.卢择临.AutoCAD VBA & VB.NET开发基础与实例教程[M].中国电力出版社,2008(02).
[2] 董庆华.钣金展开速查手册[M].化学工业出版社,2008(02).