When I initially create the outermost container (group) I create it at the origin and then translate and rotate it into position based on the (3 points selected).
I could either clear out the contents of the group and create the new roof inside the existing group.
I could get the transform of the existing group, delete it, create the new group and then transform the new group into the correct position and rotation.
The original 3 points don’t have any value in my opinion since the user may have moved the assembly (group) after it was created. I often do this myself if I initially create the roof first and then add in the walls and foundation later.