w_top = 24.5;
w_bottom = 25.3;
h = 21.5;

extra_w = 0.1;
wall_thickness = 2;
ledge_w = 3;

clamp_w = 20;

module shape() {
    polygon([[0, 0],  [-1.5, w_bottom/2], [0, w_bottom], [h, w_bottom - (w_bottom - w_top)/2], [h, (w_bottom-w_top)/2]]);
}

module segment(wall) {
    linear_extrude(clamp_w)
    difference() {
        offset(wall + extra_w, $fn=32) shape();
        offset(extra_w, $fn=32) shape();
        mirror([1, 0]) translate([extra_w, ledge_w]) square([5*wall, w_bottom - 2*ledge_w]);
    }
}

segment(wall_thickness);