include include Base_diameter = 30.0; // 0.1 Base_depth = 30.0; // 0.1 Screw_size = "M4"; Screw_length = 15.0; // 0.1 Head_style = "sphere"; // ["sphere", "stl"] Sphere_diameter = 50.0; // 0.1 Sphere_offset = 40.0; // 0.1 Head_import = ""; Head_rotate_x = 0.0; // 0.1 Head_rotate_y = 0.0; // 0.1 Head_rotate_z = 0.0; // 0.1 Head_scale_x = 1.0; // 0.1 Head_scale_y = 1.0; // 0.1 Head_scale_z = 1.0; // 0.1 Head_translate_x = 0.0; // 0.1 Head_translate_y = 0.0; // 0.1 Head_translate_z = 0.0; // 0.1 $fn = 64; module thing() { union() { cylinder(Base_depth, d=Base_diameter); if (Head_style == "sphere") { translate([0, 0, Sphere_offset]) { sphere(d=50); }; } if (Head_style == "stl") { translate([Head_translate_x, Head_translate_y, Head_translate_z]) { rotate([Head_rotate_x, Head_rotate_y, Head_rotate_z]) { scale([Head_scale_x, Head_scale_y, Head_scale_z]) { import(Head_import); } } } } } } difference() { thing(); translate([0, 0, Screw_length/2]) { screw_hole(Screw_size, tolerance="tap", length=Screw_length); } };