AutoCAD在工程绘图中的二次开发运用
2018-12-07杨义强
杨义强
摘 要:通过对AutoCAD的二次开发运用探讨学习,掌握工程绘图中复杂制图的基本要领,主要从思路分析过程着手进行阐述。
关键词:工程绘图;AutoCAD;开发运用;AutoLISP语言
DOI:10.16640/j.cnki.37-1222/t.2018.21.129
1 前言
随着计算机运用的普及,AutoCAD制图在工程制图中占有重要地位,已经被全面运用在工程施工中的各个环节,代替了传统的手工制图。但是在实际使用过程中,AutoCAD制图在绘制复杂曲线、曲面及三维造型方面就显得有些力不从心了,比如在技术交底及幻灯片制作等过程中需要用到更加详细的图例,如线路中线的圆曲线、缓和曲线,隧道主洞与车行横洞的曲面直观图,桩基螺纹钢筋的三维造型等,本文就工程中常见的桩基钢筋笼通过编写AutoCAD的AutoLISP语言绘图进行简单分析、介绍,以期交流。
2 AutoLISP语言简介及Visual LISP工具
AutoLISP语言是嵌于AutoCAD内部的计算机语言,它是AutoCAD开放式体系结构的具体表现,它是LISP语言和AutoCAD有机结合的产物。使用AutoLISP可直接调用几乎全部的AutoCAD命令。AutoLISP语言既具备一般高级语言的基本结构和功能,又具有一般高级语言所没有的强大图形处理功能,是当今世界上CAD软件中被广泛采用的语言之一。AutoLISP是一种简便易学的解释性语言,具有很强的数据表处理功能,是开发AutoCAD的一种重要手段。
AutoCAD中大多数参数化程序都是针对二维平面图编制的。实际上,立体图同样可以实现参数化绘图,在AutoCAD中编制实体的立体图参数化程序比其平面三视图程序更简单,而且立体图生成后,可以很方便地生成三视图、剖面图和轴侧图等。
Visual LISP为AutoCAD软件自带的AutoLISP程序开发的可视化软件工具,虽然Visual LISP是与Auto CAD软件结合在一起的,但是它其实是在独立于AutoCAD的另一个窗口运行的。
3 AutoLISP语言在AutoCAD中的应用
3.1 应用思路
本文就工程制图中常见的桩基钢筋笼的三维视图的编程进行阐述,钢筋笼制图主要有两个部分,一个是均匀布置的主筋,另一个是螺旋筋。主筋我们可以采用阵列的方式进行绘制,螺旋筋绘制要相对复杂一些,但我们知道由于螺旋筋一般口径及螺距固定,所以我们采用方程式x=acoswj,y=asinwj,z=vj,三个坐标都与角度(自变量j)相关,再采用直线模拟法绘制。
3.2 编制步骤
(1)启动编程工具。首先启动AutoCAD,在命令行里输入Vlisp,然后回车,或者在启动AutoCAD后,选择AutoCAD菜单栏里的“工具”---“AutoLISP”---“Visual LISP编辑器”,启动Visual LISP编程工具,启动VisualLISP后选择工具栏里的“新建文件”按钮,打开了文本编辑器,这样我们就可以在文本编辑器里面编写我们的钢筋笼绘图代码了。
(2)代码的编制。在文本编辑器里面输入以下代码,我们将逐行解释代码意义。
(defun c:gjl (/ r w v j x0 x1 x2 y1 y2 p1 p2)
(setq r 2)
(setq w 5)
(setq v 0.5)
(setq j 0)
(while (<= j 20)
(setq h 0.01)
(setq x1 (* (cos(* w j)) r))
(setq y1 (* (sin(* w j)) r))
(setq z1 (* v j))
(setq j (+ j h))
(setq x2 (* (cos(* w j)) r))
(setq y2 (* (sin(* w j)) r))
(setq z2 (* v j))
(setq p1 (list x1 y1 z1))
(setq p2 (list x2 y2 z2))
(command "line" p1 p2 "")
)
(command "line" "2,0,0" "2,0,10" "")
(setq e1 (entlast))
(command "array" e1 "" "p" "0,0" "10" "" "y")
(command "view" "swiso")
) //到这里结束
注释如下:
第一行:定义函数的名称和变量类型,函数的名称为gjl;第二行至第五行:给参数赋值r为半径,w和v为函数的步进值,可以根据实际情况进行变动。j为自变量的起点;第六行:循环函数;第七行:自变量的步长;第八行至第十行:计算起点的X、Y、Z坐标值;第十一行:设置自变量的变化规律,即为计算模拟直线终点的坐标和下一循环的起点坐标的自变量j赋值;第十二行至第十四行:计算终点的X、Y、Z坐标值;第十五行:构造螺旋线直线模拟中的直线段起点点对;第十六行:构造螺旋线直线模拟中的直线段终点点对;第十七行:绘制直线模拟中的直线;第十八行:结束循环,以上为绘制钢筋笼螺旋线部分;第十九行:绘制钢筋笼的主筋,以下为绘制主筋部分;第二十行:将上行绘制的主筋直线图元赋值给变量e1;第二十一行:阵列刚才绘制的主筋直线;第二十二行:采用三维视图察看效果;第二十三行:结束整个函数定义,注意最后一个括号不能少;最后保存该文件为gjl.lsp。
(3)程序的装载、运行。确保文本编辑器窗口是活动的,在Visual LISP界面中,选择菜单栏的“工具”---“加载编辑器中的文字”,Visual LISP在控制台窗口显示程序已经被装载了,返回AutoCAD窗口,在命令行下输入函数名称“gjl”,在图形窗口下就可以看到程序绘制图形了,最终效果图见图1。
实际效果可以在AutoCAD中用“三维动态观察器”进行直观的察看,根据工程运用中的实际情况我们可以修改程序里面的相应变量值,以达到和实际一样的效果,至此我们完美的解决了在AutoCAD中钢筋笼制图的三维效果图。
4 结论
AutoLISP语言强大的图形数据处理和三维编程绘制方面的能力能给我们提供更宽广的制图空间,可以给我们提供更加精准的立體数据。但是它毕竟是一门语言,在学习上需要我们熟练掌握各种制图命令及函数的运用,它可以作为AutoCAD工程制图的二次开发运用,与AutoCAD有机结合。
本程序在AutoCAD 2004及AutoCAD 2007中文版测试通过。
参考文献:
[1]舒飞.中文版AutoCAD 2004二次开发标准教程[M].上海科学普及出版社出版,2004.