CAD技术在水利水电工程中的应用

上传人:众众****夺宝 文档编号:115755241 上传时间:2022-07-03 格式:DOC 页数:17 大小:14.42KB
收藏 版权申诉 举报 下载
CAD技术在水利水电工程中的应用_第1页
第1页 / 共17页
CAD技术在水利水电工程中的应用_第2页
第2页 / 共17页
CAD技术在水利水电工程中的应用_第3页
第3页 / 共17页
资源描述:

《CAD技术在水利水电工程中的应用》由会员分享,可在线阅读,更多相关《CAD技术在水利水电工程中的应用(17页珍藏版)》请在装配图网上搜索。

1、CAD技术在水利水电工程中的应用摘要:AutAD是广大工程设计人员普遍使用的通用绘图软件,结合专业特点,通过对AutAD系统的二次开发可以开发出满足各种用途的专业软件,即使对于普通设计人员也可以通过AutAD内嵌的VisualLisp语言方便地增加AD命令,扩充完善适合本专业的新功能,从而极大地提高工作效率,本文通过几个应用实例对AutAD在水工设计上的应用进行了探讨。关键词:AD技术应用水利水电工程AutADVisualLisp语言1概述美国Autdesk公司开发的AutAD系统自1982年推出以来,以其使用方便、功能强大和系统开放性一直独领风骚。成为各工程领域首选的AD系统。水利水电工程领

2、域利用AutAD平台进行二次开发也取得了一系列成果,如90年代以来陆续开发的水电站地面厂房AD系统、重力坝AD系统、隧洞AD系统、水机油汽水AD系统、地质柱状图AD等均取得了较好的应用效果。但水电工程设计的复杂性决定了任何现成的AD软件都有其局限性,设计过程中许多问题还只能用原始的方法解决。本文通过几个实例对AutAD二次开发常用的Lisp语言在水电工程设计中的应用进行了初步探讨,希望能够起到抛砖引玉的作用。VisualLisp语言是AutADR14版本以后提供的全新的开发环境,是嵌于AutAD内部,将Lisp语言与AutAD相结合的产物,是一种智能型语言。利用AutLisp可以灵活方便地增加

3、AutAD新命令,几乎无限地扩展AutAD新功能,2应用实例2.1坐标画线利用已知坐标点画线是设计工作中经常遇到的问题,如河道、堤防等实测断面、水位流量关系曲线、堰面曲线等数据的处理,均可归结为坐标画线问题。对于堰面曲线等有函数方程的曲线可以利用EXEL按照期望的步长自动生成一系列坐标点。对于测量常用的起点距-高程形式的数据,也可以利用EXEL转化成坐标点形式。(1)利用脚本文件(.SR)利用任何文本编辑器如Nte、Uedit、rd、Exel等建立纯文本文件EX1.SR,注意文本文件后缀必须为.SR,坐标之间用半角逗号分开,文件中不允许出现空格,文件最后一行必须为空回车。文件建立时,可以直接把

4、EXEL或其他文件中的坐标表利用拷贝、粘贴功能加入脚本文件中。Pline345.66,238.65213.45,124.56128.44,235.66文件保存后,执行AutAD中“工具”下的“运行脚本”,在显示的窗口中查找并选中EX1.SR,屏幕上会立即显示所绘线条。(2)利用LSP程序建立坐标表文件EX2.DAT,后缀任意,可以依次输入多段曲线,中间用曲线名称分开,程序自动绘制多条曲线并可标注坐标表。“曲线1”213.45,124.56128.44,235.66345.66,231.78“曲线2”433.34,567.23434.12,464.12利用AutAD中“工具”菜单下的“Visul

