App for creating 3D Specular Holograms on 2D surfaces. Also known as abrasion holograms or Chatoyant holograms.
Quick overview @ https://www.youtube.com/watch?v=1uku3OEgDNg.
This started as a fork of Mike Miller's https://github.com/mymikemiller/scratchhologram (see changelist history for functional/perf edits I've made since).
Use this app to convert Basic 3D models (with very few faces/triangles) from .STL to .SVG image files that can be used in your CNC/Laser CAM software (e.g. EstlCam, Fusion 360, LightBurn, etc...) to generate .GCODE toolpaths executable by your machine.
Am using this app to lightly scratch and etch glossy acrylic, or metal surfaces using diamond drag bit held by a custom mount that's flexible in vertical Z axis, but rigid in XY...
https://www.printables.com/model/419594-v1e-lowrider-3-pen-drag-knife-drag-bit-rdz-engrave
Myself and other V1E forum members stumbled (~2023/2) onto Steve Mould's Specular Hologram video,
we collectively had a speculative discussion
on how to get our CNC/Laser machines to achieve great results. Steve painstakingly made the holograms with a compass, showing what's possible by hand.
We wanted to see what's possible with our CNCs and Lasers.
Some info and resources I stumbled across when researching into background, options and alternatives...
- Steve Mould’s discord channel has misc posts on Specular Holograms.
- Mike Miller's scratchhologram C# code that
- 1981 Article on Holographic Engraving http://www.garfield.library.upenn.edu/essays/v5p348y1981-82.pdf
- 1995 Drawing Holograms by Hand (using compass), W. Beaty SCIENCE HOBBYIST: Drawing holograms by hand and Holography without Lasers: Hand-drawn Holograms [SCIENCE HOBBYIST]
- 2009-1-13 Abrasion Hologram Printer, Mike Miller, Daniel Wrachford, Spencer Kennedy, Abrasion Hologram Printer - YouTube
- 2010-11-30 Specular Holography, Matthew Brand https://arxiv.org/pdf/1101.0301.pdf
- 2012/7/22 Drawing lightfields: handdrawn approaches to abrasion holography, Tristan Duke, MIT Talk
- 2011 - 2014 Object and Scene datasets at https://rgbd-dataset.cs.washington.edu/
- 2017-2018 Mike Miller shared scratch-hologram app, C# Code on GitHub
- Can load .x3d files, simulate and generate arcs on the view plane… (HoloZens was forked from this).
- Example of the app running @ https://www.youtube.com/watch?v=JaGZ651U4j4
- 2020 CODE @ GitHub - shchuko/ScratchedHologramFrom3D: Scratched hologram creation tool
- 2020 CNC + Servo for Arcs https://www.instructables.com/The-Scribe-bot-a-Machine-to-Create-Scratch-Hologra/
- YouTube Playlist Hologram scratch abrasion videos @ Holograms scratch abrasion - YouTube
- Checkout hologram on Star Wars vinyl records.
- Very different from Red Laser Holograms LitiHolo 3D Hologram Printer Video Intro - YouTube
- $50 Holocraft app, is listed for sale @ https://deftware.myshopify.com/products/holocraft, looks
interesting. I have NOT tried the app. Mentioning here incase it's a good fit for what
you're looking for.
Currently (2024/1/3), you'll need some patience and determination... Clone/download this code, compile in Visual Studio and run on Windows. I haven't made time/prioritized packaging this up in a way that'd work for more people.
Watch the YouTube video for quick overview, ping me if you want more detailed video/instructions showing how to use. I'll try to put something together if there's enough interest.
Please share if you make something interesting and/or learn techniques that are helpful to know. Cheers!
Consider checking out https://forum.v1e.com/t/drag-knife-and-laser-etched-specular-holograms/36888, shared more info/context there, myself and others interested in this topic might be able to respond to questions there.
NOPE. Not happening, at least for now... Initially, was planning to add Export GCODE feature, even wrote the code...
But I don't want bugs/misuse to cause harm to User's machine, stock or $$$ bits, especially given cost
of diamond drag bits and nice materials.
That said, here's some related info and inspiration for the bold...
G2-G3 Arc/Circle Move, Marlin docs
// TODO:... int plungeRate = 3; plungeRate, Angle, Elipsis for distortion correction... //int rapidXY = 4000; //int zLift = 4; //float toolDepth = 0.25f;
StringBuilder sbGcode = gcode.sbGcode;
sbGcode.AppendLine($"G0 X{x1} Y{y1} F{rapidXY}"); // Rapid to arc start
sbGcode.AppendLine($"G0 Z{toolDepth}"); // Z Plunge
sbGcode.AppendLine($"G2 X{x2} Y{y2} R{r}"); // Arc Move, Clockwise
sbGcode.AppendLine($"G0 Z{zLift}"); // Z Lift