wholin 发表于 2006-10-28 09:39:00

[VBA]vba怎样来实现返回多段线的各顶点

<P><FONT size=2>vba有没有类似lisp中的函数-- vertexs <B>返回多段线</B>的各<B>顶点</B></FONT></P>
<P><STRONG><FONT size=2>我现在想用vba来实现返回多段线的各顶点,要怎样才能实现?请大家提个思路</FONT></STRONG></P>

wholin 发表于 2006-10-28 15:01:00

<P>我现在要用 j=DistancePt2Poly(pt, objPolys) 来测试一个点到某多段线的距离,如点选一个点可以很正确的测出来</P>
<P>但是我现在是要从一个oness多段线上通过一个循环来测试上面的顶点到objPolys的最小距离: For i = 0 To (UBound(oness.Coordinates) + 1) / 2 - 1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j = DistancePt2Poly(oness.Coordinates, objPolys)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox j<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结果却为0,不知是错在那里?</P>

peicong 发表于 2006-10-31 13:22:00

<P>retCoord = Ent1.Coordinates</P>
<P>Ent1为你选择的多段线</P>
<P>retcoord存储了所有的顶点坐标</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For Number = LBound(retCoord) To UBound(retCoord) - 2 Step 2<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; K = 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'MsgBox LBound(retCoord)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'MsgBox UBound(retCoord)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pt1(K) = retCoord(Number)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pt1(K + 1) = retCoord(Number + 1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pt1(2) = 0<BR>next</P>
页: [1]
查看完整版本: [VBA]vba怎样来实现返回多段线的各顶点