diff --git a/traveldock4.scad b/traveldock4.scad new file mode 100644 index 0000000..7929a89 --- /dev/null +++ b/traveldock4.scad @@ -0,0 +1,155 @@ +//Psion Travel Dock +use +use + +$fn=30; + +connector_width = 6.7 + 1; +connector_length = 17.8 + 1; +connector_height = 11.5; +base_width = 20 + 1; +base_length = 17.2 + 1; + + + +dock_base_width = 34.6; +dock_base_length_max = 140 + 12 ; //removed changes as too snug +dock_base_length_min = 135; +dock_base_height = 11.1; + +dock_total_length = 147; + +wing_width = 3.62; +wing_depth = 39.0; +wing_height_max = 15.0; +wing_height_min = 6.0; + +wing_clip_length = 4; +wing_clip_depth = 0.7; +wing_clip_height = 2.0; + +bridge_width = 11.1; +bridge_seperation = 3.9; + +off_set = 1.5; + +cubecell_w = 22 + 0.5; +cubecell_l = 58 + 0.5; +cubecell_h = 4; + +difference(){ + union(){ + +difference(){ +translate([-5,0,-1 * dock_base_length_max]){ + rotate([0,0,7]){ +airfoil_simple_wing([dock_base_width -5, 0022], wing_length=dock_base_length_max, wing_angle=[0,0]); + } +} + +translate([2,0,(-1 *(dock_base_length_max/2) +1) + off_set]){ + rotate([90,0,-15]){ + cube([connector_width, connector_length, connector_height], center=true); + } +} + +translate([8,3.2,(-1 *(dock_base_length_max/2) +1) + off_set]){ + rotate([90,0,-15]){ + cube([base_width, base_length, connector_height], center=true); + } +} + +//Screws +translate([2,10,(-1 *(dock_base_length_max/2)) + 1 + off_set + ((base_width / 2) + 2)]){ + rotate([90,0,0]){ + cylinder(30, d=3.3, center=true); + } +} + +translate([2,10,(-1 *(dock_base_length_max/2)) + 1 + off_set + (-1*(base_width / 2) - 2)]){ + rotate([90,0,0]){ + cylinder(30, d=3.3, center=true); + } +} + +} + +// Wing R +translate([0,-2,0]){ + rotate([0,0,10]){ +translate([-10,0,0]){ + rotate([0,0,0]){ + airfoil_simple_wing([wing_depth, 0032], wing_length=wing_width, wing_angle=[0,0]); + } +} + + translate([-4,-3.5,-0.3]){ + rotate([0,0,-30]){ + color("green"){ + roundedcube([wing_clip_length, wing_clip_depth, wing_clip_height], true, 0.2); + } + } + } + } + } + + // Wing L + translate([0,-2,-1 * dock_base_length_max]){ + rotate([0,0,10]){ +translate([-10,0,0]){ + rotate([0,0,0]){ + airfoil_simple_wing([wing_depth, 0032], wing_length=wing_width, wing_angle=[0,0]); + } +} + + translate([-4,-3.5,-0.3 + wing_width]){ + rotate([0,0,-30]){ + color("green"){ + roundedcube([wing_clip_length, wing_clip_depth, wing_clip_height], true, 0.2); + } + } + } + } + } + + } + + // Flat Base + rotate([90,0,0]){ + translate([7,-1 * (dock_base_length_max / 2),-8]){ + cube([dock_base_width - 10, dock_base_length_max -30,dock_base_height],center=true); + } + } + + +//USB-C Indent + translate([3,3.5,-3]){ + cylinder(h=80, d=4, center =true); + } + translate([7.5,3.5,0]){ + cube([8.9 + 2,4,10],center=true); + } + translate([12,3.5,-3]){ + cylinder(h=80, d=4, center =true); + } +// Antenna Indent + translate([15,4,-1 * dock_base_length_max]){ + cylinder(h=20, d=4, center =true); + } + +//cubecell cutout -120 + rotate([90,0,6]){ + translate([8,-30,-2]){ + cube([cubecell_w, cubecell_l, cubecell_h],center=true); + } + } + +// power cutout + rotate([90,0,6]){ + translate([8,-118,-2]){ + cube([cubecell_w, cubecell_l, cubecell_h],center=true); + } + } + //Difference End + } + diff --git a/traveldock41.stl b/traveldock41.stl new file mode 100644 index 0000000..f824d6e Binary files /dev/null and b/traveldock41.stl differ