Thingiverse
Customizable shadow display by roipoussiere
by Thingiverse
Last crawled date: 3 years ago
Customizable Shadow Display
A digital display which displays whatever you want, whenever you want. No batteries, no motor, no electronics, only a 3D-printed object and its shadow.
See the GitHub repository.
About the original Digital Sundial
Note: This item is a work in progress. I am working on optimizations and errors detections. Until then, it's strongly recommended to verify your design with the Blender script before to print it (see below).
This work is inspirated by the Mojoptix project Mojoptix project, who describes the sundial as it:
It's a Sundial displaying the time inside its shadow, with actual digits !
There is a tiny bit of magic inside...
No batteries, no motor, no electronics... It's all just a really super-fancy shadow show. The shape of the sundial has been mathematically designed to only let through the right sunrays at the right time/angle. This allows to display the actual time with sunlit digits inside the sundial's shadow.
The sundial displays time (with actual digits !!) from 10:00 until 16:00, updating every 20 minutes.
You can precisely adjust the displayed time simply by rotating the gnomon (the magic box that displays time). So you can even adjust for Daylight Saving Time.
Its video podcast describes this sundial in details.
The customizable shadow display
Contrary to the Mojoptix sundial, this one allows you to display, instead of the clock numbers, whatever and whenever you want. The displayed text can be as long as you want, and can contain all usual characters. In addition, you can customize a lot a others parameters, like the digits duration or the gnomon shape.
See the simulation on Youtube for the quick_fox.stl example.
The attached STL files are not required, it's just few items made with the Customizer app to show you what you can do (see Text option bellow).
Note: When rendering the sundial, you may get CGal warnings saying there are a lot of elements. If you are using the Customizer app, just ignore them. If you are using OpenSCAD on you own computer, you can increase the value of parameters Tun off rendering at and cache size in the OpenSCAD preference window.
Available Customizer options
Main options
Text: the text displayed on the shadow of the sundial, for each position, separated by semi-colons. For example, if you want to display "Hello", then "world" few minutes later, set this field to Hello;world. Try with these ones:
quick_fox.stl: The;quick;brown;fox;jumps;over;the;lazy;dog.
clock.stl: 10:00;10:20;10:40;11:00;11:20;11:40;12:00;12:20;12:40;13:00; 13:20;13:40;14:00;14:20;14:40;15:00;15:20;15:40;16:00
numbers.stl: 0;1;2;3;4;5;6;7;8;9
Digits duration: the duration of each text, according to the sun rotation.
Hemisphere: just select where you are;
basic shape of the gnomon:
a half-cylinder;
a "boat", which is an optimized shape because each hole has the same depth.
holder: to print (or not) a holder which fixes the gnomon (with a screw). The holder is Mojoptix-compatible.
rod: print a pipe to hold several digits together with a rod. So you can print a 1 meter long sundial, with your 12x12 printer. ;-)
font: Font used to display the text, among 2 available fonts:
numbers, with 4x6 digits: 0-9, and :. If your text contains other characters, an error will occurs.
ASCII, with 5x7 digits: 0-9, a-z, A-Z, and !\"#%$&'()*+,-./:;<=>?@[\]^_``{|}~¤, where ~ and ¤ are respectively a full black digit and a heart. Note that you can easily customize and / or add fonts by editing the scad file.
transition delay: during a transition, all pixels turns to black. With no transition (0%), the piece contains less material (so it's faster to print), but digits are sometimes not clear.
Advanced parameters
remove_thin_parts : Remove parts smaller than the specified size. This option take a very long time to process, like few hours (because it calls 2 minkowski sums). It's better to use it in your computer (not with the Customizer app). Edit the .scad with your parameters, save it and make the stl file in command line : openscad -o sundial.stl main.scad. It will use the OpenCSG render engine, which is faster than the CGAL render for this use case.
gnomon radius
pixel width
pixel height
space between columns
space between rows
space between digits
enlarge slots : Enlarge the slots on the bottom on the gnomon. Big slots should improve digits readability, but can also unintentionally turn some pixels to white.
screw size : the screw size used to hold the gnomon.
Instructions
Step by step
Customize your sundial with the Makerbot Customizer interface, then download it;
verify the item with a rendering software (OpenSCAD, Netfabb, Blender, ...), and check the digits on each position (then eventually re-customize it). Prefer an orthogonal view than a perspective view to watch the item;
print it with the settings bellow;
print the other pieces from here;
Put them together and enjoy;
Please take a picture and share it on Thingiverse (by clicking on I made
one). I am always so happy to see what people make with my work! :-)
A bonus point to the first who prints a "sundial powered word clock", which displays the time each 15 minutes, in its literal form. :-D
Other required parts
an (empty !) jam jar;
3x M6 screws, flat head, length = 20 mm;
1x M6 screw, flat head, length = 50 mm;
4x M6 nuts;
4x M6 washer, outside diameter < 14mm;
Print settings
Tested on a Up! Plus.
Raft: Yes
Supports: No
Resolution: 0.15mm
Infill: 10%
Print quality: fast
Print thin parts: No
GitHub repository
Hi developers and hacker! Good news, the entire code is documented and easy to read and modify! It's hosted on GitHub. It's easier to work from here and there is additional useful files (like Python and Blender scripts).
Make a copy of main.scad and name it _main.scad;
Do whatever you want on this one. Personally, I prefer to work with an external IDE (like Atom and this plugin) and use OpenSCAD only to render the file;
Open a terminal and type python/clean_and_merge.py before your commit (see Python scripts below).
OpenSCAD scripts
For more readability, the .scad script is splitted in 3 files: main, functions and fonts.
The functions file uses a part of my OpenSCAD library for string and vectors operations. Take a look.
Python scripts
clean_and_merge.py: Merge and clean the .scad files before to upload it on Thingiverse and Github:
Creates PUSHED_MAIN_FILE, a cleaned copy of MAIN_FILE, by:
replacing the parameters by the default parameters specified in the default_parameters file;
remove contents containing NOTE or value=something.
Creates OUT_FILE, containing all the .scad files, by:
replacing the declarations by their contents (Customizer app doesn't supports multiple .scad files.).
compare.py: Compare 2 .scad files representing a sundial. It slice the 3D-models in a given position, then generates a picture showing the 2 superposed slices.
decode_font.py: Decode an array of numbers in hexadecimal notation and print it as a decimal array, to you use it on OpenSCAD (which doesn't support hexadecimal notation).
default_parameters: a file containing default parameters, then you can modify them when you code without to be worried about publishing the file containing test parameters)
Blender script
This script allows you to simulate the sun shinning on the sundial. Watch the video of a simulation, rendered with it.
Read README to know how to use it.
To come
pixel-art display support, by editing images on a web interface;
a video of the sundial in action (I haven't printed it yet);
any suggested feature! ;-)
Please contact me for features or bug requests!
A digital display which displays whatever you want, whenever you want. No batteries, no motor, no electronics, only a 3D-printed object and its shadow.
See the GitHub repository.
About the original Digital Sundial
Note: This item is a work in progress. I am working on optimizations and errors detections. Until then, it's strongly recommended to verify your design with the Blender script before to print it (see below).
This work is inspirated by the Mojoptix project Mojoptix project, who describes the sundial as it:
It's a Sundial displaying the time inside its shadow, with actual digits !
There is a tiny bit of magic inside...
No batteries, no motor, no electronics... It's all just a really super-fancy shadow show. The shape of the sundial has been mathematically designed to only let through the right sunrays at the right time/angle. This allows to display the actual time with sunlit digits inside the sundial's shadow.
The sundial displays time (with actual digits !!) from 10:00 until 16:00, updating every 20 minutes.
You can precisely adjust the displayed time simply by rotating the gnomon (the magic box that displays time). So you can even adjust for Daylight Saving Time.
Its video podcast describes this sundial in details.
The customizable shadow display
Contrary to the Mojoptix sundial, this one allows you to display, instead of the clock numbers, whatever and whenever you want. The displayed text can be as long as you want, and can contain all usual characters. In addition, you can customize a lot a others parameters, like the digits duration or the gnomon shape.
See the simulation on Youtube for the quick_fox.stl example.
The attached STL files are not required, it's just few items made with the Customizer app to show you what you can do (see Text option bellow).
Note: When rendering the sundial, you may get CGal warnings saying there are a lot of elements. If you are using the Customizer app, just ignore them. If you are using OpenSCAD on you own computer, you can increase the value of parameters Tun off rendering at and cache size in the OpenSCAD preference window.
Available Customizer options
Main options
Text: the text displayed on the shadow of the sundial, for each position, separated by semi-colons. For example, if you want to display "Hello", then "world" few minutes later, set this field to Hello;world. Try with these ones:
quick_fox.stl: The;quick;brown;fox;jumps;over;the;lazy;dog.
clock.stl: 10:00;10:20;10:40;11:00;11:20;11:40;12:00;12:20;12:40;13:00; 13:20;13:40;14:00;14:20;14:40;15:00;15:20;15:40;16:00
numbers.stl: 0;1;2;3;4;5;6;7;8;9
Digits duration: the duration of each text, according to the sun rotation.
Hemisphere: just select where you are;
basic shape of the gnomon:
a half-cylinder;
a "boat", which is an optimized shape because each hole has the same depth.
holder: to print (or not) a holder which fixes the gnomon (with a screw). The holder is Mojoptix-compatible.
rod: print a pipe to hold several digits together with a rod. So you can print a 1 meter long sundial, with your 12x12 printer. ;-)
font: Font used to display the text, among 2 available fonts:
numbers, with 4x6 digits: 0-9, and :. If your text contains other characters, an error will occurs.
ASCII, with 5x7 digits: 0-9, a-z, A-Z, and !\"#%$&'()*+,-./:;<=>?@[\]^_``{|}~¤, where ~ and ¤ are respectively a full black digit and a heart. Note that you can easily customize and / or add fonts by editing the scad file.
transition delay: during a transition, all pixels turns to black. With no transition (0%), the piece contains less material (so it's faster to print), but digits are sometimes not clear.
Advanced parameters
remove_thin_parts : Remove parts smaller than the specified size. This option take a very long time to process, like few hours (because it calls 2 minkowski sums). It's better to use it in your computer (not with the Customizer app). Edit the .scad with your parameters, save it and make the stl file in command line : openscad -o sundial.stl main.scad. It will use the OpenCSG render engine, which is faster than the CGAL render for this use case.
gnomon radius
pixel width
pixel height
space between columns
space between rows
space between digits
enlarge slots : Enlarge the slots on the bottom on the gnomon. Big slots should improve digits readability, but can also unintentionally turn some pixels to white.
screw size : the screw size used to hold the gnomon.
Instructions
Step by step
Customize your sundial with the Makerbot Customizer interface, then download it;
verify the item with a rendering software (OpenSCAD, Netfabb, Blender, ...), and check the digits on each position (then eventually re-customize it). Prefer an orthogonal view than a perspective view to watch the item;
print it with the settings bellow;
print the other pieces from here;
Put them together and enjoy;
Please take a picture and share it on Thingiverse (by clicking on I made
one). I am always so happy to see what people make with my work! :-)
A bonus point to the first who prints a "sundial powered word clock", which displays the time each 15 minutes, in its literal form. :-D
Other required parts
an (empty !) jam jar;
3x M6 screws, flat head, length = 20 mm;
1x M6 screw, flat head, length = 50 mm;
4x M6 nuts;
4x M6 washer, outside diameter < 14mm;
Print settings
Tested on a Up! Plus.
Raft: Yes
Supports: No
Resolution: 0.15mm
Infill: 10%
Print quality: fast
Print thin parts: No
GitHub repository
Hi developers and hacker! Good news, the entire code is documented and easy to read and modify! It's hosted on GitHub. It's easier to work from here and there is additional useful files (like Python and Blender scripts).
Make a copy of main.scad and name it _main.scad;
Do whatever you want on this one. Personally, I prefer to work with an external IDE (like Atom and this plugin) and use OpenSCAD only to render the file;
Open a terminal and type python/clean_and_merge.py before your commit (see Python scripts below).
OpenSCAD scripts
For more readability, the .scad script is splitted in 3 files: main, functions and fonts.
The functions file uses a part of my OpenSCAD library for string and vectors operations. Take a look.
Python scripts
clean_and_merge.py: Merge and clean the .scad files before to upload it on Thingiverse and Github:
Creates PUSHED_MAIN_FILE, a cleaned copy of MAIN_FILE, by:
replacing the parameters by the default parameters specified in the default_parameters file;
remove contents containing NOTE or value=something.
Creates OUT_FILE, containing all the .scad files, by:
replacing the
compare.py: Compare 2 .scad files representing a sundial. It slice the 3D-models in a given position, then generates a picture showing the 2 superposed slices.
decode_font.py: Decode an array of numbers in hexadecimal notation and print it as a decimal array, to you use it on OpenSCAD (which doesn't support hexadecimal notation).
default_parameters: a file containing default parameters, then you can modify them when you code without to be worried about publishing the file containing test parameters)
Blender script
This script allows you to simulate the sun shinning on the sundial. Watch the video of a simulation, rendered with it.
Read README to know how to use it.
To come
pixel-art display support, by editing images on a web interface;
a video of the sundial in action (I haven't printed it yet);
any suggested feature! ;-)
Please contact me for features or bug requests!
Similar models
3dwarehouse
free
sundial
...sundial
3dwarehouse
sonnenuhr #clock #dial #gnomon #shadow #sun #sundial #time
3dwarehouse
free
sundial
...sundial
3dwarehouse
sonnenuhr #clock #dial #gnomon #shadow #sun #sundial #time
thingiverse
free
Customizable Stereo Text by jsc
...le point of the "m" does not touch the baseline, making it a hard to print letter, compared to the version in my photo.
thingiverse
free
Customizable 3D name plate by makkuro
...nts are missing, put the font ttf files also in c:\program files/openscad/fonts/liberation-2.00.1/ttf and restart openscad again.
thingiverse
free
Customizable Label for Harbor Freight Apache Cases
...ogle fonts. if you want to use it you will need customize with openscad and have the courier new font installed on your computer.
3dwarehouse
free
sundial
...sundial
3dwarehouse
sonnenuhr #analemma #clock #dial #gnomon #shadow #sonnenuhr #sun #sundial #time
thingiverse
free
Your Name Hare Bunny (SurfaceWrite) Demo by Belfry
... some kind, where openscad and the bunny just won't get along. please feel free to try, and let me know if it works for you!
thingiverse
free
OpenSCAD Message Boxes by TimEdwards
...e text may be chosen as cut-out or relief.
to customize, change the message and move and resize using openscad to view the result
thingiverse
free
Business Card Holder (Customizable) by Cort
... is for visualization and not for printing. use customizer to create your own stl, or download the scad file for use in openscad.
thingiverse
free
Sweeping 2-line name plate (text) by makkuro
...pshots" at (https://www.openscad.org/downloads.html) )
follow the instructions above (see section customizing with openscad)
Roipoussiere
thingiverse
free
Openscad string library by roipoussiere
...ing library by roipoussiere
thingiverse
nothing here! please see my new updated library:http://www.thingiverse.com/thing:1237203
thingiverse
free
parametric pulleys by roipoussiere
...an get it on the original page.
edit 04/12/2015:
bugfix with nut width ;
bugfix with nut disposition on the customizer gui.
thingiverse
free
Zazouck by roipoussiere
...the works - and you can always set your own.
share your zazouck creations, i will be very happy to see some pictures!
enjoy !
thingiverse
free
5mm LED holder solderless by roipoussiere
...crew
2x m2 square nut
wires
tools :
m2 allen key
glue, blue tack or something to fix the part
of course 3d printer :)
thingiverse
free
Phi - France Insoumise (customisable) by roipoussiere
... 3d et/ou un découpe laser.
n'hésitez pas à me faire toute remarque ou suggestion sur discord ou sur twitter, @roipoussiere !
thingiverse
free
The OpenScad Useful Library by roipoussiere
...t;01110", 2)); // 14
echo(atoi("d5a4", 16)); // 54692
echo(atoi("-5") + atoi("10") + 5); // 10
thingiverse
free
LED diffuser by Endless3D
...top of the 5mm led solderless holder made by roipoussiere (http://www.thingiverse.com/thing:170562). also pictured is an excellent design by elwin...
thingiverse
free
Parametric Pulley for toothed belts in OpenSCAD by 0scar
...its turn is a remix of "parametric pulleys by roipoussierequot; which is a remix of "parametric pulley - lots...
thingiverse
free
Customizable Sign with Backplate by baranusluel
...quotes). this project makes use of a function from roipoussiere#39;s openscad library:...
Shadow
design_connected
$18
Shadows
...shadows
designconnected
brokis shadows computer generated 3d model. designed by yeffet, dan.
design_connected
$16
Shadow
...shadow
designconnected
meritalia shadow armchairs computer generated 3d model. designed by gaetano pesce.
3d_export
$15
shadow the hedgehog
...shadow the hedgehog
3dexport
*shadow the hedgehog *
3ddd
free
BROKIS shadows
...ows
3ddd
brokis , shadows
brokis
line: shadows
designer: lucie koldová & dan yeffet
3d_export
$12
Shadow canopy
...shadow canopy
3dexport
a shadow canopy in the style of a marine theme
design_connected
$16
Shadow pendant
...shadow pendant
designconnected
porro shadow pendant computer generated 3d model. designed by front.
design_connected
$11
Shadow Dhamar
...shadow dhamar
designconnected
barovier&toso shadow dhamar computer generated 3d model.
turbosquid
$4
eye shadow
...
royalty free 3d model eye shadow for download as 3dm and max on turbosquid: 3d models for games, architecture, videos. (1669196)
3ddd
$1
versace | shadow chair
...versace | shadow chair
3ddd
versace , капитоне
shadow chair versace
3d_export
free
shadow the hedgehog
...shadow the hedgehog
3dexport
sonic character
Customizable
3d_export
$10
customizable sd port
...customizable sd port
3dexport
customizable sd port
turbosquid
$99
Customizable character
...alty free 3d model customizable character for download as max on turbosquid: 3d models for games, architecture, videos. (1152525)
turbosquid
$1
Customizable Mug
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$1
Customizable Spider Mech
... free 3d model customizable spider mech for download as blend on turbosquid: 3d models for games, architecture, videos. (1462055)
turbosquid
$20
Customizable Egyptian Pillar
...zable egyptian pillar for download as ma, obj, fbx, and blend on turbosquid: 3d models for games, architecture, videos. (1307376)
turbosquid
$75
Fully Customizable Hospital
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$20
Customizable Caste Pieces
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$15
Customizable Tea Cup
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
free
Water Bottle(Customizeable)
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
3d_export
$49
Book customizable 3D Model
...3dexport
book booshelf novel teach library learn read pages cover fairy tales
book customizable 3d model guitargoa 74240 3dexport
Display
3ddd
$1
Display
...display
3ddd
терминал
display computer 3d model
3d_export
$5
Display
...display
3dexport
display<br>verts 2.262<br>faces 3.928
turbosquid
$8
Display
...turbosquid
royalty free 3d model display for download as fbx on turbosquid: 3d models for games, architecture, videos. (1634534)
3ddd
$1
Display cabinet
...display cabinet
3ddd
витрина
display cabinet
turbosquid
$50
display
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$25
DISPLAY
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$10
Display
...e 3d model display for download as ma, max, obj, fbx, and dae on turbosquid: 3d models for games, architecture, videos. (1387472)
3d_export
$6
display stand
...display stand
3dexport
super market display stand
3d_ocean
$12
Display Case
...rnishing furniture glass storage vetrinetta white
a 3d model of a display case. the texture for the back of the case is provided.
3d_export
$30
Vehicle display
...vehicle display
3dexport
vehicle display consists of podium and vehicle cover no vehicle there is a veiled vehicle silhouette