基于Autolisp的测量导线计算、绘图程序设计与实现
基于AutoLISP的AutoCAD参数化绘图

2) 根据绘图参数 ,设计交流界面 (对话框) 。对于参数化 绘图程序来说 ,对话框主要考虑绘图参数的输入和相关控件 的布局 ,为了增加程序的可读性 ,对话框中还要配有图像按 钮 ,用幻灯片来显示各绘图参数的含义 。
Key words :Auto L ISP ;AutoCAD ;paramet ric drawing ;redevelop ment s
1 引言
AutoCAD 是美国 AutoDesk 公司推出的一种通用的计算 机辅助设计和图形处理软件 ,具有易于掌握 、使用方便 、绘图 精确和体系结构开放等优点 。因此 ,自 1982 年问世以来深受 广大设计人员的青睐 ,是 CAD 族群中使用最普遍的软件之 一 。如今 ,AutoCAD 已广泛应用于机械 、建筑 、电子 、航天 、造 船 、冶金 、纺织 、轻工等领域 ,可见 AutoCAD 是一个通用的 CAD 软件 。但要使一个通用的 CAD 系统适合自己的专业工 作需要 ,达到使用方便的要求 ,就必须进行二次开发 。在 Au2 toCAD 为用户提供的 Auto L ISP 、A RX、VBA 等开发工具中 , Auto L ISP 是一种简便易学的解释性语言 ,具有很强的数据 表格处理功能 ,是开发 AutoCAD 的一种重要手段[1] 。
2 Auto L ISP 语言的特点简介
Auto L ISP 语言是嵌套于 AutoCAD 内部 ,将 L ISP (List Processing Language) 语言和 AutoCAD 有机结合的产物 ,它 是 AutoCAD 开放式体系结构的具体表现 。使用 Auto L ISP 可直接调用几乎全部 AutoCAD 命令 ,Auto L ISP 语言既具有 一般高级语言的基本结构和功能 ,又具有一般高级语言所没 有的强大的图形处理功能 ,是当今世界上 CAD 软件广泛采用 的语言之一[2 ] 。
第2讲利用AutoLisp语言绘图

第2讲利⽤AutoLisp语⾔绘图第2讲利⽤AutoLisp语⾔绘图在AuotCAD绘制简单图形时,有三种主要⽅式:(1)图标菜单(2)下拉式菜单(3)命令⾏。
事实上还有另外⼀种绘图⽅式,即通过lisp语⾔实现绘制图形。
利⽤Lisp语⾔绘图的最⼤优点是可以实现批处理,降低劳动强度。
⼩知识:Lisp语⾔最⼤优势是和AutoCAD绘图结合的很好,这也是该语⾔⾄今仍未被淘汰的最主要原因。
1、简单的绘图语句⼏乎AuotCAD中所有的绘图及环境设置命令都可以通过程序调⽤!,利⽤Lisp语⾔编写绘图命令的窍门是⾸先在命令⾏下把绘图命令和对应的参数记住,然后⽤Lisp语⾔的格式书写出即可。
1.1 绘制直线(command "line" "0,0" "1,1" "")1.2 绘制圆(command "circle" "0,0" 5)1.3 绘制正多边形(command "polygon" 5 "0,0" "i" 5)(command "polygon" "5" "0,0" "i" "5")都正确1.4 新建图层(command "la yer" "m" "道路" "c" 2 "" "")请同学⾃⼰编写⾼度为2,起点位置在“0,0”,⽂字内容是“理⼯⼤”的程序2、⽤多条绘图语句表⽰复杂图形正常情况下图形都⽐较复杂,需要⽤多条语句编写,例如测绘中的下⽔井、路灯等符号。
例1、下⽔井的绘制(defun c:xsj()(command "circle" "0,0" 0.5)(command "line" "-0.5,0" "0.5,0" "")(command "line" "0,-0.5" "0,0.5" ""))3、循环控制语句例2、绘制同⼼圆例3、绘制可多次插⼊的下⽔井符号例4、绘制y=sinx 曲线4、课后练习题4.1 编写lisp 程序,绘制路灯图案,参照下⽔井程序,改写成可以多次插⼊的程序。
AUTOLISP 编程(含绘图与编程)

