maowenhui 发表于 2002-9-17 17:18:00

如何利用vba得到与某选定直线相交的直线的集合

大家请帮忙,我已经选择了一条直线,如何不通过鼠标选择,而用vba程序得到与其相交的直线,谢谢,谢谢,thank you

mccad 发表于 2002-9-17 17:53:00

先得到直线的两个端点,通过两个端点使用栅选法可选择到通过直线的对象

maowenhui 发表于 2002-9-19 15:22:00

请问栅选法主要用那个函数或者方法、属性,谢谢指教

leeyeafu 发表于 2002-9-19 15:58:00

你完全是新手?本站的文章,看看吧

http://www.mjtd.com/a2/list.asp?id=88

maowenhui 发表于 2002-9-21 11:59:00

求助:是以select方法的acselectionpoly,以及过滤器dxf、intersectwith方法...

本帖最后由 作者 于 2002-9-21 11:59:30 编辑

是以select方法的acselectionpoly,以及过滤器dxf、intersectwith方法联合使用吗,相当复杂,试验好久,没有成功

maowenhui 发表于 2002-9-21 15:55:00

栅选法难以解决与某直线相交集合的问题

608 发表于 2002-10-7 00:07:00

是这样的情形吧?

本帖最后由 作者 于 2002-10-7 0:07:32 编辑

对于黄线而言,这个集合包含white + red 线的总和

I desire this too!
[此贴子已经被作者于2002-10-6 23:36:19编辑过]


难道要遍历选集内所有其他Line,并同时做与yellow线的intersect看看是否有交点才行?

608 发表于 2002-10-7 19:41:00

getatpont()怎么就能选一个而不是全部通过那个点的实体呢?

得到端点p1后使用
selection.getPointAt(p1)
为什么得不到通过p1的全部Line的选集呢?
只有一条被选中了。

608 发表于 2002-10-7 21:33:00

:) 解决了

本帖最后由 作者 于 2002-10-7 21:33:27 编辑

下午起床后又做了2个小时,
selectPointAt()总是不争气,只选择一条。
没办法只好曲线救国啦。
用**********slectcro sd********
yo在这个“小盒子里”真是太难编辑了。我换。。。



Public Sub selectAtPoint()


    Dim vSelectPoint As Variant
    Dim selectPoint(2) As Double
   
    Dim corner1 As Variant
    Dim corner2 As Variant
    Dim precious As Double
   
    Dim utilObj As Object
    Dim selection As AcadSelectionSet
   
    Dim i As Integer
    Dim Line As AcadLine
   
    Set selection = ThisDrawing.ActiveSelectionSet
    Set utilObj = ThisDrawing.Utility
   
   
   
    vSelectPoint = utilObj.GetPoint(, "select the test point")
    selectPoint(0) = vSelectPoint(0)
    selectPoint(1) = vSelectPoint(1)
   
    precious = 0.0000000000001 '模拟点的精度。
   
    utilObj.CreateTypedArray corner1, vbDouble, (selectPoint(0) - precious), (selectPoint(1) + precious), 0
    utilObj.CreateTypedArray corner2, vbDouble, (selectPoint(0) + precious), (selectPoint(1) - precious), 0
      
    selection.Select acSelectionSetCrossing, corner1, corner2
   
    For i = 0 To selection.Count - 1
      Set Line = selection.Item(i)
      Line.Color = acBlue
      Line.Update
    Next
   
End Sub

maowenhui 发表于 2002-10-9 11:23:00

我把整个图层上的line线都遍历了,才筛选到与该直线相交的线。不知道有没有更快的办

我把整个图层上的line线都遍历了,才筛选到与该直线相交的线。不知道有没有更快的办法
页: [1] 2
查看完整版本: 如何利用vba得到与某选定直线相交的直线的集合