本文作者:sukai

实用commonlisp编程(split编程)

sukai 01-12 135

  【小编力荐】:公众号回复“优惠券”,每日可领取淘宝天猫大尺度优惠券。另:小编长期优惠代理各大机构视频教程,含cad、ps、3dmax、proe、office等及室内设计高端培训,需要的加我微信:cadzxwcom,备注:教程。

  AutoLisp代码可以在任意的文本编辑器中创建。不过AutoCAD也提供了Visual Lisp编辑器,可以支持语法高亮,调试编译什么的.打开Visual Lisp编辑器有两种方式:

  1.AutoCAD2008及之前的版本,在菜单栏“工具(Tools)"下面,选择”AutoLisp"----"Visual Lisp编辑器"。(”AutoLisp"----"导入应用"这个命令是用来加载AutoLisp脚本的)

  2.AutoCAD2009及之后的版本,在功能区的”管理“选项卡里可以直接打开Visual Lisp编辑器。

  打开Visual Lisp编辑器之后新建一个文件,并另存为Lisp源文件。然后就可以在编辑窗口里输你的代码了。

  代码编辑并调试确认无错误后,就可以在AutoCAD中使用了。

  

  左边的按钮表示立即运行当前代码,如果有错误就会提示出来,右边按钮是切换到CAD窗口。

  如果不需要再修改代码了还可以将代码进行编译以加速运行。

  

  根据向导一步步进行编译很简单的。

  如果在其他CAD图形文件中需使用当前代码文件或编译后的文件,就按上面第一点的,或者在命令行输入”ap",打开导入应用的对话框。

  

  1是用来临时导入的,2是将程序加入CAD的启动组。

  lisp解决重复性劳动问题

  在设计和绘图中,你觉得都是简单粗暴的重复性工作,就可以考虑用AutoLisp来代替你做。

  首先,AutoLisp也是一个程序设计语言,属于Common Lisp的子集,同时加入了很多自定义的函数。即然是一个程序语言,就是其他编程语言能做的,它也能做,只是他的lisp语法跟一般的语言有些差另就是了,但是如果是一个没有VB、C#、C++(对应于AutoCAD的开发方式分别是VBA,.net,ObjectArx)的基础的人来说,AutoLisp是很简单而且特别容易上手的一个语言。

  作为一个编程语言,AutoLisp能做的很多:

  1、扩充AutoCAD的原有命令。任何带有C:前缀的AutoLisp函数,在AutoCAD中都可以像"line" "circle" "dim"等命令一样使用。

  2、编写代码直接根据国标图库要求来绘出一些常用图库标准件什么的,或是代替人查找各种设计手册中的相关数据并继续使用。

  3、进行参数化绘图,对于一些不特别复杂的系统,提供窄范围、大深度的专业设计自动化或者辅助系统,如发动机装配工具设计、纵使机主轴箱设计等。

  4、DWG文件本质上是AutoCAD在图形生成和编辑中使用的数据库,可以将一些非图形信息的数据(粗糙度,高度,厚度。。)等存于DWG文件中作 为非图形数据库文件,然后利用Lisp程序进行读取等。

  各种AutoCAD二次开发方式的比较:

  由于 .net语言和c++的学习曲线比较陡峭,所以简单易学的AutoLisp经常与VBA进行对比。(当然如果有VB的基础还是直接学VBA好了。)

实用commonlisp编程(split编程)

  AutoLISP擅长建立新命令和产生已有命令的连接。VBA擅长执行包括在其他应用程序中的组件,如Microsoft的Excel和Access。AutoLISP是基于表处理的编程体系,它允许程序员随意地存储和操作传送信息,然而VBA部件包括数据和对复杂情况的各种有效操作,这就是问题变得复杂的地方。

  不过,在AutoCAD2000开始,Autodesk公司就在AutoCAD中加入了Visual Lisp编辑器,引入了许多新函数扩充AutoLisp的功能,并支持ActiveX对象的访问方式,所以使用AutoLisp来与WordExcel等程序进行交互也是变简单了。

  另外,在创建带GUI图形界面的应用程序上,VBA当然是所见即所得的了,而AutoLisp是通过DCL文件来实现GUI的(语法很简单,但做不到所见即所得).这点是AutoLisp略逊一筹了。

  END

阅读
分享