/** Description: Die with round feel Object Name: Die_1, Die_2 Sub-parts : Die_Spots, Die Textures : Spot_Texture, Die_Texture Position : Center of die is at origin (radius=4) Requires : colors.inc Comments : Adjust A to affect how beveled the holes are Adjust B to affect the space between holes. **/ #declare A_die=4.5 #declare B_die=2 #declare Pos_1 = <-B_die,B_die,-A_die> #declare Pos_2 = <0,B_die,-A_die> #declare Pos_3 =#declare Pos_4 = <-B_die,0,-A_die> #declare Pos_5 = <0,0,-A_die> #declare Pos_6 = #declare Pos_7 = <-B_die,-B_die,-A_die> #declare Pos_8 = <0,-B_die,-A_die> #declare Pos_9 = #declare Spot_Texture=texture{ pigment{ color White } finish { specular 1 roughness 0.001 } } #declare Die_Texture=texture{ pigment{ color Red } finish{ specular 1 roughness 0.001 reflection 0.01 } } #declare Die_Spot = sphere{ <0,0,0> 0.9 texture{ Spot_Texture } } #declare Face_1=object{ Die_Spot translate Pos_5 } #declare Face_2=union{ object{Die_Spot translate Pos_1} object{Die_Spot translate Pos_9} } #declare Face_3=union{ object{ Face_1 } object{ Face_2 } } #declare Face_4=union{ object{ Face_2 } object{ Face_2 rotate z*90} } #declare Face_5=union{ object{ Face_4 } object{ Face_1 } } #declare Face_6=union{ object{ Face_4 } object{Die_Spot translate Pos_4} object{Die_Spot translate Pos_6} } #declare Die_Spots=union{ object{ Face_1 rotate y*90} object{ Face_2 rotate y*180} object{ Face_3 rotate x*90} object{ Face_4 rotate -x*90} object{ Face_5 } object{ Face_6 rotate -y*90} } #declare Die_1 = object{ difference{ intersection{ sphere{<0,0,0> 5.5 } box{-4 4} } object { Die_Spots } } texture{ Die_Texture } } // Adjust C to affect roundiness of edges #declare C=0.1 #declare Die_2 = object{ difference{ superellipsoid{C scale 4} object { Die_Spots } } texture{ Die_Texture } }