基于VB的AutoCAD和Midas Civil二次开发在桥梁结构计算中的应用.doc_第1页
基于VB的AutoCAD和Midas Civil二次开发在桥梁结构计算中的应用.doc_第2页
基于VB的AutoCAD和Midas Civil二次开发在桥梁结构计算中的应用.doc_第3页
基于VB的AutoCAD和Midas Civil二次开发在桥梁结构计算中的应用.doc_第4页
基于VB的AutoCAD和Midas Civil二次开发在桥梁结构计算中的应用.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VB的AutoCAD和Midas Civil二次开发在桥梁结构计算中的应用摘要:本文以笔者开发的预应力钢束坐标采集程序为例,介绍运用visual basic工具在autocad平台上采集钢束坐标,并生成midas civil钢束数据的二次开发方法,以提高桥梁结构计算建模效率。关键词:visual basic;autocad;midas civil;结构计算;二次开发1 前言近年来,公路建设发展迅猛,大跨径桥梁越来越多地被采用;城市化进程不断推进,对桥梁美观的要求将结构尺寸一再减小;此外,工程建设质量问题频发,促使工程设计规范日益成熟这些事实一再表明结构计算越来越重要!笔者结合多年桥梁设计经验,深入分析发现:桥梁结构尺寸拟定,通常由经验丰富的工程师完成,后续设计一般不作改变,因此结构计算的难点并不在此,往往在于钢束调整过程。钢束调整过程一般是:先绘出钢束形状,然后采集数据,并输入结构计算软件(如midas civil)计算,研究计算结果,重复上述过程直到结构受力满足要求。这一过程中,若钢束数量较多,采用手工方式采集与输入耗时耗力,效率低下且容易出错,更无法满足快速计算的需要。本文提出利用vb在autocad平台上进行二次开发,读取autocad图形信息,按计算程序(如midas civil)要求写入文件,再在计算程序中读入文件,即完成从autocad中采集,到计算程序中(midas civil)输入的过程。按此设想开发的预应力钢束坐标采集程序,在autocad中用多段线绘制好钢束,按程序提示在autocad中选取钢束,然后存为“.mct”文件,在midas civil中执行“读入mct”,即实现了钢束采集及输入的过程。2模块构成预应力钢束坐标采集程序执行基本流程如下(图1)。以下对程序主要模块作一简要介绍。2.1 连接autocad模块程序启动后首先连接到autocad,将其设计为一个模块:检察autocad是否启动,若已经启动则直接连接;若未启动则启动之;如果启动失败,向用户作错误提示;连接成功后,设置autocad窗口状态。代码如下:public sub linkcad()set cad=getobject(,”autocad.application”)if err.number thenerr.clearset cad=createobject(”autocad.application”)if err.number thenmsgbox “启动autocad失败,请检察autocad是否正确安装!”exit subend ifend ifcad.visible=truecad.windowstate=acmaxend sub2.2钢束选取模块执行钢束采集,实际是调用钢束选取模块,该模块创建名为“tdn”的选择集;然后调用选择集的屏幕选择功能;使用多段线作为选取过滤条件,以便只有多段线能够被选中;以“空格”或“回车”结束选取,核心代码如下:public sub selecting()dim ft(0)as integer,fd(0)as variantcad.activedocument.selectionsets(”tdn”).deleteset sset=cad.activedocument.selectionsets.add(”tdn”)sset.clearft(0)=0fd(0)=“lwpolyline”sset.selectonscreen ft,fdend sub2.3 生成mct文件模块当钢束选取结束后,所选钢束(autocad中的多段线)保存在 “tdn”选择集中,执行程序的“存为mct”命令可将钢束数据按midas civil所需格式写入“.mct”文件。先就autocad对多段线的存储作个补充:(图2)为一根钢束(即autocad中的多段线),标识r1、r2者为两段圆弧。autocad以坐标(x,y)的顺序将16点依次存放在该多段线的coordinates变量中;通过多段线的成员函数getbulge(i),可以获取每个顶点处的凸度,关于凸度,是以圆弧圆心角来定义的,凸度b与圆心角的关系为b=tg(/4);midas civil中存储钢束数据采用交点法,如(图2)存储的是1、jd1、3、4、jd2、6点的(x,y,r)信息;因此,需对多段线作一些计算,包括jd1、jd2的坐标及该点处半径r1、r2;交点的坐标根据平面解析几何的知识不难求得,半径r1、r2,根据前述凸度与圆心角的关系也可求;程序中该计算封装到calculeadparam()函数中,不作深入。生成mct文件的模块savedata_mct()是本程序的核心,大致思路是:对“tdn”选择集各多段线循环,取出一条多段线,取得所有顶点坐标及凸度,以此为参数调用calculeadparam()函数求解多段线的交点,再调用writedata_mct()函数写入到mct文件,完成了一根钢束的数据采集。下面是两个过程的核心代码:public sub savedata_mct()for each lwpl in ssetvc=lwpl.coordinatespc=(ubound(vc)-lbound(vc)+1)/2for i=0 to pcb(i)=lwpl.getbulge(i)chd(2*i)=vc(2*i)chd(2*i+1)=vc(2*i+1)next icalculeadparam chd,b,lpwritedata_mct ind,lp,1ind=ind+1next lwplend subpublic sub writedata_mct(byval ind as integer,byref lp()as double,byval fi as integer)lc=(ubound(lparam)-lbound(lparam)+1)/3print #fi,”*tdn-profile”print #fi,”name=“&tdnn&”,”&tdnp& “,”&tdne&”,0,0,round,2d”print #fi,”,user,0,0,yes,”&tdncprint #fi,”straight,0,0,0,x,0,0”print #fi,”0,yes,y,0”print #fi,”y=“&lp(0);”,0,no,0,0,none,”print #fi,”y=“&lp(3*(lc-1);”,0,no,0,0,none,”for i=0 to lc-1print #fi,”z=“&lp(3*i)&”,”&lp(3*i+1)&”,no,0,”&lp(3*i+2)&”,none,”next iend sub3 成果输出如(图3)是(40+260+40)m预应力混凝土连续刚构桥钢束坐标采集过程,钢束共70束,上图是钢束导入了midas civil中的情形,下图是autocad中钢束布置图。若手工采集数据并输入到midas civil,至少耗时2小时以上,并且容易出错;应用笔者开发的钢束坐标采集程序,耗时不到5分钟,不仅轻松完成任务,也保证了采集的准确性,极大地提高了结构辅助建模的效率。4 结束语运用计算机技术辅助桥梁结构设计已经历了多年的发展,各种大型的桥梁结构辅助设计软件不断推陈出新,极大的减化了桥梁设计员的工作,减轻了设计人员的负担;但桥梁结构设计中仍有许多重复而又繁琐的工作。本文以一个预应力结构计算辅助建模工具的开发为例,展现了在桥梁结构辅助设计软件(如autocad和midas civil)基础上进行二次开发所焕发的生机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论