- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Auto Lisp在百图水利土石方设计软件中快速标注中桩高程应用
Auto Lisp在百图水利土石方设计软件中快速标注中桩高程应用 【摘 要】本文叙述了利用AutoLISP在百图水利土石方设计软件中快速标注中桩高程的应用,并通过实例证明程序是可行性的。 【关键词】AutoLISP 百图水利土石方设计软件 水利测量 横断面图 中桩高程 1 引言 AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。通过AutoLISP编程,可以节省内业很多时间。AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。它能帮助经常使用或重复操作步骤的自动化,从而显著地提高工作效率。其基本功能是可以控制用户与程序运行之间的相互关系。AutoLISP具有容易撰写、容易学习、无需编译、安全性好等特点。 2 问题及解决方法 百图水利土石方设计软件是目前在水利工程测量中常用的软件之一,它对土石方工程(如堤防、河道、渠道、土坝、道路等)断面数据的提取及批量绘制横断面图等有着很强的功能。但是,在批量绘制好的横断面图上,每标注一个横断面中桩高程都必需重复进行“高程校准 → 选取标尺 → 高程标注 → 指定高程符号插入点”这四步曲,操作起来就很费时费力并且容易出错。针对这一情况,通过对横断面数据及横断面图进行了分析,结果发现数据中桩高程是唯一的,也就是说每一个横断面数据中都有一个中桩高程(注:如要用下面这个程序,先检查数据后再应用,每一条横断面数据中只能保留一个中桩高程,否则程序就会将中桩高程标注错位。),其数据格式为“ 0.000 90.398”;再分析绘制好的横断面图,发现横断面的“断面排列间距”是一个固定值。根据这两个特点,笔者利用AutoLISP语言编写了一个小程序,就可以解决这一问题。 3 程序代码 ;;;批量标注横断面中桩高程 (defun c:gcsb(/ f p jj str b h) ;(regmap) (setq f (getfiled \n选择断面数据文件 d:/ txt 2)) (setq ltscale (htblc)) (setq jj (getreal \n输入断面排列间距: )) (if (= jj nil) (setq jj 100)) (setvar osmode 32) (setq p1 (getpoint \n指定点:)) (setvar osmode 0) ;;; (setq p4 (polar p1 (/ pi 0.66667) 0)) (setq pt (polar p4 (* (/ pi 2.0) 3) (- 0 (* jj 1000)))) ;;;上标 (setq p2 (polar p1 (/ pi 0.66667) (- 0 (* 2610.26 ltscale)))) ;;;下标 ;(setq p2 (polar p1 (/ pi 0.66667) (* 5002.22 ltscale))) ;;; (setq p3 (polar p2 0 (* 2004.89 ltscale))) (setq p (polar p3 (* (/ pi 2.0) 3) (- 0 (* jj 1000)))) (setq f (open f r)) (setq str (read-line f)) (while (and (/= str nil) (/= str )) (setq b (substr str 1 15)) (if (= b 0.000 ) ;(setq b (substr str 1 5)) ;(if (= b 0.0 ) (progn (setq h (substr str 16 7)) ;(setq h (substr str 6 7)) (setq pt (polar pt (* (/ pi 2.0) 3) (* jj 1000))) ;(setq p (polar p (* (/ pi 2.0) 3) (* jj 1000))) (command layer m zzbz c white zzbz ) ;;;上标 (command insert ele_sym05.dwg pt (* 2500 ltscale) (* 2500 ltscale) h) ;;;下标 ;(command insert ele_sym15.dwg pt (* 2500 ltscale) (* 2500 ltscale) h) ) ) (setq str (read-line f))
您可能关注的文档
最近下载
- 训练基地信息化系统维保项目方案投标文件(技术方案).doc
- 人教版道德与法治三年级上册第5课《 走近科学家》第2课时 他们离我们并不遥远 教学课件.pptx VIP
- 黄浦区卢湾中学能源审计报告.pdf VIP
- HDJH30-120J型架桥机说明书.doc
- 5.2用圆设计图案(表格式)教学设计 人教版六年级上册数学.docx VIP
- 航空集装器知识 .pdf VIP
- SHT-3012-2011 石油化工金属管道布置设计规范.pdf VIP
- AI赋能教育的思考与应用 教师培训课件.pptx VIP
- sfz jd2015数据库数据真实性鉴定.pdf VIP
- 公司中层领导人员任职回避和公务回避管理实施细则.docx VIP
文档评论(0)