For my valentine.
Pull the heart handle to view the message, let go and it retracts back into the heart.
Requires 3/8" (9.525 mm) ribbon. In addition, my wife printed text on ink jet compatible heat transfer (iron on) paper to make the various messages, then ironed them onto the ribbon.
Video of mechanism is here:
Printing and assembly.
Designed using Fusion 360, and printed in PLA on an Ultimaker 3 Extended at .1mm.
Print "Spring.stl" and "Back Enclosed.stl" at 100% infill, the remaining parts at 20% infill.
I purchased 3/8" (9.525 mm) white ribbon and heat transfer paper for the messages, however, I wrote a couple of the ribbons by hand using an indelible ink pen.
I used cyanoacrylate glue to attach the ribbon to both "Handle.stl" and "Spool.stl". The location of the ribbon on "Spool.stl" was in the 7 o'clock position.