/* [Flange Dimensions] */ outer_diameter = 80; // [20:1:200] thickness = 6; // [1:0.5:30] central_bore_diameter = 30; // [1:0.5:150] bolt_hole_diameter = 8; // [1:0.5:30] bolt_hole_count = 4; // [1:1:24] pitch_circle_diameter = 60; // [10:1:180] bolt_pattern_offset = 45; // [0:1:360] /* [Appearance] */ plate_color = "Silver"; // color /* [Hidden] */ $fn = 128; // Nominal dimensions in millimeters; bottom at Z=0. module through_hole(hole_diameter) { translate([0, 0, -1]) cylinder(d=hole_diameter, h=thickness + 2); } module flange_plate() { difference() { cylinder(d=outer_diameter, h=thickness); through_hole(central_bore_diameter); for (hole_index = [0:bolt_hole_count - 1]) { rotate([0, 0, bolt_pattern_offset + hole_index * 360 / bolt_hole_count]) translate([pitch_circle_diameter / 2, 0, 0]) through_hole(bolt_hole_diameter); } } } color(plate_color) flange_plate();