If all you are wanting is for the preview to be on the ‘ground’ no matter what the scale, can you not just adjust its position to 1/2 of its size in the Y direction?
preview.cframe = cframe.new(x , y + (preview.size.y/2), z)
or something like that?