forked from wolfmanjm/wolfhbot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
XGantry-wide.scad
82 lines (64 loc) · 2.77 KB
/
XGantry-wide.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
use <misumi-parts-library.scad>;
//use <y-carriage.scad>;
//use <xgantry-plate.scad>;
extrusion= 20; // extrusion 2020
sides= 500; // side length of cube in mm
sep1= sides/2+extrusion/2; // separation of each side
sep= sides;
height= sides-extrusion/2;
bsep= sides/2;
bsep1= sides/2+extrusion/2;
bheight= sides-extrusion;
Xgantry_width=65;
carriage_ht= 22;
carriage_width= 5;
xgantry_length= sides+extrusion*2+carriage_width*2;
echo("xgantry length= ", xgantry_length);
sidelen= Xgantry_width+extrusion;
echo("side length= ", sidelen);
echo("gap= ", sidelen-extrusion*2);
//%translate([0,0,-height-extrusion/2]) top();
function get_xgantry_width()= Xgantry_width;
function get_xgantry_length()= xgantry_length;
Xgantry(0);
//translate([0,0,carriage_ht]) rotate([0,0,0]) extruder();
//translate([sep1+10,0,carriage_ht-10]) rotate([0,0,90]) mounting_plate();
total_width= Xgantry_width+extrusion+6.4;
translate([0, 0, 40-0.4]) cube(size=[10, total_width, 10], center=true);
echo(str("Total width=", total_width));
// extruder and head
module extruder() {
translate([-2,-2.7,0]) rotate([180,0,0]) import("JHead_hotend_blank/jhead.stl");
translate([0,10,0]) rotate([90,0,0,0,0]) import("me_body_v5.2_3mm.stl");
}
module openrail(l= 500) {
rotate([90,0,90]) import("openrail500.stl");
}
module gantry(xpos=0) {
translate([0,0,4]) Xgantry(xpos);
translate([sep1+10,0,-10]) rotate([0,0,90]) Ycarriage_with_wheels();
translate([-sep1-10,0,-10]) rotate([0,0,-90]) Ycarriage_with_wheels();
//translate([xpos,0,carriage_ht+10]) rotate([0,0,0]) Ycarriage_with_wheels();
}
module Xgantry(xpos= 0) {
translate([xgantry_length/2,Xgantry_width/2,carriage_ht]) rotate([0,0,90]) hfs2020(xgantry_length);
translate([xgantry_length/2,-Xgantry_width/2,carriage_ht]) rotate([0,0,90]) hfs2020(xgantry_length);
translate([xgantry_length/2+extrusion/2,-sidelen/2,carriage_ht]) hfs2020(sidelen);
translate([-xgantry_length/2-extrusion/2,-sidelen/2,carriage_ht]) hfs2020(sidelen);
//brackets
translate([xgantry_length/2,-Xgantry_width/2+10,carriage_ht+10]) rotate([0,90,90]) hblfsnf5();
translate([xgantry_length/2,Xgantry_width/2-10,carriage_ht-10]) rotate([0,-90,90]) hblfsnf5();
translate([-xgantry_length/2,-Xgantry_width/2+10,carriage_ht-10]) rotate([0,-90,-90]) hblfsnf5();
translate([-xgantry_length/2,Xgantry_width/2-10,carriage_ht+10]) rotate([0,90,-90]) hblfsnf5();
color("black") {
translate([0, -get_xgantry_width()/2-10.8, carriage_ht+10]) openrail();
translate([0, get_xgantry_width()/2+10.8, carriage_ht+10]) rotate([0,0,180]) openrail();
}
}
module top() {
// top
translate([-sep1,-sep/2,height]) hfs2020(sides);
translate([sep1,-sep/2,height]) hfs2020(sides);
translate([sep/2,sep1,height]) rotate([0,0,90]) hfs2020(sides);
translate([sep/2,-sep1,height]) rotate([0,0,90]) hfs2020(sides);
}