CAD二次开发练习(打开程序的时候要把捕捉关掉)南通大学-机械工程学院(defun c:lx1()(setq p0(getpoint"确定基点:"))(setq l1(getreal"\n输入长方形的宽:"))(setq l2(getreal"\n输入长方形的长:"))(setq d1(getreal"\n输入圆孔的直径:"))(setq t1(getreal"\n输入键槽的高度:"))(setq b1(getreal"\n输入键槽的宽度:"))(setq r1(*0.5d1))(setq h1(+r1t1))(setq p1(polar p00(*0.6l1)))(setq p2(polar p0(*0.5pi)(*0.6l2))) (setq p3(polar p0pi(*0.6l1)))(setq p4(polar p0(*-0.5pi)(*0.6l2)))(setq p5(polar p00(*0.5l1)))(setq p6(polar p5(*0.5pi)(*0.5l2))) (setq p7(polar p6pi l1))(setq p8(polar p7(*-0.5pi)l2)) (setq p9(polar p80l1))(setq p10(polar p0(*0.5pi)h1))(setq p11(polar p100(*0.5b1)))(setq p12(polar p11pi b1))(setq p13(polar p0pi(*0.5b1)))(setq p14(polar p130b1))(setq p15(polar p0(*0.5pi)r1))(setq p16(polar p0(*0pi)r1));为标注设定的点(setq p17(polar p7(*0.5pi)8))(setq p18(polar p10(*0.5pi)t1))(setq p19(polar p0(*0.25pi)(*1.2r1))) (setq p20(polar p0pi(*1.2r1)))(setq p21(polar p00(*0.7l1)))(setq p22(polar p0(*-0.5pi)r1)) (setq p23(polar p0(*0.25pi)r1)) (setq p24(polar p0(*-0.25pi)(*1.2r1))) (setq p25(polar p0(*-0.75pi)(*1.2r1))) (setq p26(polar p0(*0.75pi)(*1.2r1))) ;基本指令操作(command"pline"p6p7p8p9p6"") (command"circle"p0r1"") (command"line"p14p11"") (command"line"p11p12"") (command"line"p12p13"") (command"_trim"p13p14""p15"") (command"_trim"p16""p13p14"");保存当前图层,并建立center这个图层(setq ss(getvar"clayer"))(command"-layer""m""center""c""红色""center""l""center""center""");如图可以看到具体相应的操作,“m”为生成图层,这个图层的名称为“center”,“c”为线条定义颜色,为红色,选定当前的center图层,“l”为选择线型,选用中心线的线型,选定当前的center图层。
AUTOLISP语言在输电线路绘图设计中的应用

测 量数
(eqL o lT st o p ) ( hl ( n L o l ( wi e ad op /= s l “ ” ) ; t r ,)
Fi d X n
(eqs l(u s l e 21 ) st t sbt a n lI ) r r i (eqI ( + I ) st 2 1 2) (e o nel( + cu t 1 ) st c u tr 1 o ne ) q r (f(> cu t l2 0 i o ne 0 ) r (eqa n ra ief ) st l e(ed~l 1 ) i n (eqJ 1+ 儿) st 1( ) ) hl ;w i e (eqv s 1(ees lt1 ) st lt rvrev sl ) i2 i ( ed P Svi2 ) R a - G lt1 s ( o a d “ om” “ ” \r cmm n Z o e 、 ) en ;d f u ( e nR a ~ P S (l t ) df e d G u v s1 i ( e l t L n(eghvi 1 ) st V i— e 1n t l t) q s s (eqI 0 st 1 ) ( hl wi e(> V i— L nI ) l t e 1 s (eqa n l( t I vi 1 ) st l e n 1 lt ) i h s (f(> (te l e )2 ) i s lnai 1 0 ; r n ( rg po n ( e t “ ) st s l A” q r
如何快速绘制输电线路平断面图?利用 M . i
言是 A T C D的开发语言,附带在 A T C D UOA U O A COotE cl和 A tC D 提 供 的 A T LS l¥f x e " uo A U O IP功 的产 品 中。通 过 A T LS U O IP编 程 可 以 实 现 设 计 能,编制程序进行绘 制,即把 M c st xe io f r o ?Ecl
基于AutoLisp的AutoCAD二次开发在测绘图形处理中的应用

基于AutoLisp的AutoCAD二次开发在测绘图形处理中的应用摘要:本文介绍了如何利用Autolisp语言对AutoCAD进行二次开发,并实现了根据断面图来半自动化生成高程点,其结果大大提高了根据断面图绘制平面图的质量和速度。
关键词:AutoCAD Autolisp 自动化程序断面1引言在实际的测绘生产工作中,我们经常会遇到利用已有的断面图来绘制平面图进而复原地形的情况,想要绘制平面图高程点元素是必不可少的,那么我们就必须根据已有的断面图来生成相应的高程点。
本文介绍了如何利用Autolisp语言在AutoCAD中实现根据设计断面图半自动化生成高程点,简化了原来利用AutoCAD测距量取距离,计算桩号、偏距、高程,再用Cass交互展点画出高程点的生成办法,在提高了准确率的同时也提高了工作效率。
2 Autolisp简介Autolisp是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor(表处理程序)的缩写。
LISP语言具有语法简单,通俗易懂等特点,通过autolisp编程,可以节省工程师很多时间。
AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具[[1]]。
在工程测量领域中,AutoCAD得到了普遍应用,在日常工作中有许多人在研究使用AutoCAD,并画出了很多工程图纸。
然而,人们经常会感觉到作图效率还是不够高,这是因为AutoCAD是一个通用的绘图软件,并不具备专业特色。
AutoCAD开放的结构为不同的使用者留出了广阔的空间,提供了许多二次开发工具,AutoLISP是其中最强大的一个,Autolisp是AutoCAD自带的一门编程语言,无需安装,是为扩展和自定义AutoCAD功能而设计的编程语言,Autolisp易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。
Autolisp嵌入AutoCAD内部,它不仅具有一般高级语言的基本结构和功能,而且还具有强大的图形处理和数据交换功能。
基于Auto CAD等高线绘制的算法及程序设计

基于Auto CAD等高线绘制的算法及程序设计【摘要】采用AutoLISP(Visual LISP)语言在AutoCAD环境下进行二次开发,设计平面等高线绘制程序,为地形图制图时等高线绘制提供方便易用的工具,从而提高绘图效率,并使AutoCAD真正地起到辅助设计作用。
并为基于AutoCAD环境下进行二次开发的应用与研究提供参考。
【关键词】AutoLISP ; 离散高程点;Delaunay三角网;等高线The calculate way and program design drawn according to the contour line in maps of Auto CADWang Ri(Shangxi electric power survey design hospital Taiyuan Shangxi 030001)【Abstract】Adoption the AutoLISP(Visual LISP) language carry on under the AutoCAD environment two development, design the flat surface contour line in maps draw procedure, for geography diagram graphics the contour line in maps draw to provide convenience easy use of tool, thus exaltation painting efficiency, and make the AutoCAD really have assistance design bine for according to AutoCAD environment bottom carry on two development of application provide reference with research.【Key words】AutoLISP; Long-lost high point;The Delaunay triangle net;Contour line in maps1. 引言Auto CAD是由美国Autodesk公司开发的通用计算机辅助设计软件。
基于AutoLISP的工程测量制图辅助软件

置, 随后 将 该 点 的坐 标 追 加 到 l s t C o r 中的 1 号表 中 。
( p r o g n ; n a ne a l l 中不 包 含 结 束 符 时 ( r e p e a t ( 一( 一( 1 e n g t h l s t c o r R e ) x ) 1 ) ( s e t q l s t c o r - t m p c o n s ( n t h X l s t c o r R e ) 检
测
●
③ 若在表 l s t L i b中未找到 k 1 或者 k 1 后 已有结束符 , 则在
l s t L i b中新增 表 ( k l , 3 ) , 在 l s t C o r 中新增 3号 表( k 1 , ) , 然后将 该 点 的坐标追 加到 l s t C o r 中的 3 号表 中。 ④ 最后当 n a me A l l 中包 含“ 一 ” 和结 束符 时 , 对l s t C o r 相应 表 中的数据进行重新排序 , 将结 束符写人到 l s t L i b对应 的记 录
( s e t q i s C o n t a i n E n d 1 )
量 技 术
; 一 一 一
l s t c o d e ) ) ) )
将坐标写人表 l s t c o r 中… … 一 一 一
( s e n l s t T mp ( 1 i s t( a t o f( n t h 2 l s t c o d e ) )( a t o f( n t h 3 ( s e t q l s t c o r — n e w 0 )
基于Auto LISP的参数化绘图技术与实例分析

基于Auto LISP的参数化绘图技术与实例分析摘要:AutoCAD 是一款通用的绘图软件,Auto LISP是嵌入AutoCAD的二次开发工具,参数化绘图是其典型的应用。
文章探讨了参数化绘图设计原理及步骤,并以轴承参数化绘图为例,介绍了Auto LISP的参数化绘图技术。
关键词:参数化;AutoCAD;Auto LISPAutoCAD是由Autodesk公司发行的一款应用于多领域的设计辅助和图形处理软件。
在机械行业得到了广泛应用。
AutoCAD虽然功能强大,但在专业应用上还是有不足之处,如何让通用的CAD系统更适合行业需要,必须对其要进行二次开发。
AutoCAD在30多年时间里相继推出了Auto LISP、ADS、Visual LISP、VBA、Object ARX、几种不同层次的二次开发工具。
“其中Auto LISP是唯一的一种以解释方式运行于AutoCAD内部的解释性程序设计语言,Auto LISP把数据和程序统一表达为表结构,所以它既可以把程序当作数据来处理,还可以把数据当作程序来执行”。
其语言规则简单,直接针对AutoCAD,易学易用,AutoCAD的绝大多数命令可直接调用,参数化绘图是其典型的应用之一。
1 参数化绘图设计原理及步骤所谓参数化就是将图形的有关几何关系、约束关系有机地结合起来,从而构成一个完整的参数化模型。
当设计人员改变图形的某一参数时,模型能根据尺寸及几何约束等自动计算出满足约束关系的工程图形。
参数化编程方法的实质,就是将图形信息记录在程序中。
它用一组变量记录图形的几何参数,用一些约束条件或者赋值语句来表达几何参数与结构参数之间的关系,再用一些绘图语句来表述图形的拓扑关系。
参数化方法快捷、高效,参数化绘图程序编写步骤是:①先进行图形结构特征分析,一般绘制一个零件的图样,需要很多尺寸,这就需要我们分析这个零件,确定图形中的关健几何尺寸及图形对象之间的依赖关系。
②从设计角度具体分析,确立不仅能体现零件的结构特征,又可以推导出其它尺寸的基本尺寸作为图形参数,并明确尺寸与图形参数之间的关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A u t o c a d是微 机 上最 广泛 应 用 的绘 图软 件 , 具 有
强 大 的 图形 编 辑 功 能 和 完 全 开 放 的结 构 , 内嵌 了 较
度, 如6  ̄ 6 8 , 输入 时采 用 小数 6 : 0 6 0 8 , 在 C A D 中输 入 十分 方便 。 2 . 2 A u t o l i s p程 序 源代码 ( d a o x i a n . 1 s p文件 ) ( d e f u n C: d a o x i a n( /t e s t A 0 A1 0 A 1 B 0 B 1 B 2
强 的编程 功能 —— A u t 0 1 i s p语 言 , 许 多 用 户 已对 A u —
t o c a d进 行二 次 开 发 , 以实现特定 功能, 满 足 其 特 殊 需 要 … 。本 文 按 照 传 统 导 线 内 业 计 算 理 论 , 通 过
A u t o l i s p语 言 编程对 A u t o c a d进行 了二 次 开 发 , 编 制
点 N: ” ) ) ( s e t q A 1 (一 ( p i 2 )A 1 ) ) ) ) ( s e t q A 0 (一 ( p i 2 )A O ) ) ( s e t q A 1 0 A 0 )
( s e t q A 0 (+ ( G E T A N G L E p t”捕 捉 后 视 点
M: ” )p i ) ) ( e o n d ( (< N 1 0 0 ) ( s e t q p t l( G E T P O I N T” \ n捕 捉 终点 B: ” ) )( s e t q A 1( G E T A N C L E p t l ” 捕 捉 前视
程序 设计 , 并 给 出程序代 码 ; 介 绍 了在 A u t o e a d中应 用 A u t o l i s p程 序 快 速 、 准确 地一 次 实现 测 量 导线 自动 平差 、 绘 图的 方 法。程 序符合 传 统导 线计 算理 论 , 具 有很 高的 实用性 。
关键 词 :测 量导线 ; A u t o l i s p程 序 设计 ;自动平 差 ;绘 图
( e o m m a I l d” U N I T S ”2 4 2 4 2 7 0” Y” )
( c o mma n d” U NI T S ”2 4 2 4 2 7 0” Y” )
因是 图根 导 线 内业 计 算 , 因此 选 用 常 用 的 简 易 平 差 计算公 式 睢 , 具 体公 式如 下 : 角度 闭合 差 : . =c x B’ Ⅳ’一o l B N
( s e t q t e s t 0 s m 0 s i 0 )
改正数 : =一 厂 。 / n 限差 : 厂 8 限 :± 4 0 / n
待 定点 纵 坐标 ( 改正 前 ) : i = X_ _ l ’+ S i C O S O  ̄ 。 待定 点横 坐标 ( 改正 前 ) : Y i =Y i 一 ’+ S i s i n i 纵坐标 闭合 差 : . =X B’ 一X B 纵坐标 闭合 差 =Y B’ 一阳 导线绝 对 闭合差 : = +
了直 接输入 小 数 表 示 的角 度 、 边 长 观测 值 即 可 完 成 测 量 导线平 差计 算 、 自动绘 图的 A u t o l i s p程序 , 方便、 高 效地 实现 了 导线平 差 、 绘 图一 次完成 。
I 程序 采用 的图 根导 线 内业计 算公式
y i f x f y f s) ( s e t v a r” e m d e c h o ”0 )( s e t v a r” o ¥ m o d e ”1 )
( s e t q N ( g e t r e a l”输 测 角 数 N ( 支 导 线 输
1 0 0 ) : ” ) )
( s e t q p t ( G E T P O I N T” 捕 捉 起算 测站 点 A: ” ) )
( s e t q f l p t ) ( s e t q X( e a r p t ) ) ( s e t q y( c a d r p t ) )
基于 A u t o ] i s p的测 量 导 线 计 算 、 绘 图 程序 设 计 与 实现
许 克根
( 定远 县l 双龙矿 业 有 限公 司 安徽 滁 州 2 3 3 2 0 0 ) 摘要 : 在 传统 导线 肉业计算 理论 、 方 法的 基础 上 , 应用A u t o l i s p语 言 对 测量 导 线 自动 平差 、 绘 图进 行
第 1期 2 0 1 4 年 2 月
矿 山 测 量
MI NE SURVEYI NG
N0 . 1
Fe b. 2 01 4
d o i : 1 0 . 3 9 6 9 / j . i s s n . 1 O 0 1 —3 5 8 X . 2 0 1 4 . O 1 . 2 8
中图分类 号 : P 2 0 9
文 献标识 码 : B
文章 编号 : 1 0 0 1 —3 5 8 X( 2 0 1 4) O 1— 0 0 8 5— 0 3 象捕捉方 式在 C A D 图 中拾 取 输 入 已知 点 、 算 出 始 边、 终边 方位 角 , 输人 角度 、 边 长 观测 值 , 将 角 度 转化 为弧度 , 按 上 述公 式 实 现平 差 、 绘图 , 本 程 序 将 此 保 存为 d a o x i a n . 1 s p 。且 程 序 设 计 用 小 数 形 式 输 入 角