块定义已经存在
嘿,伙计们,我创建并管理我公司的块库,并且发现需要一个可以嵌入到我的图形中的例程,如果引入了与图形中存在的块同名的块,该例程将向我发出警告。我有一个工作的例程,但它不能在嵌套块上工作,所以我需要添加到它里面。有人能帮我加一下这个吗?
**** Hidden Message ***** 您想在插入的对象中找到嵌套块还是在绘图中找到嵌套块? 基本上,我想防止我通过任何方式(粘贴,插入等)带入绘图的块被重新定义,所以我认为我需要同时考虑两者。我最终将插入图形中存在的所有块。我需要查看整个块库,它会告诉我定义已经存在。谢谢 正如你所知,这并没有被忽视。我很忙,但正在考虑它。
您可以使用对象修改事件并重新定义它,但当您重新定义它时,它会再次修改它。在半伪代码形式中
public moddednot as boolean
if moddedhad=false则
如果typeof Objectivt修改是iacadblock引用,则(我认为iacadblock引用是正确的)
如果objectmodified.name=“任何”,则
重新定义块
moddedhad=true
end if
其他
moddedhad=false
end if
问题是我认为它会为块的每个实例运行一次
我需要找出一种干净的方法来做到这一点,而不会陷入无休止的循环。也许做一个公共整数倒计时。如果moddedback=true,那么
如果bunchesofem=0,那么
bunchesofem=false
public moddednot as boolean
public bunchesofem as integer
如果moddedback=true,那么
moddedback=false
其他
bunchesofem=bunchesofem-1
end if
如果moddednot=false,那么
如果typeof对象修改是iacadblock引用,那么(我认为iacadblock引用是正确的)
如果objectmodified.name=“任何”,那么
该块引用的选择集
bunchesofem=selectionset.count
moddednot=true
end if
end if
其他
如果bunchesofem=0,那么
再次选择块引用集
bunchesofem=selectionset.count
其他
bunchesofem=bunchesofem-1
end if
end if
end if
谢谢你,鲍勃。这不是一个迫切的需要,但对我(以及我认为的其他人)非常有用。我很高兴它没有从裂缝中溜走。 过去几天我忙得不可开交。我有一个想法,在周五或本周末的某个时候,有一个简化它的方法,尽管它现在已经从我的脑海中消失了。希望当我有几分钟的时间来研究它时,它会回到我身边。 我知道这种感觉。我认为这种东西会对很多人有用,所以我有点惊讶有人还没有开发出类似的东西。无论如何,谢谢你的想法。 对我来说,这是一种永远不应该存在的令人憎恶的东西。我讨厌程序阻止我做我需要做的事情的概念。我认为最好有一个训练有素、称职的员工,他们不会错误地重新定义块或其他任何东西。这不会阻止我提供帮助,只是不得不对它做一点肥皂剧。 从经验中,我学会了不要尝试使用防白痴代码。他们以比你更快的速度推出新版本的代码。如果有可能尝试并阻止每一种可能的出错方式,那么您的代码将变得如此庞大和缓慢,以至于有一天,当一个bug最终通过时,您将成为“允许”他们在没有训练轮的情况下运行的替罪羊。
Bob我主要使用它来保护自己免受在外部文件中创建块并将它们带入我的块库,该库可能已经有一个以该名称命名的块并在没有通知我的情况下重新定义它们。我正在制作大型块库,一些图形和块名称非常相似,如果我不小心,我很容易重复名称,并且很难判断我的新块已被重新定义。我还在处理并非由我创建的遗留块,所有这些块都不遵守当前的命名约定,因此当两者混合在绘图中时可能会非常棘手。块名称是关键,因为它与数据库相关联并被提取用于创建成本报告和其他内容。这是否更好地解释了它?
页:
[1]
2