AngleFromXAxis Method (ActiveX)

Gets the angle of a line from the X axis.

Supported platforms: Windows only

Signature

VBA:

RetVal = AngleFromXAxis(Point1, Point2)
object

Type: Utility

The object this method applies to.

Point1

Access: Input-only

Type: Variant (three-element array of doubles)

The start point of the line.

Point2

Access: Input-only

Type: Variant (three-element array of doubles)

The endpoint of the line.

Return Value (RetVal)

Type: Double

The angle of the line in radians.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_AngleFromXAxis()
    ' This example finds the angle, in radians, between the X axis
    ' and a line defined by two points.
    
    Dim pt1(0 To 2) As Double
    Dim pt2(0 To 2) As Double
    Dim retAngle As Double
    
    pt1(0) = 2: pt1(1) = 5: pt1(2) = 0
    pt2(0) = 5: pt2(1) = 2: pt2(2) = 0
    
    ' Return the angle
    retAngle = ThisDrawing.Utility.AngleFromXAxis(pt1, pt2)
    
    ' Create the line for a visual reference
    Dim lineObj As AcadLine
    Set lineObj = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
    ZoomAll
    
    ' Display the angle found
    MsgBox "The angle in radians between the X axis and the line is " & retAngle, , "AngleFromXAxis Example"
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_AngleFromXAxis()
    ;; This example finds the angle, in radians, between the X axis
    ;; and a line defined by two points.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Return the angle
    (setq pt1 (vlax-3d-point 2 5 0)
          pt2 (vlax-3d-point 5 2 0))
    (setq retAngle (vla-AngleFromXAxis (vla-get-Utility doc) pt1 pt2))
    
    ;; Create the line for a visual reference
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq lineObj (vla-AddLine modelSpace pt1 pt2))

    (vla-ZoomAll acadObj)
    
    ;; Display the angle found
    (alert (strcat "The angle in radians between the X axis and the line is " (rtos retAngle 2)))
)