想要统计对象的长度,cad本身就能查询统计,但要输出到图纸中,cad本身还不具备这样的功能,需要借助第三方平台和插件。
此处介绍用lisp怎么自制这样的插件。
之前介绍过lisp的学习逻辑,本身其实就是你要解决什么,采用命令在lisp中体现出来即可。
在lisp函数中distance是测量两点之间距离的函数。因此可以通过此函数来测对象长度。
(defun c:ch ()
(setq a (getpoint "\n测距第一点"))
(setq b (getpoint "\n测距第二点"))
(setq c (distance a b)) ;测量两点间距
(setq ch (rtos c 2 0)) ;定义距离数值为十进制数,且无小数点
(setq ch1 (strcat "长度:" ch "mm")) ;输出长度
(setq ch2 (getpoint "\n屏幕单击插入点")) ;屏幕中指定插入点
(entmake (list '(0 . "text") ;建立文字图元属性列表,文字,插入点,内容,字高
(cons 10 ch2)
(cons 11 ch2)
(cons 1 ch1)
'(40 . 350)
)
)
(prin1)
)
这个代码的意义顺下来就是:
定义快捷键名称ch。
屏幕中单击直线第一点。
屏幕中单击直线第二点。
计算两点间距。
定义间距为10进制表示,且无小数点。其中2代表十进制,0代表精度。
输出内容:长度:xxmm。
提示在屏幕中指定插入点。
插入的内容是文字对象,定义文字插入第一点第二点。定义文字内容,定义文字的高度。
结束。
运行用动图演示,直观观看。
此处代码直接在cad的lisp编辑中进行编辑的,所以直接运行的。常规操作,加载lsp插件即可,命令行输入lsp插件中定义的函数名。即可调用。
当你能一点点看懂lisp时,你就能用它实现一些小功能,逐渐添加新功能。日积月累。
(完)
CAD自学网公众号
微信扫一扫关注我,每天分享各种免费设计干货小技巧。

我的微信
育设学堂服务号
微信扫一扫关注我,各种设计实战全套视频教程在线学。

我的公众号
评论