A small container, composed of 5 polycubes, one of which serves as a "key" holding the pieces together. Four of the pieces are identical 8-cubes; the "key" is a 9-cube.
The openSCAD code allows clearances to be adjusted if the fit is too tight or loose.
The 8-cube needs support.
The four 8-cubes easily assemble into the inverted container, that is with the base on top. The 9-cube then translates into the central position. Tricky; it can seem that 3 hands are needed.
An alternative construction is to assemble three 8-cubes and the 9-cube in the inverted position as shown below; then translate the 9-cube upwards from the assembly and tip it away from the missing position. Insert the last 8-cube into position by translation and rotation; then press the 9-cube into position also by rotation and translation.