lzh720 发表于 2023-7-26 19:24:13

xj6019 发表于 2023-7-26 18:03
运行完直接去粘贴即可
(defun C:duoduanxian (/ CURVE N SS SUMLEN TLEN zml-clip-setstring)
        (defun...

你这个也会报错啊,我发现是连续测量的时候特别容易报错

lzh720 发表于 2023-7-26 19:25:47

ssyfeng 发表于 2023-7-26 18:56
可以加我qq269126750,帮你看看

似乎是我测量一次之后,往EXCEL表格里粘贴,然后再测量一次,就会报错

xj6019 发表于 2023-7-26 19:27:25

有一个大佬给你捣鼓就行了,我去玩别的了

lzh720 发表于 2023-7-26 19:28:19

xj6019 发表于 2023-7-26 19:27
有一个大佬给你捣鼓就行了,我去玩别的了

两个大佬的都试了,连续测量几次之后,都会报错跳出:Q-

ssyfeng 发表于 2023-7-26 19:31:16

其实搞成连续cad选择对象,直接写入excel不是更好吗?

xj6019 发表于 2023-7-26 19:32:11

应该是你系统的原因

lzh720 发表于 2023-7-26 19:33:00

ssyfeng 发表于 2023-7-26 19:31
其实搞成连续cad选择对象,直接写入excel不是更好吗?

我是干安装造价的,不一定只用EXCEL,这个数值可能也会往word里粘

lzh720 发表于 2023-7-26 19:40:59

xj6019 发表于 2023-7-26 19:32
应该是你系统的原因

我原先的脚本用了起码10年,从CAD2007到2023,天正和浩辰都用过,非常稳定可靠,年纪大了,懒得多敲字,只是想增加一个自动复制结果到剪贴板的功能罢了

xj6019 发表于 2023-7-26 19:43:24

lzh720 发表于 2023-7-26 19:40
我原先的脚本用了起码10年,从CAD2007到2023,天正和浩辰都用过,非常稳定可靠,年纪大了,懒得多敲字, ...
你这样试试

(defun C:NM (/ CURVE N SS SUMLEN TLEN zml-clip-setstring)
   (vl-load-com)
      (defun ZML-CLIP-SETSTRING (STR / HTML RESULT);;向系統剪貼板寫入文字
                (setvar "DIMZIN" 8);消除十進制標註中的後續零
                (if(listp STR)
                        (setq str(vl-prin1-to-string STR))
                )
                (and (= (type STR) 'STR)
                        (setq HTML (vlax-create-object "htmlfile"))
                        (setq RESULT (vlax-invoke
                                                                                 (vlax-get      (vlax-get HTML 'PARENTWINDOW)
                                                                                       'CLIPBOARDDATA
                                                                                 )
                                                                                 'SETDATA
                                                                                 "Text"
                                                                                 STR
                                                                         )
                        )
                        (vlax-release-object HTML)
                )
      )
      (ZML-CLIP-SETSTRING "防止出错,占位一下!")   
      (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)))
      (setq sumlen(/ sumlen 1000))
      (ZML-CLIP-SETSTRING (rtos SUMLEN 2 2))
      (princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 2)" m"))
      (princ)      
)

lzh720 发表于 2023-7-26 20:36:42

xj6019 发表于 2023-7-26 19:43
你这样试试

(defun C:NM (/ CURVE N SS SUMLEN TLEN zml-clip-setstring)


你这个可以,更稳定一些,加微信吧
页: 1 [2] 3
查看完整版本: 有偿(已付款答谢)求改进LSP脚本