// E10 DC barrel plug replacement dust cover
// - standard is 5.5mm / 2.1mm or 5.5mm/2.5mm plug.
// - original measured dust cover:
//  - total height 5.3mm
//  - plug outer diam 5.7mm
//  - plug inner diam 3.3mm
//  - cover outer diameter 14mm
//  - cover thickness 1mm


// --- Parameters ---
external_diameter = 5.7;
internal_diameter = 3.3;
height = 5.3;
cover_diameter = 14;
cover_thickness = 1;
thumb_grip_scale_factor = 2;
thumb_grip_thickness = 2;

// Resolution (Higher = smoother curves)
$fn = 64; 

// --- Geometry ---

// Barrel plug insert
difference() {
    // The outer body
    cylinder(h = height, d = external_diameter, center = false);
    
    // The hollow center
    // We add a small 'epsilon' (0.1) to ensure a clean cut
    translate([0, 0, -0.05])
        cylinder(h = height + 0.1, d = internal_diameter, center = false);
}

// Barrel plug cover
translate([0,0,-(cover_thickness-0.05)])
    cylinder(h = cover_thickness, d = cover_diameter);

// Thumb grip
translate([-thumb_grip_thickness/2,0,-thumb_grip_thickness/2+0.1])
    rotate([0,90,0])
        difference() {
            // full cylinder
            cylinder(h = thumb_grip_thickness, d = external_diameter*thumb_grip_scale_factor);
            // cutter cube
            translate([-external_diameter*thumb_grip_scale_factor, -external_diameter*thumb_grip_scale_factor/2, -0.05])
                cube([external_diameter*thumb_grip_scale_factor, external_diameter*thumb_grip_scale_factor, thumb_grip_thickness + 0.1]);
        }