版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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(fld10 x)(if(=(fld0 x)SPLINE)(prgn(and
8、layernnla6nlasnla)(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()(setqn0 xdzbnil)(setqxds0)(setqsh(sslengthe1)(hile(nsh)(setqx(entget(ssnaee1n)(if(=(fld0 x)LINE)(prgn(setqdxtgg(fld8x)(setqdxtgg(atidxtgg)(if(dxtgg10)(prgn(setqpst(fld10 x)(setqpet(fld11x)(setqzb(listg(list(arpst)(adrpst)(list(arpet)(a
10、drpet)(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)(setq0
11、ppnil)(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)(
15、setqp3(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)(set
16、q0)(hile(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(=(fld0 x)TEXT)(prgn(setqag(fld1x)(setq(substrag11)(if(r(=+)(=-)(and(=0)(=9)(prgn(if(r(=+)(=-)(setqbg(substrag2)(setqbgag)(setqg(atfbg)(set
18、qzh(rtsg2gs)(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(
20、setqfn(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)(andlayert(ita)t);按材料种类生成图层名称(setq0n0)(repeatdyzs;对单元循环,dyfb中存放单元信息(setq(+1)(setqlh(nth0(nthdyfb)(setqjdh1(nth1(nthdyfb)(setqjdh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流车行驶规范演练
- 配电装置最小安全净距
- 气道肿物鉴别与治疗
- 智能银行解决方案
- 第五章 万有引力定律宇宙航行 2025年高考物理基础专项复习
- 2.3.1物质的量 课件高一上学期化学人教版(2019)必修第一册
- 公司七夕团建活动
- 社区就业解决方案
- 艺术创作分包管理
- 石材健康监测合同
- 2022年教师资格之中学教育学教育心理学全国通用试题
- 主体验收施工单位发言稿
- 2023年聚合物材料表征测试题库
- 碟式离心机图片集
- 2020人文素养试题及答案
- 2023年四川天府银行校园招聘笔试模拟试题及答案解析
- 铸牢中华民族共同体意识学习PPT
- 酒店工程管理的意义
- 高血压(英文版)-课件
- 冷库安装与维修4-1(冷库的安全防护)课件
- 螺纹一螺纹基础知识
评论
0/150
提交评论