// Module names are of the form poly_(). As a result, // you can associate a polygon in this OpenSCAD program with the corresponding // SVG element in the Inkscape document by looking for the XML element with // the attribute id="inkscape-path-id". // fudge value is used to ensure that subtracted solids are a tad taller // in the z dimension than the polygon being subtracted from. This helps // keep the resulting .stl file manifold. fudge = 0.1; module poly_outline() { translate([35.01, -17.5, 0]) polygon([[-34.993000,-7.750540],[-35.002600,-7.283950],[-30.390825,-6.787054],[-19.036880,-5.237750],[-5.577521,-2.848014],[4.953350,-0.739700],[12.407086,0.839569],[19.933820,2.756390],[29.405920,5.806369],[35.001720,7.750540],[35.002600,7.248370],[29.490142,5.319456],[20.070500,2.275930],[12.517434,0.353189],[5.050970,-1.227980],[-5.481264,-3.336864],[-18.958800,-5.729930],[-30.353692,-7.267481],[-34.993080,-7.750540]]); } infty = 200; module outline_border() { rotate([0, -90, 0]) linear_extrude(height=0.5) poly_outline(); } module body() { // main shape rotate_extrude(angle = 210) rotate([0, 0, 90]) poly_outline(); // inner side supports for (i = [-1,1]) scale([1, i, 1]) for (y = [0:0.25:3.5]) translate([0, y, 0]) outline_border(); } difference() { body(); translate([5, -infty/2,-infty/2]) cube(infty); }