$fn=64; // Parameters jar_diameter = 65; // Inner diameter to fit the treat jar holder_height = 50; // Total height of the holder wall_thickness = 3; // Thickness of the outer walls base_thickness = 3; // Thickness of the bottom base cutout_width = 40; // Width of the front viewing/access cutout outer_diameter = jar_diameter + (wall_thickness * 2); difference() { // Main body cylinder(h=holder_height, d=outer_diameter); // Inner cavity for the jar translate([0, 0, base_thickness]) cylinder(h=holder_height + 1, d=jar_diameter); // Front access cutout to easily grab the jar or see treats translate([-cutout_width/2, -outer_diameter/2 - 1, base_thickness + 15]) cube([cutout_width, outer_diameter/2 + 2, holder_height]); // Center mounting hole (optional, for securing to a shelf/desk) translate([0, 0, -1]) cylinder(h=base_thickness + 2, d=4.5); // Countersink for the mounting screw translate([0, 0, base_thickness - 2]) cylinder(h=2.1, d1=4.5, d2=8.5); }