// -*- C -*- prong_nomdepth = 15; prong_curverad = 30; prong_thick = 1.0; prong_maxdepth = 18; nom_shelf = 14.54; interference = 0.5; // calculated interference_angle = atan2(interference, prong_nomdepth); module ProngElevationUnrotated(){ intersection(){ union(){ translate([ prong_nomdepth, prong_curverad ]) circle( prong_curverad , $fa=0.5 ); translate([ -10, 0 ]) square([ prong_nomdepth + 10, 10 ]); } translate([-5, -5]) square([ prong_maxdepth + 5, prong_thick + 5]); } } module Elevation(){ rotate(-interference_angle) ProngElevationUnrotated(); translate([0, -nom_shelf]) mirror([0,1]) rotate(-interference_angle) ProngElevationUnrotated(); } //ProngElevationUnrotated(); Elevation();