// -*- C -*- cover_ysz = 45; cover_len = 70; attach_tube_dia = 18; attach_cx = -15; attach_cdy = -10; attach_w = 25; attach_inrad = 25; /// attach_hole_dist = 5; /// attach_hole_dia = 4 + 0.5; /// attach_ang = 45; // calculated cover_lcircle_r = cover_ysz / (1 + 1/sqrt(2)); base_len = cover_len - cover_lcircle_r; attach_total_len = attach_inrad + attach_tube_dia + attach_hole_dist + attach_hole_dia/2; module RearSideTemplate(){ polygon([[0.1,0], [-base_len,0], [-base_len,-cover_ysz], [0.1, -cover_ysz]]); translate([-base_len, -cover_ysz + cover_lcircle_r]) circle(r=cover_lcircle_r); } module AttachTemplate(){ hull(){ // polygon([[0, 0], // [-0.1, 0], // [-0.1, -cover_ysz], // [0, -cover_ysz]]); translate([attach_cx, -attach_cdy]) rotate([0,0,-attach_ang]) { polygon([[-attach_cx, attach_w/2], [0, -attach_w/2], [attach_total_len, -attach_w/2], [attach_total_len, attach_w/2]]); translate([attach_total_len, 0]) circle(r=attach_w/2); } } } //module Tube(){ // translate( color("blue") RearSideTemplate(); AttachTemplate();