% m1_alum.m - M1 hull layout for aluminum hull % HJSIII, 04.02.28 % full size, units = inches % x and y from CL drive axle, +x aft, +y up % based on XM1 drawings from Yahoo M1 Abrams group % scaling factor scale = 1; scale = 8; % constants d2r = pi / 180; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % left torsion bar pivots ltbp = [ -229 -9 ; % 1 front -193 -13 ; % 2 -165 -13 ; % 3 -137 -13 ; % 4 -109 -13 ; % 5 -81 -13 ; % 6 -53 -13 ]; % 7 rear % right torsion bar pivots rtbp = [ -221 -10 ; % 1 front -185 -13 ; % 2 -157 -13 ; % 3 -129 -13 ; % 4 -101 -13 ; % 5 -73 -13 ; % 6 -45 -13 ]; % 7 rear % torsion bar arms len_tba = 20; % road wheel centers axle_ht = -19.25*ones(7,1); th = asin( (axle_ht-ltbp(:,2)) / len_tba ); lrwc = [ ltbp(:,1)+len_tba*cos(th) axle_ht ]; th = asin( (axle_ht-rtbp(:,2)) / len_tba ); rrwc = [ rtbp(:,1)+len_tba*cos(th) axle_ht ]; % drive sprocket, idler, return rollers, tow rings centers = [ 0 0 ; % rear sprocket -250 0 ; % front idler -189 4 ; % front return roller -77 4 ; % rear return roller 28 28 ]; % upper rear tow ring cen_dis = 8 * 3.1; y_motor = -13 + 8*( 0.375 + 0.25 + 2 ) % top of 3/4 channel plus 1/4 thick angle % plus radius for EV Warrior x_idler = -sqrt( cen_dis^2 - y_motor^2 ); centers = [ centers ; x_idler y_motor ; % idler shaft x_idler-cen_dis y_motor ]; % EV Warrior centers = [ centers ; -8*1.25 0 ; % main bearing 2.5 inch centers for bolt pattern 8*1.25 0 ]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % hull outline outline = [ -5 -17 ; % aft hull bottom corner -200 -17 ; % front of bottom plate, aft end of skid plate -262 -9 ; % bottom of front plate, front of skid plate -280 11 ; % front tip, front of glacis -176 24 ; % aft of glacis, front of turret plate -78 24 ; % rear of turret plate -36 32 ; % front of rear deck 32 32 ; % upper rear tow ring - top rear corner 32 8 ; % transom - bottom rear corner 20 8 ; % transom - bottom front corner 11 -9 ; % lower rear corner -5 -17 ]; % aft hull bottom corner % diameters dia = [ 24 ; % road wheel and idler 29 ; % sprocket - ID for track 16 ; % return roller 4 ]; % upper rear tow ring dia = [ dia ; 8*1.083 ; % 12T #25 sprocket OD 8*3.008 ; % 36T #25 sprocket OD 8*4 ]; % EV Warrior motor dia = [ dia ; 8*1.75 ; % main bearing 1.75 clear hole 8*0.25 ]; % main bearing 1/4-20 bolt pattern % datum lines max_min = [ -280 40 -40 40 ]; % xmin, xmax, ymin, ymax for plotting xmin = max_min(1); xmax = max_min(2); ymin = max_min(3); ymax = max_min(4); lines = [ xmin 0 ; % horizontal sprocket center xmax 0 ; NaN NaN ; xmin -36 ; % horizontal ground xmax -36 ; NaN NaN ; 0 ymin ; % vertical sprocket center 0 ymax ; NaN NaN ; -139 0 ; % vertical turret centerline -139 ymax ]; lines = [ lines ; NaN NaN ; xmin -13+(8*0.375) ; % top edge of 3/4 channel xmax -13+(8*0.375) ; NaN NaN ; xmin -13-(8*0.375) ; % bottom edge of 3/4 channel xmax -13-(8*0.375) ]; % apply scaling ltbp = ltbp / scale; rtbp = rtbp / scale; lrwc = lrwc / scale; rrwc = rrwc / scale; centers = centers / scale; outline = outline / scale; dia = dia / scale; lines = lines / scale; max_min = max_min / scale; hull_length = max(outline(:,1)) - min(outline(:,1)) hull_height = max(outline(:,2)) - min(outline(:,2)) % form circles th = ( 0 : 10 : 360 )' * pi /180; unit_circle = [ cos(th) sin(th) ]; rw_circle = unit_circle * dia(1) /2; % road wheel and idler sg_circle = unit_circle * dia(2) /2; % sprocket guard rr_circle = unit_circle * dia(3) /2; % return roller urtr_circle = unit_circle * dia(4) /2; % upper rear tow ring sp12_circle = unit_circle * dia(5) /2; % 12T #25 sprocket OD sp36_circle = unit_circle * dia(6) /2; % 36T #25 sprocket OD ev_circle = unit_circle * dia(7) /2; % EV Warrior motor brg_circle = unit_circle * dia(8) /2; % main bearing clear hole bolt_circle = unit_circle * dia(9) /2; % main bearing 1/4-20 bolts % plot outline plot( outline(:,1), outline(:,2), 'b' ) axis equal hold on axis( max_min ) axis( [ -35 -25 -5 5 ] ) axis( [ -25 -15 -5 5 ] ) axis( [ -15 -5 -5 5 ] ) axis( [ -5 5 -5 5 ] ) axis( max_min ) %axis( [ -10 0 -5 5 ] ) title( [ 'M1 hull, scale=' num2str(scale,3) ', units=inches' ] ) % plot road arm pivots, centers plot( ltbp(:,1), ltbp(:,2), 'g+' ) plot( rtbp(:,1), rtbp(:,2), 'r+' ) plot( centers(:,1), centers(:,2), 'k+' ) % plot road wheels and road arms plot( lrwc(:,1), lrwc(:,2), 'g+' ) plot( rrwc(:,1), rrwc(:,2), 'r+' ) for i = 1 : 7, plot( rw_circle(:,1)+lrwc(i,1), rw_circle(:,2)+lrwc(i,2), 'g' ) plot( rw_circle(:,1)+rrwc(i,1), rw_circle(:,2)+rrwc(i,2), 'r' ) plot( [ ltbp(i,1) lrwc(i,1) ], [ ltbp(i,2) lrwc(i,2) ], 'g' ) plot( [ rtbp(i,1) rrwc(i,1) ], [ rtbp(i,2) rrwc(i,2) ], 'r' ) end % plot sprocket guard, idlers, return rollers, tow rings plot( sg_circle(:,1)+centers(1,1), sg_circle(:,2)+centers(1,2), 'k' ) % sprocket guard plot( rw_circle(:,1)+centers(2,1), rw_circle(:,2)+centers(2,2), 'k' ) % front idler plot( rr_circle(:,1)+centers(3,1), rr_circle(:,2)+centers(3,2), 'k' ) % return roller plot( rr_circle(:,1)+centers(4,1), rr_circle(:,2)+centers(4,2), 'k' ) % return roller plot( urtr_circle(:,1)+centers(5,1), urtr_circle(:,2)+centers(5,2), 'k' ) % upper rear tow ring % plot chain sprockets and EV Warrior motor plot( sp12_circle(:,1)+centers(7,1), sp12_circle(:,2)+centers(7,2), 'k:' ) % 12T on EVW plot( ev_circle(:,1)+centers(7,1), ev_circle(:,2)+centers(7,2), 'k:' ) % EVW plot( sp12_circle(:,1)+centers(6,1), sp12_circle(:,2)+centers(6,2), 'k:' ) % 12T on idler plot( sp36_circle(:,1)+centers(6,1), sp36_circle(:,2)+centers(6,2), 'k:' ) % 36T on idler plot( sp36_circle(:,1)+centers(1,1), sp36_circle(:,2)+centers(1,2), 'k:' ) % 36T on axle plot( brg_circle(:,1)+centers(1,1), brg_circle(:,2)+centers(1,2), 'k:' ) % main bearing plot( bolt_circle(:,1)+centers(8,1), bolt_circle(:,2)+centers(8,2), 'k:' ) % bearing bolt plot( bolt_circle(:,1)+centers(9,1), bolt_circle(:,2)+centers(9,2), 'k:' ) % bearing bolt % plot datum lines plot( lines(:,1),lines(:,2), 'k--' ) % save plot print -djpeg100 m1_hull %print -dmeta