明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1655|回复: 16

[提问] 请问这个改标高的lsp怎么加入输入数值记忆和变颜色功能?

[复制链接]
发表于 2020-7-18 00:11:24 | 显示全部楼层 |阅读模式
首先感谢这个lsp的原作者小萝卜头。在使用这个程序的过程中,发现输入的数值不能记忆,每次都要重新输入一次,有点不方便,有没有大神出手添加个记忆功能?还有怎么实现改变标高后把标高变成绿色?

本帖子中包含更多资源

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

x
发表于 2020-7-18 16:03:00 | 显示全部楼层
本帖最后由 xvjiex 于 2020-7-18 16:04 编辑

(defun C:GBG (/ E I NEW NUM O SS SYM TXT V0)
  (vl-load-com)
  (setvar "DIMZIN" 0)
  (princ "\n建筑标高改成结构标高 作者: 蔡建伟 2011-02-18")
  (if (= (setq NUM (getvar "UserR5")) 0.0)
      (setq NUM -0.030)
  )(setvar "UserR5" NUM)  
  (If (= (setq NUM (getreal (strcat "\n输入加上的高差值<" (rtos NUM 2 3) ">:"))) nil)
      (setq NUM (getvar "UserR5"))
  )
  (setvar "UserR5" NUM)   
  (if (setq SS (ssget '((1 . "~*[~`--9]*") (0 . "TEXT,TCH_ELEVATION"))))
    (repeat (setq I (sslength SS))
      (setq E (ssname SS (setq I (1- I))))
      (setq O (vlax-ename->vla-object E))
      (setq V0 (cdr (assoc 0 (entget E))))
      (cond ((= V0 "TEXT")
             (setq SYM "TEXTSTRING")
            )
            ((= V0 "TCH_ELEVATION")
             (setq SYM "TEXT")
            )
      )
      (setq TXT (vlax-get-property O SYM))
      (setq NEW (+ (atof TXT) NUM))
      (setq NEW (rtos NEW 2 3))
      (vlax-put-property O SYM NEW)
      (vlax-put-property O "color" 1)
      (vla-update O)
    )
  )
  (princ)
)

评分

参与人数 1明经币 +1 收起 理由
yangchao2005090 + 1

查看全部评分

发表于 2020-7-18 10:39:46 | 显示全部楼层
;改为如下

(defun C:GBG (/ E I NEW NUM O SS SYM TXT V0)
  (vl-load-com)
  (setvar "DIMZIN" 0)
  (princ "\n建筑标高改成结构标高 作者: 蔡建伟 2011-02-18")
  (if (= (setq NUM (getvar "UserR5")) 0.0)
      (setq NUM -0.30)
  )
  (If (= (setq NUM (getreal (strcat "\n输入加上的高差值<" (rtos NUM 2 3) ">:"))) nil)
      (setq NUM (getvar "UserR5"))
  )
  (setvar "UserR5" NUM)   
  (if (setq SS (ssget '((1 . "~*[~`--9]*") (0 . "TEXT,TCH_ELEVATION"))))
    (repeat (setq I (sslength SS))
      (setq E (ssname SS (setq I (1- I))))
      (setq O (vlax-ename->vla-object E))
      (setq V0 (cdr (assoc 0 (entget E))))
      (cond ((= V0 "TEXT")
             (setq SYM "TEXTSTRING")
            )
            ((= V0 "TCH_ELEVATION")
             (setq SYM "TEXT")
            )
      )
      (setq TXT (vlax-get-property O SYM))
      (setq NEW (+ (atof TXT) NUM))
      (setq NEW (rtos NEW 2 3))
      (vlax-put-property O SYM NEW)
      (vlax-put-property O "color" 1)
      (vla-update O)
    )
  )
  (princ)
)
发表于 2020-7-18 07:54:33 | 显示全部楼层
(defun C:GBG (/ E I NEW NUM O SS SYM TXT V0)
  (vl-load-com)
  (setvar "DIMZIN" 0)
  (princ "\n建筑标高改成结构标高 作者: 蔡建伟 2011-02-18")
  (if (= (setq NUM (getvar "UserR5")) 0.0)
      (setq NUM -0.30)
  )
  (setq NUM (getreal (strcat "\n输入加上的高差值<" (rtos NUM 2 3) ">:")))
  (setvar "UserR5" NUM)   
  (if (setq SS (ssget '((1 . "~*[~`--9]*") (0 . "TEXT,TCH_ELEVATION"))))
    (repeat (setq I (sslength SS))
      (setq E (ssname SS (setq I (1- I))))
      (setq O (vlax-ename->vla-object E))
      (setq V0 (cdr (assoc 0 (entget E))))
      (cond ((= V0 "TEXT")
             (setq SYM "TEXTSTRING")
            )
            ((= V0 "TCH_ELEVATION")
             (setq SYM "TEXT")
            )
      )
      (setq TXT (vlax-get-property O SYM))
      (setq NEW (+ (atof TXT) NUM))
      (setq NEW (rtos NEW 2 3))
      (vlax-put-property O SYM NEW)
      (vlax-put-property O "color" 1)
      (vla-update O)
    )
  )
  (princ)
)
发表于 2020-7-18 08:00:31 | 显示全部楼层
yshf 发表于 2020-7-18 07:54
(defun C:GBG (/ E I NEW NUM O SS SYM TXT V0)
  (vl-load-com)
  (setvar "DIMZIN" 0)

; 错误: AutoCAD 变量设置被拒绝: "UserR5" nil
命令:
发表于 2020-7-18 13:13:01 | 显示全部楼层
加入注册表里面也能记忆啊
 楼主| 发表于 2020-7-18 14:40:19 | 显示全部楼层
yshf 发表于 2020-7-18 10:39
;改为如下

(defun C:GBG (/ E I NEW NUM O SS SYM TXT V0)

有个小问题,就是如果不手动输入数值,使用默认的数值的话,修改会不起作用,只会变色,这是什么原因?
 楼主| 发表于 2020-7-18 22:45:21 | 显示全部楼层
xvjiex 发表于 2020-7-18 16:03
(defun C:GBG (/ E I NEW NUM O SS SYM TXT V0)
  (vl-load-com)
  (setvar "DIMZIN" 0)

可以了,大神牛批!!!
 楼主| 发表于 2020-7-20 22:07:37 | 显示全部楼层
xvjiex 发表于 2020-7-18 16:03
(defun C:GBG (/ E I NEW NUM O SS SYM TXT V0)
  (vl-load-com)
  (setvar "DIMZIN" 0)

在使用的时候发现改天正标高的时候变不了色,请问这个能否解决?


本帖子中包含更多资源

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

x
发表于 2020-7-21 10:21:31 | 显示全部楼层
我没有装天正插件,只是颜色变不了吗?标高能改吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 21:31 , Processed in 0.294440 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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