machine_rear_profile = [
[ - 0, -0.00 ],
[ - 2, -0.10 ],
- [ - 4, -0.25 ],
- [ - 6, -0.50 ],
+ [ - 4, -0.20 ],
+ [ - 5, -0.30 ],
+ [ - 6, -0.40 ],
+ [ - 7, -0.50 ],
[ - 8, -0.75 ],
[ - 10, -1.50 ],
[ - 12, -2.25 ],
machine_front_profile = [
[ 128, -3.70, ],
- [ 124, -2.80, ],
- [ 120, -2.50, ],
- [ 116, -2.00, ],
+ [ 124, -2.90, ],
+ [ 120, -2.45, ],
+ [ 116, -2.10, ],
[ 112, -1.80, ],
- [ 108, -1.60, ],
- [ 104, -1.30, ],
+ [ 108, -1.55, ],
+ [ 104, -1.25, ],
[ 100, -1.00, ],
[ 96, -0.80, ],
- [ 92, -0.70, ],
- [ 88, -0.50, ],
+ [ 92, -0.65, ],
+ [ 88, -0.55, ],
[ 84, -0.50, ]
];
rearedge_len = 170;
-rearcurve_rad = 25.4;
rearcurve_strt_len = 65;
-rearcurve_total_len = 84;
-rearcurve_rad_slop = 0.75;
+rearcurve_z_slop = 0.75;
-rearcurve_avoid_y = rearcurve_rad + 10;
+rearcurve_avoid_y = 35;
+
+rearcurve_double_inrad = 26.10 + 8.04;
reartablet_z = 2.54;
reartablet_x = 5 + 1;
module Machine_Profile(){
first_rear = machine_rear_profile[0];
first_front = machine_front_profile[len(machine_front_profile)-1];
- below_point = 0.5 * ( first_rear + first_front ) + [ 0, -40 ];
+ below_point = 0.5 * ( first_rear + first_front ) + [ 0, -10 ];
pol = concat( machine_rear_profile,
[ below_point ],
machine_front_profile);
skew_angle = atan2( first_front[1] - first_rear[1],
first_front[0] - first_rear[0] );
echo(below_point, pol, skew_angle);
- rotate([0,0, -skew_angle ]){
- polygon(pol);
+ hull(){
+ for (z=[0,-40]) {
+ translate([0,z]) {
+ //scale([1,5])
+ rotate([0,0, -skew_angle ]){
+ //translate( - first_front )
+ polygon(pol);
+ }
+ }
+ }
+ }
+}
+
+module Machine_RearProfile(){
+ intersection(){
+ Machine_Profile();
+ translate([ -200 + machine_rear_to_front/2, -100 ]) {
+ square([200,200]);
+ }
}
}
module Machine_Rear(){ ////toplevel
- big_rad = rearcurve_total_len - rearcurve_strt_len + rearcurve_rad;
- small_rad = rearcurve_rad + rearcurve_rad_slop;
translate([ tile01_tr[0] - cutout_l_end_x + rearedge_len,
cutout_tile11_y,
0 ]){
cube([ reartablet_x+1,
reartablet_y+1,
20 ]);
+ }
+ translate([ tile01_tr[0] - cutout_l_end_x + rearedge_len,
+ cutout_tile11_y,
+ 0 ]){
translate([ rearcurve_strt_len,
0,
- 0 ]){
- translate([ 0,
+ rearcurve_z_slop ]){
+ translate([ 1,
0,
- -rearcurve_rad
+ 0
]){
- rotate([0,-90,0]){
- rotate([0,0, 360/8/2])
- cylinder(r = small_rad, h= rearcurve_strt_len);
+ rotate([0,-90,0])rotate([0,0,-90]){
+ linear_extrude(height= rearcurve_strt_len + 1)
+ Machine_RearProfile();
}
}
translate([ 0,
0,
- big_rad - rearcurve_rad ]) {
+ rearcurve_double_inrad ]) {
intersection(){
rotate([90,0,0]){
- rotate_extrude(convexity=10) {
- translate([ big_rad,
- 0 ]) {
- hull(){
- circle(r= small_rad);
- translate([200,0])
- circle(r= small_rad);
- }
+ rotate_extrude(convexity=10, $fn=32) {
+ rotate([0,0,90]) translate([ 0,
+ -rearcurve_double_inrad ]) {
+ Machine_RearProfile();
}
}
}
mirror([0,0,1])
- cube([150,150,150]);
+ translate([0,-75,0]) cube([150,150,150]);
}
}
}
//TestPiece2();
//Demo();
-Machine_Profile();
+//Machine_Profile();
+//Machine_RearProfile();