中望CAD+API接口应用之Lisp篇
好酷屋教程网小编为您收集和整理了中望CAD+API接口应用之Lisp篇的相关教程:CAD作为大众化的平台软件,基本已经覆盖了全部日常设计中需要的功能,有些时候为了简化一些绘图步骤、提高绘图效率就不得不依靠一些二次开发程序来完成。这里我以绘制圆的中心线为例,介绍一些中望CAD+中提供
CAD作为大众化的平台软件,基本已经覆盖了全部日常设计中需要的功能,有些时候为了简化一些绘图步骤、提高绘图效率就不得不依靠一些二次开发程序来完成。这里我以绘制圆的中心线为例,介绍一些中望CAD+中提供的常见Lisp函数的调用方法。
中心线在我们画图过程中用的非常广泛,我们如果只在CAD平台(不包含任何二次开发软件)中绘制需要好几个步骤才能完成,如果我们编写一个Lisp程序只需要一个命令就可以实现了。关于Lisp的介绍大家可以去网上查看,这里不做详解。强调一点Lisp编写可以十分随意,基本不需要编译环境,word、txt等都可以用来编写,编译完成将扩展名改为.lsp即可。一些基本的库函数我们可以通过中望CAD+帮助菜单的开发人员帮助里面查询。
这里声明一点,我不是搞软件开发的,只是一名普通设计工程师,Lisp编程方面本人是个初学者,如果下面内容有不对的地方还望大家多多指教。写这篇文章主要是想和大家交流经验,以便共同提高。
下面进入正题,我们就来看一下程序是如何实现一步绘制中心线的。
上图是这个程序的源代码,大家可以看到这里面有很多的括号,这就是Lisp的一个特点,这就是为什么也有人叫它括号语言的原因,这里面要特别注意的就是括号一定要匹配,多了或者少了程序都会报错。我简单解释一下上面代码的含义,如果有介绍不清楚的地方大家还是可以去上面提到的开发人员帮助里面查询。
首先第一行里面定义的是这个小程序的开始和命令名字,也就是说我在程序后只要输入ZXX就可以使用这个程序了。后面的一对括号是用来定义后面变量的类型用的,这个后面有机会再详解,这个对新手来说可以暂时不考虑。
第二行是赋值函数和选择函数的联用,将选择的圆赋值给temp(自定义的变量)
第三行获取圆的构成信息,例如图层、圆心、半径、颜色等等。
第四行、第五行得到圆心、半径,方便下一步画中心线。
第六行、第七行才是真正的程序目的:开始画线。
第八行采用静默方式退出。
这样几行简单的代码就实现了中心线绘制,里面主要用的setq-赋值函数,command-执行命令函数(相当于我们在CAD命令行直接输入命令),polar-相当于CAD里面的角度+长度的相对坐标,“+”-运算符,即加法,其余的不一一列举了,大家去帮助里面查询吧。这只是一个简单实例,为了完善它我们还可以在画线前建立相关图层、图层跳转等,这些都可以用command来调用相关命令实现。
程序写好了可以在CAD里面加载验证,方法也很简单,可以把程序直接拖放到绘图区加载(老版本中望CAD拖放到命令行),也可以通过ap命令采用对话框方式加载,后一种还有一点好处就是可以把常用程序加载启动组里面,这样开软件不用加载了。
程序执行后的结果。
我们先来看一下改进后的程序的效果再来分析所用的新函数。
我们通过上图可以看出来,我们待选择对象有很多的种类包括:圆、直线、圆弧、多段线,那么我们怎么才能通过框选只选择圆而排除其他对象呢,这里面用到了一个选择集的函数ssget,送过给这个函数添加过滤条件这可以来实现对象的分类选取。
批量生成一般我们都要通过循环函数来实现,这里引用While函数。
图层可以通过command函数直接调用-Layer命令,用后台运行的方式创建图层。
输入数值采用getreal函数键盘输入。
当然实现一个功能可以有很多的途径,比如本例中输入函数也可以选择getint,具体区别可以在帮助中看到,希望大家可以通过一个函数学习到一类函数的应用,这样才能事半功倍。
这个程序相对于上一版主要是添加了选择集函数,首先通过框选创建一个选择集,过滤条件是“circle”,然后测量选择集中对象的数量(即有多少个圆),然后进入循环,从选择集中第一个对象(编号是0)开始记录信息直到生成中心线(这个和改动前的程序原理一样),开始判断进入下一个循环,直到循环数超过了选择集中对象数量循环结束。这样一个自动批量生成中心线的程序就做好了。
以上可以看出在中望CAD+里写一些小程序其实并不困难,这里面用到了一些函数都是很常见的函数,往往就是这些常见函数就能解决我们工作中的大问题。这里面介绍的都是Lisp的一些入门级的知识,只会这些是远远不够的,希望广大的CAD设计师、爱好者也能积极的分享设计经验,大家一起相互提高。
写这篇文章的另一个目的也是想告诉广大的设计界朋友,经过几年的发展,国产软件无论是功能上还是接口方面都和国外主流软件没有太大的差异,相比之下国产软件优质的服务是国外软件的无法比拟的,希望中望软件早日能够扛起国产软件的大旗。(作者:王先生,设计工程师)
以上就是好酷屋教程网小编为您收集和整理的中望CAD+API接口应用之Lisp篇相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/IT/644e6ec3e16680314c043694.html
相关推荐
热门专题
PS快捷键_PS快捷键大全
经典的Photoshop快捷键大全,如果你是入门阶段的水平,熟读此文并掌握,马上进阶为中级水平。matlab怎么换行?matlab换行教程
今天小编为大家带来的是matlab换行的教程,想知道怎么换行的小伙伴来看看接下来的这篇文章吧,相信一定会帮到你们的。matlab怎么换行?matlab换行教程1、首先在matlab主页面板中点击【Matlab求矩阵的乘积的操作方法
很多用户在使用Matlab的时候,不是很熟悉其中怎么求矩阵的乘积的?本期为你们带来的教程就描述了Matlab求矩阵的乘积的操作方法。Matlab求矩阵的乘积的操作方法打Matlab,在命令行窗口goldwave怎么启用延迟录制计时器?goldwave启用延迟录制计时器教程
很多小伙伴在使用goldwave的时候,想知道怎么启用延迟录制计时器,下面小编就为大家分享教程,感兴趣的小伙伴不要错过哦!goldwave怎么启用延迟录制计时器?goldwave启用延迟录制计时器教分区工具diskgenius强制删除文件的具体使用流程
很多人不知道分区工具diskgenius如何强制删除文件?今日为你们带来的文章是关于分区工具diskgenius强制删除文件的具体含义讲解,还有不清楚小伙伴和小编一起去学习一下吧。分区工具diskgpycharm使用技巧
今天小编给大家讲解pycharm使用技巧,有需要或者有兴趣的朋友们可以看一看下文,相信对大家会有所帮助的。pycharm使用技巧使用PyCharm软件需要python运行环境,这里我已经下载好。CAD看图软件哪个好用?如何使用CAD看图软件
在CAD中,大家都知道CAD图纸是使用CAD制图软件来绘制完成的,那保存的格式就是为dwg格式和dxf格式的。那需要对图纸内容进行查看的时候,就要适用到CAD看图软件。但看图软件有很多,那么CAD看图diskgenius怎么将分区中的文件复制到指定目录?diskgenius将分区中的文件复制到指定目录方法
使用diskgenius的时候,很多小伙伴不知道怎么将分区中的文件复制到指定目录,下面小编就给大家带来方法,有需要的小伙伴不要错过哦。diskgenius怎么将分区中的文件复制到指定目录?diskg分区工具diskgenius将硬盘合并分区的详细流程
说起分区工具diskgenius伙伴们都不陌生,那么使用怎么使用分区工具将硬盘合并分区呢?下面一起看看关于分区工具diskgenius将硬盘合并分区的详细流程吧。分区工具diskgenius将硬盘合MathType中公式与文字错位的处理方法
最近有很多朋友向我咨询关于MathType中公式与文字错位的问题,今天就为大家介绍MathType中公式与文字错位的处理方法,希望能够帮助到大家。MathType中公式与文字错位的处理方法方法一