唐诤皓 刘锋 杨继飞
摘要:本文以AutoCAD为依托平台,使用Visual Studio .NET平台的C#语言编写程序,利用ObjectARX提供的托管封装类进行二次开发,开发出一套可以应用于实际的设计、计算和绘图一体的构筑物水池结构设计参数化平台系统(TSCAD)。
关键词:CAD二次开发构筑物水池结构设计.NETAPI
中图分类号:TP391.72 文献标识码:A 文章编号:1672-3791(2012)04(c)-0037-02
污水处理厂中大部分是钢筋混凝土水池,此类构筑物由于其功能的特殊性,主要组成单位是各种类型的板(池壁板、底板、顶板等)、圆壳等,目前并没有构筑物水池结构的计算及绘图相结合的专业软件,多数工程设计者采用手工计算并绘图,增加了出错几率也增加了设计时长。编者开发的水池结构CAD辅助设计系统(TSCADV1.0,软件著作权登记号:2012SR015042)对于构筑物水池的设计者而言,可以方便快捷的更改各项参数,经过数据前处理可以对结构是否满足强度要求或正常使用功能有预提示,方便设计者修改参数。
1工程类软件的现状及平台选择
1.1 国内外的结构计算兼绘图类软件包括
(1)PKPM、GSCAD等。此类软件主要注重于分析计算,出图功能比较弱,需要重新整理出图。
(2)探索者、天正结构、理正结构等等。此类软件侧重于绘图,并兼顾结构计算子程序(例如板、梁、楼梯、独立基础计算等)。
(3)国外的结构软件如ANSYS、SAP2000、ETABS、MIDAS等几乎都是建立于有限元分析的基础上,其功能强大,综合性强,建模分析则较复杂、内力查看不是很直观,主要用于大型项目中设计的分析比较。
1.2 CAD二次开发平台的选择(如表1)
2TSCAD开发思路和技巧
2.1 列出相关专业设计流程
首先列出专业设计系统流程图,并明确要输入、输出的内容和格式,如图1,通过此流程图设计相关功能模块和实现方法。
TSCAD的主要功能有:全自动绘图,包括平面图,剖面图,配筋图,详图等;自动生成计算书,包括两种格式,纯文本方式和Excel格式,以Excel格式为主。
2.2 界面设计
软件界面设计是参数化平台系统可以智能人机交互的重要部分之一,采用友好且丰富的参数化界面可以大大加快设计的速度。但界面设计也一直是此类平台软件开发的难点,尤其在用C++做ObjectARX程序时设计一个界面使用到MFC库,设计界面非常繁杂。
.NET语言则可以很方便的开发设计出各类常规、实用、友好的界面。TSCAD软件界面的开发,所采用的交互界面形式有自定义工具栏,自定义菜单,对话框(模式对话框)等多种方式,并可与AutoCAD原菜单无缝结合。
2.3 绘图交互设计模块
设计成果一般最终以图纸展现,即要在AutoCAD中绘出图形,这也是与普通.Net编程的区别。因此,首先要了解AutoCAD数据库(database)的组成,在CAD中任何可见的(线,多义线,圆,标注,尺寸等等)都是对象,都有其相关的属性和方法,被封装为ObjectarxforCAD中以供编程者调用。例如在封装常用代码后,在模型空间中添加一条直线可以简化为如下。
Lineline=newLine(pt1,pt2);//根据起点、终点实例化line对象。
Tools.AddEntities(line);//添加line实体至模型空间(如图2)。
利用扩展数据共享数据如下。
一般的绘图命令不生成扩展实体数据的,当编程使一个CAD图中的图元包括所需要的扩展数据时,则扩展数据位于普通数据之后。例如选择直线,可以取出应用程序名都是池壁的参数,可以包括厚度,长度,高度等,这些数据获得后可以为其它功能模块所用,进行下一步处理,比如根据平面图中的线获得剖面图信息等。
AutoCAD2006版本开始提供了一个动态块的新功能动态块与普通块的区别是:除几何图形外,动态块中通常包含一个或多个参数和动作。
TSCAD系统部分绘图功能运用了动态块技术,例如池壁剖面配筋图。因一般的池壁宽度尺寸都按50的模数定义,如200,250,300,350和400等,这样可以利用动态块技术对池壁配筋块添加壁厚方向的参数,可以迅速修改池壁宽度,效果如图3。
2.4 数据处理及输出的方法
TSCAD系统的板结构内力分析及计算采用的方法是利用已有的有限元分析代码库,这种类库封装了内部算法代码,只留了输入和输出接口。程序员输入板的几何尺寸、边界条件、荷载情况就能输出得到板的各项内力和变形数值,结合规范公式后可直接输出用于设计,这样大大提高了编程效率。
输出计算书的方法是利用已有的Excel计算文件。工程设计人员常常用Excel编写某些数据计算文档(包括用VBA编写的Excel宏程序),目前通过COM接口,.NET语言可对Excel进行完全的操作。这样就能保留以前编写的Excel文件(模板)并进行数据交互,并输出数据至Excel(或从Excel读入数据)。
3结语
本文以作者所从事的特种结构设计为蓝本开发的TSCAD为例,探讨的是对于工程类行业,用尽量易懂、开发迅速、又不失强大的平台进行AutoCAD二次开发,适用于普通计算机水平的工程设计师。
参考文献
[1] 唐诤皓.水池構筑物结构设计参数化CAD平台开发与应用[D].杭州:浙江工业大学硕士学位论文,2010.
[2] 曾鸿飞,张帆,卢择临.AutoCADV BA&VB.NET开发基础与实例教程[M].北京:中国电力出版社,2008.