Veion française plus bas -- French veion below EDIT : Jan 2nd 2016 As asked, I dully documented and published the OpeCAD file including my optimization. This is a cleaed veion of the Digital Sundial by @Mojoptix. The photo shows only the hou te part. I found his idea so great that I plunged into his well written and documented OpeCAD code to undetand how it's done. Then as @BJoe suggested in comments, I modified the code to remove unnecessary bridges (then reducing after print work) and by the way simplifying the stl file. The two fit pictures show a cross section of the third column of the display of the minutes te digits (the most complicated one). The fit picture show the new (cleaed) file. The sun paths are exactly the same as in original veion. Hence the shadows will be exactly the same. And the contrast will even be better during digit traition. The printing time is 20% shorter. And the time to manually remove errant strings blocking the light paths should collapse. All other necessary parts and itructio can be found with the original veion: Optimization principle : During digits traition, there is no need to block the light for pixels which remain lit. The third picture (thanks to @stewartde) shows in yellow the parts that can be removed (with no shadow change). The fourth picture shows the sun movement, and the digit rows. Here are the way characte are displayed : Char "0", Char "2", Char "4" [0,1,1,0], [0,1,1,0], [1,0,0,1], [1,0,0,1], [1,0,0,1], [1,0,0,1], [1,0,1,1], [0,0,0,1], [1,0,0,1], [1,1,0,1], [0,1,1,0], [1,1,1,1], [1,0,0,1], [1,0,0,0], [0,0,0,1], [0,1,1,0], [1,1,1,1], [0,0,0,1], Pixel "1" mea that the light will pass, Pixel "0" mea that light is blocked by sundial. The cross section example is cut on the third column. So let select the third column of the "pixels" Char "0", Char "2", Char "4" [1], [1], [0], [0], [0], [0], [1], [0], [0], [0], [1], [1], [0], [0], [0], [1], [1], [0], And the highlight on pictures 3 & 4 are for the 4th row. Let select the fourth row Char "0" Char "2" Char "4" [0], [1], [1], The sundial for this "pixel" will work like this : Nolight ("0" doesn't display anithing for this pixel ) Nolight (traition between "0" and "2" ) Light ("2" ) Nolight (traition between "2" and "4" ) Light ("4") Nolight (traition between "4" and "0" ) Nolight ("0" ) ... There is no need to block the light between the "2" and "4" because the pixel remai lit So I delete the traition and the sundial works now as follow : Nolight ("0" doesn't display anithing for this pixel ) Nolight (traition between "0" and "2" ) Light ("2" ) Light ("4") (continued) Nolight (traition between "4" and "0" ) Nolight ("0" ) ... The sundial display hou from 10 to 16, so there is 6 traitio from "2" to "4" for this pixel (around 10:30, 11:30, 12:30, 13:30, 14:30 and 15:30). On pictures 3 & 4 you can count the deleted parts : 6 ! That's the right amount !!! Voici la veion nettoyée du Digital Sundial de @Mojoptix. La photo ne montre que les dizaines d'heures. J'ai trouvé son idée tellement géniale que j'ai tout de suite plongé da le code (très bien écrit et documenté) pour comprendre comment il faisait. Puis comme @BJoe l'a suggéré da les commentaires, j'ai modifié le code pour supprimer les ponts inutiles (réduisant le travail post impression) et aussi simplifier le fichier stl. Les deux premières images montrent une coupe de la troisième colonne d'affichage des dizaines de minutes. La première correspond au fichier nettoyé. Le passage des rayo lumineux est exactement le même que da la veion originale. Les ombres projetées seront donc exactement les mêmes. Le contraste sera même meilleur durant les traition des chiffres. Le temps d'impression est réduit de 20%. Le temps de nettoyage des filoches est réduit drastiquement. Pour les itructio et autres pièces, voir la présentation de la veion originale: