明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4348|回复: 14

尺寸重叠检查

  [复制链接]
发表于 2013-1-4 12:49:18 | 显示全部楼层 |阅读模式
1明经币
本帖最后由 adc 于 2013-1-4 12:51 编辑

有时候尺寸标注会有重叠,这种情况很难检查,希望能有个程序可以检查出这种情况。详见附件
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-1-4 12:49:19 | 显示全部楼层
  1. (defun c:tt(/ E SS SS1 SS2 N P1 P2 LSTSS1 LSTSS2 SSS)
  2.   (defun getdxf(s num)(cdr(assoc num s)))
  3.   (setq ss(ssget '((0  . "dimension"))) n 0 SSS (SSADD))
  4.   (repeat (sslength ss)
  5.     (setq e(ssname ss n)
  6.           s(entget e)
  7.           p1(getdxf s 10)
  8.           clz1(abs(-(car(getdxf s 13))(car(getdxf s 14))))
  9.           clz2(abs(-(cadr(getdxf s 13))(cadr(getdxf s 14))))
  10.           P2(list (- (car p1)clz1)(- (cadr p1)clz2)(caddr p1))
  11.           )
  12.     (SETQ SS1(SSGET "C" P1 P1 '((0  . "dimension")))
  13.           LSTSS1(SS2LST SS1)
  14.           SS2(SSGET "C" P2  P2 '((0  . "dimension")))
  15.           LSTSS2(SS2LST SS2)
  16.           )
  17.     (if (and ss1 ss2)
  18.       (progn
  19.     (SSDEL E SS1)
  20.     (SSDEL E SS2)
  21.     (IF (AND (EQUAL LSTSS1 LSTSS2)
  22.              (>(LENGTH LSTSS1)0)
  23.              (>(LENGTH LSTSS2)0)
  24.              )
  25.       (repeat(setq m(sslength ss1))
  26.              (SSADD (ssname ss1(setq m(1- m))) SSS)
  27.       )
  28.     )
  29.    )
  30.   )
  31. (setq n(1+ n))
  32. )
  33. (SSSETFIRST SSS SSS)
  34. (princ)
  35. )
  36. (defun ss2lst (ss / nn ee lst)
  37. (if ss
  38. (repeat (setq nn (sslength ss))
  39.   (setq  lst (cons (ssname ss (setq nn (1- nn))) lst))  
  40. )
  41. )
  42. )

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2013-1-4 14:37:20 | 显示全部楼层


本帖子中包含更多资源

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

x

点评

adc
cad08下验证没反应  发表于 2013-1-4 18:24
回复

使用道具 举报

发表于 2013-1-4 18:32:25 | 显示全部楼层
yjr111 发表于 2013-1-4 14:37

我是08,xp,可以用,请上真相

评分

参与人数 1明经币 +1 收起 理由
adc + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-1-4 19:37:53 | 显示全部楼层
真相来啦

本帖子中包含更多资源

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

x

点评

要不(ssget "c" p p)这里设置一点容差吧  发表于 2013-1-4 19:46
没道理啊,我重新下载你的测试文件和写的lsp全新测了一次,可以滴哦  发表于 2013-1-4 19:44
回复

使用道具 举报

 楼主| 发表于 2013-1-4 20:17:34 | 显示全部楼层
本帖最后由 adc 于 2013-1-4 20:18 编辑
adc 发表于 2013-1-4 19:37
真相来啦

我也全部重新下载了一遍,纯cad08,没加载任何插件
命令: tt
选择对象: 指定对角点: 找到 4 个,2 个编组

选择对象:  ; 错误: no function definition: SS2LST

点评

sorry,函数漏发  发表于 2013-1-4 20:24
回复

使用道具 举报

发表于 2013-1-4 20:30:04 | 显示全部楼层
(defun ss2lst (ss / nn ee lst)
(repeat (setq nn (sslength ss))
  (setq  lst (cons (ssname ss (setq nn (1- nn))) lst))  
)
)

评分

参与人数 1明经币 +1 收起 理由
adc + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-1-4 20:39:15 | 显示全部楼层
本帖最后由 adc 于 2013-1-4 20:43 编辑
yjr111 发表于 2013-1-4 20:30
(defun ss2lst (ss / nn ee lst)
(repeat (setq nn (sslength ss))
  (setq  lst (cons (ssname ss (se ...

如果选中的标注里有对齐标注,程序就不能正常执行,希望对齐标注类似的情况也能检查出来,抱歉遗漏了,加多2个币

点评

可是你样图里都是线性标注~~~  发表于 2013-1-4 20:41
回复

使用道具 举报

发表于 2013-1-4 20:50:18 | 显示全部楼层
如果标注旋转到任意角度都可用就更好了。
回复

使用道具 举报

 楼主| 发表于 2013-1-6 19:31:31 | 显示全部楼层
本帖最后由 adc 于 2013-1-6 19:32 编辑
yjr111 发表于 2013-1-4 20:30
(defun ss2lst (ss / nn ee lst)
(repeat (setq nn (sslength ss))
  (setq  lst (cons (ssname ss (se ...



严总,遇到一张图,用你的程序会出错,选中的标注都没有重叠,麻烦请看看是什么原因?

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 02:21 , Processed in 0.200772 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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