Changing part's surface

Hello devs,
How do I change part’s surface side? Let’s say the BasePart has been rotated 90 degrees, and sides of the part change (Top, Front, Bottom, Back). So how do I make the sides stay still as if it was 0 degrees but the part is rotated any angle? BasePart turns 90 degrees and surface sides top, front, back, left, right, bottom remain constant.

I making a game where you place a part on top of a part.

if mouse.TargetSurface.Value == 1 then
	createBlock(mouse.Target.Position + Vector3.new(0,mouse.Target.Size.Y,0))
end

This creates a new BasePart and moves it above the part. I’m adding rotation system so when you rotate the part it still creates a new BasePart on top of a part.

Any ideas how to make it place a part on top of a part even if orientations are different?