19 outerdia = cable_maxdia / cos(30) + wallmin*2;
20 delta_shift = 1 - delta_ellipse;
22 delta_shift_gap = (cable_maxdia-cable_mindia) * delta_shift;
24 module CrossSection(plus=0) {
26 for (dx = [-plus, 0, plus])
28 circle(r= outerdia/2, $fn=6);
32 cable_maxdia * delta_shift + cable_mindia * delta_ellipse])
33 circle(r= sqrt(0.5) * delta_shift + 0.5 * delta_ellipse, $fn=4);
34 circle(r= cable_maxdia/2 * sqrt(delta_shift)
35 + cable_mindia/2 * (1-sqrt(delta_shift)),
39 square(center=true, [40, delta_shift_gap]);
43 module CrossSectionDemo(){ ////toplevel
45 translate([0, delta_shift_gap/2, 0]){
47 circle(r = cable_maxdia/2, $fn=20);
48 circle(r = cable_mindia/2, $fn=20);
53 linear_extrude(height=20)
57 linear_extrude(height=1)
61 module CompleteClamp(){ ////toplevel
62 linear_extrude(height=total_len)
65 for (i=[0 : strap_count]){
66 if (i*2 != strap_count) {
68 total_len * (i + 0.5) / (strap_count + 1)])
71 translate([0,0, strap_width/2])
72 linear_extrude(height=strap_wall_l)
73 CrossSection(strap_wall_h);