乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 39|回复: 2

失败的布尔运算

[复制链接]

7

主题

42

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2008-6-19 06:45:05 | 显示全部楼层 |阅读模式
这是一个非常简单的项目-取一些已经加工过的矩形实体,在同一位置重新创建原始矩形实体,然后做布尔减法,结果只给了我加工。某种程度上,加工过的实体是“负数”
代码循环通过这些实体的整个组件,实际上以这种方式显示了整个产品。它工作完美-95%的时间。当它完美工作时,组件中的每个实体都会返回,只显示加工。但是局部地,它失败了,并且集合中的每一个实体都返回为矩形板-布尔减法运算在乘积中的每个实体上都失败了
当它失效时,它总是在同一个产品上失效,并且在同一产品的每个零件上失效。当它起作用时,它总是作用于产品中的每一个零件。它能工作的产品似乎总是能工作的。它不能工作的产品总是不能工作的。除了偶尔,每隔几天,以前失败的产品现在能工作
我花了2天的时间整理了一些东西,在这里发布-我把图纸整理成了2个组件,其中一个可用,另一个不可用-然后开始删除代码中的模块,等等,让你们更容易理解。我确保,在我这样做的同时,一个组件仍然失败,一个仍然有效-直到今天早上。现在,这两个程序集都可以在精简代码和原始代码中工作。在原始图形中,原始代码在相同的实体组合上仍然失败。(我无法在原始图形上运行经过裁剪的代码,但我认为这不是问题。)
WTF?这快把我逼疯了!布尔减法过程中是否存在可能导致失败的情况?减法运算没有返回码?不管它值多少钱,下面是我使用的过程:
1)循环遍历实体集合,并将每个实体添加到集合中。(工作成功)
2)获取集合并执行copyobjects。(我不想修改原始实体)(工作成功)
3)循环复制的对象并存储句柄。(工作成功)
4)然后,对于每个单独复制的对象,执行以下操作:
4a)在同一位置创建另一个实体(工作成功)<br>4b)对新的矩形实体和加工实体的副本执行减法运算。(有时会失败)
4c)将复制的实体放入blockref(即使矩形板出现故障也能正常工作)
4d)启动一个新文档,从源文件到目标文件执行copyobject(始终正常工作)
4e)从源文件中删除原始blockref(始终正常运行)
,关于我甚至可以*开始*查看的地方,找到这个bug有什么想法吗

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2008-6-19 11:08:48 | 显示全部楼层
没有代码或样本绘图,我唯一能想到的是删除任何你可能使用过的错误恢复下一行。让它出错,这应该会指出问题所在。
回复

使用道具 举报

7

主题

42

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2008-6-23 05:58:34 | 显示全部楼层
更新:
我已经缩小了一点;似乎复制对象comand,当运行并且从集合中复制大量对象时,将成功返回一个复制对象数组,但似乎每个复制对象在返回数组中的位置不一定与父集合在同一位置;即,如果我复制一个名为Solid1、Solid2... Solid49、Solid50的50个实体集合,返回的集合可能具有以Solid2、Solid3... Solid50、Solid1开头的复制实体。
为什么这种行为有时会发生,我不确定;现在,我正在使用不使用复制对象命令和使用单个object.copy方法的解决方法。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-4 11:02 , Processed in 0.253168 second(s), 59 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表