rear_to_front_distance = 230; // rack cross rail (fam) to very front end
rear_to_cross_rail = 43.05; // bolt centre to rail centre, rail to rear
rear_bolt_to_front_bolt = 155.4;
-front_elevation_nominal = 3;
+front_elevation_nominal = 0; // this parameter adjusts rear too somehow?
cross_rail_distance = 232.09;
}
module FamGraspElevation(){
- hull(){
- ybot = $rack_rail_y - rack_rail_dia/2 + grasp_large_r
- - fit_slope_len * 0.5;
- for (y = [
- ybot,
- adapt_main_top_y - grasp_large_r
- ])
- for (dx= [/*-1,*/ +1] * rack_rail_dia/2)
- translate([ -$foreaftmaint_rail_z + dx, y ])
- circle(r= grasp_large_r);
+ difference(){
+ hull(){
+ ybot = $rack_rail_y - rack_rail_dia/2 + grasp_large_r
+ - fit_slope_len * 0.5;
+ for (y = [
+ ybot,
+ adapt_main_top_y - grasp_large_r
+ ])
+ for (dx= [/*-1,*/ +1] * rack_rail_dia/2)
+ translate([ -$foreaftmaint_rail_z + dx, y ])
+ circle(r= grasp_large_r);
+ }
+ if ($foreaftmaint_cutoff) {
+ translate([ -$foreaftmaint_rail_z, 0 ])
+ rectfromto([-100, -100],
+ [0, 100]);
+ }
}
}
module FamStemElevation(){
hull(){
- rectfromto([ -$foreaftmaint_rail_z, adapt_main_top_y ],
+ rectfromto([ -$foreaftmaint_rail_z
+ , adapt_main_top_y ],
[ 0, block_y_min]);
translate([
-$foreaftmaint_rail_z,
}
module Front(){ ////toplevel
+ rotate([180,0,0])
Principal($reverse_sign = -1,
$foreaftmaint_top_block = false,
+ $foreaftmaint_cutoff = true,
$elevation_nominal=
elevation_of_bolt_for(rear_to_cross_rail + rear_bolt_to_front_bolt),
$foreaftmaint_dz= front_to_cross_rail);
module Rear(){ ////toplevel
Principal($reverse_sign = +1,
$foreaftmaint_top_block = true,
+ $foreaftmaint_cutoff = false,
$elevation_nominal=
elevation_of_bolt_for(rear_to_cross_rail),
$foreaftmaint_dz= rear_to_cross_rail);
}
module FrontDemo(){ ////toplevel
- SomeDemo() Front();
+ SomeDemo() rotate([180,0,0]) Front();
}
module RearDemo(){ ////toplevel
SomeDemo() Rear();
rotate([atan(rack_shear_ratio),0,0]) SomeDemo() {
Rear();
translate([0, 0, -rear_bolt_to_front_bolt])
- Front();
+ rotate([180,0,0]) Front();
%RackForDemoRails();
color("blue") RackForDemoCrosses();
}