abraxus 发表于 2022-7-6 22:15:08

选择集交叉问题

我首先给出一个代码片段
 
简而言之,我要做的是检测一个多行文字实体(在不同的特定层上)插入到与现有多行文字实体几乎相同的位置(在3英寸半径内),这就是有效的部分
 
但它仅在多行文字实体位于当前缩放窗口内时才找到它们,而未检测到缩放窗口外的实体
 
当然,解决方法是在检测之前进行放大,但这似乎是一种半途而废的做法——我宁愿尝试理解为什么会发生这种情况,并妥善解决它
 
在不要求任何人为我编写代码的情况下,有谁能告诉我为什么会发生这种情况?这毫无意义。。。
 
______
 
****,我刚刚注意到我的第二个“错误”(应该是“转到0”)说“下一个继续”
 
但现在我不能测试它,直到明天工作。。。呃
 
不过,如果有人有其他想法的话。。。

RICVBA 发表于 2022-7-6 22:23:20

 
 
对我来说,这是一个已知的问题,只有通过适当的缩放才能解决。
一个不那么“半途而废”的方法可能是用这样的代码来缩放感兴趣的区域(如果有的话)
 

element.GetBoundingBox minExt, maxExt ' define the area occupied by the element of interest
ZoomWindow minExt, maxExt ' zoom appropiately

 
然后做你的超跑
 
在我的一些代码中,我使用了acSelectionSetWindowPolygon选择模式,因为我只对完全位于相关“框”中的元素感兴趣。也许这与您今天的问题不匹配,但对于进一步的问题,我在此向您提供了代码片段
 
2
 
我再次强调,只有当你有兴趣选择完全位于感兴趣窗口内的元素时,这项工作才有价值。将不会选择部分位于该窗口内和部分位于该窗口外的图元。
 
最后一个问题:第二个selectionset(ssOverlap)似乎将收集所有元素类型,无论它们是多行文字类型。正确吗?
 
再见

Tyke 发表于 2022-7-6 22:32:23

我在选择方法时有与RICVBA相同的经验,它只在当前图形区域工作,并采用了与RICVBA类似的策略,但我首先缩放了所有内容,在选择之前缩放以恢复原始内容后,它不会以这种方式干扰用户。这是一个众所周知的问题,也是我们必须面对的问题。
 
我还注意到,您正在选择命名层上的所有实体,您需要扩展过滤器以仅过滤多行文字实体。
 
顺便说一句,RICVBA欢迎来到论坛。这是你的第一个好帖子。告诉我们一些关于你自己、位置、纪律、经验等的情况。

RICVBA 发表于 2022-7-6 22:39:51

 
谢谢tou Tyke
我来自意大利帕尔马。我在一家预制公司担任总工程师,我们使用Autocad进行dybyday设计。大约两年前,我接触了VBA,发现将计算与绘图联系起来,以及提高绘图一致性和减少劳动时间非常有用。从现在起,我一直在窥视各种论坛,向你们那里的人学习,当我觉得可以回馈的时候,我最终登录了。我希望这种情况已经发生,而且还会再次发生。但是,我主要希望vba在未来几年仍能得到支持。
再见

SEANT 发表于 2022-7-6 22:47:59

 
在AutoCAD的前几个版本中,我甚至没有加载VBA。我认为最好消除这种诱惑,尤其是因为它的未来看起来很严峻。这迫使我把注意力集中在C上。我现在在那里感觉很好,VBA显示出了一些持久力。撇开DotNet的舒适度不谈,VBA开发总是会更快(唉,我不知道AutoLisp)。看起来是时候将VBA加载回系统了。

abraxus 发表于 2022-7-6 22:58:09

谢谢大家对这件事的意见,很高兴知道我没有疯。我明白你所说的最大化,运行代码,然后将用户返回到之前的视图是什么意思了-直到代码运行完毕,图形才重新生成,所以用户永远不会看到缩小,它确保代码100%工作
 
哦,我想我遗漏了那个小的多行文字细节——多行文字是我使用的图层上唯一的东西,所以从技术上讲,我不需要将其添加到选择集过滤器中(这一点很好!)
 
伙计,我喜欢这个网站。。。英雄联盟

Tyke 发表于 2022-7-6 23:03:06

 
 
非常欢迎你。
 
这个网站的价值在于其贡献者的质量

BIGAL 发表于 2022-7-6 23:13:37

缩放问题也存在于Lisp中,在运行有时有效的代码时可能会非常令人沮丧,直到您了解缩放问题。我使用的不是Z E,而是缩放比例,这既快又脏,因为你知道需要查看的区域大致有多大。
 
因为你使用过滤器,它可能不会影响,但有时你需要将Osnaps设置为off,以阻止它拾取错误的对象。

abraxus 发表于 2022-7-6 23:22:38

Z E工作正常-问题已经解决
页: [1]
查看完整版本: 选择集交叉问题