给 AutoCAD 增加计算器功能在用 AutoCAD 进行绘图时,常常需要进行一些必要的计算工作
尽管 Autodesk 公司随 AutoCAD 一起提供了一个可进行简单计算的 LISP 程序 CALC
LSP,但该程序开发较早,在 COMMAND 命令下使用,界面不直观,且使用不方便
本文通过对 AutoCAD 内对话框结构及 AutoLISP 进行讨论,提出了一种用对话框结构实现计算器功能的方法,同时给出程序流程图,供大家参考
该程序已应用于我院的实际工作中
1 原理及方法 AutoCAD 对话框结构包含多种构件,如 edit_box(编辑框)、text(文字)、button(按钮)等
利用这些工具,可以开发出界面友好的有用程序
图 1 就是用这种方法实现的
将计算器中数字及各种运算符号以按钮(button)形式排成 5 行 5 列,并把计算结果以文字构件方式在对话框内显示,即可得到图 1 所示对话框结构(对话框文件#CAL
最后编制对话框显示及完成各种运算功能的驱动程序即可(驱动程序#CAL
LSP),程序流程图见图 2
LSP 程序中用到了 AutoLISP 提供的多种数值计算及变量转换函数
需要说明的是,笔者在调试过程中发现某些函数对变量有一些特别要求,现介绍如下,与读者共同探讨: 1、在幂运算函数(expt base power)中,对变量 base(底)和 power(幂)的要求与代数学中幂的运算要求是不同的
在代数学中对变量 base 和 power 的要求如下: 当 base>0 时,power 可为任意实数; 当 base=0 时,power 须大于 0; 当 base