What is the simplest way to do this?
Not sure how to do that in Sketchup, but it's easy to do in OpenSCAD with translates (moves) and six difference (cylinder - cylinder) commands.
- One for the body
- One for the lip
- Four for the screw mounts
I'll make a parametric version and post the code + an .STL for you -- LMK the diameters (outer and inner), thicknesses, and the center-to-center distance between adjacent screw-holes.
Scott
EDIT: Here's the code -- we just need to adjust the variables on lines 7-17 to suit your needs, render, and export to .STL.
// Danny_Galaga part
/////////////////////////////
// Define variables
/////////////////////////////
ScrewDist = 60; // Center-to-center distance between adjacent screw-holes
ScrewThick = 2; // Screw tab thickness
ScrewOD = 14; // Screw tab outer diameter
ScrewLargeID = 8; // Screw tab large inner diameter
ScrewSmallID = 5; // Screw tab small inner diameter
// If no countersink is desired, use same value for both large and small inner diameters
BodyOD = 76; // Body outer diameter
BodyID = 60; // Body inner diameter
BodyThick = 2; // Body thickness
LipOD = 64; // Lip outer diameter
LipThick = 1.6; // Lip thickness (height above body, not total thickness)
// Hole diameter values need to be *very slightly* larger to account for the 180-sided polygon used to render circles -- see "undersized holes" at https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#cylinder
$fn=180; // Number of fragments (polygon sides) used to render a circle
/////////////////////////////
// Make the part
/////////////////////////////
difference() { // Screw tab 1
translate([ScrewDist/2, ScrewDist/2, ScrewThick/2])
cylinder(ScrewThick, d=ScrewOD, center=true);
translate([ScrewDist/2, ScrewDist/2, ScrewThick/2])
cylinder(h=ScrewThick+0.1, d1=ScrewLargeID, d2=ScrewSmallID, center=true);
} // End of screw tab 1
//
difference() { // Screw tab 2
translate([ScrewDist/2, -ScrewDist/2, ScrewThick/2])
cylinder(ScrewThick, d=ScrewOD, center=true);
translate([ScrewDist/2, -ScrewDist/2, ScrewThick/2])
cylinder(h=ScrewThick+0.1, d1=ScrewLargeID, d2=ScrewSmallID, center=true);
} // End of screw tab 2
//
difference() { // Screw tab 3
translate([-ScrewDist/2, -ScrewDist/2, ScrewThick/2])
cylinder(ScrewThick, d=ScrewOD, center=true);
translate([-ScrewDist/2, -ScrewDist/2, ScrewThick/2])
cylinder(h=ScrewThick+0.1, d1=ScrewLargeID, d2=ScrewSmallID, center=true);
} // End of screw tab 3
//
difference() { // Screw tab 4
translate([-ScrewDist/2, ScrewDist/2, ScrewThick/2])
cylinder(ScrewThick, d=ScrewOD, center=true);
translate([-ScrewDist/2, ScrewDist/2, ScrewThick/2])
cylinder(h=ScrewThick+0.1, d1=ScrewLargeID, d2=ScrewSmallID, center=true);
} // End of screw tab 4
//
difference() { // Body
translate([0, 0, BodyThick/2])
cylinder(BodyThick, d=BodyOD, center=true);
translate([0, 0, BodyThick/2])
cylinder(BodyThick+0.1, d=BodyID, center=true);
} // End of body
//
difference() { // Lip
translate([0, 0, BodyThick+LipThick/2])
cylinder(LipThick, d=LipOD, center=true);
translate([0, 0, BodyThick+LipThick/2])
cylinder(LipThick+0.1, d=BodyID, center=true);
} // End of lip
//