源代码如下:(prompt "\n写封闭区域面积用acal命令;") ;程序加载的时候显示的提示(defun c:acal () ;定义函数 (setq h 1) ;赋值h=1 (setq dz 0) ;赋值dz=0 (setvar "cmdecho" 0) ;设置系统变量 关闭命令行回显 (setvar "pdsize" (/ h 1)) ;设置显示的点对象大小 (setvar "pdmode" 2) ;设置显示的点的样式
(prompt "\n写封闭区域面积用acal命令;") ;程序加载的时候显示的提示
(defun c:acal () ;定义函数
(setq h 1) ;赋值h=1
(setq dz 0) ;赋值dz=0
(setvar "cmdecho" 0) ;设置系统变量 关闭命令行回显
(setvar "pdsize" (/ h 1)) ;设置显示的点对象大小
(setvar "pdmode" 2) ;设置显示的点的样式
(setq p T)
(while (not (null p)) ;当点取了点后
(setq p (getpoint "\n选择封闭区域内点:"))
(if (not (null p))
(progn
(command "boundary" p "")
(setq bb (ssget "l"))
(setq cc (ssname bb 0))
(command "area" "o" cc)
(command "erase" (entlast) "")
(setq dd (getvar "area"))
(setq dz1 (+ dz dd))
(setq dz dz1)
(command "layer" "m" "text" "")
(command "point" p)
(command "text" p "" "" (rtos dd 2 3))
)
)
)
)
有兴趣的可以读读每条语句,可以学习到不少LSP的知识的。
附件里面是LSP程序,使用方法很简单,在cad里面输入appload加载这个lsp程序,然后使用acal命令就可以点击封闭区域,写面积了。
跟ZDM的acal命令相比,少了一些动态效果,不能设置字体大小,不能设置比例等。