//RetireeJay's Another Dial Indicator Bracket
fudge = .01;
$fn = 30;
x_offset = -30;
base_x = 80;
base_y = 53;
base_z = 7.021;
total_z = 18.07;
dial_cutout_r = 9;
dial_cutout_h = 2.5;
dial_cutout_rim = 4.5;
dial_offset = -17;
dial_passthru_x = 16.1;
dial_passthru_y = 6.8;
passthru_offset = -9;
top_trim_blk_x = 21;
top_fillet_r = top_trim_blk_x/2+fudge;
hedge = 3;
bot_y = 20;
bot_fillet_r = (base_y-bot_y)/2 + fudge;
bot_fillet_offset = 3;
bot_width = 7;
bot_x =base_x + x_offset- bot_fillet_r -bot_fillet_offset+fudge;
rod_r = 4;
rod_dist = 41.830;
rod_top_thick = 7;
rod_top_y = 5;
min_thick = 1.804;
bend_r = 2;
outer_bend_r= 5;
bend_gap = 2;
bend_offset = -3;
inner_cutout_y1 = 13;
inner_cutout_y2 = 6;
inner_cutout_x= 33;
inner_fillet_r = bot_fillet_r + 7;
bumper_h = 4.9;
bumper_offset = -13.2;
bot_bumper_r = 6.64/2;
bot_bumper_h = 3.66;
bot_bumper_angle = 135.03;
bot_bumper_w = 5;
bot_bumper_l = -bend_offset;
//---- MAIN ------------------------------------------------------
difference(){
//base block
body();
//base cuts
rod_cut();
dial_cut();
top_cutaway();
bottom_cutaway();
}
//------------------------------------------------------------------
module body(){
union(){
translate([x_offset,-base_y/2,0])
cube([base_x,base_y,base_z]);
hull(){
translate([bumper_offset,base_y/2,base_z + bumper_h -1])
rotate([90,0,0])
cylinder(r=1, h=base_y-fudge);
translate([bumper_offset,base_y/2,base_z -1])
rotate([90,0,0])
cylinder(r=1, h=base_y-fudge);
translate([bumper_offset-bumper_h,base_y/2,base_z -1])
rotate([90,0,0])
cylinder(r=1, h=base_y-fudge);
}
translate([-rod_top_thick,-base_y/2,base_z-fudge])
cube([rod_top_thick, rod_top_y, rod_top_thick+fudge]);
translate([-rod_top_thick,base_y/2-rod_top_y,base_z-fudge])
cube([rod_top_thick, rod_top_y, rod_top_thick+fudge]);
union(){
translate([base_x+x_offset-bot_bumper_l, -bot_bumper_w/2, 0])
#cube([bot_bumper_l,bot_bumper_w,total_z]);
translate([0,-bot_bumper_w/2,base_z+bot_bumper_h-fudge])
difference(){
union(){
translate([base_x+x_offset-(total_z-bot_bumper_h-base_z)*.75, 0,0])
#cube([(total_z-bot_bumper_h-base_z)*.75,bot_bumper_w,total_z-bot_bumper_h-base_z+fudge]);
translate([base_x+x_offset-bot_bumper_r,bot_bumper_w,bot_bumper_h*1.35])
rotate([90,0,0])
# cylinder(r=bot_bumper_r, h= bot_bumper_w);
}
translate([base_x+x_offset-bot_bumper_l, 0,0])
rotate([0,-bot_bumper_angle,0])
#cube([total_z-bot_bumper_h-base_z,bot_bumper_w,total_z-bot_bumper_h-base_z+fudge]);
translate([base_x+x_offset-(total_z-bot_bumper_h-base_z)*.75,0, total_z-bot_bumper_h-base_z])
#cube([total_z-bot_bumper_h-base_z,bot_bumper_w+fudge,total_z-bot_bumper_h-base_z+fudge]);
}
}
}
}
module rod_cut(){
translate([0,base_y/2+ fudge/2,base_z+rod_r])
rotate([90,0,0])
cylinder(r=rod_r, h= base_y + fudge*2);
}
module dial_cut(){
//dial cutout
translate([dial_offset,0,-fudge/2])
cylinder(r=dial_cutout_r, h=dial_cutout_h+fudge);
//dial passthru
translate([passthru_offset-dial_passthru_x,-dial_passthru_y/2,-fudge/2])
cube([dial_passthru_x, dial_passthru_y, total_z+fudge]);
}
module top_cutaway(){
translate([x_offset-(fudge/2),-base_y/2-fudge/2,-fudge/2])
difference(){
cube([top_trim_blk_x+fudge,base_y+fudge, total_z]);
translate([dial_cutout_r+dial_cutout_rim,base_y/2,-fudge/2])
cylinder(r=dial_cutout_r+dial_cutout_rim, h = total_z+(fudge*2));
translate([(top_trim_blk_x-fudge)/2,0,0])
difference(){
translate([fudge*2,hedge,-fudge/2])
cube([top_trim_blk_x/2-fudge,top_trim_blk_x+fudge, total_z+(fudge*2)]);
translate([0,hedge,-fudge/2])
cylinder(r=top_fillet_r, h = total_z+(fudge*2));
}
mirror([0,1,0])
translate([(top_trim_blk_x+fudge)/2,-base_y+fudge/2,0])
difference(){
translate([0,hedge,-fudge/2])
cube([top_trim_blk_x/2+fudge,top_trim_blk_x+fudge, total_z+(fudge*2)]);
translate([0,hedge,-fudge/2])
cylinder(r=top_fillet_r, h = total_z+(fudge*2));
}
}
}
module bottom_cutaway(){
//sides
translate([bot_fillet_r+bot_fillet_offset,bot_y/2,-fudge/2])
cube([bot_x,bot_fillet_r*2, total_z]);
translate([bot_fillet_r+bot_fillet_offset, bot_y/2+bot_fillet_r, -fudge/2])
cylinder(r = bot_fillet_r, h = total_z);
translate([bot_fillet_r+bot_fillet_offset, -(bot_y/2)-(bot_fillet_r*2), -fudge/2])
cube([bot_x,bot_fillet_r*2, total_z]);
translate([bot_fillet_r+bot_fillet_offset, -(bot_y/2+bot_fillet_r), -fudge/2])
cylinder(r = bot_fillet_r, h = total_z);
//middle
difference(){
translate([bot_width,0,-fudge/2])
union(){
translate([0,-inner_cutout_y1/2,0])
cube([inner_cutout_y1,inner_cutout_y1,base_z+fudge]);
translate([0,-inner_cutout_y2/2,0])
cube([inner_cutout_x,inner_cutout_y2,base_z+fudge]);
}
translate([bot_fillet_r+bot_fillet_offset, bot_y/2+bot_fillet_r, -fudge/2])
cylinder(r = inner_fillet_r, h = total_z);
translate([bot_fillet_r+bot_fillet_offset, -(bot_y/2+bot_fillet_r), -fudge/2])
cylinder(r = inner_fillet_r, h = total_z);
}
//tail
translate([base_x+x_offset+bend_offset-bend_r,base_y/2,min_thick+bend_r])
rotate([90,0,0])
cylinder(r=bend_r, h= base_y);
translate([base_x+x_offset+bend_offset-bend_r,-base_y/2,min_thick+bend_r])
cube([bend_gap, base_y, base_z - min_thick - bend_r+fudge]);
difference(){
translate([base_x+x_offset-outer_bend_r,-base_y/2,0])
cube([outer_bend_r, base_y-fudge, base_z/2]);
translate([base_x+x_offset-outer_bend_r,base_y/2,min_thick+bend_r])
rotate([90,0,0])
cylinder(r=outer_bend_r, h= base_y);
}
}
RetireeJay wrote:I have received complaints ... [snip]
RetireeJay wrote:OK, here's a revision. The "springs" for the bottom clip have been moved to a location where there should be less inter-layer cracking problem. If you look at the design now, you can see that the "spring constant" is easily adjustable just by changing the size of the cutout.
Printbird wrote:I appreciate it--I've been using Solidworks for my test projects so far with good results, so your drawings would be helpful (I see a PDF in your Thingiverse object that has some dimensions too.) Because it's fun, I will probably just go ahead and try to make a specific one for the v2.1 and see how that goes.
(and Happy Thanksgiving!)
RetireeJay wrote:OK, I have added several more dimensions to the drawing. I also discovered that I could export the drawing in DWG format, but the forum won't let me attach it. If you really want the DWG you could PM me with an e-mail address and I could send it to you directly. (Or maybe Thingiverse would allow it to be posted there???)
Jay
Printbird wrote:Thanks for the inspiration and design for reference. I went ahead and did this this morning. The results are amazing; my initial layer is perfectly flat with great adhesion.
Here's the STL:
viewtopic.php?f=89&t=5712
Users browsing this forum: No registered users and 0 guests