AcornElectron

Changeset

76:c55f2c2b6ce4
2016-05-12 Paul Boddie raw files shortlog changelog graph Adjusted the height and introduced the missing break in the PCB support. shapeways-3686237-20170107
cartridge.scad (file)
     1.1 --- a/cartridge.scad	Sat Apr 23 16:36:03 2016 +0200
     1.2 +++ b/cartridge.scad	Thu May 12 00:57:48 2016 +0200
     1.3 @@ -221,7 +221,7 @@
     1.4  	int_connector_width = 86.0;	/* limited to the Plus 1 socket dimensions */
     1.5  	int_payload_depth = 14.0;	/* maximum depth in the payload section */
     1.6  	int_connector_depth = 11.5;	/* maximum depth in the connector section */
     1.7 -	int_payload_height = 50.8;	/* space between the top and the floor */
     1.8 +	int_payload_height = 51.5;	/* space between the top and the floor */
     1.9  	int_connector_height = 13.5; 	/* vertical offset of bottom/floor of payload area */
    1.10  
    1.11  	/* Side thicknesses. */
    1.12 @@ -406,7 +406,7 @@
    1.13  		edge_connector_cutout_back_depth;
    1.14  	pcb_back_support_height = height - int_connector_height - top - bottom;
    1.15  
    1.16 -	pcb_front_support_width = 1.2;
    1.17 +	pcb_front_support_width = pcb_back_support_width;
    1.18  	pcb_front_support_depth = int_front_depth;
    1.19  	pcb_front_support_height = pcb_back_support_height;
    1.20  
    1.21 @@ -421,9 +421,12 @@
    1.22  	pcb_back_support_right_bump_height = 10.7;
    1.23  	pcb_back_support_left_bump_offset_from_bottom = 15.1;
    1.24  	pcb_back_support_right_bump_offset_from_bottom = 17.6;
    1.25 +	pcb_back_support_break_from_bottom = 35.3;	/* 36.45 from the above diagram */
    1.26 +	pcb_back_support_break_height = 13;		/* 11.55 from the above diagram */
    1.27  
    1.28  	/* Configured by SHORT_PCB. */
    1.29 -	pcb_back_support_top_bump_height = 3.8;
    1.30 +	pcb_back_support_top_bump_height = int_payload_height
    1.31 +		- pcb_back_support_break_from_bottom - pcb_back_support_break_height;
    1.32  
    1.33  	/* Move the PCB support towards the centre. */
    1.34  	pcb_support_margin = 1.75;
    1.35 @@ -537,7 +540,7 @@
    1.36  
    1.37  	/* Repeated constructs. */
    1.38  
    1.39 -	module pcb_support(xdir, bump_height, bump_offset) {
    1.40 +	module pcb_support(xdir, bump_height, bump_offset, break_offset, break_height) {
    1.41  
    1.42  		/*
    1.43  		Translate the support in the stated direction.
    1.44 @@ -549,18 +552,35 @@
    1.45  		translate([xdir *
    1.46  			pcb_support_offset_from_centre,
    1.47  			edge_connector_cutout_back_depth,
    1.48 -			int_payload_lower_extent])
    1.49 +			int_payload_lower_extent]) {
    1.50 +
    1.51 +			/*
    1.52 +			Convert the co-ordinates from being centred on the origin to being
    1.53 +			"justified" to have either positive or negative x values, and
    1.54 +			having positive y and z values.
    1.55 +			*/
    1.56 +
    1.57  			justify(pcb_back_support_width,
    1.58  				pcb_back_support_depth,
    1.59  				pcb_back_support_height,
    1.60 -				xdir, 1, 1)
    1.61 +				xdir, 1, 1) {
    1.62 +
    1.63  				union() {
    1.64  
    1.65  					/* Underlying support strut. */
    1.66  
    1.67 -					cube([pcb_back_support_width,
    1.68 -						pcb_back_support_depth,
    1.69 -						pcb_back_support_height], center = true);
    1.70 +					difference() {
    1.71 +						cube([pcb_back_support_width,
    1.72 +							pcb_back_support_depth,
    1.73 +							pcb_back_support_height], center = true);
    1.74 +						cube_at(pcb_back_support_width,
    1.75 +							pcb_back_support_depth,
    1.76 +							break_height,
    1.77 +							0, 1, 1,
    1.78 +							0,
    1.79 +							-pcb_back_support_depth / 2,
    1.80 +							-pcb_back_support_height / 2 + break_offset);
    1.81 +					}
    1.82  
    1.83  					/* Middle bump. */
    1.84  
    1.85 @@ -584,6 +604,8 @@
    1.86  							pcb_back_support_height / 2 -
    1.87  								pcb_back_support_top_bump_height);
    1.88  				}
    1.89 +			}
    1.90 +		}
    1.91  	}
    1.92  
    1.93  	/* Choose the kind of "lug" in the back piece. */
    1.94 @@ -1193,9 +1215,13 @@
    1.95  
    1.96  						if (MODEL == ROM_CARTRIDGE) {
    1.97  							pcb_support(-1, pcb_back_support_left_bump_height,
    1.98 -								pcb_back_support_left_bump_offset_from_bottom);
    1.99 +								pcb_back_support_left_bump_offset_from_bottom,
   1.100 +								pcb_back_support_break_from_bottom,
   1.101 +								pcb_back_support_break_height);
   1.102  							pcb_support(1, pcb_back_support_right_bump_height,
   1.103 -								pcb_back_support_right_bump_offset_from_bottom);
   1.104 +								pcb_back_support_right_bump_offset_from_bottom,
   1.105 +								pcb_back_support_break_from_bottom,
   1.106 +								pcb_back_support_break_height);
   1.107  
   1.108  							/* Circular "lugs" to hold PCBs in place. */
   1.109