CAD技术在水利水电工程中的应用_第1页
CAD技术在水利水电工程中的应用_第2页
CAD技术在水利水电工程中的应用_第3页
CAD技术在水利水电工程中的应用_第4页
CAD技术在水利水电工程中的应用_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、sp语言与AutoCAD相结合的产物,是一种智能型语言。利用 AutoLisP可以灵活方便地增加AutoCAD新命令,几乎无限地扩展AutoCAD新功 能,2应用实例2 .1 坐标画线利用已知坐标点画线是设计工作中经常遇到的问题,如河道、堤防等实测断面、水位流量关系曲线、堰面曲线等数据的处理,均可归结为坐标画线问题。对于堰面曲线等有函数方程的曲线可以利用EXCEL按照期望的步长自动生成一系列坐标点。对于测量常用的起点距-高程形式的数据,也可以利用EXCEL转化成 坐标点形式。(1)利用脚本文件(.SCR)利用任何文本编辑器如 Note、Uedit、Word Excel等建立纯文本文件,注意文本

4、文件后缀必须为.SCR,坐标之间用半角逗号分开,文件中不允许出现空 格,文件最后一行必须为空回车。文件建立时,可以直接把EXCEL或其他文件中 的坐标表利用拷贝、粘贴功能加入脚本文件中。Pli ne文件保存后,执行AutoCAD中“工具”下的“运行脚本”,在显示的窗口 中查找并选中,屏幕上会立即显示所绘线条。(2)利用LSP程序建立坐标表文件,后缀任意,可以依次输入多段曲线,中间用曲线名称分 开,程序自动绘制多条曲线并可标注坐标表。“曲线T“曲线2”利用AutoCAD中“工具”菜单下的“ VisulLisp编辑器”建立文件如下(defu n C:drli ne()(if fn(setq fn

5、(getfiled(setq fn (getfiled)(setq f (open fn(setq pO (get poi nt (setq bz 0 mm 1) (mand “ pline ”) (while (/= bz 1) (setq md (read-li ne f) (if (/= md nil) (setq zbb (read md) (setq bz 1)“坐标点文件名”“坐标点文件名” r )“ n画线起点:”fn “ 2)“ 2)(setq dx (car zbb) dy (cadr zbb)(setq p1 (list (+ dx (car pO)(+ dy (cadr

6、p0)(ma nd p1)(setq mm (1+ mm)(mand “)(close f)文件存盘后,加载运行,相当于新增加了坐标画线命令drline按提示选中存放坐标表的文件即可实现自动绘制曲线。2 .2 地形切剖面水电工程设计中经常遇到在地形图上切剖面的问题,借助Visual Lisp可以实现快速切剖面。(1)初始地形图处理把带z坐标的地形平面图进行变换,变换后z坐标值成为层名,为加快切剖面运行速度,把“ LWPOLYLINE和” SPline均转化为” line “线,程序如下(defu n c:pl tol();lwpolyline转化为 line(setq n 0)“LWPOLYL

7、INE)(setq e (ssget ” X (list (cons 0(setq sh (ssle ngth e)(if e(while ( nm 5)(if(= (car (nth nm x) 10)(progn(setq b1 (n th nm x)(setq x1 (cadr b1)(setq y1 (caddr b1)(setq z1 (cadddr b1)(setq glb (list x1 y1)(ma nd glb)(setq nm (- nm 1)(mand “)(setq n (+ n 1)(2)切剖面输入剖面编号,在平面地形图上指定两点确定剖面剖切线位置,指定剖面图起点,

8、利用AutoCAD的inters函数搜索剖切线与地形图的全部交点,自动计算 交点坐标,计算交点与剖面位置起点的距离,按各交点高程和与起点的距离形成 剖面图各点坐标,即可用本文实例1坐标画线生成地形图的剖面。(defu n dxte nt1 ()(setq n 0 xdzb n il)(setq xds 0)(setq sh (ssle ngth e1) (while ( dxtgcgc 10) (progn(setq pst (fld 10 x)(setq pet (fld 11 x)(setq zb (list gc(list (car p st) (cadr p st)(list (car

9、 p et) (cadr p et)(setq xdzb (cons zb xdzb)(setq xds (+ xds 1)(setq n (+ n 1)()“n剖面号”)(defun c:dxtsec(setq pmh (+ pmh 1)(setq pmh (getstri ng(setq pt1 (get point(setq pt2 (get poi nt pt1(setq pt3 (get poi nt(setq pO1 pt3)(setq e1 (ssget“ F”“n“n剖切位置起点:”)“n剖切位置终点:”) 剖面图布置:”)(list pt1 pt2);“ F”方式选取与剖切线

10、相交的地形线。(dxte nt);获取与剖切线相交地形线的坐标(setq mxgc -100)(setq mngc 10000)(setq m 0 pmp nil)(setq n xds i 0)(while (= m 26) (setq bzstr (strcat (chr (+ 64 (/ m 26) (chr (+ 65 (- m (* 26 (/ m 26)(mand “text ”“ (list (+ (car p1) (* colw) (* m表格内容标注利用AutoCAD的目标选择colw);(-(cadr p1) (* rowh) (* n rowh)(getvar ” TEX

11、TSIZE )“0” (strcat bzstr (itoa (+ n 1)(setq m (+ m 1)(setq n (+ n 1)(3)生成钢筋表钢筋表和材料表生成是施工图设计中比较繁琐的一项工作,很容易出错,此处介绍利用程序进行钢筋表和材料表自动生成的方法。利用造字程序增加 II级钢筋的直径标注符号和)以后在其它电脑上只要把和E见下表,增加3个命令:生成钢筋表、钢筋表添加和自动生成材料表。生成钢筋表时按指定表格位置生成钢筋表表头,根据提示输入钢筋编号(可以不连续)、钢筋等级和直径如20、16.交互绘制钢筋简图和标注长度(标注长度可以输入多种形式如 50200表示长度等差变化;30,40

12、,50表示一个编号 多个钢筋长度,),钢筋根数,构件组数,程序自动完成表格其余各项(总长度、重量, 对于I级钢筋长度中自动计入弯钩长度)的填写,备注栏中自动填入等差变化钢 筋的等差值。采集钢筋表中直径、等级和总长信息,经过自动分类汇总,生成钢筋表的材料表。2 .6高程小数位数处理尺寸标注小数位数很容易调整,但诸如高程、表格中数字要调整则很困难, 借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留 的小数位数,则程序自动对所有选种数字进行修改。(def un en tsgc()(setq n 0)(setq sh (ssle ngth e1)(while (= c(prog

13、n(if (or (= c“0”)(<= c“9”)+ ) (= c)(setq bgc (substr agc 2)(setq bgc agc)(setq cgc (atof bgc)(setq zh (rtos cgc 2 gcws)(if (or (= c“ +” ) (= c(setq zh (strcat c zh)(setq x (subst (cons 1 zh) (assoc 1 x) x)(en tmod x)(setq n (+ n 1)(defu n c:yxws()(setq e1 (ssget)0)“保留小数位数:”)“ n not found ” )(setv

14、ar“dimzin ”(setq gcws (get int(if e1 (en tsgc) (print(setq x nil)2 .7 应用软件前、后处理由于软件升级滞后,一些常用软件后处理功能很弱或没有,可以利用LSP程序结合AutoCAD增加或简化前后处理功能。下面结合平面渗流分析程序STSE软件对其前、后处理功能的实现进行介绍:(1) 前处理STSE为平面渗流有限元程序,单元划分和单元、节点编号工作量最大,可 以借助其它通用有限元软件的前处理功能如 An sis、Algor、SAP84等进行初步处 理,生成单元、节点编号和节点坐标,而后按照STSE数据文件的格式要求对数据 文件进行编

15、辑。(2) 后处理后处理成果主要为:单元格图,浸润线和等势线。单元格图中有节点和单 元编号,不同渗透系数的单元采用不同的颜色,以便根据格图直观地判断数据文 件中几何参数和材料特性的正误;首先分析STSE的输出结果文件的格式,搜索并筛选其中主要参数如单元总数、节点总数和材料总数,把节点坐标和单元信息分别存储 成单元格图。(defun c:see pm esh()(if fn(setq fn (getfiled(setq fn (getfiled(setq f (open fn(setq md (read-li ne f)(while (/= (substr md 25 8)(setq md (r

16、ead-li ne f);定位单元总数(setq dyzs (atoi (substr md 58 5);(setq md (read-li ne f)(setq jdzs (atoi (substr md 58 5);(setq md (read-li ne f)(setq clh (atoi (substr md 58 5);(setq m 0)(rep eat clh(setq m (+ 1 m)(setq tcm (strcat“ zclh ”(mand “ layer ” “ m” tcm );按材料种类生成图层名称“渗流结果文件名” fn “渗流结果文件名”“ “” r )“单元总

17、数”)2)“ 2)读单元总数读节点总数读材料总数(itoa m)“c” (itoa m) tcm “),通过对单元循环生(setq m 0 n 0)(repeat dyzs;对单元循环,dycfb中存放单元信息(setq m (+ m 1)(setq clh (nth 0 (nth m dycfb)(setq jdh1 (nth 1 (nth m dycfb)(setq jdh2 (nth 2 (nth m dycfb)(setq jdh3 (nth 3 (nth m dycfb)(setq jdh4 (nth 4 (nth m dycfb)(mand “ layer ”“s” (strcat

18、 “zclh ” (itoa clh)(mand “ pline ” ;绘制单元格(nth jdh1 jdzbb)(nth jdh2 jdzbb)(nth jdh3 jdzbb)(nth jdh4 jdzbb)“ c”)(setq bzdzb (ma pear + (nth jdh1 jdzbb)(nth jdh3 jdzbb) (nth jdh4 jdzbb)(setq bzdzb (list (/ (car bzdzb) ) (/ (cadr bzdzb)(mand “text ”“ m” bzdzb “ “0” (itoa m);标注单元号(setq m 0)“ “)(nth jdh2 jdzbb)(repeatjdzs(setq1)(setqbzdzb(nthjdzbb)“0”(itoa(setq bzdzb (list (+ (car bzdzb) ) (+ (cadr bzdzb) (mand“text

温馨提示

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

评论

0/150

提交评论