Proctor 发表于 2009-7-29 15:04:20

SelectCrossingWindow给我更多的结果比我想要的

你好:我正在使用selectCrossingWindow来定位所有在被传入的窗口参数之内或与之交叉的行;它一直运行良好...所以我想...直到我在附加的多边形上运行我的代码。在所附的图片中,你可以看到我如何用我的参数画一个盒子,这样我就可以验证所有的线都在里面或穿过它。在查看pic时,您可以看到结果集中应该只有2行;但是,它给我4我也想不通为什么?蓝色和绿色的线代表它给我的线。
此外,箭头表示我传入的2个点。
非常感谢您的任何想法。我已经为此绞尽脑汁好几天了。谢谢,学监

**** Hidden Message *****

Proctor 发表于 2009-7-29 15:28:48

我只是尝试使盒子变小,所以只有一行出现在其中....现在它得到的计数为2。绿色的线是它拾取的附加线。我不明白为什么这样做?
这是我在paramerts:
resW = doc中发送的代码行。Editor.SelectCrossingWindow(myYPt, myY2Pt, filter)
过滤器仅适用于行。
谢谢,
监考员

Proctor 发表于 2009-7-29 15:55:49

尝试使用doc.Editor.SelectWindow。

Proctor 发表于 2009-7-29 15:57:57

嗨戴夫 - 感谢您的回复。选择“窗口”是否仅提供窗口中的全部内容?我需要它来给我里面的东西,以及穿过窗户的东西。
普罗克特

T.Willey 发表于 2009-7-29 16:01:52

很抱歉飞过,没有完全阅读你的第一篇文章。这可能和绿线的线型有关吗?看起来它可能是虚线线型,这可能是选择窗口拾取它的原因。还要检查小行是否在其顶部重复。

Proctor 发表于 2009-7-29 16:08:16

我只是在想…当我分解我的过程并要求用户选择行时,代码运行良好;然而,在我的代码中,我循环通过一组多边形
对于每个多边形,我使用SelectCrossingPolygon(myPtColl,filter)来提供其内部的线条列表
然后,我为每条线的每一端绘制方框,以便找到靠近它的线。我像这样传递交叉窗口参数:
Dim resW作为PromptSelectionResult=Nothing
resW=doc.Editor。选择CrossingWindow(myVectorYStartPt、MyVector2StartPT和filter)
你认为这与为什么它不能给我正确的结果有关吗<谢谢,普罗克托

wannabe 发表于 2009-7-29 16:14:01

使用普通的Acad命令,以同样的方式选择,看看是否可以获得两个以上的对象。如果是这样的话,那么你可能在对象之上有对象。
/想法

SEANT 发表于 2009-7-29 17:34:31

好主意,T.威利……我试过了,没有隐藏的东西

Bryco 发表于 2009-7-30 06:18:17

您的命令是否改变了UCS?因此,相对于UCS视图,交叉窗口实际上是倾斜的,从而导致这些行在窗口内??

Proctor 发表于 2009-7-30 06:42:39

另一个可能的因素是与世界起源的距离。 SelectCrossingWindow 也可能遭受与浮点精度相关的限制。
编辑:
不过,我想这也会在正常的Acad命令中出现......
页: [1] 2
查看完整版本: SelectCrossingWindow给我更多的结果比我想要的