现代职业教育杂志社 > 现代职业教育论文中心 >

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

2014-04-19  |  点击:  |  栏目:现代职业教育论文中心

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

    摘要:AutoCAD是广大工程设计人员普遍使用的通用绘图软件,结合专业特点,通过对AutoCAD系统的二次开发可以开发出满足各种用途的专业软件,即使对于普通设计人员也可以通过AutoCAD内嵌的VisualLisp语言方便地增加CAD命令,扩充完善适合本专业的新功能,从而极大地提高工作效率,本文通过几个应用实例对AutoCAD在水工设计上的应用进行了探讨。
    关键词:CAD技术 应用 水利水电工程 AutoCAD VisualLisp语言
    1 概述
    美国Autodesk公司开发的AutoCAD系统自1982年推出以来,以其使用方便、功能强大和系统开放性一直独领风骚。成为各工程领域首选的CAD系统。
    水利水电工程领域利用AutoCAD平台进行二次开发也取得了一系列成果,如90年代以来陆续开发的水电站地面厂房CAD系统、重力坝CAD系统、隧洞CAD系统、水机油汽水CAD系统、地质柱状图CAD等均取得了较好的应用效果。但水电工程设计的复杂性决定了任何现成的CAD软件都有其局限性,设计过程中许多问题还只能用原始的方法解决。本文通过几个实例对AutoCAD二次开发常用的Lisp语言在水电工程设计中的应用进行了初步探讨,希望能够起到抛砖引玉的作用。
    VisualLisp语言是AutoCADR14版本以后提供的全新的开发环境,是嵌于AutoCAD内部,将Lisp语言与AutoCAD相结合的产物,是一种智能型语言。利用AutoLisp可以灵活方便地增加AutoCAD新命令,几乎无限地扩展AutoCAD新功能,
    2 应用实例
    2 .1 坐标画线
    利用已知坐标点画线是设计工作中经常遇到的问题,如河道、堤防等实测断面、水位流量关系曲线、堰面曲线等数据的处理,均可归结为坐标画线问题。对于堰面曲线等有函数方程的曲线可以利用EXCEL按照期望的步长自动生成一系列坐标点。对于测量常用的起点距-高程形式的数据,也可以利用EXCEL转化成坐标点形式。
    (1)利用脚本文件(.SCR)
    利用任何文本编辑器如Note、Uedit、Word、Excel等建立纯文本文件EX1.SCR,注意文本文件后缀必须为.SCR,坐标之间用半角逗号分开,文件中不允许出现空格,文件最后一行必须为空回车。文件建立时,可以直接把 EXCEL或其他文件中的坐标表利用拷贝、粘贴功能加入脚本文件中。
    Pline
    345.66,238.65
    213.45,124.56
    128.44,235.66
    文件保存后,执行AutoCAD中“工具”下的“运行脚本”,在显示的窗口中查找并选中EX1.SCR,屏幕上会立即显示所绘线条。
    (2)利用LSP程序
    建立坐标表文件EX2.DAT,后缀任意,可以依次输入多段曲线,中间用曲线名称分开,程序自动绘制多条曲线并可标注坐标表。
    “曲线1”
    213.45,124.56
    128.44,235.66
    345.66,231.78
    “曲线2”
    433.34,567.23
    434.12,464.12
    利用AutoCAD中“工具”菜单下的“VisulLisp编辑器”建立DRLINE.LSP文件如下
    (defun C:drline()
    (if fn
    (setq fn (getfiled "坐标点文件名" fn "" 2))
    (setq fn (getfiled "坐标点文件名" "" "" 2))
    )
    (setq f (open fn "r"))
    (setq p0 (getpoint "\n画线起点:"))
    (setq bz 0 mm 1)
    (command "pline")
    (while (/= bz 1)
    (setq md (read-line f))
    (if (/= md nil)
    (setq zbb (read md))
    (setq bz 1)
    )
    (setq dx (car zbb) dy (cadr zbb))
    (setq p1 (list (+ dx (car p0))
    (+ dy (cadr p0)))
    )
    (command p1)
    (setq mm (1+ mm))
    )
    (command "")
    (close f)
    )
    文件存盘后,加载运行,相当于新增加了坐标画线命令DRLINE,按提示选中存放坐标表的文件即可实现自动绘制曲线。
    2 .2 地形切剖面
    水电工程设计中经常遇到在地形图上切剖面的问题,借助Visual Lisp可以实现快速切剖面。
    (1)       初始地形图处理
    把带z坐标的地形平面图进行变换,变换后z坐标值成为层名,为加快切剖面运行速度,把“LWPOLYLINE”和”SPLINE”均转化为”LINE“线,程序如下
    (defun c:pltol()
    ;LWPOLYLINE转化为LINE
    (setq n 0)
    (setq e (ssget"X" (list (cons 0 "LWPOLYLINE"))))
    (setq sh (sslength e))
    (if e
    (while (< n sh)
    (setq e1 (ssname e n))
    (command "pedit" e1 "d" "")
    (setq x (entget e1))
    (setq ngc (atof (setq la (fld 8 x))))
    (command "explode" e1)
    (setq n (+ n 1))
    ) ) )
    (defun fld (num lst)
    (cdr (assoc num lst))
    )
    (defun c:spltol ()
    ;SPLINE转化为LINE
    (setq n 0)
    (setq e (ssget "X" (list (cons 0 "SPLINE"))))
    (setq sh (sslength e))
    (if e
    (while (< n sh)
    (setq x (entget (setq e1 (ssname e n))))
    (setq nla (itoa (fix (caddr (fld 10 x)))))
    (if (= (fld 0 x) "SPLINE")
    (progn
    (command "layer" "n" nla "c"
    "6" nla "s" nla "")
    (command"line")
    (setq    nm   (length x)
    dzs  (fld 73 x)      dzs1 (fld 74 x))
    (while (> nm 5)
    (if    (= (car (nth nm x)) 10)
    (progn
    (setq b1 (nth nm x))
    (setq x1 (cadr b1))
    (setq y1 (caddr b1))
   

[1] [2] [3] [4] 下一页

相关文章:
  • 1 建筑材料课程教学方法的探讨
  • 2 行为导向教学法在中职机械加工教学中的应用
  • 3 任务引领教学法在中职电气控制技术教学中应用的探索
  • 4 中职汽修专业教学中趣味教学策略的积极融入
  • 5 行动导向教学法的实践研究
  • 6 项目教学法在中职网络营销教学中的应用研究
  • 7 项目教学法能有效提高职业中学的计算机教学质量
  • 8 关于新课程背景下高中数学有效教学方法的探索
  • 9 高职英语项目化教学改革中的问题及对策探讨
  • 10 食品营养与检测专业设置与锡林郭勒地区产业需求对接研
  • 现代职业教育杂志论文在线投稿
    刊物简介
      现代职业教育
    • CN :14-1381/G4
    • ISSN:2096-0603
    • 邮发代号:22-382
    • 邮箱投稿:xdzyjy@163.com

    • 国家新闻出版总署收录
    • 中国知网、万方数据—数字化期刊群
    • 龙源期刊网、维普数据库全文收录。
    期刊目录
    杂志动态
    最近更新