找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2585|回复: 17

[求助] 请教接近长度图元名分别成表

[复制链接]

已领礼包: 1336个

财富等级: 财源广进

发表于 2016-6-11 22:37:05 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 434939575 于 2016-6-11 22:39 编辑

请教,本图从下往上绘制,把接近容差的图元作为一个列表.
我写的要不得,请各位朋友指点指点!谢谢!
图片的两种颜色,意思这两种的容差分别作为一个表。
  1. (DEFUN C:TT ();废品
  2.   (setq aa- (ssadd))
  3.   (setq aa+ (ssadd))
  4.   (SETQ SS (SSGET))
  5.   (setq fuz 110)
  6.   (setq ii 0)
  7.   (setq ii+ 1)
  8.   (repeat
  9.     (1- (sslength ss))
  10.      (setq name   (ssname ss ii)
  11.      name+ (ssname ss ii+)
  12.      ii   (1+ ii)
  13.      ii+   (1+ ii+)
  14.      len   (leng name)
  15.      len+   (leng name+)
  16.      )
  17.      (if (equal len len+ fuz)

  18.        (setq aa- (ssadd name aa-))
  19.        (progn
  20.    (setq aa+ (ssadd name+ aa-))
  21.    (setq aa- aa+)
  22.        )

  23.      )
  24.   )
  25.   (sssetfirst nil aa-)
  26. )
  27. (defun leng (Name)
  28.   (vlax-curve-getDistAtParam
  29.     Name
  30.     (vlax-curve-getEndParam Name)
  31.   )
  32. )
QQ图片20160611221843.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-6-11 22:58:05 | 显示全部楼层
先从上到下排序,然后循环依次判断距离,在哪个容差里面 ,加入哪个表。

点评

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-6-11 22:59:55 | 显示全部楼层
所有的应用中,排序是很重要的基础处理数据的方法,排序好了,就能按我们想的来了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-6-11 23:29:41 | 显示全部楼层
通用函数库中都有现成的函数,看看
  1. (defun tt (ss tol)
  2.   (setq pts (mapcar
  3.               '(lambda (x)
  4.                  (list (xdrx_getpropertyvalue x "length") x)
  5.                )
  6.               (xdrx_pickset->ents ss)
  7.             )
  8.   );; 构建 (长度 实体)关联表
  9.   (setq pts (xd::list:groupbyindex pts tol)) ;;根据长度精度分组
  10.   (mapcar
  11.     'cdr
  12.     pts
  13.   )
  14. );;CDR取出实体名组


搜狗截图20160611231947.png

测试: 容差400  分了三组
命令: (tt (ssget) 400)

选择对象: 指定对角点: 找到 7 个

选择对象:
((<图元名: -38c8a98> <图元名: -38c8aa0> <图元名: -38c8aa8>) (<图元名: -38c8ab0> <图元名:
-38c8ab8> <图元名: -38c8ac0>) (<图元名: -38c8ac8>))


容差600 ,分了2组

命令:
命令: (tt (ssget) 600)

选择对象: 指定对角点: 找到 7 个

选择对象:
((<图元名: -38c8a98> <图元名: -38c8aa0> <图元名: -38c8aa8>) (<图元名: -38c8ab0> <图元名:
-38c8ab8> <图元名: -38c8ac0> <图元名: -38c8ac8>))

容差800,全部在一个组里面了
命令: (tt (ssget) 800)

选择对象: 指定对角点: 找到 7 个

选择对象:
((<图元名: -38c8a98> <图元名: -38c8aa0> <图元名: -38c8aa8> <图元名: -38c8ab0> <图元名:
-38c8ab8> <图元名: -38c8ac0> <图元名: -38c8ac8>))


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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2016-6-12 10:44:41 | 显示全部楼层
newer 发表于 2016-6-11 22:58
先从上到下排序,然后循环依次判断距离,在哪个容差里面 ,加入哪个表。

意思就是说,按长度的容差

点评

是按长度构建关联表,然后分组。通用函数库的函数你可以直接用,如果想学习具体如何分组的代码去看 函数库论坛里面的具体代码。xd::list:groupbyindex  详情 回复 发表于 2016-6-12 11:23
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-6-12 11:23:22 | 显示全部楼层
434939575 发表于 2016-6-12 10:44
意思就是说,按长度的容差

是按长度构建关联表,然后分组。通用函数库的函数你可以直接用,如果想学习具体如何分组的代码去看 函数库论坛里面的具体代码。xd::list:groupbyindex

点评

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2016-6-12 17:08:41 | 显示全部楼层
Lispboy 发表于 2016-6-12 11:23
是按长度构建关联表,然后分组。通用函数库的函数你可以直接用,如果想学习具体如何分组的代码去看 函数 ...

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2016-6-12 17:15:34 | 显示全部楼层
不知道我说清了没有,从第一根与第二根比,二根与三根。。。这样循环的容差。

点评

先排序, 按你的规则 先按距离排序,用 xd::list:groupbyindex 这个距离的基点可以是所有实体包围盒的最下面的线做基线。 或者按颜色号,根据你的需要。  详情 回复 发表于 2016-6-12 17:49
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2016-6-12 17:31:17 来自手机 | 显示全部楼层
434939575 发表于 2016-6-12 17:15
不知道我说清了没有,从第一根与第二根比,二根与三根。。。这样循环的容差。

你这个需要先分组,然后排序,再进行循环处理
按图理解
1 先按颜色分组
2 组内按 Y 坐标排序
3 循环处理长度构造表
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2016-6-12 17:49:24 | 显示全部楼层
434939575 发表于 2016-6-12 17:15
不知道我说清了没有,从第一根与第二根比,二根与三根。。。这样循环的容差。

先排序, 按你的规则

先按距离排序,用 xd::list:groupbyindex

这个距离的基点可以是所有实体包围盒的最下面的线做基线。

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2016-6-12 23:17:12 | 显示全部楼层
谢谢各位老大的指点!一起谢过!

点评

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2016-6-12 23:37:34 | 显示全部楼层
434939575 发表于 2016-6-12 23:17
谢谢各位老大的指点!一起谢过!

不必客气,解决了? 把代码贴上来吧。

点评

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2016-6-13 10:06:37 | 显示全部楼层
XDSoft 发表于 2016-6-12 23:37
不必客气,解决了? 把代码贴上来吧。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 16:02 , Processed in 0.436907 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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