sjydizhi 发表于 2007-10-8 15:44:00

如何使多义线反向

高手们,请教使多义线反向程序

phonexi 发表于 2007-10-8 16:46:00

反向是什么意思,不说明白

mycad 发表于 2007-10-8 19:45:00

先获取多义线的坐标,在由坐标数组的最后一个点对倒过来画线,删除原线.此中法子适用于任何情况.

alin 发表于 2007-10-8 20:47:00

Option Explicit
'program to reverse the direction of a pline
'modified from malcolm's codes
Private Sub reverse_pline(plineObj As Variant)
Dim pts() As Double
Dim bulge() As Double
Dim legs As Integer
Dim retcoord As Variant
Dim i As Integer
Dim i2 As Integer
retcoord = plineObj.Coordinates
ReDim Preserve pts(UBound(retcoord))
legs = (UBound(retcoord) / 2) - 1
ReDim Preserve bulge(legs)
For i = legs - 1 To 0 Step -1
bulge(i) = plineObj.GetBulge(legs - 1 - i) * -1
Next i
For i = UBound(retcoord) To 0 Step -2
i2 = UBound(retcoord) - i
pts(i2 + 1) = retcoord(i)
pts(i2) = retcoord(i - 1)
Next i
plineObj.Coordinates = pts
For i = 0 To legs - 1
plineObj.SetBulge i, bulge(i)
Next i
End Sub
Public Sub Test()
Dim polyObj As AcadLWPolyline
Dim ptPicked As Variant
ThisDrawing.Utility.GetEntity polyObj, ptPicked, "Select a LWpolyline: "
reverse_pline polyObj
End Sub

sjydizhi 发表于 2007-10-9 08:40:00

请问4楼楼主,这程序如何用呀?
页: [1]
查看完整版本: 如何使多义线反向