So I have these two parts.

You would assume that using :PointToObjectSpace from the larger part to the smaller part would return (0,-1,0), since it’s one stud below it. But no. It returns this.

```
0, -0.99999988079071, 6.556510925293e-07
```

```
print(workspace.P1.CFrame:PointToObjectSpace(workspace.P2.Position))
```

Yes, I know about floating point variation, but I have no idea why Z is 6.556510925293e-07

P1 (The larger part)'s orientation is (22.5, 0, 0)

and P2’s orientation is the same. So I have no idea why this is behaving weirdly and I need to use this for my building system.