Dear All,
I have use the following code to create angle from three points, but the result is not I get is not the same as the result I get from Measure angle Tool.Can anybody help me out to solve this.
Measure Angle Tool: 34 Degree
GetActiveAngleFrom3Points Return : 216 Degree
Demonstrates how to mimic the angle-from-2-points and angle-from-3-points commands in MicroStation.
'Return same angle as keyin "active angle pt3" Function GetActiveAngleFrom3Points(pt1 As Point3d, pt2 As Point3d, pt3 As Point3d, oView As View) As Double Dim vec1 As Vector3d, vec2 As Vector3d, vec3 As Vector3d Dim angle As Double 'get vectors in plane of view vec1 = Vector3dFromMatrix3dTimesVector3d(oView.Rotation, Vector3dSubtractPoint3dPoint3d(pt1, pt2)) vec2 = Vector3dFromMatrix3dTimesVector3d(oView.Rotation, Vector3dSubtractPoint3dPoint3d(pt3, pt2)) vec3 = Vector3dFromXY(1#, 0#) 'duplicate keyin logic angle = Degrees(Vector3dAngleBetweenVectorsXY(vec3, vec2) - Vector3dAngleBetweenVectorsXY(vec3, vec1)) If angle < 0# Then angle = angle + 360# End If GetActiveAngleFrom3Points = angle End Function