怎么用lisp写一个公式类cad计算程序
唐紫萱
2022年01月20日 09:33:25
只看楼主

来源:CAD自学网

|

作者:周站长

文|CAD自学网,作者:摩尔 画图中应该会有不少计算类相关内容。有些是公式性的计算,这种计算也许有人用第三方软件可以解决,还有人直接更喜手动计算器完成。那么这类的,如果用lisp怎么实现呢。 编辑的逻辑,也是思考的逻辑。首先要解决什么问题,这个问题怎么解决,怎么用lisp实现。 以下以电气中的单相负荷计算电流为例,说明公式类计算程序怎么写。 问题: 计算单相负荷电流,能够在cad中通过输入功率、利用系数、功率因数,自动计算出电流。



文|CAD自学网,作者:摩尔

画图中应该会有不少计算类相关内容。有些是公式性的计算,这种计算也许有人用第三方软件可以解决,还有人直接更喜手动计算器完成。那么这类的,如果用lisp怎么实现呢。

编辑的逻辑,也是思考的逻辑。首先要解决什么问题,这个问题怎么解决,怎么用lisp实现。

以下以电气中的单相负荷计算电流为例,说明公式类计算程序怎么写。

问题:

计算单相负荷电流,能够在cad中通过输入功率、利用系数、功率因数,自动计算出电流。

方法:

通过公式计算,I=kP/Ucos?,其中I是电流(A),k是利用系数,p是功率(W),U是电压220(V),cos?是功率因数。

Lisp

需要有可获取键盘输入数据的函数,需要实现公式计算的运算,需要能输入计算结果的函数。

通过以上三步思考,大脑基本会有一个成型的lisp框架。接下来就是用lisp搭建出来。

打开cad,命令行输入vlide,调出lisp编辑器,新建一个lisp文件。根据以上思考,就可以将一个公式计算的程序编辑出来。一共三个部分,一是获取数据,二是执行计算公式,三是输出计算结果。

lisp程序:

 (defun c:dx();定义单相计算电流的函数名称,即cad的命令快捷键  (setq p (getreal "\n请输入单相负荷功率(kW):"));键盘输入功率,get是获取,real是实数,即获取一个实数值,setq是将获取的实数值赋值给变量p  (setq k (getreal "\n请输入利用系数:"));另起一行,输入利用系数  (setq fi(getreal "\n请输入功率因数:"));另起一行,输入利用系数  (setq i (/(* k p 1000)220fi));计算电流,并把结果赋值给i  (print"单相计算电流(A)是:");输出文字  (princ i);输出计算电流值i  (prin1);结束  )

语句分号后内容是说明,不参与程序执行,只是便于这里说明所加。

加载应用程序,cad命令行输入快捷键dx,得到如下结果。

动图演示:

根据以上,是不是自制lisp插件并没有你想象的那么难呢,你可以试着改写,变成你想要的公式计算。如此你便拥有了一个自制的简单插件。就算是纯cad,你也可以立即写出程序。

相关推荐

想要SBR的三视图CAD
水处理 2023-03-30 10:30:11
APP内打开