// Last edited on 2023-06-12 15:41:37 by stolfi #macro wirebox(obj, rc) #local slack = < 0.5, 0.5, 0.5 >; #local cmin = min_extent(obj) - slack; #local cmax = max_extent(obj) + slack; union{ cylinder{ < cmin.x, cmin.y, cmin.z >, < cmax.x, cmin.y, cmin.z >, rc texture{ tx_box } } cylinder{ < cmin.x, cmax.y, cmin.z >, < cmax.x, cmax.y, cmin.z >, rc texture{ tx_box } } cylinder{ < cmin.x, cmin.y, cmax.z >, < cmax.x, cmin.y, cmax.z >, rc texture{ tx_box } } cylinder{ < cmin.x, cmax.y, cmax.z >, < cmax.x, cmax.y, cmax.z >, rc texture{ tx_box } } cylinder{ < cmin.x, cmin.y, cmin.z >, < cmin.x, cmax.y, cmin.z >, rc texture{ tx_box } } cylinder{ < cmax.x, cmin.y, cmin.z >, < cmax.x, cmax.y, cmin.z >, rc texture{ tx_box } } cylinder{ < cmin.x, cmin.y, cmax.z >, < cmin.x, cmax.y, cmax.z >, rc texture{ tx_box } } cylinder{ < cmax.x, cmin.y, cmax.z >, < cmax.x, cmax.y, cmax.z >, rc texture{ tx_box } } cylinder{ < cmin.x, cmin.y, cmin.z >, < cmin.x, cmin.y, cmax.z >, rc texture{ tx_box } } cylinder{ < cmax.x, cmin.y, cmin.z >, < cmax.x, cmin.y, cmax.z >, rc texture{ tx_box } } cylinder{ < cmin.x, cmax.y, cmin.z >, < cmin.x, cmax.y, cmax.z >, rc texture{ tx_box } } cylinder{ < cmax.x, cmax.y, cmin.z >, < cmax.x, cmax.y, cmax.z >, rc texture{ tx_box } } sphere{ < cmin.x, cmin.y, cmin.z >, rc texture{ tx_box } } sphere{ < cmin.x, cmin.y, cmax.z >, rc texture{ tx_box } } sphere{ < cmin.x, cmax.y, cmin.z >, rc texture{ tx_box } } sphere{ < cmin.x, cmax.y, cmax.z >, rc texture{ tx_box } } sphere{ < cmax.x, cmin.y, cmin.z >, rc texture{ tx_box } } sphere{ < cmax.x, cmin.y, cmax.z >, rc texture{ tx_box } } sphere{ < cmax.x, cmax.y, cmin.z >, rc texture{ tx_box } } sphere{ < cmax.x, cmax.y, cmax.z >, rc texture{ tx_box } } } #end