俺是小白,谁能帮忙把统计的长度单位毫米为米
俺是小白,谁能帮忙把统计的长度单位毫米为米(defun c:zz ()
"统计线段长度"
(if (and (setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC"))))
(setq pt (getpoint "\n点取标注点:"))
)
(progn
(setq i-1
ll 0
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq l1 (vlax-curve-getdistatparam s1 (vlax-curve-getendparam s1))
ll (+ ll (* l1 1e-3))
)
)
(setq ll (rtos ll 2 3)
tx (strcat "周长=" ll "m")
nn (itoa (sslength SS))
)
(command "text" "mc" pt 55 0 tx)
(princ (strcat "\n共选择 " nn " 条线段. 线段总长: " ll))
)
)
(princ)
) 本帖最后由 song宋_74729 于 2022-9-5 22:42 编辑
(defun C:cd (/ CURVE TLEN SS N SUMLEN) (vl-load-com) (setqSUMLEN 0) (setq SS(ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC")))) (setq N 0) (repeat(sslength SS) (setqCURVE (vlax-ename->vla-object (ssname SS N))) (setqTLEN (vlax-curve-getdistatparam CURVE (vlax-curve-getendparam CURVE) ) ) (setqSUMLEN (+ SUMLEN TLEN)) (setq N(1+ N)) ) (print(strcat "总长度:" (rtos SUMLEN 2 5))) (princ) )
试试看是不是这样
xyp1964 发表于 2022-9-5 21:10
xyp1964厉害,值得学习 song宋_74729 发表于 2022-9-5 14:42
(defun C:cd (/ CURVE TLEN SS N SUMLEN)(vl-load-com) (setqSUMLEN 0) (setq SS(ssget '((0 . "CIRC ...
谢谢你,xyp1964已经回答了哈 xyp1964 发表于 2022-9-5 14:09
向你学习!
可标注长度并分类统计及总长吗?谢谢! kfh 发表于 2022-9-9 12:00
向你学习!
可标注长度并分类统计及总长吗?谢谢!
不可以啊,你再看看论坛
页:
[1]