找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 23719|回复: 18

[BUG报告] XDRX_CURVE_INTERSECTBREAK选择集交点打断函数的Bug

[复制链接]

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-7-1 11:16:47 | 显示全部楼层 |阅读模式

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

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

×
测试中,发现选择集交点打断函数XDRX_CURVE_INTERSECTBREA打断后的返回值的选择集不能全部返回打断后的所有对象!
测试图:
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:test.zip 
下载次数:13  文件大小:4.36 KB 
下载权限: 不限 以上  [免费赚D豆]


(sslength (XDRX_CURVE_INTERSECTBREAK (ssget '((0 . "*line")))  0))返回185,实际应返回190,漏掉5个直线对象!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-7-1 11:23:16 | 显示全部楼层
有一部分是原实体吧,可能是只把新生成的加进来了,丢了原来的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-7-1 11:31:02 | 显示全部楼层
G版,测试下是否如二楼ST朋友说的,那5个是原实体?

点评

再次看了一下,发现打断后楼上绿色直线的句柄变了,红色的句柄没变,那就意味着没有进行打断的对象是没有添加到返回值里去!  详情 回复 发表于 2013-7-1 12:00
不是所有的原实体都没有添加进来! [attachimg]2992[/attachimg] 红色的实体没有添加进来,但是绿色的也是原实体,无需打断,却在返回值里!  详情 回复 发表于 2013-7-1 11:34
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-7-1 11:34:05 | 显示全部楼层
XDSoft 发表于 2013-7-1 11:31
G版,测试下是否如二楼ST朋友说的,那5个是原实体?

不是所有的原实体都没有添加进来!
aa.jpg
红色的实体没有添加进来,但是绿色的也是原实体,无需打断,却在返回值里!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-7-1 12:00:16 | 显示全部楼层
XDSoft 发表于 2013-7-1 11:31
G版,测试下是否如二楼ST朋友说的,那5个是原实体?

再次看了一下,发现打断后楼上绿色直线的句柄变了,红色的句柄没变,那就意味着没有进行打断的对象是没有添加到返回值里去!

点评

句柄变了意味着是新生成的实体,那实体的其它属性不会变了吧!要是有扩展数据或者Xrecord会不会丢失?  详情 回复 发表于 2013-7-1 12:04
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-1 12:04:29 | 显示全部楼层
牢固 发表于 2013-7-1 12:00
再次看了一下,发现打断后楼上绿色直线的句柄变了,红色的句柄没变,那就意味着没有进行打断的对象是没有 ...

句柄变了意味着是新生成的实体,那实体的其它属性不会变了吧!要是有扩展数据或者Xrecord会不会丢失?

点评

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

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-7-1 12:09:39 | 显示全部楼层
Free-Lancer 发表于 2013-7-1 12:04
句柄变了意味着是新生成的实体,那实体的其它属性不会变了吧!要是有扩展数据或者Xrecord会不会丢失?

打断后的实体还是保留母体的扩展数据的!

点评

函数的本意也是返回新生成的实体的选择集。 你按照上面NEWER朋友的意见,UNION下选择集,看是否是你继续操作需要的?  详情 回复 发表于 2013-7-1 12:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-7-1 12:25:11 | 显示全部楼层
牢固 发表于 2013-7-1 12:09
打断后的实体还是保留母体的扩展数据的!

函数的本意也是返回新生成的实体的选择集。

你按照上面NEWER朋友的意见,UNION下选择集,看是否是你继续操作需要的?

点评

Union后没有将无效的对象删除掉!只是将两个选择集的实体合到一个选择集中去,已经被删除的对象还在选择集里!  详情 回复 发表于 2013-7-1 12:43
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-7-1 12:43:11 | 显示全部楼层
XDSoft 发表于 2013-7-1 12:25
函数的本意也是返回新生成的实体的选择集。

你按照上面NEWER朋友的意见,UNION下选择集,看是否是你继 ...

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-7-1 13:05:54 | 显示全部楼层
我看看代码,看用什么方式把没变的实体找出来。

点评

嗯!从实用角度来说,没变的实体也应返回,否则Lisp还需要对打断前的选择集实体逐个进行判断是否被删除,才能得到没变的实体!  详情 回复 发表于 2013-7-1 13:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-7-1 13:14:30 | 显示全部楼层
XDSoft 发表于 2013-7-1 13:05
我看看代码,看用什么方式把没变的实体找出来。

嗯!从实用角度来说,没变的实体也应返回,否则Lisp还需要对打断前的选择集实体逐个进行判断是否被删除,才能得到没变的实体!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-7-1 13:17:32 | 显示全部楼层
我测试了下你的图,

原来所有的LINE,选择集是SS

(setq a (xdrx_curve_intersectbreak ss))  后,

(sslength a)
185


命令: (sslength ss)
36

命令: e
ERASE
选择对象: !ss
<Selection set: 332>
找到 3 个


其实SS里面就3个实体,其他都是无效的了。你合并SS和A后,不影响操作。

(xdrx_setsstodb (xdrx_pickset_union ss a) 0)
(while (setq e (xdrx_getentdata 0))
    ...
)

上面这个结构会取出正确的实体的。

点评

(xdrx_setsstodb (xdrx_pickset_union ss a) 0) 后是否能直接从数据库中取出这个选择集?还是需要通过 (setq ss (ssadd)) (while(setq e (xdrx_GetEntData 0)) (ssadd e ss)) 来重建选择集?  详情 回复 发表于 2013-7-1 13:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-7-1 13:32:46 | 显示全部楼层
令: (xdrx_setsstodb ss 0)
T

命令: (xdrx_getentdata 0)
<图元名: 7efde620>

命令: (xdrx_getentdata 0)
<图元名: 7efde618>

命令: (xdrx_getentdata 0)
<图元名: 7efde570>

命令: (xdrx_getentdata 0)
nil

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

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-7-1 13:36:27 | 显示全部楼层
XDSoft 发表于 2013-7-1 13:17
我测试了下你的图,

原来所有的LINE,选择集是SS

(xdrx_setsstodb (xdrx_pickset_union ss a) 0)
后是否能直接从数据库中取出这个选择集?还是需要通过
(setq ss (ssadd))
(while(setq e (xdrx_GetEntData 0)) (ssadd e ss))
来重建选择集?

点评

(xdrx_pickset_union ss a) 这个得到就是就是你要处理的所有的实体,只是其中包括无效的实体而已。 xdrx_setsstodb 下面的,只是你要处理这个选择集,要做的代码示例。getentdata 是取出每个实体,不包括无效  详情 回复 发表于 2013-7-1 13:45
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 20:46 , Processed in 0.202444 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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