-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathcarriage.scad
68 lines (62 loc) · 2.66 KB
/
carriage.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
* CAD file for the UConduit carriage. The carriage holds the hotend, belt clips and bowden tube.
*
* Creative Commons Share Alike 3.0
* Copyright (c) 2013 David Lee Miller
*
*/
include <ucon_config.scad>
use <ucon_functions.scad>
use <MCAD/motors.scad>
use <MCAD/nuts_and_bolts.scad>
$fn=100;
ycarriage();
module ycarriage(option=1){
difference(){
cross_section();
//middle M4 screw holes
translate([0,0,3.5]) rotate([0,90,0]) cylinder(r=2+0.05,h=30,center=true);
translate([0,0,bushingL-3.5]) rotate([0,90,0]) cylinder(r=2+0.05,h=30,center=true);
translate([9.5,0,bushingL-3.5]) rotate([0,-90,0]) nutSlot(10,0.1);
translate([9.5,0,3.5]) rotate([180,0,0]) rotate([0,-90,0]) nutSlot(10,0.1);
//bottom M4 screw holes
translate([0,bushingOD/2+rod_spacing/2+3,3.5]) rotate([0,90,0])
cylinder(r=2+0.05,h=30,center=true);
translate([0,bushingOD/2+rod_spacing/2+3,bushingL-3.5]) rotate([0,90,0])
cylinder(r=2+0.05,h=30,center=true);
translate([10,bushingOD/2+rod_spacing/2+3,bushingL-3.5]) rotate([0,-90,0]) nutSlot(10,0.1);
translate([10,bushingOD/2+rod_spacing/2+3,3.5]) rotate([180,0,0]) rotate([0,-90,0]) nutSlot(10,0.1);
//top M3 screw holes
translate([8,-bushingOD/2-rod_spacing/2-3,3.5]) rotate([90,0,0])
cylinder(r=3/2+0.05,h=12,center=true);
translate([8,-bushingOD/2-rod_spacing/2-3,bushingL-3.5]) rotate([90,0,0])
cylinder(r=3/2+0.05,h=12,center=true);
translate([8,-bushingOD/2-rod_spacing/2-2,bushingL-3.5]) rotate([0,0,90]) rotate([0,-90,0])
nutSlot(10,0.1,size=3);
translate([8,-bushingOD/2-rod_spacing/2-2,3.5]) rotate([0,180,0]) rotate([0,0,90]) rotate([0,-90,0])
nutSlot(10,0.1,size=3);
// make holes for bearing
rotate([0,0,90]) translate([rod_spacing/2,0,bushingL/2])
cylinder(r=bushingOD/2,h=bushingL+0.05,center=true);
rotate([0,0,90]) translate([-rod_spacing/2,0,bushingL/2])
cylinder(r=bushingOD/2,h=bushingL+0.05,center=true);
}}
module cross_section(){ // creates the basic shape of the carriage
difference(){
union(){
linear_extrude(height=bushingL)
minkowski(){
union(){
// two bearings
translate([0,rod_spacing/2,0]) circle(r=bushingOD/2,center=true);
translate([0,-rod_spacing/2,0]) circle(r=bushingOD/2,center=true);
// connect them
translate([bushingOD/4+2.0,0,0]) square([bushingOD/2+2.0,rod_spacing+bushingOD],center=true);
// add top and bottom blocks
translate([4,-bushingOD-8/2,0]) square([bushingOD-2,8],center=true);
translate([4,bushingOD+9/2,0]) square([bushingOD-2,9],center=true);
}
circle(r=3);} // 3mm wall thickness
translate([0,0,bushingL/2]) cube([14,10,bushingL],center=true); // add a flat between the bearings
}}
}