Community Challenge #27: Letter cut-outs (and so long)

I want to echo what others have said: I really enjoy these challenges and hope that they don’t go on hiatus for too long. Big thanks to everyone involved in organising them, I find the entries to be a huge inspiration and the breakdowns and workflows of other people’s projects are always enjoyable to read and very informative.

Every year all the band and choir students at a local high school put on a big fund-raising concert and dinner they call Cabaret. It’s a chance for the kids to show off their hard work on a real stage and a chance for the parents to enjoy the music and a nice meal while maybe having a little too much to drink and embarrassing their kids. For the several years I’ve volunteered filming the event but thought that we could kick it up a notch by combining CNC and projector mapping.

I used my Shapeoko XXL to cut out the letters from a 2’x8’x1” piece of white Polystyrene insulation. I wanted to make the biggest sign I could possible make from the 8’ piece so I drew box the size of the foam in Fusion360 and fiddled with the font size until it fit the stock. The same thing can also be easily done with Carbide Create.

Each letter became its own setup in Fusion and exported individually so I could slide the foam panel, cut a letter then slide it into position for the next one. I did two passes at 2000mm/min, 15mm doc, 17000RPM with a 3 flute .25” endmill. I’m sure I could’ve done it in a single pass, the foam put up basically no resistance. For workholding it was simple clamps and tabs. Even with the dust collection going full blast, it made a huge mess and I’m still finding foam pieces stuck to things.


The foam letters are attached to each other with dowels and then gaffed taped to the trusses. The alignment of the letters is a little wonky because I let the student technicians assemble it, but the show is as much of an event for the stage crew as it is for the performers, and I hoped to instill the same curiosity and experimentation that was inspired in me from my mentors when I was an audio-visual tech in high school.

For the projector mapping itself, I used a Lightform LF1 but you can get the same results with opensource solutions like https://mapmapteam.github.io/ it just requires a bit more setup because the Lightform provides a depth map of the scene you’re projecting on to. As a quick aside, the way it creates the depth map is quite clever. By projecting a series of known patterns, it uses a camera to detect how much the projected pattern diverges from the known pattern and uses that displacement to create a point cloud representing the scene.

I initially thought that we’d stack two projectors to make the image twice as bright but quickly realised that only works with a single focal point. Since both the letters and the rear screen are on different planes, there was ghosting due to parallax on the plane that’s not in focus, like taking your 3D glasses off in a movie. It turned out one project was bright enough anyway.

In the software you mask out the areas that you want to project on to, in this case the letters, and it creates layers allowing you to project different graphics on the letters and the background. I have an example below, notice how the letters are animated but the background is white projecting “cabaret” with the shadows of the letters. The animations were variations on the presets and I tried to have unique animations for each set but in the future it would be fun to get the set list beforehand and have a custom animation for each song.

The end results looked great, the parents and students loved it with many comments about how they hoped it’d return for the next Cabaret. The goal was to elevate an already special night for the students and make them feel like rock stars and I think it succeeded.

This relatively simple setup has my imagination going in all sorts of directions and maybe I’ll get around to doing something more complicated than just letters. It would also be great to see what other people can do too.

20 Likes