CAD查询标注多条线段总长度
本帖最后由 xkbuild 于 2024-3-30 14:30 编辑10多年前在网上发过CAD查询标注多条线段总长度这个文章,被很多人转来转去,文件已经不全,今天又发现以前的功能只能查询,并不能进行标注,这次又修改了一下,分享给大家,希望能给您带来一点用处。首先输入命令:appload加载lsp(也可以添加到启动组,这样不用每次都需要加载,启动组—内容—找到.lsp文件,‘如果加到启动组,需要关闭cad,再重新打开才生效’)输入命令dxzc选择多条线段,然后在屏幕中选取标注位置进行标注。将以下代码复制到记事本,以【.lsp】为后缀命名,存储以ANSI编码形式,打开cad,【appload】加载,命令【zhbz】就可以查询并标注。(princ "\n 程序:(XKBUILD)统计线段长度命令:dxzc")
(defun C:dxzc (/ CURVE TLEN SS N SUMLEN)
(vl-load-com)
(setq SUMLEN 0)
(setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC"))))
(setq N 0)
(repeat (sslength SS)
(setq CURVE (vlax-ename->vla-object (ssname SS N)))
(setq TLEN (vlax-curve-getdistatparam CURVE (vlax-curve-getendparam CURVE)))(setq SUMLEN (+ SUMLEN TLEN))
(setq N (1+ N))
)
(princ (strcat "\n共选择" (itoa (sslength SS)) "条线段线段总长" (rtos SUMLEN 2 3) "."))
(setq b (rtos SUMLEN 2 2));将数据结果由实数转换成字符串,且设置为两个精度,即小数点后两位
(setq a (getpoint "\n屏幕单击插入点"));指定插入点
(entmake (list '(0 . "text") ;建立文字图元属性列表,文字,插入点,内容,字高
(cons 10 a)
(cons 11 a)
(cons 1 b)
'(40 . 15);字高
)
)
(princ)
);复制到记事本,以【.lsp】为后缀命名,存储以ANSI编码形式,打开cad,【appload】加载,命令【zhbz】就可以查询并标注,by xkbuild,跟多内容搜索xkbuild 这个好像一直有的,因为我一直用,
好多免费插件也带这个功能,比如:源泉。。
LSP文件我用过一个,加载后,快捷键ZC就可以。。
不过还是感谢楼主的分享。。 {:301_1003:}画图佬懂画图佬 感谢分享 lovesdeeply 发表于 2024-3-30 10:38
这个好像一直有的,因为我一直用,
好多免费插件也带这个功能,比如:源泉。。
LSP文件我用过一个,加载 ...
源泉的,我记得是生成个表,绘图时,如果不需要表,还需将表个删除掉,在某些绘图时候,这样反而方便一点! 大佬多分享点{:1_927:} 这是什么鬼,怎么发到这里来了 本帖最后由 desare 于 2024-9-26 16:27 编辑
命令dxzc,可以改成其他字母
好东西,百度搜的一直用不了 感谢楼主的分享 辛苦!确实好!谢谢
页:
[1]