attach_inrad + attach_tube_dia + attach_hole_dist + attach_hole_dia/2
- attach_w / 2 + attach_hole_dist;
+attach_down = tube_dia + attach_hole_dist;
+
module RearSideTemplate(){
polygon([[0.1,0],
[-base_len,0],
}
}
+module BodyPositive(){
+ color("blue") linear_extrude(height=60) RearSideTemplate();
+ translate([0,0,-attach_down]) linear_extrude(height=100) AttachTemplate();
+}
+
module Tube(){
%translate([attach_cx, -attach_cdy, -20]) {
rotate_extrude(convexity=10) {
}
}
-module Bolts(){
+module Bolt(){
%translate([0,0,-50]) linear_extrude(height=80) {
- translate([attach_cx, -attach_cdy]) rotate([0,0,-attach_ang]) {
- translate([attach_inrad - attach_hole_dist - attach_hole_dia/2, 0])
- circle(r=attach_hole_dia/2, $fn=20);
- translate([attach_inrad + attach_tube_dia
- +attach_hole_dist + attach_hole_dia/2, 0])
- circle(r=attach_hole_dia/2, $fn=20);
- }
+ circle(r=attach_hole_dia/2, $fn=20);
+ }
+ %translate([0,0,10]) linear_extrude(height=20) {
+ circle(r=attach_hole_dia/2 * 2, $fn=20);
+ }
+}
+
+module Bolts(){
+ translate([attach_cx, -attach_cdy]) rotate([0,0,-attach_ang]) {
+ translate([attach_inrad - attach_hole_dist - attach_hole_dia/2, 0])
+ Bolt();
+ translate([attach_inrad + attach_tube_dia
+ +attach_hole_dist + attach_hole_dia/2, 0])
+ Bolt();
}
}
-color("blue") RearSideTemplate();
-AttachTemplate();
Tube();
Bolts();
+BodyPositive();