5、Lisp编辑器”建立DRLINE.LSP文件如下(defun:drline()(iffn(setqfn(getfiled坐标点文件名fn2)(setqfn(getfiled坐标点文件名2)(setqf(penfnr)(setqp0(getpintn画线起点:)(setqbz01)(andpline)(hile(/=bz1)(setqd(read-linef)(if(/=dnil)(setqzbb(readd)(setqbz1)(setqdx(arzbb)dy(adrzbb)(setqp1(list(+dx(arp0)(+dy(adrp0)(andp1)(setq(1+)(and)(lsef)文

6、件存盘后,加载运行,相当于新增加了坐标画线命令DRLINE,按提示选中存放坐标表的文件即可实现自动绘制曲线。2.2地形切剖面水电工程设计中经常遇到在地形图上切剖面的问题,借助VisualLisp可以实现快速切剖面。(1)初始地形图处理把带z坐标的地形平面图进行变换,变换后z坐标值成为层名,为加快切剖面运行速度,把“LPLYLINE”和”SPLINE”均转化为”LINE“线,程序如下(defun:pltl();LPLYLINE转化为LINE(setqn0)(setqe(ssgetX(list(ns0LPLYLINE)(setqsh(sslengthe)(ife(hile(nsh)(setqe1(

7、ssnaeen)(andpedite1d)(setqx(entgete1)(setqng(atf(setqla(fld8x)(andexpldee1)(setqn(+n1)(defunfld(nulst)(dr(assnulst)(defun:spltl();SPLINE转化为LINE(setqn0)(setqe(ssgetX(list(ns0SPLINE)(setqsh(sslengthe)(ife(hile(nsh)(setqx(entget(setqe1(ssnaeen)(setqnla(ita(fix(addr(fld10x)(if(=(fld0x)SPLINE)(prgn(andla

8、yernnla6nlasnla)(andline)(setqn(lengthx)dzs(fld73x)dzs1(fld74x)(hile(n5)(if(=(ar(nthnx)10)(prgn(setqb1(nthnx)(setqx1(adrb1)(setqy1(addrb1)(setqz1(adddrb1)(setqglb(listx1y1)(andglb)(setqn(-n1)(and)(setqn(+n1)(2)切剖面输入剖面编号,在平面地形图上指定两点确定剖面剖切线位置,指定剖面图起点,利用AutAD的inters函数搜索剖切线与地形图的全部交点,自动计算交点坐标,计算交点与剖面位置起点

9、的距离,按各交点高程和与起点的距离形成剖面图各点坐标,即可用本文实例1坐标画线生成地形图的剖面。(defundxtent1()(setqn0xdzbnil)(setqxds0)(setqsh(sslengthe1)(hile(nsh)(setqx(entget(ssnaee1n)(if(=(fld0x)LINE)(prgn(setqdxtgg(fld8x)(setqdxtgg(atidxtgg)(if(dxtgg10)(prgn(setqpst(fld10x)(setqpet(fld11x)(setqzb(listg(list(arpst)(adrpst)(list(arpet)(adrpet

10、)(setqxdzb(nszbxdzb)(setqxds(+xds1)(setqn(+n1)(defun:dxtse()(setqph(+ph1)(setqph(getstringn剖面号)(setqpt1(getpintn剖切位置起点:)(setqpt2(getpintpt1n剖切位置终点:)(setqpt3(getpintn剖面图布置:)(setqp01pt3)(setqe1(ssgetF(listpt1pt2);利用AutAD的目标选择“F”方式选取与剖切线相交的地形线。(dxtent);获取与剖切线相交地形线的坐标(setqxg-100)(setqng10000)(setq0ppnil

11、)(setqnxdsi0)(hile(in)(setqrsp(interspt1pt2(nth1(nthixdzb)(nth2(nthixdzb)1);求剖切线与地形线的交点(if(/=rspnil)(prgn(setqdxtgg(nth0(nthixdzb)(setqxg(axxgdxtgg)(setqng(inngdxtgg)(setqdst(distanept1rsp);剖切线起点与交点的距离(setqdst(*(/blzdxthtbl)dst)(setqpp(ns(listdstdxtgg)pp)(setq(+1)(setqi(+i1)2.3沿曲线标注在设计中会遇到沿给定曲线进行标注问

12、题,如平面布置图中的开挖线符号沿开挖轮廓的标注,剖面图中岩石符号沿轮廓线标注、点筋标注、沿任意曲线进行汉字标注等。此类问题主要应用AutAD的easure或divide命令来解决。两个命令的主要差别是前者按指定的长度在曲线上标注,后者按给定的分段数等分曲线并在等分点处进行标注。要标注的轮廓曲线最好用pline线,要标注的符号预先做成图块,图块采用单位块,执行easure或divide命令,选取要标注的曲线,指定标注符号,分段长度或分段数即可完成标注,当发现标注的符号太密或太疏时,可以执行erase命令选择P进行删除,比例不合适或符号方向不正确,可以利用特性编辑器,选中所有标注符号,对标注符号的

13、比例和旋转角度进行调整,直到满意为止。对于更高级的应用,可以编制LSP程序,实现符号和文字沿任意曲线标注。2.4表格生成AutAD本身没有表格处理功能,设计图纸中工程量表、钢筋表等涉及到表格生成的问题可以采用以下方法处理:(1)直接把rd或Exel文件中的表格直接粘贴到AD图形中,修改时只要双击图中的表格即可进入rd或Exel中进行编辑修改,修改完成后退出即可返回到AutAD中继续进行设计,该法优点是方便,快捷,易于掌握,可以充分利用Exel的强大计算功能。缺点是表格在AutAD中并不是一个普通图元,无法利用AD功能对表格的字高、颜色和线宽进行编辑。(2)编制LSP程序,依次输入表格标题、表格

14、行数、表格列数、表格行高和列宽以及表格插入点等参数,可以自动生成表格,表格中已经按仿Exel形式填入了文字,可以用字处理软件对表格中文字进行编辑修改。(defun:tab()(setqtb1niltb2niltb3nil)(setqrs(getint表格行数)(setqls(getint表格列数)(setqrh(getreal行高)(setql(getreal列宽)(setqp1(getpintn表格左上角点位置:)(andplinep10.50.5(setqp2(list(+(arp1)(*lsl)(adrp1)(setqp4(list(arp2)(-(adrp2)(*rsrh)(setqp

15、3(list(arp1)(-(adrp2)(*rsrh)(setqn1)(hile(nrs);绘水平线表格(andpline(list(arp1)(-(adrp1)(*nrh)00(list(arp2)(-(adrp2)(*rhn)(setqn(+n1)(setqn1)(hile(nls);绘垂直表格线(andpline(list(+(arp1)(*nl)(adrp1)00(list(+(arp1)(*nl)(adrp3)(setqn(+n1)(andtext(list(+(arp1)(*0.5lsl)(+(adrp1)5)30TITLE)(setqn0)(hile(nrs)(setq0)(h

16、ile(ls)(nd(26)(setqbzstr(hr(+65)(=26)(setqbzstr(strat(hr(+64(/26)(hr(+65(-(*26(/26)(andtext(list(+(arp1)(*0.5l)(*l);表格内容标注(-(adrp1)(*0.5rh)(*nrh)(getvarTEXTSIZE)0(stratbzstr(ita(+n1)(setq(+1)(setqn(+n1)(3)生成钢筋表见下表,增加3个命令:生成钢筋表、钢筋表添加和自动生成材料表。采集钢筋表中直径、等级和总长信息,经过自动分类汇总,生成钢筋表的材料表。2.6高程小数位数处理尺寸标注小数位数很容易调

17、整,但诸如高程、表格中数字要调整则很困难,借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留的小数位数,则程序自动对所有选种数字进行修改。(defunentsg()(setqn0)(setqsh(sslengthe1)(hile(nsh)(setqx(entget(ssnaee1n)(if(=(fld0x)TEXT)(prgn(setqag(fld1x)(setq(substrag11)(if(r(=+)(=-)(and(=0)(=9)(prgn(if(r(=+)(=-)(setqbg(substrag2)(setqbgag)(setqg(atfbg)(setqzh(rt

18、sg2gs)(if(r(=+)(=-)(setqzh(stratzh)(setqx(subst(ns1zh)(ass1x)x)(entdx)(setqn(+n1)(defun:yxs()(setqe1(ssget)(setvardizin0)(setqgs(getint保留小数位数:)(ife1(entsg)(printnntfund)(setqxnil)2.7应用软件前、后处理由于软件升级滞后,一些常用软件后处理功能很弱或没有,可以利用LSP程序结合AutAD增加或简化前后处理功能。下面结合平面渗流分析程序STSE软件对其前、后处理功能的实现进行介绍:(1)前处理STSE为平面渗流有限元程序

19、,单元划分和单元、节点编号工作量最大,可以借助其它通用有限元软件的前处理功能如Ansis、Algr、SAP84等进行初步处理,生成单元、节点编号和节点坐标,而后按照STSE数据文件的格式要求对数据文件进行编辑。(2)后处理后处理成果主要为:单元网格图,浸润线和等势线。单元网格图中有节点和单元编号,不同渗透系数的单元采用不同的颜色,以便根据网格图直观地判断数据文件中几何参数和材料特性的正误;首先分析STSE的输出结果文件的格式,搜索并筛选其中主要参数如单元总数、节点总数和材料总数,把节点坐标和单元信息分别存储,通过对单元循环生成单元网格图。(defun:seepesh()(iffn(setqfn

20、(getfiled渗流结果文件名fn2)(setqfn(getfiled渗流结果文件名2)(setqf(penfnr)(setqd(read-linef)(hile(/=(substrd258)单元总数)(setqd(read-linef);定位单元总数(setqdyzs(ati(substrd585);读单元总数(setqd(read-linef)(setqjdzs(ati(substrd585);读节点总数(setqd(read-linef)(setqlh(ati(substrd585);读材料总数(setq0)(repeatlh(setq(+1)(setqt(stratzlh(ita)(

21、andlayert(ita)t);按材料种类生成图层名称(setq0n0)(repeatdyzs;对单元循环,dyfb中存放单元信息(setq(+1)(setqlh(nth0(nthdyfb)(setqjdh1(nth1(nthdyfb)(setqjdh2(nth2(nthdyfb)(setqjdh3(nth3(nthdyfb)(setqjdh4(nth4(nthdyfb)(andlayers(stratzlh(italh)(andpline;绘制单元网格(nthjdh1jdzbb)(nthjdh2jdzbb)(nthjdh3jdzbb)(nthjdh4jdzbb)(setqbzdzb(apa

22、r+(nthjdh1jdzbb)(nthjdh2jdzbb)(nthjdh3jdzbb)(nthjdh4jdzbb)(setqbzdzb(list(/(arbzdzb)4.0)(/(adrbzdzb)4.0)(andtextbzdzb0.50(ita);标注单元号(setq0)(repeatjdzs(setq(+1)(setqbzdzb(nthjdzbb)(setqbzdzb(list(+(arbzdzb)0.0)(+(adrbzdzb)0.0)(andtextbzdzb0.50(ita);标注节点号(lsef)限于篇幅,等势线和浸润线生成程序不再赘述。同样,对工程设计中遇到的其它软件如:STAB边坡稳定分析、SAP84的输出文件均可进行类似后处理工作。3结语AutAD软件应用已经在设计单位普及,VisualLisp的出现对于提高Lisp语言的编程效率和AutAD应用水平具有重要意义。本文涉及的几个实例已经在实际工作中发挥很大作用,充分说明在工程设计当中结合本专业要求开发一些简单实用的Lisp小程序可以有效减轻设计人员的劳动强度,使AutAD不仅仅是绘图工具,而真正成为设计人员得心应手的高效设计平台。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!