body_depth_each = 5;
clatter_gap = 0.5;
+roof_extent = 7;
+roof_thick = 2;
+
// fudgeish
cut_rotation = 2;
pin_y_offset = 5.5;
pin_x_offset = 0.5;
ridge_rotation = 8.5;
+lock_hang_ratio = 7;
// computed
}
module Body(){
- translate([0,0,-body_depth/2])
+ translate([0,0,body_depth/2])mirror([0,0,1]){
linear_extrude(height=body_depth){
- difference(){
- BodyPlan();
- Holes();
+ difference(){
+ BodyPlan();
+ Holes();
+ }
+ }
+ linear_extrude(height=roof_thick){
+ difference(){
+ hull(){
+ BodyPlan();
+ translate([0,-roof_extent,0]) BodyPlan();
+ }
+ Holes();
+ }
}
}
}
translate([-pin_width/2, -100]) square([pin_width, 101]);
}
hull() for (d=[0,10]) {
- translate([d*2,-d,0])
+ translate([d*lock_hang_ratio,-d,0])
translate([-lock_manouvre_thick/2,
-pin_workdepth-100,
-lock_manouvre_len_smaller])
cube([lock_manouvre_thick, 100,
lock_manouvre_len + lock_manouvre_len_smaller]);
}
- translate([-lock_manouvre_thick/2, -pin_workdepth-50,
- -lock_hang_width/2])
- cube([50, 50, lock_hang_width]);
}
}
}
}
+module PiecePrint(pc){
+ rotate([0,0,90]) rotate([0,180,0])
+ Piece(pc,4);
+}
+
module PiecesPrint(){
- rotate([0,180,0])
- for (pc=[0,1]){
- Piece(pc,4);
- }
+ PiecePrint(0);
+ PiecePrint(1);
}
module Demo(){
//Pin();
//Pieces();
PiecesPrint();
+//PiecePrint(0);
+//PiecePrint(1);