add PCB Machining Vise (http://www.thingiverse.com/thing:63578) to hold PCB board
parent
0ea895dddf
commit
e58afd5ff8
|
@ -12,6 +12,7 @@ use <../Y_axis/Y_nut_holder.scad>
|
|||
use <../XZ_axis/X_carriage.scad>
|
||||
use <../XZ_axis/Z_carriage.scad>
|
||||
use <../libs/rod.scad>
|
||||
use <../libs/PCB_Machining_Vise/PCB_vise_1_Part1.scad>
|
||||
|
||||
X_axis_sep = 210;
|
||||
Y_axis_sep = 210;
|
||||
|
@ -55,7 +56,7 @@ X_Travel = 0; //0~164
|
|||
Y_Travel = 0; //0~101
|
||||
Z_Travel = 30; //0~30
|
||||
|
||||
//To display steppers, bearings, washers, nuts, screws, micro switchs, etc.
|
||||
//To display steppers, bearings, washers, nuts, bolts, micro-switches, etc.
|
||||
Display_Extra_Parts = true;
|
||||
|
||||
//To enable exploded drawing view
|
||||
|
@ -134,10 +135,17 @@ module cnc_workbed() {
|
|||
cube([workbed_X,workbed_Y,workbed_thickness],center=true);
|
||||
cube([workbed_X-1,workbed_Y-1,workbed_thickness+1],center=true);
|
||||
}
|
||||
}
|
||||
|
||||
if(Display_Extra_Parts) {
|
||||
translate([-28-X_PCB_BOARD/2,8+Y_PCB_BOARD/2,-(workbed_thickness)/2])
|
||||
rotate([180,0,0]) PCB_vise_1(with_extra_parts=true, exploded=Exploded_Drawing);
|
||||
translate([28+X_PCB_BOARD/2,-8-Y_PCB_BOARD/2,-(workbed_thickness)/2])
|
||||
rotate([180,0,180]) PCB_vise_1(with_extra_parts=true, exploded=Exploded_Drawing);
|
||||
// --- PCB Board ---
|
||||
translate([0,0,-(workbed_thickness+Z_PCB_BOARD)/2])
|
||||
cube([X_PCB_BOARD,Y_PCB_BOARD,Z_PCB_BOARD],center=true);
|
||||
echo("Non-Plastic Parts: Double sided PCB ", X_PCB_BOARD, " x ", Y_PCB_BOARD, " x ", Z_PCB_BOARD);
|
||||
translate([0,0,-(workbed_thickness)/2-15])
|
||||
color([0.72,0.45,0.20]) cube([X_PCB_BOARD,Y_PCB_BOARD,Z_PCB_BOARD],center=true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,52 @@
|
|||
//Designed by Forgetful_Guy
|
||||
//From http://www.thingiverse.com/thing:63578
|
||||
//License: http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
include <MCAD/metric_fastners.scad>
|
||||
include <MCAD/materials.scad>
|
||||
use <../large_washer.scad>
|
||||
use <./PCB_vise_1_Part2.scad>
|
||||
|
||||
|
||||
module PCB_vise_1_Part1(with_extra_parts=false, exploded=false) {
|
||||
import("./PCB_vise_1_Part1.STL");
|
||||
|
||||
|
||||
if(with_extra_parts)
|
||||
PCB_vise_1_Part1_extras(exploded_distance=(exploded?5:0));
|
||||
|
||||
module PCB_vise_1_Part1_extras(exploded_distance=0) {
|
||||
echo("Non-Plastic Parts: 2 x Large washer M5 for PCB_vise_1_Part1");
|
||||
echo("Non-Plastic Parts: 2 x Self tapping screw 4.8 x 19 mm for PCB_vise_1_Part1");
|
||||
echo("Non-Plastic Parts: 5 x M3 nut for PCB_vise_1_Part1");
|
||||
color(Steel) {
|
||||
translate([10,20,8.0+exploded_distance]) {
|
||||
large_washer(5);
|
||||
translate([0,0,largeWasher_H(5)+2+5*exploded_distance]) rotate([180,0,0]) csk_bolt(4.8, 19);
|
||||
}
|
||||
translate([10,20+40,8.0+exploded_distance]) {
|
||||
large_washer(5);
|
||||
translate([0,0,largeWasher_H(5)+2+5*exploded_distance]) rotate([180,0,0]) csk_bolt(4.8, 19);
|
||||
}
|
||||
translate([24-2*exploded_distance,14,8+0.6])
|
||||
flat_nut(3);
|
||||
translate([24-2*exploded_distance,14+28,8+0.6])
|
||||
flat_nut(3);
|
||||
translate([24-2*exploded_distance,14+28*2,8+0.6])
|
||||
flat_nut(3);
|
||||
translate([33,4-2*exploded_distance,8+0.6])
|
||||
flat_nut(3);
|
||||
translate([33+22,4-2*exploded_distance,8+0.6])
|
||||
flat_nut(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module PCB_vise_1(with_extra_parts=false, exploded=false) {
|
||||
PCB_vise_1_Part1(with_extra_parts=with_extra_parts, exploded=exploded);
|
||||
translate([20,0,15+0.8])
|
||||
PCB_vise_1_Part2(with_extra_parts=with_extra_parts, exploded=exploded);
|
||||
}
|
||||
|
||||
PCB_vise_1(with_extra_parts=false, exploded=false);
|
Binary file not shown.
|
@ -0,0 +1,34 @@
|
|||
//Designed by Forgetful_Guy
|
||||
//From http://www.thingiverse.com/thing:63578
|
||||
//License: http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
include <MCAD/nuts_and_bolts.scad>
|
||||
include <MCAD/materials.scad>
|
||||
|
||||
module PCB_vise_1_Part2(with_extra_parts=false, exploded=false) {
|
||||
import("./PCB_vise_1_Part2.STL");
|
||||
|
||||
|
||||
if(with_extra_parts)
|
||||
PCB_vise_1_Part2_extras(exploded_distance=(exploded?5:0));
|
||||
|
||||
module PCB_vise_1_Part2_extras(exploded_distance=0) {
|
||||
echo("Non-Plastic Parts: 5 x Bolt M3 x 16 mm for PCB_vise_1_Part2");
|
||||
color(Steel) {
|
||||
translate([4,14,2.5+4*exploded_distance])
|
||||
rotate([180,0,0]) boltHole(size=3, length=16);
|
||||
translate([4,14+28,2.5+4*exploded_distance])
|
||||
rotate([180,0,0]) boltHole(size=3, length=16);
|
||||
translate([4,14+28*2,2.5+4*exploded_distance])
|
||||
rotate([180,0,0]) boltHole(size=3, length=16);
|
||||
translate([13,4,2.5+4*exploded_distance])
|
||||
rotate([180,0,0]) boltHole(size=3, length=16);
|
||||
translate([13+22,4,2.5+4*exploded_distance])
|
||||
rotate([180,0,0]) boltHole(size=3, length=16);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PCB_vise_1_Part2(with_extra_parts=false, exploded=false);
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
////By Glen Chung, 2013.
|
||||
//Dual licenced under Creative Commons Attribution-Share Alike 3.0 and LGPL2 or later
|
||||
|
||||
include <MCAD/units.scad>
|
||||
include <MCAD/materials.scad>
|
||||
|
||||
LARGE_WASHER_D1 = 0; //Inner diameter
|
||||
LARGE_WASHER_D2 = 1; //Outer diameter
|
||||
LARGE_WASHER_H = 2; //Height
|
||||
|
||||
// Large Washer dimensions
|
||||
// model == X ? [ D1, D2, H]:
|
||||
function largeWasherDimensions(model=3) =
|
||||
model == 3 ? [ 3.2*mm, 9.0*mm, 0.8*mm]:
|
||||
model == 4 ? [ 4.3*mm, 12.0*mm, 1.0*mm]:
|
||||
model == 5 ? [ 5.3*mm, 15.0*mm, 1.0*mm]:
|
||||
model == 6 ? [ 6.4*mm, 18.0*mm, 1.6*mm]:
|
||||
model == 8 ? [ 8.4*mm, 24.0*mm, 2.0*mm]:
|
||||
model == 10 ? [ 10.5*mm, 30.0*mm, 2.5*mm]:
|
||||
model == 12 ? [ 13.0*mm, 37.0*mm, 3.0*mm]:
|
||||
model == 16 ? [ 17.0*mm, 50.0*mm, 3.0*mm]:
|
||||
model == 20 ? [ 21.0*mm, 60.0*mm, 4.0*mm]:
|
||||
model == 24 ? [ 25.0*mm, 72.0*mm, 5.0*mm]:
|
||||
model == 30 ? [ 33.0*mm, 92.0*mm, 6.0*mm]:
|
||||
/*model == 36 ?*/ [ 39.0*mm, 110.0*mm, 8.0*mm];
|
||||
|
||||
function largeWasher_D1(model) = largeWasherDimensions(model)[LARGE_WASHER_D1];
|
||||
function largeWasher_D2(model) = largeWasherDimensions(model)[LARGE_WASHER_D2];
|
||||
function largeWasher_H(model) = largeWasherDimensions(model)[LARGE_WASHER_H];
|
||||
|
||||
module large_washer(dia=3)
|
||||
{
|
||||
d1 = largeWasher_D1(dia);
|
||||
d2 = largeWasher_D2(dia);
|
||||
h = largeWasher_H(dia);
|
||||
difference()
|
||||
{
|
||||
cylinder(r=d2/2,h=h);
|
||||
translate([0,0,-h/2]) cylinder(r=d1/2,h=h*2);
|
||||
}
|
||||
}
|
||||
|
||||
//examples
|
||||
//large_washer(); //m3
|
||||
//large_washer(5); //m5
|
Loading…
Reference in New Issue