4 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

Axes

The Axes data type contains a set of enabled 3D axes, represented as a bitmask. It is used by the ArcHandles class through its Axes property to control which rotation arc handles are visible.

Axes exposes three axis properties (X, Y, Z) and six face properties (Top, Bottom, Left, Right, Front, Back). Because faces map to their corresponding axis, face pairs always share the same value: Top and Bottom both reflect the Y axis, Left and Right both reflect the X axis, and Front and Back both reflect the Z axis.

-- Enable arc handles for the X and Y axes only
local arcHandles = Instance.new("ArcHandles")
arcHandles.Axes = Axes.new(Enum.Axis.X, Enum.Axis.Y)

Like most data types on Roblox, the Axes data type is immutable: you cannot assign to its properties once created.

Constructors

NameType / ReturnsDescription
Axes.newCreates a new Axes using list of axes and/or faces. NormalIds (faces) are converted to the corresponding axes.

Axes.new

Creates a new Axes from up to 6 Axis or NormalId values. Each NormalId is converted to its corresponding axis (for example, NormalId.Top and NormalId.Bottom both enable the Y axis). Calling Axes.new() with no arguments returns an Axes with all properties set to false.

-- Using Enum.Axis values
local axes = Axes.new(Enum.Axis.X, Enum.Axis.Z)
print(axes.X) -- true
print(axes.Y) -- false

-- Using Enum.NormalId values (converted to axes)
local axes2 = Axes.new(Enum.NormalId.Top, Enum.NormalId.Right)
print(axes2.Y) -- true (Top -> Y axis)
print(axes2.X) -- true (Right -> X axis)

Parameters

NameTypeDefaultDescription
axesTupleAny combination of Axis and/or NormalId values (up to 6) specifying which axes to enable.

Properties

NameType / ReturnsDescription
Axes.XboolWhether the X axis is enabled.
Axes.YboolWhether the Y axis is enabled.
Axes.ZboolWhether the Z axis is enabled.
Axes.TopboolWhether the top face is included.
Axes.BottomboolWhether the bottom face is included.
Axes.LeftboolWhether the left face is included.
Axes.RightboolWhether the right face is included.
Axes.BackboolWhether the back face is included.
Axes.FrontboolWhether the front face is included.

Axes.X

Whether the X axis is enabled. Defaults to false when constructed via Axes.new() with no arguments. This property is equivalent to both Left and Right, which also reflect the X axis state.

FieldValue
typebool

Axes.Y

Whether the Y axis is enabled. Defaults to false when constructed via Axes.new() with no arguments. This property is equivalent to both Top and Bottom, which also reflect the Y axis state.

FieldValue
typebool

Axes.Z

Whether the Z axis is enabled. Defaults to false when constructed via Axes.new() with no arguments. This property is equivalent to both Front and Back, which also reflect the Z axis state.

FieldValue
typebool

Axes.Top

Whether the top face is included. This corresponds to the positive Y direction (NormalId.Top) and is always equal to the Y property. Defaults to false.

FieldValue
typebool

Axes.Bottom

Whether the bottom face is included. This corresponds to the negative Y direction (NormalId.Bottom) and is always equal to the Y property. Defaults to false.

FieldValue
typebool

Axes.Left

Whether the left face is included. This corresponds to the negative X direction (NormalId.Left) and is always equal to the X property. Defaults to false.

FieldValue
typebool

Axes.Right

Whether the right face is included. This corresponds to the positive X direction (NormalId.Right) and is always equal to the X property. Defaults to false.

FieldValue
typebool

Axes.Back

Whether the back face is included. This corresponds to the positive Z direction (NormalId.Back) and is always equal to the Z property. Defaults to false.

FieldValue
typebool

Axes.Front

Whether the front face is included. This corresponds to the negative Z direction (NormalId.Front) and is always equal to the Z property. Defaults to false.

FieldValue
typebool