OPENSCAD.
Int dia 42.7,ext dia +5mm
$fn=50;
dd=42.7;
de=dd+5;
dp=14;
btm=2;
translate([-(dp+btm)/2,dd/2,(dp+btm)/2]){
rotate([0,90,0]){
difference(){
union(){
union(){
translate([-(dp+btm)/2,0.2,0]){cube([dp+btm,4,dp+btm]);}
rotate([0,0,45]){cube([6,6,dp+btm]);}
}
difference(){
translate([0,1.6,0]){rotate([0,0,45]){cube([6,6,dp+btm]);}}
translate([-6,1.8,-0.1]){cube([12,4,dp+btm+1]);}
translate([-6,9,-0.1]){cube([12,4,dp+btm+1]);}
}
translate([-3,3,0]){cube([6,6,dp+btm]);}
}
translate([-1.5,4,-0.1]){cube([3,9,dp+btm+1]);}
}
}
}
difference(){
cylinder(h=btm+dp,d=de);
translate([0,0,btm]){cylinder(h=dp+1,d=dd);}
translate([+15,-5,-0.1]){cylinder(h=btm+dp,r=2);}
translate([+7,+3,-0.1]){cylinder(h=btm+dp,r=5);}}