找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 700|回复: 14

[已解决] 【已解决】帮忙修改一下代码,已经尺寸标注的数字递减修改

[复制链接]
发表于 2019-4-4 10:32:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 lizhaojun45 于 2019-4-7 13:17 编辑

下料的时候要用到这个功能,比如,递减,1 或 1.5 或 2 或2.5 或3,根据实际需要来确定递减值。
要求是,递减之后,算出是几位小数就是几位小数,不能对递减之后的值,做自动  四舍五入成整数。
尺寸标注的数值递减的同时,数字颜色也要同时变成粉红色,如图所示,这样就知道哪些尺寸是修改过的了。
图1是修改之前的样子,图上是修改好之后的样子。
这是论坛里,找到的,别人发的代码,不是自己编写的。作者是:st788796,
代码如下:命令是CED,最好是不要改成其它的,

(defun c:CED (/ ss num e txt)
  (and
    (setq ss (ssget '((0 . "Dimension"))))
    (setq num (getreal "\n输入增减数: "))
    (xdrx_setsstodb ss 0)
    (while (setq e (xdrx_getentdata 0))
      (and
        (member (xdrx_getpropertyvalue e "IsA") '("AcDbAlignedDimension" "AcDbRotatedDimension"))
        (if (/= (xdrx_getpropertyvalue e "DimensionText") "")
          (setq txt (distof (xdrx_getpropertyvalue e "DimensionText")))
          (setq txt (xdrx_getpropertyvalue e "Measurement"))
        )
        (xdrx_setpropertyvalue e "Dimtext" (rtos (+ txt num) 2 0))
      )
    )
  )
  (princ)
)
;;;;看后面改好的代码。

dim.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2019-4-4 10:53:03 | 显示全部楼层
请各路大神帮忙修改一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2019-4-4 12:10:18 | 显示全部楼层
贴的程序代码做什么的,哪地方不符合你说的了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-4 15:21:21 | 显示全部楼层
Lisphk 发表于 2019-4-4 12:10
贴的程序代码做什么的,哪地方不符合你说的了

比如,原来的数值是800递减1.5,应该是798.5,而这个插件,算出来的数值是,799,数字颜色也不能在更改的同时,变成洋红色,CAD的洋红 色代号是6号。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2019-4-4 15:24:21 | 显示全部楼层
(rtos (+ txt num) 2 0)) 0改为1试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-4 17:34:23 | 显示全部楼层
lovezp兄弟谢谢你,递减运算这一块解决了,我把,(rtos (+ txt num) 2 0)) 0改为2试了试,精度保留2位数,
递减之后得到的数字,它的颜色也想同时改变一下,变成CAD的6号色,洋红色,好区分哪些数字改过了,哪些是没有改过的,请大神们指点一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

发表于 2019-4-4 17:45:55 来自手机 | 显示全部楼层
修改一下你的数字保留小数点后的位数
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2019-4-5 19:17:12 来自手机 | 显示全部楼层
xdrx_setpropertyvalue在帮助文件里找找这个函数,看看有没有颜色这个属性。
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-5 21:10:40 | 显示全部楼层
lovezp 发表于 2019-4-5 19:17
xdrx_setpropertyvalue在帮助文件里找找这个函数,看看有没有颜色这个属性。

查到一些这样的参数,我不会编程,不知道怎么使用这些参数,也不知道怎么修改,请大家,有空的时候,帮我改一下。
微信图片_20190405210501.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2019-4-6 21:00:06 | 显示全部楼层
(xdrx_setpropertyvalue (car(entsel)))
你在CAD命令行输入上面的语句 看看返回值是什么。我没装工具箱没法试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-6 21:11:36 | 显示全部楼层
提示选择对象,我选择了一个尺寸标注。
2589.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2019-4-7 09:35:25 | 显示全部楼层
(xdrx_setpropertyvalue e "Color" 6)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-7 12:53:56 | 显示全部楼层
lovezp,你发的一行代码,我不知道怎么插进去,插在哪一行的哪一个位置,我学没过编程。帮忙说详细一点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2019-4-7 12:57:14 来自手机 | 显示全部楼层
(xdrx_setpropertyvalue e "Dimtext" (rtos (+ txt num) 2 0))放在它下面一行就好了
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-7 13:14:30 | 显示全部楼层
改好的完整的代码发上来,有需要的朋友自己下载。
;【尺寸标注递减&递增修改】
(defun c:CED (/ ss num e txt)
  (and
    (setq ss (ssget '((0 . "Dimension"))))
    (setq num (getreal "\n输入增减数: "))
    (xdrx_setsstodb ss 0)
    (while (setq e (xdrx_getentdata 0))
      (and
        (member (xdrx_getpropertyvalue e "IsA") '("AcDbAlignedDimension" "AcDbRotatedDimension"))
        (if (/= (xdrx_getpropertyvalue e "DimensionText") "")
          (setq txt (distof (xdrx_getpropertyvalue e "DimensionText")))
          (setq txt (xdrx_getpropertyvalue e "Measurement"))
        )
        (xdrx_setpropertyvalue e "Dimtext" (rtos (+ txt num) 2 2))
        (xdrx_setpropertyvalue e "Color" 6)
      )
    )
  )
  (princ)
)

评分

参与人数 1D豆 +5 收起 理由
newer + 5 有始有终奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-26 10:43 , Processed in 0.439001 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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