As a kid, I loved my dad's antique rolltop desk, so I thought I'd advance my design skills by making a box with a rollup top. I'm not sure how useful it is, but I sure had fun creating it.
The rolltop should be printed at .1mm, as it has small chain links to hold the slats together. The other two pieces can be printed in draft mode if you want. Put it together and apply a bead of CA (superglue) on the inside cavity where the main shell and the left side meet. I find that a gap filling CA works better for this kind of work (search for "medium CA" or "thick CA" on Amazon).
I have included the openJsCad source files. There are key variables at the top of each file for changing the dimensions. Both the main shell and the side are in the box.jscad file. At the end of the file you can switch which one is output.
Important: I used Prusa's Slic3r to generate gcode, but then found that it would not render the side correctly (it kept cutting off the top retaining lip). I ended up using Cura to slice that part.