diff --git a/constants.scad b/constants.scad index 45ee499..7b61324 100644 --- a/constants.scad +++ b/constants.scad @@ -1,15 +1,25 @@ insert_diameter = 13.5; insert_length = 20; insert_hole_dia = 10; +insert_arm_radius = 30; + +arm_dia = 10; +arm_hole_dia = 3; +arm_radius = 25; + top_inner_diameter = 20; top_outer_diameter = 30; top_height = 15; top_inner_depth = 10; -arm_dia = 10; -arm_hole_dia = 3; -arm_radius = 25; + +middle_outer_diameter = 20; +middle_inner_diameter = 10; +middle_height = 50; +middle_short_loop_arms_height = 36.95; +middle_long_loop_arms_height = 19.05; + bottom_outer_diameter = 30; bottom_inner_diameter = 20; diff --git a/lengths.dxf b/lengths.dxf index 86441ee..b863314 100644 --- a/lengths.dxf +++ b/lengths.dxf @@ -1115,9 +1115,9 @@ AcDbViewportTableRecord 21 1 12 -53.14056139152903 +57.0505728483197 22 -302.828404642138 +303.861156557359 13 0 23 @@ -1143,7 +1143,7 @@ AcDbViewportTableRecord 37 0 40 -118.7603152820473 +127.2495199077756 41 1.628721541155867 42 @@ -2661,7 +2661,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D15 +*D14 70 0 280 @@ -2679,7 +2679,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D5 +*D13 70 0 280 @@ -2697,7 +2697,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D9 +*D5 70 0 280 @@ -2715,7 +2715,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D13 +*D9 70 0 280 @@ -2751,7 +2751,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D12 +*D4 70 0 280 @@ -2769,7 +2769,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D4 +*D15 70 0 280 @@ -2787,7 +2787,7 @@ AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 -*D14 +*D12 70 0 280 @@ -3017,7 +3017,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D15 +*D14 70 1 10 @@ -3025,7 +3025,7 @@ AcDbBlockBegin 20 0 3 -*D15 +*D14 1 0 @@ -3043,6 +3043,240 @@ ByBlock 370 -2 100 +AcDbLine + 10 +-40 + 20 +534.05 + 11 +-40 + 21 +515 + 0 +SOLID + 5 +7F +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbTrace + 10 +-40 + 20 +534.05 + 30 +0 + 11 +-39.58371534222716 + 21 +531.55 + 31 +0 + 12 +-40.41628465777284 + 22 +531.55 + 32 +0 + 13 +-40.41628465777284 + 23 +531.55 + 33 +0 + 0 +SOLID + 5 +80 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbTrace + 10 +-40 + 20 +515 + 30 +0 + 11 +-40.41628465777284 + 21 +517.5 + 31 +0 + 12 +-39.58371534222716 + 22 +517.5 + 32 +0 + 13 +-39.58371534222716 + 23 +517.5 + 33 +0 + 0 +MTEXT + 5 +81 +100 +AcDbEntity + 8 +middle + 6 +CONTINUOUS + 62 + 0 +370 + -2 +100 +AcDbMText + 10 +-41.875 + 20 +524.525 + 30 +0 + 40 +2.5 + 41 +7.361111111111267 + 71 + 5 + 72 + 1 + 1 +19,05 + 7 +STANDARD +210 +0 +220 +0 +230 +1 + 50 +90 + 73 + 2 + 44 +1 + 0 +LINE + 5 +82 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbLine + 10 +-30.62500000000002 + 20 +534.05 + 11 +-41.25 + 21 +534.05 + 0 +LINE + 5 +83 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbLine + 10 +-10.625 + 20 +515 + 11 +-41.25 + 21 +515 + 0 +ENDBLK + 5 +53 +330 +51 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +55 +330 +54 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*D13 + 70 + 1 + 10 +0 + 20 +0 + 3 +*D13 + 1 + + 0 +LINE + 5 +84 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 AcDbLine 10 49.99999999999999 @@ -3055,7 +3289,7 @@ AcDbLine 0 SOLID 5 -7F +85 100 AcDbEntity 8 @@ -3095,7 +3329,7 @@ AcDbTrace 0 SOLID 5 -80 +86 100 AcDbEntity 8 @@ -3135,7 +3369,7 @@ AcDbTrace 0 MTEXT 5 -81 +87 100 AcDbEntity 8 @@ -3181,7 +3415,7 @@ STANDARD 0 LINE 5 -82 +88 100 AcDbEntity 8 @@ -3205,7 +3439,7 @@ AcDbLine 0 LINE 5 -83 +89 100 AcDbEntity 8 @@ -3229,9 +3463,9 @@ AcDbLine 0 ENDBLK 5 -53 +56 330 -51 +54 100 AcDbEntity 8 @@ -3241,9 +3475,9 @@ AcDbBlockEnd 0 BLOCK 5 -55 +58 330 -54 +57 100 AcDbEntity 8 @@ -3265,7 +3499,7 @@ AcDbBlockBegin 0 LINE 5 -84 +8A 100 AcDbEntity 8 @@ -3289,7 +3523,7 @@ AcDbLine 0 SOLID 5 -85 +8B 100 AcDbEntity 8 @@ -3329,7 +3563,7 @@ AcDbTrace 0 SOLID 5 -86 +8C 100 AcDbEntity 8 @@ -3369,7 +3603,7 @@ AcDbTrace 0 MTEXT 5 -87 +8D 100 AcDbEntity 8 @@ -3415,7 +3649,7 @@ STANDARD 0 LINE 5 -88 +8E 100 AcDbEntity 8 @@ -3439,7 +3673,7 @@ AcDbLine 0 LINE 5 -89 +8F 100 AcDbEntity 8 @@ -3463,9 +3697,9 @@ AcDbLine 0 ENDBLK 5 -56 +59 330 -54 +57 100 AcDbEntity 8 @@ -3475,9 +3709,9 @@ AcDbBlockEnd 0 BLOCK 5 -58 +5B 330 -57 +5A 100 AcDbEntity 8 @@ -3499,7 +3733,7 @@ AcDbBlockBegin 0 LINE 5 -8A +90 100 AcDbEntity 8 @@ -3523,7 +3757,7 @@ AcDbLine 0 SOLID 5 -8B +91 100 AcDbEntity 8 @@ -3563,7 +3797,7 @@ AcDbTrace 0 SOLID 5 -8C +92 100 AcDbEntity 8 @@ -3603,7 +3837,7 @@ AcDbTrace 0 MTEXT 5 -8D +93 100 AcDbEntity 8 @@ -3649,245 +3883,11 @@ STANDARD 0 LINE 5 -8E -100 -AcDbEntity - 8 -0 - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbLine - 10 -15.625 - 20 -225 - 11 -26.24999999999996 - 21 -225 - 0 -LINE - 5 -8F -100 -AcDbEntity - 8 -0 - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbLine - 10 -15.625 - 20 -225 - 11 -26.24999999999996 - 21 -225 - 0 -ENDBLK - 5 -59 -330 -57 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -5B -330 -5A -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -*D13 - 70 - 1 - 10 -0 - 20 -0 - 3 -*D13 - 1 - - 0 -LINE - 5 -90 -100 -AcDbEntity - 8 -middle - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbLine - 10 --40 - 20 -534.05 - 11 --40 - 21 -495 - 0 -SOLID - 5 -91 -100 -AcDbEntity - 8 -middle - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbTrace - 10 --40 - 20 -534.05 - 30 -0 - 11 --39.58371534222716 - 21 -531.55 - 31 -0 - 12 --40.41628465777284 - 22 -531.55 - 32 -0 - 13 --40.41628465777284 - 23 -531.55 - 33 -0 - 0 -SOLID - 5 -92 -100 -AcDbEntity - 8 -middle - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbTrace - 10 --40 - 20 -495 - 30 -0 - 11 --40.41628465777284 - 21 -497.5 - 31 -0 - 12 --39.58371534222716 - 22 -497.5 - 32 -0 - 13 --39.58371534222716 - 23 -497.5 - 33 -0 - 0 -MTEXT - 5 -93 -100 -AcDbEntity - 8 -middle - 6 -CONTINUOUS - 62 - 0 -370 - -2 -100 -AcDbMText - 10 --41.875 - 20 -514.525 - 30 -0 - 40 -2.5 - 41 -7.916666666666977 - 71 - 5 - 72 - 1 - 1 -39,05 - 7 -STANDARD -210 -0 -220 -0 -230 -1 - 50 -90 - 73 - 2 - 44 -1 - 0 -LINE - 5 94 100 AcDbEntity 8 -middle +0 6 ByBlock 62 @@ -3897,13 +3897,13 @@ ByBlock 100 AcDbLine 10 --30.62500000000002 +15.625 20 -534.05 +225 11 --41.25 +26.24999999999996 21 -534.05 +225 0 LINE 5 @@ -3911,7 +3911,7 @@ LINE 100 AcDbEntity 8 -middle +0 6 ByBlock 62 @@ -3921,13 +3921,13 @@ ByBlock 100 AcDbLine 10 --7.625000000000001 +15.625 20 -495 +225 11 --41.25 +26.24999999999996 21 -495 +225 0 ENDBLK 5 @@ -4187,7 +4187,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D12 +*D4 70 1 10 @@ -4195,7 +4195,7 @@ AcDbBlockBegin 20 0 3 -*D12 +*D4 1 0 @@ -4205,7 +4205,7 @@ LINE 100 AcDbEntity 8 -middle +pipe 6 ByBlock 62 @@ -4215,13 +4215,13 @@ ByBlock 100 AcDbLine 10 --59.99999999999999 +100 20 -551.95 +515 11 --60 +100 21 -495 +225 0 SOLID 5 @@ -4229,7 +4229,7 @@ SOLID 100 AcDbEntity 8 -middle +pipe 6 ByBlock 62 @@ -4239,27 +4239,27 @@ ByBlock 100 AcDbTrace 10 --59.99999999999999 +100 20 -551.95 +515 30 0 11 --59.58371534222715 +100.4162846577728 21 -549.45 +512.5 31 0 12 --60.41628465777283 +99.58371534222717 22 -549.45 +512.5 32 0 13 --60.41628465777283 +99.58371534222717 23 -549.45 +512.5 33 0 0 @@ -4269,7 +4269,7 @@ SOLID 100 AcDbEntity 8 -middle +pipe 6 ByBlock 62 @@ -4279,27 +4279,27 @@ ByBlock 100 AcDbTrace 10 --60 +100 20 -495 +225 30 0 11 --60.41628465777284 +99.58371534222717 21 -497.5 +227.5 31 0 12 --59.58371534222716 +100.4162846577728 22 -497.5 +227.5 32 0 13 --59.58371534222716 +100.4162846577728 23 -497.5 +227.5 33 0 0 @@ -4307,240 +4307,6 @@ MTEXT 5 9F 100 -AcDbEntity - 8 -middle - 6 -CONTINUOUS - 62 - 0 -370 - -2 -100 -AcDbMText - 10 --61.875 - 20 -523.475 - 30 -0 - 40 -2.5 - 41 -7.916666666667132 - 71 - 5 - 72 - 1 - 1 -56,95 - 7 -STANDARD -210 -0 -220 -0 -230 -1 - 50 -90 - 73 - 2 - 44 -1 - 0 -LINE - 5 -A0 -100 -AcDbEntity - 8 -middle - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbLine - 10 --0.625000000000021 - 20 -551.95 - 11 --61.24999999999999 - 21 -551.95 - 0 -LINE - 5 -A1 -100 -AcDbEntity - 8 -middle - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbLine - 10 -6.374999999999999 - 20 -495 - 11 --61.25 - 21 -495 - 0 -ENDBLK - 5 -62 -330 -60 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -64 -330 -63 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -*D4 - 70 - 1 - 10 -0 - 20 -0 - 3 -*D4 - 1 - - 0 -LINE - 5 -A2 -100 -AcDbEntity - 8 -pipe - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbLine - 10 -100 - 20 -515 - 11 -100 - 21 -225 - 0 -SOLID - 5 -A3 -100 -AcDbEntity - 8 -pipe - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbTrace - 10 -100 - 20 -515 - 30 -0 - 11 -100.4162846577728 - 21 -512.5 - 31 -0 - 12 -99.58371534222717 - 22 -512.5 - 32 -0 - 13 -99.58371534222717 - 23 -512.5 - 33 -0 - 0 -SOLID - 5 -A4 -100 -AcDbEntity - 8 -pipe - 6 -ByBlock - 62 - 0 -370 - -2 -100 -AcDbTrace - 10 -100 - 20 -225 - 30 -0 - 11 -99.58371534222717 - 21 -227.5 - 31 -0 - 12 -100.4162846577728 - 22 -227.5 - 32 -0 - 13 -100.4162846577728 - 23 -227.5 - 33 -0 - 0 -MTEXT - 5 -A5 -100 AcDbEntity 8 pipe @@ -4585,7 +4351,7 @@ STANDARD 0 LINE 5 -A6 +A0 100 AcDbEntity 8 @@ -4609,7 +4375,7 @@ AcDbLine 0 LINE 5 -A7 +A1 100 AcDbEntity 8 @@ -4633,6 +4399,240 @@ AcDbLine 0 ENDBLK 5 +62 +330 +60 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +64 +330 +63 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*D15 + 70 + 1 + 10 +0 + 20 +0 + 3 +*D15 + 1 + + 0 +LINE + 5 +A2 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbLine + 10 +-50.00000000000001 + 20 +515 + 11 +-50.00000000000001 + 21 +551.95 + 0 +SOLID + 5 +A3 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbTrace + 10 +-50.00000000000001 + 20 +515 + 30 +0 + 11 +-50.41628465777285 + 21 +517.5 + 31 +0 + 12 +-49.58371534222717 + 22 +517.5 + 32 +0 + 13 +-49.58371534222717 + 23 +517.5 + 33 +0 + 0 +SOLID + 5 +A4 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbTrace + 10 +-50.00000000000001 + 20 +551.95 + 30 +0 + 11 +-49.58371534222717 + 21 +549.45 + 31 +0 + 12 +-50.41628465777285 + 22 +549.45 + 32 +0 + 13 +-50.41628465777285 + 23 +549.45 + 33 +0 + 0 +MTEXT + 5 +A5 +100 +AcDbEntity + 8 +middle + 6 +CONTINUOUS + 62 + 0 +370 + -2 +100 +AcDbMText + 10 +-51.87500000000001 + 20 +533.475 + 30 +0 + 40 +2.5 + 41 +7.916666666667132 + 71 + 5 + 72 + 1 + 1 +36,95 + 7 +STANDARD +210 +0 +220 +0 +230 +1 + 50 +90 + 73 + 2 + 44 +1 + 0 +LINE + 5 +A6 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbLine + 10 +-10.625 + 20 +515 + 11 +-51.25000000000001 + 21 +515 + 0 +LINE + 5 +A7 +100 +AcDbEntity + 8 +middle + 6 +ByBlock + 62 + 0 +370 + -2 +100 +AcDbLine + 10 +-0.625000000000021 + 20 +551.95 + 11 +-51.25000000000001 + 21 +551.95 + 0 +ENDBLK + 5 65 330 63 @@ -4655,7 +4655,7 @@ AcDbEntity 100 AcDbBlockBegin 2 -*D14 +*D12 70 1 10 @@ -4663,7 +4663,7 @@ AcDbBlockBegin 20 0 3 -*D14 +*D12 1 0 @@ -8695,130 +8695,6 @@ AcDbDimension 2 *D12 10 --60 - 20 -500 - 30 -0 - 11 --61.875 - 21 -523.475 - 31 -0 - 70 - 32 - 71 - 5 - 3 -Standard - 53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension - 13 --2.100575422237498e-14 - 23 -551.95 - 33 -0 - 14 -6.999999999999999 - 24 -495 - 34 -0 - 50 -90 -100 -AcDbRotatedDimension - 0 -DIMENSION - 5 -121 -100 -AcDbEntity - 8 -middle - 6 -ByLayer - 62 - 256 -370 - -1 -100 -AcDbDimension - 2 -*D13 - 10 --40 - 20 -495 - 30 -0 - 11 --41.875 - 21 -514.525 - 31 -0 - 70 - 32 - 71 - 5 - 3 -Standard - 53 -0 -210 -0 -220 -0 -230 -1 -100 -AcDbAlignedDimension - 13 --30.00000000000002 - 23 -534.05 - 33 -0 - 14 --7.000000000000001 - 24 -495 - 34 -0 - 50 -90 -100 -AcDbRotatedDimension - 0 -DIMENSION - 5 -122 -100 -AcDbEntity - 8 -middle - 6 -ByLayer - 62 - 256 -370 - -1 -100 -AcDbDimension - 2 -*D14 - 10 40 20 527.05 @@ -8865,7 +8741,7 @@ AcDbRotatedDimension 0 DIMENSION 5 -123 +121 100 AcDbEntity 8 @@ -8879,7 +8755,7 @@ ByLayer 100 AcDbDimension 2 -*D15 +*D13 10 49.99999999999999 20 @@ -8923,6 +8799,130 @@ AcDbAlignedDimension 50 90 100 +AcDbRotatedDimension + 0 +DIMENSION + 5 +122 +100 +AcDbEntity + 8 +middle + 6 +ByLayer + 62 + 256 +370 + -1 +100 +AcDbDimension + 2 +*D14 + 10 +-40 + 20 +515 + 30 +0 + 11 +-41.875 + 21 +524.525 + 31 +0 + 70 + 32 + 71 + 5 + 3 +Standard + 53 +0 +210 +0 +220 +0 +230 +1 +100 +AcDbAlignedDimension + 13 +-30.00000000000002 + 23 +534.05 + 33 +0 + 14 +-10 + 24 +515 + 34 +0 + 50 +90 +100 +AcDbRotatedDimension + 0 +DIMENSION + 5 +123 +100 +AcDbEntity + 8 +middle + 6 +ByLayer + 62 + 256 +370 + -1 +100 +AcDbDimension + 2 +*D15 + 10 +-50.00000000000001 + 20 +551.95 + 30 +0 + 11 +-51.87500000000001 + 21 +533.475 + 31 +0 + 70 + 32 + 71 + 5 + 3 +Standard + 53 +0 +210 +0 +220 +0 +230 +1 +100 +AcDbAlignedDimension + 13 +-10 + 23 +515 + 33 +0 + 14 +-2.100575422237498e-14 + 24 +551.95 + 34 +0 + 50 +90 +100 AcDbRotatedDimension 0 ENDSEC diff --git a/middle.scad b/middle.scad new file mode 100644 index 0000000..800a459 --- /dev/null +++ b/middle.scad @@ -0,0 +1,38 @@ +include ; +use; +$fn = 90; + +difference() { + union() { + cylinder(r = middle_outer_diameter / 2, + h = middle_height); + + translate([0, 0, -insert_length]) + cylinder(r = insert_diameter / 2, + h = insert_length); + + translate([0, 0, middle_height]) + cylinder(r = insert_diameter / 2, + h = insert_length); + + arms([0, 180], insert_arm_radius, middle_long_loop_arms_height, insert_diameter); + arms([90, 270], insert_arm_radius, middle_short_loop_arms_height, insert_diameter); + } + + + union() { + cylinder(r = middle_inner_diameter / 2, + h = middle_height); + + translate([0, 0, -insert_length]) + cylinder(r = insert_hole_dia / 2, + h = insert_length); + + translate([0, 0, middle_height]) + cylinder(r = insert_hole_dia / 2, + h = insert_length); + + arms([0, 180], insert_arm_radius, middle_long_loop_arms_height, insert_hole_dia); + arms([90, 270], insert_arm_radius, middle_short_loop_arms_height, insert_hole_dia); + } +} diff --git a/top.scad b/top.scad index 2d981b5..25f0996 100644 --- a/top.scad +++ b/top.scad @@ -2,35 +2,29 @@ include ; use; $fn = 90; -module top() { - difference() { - union() { - cylinder(r = top_outer_diameter / 2, - h = top_height); +difference() { - arms([0, 90, 180, 270], arm_radius, top_height - arm_dia / 2, arm_dia); + union() { + cylinder(r = top_outer_diameter / 2, + h = top_height); - translate([0, 0, -insert_length]) - cylinder(r = insert_diameter / 2, - h = insert_length); - } + arms([0, 90, 180, 270], arm_radius, top_height - arm_dia / 2, arm_dia); - union() { - translate([0, 0, top_height - top_inner_depth]) - cylinder(r = top_inner_diameter / 2, - h = top_inner_depth); - - arms([0, 90, 180, 270], arm_radius, top_height - arm_dia / 2, arm_hole_dia); - - translate([0, 0, -insert_length]) - cylinder(r = insert_hole_dia / 2, - h = insert_length + top_height); - } + translate([0, 0, -insert_length]) + cylinder(r = insert_diameter / 2, + h = insert_length); } + union() { + translate([0, 0, top_height - top_inner_depth]) + cylinder(r = top_inner_diameter / 2, + h = top_inner_depth); -}; + arms([0, 90, 180, 270], arm_radius, top_height - arm_dia / 2, arm_hole_dia); - -top(); + translate([0, 0, -insert_length]) + cylinder(r = insert_hole_dia / 2, + h = insert_length + top_height); + } +}