- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
巧用AUTOLISP编程实现引大入港工程管道特征点标注
巧用AUTOLISP编程实现引大入港工程管道特征点标注摘要:本文阐述利用AUTOLISP语言技术完成引大入港管道输水工程特征点标注工作的编程主要开发过程。
关键词:AUTOCAD;AUTOLISP;编程;管道特征点
Abstract: This paper describes using the AUTOLISP language technology completes the main development process of the cited in pipeline engineering feature annotation work programming.
Key words: AUTOCAD; AUTOLISP; programming; pipeline feature point
中图分类号:TV222.1 文献标识码:A文章编号:2095-2104(2012)
0 前言
AutoCAD是现代工程设计中广泛采用的设计方法和手段。多年来,它一直是国内使用最广泛、应用最成熟的计算机辅助绘图及设计软件,在水利设计等工程方面使用非常广泛。AutoLISP是由Autodesk公司开发的一种LISP程序语言,作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。
1 工程概况
引大入港管道输水工程是从沧州大浪淀水库引水至临港化工园区向大港油田采油三厂、黄骅市、沧化集团沧井公司供水的管道输水工程。工程主要建筑包括供水泵站和79.3km的输水线路,管材为主管道自供水泵站至大港油田分支采用预应力钢筒砼管道,直径1200mm,主管道自大港油田分支至黄骅市分支采用预应力混凝土管道,直径1200mm,黄骅市分支和沧化集团分支分别采用直径为600mm和800mm的玻璃钢管道输水,穿越工程及与管件阀件连接段采用钢管。工程总投资为15367.05万元。
2 开发缘由
在管道工程设计过程中,纵断面图管道特征点的标注是必不可少的。由于管道上需要标注的特征点类型非常多:如桩号、地面高程变化、管道附件、拐点等,因此如果采用人工标注的方法则相当繁琐,是必会占用大量人力物力,从而造成设计成本增加和设计周期的延长;并且由于工作的繁琐性,会造成许多人为错误。为了解决这一难题,本人设计采用AUTOLISP语言开发了管道特征点标注程序。
3 开发环境
操作系统:WINDOWS XP;
CAD系统:AUTOCAD 2004;
开发软件:AUTOLISP
4 开发过程
4.1 创建标准纵断图
以横1:100、纵1:200的比例、断面长度每500m一段,创建标准的A2幅面AUTOCAD纵断面图,并人工绘制需要标注特征点的竖向桩号线。
4.2 工作环境初始化程序的编制
4.2.1初始化坐标原点并建立工作坐标系
(setq zbydczd (getpoint “\n请输入坐标原点参照点:”))
(setq zbyd (getpoint “\n请输入坐标原点:”))
(command “ucs” “m” zbydczd )
(command “ucs” “m” zbyd )
4.2.2初始化标准图标注位置点及桩号起始点
(setq start_zh1 (getint “\n请输入该图起始整桩号:”))
(setq start_zh2 (getint “\n请输入该图起始分桩号:”))
(setq start_y (cadr (getpoint “\n请输入文字起始点: “)))
4.2.3选择需要标注的管径尺寸
(setq gj (getint “\n请输入管道直径:1,直径1200毫米;2,直径800毫米;3,直径600毫米:”))
4.3管道特征点标注主程序的编制
4.3.1在屏幕上可以直接拾取的特征点坐标。
(setq gxbg (getpoint “\n请输入管道中心标高点坐标: “))
(原地面标高、设计地面标高特征点程序源代码同上类似:略)
4.3.2依据拾取点Y坐标值在图纸指定位置计算输出特征点标注数值。
例如:计算并输出管中心标高(源代码如下)
(setq bg3 (/ (float (cadr gxbg)) 10))
(setq a1 (fix (* bg3 1000)))
(setq a2 (* (fix (* bg3 100)) 10))
(if ( (- a1 a2) 5) (setq bg3 (/ (float a2) 1000)) (setq bg3 (/ (+ (/
文档评论(0)