如何利用vba得到与某选定直线相交的直线的集合
大家请帮忙,我已经选择了一条直线,如何不通过鼠标选择,而用vba程序得到与其相交的直线,谢谢,谢谢,thank you先得到直线的两个端点,通过两个端点使用栅选法可选择到通过直线的对象
请问栅选法主要用那个函数或者方法、属性,谢谢指教
你完全是新手?本站的文章,看看吧
http://www.mjtd.com/a2/list.asp?id=88求助:是以select方法的acselectionpoly,以及过滤器dxf、intersectwith方法...
本帖最后由 作者 于 2002-9-21 11:59:30 编辑是以select方法的acselectionpoly,以及过滤器dxf、intersectwith方法联合使用吗,相当复杂,试验好久,没有成功
栅选法难以解决与某直线相交集合的问题
是这样的情形吧?
本帖最后由 作者 于 2002-10-7 0:07:32 编辑对于黄线而言,这个集合包含white + red 线的总和
I desire this too!
[此贴子已经被作者于2002-10-6 23:36:19编辑过]
难道要遍历选集内所有其他Line,并同时做与yellow线的intersect看看是否有交点才行?
getatpont()怎么就能选一个而不是全部通过那个点的实体呢?
得到端点p1后使用selection.getPointAt(p1)
为什么得不到通过p1的全部Line的选集呢?
只有一条被选中了。
:) 解决了
本帖最后由 作者 于 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
我把整个图层上的line线都遍历了,才筛选到与该直线相交的线。不知道有没有更快的办
我把整个图层上的line线都遍历了,才筛选到与该直线相交的线。不知道有没有更快的办法
页:
[1]
2