Increase height of room solid upward

I have exhausted with the solutions offered by CoPilot with no success.

I want to extend the room solid to the full storey height temporarily to enable me to check the presence of beams protruding inside the room.

Essentially, the problem is that using

room_solid = GeometryCreationUtilities.CreateExtrusionGeometry(original_curve_loops_of_room_solid, XYZ(0.0, 0.0, 1.0), room_height)

will give a solid of length = room_height and with Min.Z = - room_height/2 and Max.Z = + room_height/2 (i.e. extending upward and downward) instead of extending upward only to the full storey height.

Using:

transform = Transform.CreateTranslation(XYZ(0.0, 0.0, offset))
..
adjusted_curve = curve.CreateTransformed(transform)

with whatever offset value cannot change the final result.

Other methods like building the solid from lines cannot yield the desired results.

The final solution is to use:

`room_solid = GeometryCreationUtilities.CreateExtrusionGeometry(original_curve_loops_of_room_solid, XYZ(0.0, 0.0, 1.0), room_height * 2)`

to make up the full storey height, and the intersection with ceiling beams does work. It seems that floor beams below are not intersected even though Min.Z is negative the room_height.

Is this solution robust? Is it possible to extrude in one direction only instead of symmetrically?

Further testing shows that the room_height does not have to be * 2, and can still intersect ceiling beams. Even though the extruded Max.Z is only half of the room_height, giving the impression that it does not reach the floor level above, now I think that the base plane of room solid is automatically set to the middle of the room solid, rather than the base of the room solid, thus causing the false impression.