So, I have seen a bunch of people use CFrame incorrectly. So, I wanted to make a tutorial I could link to fix their problems. The most common way I see it used incorrectly is:

#1, which is using `CFrame.new(Vector3.new(10, 1, 100))`

. It is CFrame.new, not ConvertToCFrame. If you want ConvertToCFrame, do this:

```
local function ConvertToCFrame(value)
if typeof(value) == typeof(CFrame.new()) then
return value
elseif typeof(value) == typeof(Vector3.new()) then
return CFrame.new(value.X, value.Y, value.Z)
else
return false
end
end
```

#2 People forgetting CFrame.Angles needing radians. There are two easy ways of getting radians.

#1: Using math.pi

To use math.pi, it is really simple. Math.pi is 180 degrees in radians. To get a 180 degrees flip, do

```
game.Workspace.Part.CFrame = CFrame.Angles(0, math.pi, 0)
```

To make a 90 degrees flip, do math.pi / 2

To make a 260 degrees flip, do math.pi * 1.5

To make a 360 degrees flip, do math.pi * 2.

#2: Using math.rad

math.rad converts degrees into radians. Just put the degrees in the parameter of math.rad, for example

```
game.Workspace.Part.CFrame = CFrame.Angles(0, math.rad(90), 0) --will turn part 90 degrees
```

I think this explains itself, just insert the degrees into math.rad.

Side note:0 degrees is 0 radians, so don't waste your time doing math.rad(0).

Hope this helps with your CFraming!