Just some reminders to myself. VBA.
Dim dPt1(0 To 2) As Double
Dim dPt2(0 To 2) As Double
Dim dAng As Double
Pi equation
Dim pi
pi = 4 * Atn(1)
dPt1(0) = oStructure.ConnectedPipe(i - 1).StartPoint.X
dPt1(1) = oStructure.ConnectedPipe(i - 1).StartPoint.Y
dPt2(0) = oStructure.ConnectedPipe(i - 1).EndPoint.X
dPt2(1) = oStructure.ConnectedPipe(i - 1).EndPoint.Y
dPt3(0) = oStructure.ConnectedPipe(j).StartPoint.X
dPt3(1) = oStructure.ConnectedPipe(j).StartPoint.Y
dPt4(0) = oStructure.ConnectedPipe(j).EndPoint.X
dPt4(1) = oStructure.ConnectedPipe(j).EndPoint.Y
Make sure the lines/points start at the same point to make sure the angle calculated is correct. Absolute in case the angle is negative. 2pi - dAng to get the other angle associated. Much easier than
If dPt1(0) = dPt3(0) And dPt1(1) = dPt3(1) Then
dAng = Abs(ThisDrawing.Utility.AngleFromXAxis(dPt1, dPt2) - ThisDrawing.Utility.AngleFromXAxis(dPt3, dPt4))
ElseIf dPt2(0) = dPt3(0) And dPt2(1) = dPt3(1) Then
dAng = Abs(ThisDrawing.Utility.AngleFromXAxis(dPt2, dPt1) - ThisDrawing.Utility.AngleFromXAxis(dPt3, dPt4))
ElseIf dPt2(0) = dPt4(0) And dPt2(1) = dPt4(1) Then
dAng = ThisDrawing.Utility.AngleFromXAxis(dPt2, dPt1) - ThisDrawing.Utility.AngleFromXAxis(dPt4, dPt3)
ElseIf dPt1(0) = dPt4(0) And dPt1(1) = dPt4(1) Then
dAng = Abs(ThisDrawing.Utility.AngleFromXAxis(dPt2, dPt1) - ThisDrawing.Utility.AngleFromXAxis(dPt3, dPt4))
End If
No comments:
Post a Comment