// Parametric Flange based on engineering drawing // All dimensions in millimeters (mm) /* [Main Dimensions] */ // Outer diameter of the flange outer_diameter = 80; // [40:1:200] // Central bore diameter bore_diameter = 30; // [10:1:150] // Thickness of the flange plate flange_thickness = 6; // [2:1:50] /* [Bolt Hole Pattern] */ // Pitch Circle Diameter (P.C.D.) of bolt holes pcd = 60; // [20:1:180] // Number of bolt holes hole_count = 4; // [1:1:24] // Diameter of bolt holes hole_diameter = 8; // [2:0.5:20] // Rotational offset angle of bolt hole pattern (degrees) hole_angle_offset = 45; // [0:5:180] /* [Appearance] */ part_color = "LightSlateGray"; /* [Rendering Quality] */ $fn = 120; module flange() { difference() { // Outer cylindrical body cylinder(d = outer_diameter, h = flange_thickness, center = true); // Center through-hole cylinder(d = bore_diameter, h = flange_thickness + 2, center = true); // Bolt holes array on Pitch Circle Diameter (P.C.D.) for (i = [0 : hole_count - 1]) { angle = hole_angle_offset + i * (360 / hole_count); rotate([0, 0, angle]) translate([pcd / 2, 0, 0]) cylinder(d = hole_diameter, h = flange_thickness + 2, center = true); } } } color(part_color) { flange(); }