Finished PCB holder vise

pull/20/head
Carlos Garcia 2014-09-15 17:09:59 +02:00
parent 0fd4c5506a
commit 749f6f53cc
6 changed files with 123438 additions and 117595 deletions

View File

@ -117,8 +117,8 @@ workbed_separation_from_Y_smooth_rod = 10;
// Part colors
color_movingPart = "yellow";
color_stillPart = "green";
color_movingPart = [0.4,0.5,0.9];
color_stillPart = [0.9,0.9,0.1];
// Calculations
@ -158,7 +158,7 @@ render_2D_or_3D() {
// A4 paper sheet for reference
standard_paperSheet_A4(echoPart=true);
color([1,1,1, 0.2]) standard_paperSheet_A4(echoPart=true);
// Cyclone foot stands
@ -248,7 +248,7 @@ render_2D_or_3D() {
translate([axes_Xsmooth_rodLen/2,0,0])
control_board();
control_board(plasticColor=color_stillPart);

View File

@ -162,7 +162,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
wireSlotSeparation = dimX; // Distance from outer wall
wireSlotThicknessThick = 4;
wireSlotThicknessSlim = 2.5;
wireSlotThicknessSlim = 3;
wireSlotDepth = 5;
wireHoleDiam = 10;

View File

@ -155,7 +155,9 @@ module Cyclone_YsubPart_PCBholder() {
holderArmLength = 30;
holderL_thickness = 2;
holderL_thickness_btm = 1;
holderL_width = workbed_size_Y-PCB_dimY-PCB_holder_tolerance*2;
holderL_innerWidth = holderL_width/2;
// Draw the PCB (transparent)
%translate([0,0,PCBholder_height])
@ -191,10 +193,13 @@ module Cyclone_YsubPart_PCBholder() {
}
// Holder top L supports
translate([0,0,0.1])
translate([0,0,0.5])
difference() {
color(color_movingPart) translate([0,0,PCBholder_height+holderL_thickness/2])
bcube([PCB_dimX+PCB_holder_tolerance*2+holderL_width, PCB_dimY+PCB_holder_tolerance*2+holderL_width, holderL_thickness], cr=8, cres=0);
color(color_movingPart) translate([0,0,PCBholder_height+(holderL_thickness+holderL_thickness_btm)/2])
bcube([PCB_dimX+PCB_holder_tolerance*2+holderL_width, PCB_dimY+PCB_holder_tolerance*2+holderL_width, holderL_thickness+holderL_thickness_btm], cr=8, cres=0);
translate([0,0,PCBholder_height+holderL_thickness_btm/2])
bcube([PCB_dimX+PCB_holder_tolerance*2+holderL_innerWidth, PCB_dimY+PCB_holder_tolerance*2+holderL_innerWidth, holderL_thickness_btm], cr=8, cres=0);
#frame(100);
translate([0,0,PCBholder_height/2])
cube([PCB_dimX-PCB_holder_edge_length*2,PCB_dimY-PCB_holder_edge_length*2, 2*PCBholder_height+1], center=true);
translate([-PCB_dimX/2+PCB_holder_edge_length,0,-0.5])
@ -203,7 +208,7 @@ module Cyclone_YsubPart_PCBholder() {
cube([PCB_dimX-holderArmLength-PCB_holder_edge_length,workbed_size_Y, 2*PCBholder_height+1]);
// Holes for the screws
translate([0,0,holderL_thickness]) {
translate([0,0,holderL_thickness+(holderL_thickness+holderL_thickness_btm)/2]) {
for (x = [-1,1], y=[-1,0,1]) {
translate([x*(PCB_dimX/2+screwSeparation),y*PCB_dimY/4,PCBholder_height+2.9])
rotate([0,0,x*-90]) rotate([90,0,0]) hole_for_screw(size=3,length=PCBholder_height*10,nutDepth=4.5,nutAddedLen=0,captiveLen=10, rot=90);
@ -226,7 +231,7 @@ module Cyclone_Y_carriage() {
Cyclone_YsubPart_nutHolder();
translate([0,0,axes_Y_smoothThreaded_verticalSeparation])
Cyclone_YsubPart_linearBearingHolders();
color([0.9,0.8,0.8,0.5]) translate([0,0,workbed_separation_from_Y_threaded_rod+workbed_thickness])
translate([0,0,workbed_separation_from_Y_threaded_rod+workbed_thickness])
beveledBase(size=[workbed_size_X,workbed_size_Y,workbed_thickness], radius=3, res=15, echoPart=true, renderPart=render_bases_outline);
}
} else {
@ -240,7 +245,7 @@ module Cyclone_Y_carriage() {
Cyclone_YsubPart_linearBearingHolders(onlyScrews=true);
}
}
color([0.9,0.8,0.8,0.5]) translate([0,0,workbed_separation_from_Y_threaded_rod+workbed_thickness])
color([0.9,0.9,0.9, 1]) translate([0,0,workbed_separation_from_Y_threaded_rod+workbed_thickness])
beveledBase(size=[workbed_size_X,workbed_size_Y,workbed_thickness], radius=3, res=15, echoPart=true);
}
}

View File

@ -57,7 +57,7 @@ module rubberFoot(diam=40, thickness=8, renderPart=false, echoPart=false) {
module beveledBase(size=[100,200,10], radius=10, res=15, renderPart=false, echoPart=false) {
renderStandardPart(renderPart)
color("brown")
color([0.05,0.05,0.05])
translate([0,0,-size.z/2])
bcube(size, cr=radius, cres=res);
if(echoPart) echo(str("BOM: Base. Size ", size, "mm"));
@ -68,7 +68,7 @@ module beveledBase(size=[100,200,10], radius=10, res=15, renderPart=false, echoP
include <MCAD/nuts_and_bolts.scad>
module hole_for_screw(size=3,length=20,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=0.45,rot=0,invert=false, echoPart=false) {
module hole_for_screw(size=3,length=20,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=0.4,rot=0,invert=false, echoPart=false) {
radius = METRIC_NUT_AC_WIDTHS[size]/2+tolerance;
height = METRIC_NUT_THICKNESS[size]+tolerance;
rotate([0,0,invert ? 180 : 0])
@ -233,7 +233,7 @@ module linearBearing_single(model="LM8UU", renderPart=false, echoPart=false) {
if(echoPart) echo(str("BOM: Linear bearing. Model ", model));
}
module linearBearingHole(model="LM8UU", lateralExtension=10, pressureFitTolerance=0.25, lengthExtension=6, holderLength=1.5, tolerance=0.1) {
module linearBearingHole(model="LM8UU", lateralExtension=10, pressureFitTolerance=0.4, lengthExtension=6, holderLength=1.5, tolerance=0.1) {
linearBearingLength = linearBearing_L(model);
linearBearingDiameter = linearBearing_D(model);
@ -265,7 +265,7 @@ module linearBearingHole(model="LM8UU", lateralExtension=10, pressureFitToleranc
module control_board() {
module control_board(plasticColor="green") {
rotate([0,0,180])
translate([15,0]) {
difference() {
@ -276,7 +276,7 @@ module control_board() {
translate([0,48.5,5]) rotate([90,0,0]) hole_for_screw(size=3,length=10,nutDepth=0,nutAddedLen=0,captiveLen=0);
}
%translate([-15,-12.5,1.6])
color("green") cube([102.5,64.5,15]);
color(plasticColor) cube([102.5,64.5,15]);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff