Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

82 lines (68 sloc) 3.576 kb
// y-bar-clamp_10off remake in OpenSCAD
// by Josef Prusa
// http://prusadjs.cz
// Modded by vik@diamondage.co.nz
// GNU GPLV3
<mendel.inc>
<mendel.conf>
// Tip for printing version with nut traps. Print layers with nut traps, then insert real nuts and continue printing with them.
nutTraps = 0; // 0 or 1 and it also makes the object higher for same strength
shelfLength=0; // Length of a shelf to put microswitches or optos on. Generally zero or 19
shelf_vertical=0; // If 1, shelf aranged in a "L" for vertical switches.
cubeHeight=13.37+(nutTraps*4);
holeRad=m4_clearance_rad_v; // Radius for the "M4" hole.
barRad=4.1; // Radius of the bar being clamped. 5.1 or 4.1 generally
// A PCB spacer. Also used to hold this assembly on the Z axis slide bar, and
// may be inserted between the Y bar clamps to increase build height.
// make it too big and the M4x40 bolts won't reach. Only useful for mounting the circuit board holder
spacerHeight=0;//5.5;
module pcb_spacer () {
difference() {
cube(size=[y_bar_cube_width,y_bar_cube_width,spacerHeight],center=true);
translate(v=[y_bar_hole_spacing/2,y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
translate(v=[-y_bar_hole_spacing/2,y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
translate(v=[y_bar_hole_spacing/2,-y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
translate(v=[-y_bar_hole_spacing/2,-y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
}
}
module y_bar_clamp() {
difference(){
union () {
// Sticky outy shelf - rotate z by 90 for lateral.
rotate ([0,0,0]) {
translate ([(cubeHeight+shelfLength)/2,(y_bar_cube_width-8)/2,0])
cube(size=[shelfLength,8,cubeHeight],center=true);
if (shelf_vertical==1) {
// Free limb of "L"
translate ([(y_bar_cube_width+shelfLength)/2+1,0,0])
cube(size=[7,y_bar_cube_width,cubeHeight],center=true);
} else {
translate ([(cubeHeight+shelfLength)/2,(y_bar_cube_width-8)/-2,0])
cube(size=[shelfLength,8,cubeHeight],center=true);
}
}
cube(size=[y_bar_cube_width,y_bar_cube_width,cubeHeight],center=true);
}
// Cavity for Y rod
translate(v=[0,0,6.9-barRad+(nutTraps*2)])rotate(a=[90,0,0])
cylinder(r=barRad, h=60, center=true);
translate(v=[0,0,11.5-barRad+(nutTraps*2)])
cube(size=[barRad*2,60,10],center=true);
translate(v=[0,6,9+(nutTraps*2)])cube(size=[12,4,y_bar_cube_width-4],center=true);
translate(v=[0,-6,9+(nutTraps*2)])cube(size=[12,4,y_bar_cube_width-4],center=true);
if (nutTraps==1) {
translate(v=[y_bar_hole_spacing/2,-y_bar_hole_spacing/2,-6]) m4_hole_vert_with_hex(y_bar_cube_width+10);
translate(v=[y_bar_hole_spacing/2,y_bar_hole_spacing/2,-6]) m4_hole_vert_with_hex(y_bar_cube_width+10);
translate(v=[-y_bar_hole_spacing/2,y_bar_hole_spacing/2,-6]) m4_hole_vert_with_hex(y_bar_cube_width+10);
translate(v=[-y_bar_hole_spacing/2,-y_bar_hole_spacing/2,-6]) m4_hole_vert_with_hex(y_bar_cube_width+10);
} else {
translate(v=[y_bar_hole_spacing/2,y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
translate(v=[-y_bar_hole_spacing/2,y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
translate(v=[y_bar_hole_spacing/2,-y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
translate(v=[-y_bar_hole_spacing/2,-y_bar_hole_spacing/2,0]) m4_hole_vert(y_bar_cube_width+10);
}
}
}
// Position things nicely.
translate ([0,0,cubeHeight/2]) y_bar_clamp();
translate ([y_bar_cube_width+shelfLength+5,0,spacerHeight/2]) pcb_spacer();
Jump to Line
Something went wrong with that request. Please try again.