For those interested, I am going to be making ‘specular holograms’. There is a guy in Massachusetts who pioneered creating synthetic holograms by calculating an optical surface that will reflect light as a holographic image. His website is http://www.zintaglio.com
He began doing this back in 2008, and made over 100 holograms over the course of about 5 years before moving on to other projects and areas of research. He never explicitly marketed or sold his holograms, but instead had an installation at the Museum of Math in New York. These holograms consist of reflective grooves in what I imagine to be aluminum, and are 20-150 microns wide, of varying depths.
Nobody else has bothered to figure out the math behind calculating the optical surface, let alone figuring out how to fabricate such a surface. My goal is to push his work further, in a creative sense. I do not (really) have any reservations that I could replicate his fine work on a hobby CNC, but I have no doubt about my ability to create interesting and beautiful holograms nonetheless.
The goal is really to just get down as small and fine as I can. I’ve already figured out the math side of things, and have written a sort of ‘hologram generator’ that loads up a 3D model and allows the user to customize the parameters used to generate toolpaths for groove reflectors that will reflect a holographic image of the model from an overhead light source.
I’ve been chronicling my work on this project for the past 6 weeks on my blog: http://deftware.blogspot.com and started a crowdfunding venture to fund the project. I have since been granted some cash for a machine but will need more funding for cutters/materials to fully explore the boundaries of the X-Carve’s capabilities.
My holograms will probably not be as fine as Brand’s but they will certainly be the only other holograms machined into metal in existence, and also, they will be larger - due to my decision to go with the X-Carve 1000mm over other possible machines on the market.
Here’s a little promo video I made for the crowdfunding campaign:
Also, as an added tidbit, these holograms comprise thousands and tens of thousands of these individual reflector groove optics, meaning lots of little cutting tool paths. I went ahead and began testing out various programs and their ability to import the hologram toolpath SVG files that my program ‘Holocraft’ outputs, and almost none of them can handle the sheer number of paths… Easel can do a few hundred, while running like a slideshow, but won’t be usable for the granularity I am aiming for on aluminum. Everything else just dies. Maybe there are other CAM programs out there, but most of them don’t allow importing unclosed paths and just using them directly as a cutting toolpath, let alone being able to import SVG files.
The only CAM software I could find was MakerCam (http://www.makercam.com), which operates rather beautifully, as a mere Flash applet in the browser, and will probably be what I use during my initial work with the X-Carve. However, I am starting to think the best route to go is directly outputting G-code from Holocraft, instead of SVG files alone. This would entail popping up a dialog asking for the usual details: tool diameter, safety height, depth per pass, feed rate, etc. and would simply obviate the need for a CAM program. Outputting an image of the grooves and using that as a sort of heightmap for a CAM program might work, but I feel like this sort of work requires direct control over the machine, instead of letting a program just generate tooling paths that could ‘miss the point’.
Once I was able to generate G-code, the other problem was finding a program I could drive the X-Carve (or any GRBL controller, for that matter) that could handle the resulting giant G-code program. Again, virtually everything died under the stress. UGS just ignored the G-code entirely (very disappointing after all the raving reviews I read about it) and Chillipeppr experienced the same situation as most CAM programs, where it came to a useless crawl. I tried several before finally discovering grblControl (GitHub - Denvi/Candle: GRBL controller application with G-Code visualizer written in Qt.) which is an open source program that’s cross platform for driving GRBL based machines.
It looks just as good as UGS to me, except faster and better. It’s probably missing features that UGS has but I haven’t noticed. It has heightmapping capabilities for dealing with warped work surfaces, and other really neat features. It’s still being actively developed too, and from what I gather I surmised that the author wrote it for his own PCB milling purposes.
At any rate, grblControl is the only program I could find that could handle my massive hologram G-code programs, and does so with ease, like (mind you that I say this as a life-long programmer myself) “real” software should. Personally, I am tired of these 5 degrees of separation between user and machine, where someone writes a script that runs in an interpreter that runs in a VM that runs in with 50 external dependencies that finally executes on the CPU. It’s disgusting and makes me feel dirty, all for their convenience as “programmers”. Apologies if that’s harsh, but in this instance, people’s inability to learn how to write native code has almost cost me the time it would take to write my own GRBL controller just to do something unique and interesting with the X-Carve. Tisk tisk.
So, that’s what I’m working on. I should have my machine on order by this time next week, and I cannot express how freaking excited I am and how grateful I am that this community exists to help with all of the feedback. I have a background in precision CNC machining, and microcontroller development, so when I stumbled across this project it just seemed like the perfect storm. I am excited to see what I can pull off with the X-Carve, and hopefully, as my utmost top goal, inspire others to pursue anything related to what I’m doing, whether it be math, programming, science, fabrication, etc… I think that the only reason I do anything anymore is to stay inspired about life, and to show others that cool stuff can be done so as to inspire them as well.
Once I get deep into making holograms and honing and refining the process, I’m considering kickstarting a project building hologram-making-machines, and building up Holocraft, so that people basically just need the machine/software and a cutting tool and some aluminum, and they can just model up a 3D scene and ‘print’ the hologram onto the metal with the machine. Maybe just releasing Holocraft will suffice, because it seems unavoidable that people will need to be able to deal with whatever machine is doing their bidding.
Thanks for reading guys.