@@ -32,11 +32,13 @@ module Cyclone_X_rightFrame(isLeft=false) {
3232 dimY = max (- axes_Xreference_posY,axes_Xsmooth_separation+ axes_XgearSeparation* cos (motorRotatedOffset)+ Xmotor_sideLen/2 + 1.6 );
3333 dimZ = axes_Yreference_height+ axes_Xreference_height+ axes_Xsmooth_separation;
3434
35-
3635 footSeparation = footScrewSize* 3 ;
3736 footWidth = dimX+ 2 * footSeparation;
3837
39- rod_nut_len = 0.8 * axes_Xthreaded_rodD;
38+ rodNutSize = X_threaded_rodNutSize;
39+ rod_nut_len = METRIC_NUT_THICKNESS[rodNutSize];
40+ nut_separation = rod_nut_len/2 ;
41+ // rod_nut_len = 0.8*axes_Xthreaded_rodD;
4042
4143 module Cyclone_XsubPart_gearCover() {
4244 margin = gearCover_margin;
@@ -232,7 +234,7 @@ module Cyclone_X_rightFrame(isLeft=false) {
232234 translate ([+ 0.01 ,axes_Xsmooth_separation,0 ]) {
233235
234236 // Rod radial bearing hole
235- rotate ([0 ,- 90 ,0 ]) bearingHole(depth= X_threaded_rod_bearingDepth, thickness= partThickness);
237+ rotate ([0 ,- 90 ,0 ]) bearingHole(depth= X_threaded_rod_bearingDepth, thickness= partThickness, model = X_threaded_rodBearingModel );
236238
237239 // Translate to motor position
238240 if (! isLeft)
@@ -280,15 +282,19 @@ module Cyclone_X_rightFrame(isLeft=false) {
280282 if (draw_references) color ("green" ) % frame(20 );
281283 translate ([- X_threaded_rod_bearingDepth,0 ,0 ]) rotate ([0 ,90 ,0 ])
282284 radialBearing(echoPart= true );
285+ translate ([14 - X_threaded_rod_bearingDepth- 0.5 ,0 ,0 ]) rotate ([0 ,- 90 ,0 ]){ // replace 14 with bearing hight - X_threaded_rod_bearingDepth
286+ nut(size= rodNutSize, echoPart= true );
287+ if (isLeft) {
288+ translate ([0 ,0 ,- rod_nut_len])
289+ rotate ([0 ,0 ,45 ]) nut(size= rodNutSize, chamfer= true , echoPart= true );
290+ }
291+ }
283292 if (! isLeft) {
284- translate ([X_gear_thickness* 2 + axes_Xthreaded_rodD- 7 ,0 ,0 ])
285- rotate ([0 ,- 90 ,0 ])
286- rotate ([0 ,0 ,45 ]) nut(size= axes_Xthreaded_rodD, chamfer= true , echoPart= true );
287- translate ([axes_Xthreaded_rodD,0 ,0 ]){
288- rotate ([0 ,- 90 ,0 ])
289- nut(size= axes_Xthreaded_rodD, echoPart= true );
293+ translate ([X_threaded_rod_bearingDepth+ (2 * rod_nut_len)- (nut_separation/2 )- 2 ,0 ,0 ]) {
294+ translate ([X_gear_thickness+ (nut_separation/2 ),0 ,0 ])
295+ rotate ([0 ,- 90 ,0 ])
296+ rotate ([0 ,0 ,45 ]) nut(size= rodNutSize, chamfer= true , echoPart= true );
290297 if (Render_X_rodGear) {
291- translate ([axes_Xthreaded_rodD- 7 ,0 ,0 ])
292298 rotate ([0 ,- 90 ,0 ]) color (color_movingPart)
293299 cyclone_rod_gear(Gear_N_Teeth= X_rodGearRatio,gearHeight= X_gear_thickness,nutSize= 8 ,tolerance= 0 );
294300 }
@@ -300,16 +306,16 @@ module Cyclone_X_rightFrame(isLeft=false) {
300306 translate ([- motorWallSeparation,0 ,0 ]) rotate ([0 ,90 ,0 ])
301307 stepperMotor(screwHeight= motorWallSeparation, echoPart= true );
302308 if (Render_X_motorGear) {
303- translate ([axes_Xthreaded_rodD + 1.5 ,0 ,0 ])
309+ translate ([X_threaded_rod_bearingDepth + ( 2 * rod_nut_len) - (nut_separation/ 2 ) - 2 ,0 ,0 ])
304310 rotate ([0 ,- 90 ,0 ]) color (color_movingPart)
305311 cyclone_motor_gear(Gear_N_Teeth= X_motorGearRatio,gearHeight= X_gear_thickness,tolerance= 0 );
306312 }
307313 }
308314 }
309315 if (Render_Y_gearCover) {
310- // Draw the X gear cover
311- translate ([0.1 ,0 ,0 ])
312- color (color_stillPart) Cyclone_XsubPart_gearCover();
316+ // Draw the X gear cover
317+ translate ([0.1 ,0 ,0 ])
318+ color (color_stillPart) Cyclone_XsubPart_gearCover();
313319 }
314320 }
315321 translate ([0 ,0 ,axes_Xsmooth_separation])
@@ -320,15 +326,15 @@ module Cyclone_X_rightFrame(isLeft=false) {
320326 translate ([- axes_Xreference_posX- dimX- footSeparation,axes_Xreference_posY+ footSeparation,- axes_Yreference_height+ footThickness]) {
321327 rotate ([0 ,90 ,0 ])
322328 rotate ([0 ,0 ,90 ])
323- screw_and_nut(size= footScrewSize,length= footThickness+ base_thickness,nutDepth= 0 ,nutAddedLen= 0 ,captiveLen= 0 ,tolerance = screwHoleTolerance, invert= true , autoNutOffset= true , echoPart= true );
329+ screw_and_nut(size= footScrewSize,length= footThickness+ base_thickness,nutDepth= 0 ,nutAddedLen= 0 ,captiveLen= 0 ,invert= true ,autoNutOffset= true ,echoPart= true );
324330 translate ([0 ,dimY/2 ,0 ])
325331 rotate ([0 ,90 ,0 ])
326332 rotate ([0 ,0 ,90 ])
327- screw_and_nut(size= footScrewSize,length= footThickness+ base_thickness,nutDepth= 0 ,nutAddedLen= 0 ,captiveLen= 0 ,tolerance = screwHoleTolerance, invert= true , autoNutOffset= true , echoPart= true );
333+ screw_and_nut(size= footScrewSize,length= footThickness+ base_thickness,nutDepth= 0 ,nutAddedLen= 0 ,captiveLen= 0 ,invert= true ,autoNutOffset= true ,echoPart= true );
328334 translate ([0 ,dimY- 2 * footSeparation,0 ])
329335 rotate ([0 ,90 ,0 ])
330336 rotate ([0 ,0 ,90 ])
331- screw_and_nut(size= footScrewSize,length= footThickness+ base_thickness,nutDepth= 0 ,nutAddedLen= 0 ,captiveLen= 0 ,tolerance = screwHoleTolerance, invert= true , autoNutOffset= true , echoPart= true );
337+ screw_and_nut(size= footScrewSize,length= footThickness+ base_thickness,nutDepth= 0 ,nutAddedLen= 0 ,captiveLen= 0 ,invert= true ,autoNutOffset= true ,echoPart= true );
332338 }
333339}
334340
@@ -371,9 +377,9 @@ module rodHolder(rodD=8.5, screwSize=3, height=0, sideLen=0, thickness=5, space=
371377 // Draw screws
372378 translate ([screwSize+ screwAditionalDistance,- dimY/2 ,dimZ+ 0.01 ])
373379 rotate ([90 ,0 ,0 ])
374- screw_and_nut(size= screwSize,length= dimZ+ 15 ,nutDepth= 5 ,nutAddedLen= 0 ,captiveLen= 0 ,tolerance = screwHoleTolerance, rot= 90 , echoPart= true );
380+ screw_and_nut(size= screwSize,length= dimZ+ 15 ,nutDepth= 5 ,nutAddedLen= 0 ,captiveLen= 0 ,rot= 90 ,echoPart= true );
375381 translate ([- screwSize- screwAditionalDistance,- dimY/2 ,dimZ+ 0.01 ])
376382 rotate ([90 ,0 ,0 ])
377- screw_and_nut(size= screwSize,length= dimZ+ 15 ,nutDepth= 5 ,nutAddedLen= 0 ,captiveLen= 0 ,tolerance = screwHoleTolerance, rot= 90 , echoPart= true );
383+ screw_and_nut(size= screwSize,length= dimZ+ 15 ,nutDepth= 5 ,nutAddedLen= 0 ,captiveLen= 0 ,rot= 90 ,echoPart= true );
378384 }
379385}
0 commit comments