明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8381|回复: 35

一个假尺寸检查工具源码

    [复制链接]
发表于 2012-1-29 13:13:39 | 显示全部楼层 |阅读模式
本帖最后由 langjs 于 2012-2-4 15:39 编辑

参考这两个帖子,做了一个假尺寸(手动修改过的尺寸)检查工具。假尺寸数值显示红色,再次运行恢复不显示,连续运行闪烁
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=89808http://bbs.mjtd.com/forum.php?mod=viewthread&tid=87563




;;; ==========================================
;;; 名称: 《假尺寸检查》
;;; 功能:假尺寸(手动修改过的尺寸)数值显示红色
;;; 操作:运行JCC显示假尺寸,再次运行恢复不显示
;;;                                     langjs
;;; ==========================================
(defun C:JCC (/ i ss)
  (vl-load-com)
  (setvar "cmdecho" 0)
  (if (setq ss (ssget "X" '((0 . "DIMENSION") (-3 ("ACAD")))))
    (repeat (setq i (sslength ss))
      (entmod (list (cons -1 (ssname ss (setq i (1- i)))) (list -3 (list "ACAD"))))
    )
    (if (setq ss (ssget "X" '((0 . "DIMENSION") (-4 . "<AND")(-4 . "<NOT")(1 . "")(-4 . "NOT>")(-4 . "<NOT")(1 . "*<>*")(-4 . "NOT>")(-4 . "AND>"))))
      (repeat (setq i (sslength ss))
          (vlax-put-property (vlax-ename->vla-object (ssname ss (setq i (1- i)))) "textcolor" 1)
      )
      (alert "本图没有找到假尺寸!")
    )
  )
  (princ)
)


13楼建议:"执行过之后标注文字和箭头的大小会还原到当前环境设置的大小,建议修改成文字和箭头大小不变,只变颜色"
做了一下修改,不过代码不精简了,有点罗嗦
;;; ==========================================
;;; 名称: 《假尺寸检查》
;;; 功能:假尺寸(手动修改过的尺寸)数值显示红色
;;; 操作:运行jcc显示假尺寸,再次运行恢复不显示
;;;                                     langjs
;;; ==========================================
(defun c:jcc (/ col ent i ss ss0 ss1)
  (vl-load-com)
  (setvar "cmdecho" 0)
  (if (progn
(setq ss (ssadd) ss1 (ssadd))
(if (setq ss0 (ssget "X" '((0 . "DIMENSION"))))
   (progn
     (repeat (setq i (sslength ss0))
       (setq ent (ssname ss0 (setq i (1- i))))
       (if (= (vla-get-textcolor (vlax-ename->vla-object ent)) 1) ; 查找红色的假尺寸
  (setq ss (ssadd ent ss))
  (setq ss1 (ssadd ent ss1))
       )
     )
     (if (> (sslength ss) 0)
       (if (> (sslength ss1) 0)
  (setq col (vla-get-textcolor (vlax-ename->vla-object (ssname ss1 0))))
  (progn
    (setq col (getint "\n  输入尺寸恢复颜色[1红,2黄,3绿,4青,5蓝,6洋红,7白]:<3>"))
    (if (null col)
      (setq col 3)
    )
  )
       )
     )
   )
)
(> (sslength ss) 0)
      )
    (progn
      (princ (strcat "\n  " (itoa (sslength ss)) "个假尺寸恢复颜色。"))
      (repeat (setq i (sslength ss))
(vlax-put-property (vlax-ename->vla-object (ssname ss (setq i (1- i)))) "textcolor" col) ; 颜色恢复
      )
    )
    (if (setq ss (ssget "X" '((0 . "DIMENSION") (-4 . "<AND")(-4 . "<NOT")(1 . "")(-4 . "NOT>")(-4 . "<NOT")(1 . "*<>*")(-4 . "NOT>")(-4 . "AND>"))))
      (progn
(princ (strcat "\n  " (itoa (sslength ss)) "个假尺寸数值显示红色。"))
(repeat (setq i (sslength ss))
   (vlax-put-property (vlax-ename->vla-object (ssname ss (setq i (1- i)))) "textcolor" 1) ; 显示红色
)
      )
      (alert "\n本图没有找到假尺寸!")
    )
  )
  (princ)
)



本帖子中包含更多资源

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

x

评分

参与人数 7明经币 +7 收起 理由
wayne_myles + 1 很给力!
为什么任兵 + 1
革天明 + 1
669423907 + 1 很给力!
vlisp2012 + 1 赞一个!
yoyoho + 1 赞一个!
仲文玉 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-11-8 19:23:24 | 显示全部楼层
友情提示:标注只能是< 一个尺寸 + 一段标注线 >的块,大多数图纸的轴线及标注都是一个整体块,需要先炸开,甚至多次炸开!!!
发表于 2022-11-8 15:27:45 | 显示全部楼层
好用,感谢分享!!!
技巧提示:疯狂按空格,在显示/不显示之间疯狂切换,配合鼠标中键到处缩放,可以迅速找到假尺寸位置。
发表于 2019-12-25 15:13:03 | 显示全部楼层
第二个代码出现,输入中含有多余的闭括号
????
发表于 2012-1-30 10:00:21 | 显示全部楼层
若能统计更改后的数量,则更完美了

点评

就几行代码比较简单,可以自己加个数量统计  发表于 2012-1-30 13:42
发表于 2012-1-30 10:19:05 来自手机 | 显示全部楼层
天正适用不………

点评

不适用天正  发表于 2012-1-30 13:41
发表于 2012-1-30 10:21:34 来自手机 | 显示全部楼层
应该找到假的标上真的才好

点评

ac_bonus.lsp内就有原码  发表于 2012-1-30 11:31
发表于 2012-1-30 10:29:50 | 显示全部楼层
很不错,拿到条件图可以先处理一下
发表于 2012-1-30 12:06:44 来自手机 | 显示全部楼层
提示:插入中的点位置不正确

点评

程序没有用到点的啊  发表于 2012-1-30 13:43
发表于 2012-1-30 14:34:10 | 显示全部楼层
插入点的位置对吗?
发表于 2012-1-30 14:35:38 | 显示全部楼层
插入的位置对吗,楼主!

点评

哪里有插入点啊?我怎么找不到?我在Cad08和04下都测试了,没发现啥问题。可以提供出错的图纸参考一下么?  发表于 2012-1-30 16:49
发表于 2012-1-30 16:21:34 | 显示全部楼层
不错,谢谢分享
发表于 2012-1-31 08:37:20 | 显示全部楼层
这个厉害~ 看下大大们的答案
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 00:25 , Processed in 0.230093 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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