huaiyu,请进,在线等
本帖最后由 作者 于 2006-10-30 14:24:58 编辑 <br /><br /> <P>在多段线的每个顶点都加一个圆,圆心就是顶点,半径为2</P><P>在vba中如何实现呀?</P>
<P>大家帮手, 谢谢</P> <P>这样对 Coordinates 的遍历来得到的</P>
<P>Sub Test5()<BR>Dim objSel As AcadEntity<BR>Dim pt As ACAD_POINT<BR>On Error GoTo exitSel<BR>ThisDrawing.Utility.GetEntity objSel, pt, "Pick a text"<BR>'If TypeOf objSel Is AcDbText Then<BR>If objSel.ObjectName <> "AcDbPolyline" Then<BR> ThisDrawing.Utility.Prompt "选择的不是 AcDbPolyline,请重新选择!"<BR> Exit Sub<BR>End If<BR>'Dim vv As AcadPolyline<BR>Dim pts As Variant<BR>pts = objSel.Coordinates<BR>Dim i As Integer<BR>i = 1<BR>Dim ptCir(0 To 2) As Double<BR>Dim cir As AcadCircle<BR>For Each pt In pts<BR> If i = 2 Then<BR> ptCir(1) = pt<BR> ptCir(2) = 0#<BR> Set cir = ThisDrawing.ModelSpace.AddCircle(ptCir, 2#)<BR> i = 1<BR> Else<BR> ptCir(0) = pt<BR> i = i + 1<BR> End If<BR> <BR>Next pt</P>
<P>exitSel:<BR>End Sub</P> huaiyu,谢谢你的精彩解答,我试一下你的办法 <P>huaiyu,我用你的方法时发现两个问题:</P>
<P> 1.有圆弧的地方,凸点没能加圆,其它的顶点都可以正确的加上去</P>
<P> 2.你用的是选择一个多段线</P>
<P> ThisDrawing.Utility.GetEntity objSel, pt, "Pick a text"<BR> 我现在想改成在一个选择集中的所有多段线的顶点都要加一个同样的圆</P>
<P>不知你能不能再帮忙解答一下,在线等.....</P>
页:
[1]