没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论























个人收集整理 勿做商业用途
1 / 17
CAD 技术在水利水电工程中的应用
作者:不祥 上传:不祥 来源:水工网 2006-01-13 00:37
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

个人收集整理 勿做商业用途
2 / 17
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 文件如下
(defunC: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)

个人收集整理 勿做商业用途
3 / 17
(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 地形切剖面
水电工程设计中经常遇到在地形图上切剖面的问题,借助 VisualLisp 可以实现快
速切剖面。
(1) 初始地形图处理
把带 z 坐标的地形平面图进行变换,变换后 z 坐标值成为层名,为加快切剖面运行
速度,把“LWPOLYLINE”和”SPLINE”均转化为”LINE“线,程序如下精品文档收集整理汇总

个人收集整理 勿做商业用途
4 / 17
(defunc:pltol()
;LWPOLYLINE 转化为 LINE
(setqn 0)
(setqe (ssget"X" (list (cons 0 "LWPOLYLINE"))))
(setqsh (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))
)
(defunc:spltol ()
;SPLINE 转化为 LINE
(setqn 0)
(setqe (ssget "X" (list (cons 0 "SPLINE"))))
(setqsh (sslength e))
(if e
(while (< n sh)
剩余16页未读,继续阅读
资源评论


可爱豆豆乐
- 粉丝: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 复旦大学计算机科学技术学院计算机视觉课程的作业
- 复旦大学计算机科学技术学院计算机视觉课程作业
- Python技术在企业财务分析及决策中的应用研究-以青木股份为例.pdf
- Linux系统资源分配与利用功能测试工具的设计与实现.pdf
- 基于MATLAB-GUI的多目标情景下的切削参数推荐系统.caj
- 通过CPU路由功能访问MM440变频器(MPI-DP)
- 通过CPU路由功能访问MM440变频器(PN-DP)
- 基于计算机视觉的颈椎姿态实时检测系统助力用户预防颈椎问题
- 图书管理基于Spring Boot与Vue的全栈图书管理系统设计:毕业设计项目源码详解与实现
- 基于python爬虫和NLP的聊天系统设计与实现.pdf
- 本仓库内为2022年春季学期中山大学计算机视觉课程的期末大作业
- 建模的3D和爆炸图,图纸
- 电驱系统电机定子绕组分布与集中技术解析:绕组形式对反电动势及NVH特性的影响
- 计算机视觉课程作业:DPN 代码复现实现
- UITARS-UNITY.rar
- 软件测试基于ADB的mumu模拟器自动化测试脚本优化:解决连接与操作指令失效问题
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
