明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: lzh720

[提问] 有偿(已付款答谢)求改进LSP脚本

[复制链接]
 楼主| 发表于 2023-7-26 19:24:13 | 显示全部楼层
xj6019 发表于 2023-7-26 18:03
运行完  直接去粘贴即可
(defun C:duoduanxian (/ CURVE N SS SUMLEN TLEN zml-clip-setstring)
        (defun  ...

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2023-7-26 19:25:47 | 显示全部楼层
ssyfeng 发表于 2023-7-26 18:56
可以加我qq269126750,帮你看看

似乎是我测量一次之后,往EXCEL表格里粘贴,然后再测量一次,就会报错
发表于 2023-7-26 19:27:25 | 显示全部楼层
有一个大佬给你捣鼓就行了,我去玩别的了
 楼主| 发表于 2023-7-26 19:28:19 | 显示全部楼层
xj6019 发表于 2023-7-26 19:27
有一个大佬给你捣鼓就行了,我去玩别的了

两个大佬的都试了,连续测量几次之后,都会报错跳出
发表于 2023-7-26 19:31:16 | 显示全部楼层
其实搞成连续cad选择对象,直接写入excel不是更好吗?
发表于 2023-7-26 19:32:11 | 显示全部楼层
应该是你系统的原因
 楼主| 发表于 2023-7-26 19:33:00 | 显示全部楼层
ssyfeng 发表于 2023-7-26 19:31
其实搞成连续cad选择对象,直接写入excel不是更好吗?

我是干安装造价的,不一定只用EXCEL,这个数值可能也会往word里粘
 楼主| 发表于 2023-7-26 19:40:59 | 显示全部楼层
xj6019 发表于 2023-7-26 19:32
应该是你系统的原因

我原先的脚本用了起码10年,从CAD2007到2023,天正和浩辰都用过,非常稳定可靠,年纪大了,懒得多敲字,只是想增加一个自动复制结果到剪贴板的功能罢了
发表于 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)        
)
 楼主| 发表于 2023-7-26 20:36:42 | 显示全部楼层
xj6019 发表于 2023-7-26 19:43
你这样试试

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

你这个可以,更稳定一些,加微信吧

点评

不用了,小忙一桩  发表于 2023-7-26 21:59
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 00:23 , Processed in 0.153744 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表