Compare commits

..

111 Commits
MK3 ... MK3S

Author SHA1 Message Date
Alexandr Kukan 529e5ad689
Missing version info added 2022-11-14 15:35:57 +01:00
Alexandr Kukan b34f8cb3fb
Merge pull request #190 from easonjim/MK3S
Increase the R6 version number
2022-11-14 15:33:38 +01:00
Jim e439111a60
Increase the R6 version number 2022-11-09 11:06:57 +08:00
Jim a1a532a25f
Increase the R6 version number 2022-11-09 11:03:45 +08:00
Alexandr Kukan 1f5072f2c1
Merge pull request #185 from JakoobCZ/patch-1
Update to readme.md
2022-09-21 09:46:14 +02:00
Jakub Dolezal 7c7ad15237
Update
Update to the description regarding RepRap project.
2022-09-21 09:21:44 +02:00
akukan bc7818d10d R7 - x axis bearings / lcd window
x-carriage linear bearings holder update
LCD window frame adjustment
2021-06-08 16:51:52 +02:00
akukan d7f81f2ef2 MK3S+ upgrade
MK3S+ upgrade
2020-12-07 14:59:53 +01:00
Alexandr Kukan e1982c8dda
Left / Right marking added 2019-07-26 18:00:50 +02:00
Alexandr Kukan d05a61a896
Left / Right marking added 2019-07-26 18:00:11 +02:00
Alexandr Kukan d14c21ea89
Reinforced fin and PINDA holder
Reinforced fin at the bottom of the heatsink and PINDA holder to avoid melting when printing with higher temperatures.
2019-07-25 16:43:24 +02:00
Alexandr Kukan f60f00539e
Reinforced fin and PINDA holder
Reinforced fin at the bottom of the heatsink and PINDA holder to avoid melting when printing with higher temperatures.
2019-07-25 16:42:37 +02:00
Alexandr Kukan 88e9bc3533
Part rotated to proper print position 2019-06-10 18:49:09 +02:00
Alexandr Kukan d4f24eb334
Heatbed cable cover using opposite screw direction 2019-06-10 18:46:01 +02:00
Alexandr Kukan c4281ea05c
Delete heatbed-cable-cover.scad 2019-06-10 18:45:44 +02:00
Alexandr Kukan b6ecb46f0f
Delete heatbed-cable-cover-no-screw.scad 2019-06-10 18:45:33 +02:00
Alexandr Kukan fb1976ccb7
Delete heatbed-cable-cover-no-screw_8mm_sleeve.scad 2019-06-10 18:45:22 +02:00
Alexandr Kukan 5e0dca5306
Delete heatbed-cable-cover_8mm_sleeve.scad 2019-06-10 18:45:08 +02:00
Alexandr Kukan e55953ff51
Heatbed cable cover using opposite screw direction 2019-06-10 18:44:39 +02:00
Alexandr Kukan 1bfc29ac0a
Delete heatbed-cable-cover.stl 2019-06-10 18:43:38 +02:00
Alexandr Kukan 8b40bbb56c
Delete heatbed-cable-cover_8mm_sleeve.stl 2019-06-10 18:43:26 +02:00
Alexandr Kukan a79344d866
Delete heatbed-cable-cover-no-screw_8mm_sleeve.stl 2019-06-10 18:43:13 +02:00
Alexandr Kukan b52521ebfe
Delete heatbed-cable-cover-no-screw.stl 2019-06-10 18:43:02 +02:00
veverkaondrej 3175670635
psu-cover-DELTA added 2019-03-22 14:51:12 +01:00
veverkaondrej 3117792b4f
psu-cover-DELTA added 2019-03-22 14:50:22 +01:00
Alexandr Kukan 62163d3b2f
MK2.5S initial 2019-02-27 14:48:15 +01:00
Alexandr Kukan 803096cd2e
MK2.5S initial 2019-02-27 14:47:10 +01:00
Alexandr Kukan 96856ce2ae
Wall thickness adjusted for better printing 2019-02-19 17:41:16 +01:00
Alexandr Kukan 435cacfa8b
Update README.md 2019-02-13 09:39:02 +01:00
Alexandr Kukan f35614d48b
Delete _assembly.scad 2019-02-12 15:31:15 +01:00
Alexandr Kukan c3713af117
Update README.md 2019-02-12 15:15:28 +01:00
Alexandr Kukan 9d5c125e71
Update README.md 2019-02-12 15:14:47 +01:00
Alexandr Kukan a85b78b219
Update README.md 2019-02-12 15:14:30 +01:00
Alexandr Kukan cc82a4ec15
Delete Original_Prusa_i3_MK2S_to_MK3_upgrade_Parts_list.txt 2019-02-12 15:13:53 +01:00
Alexandr Kukan 3dc4e39104
MK3S initial 2019-02-12 15:13:17 +01:00
Alexandr Kukan 66e5114c90
MK3S initial 2019-02-12 15:11:10 +01:00
Alexandr Kukan e9ba2ee1ed
Delete z-screw-cover.scad 2019-02-12 15:06:14 +01:00
Alexandr Kukan 4726f0892f
Delete z-axis-top.scad 2019-02-12 15:06:06 +01:00
Alexandr Kukan f41d7d656a
Delete z-axis-bottom.scad 2019-02-12 15:05:57 +01:00
Alexandr Kukan 2246cdfa6f
Delete y-rod-holder.scad 2019-02-12 15:05:47 +01:00
Alexandr Kukan eff1f295c8
Delete y-motor-holder.scad 2019-02-12 15:05:41 +01:00
Alexandr Kukan 706a90d689
Delete y-belt-idler.scad 2019-02-12 15:05:27 +01:00
Alexandr Kukan b07f019bf3
Delete y-belt-holder.scad 2019-02-12 15:05:20 +01:00
Alexandr Kukan 11122ca288
Delete x-end.scad 2019-02-12 15:05:15 +01:00
Alexandr Kukan 93218fea29
Delete x-end-motor.scad 2019-02-12 15:05:07 +01:00
Alexandr Kukan 51d22ee474
Delete x-end-idler.scad 2019-02-12 15:05:02 +01:00
Alexandr Kukan 4ecca74ce7
Delete x-carriage.scad 2019-02-12 15:04:55 +01:00
Alexandr Kukan 27d5be65f5
Delete x-carriage-back.scad 2019-02-12 15:04:49 +01:00
Alexandr Kukan e34c1c5a1a
Delete polyholes.scad 2019-02-12 15:04:41 +01:00
Alexandr Kukan e50f11aea5
Delete nozzle-fan.scad 2019-02-12 15:04:34 +01:00
Alexandr Kukan 1f15da8dd1
Delete nozzle-fan-holder.scad 2019-02-12 15:04:28 +01:00
Alexandr Kukan 8e4a652d06
Delete lcd-supports.scad 2019-02-12 15:04:22 +01:00
Alexandr Kukan 74e435fc37
Delete heatbed-cable-cover_8mm_sleeve.scad 2019-02-12 15:04:15 +01:00
Alexandr Kukan b5007df863
Delete heatbed-cable-cover.scad 2019-02-12 15:04:08 +01:00
Alexandr Kukan a4509ce139
Delete heatbed-cable-cover-no-screw_8mm_sleeve.scad 2019-02-12 15:04:02 +01:00
Alexandr Kukan c9ac47dcff
Delete heatbed-cable-cover-no-screw.scad 2019-02-12 15:03:55 +01:00
Alexandr Kukan 17a1e0b019
Delete filament-sensor-cover.scad 2019-02-12 15:03:49 +01:00
Alexandr Kukan bbabf2b6ea
Delete extruder-idler.scad 2019-02-12 15:03:42 +01:00
Alexandr Kukan 1e9c1d8e4b
Delete extruder-idler-plug.scad 2019-02-12 15:03:35 +01:00
Alexandr Kukan d9e5d502b8
Delete extruder-cover.scad 2019-02-12 15:03:29 +01:00
Alexandr Kukan 93a88c63cb
Delete extruder-body.scad 2019-02-12 15:03:23 +01:00
Alexandr Kukan 3b3c073009
Delete cable-holder.scad 2019-02-12 15:03:15 +01:00
Alexandr Kukan cc11113b97
Delete bearing.scad 2019-02-12 15:03:08 +01:00
Alexandr Kukan fdd82146fd
Delete PSU-cover-MK3.scad 2019-02-12 15:03:01 +01:00
Alexandr Kukan 6d0f2585ee
Delete LCD-knob.scad 2019-02-12 15:02:54 +01:00
Alexandr Kukan 80998773af
Delete LCD-cover-ORIGINAL-MK3.scad 2019-02-12 15:02:48 +01:00
Alexandr Kukan 3cdbebde97
Delete Heatbed-cable-clip_8mm.scad 2019-02-12 15:02:41 +01:00
Alexandr Kukan 1f94de423e
Delete Heatbed-cable-clip.scad 2019-02-12 15:02:35 +01:00
Alexandr Kukan 684a74e9ce
Delete Extruder-cable-clip.scad 2019-02-12 15:02:28 +01:00
Alexandr Kukan 800770f865
Delete Einsy-hinges.scad 2019-02-12 15:02:22 +01:00
Alexandr Kukan b3d3a839d3
Delete Einsy-doors.scad 2019-02-12 15:02:16 +01:00
Alexandr Kukan 7b3c846508
Delete Einsy-base.scad 2019-02-12 15:02:09 +01:00
Alexandr Kukan d3c2147bdb
Delete z-screw-cover.stl 2019-02-12 15:01:15 +01:00
Alexandr Kukan 4f392f7660
Delete z-axis-top.stl 2019-02-12 15:01:02 +01:00
Alexandr Kukan 352f9353b3
Delete z-axis-bottom.stl 2019-02-12 15:00:54 +01:00
Alexandr Kukan 8b3554debb
Delete y-rod-holder.stl 2019-02-12 15:00:45 +01:00
Alexandr Kukan 22ea3d0024
Delete y-motor-holder.stl 2019-02-12 15:00:33 +01:00
Alexandr Kukan b900fa4381
Delete y-belt-idler.stl 2019-02-12 15:00:25 +01:00
Alexandr Kukan e486101ab1
Delete y-belt-holder.stl 2019-02-12 15:00:16 +01:00
Alexandr Kukan 1b905ea4f0
Delete x-end-motor.stl 2019-02-12 15:00:09 +01:00
Alexandr Kukan 64f02fd453
Delete x-end-idler.stl 2019-02-12 15:00:02 +01:00
Alexandr Kukan 9b50c0305c
Delete x-carriage.stl 2019-02-12 14:59:54 +01:00
Alexandr Kukan 707258f919
Delete x-carriage-back.stl 2019-02-12 14:59:46 +01:00
Alexandr Kukan 195949d302
Delete rpi-zero-frame.stl 2019-02-12 14:59:39 +01:00
Alexandr Kukan a83a3c1f1a
Delete raspberry_cover.stl 2019-02-12 14:59:32 +01:00
Alexandr Kukan 036dbcb873
Delete plug-aligner.stl 2019-02-12 14:59:26 +01:00
Alexandr Kukan c98e112583
Delete nozzle-fan.stl 2019-02-12 14:59:18 +01:00
Alexandr Kukan 429cb43fb8
Delete nozzle-fan-45deg.stl 2019-02-12 14:59:10 +01:00
Alexandr Kukan c395b01691
Delete nozzle-fan-45deg-support.stl 2019-02-12 14:59:00 +01:00
Alexandr Kukan c8ee2eaad1
Delete lcd-supports.stl 2019-02-12 14:58:53 +01:00
Alexandr Kukan 67a4212557
Delete heatbed-cable-cover_8mm_sleeve.stl 2019-02-12 14:58:44 +01:00
Alexandr Kukan b2c33fbad8
Delete heatbed-cable-cover.stl 2019-02-12 14:58:36 +01:00
Alexandr Kukan 35ede11705
Delete heatbed-cable-cover-no-screw_8mm_sleeve.stl 2019-02-12 14:58:27 +01:00
Alexandr Kukan 9004fc7777
Delete heatbed-cable-cover-no-screw.stl 2019-02-12 14:58:21 +01:00
Alexandr Kukan 0bb85a3cff
Delete filament-sensor-cover.stl 2019-02-12 14:58:13 +01:00
Alexandr Kukan ddde89ee76
Delete extruder-idler.stl 2019-02-12 14:58:05 +01:00
Alexandr Kukan 0076f897d4
Delete extruder-idler-plug.stl 2019-02-12 14:57:54 +01:00
Alexandr Kukan c5af9ab95e
Delete extruder-cover.stl 2019-02-12 14:57:48 +01:00
Alexandr Kukan 09d22ee46a
Delete extruder-body.stl 2019-02-12 14:57:41 +01:00
Alexandr Kukan 6d7bdf8b7e
Delete cable-holder.stl 2019-02-12 14:57:33 +01:00
Alexandr Kukan 578f77c460
Delete Spool-holder.stl 2019-02-12 14:57:24 +01:00
Alexandr Kukan c101b88b16
Delete PSU-cover-MK3.stl 2019-02-12 14:57:16 +01:00
Alexandr Kukan 8f9d917d21
Delete LCD-knob.stl 2019-02-12 14:57:08 +01:00
Alexandr Kukan 5f17685b3c
Delete LCD-cover-ORIGINAL-MK3.stl 2019-02-12 14:57:01 +01:00
Alexandr Kukan d62cd44730
Delete Heatbed-cable-clip_for_8mm_sleeve.stl 2019-02-12 14:56:44 +01:00
Alexandr Kukan 1819da93df
Delete Heatbed-cable-clip.stl 2019-02-12 14:56:35 +01:00
Alexandr Kukan 74dca33153
Delete Extruder-cable-clip.stl 2019-02-12 14:56:28 +01:00
Alexandr Kukan 2bd1ce6267
Delete Einsy-hinges.stl 2019-02-12 14:56:11 +01:00
Alexandr Kukan eda499287c
Delete Einsy-doors.stl 2019-02-12 14:56:01 +01:00
Alexandr Kukan 74db1d268d
Delete Einsy-base.stl 2019-02-12 14:55:51 +01:00
Alexandr Kukan c8636c8c46
MK3S initial 2019-02-12 14:54:49 +01:00
127 changed files with 361861 additions and 1126766 deletions

View File

@ -1,47 +0,0 @@
Original Prusa i3 MK2S to Original Prusa i3 MK3 upgrade
ATTENTION: Before printing the parts, check the version of the heatbed you have in your package. There are two versions with different cable cover.
Soldered power cable - old design, use "MK3_Black_parts_PETG...soldered.gcode" or respective parts labeled "old".
Not soldered power cable - new design, use "MK3_Black_parts_PETG...notsoldered.gcode" or respective part labeled "new".
G-codes can be downloaded here: https://www.prusa3d.com/downloads/others/mk3_upgrade_gcodes.zip
Recommended print settings:
0.2 mm layer height, infill 20% GRID, no supports and material PETG, only exception is nozzle-fan, which must be from ABS!
Orange parts bundle (parts can be also printed in black):
X-end-motor (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-end-motor.stl
X-end-idler (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-end-idler.stl
Y-rod-holder (4x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-rod-holder.stl
Y-motor-holder (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-motor-holder.stl
Y-belt-holder (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-belt-holder.stl
Y-belt-idler (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-belt-idler.stl
Z-axis-top (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/z-axis-top.stl
Z-axis-bottom (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/z-axis-bottom.stl
LCD-supports (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/lcd-supports.stl
nozzle-fan-45deg (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/nozzle-fan-45deg.stl
nozzle-fan-45deg-support (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/nozzle-fan-45deg-support.stl
Black parts bundle (Extruder parts MUST BE printed in BLACK):
X-carriage* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-carriage.stl
X-carriage-back* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-carriage-back.stl
Cable-holder* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/cable-holder.stl
Extruder-body* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-body.stl
Extruder-cover* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-cover.stl
Extruder-idler-plug* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-idler-plug.stl
Extruder-idler* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-idler.stl
Filament-sensor-cover* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/filament-sensor-cover.stl
Heatbed-cable-cover-new** (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/heatbed-cable-cover.stl
Heatbed-cable-cover-old*** (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/heatbed-cable-cover-no-screw.stl
Einsy-base (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Einsy-base.stl
Extruder-cable-clip.stl (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Extruder-cable-clip.stl
Heatbed-cable-clip.stl (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Heatbed-cable-clip.stl
Einsy-doors (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Einsy-doors.stl
Einsy-hinges (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Einsy-hinges.stl
License GNU GPL v3
https://www.prusa3d.com/prusa-i3-printable-parts/
* Extruder parts MUST BE printed in BLACK.
** Use this part for heatbed WITHOUT soldered power cable.
*** Use these parts for heatbed WITH soldered power cable.

View File

@ -14,10 +14,10 @@ module main_body()
{
// main body
translate( [ -77 , -4.5 , 0 ] ) cube( [ 155 , 59.8 , 2 ] );
translate( [ -77 , -4.5 , 0 ] ) rotate([35,0,0]) cube( [ 155 , 2 , 20.08 ] );
translate( [ -77 , -4.5 , 0 ] ) rotate([35,0,0]) cube( [ 155 , 3 , 20.08 ] );
translate( [ -77 , -3.5 , -1 ] ) rotate([35,0,0]) cube( [ 7 , 5 , 15 ] );
translate( [ 71 , -3.5 , -1 ] ) rotate([35,0,0]) cube( [ 7 , 5 , 15 ] );
translate( [ -77 , -14.7 , 14.2 ] ) cube( [ 155 , 2 , 11.8 ] );
translate( [ -77 , -15.2 , 14.2 ] ) cube( [ 155 , 3.1 , 11.8 ] );
translate( [ -77 , 54 , 0 ] ) cube( [ 155 , 2 , 17 ] );
// M3 hole body
@ -27,25 +27,14 @@ module main_body()
// LCD window
translate( [ -61.5 , 1 , 1.2 ] ) cube( [ 98.5 , 42 , 10 ] );
translate( [ -54.5 , 8 , -1 ] ) cube( [ 85 , 30.5 , 10 ] );
// buzzer holes
translate( [ 55 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 57 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 59 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 61 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 63 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 65 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 67 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
// buzzer holes corners
translate( [ 66.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 64.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 62.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 60.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 58.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 56.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 54.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ -52.5 , 8 , -1 ] ) cube( [ 80 , 30.5 , 10 ] );
for(buzz = [55 : 2 : 67])
{
translate([buzz,1.5,-1]) cube([1.3,4,10]);
translate([buzz-0.75,1.5,-0.5]) rotate([0,45,0]) cube([2,4,2]);
if(buzz<67) translate([buzz+1.25,1.5,-0.5]) rotate([0,45,0]) cube([2,4,2]);
}
// knob hole
translate( [ 62.5 , 21 , -1 ] ) cylinder( h = 10, r = 6, $fn=30);
@ -62,10 +51,17 @@ module main_body()
translate( [ 48.7 , 27.8 , -1 ] ) rotate([0,0,45]) cube( [ 3.55 , 1 , 9 ] );
// rear support cutout
translate( [ -64.5 , -12.7 , 14 ] ) cube( [ 10 , 3 , 16 ] );
translate( [ 55.5 , -12.7 , 14 ] ) cube( [ 10 , 3 , 16 ] );
translate( [ -64.5 , -12.1 , 14 ] ) cube( [ 10 , 3 , 16 ] );
translate( [ 55.5 , -12.1 , 14 ] ) cube( [ 10 , 3 , 16 ] );
}
difference()
{
translate([-70,55.5,-2]) rotate([55,0,0]) cube([120,5,5]);
translate([-100,40,-9.5]) cube([200,50,10]);
}
}
module pcb_clip()
@ -145,7 +141,7 @@ difference()
translate( [ -80 , 9 , 16.5 ] ) cube( [ 10 , 28 , 4.5 ] );
// front and rear angle
translate( [ -81 , -9.3 , -17 ] ) rotate([35,0,0]) cube( [ 164 , 14 , 54.08 ] );
translate( [ -81 , -10.5 , -17 ] ) rotate([32,0,0]) cube( [ 164 , 14 , 54.08 ] );
translate( [ -78 , 72.7 , -3 ] ) rotate([45,0,0]) cube( [ 160 , 14 , 54.08 ] );
// M3 screw thread
@ -164,37 +160,42 @@ difference()
translate( [ -21 , 41.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
// front cleanup
translate( [ -100 , -64 , 0 ] ) cube( [ 200 , 50 , 50 ] );
translate( [ -100 , -64.6 , 0 ] ) cube( [ 200 , 50 , 50 ] );
// X sign on reset button
translate( [ 63 , 34 , -1 ] ) rotate([0,0,45]) cube( [ 2, 8, 2 ] );
translate( [ 57.5 , 35.5 , -1 ] ) rotate([0,0,-45]) cube( [ 2, 8, 2 ] );
// corners
translate( [ 73 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 7, 80, 7 ] );
translate( [ -82 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 7, 80, 7 ] );
translate( [ -82 , 58 , -5 ] ) rotate([45,0,0]) cube( [ 200, 7, 7 ] );
translate([74.05,-5,-2.7]) rotate([0,35,0]) cube([7,80,7]);
translate([-82.8,-5,-1]) rotate([0,55,0]) cube([7,80,7]);
translate( [ -82 , 58.5 , -5 ] ) rotate([55,0,0]) cube( [ 200, 7, 7 ] );
translate( [ -77 , 51 , -4 ] ) rotate([0,0,45]) cube( [ 8, 8, 50 ] );
translate( [ 78 , 51 , -4 ] ) rotate([0,0,45]) cube( [ 8, 8, 50 ] );
translate( [ 78 , -19 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
translate( [ -77 , -19 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
// LCD corners
translate( [ -54.5 , 9.5 , -5.2 ] ) rotate([45,0,0]) cube( [ 85 , 5 , 5 ] ); // LCD window
translate( [ -54.5 , 37 , -5.2 ] ) rotate([45,0,0]) cube( [ 85 , 5 , 5 ] ); // LCD window
rotate([35,0,0]) translate( [ -78 , -8 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
rotate([35,0,0]) translate( [ 79 , -8 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
translate( [ -52.5 , 9.5 , -5.2 ] ) rotate([45,0,0]) cube( [ 80 , 5 , 5 ] ); // LCD window
translate( [ -52.5 , 37 , -5.2 ] ) rotate([45,0,0]) cube( [ 80 , 5 , 5 ] ); // LCD window
rotate([32,0,0]) translate( [ -78 , -9.1 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
rotate([32,0,0]) translate( [ 79 , -9.1 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
translate( [ -100 , -40 , -50 ] ) cube( [ 200 , 50 , 50 ] );
// version
translate([-73,15,4]) rotate([90,0,90]) linear_extrude(height = 2)
{ text("R2",font = "helvetica:style=Bold", size=7, center=true); }
{ text("R7",font = "helvetica:style=Bold", size=7, center=true); }
}
// print support for SD card opening
// SD card window support
translate( [ -76.5 , 15 , 16.70 ] ) cube( [ 1 , 5 , 4.1 ] );
translate( [ -76.5 , 25 , 16.70 ] ) cube( [ 1 , 5 , 4.1 ] );

View File

@ -42,28 +42,63 @@ module horizontal_bearing_holes(bearings=1){
}
module horizontal_bearing_holes_nozip(bearings=1){
cutter_lenght = 10+bearings*25;
one_holder_lenght = 8+25;
holder_lenght = 8+bearings*25;
// Main bearing cut
difference(){
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=50);
// Bearing retainers
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
}
module horizontal_bearing_holes_nozip(bearings=1)
{
cutter_lenght = 10+bearings*25;
one_holder_lenght = 8+25;
holder_lenght = 8+bearings*25;
// Main bearing cut
difference()
{
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=50);
// Bearing retainers
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
}
}
module horizontal_bearing_holes_nozip_smooth(bearings=1)
{
cutter_lenght = 10+bearings*25;
one_holder_lenght = 8+25;
holder_lenght = 8+bearings*25;
// Main bearing cut
difference()
{
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=150);
// Bearing retainers
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
}
}
module horizontal_bearing_holes_smooth_nozip(bearings=1)
{
cutter_lenght = 10+bearings*25;
one_holder_lenght = 8+25;
holder_lenght = 8+bearings*25;
// Main bearing cut
difference()
{
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=120);
// Bearing retainers
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
}
}
thinwall = 3;
bearing_size = bearing_diameter + 2 * thinwall;
module vertical_bearing_base(){
translate(v=[-2-bearing_size/4,0,29]) cube(size = [4+bearing_size/2,bearing_size,58], center = true);
cylinder(h = 58, r=bearing_size/2, $fn = 90);
cylinder(h = 58, r=bearing_size/2, $fn = 250);
}
module vertical_bearing_holes(){

View File

@ -0,0 +1,32 @@
// PRUSA iteration4
// Endstop block
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module endstop_block()
{
difference()
{
union()
{
// body
translate([1,-16,1]) cube([12,9,14]);
translate([1,-16,1]) rotate([0,0,45]) cube([3,2.2,14]);
translate([0.5,-8,1]) cube([3,1,14]);
}
// screw
translate([-4,-11,11]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=30);
translate([5,-11,11]) rotate([0,90,0]) cylinder(r=3.1, h=10, $fn=30);
// edges
translate([-13,-22,-0]) rotate([45,45,0]) cube([15,15,15]);
translate([-1,-0,-10]) rotate([60,0,0]) cube([15,15,15]);
translate([-12,-20,0]) rotate([0,50,0]) cube([15,15,15]);
}
}
rotate([0,180,0]) endstop_block();

View File

@ -0,0 +1,102 @@
// PRUSA iteration4
// Heatbed cable cover clip MK3S
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module m3_nut()
{
difference()
{
union()
{
cylinder( h = 4, r = 3.15, $fn=6);
translate([0,0,2.5]) cylinder( h = 4, r1 = 3.15, r2=4,$fn=6);
translate([0,0,-9]) cylinder( h = 12, r = 1.7, $fn=30);
translate([0,0,-0.49]) cylinder( h = 0.5, r1 = 1.7, r2=1.95,$fn=30);
}
translate([1.7,-5,-1]) cube([5,10,2]);
translate([-6.7,-5,-1]) cube([5,10,2]);
translate([-5,1.7,-1.5]) cube([10,5,2]);
translate([-5,-6.7,-1.5]) cube([10,5,2]);
}
}
module clip()
{
difference()
{
// base body
translate([-15,15.5,-3]) cube([30,20.5,6]);
// inner angled cut
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([3.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
translate([-10.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
translate([-7,15,0]) rotate([0,0,0]) cube([14,11,6]);
translate([3,14,1]) rotate([0,0,10]) cube([7,13,6]);
translate([-9.88,15.21,1]) rotate([0,0,-10]) cube([7,13,6]);
// cables cut
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 187, r=4, $fn=60);
translate([-11,30,0]) rotate([0,180,30]) m3_nut();
translate([11,30,0]) rotate([0,180,30]) m3_nut();
// thermistor cable entry
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3, $fn=60);
// edges
translate([-18.0,32,-5]) rotate([0,0,25]) cube([11,11,15]);
translate([18,32,-5]) rotate([0,0,65]) cube([11,11,15]);
}
// cable rims
difference()
{
difference()
{
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 10, r=4.5, $fn=60);
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3, $fn=60);
}
translate([-15,18,3]) cube([30,20,6]);
translate([-15,27,-5]) cube([30,2,16]);
translate([-15,30,-5]) cube([30,2,16]);
translate([-15,33,-5]) cube([30,2,16]);
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
translate([-4,20,0]) rotate([0,0,0]) cube([8,11,6]);
}
}
clip();

View File

@ -0,0 +1,137 @@
// PRUSA iteration4
// Heatbed cable cover MK3S
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module m3_nut()
{
difference()
{
union()
{
cylinder( h = 4, r = 3.15, $fn=6);
translate([0,0,2.5]) cylinder( h = 4, r1 = 3.15, r2=4,$fn=6);
translate([0,0,-9]) cylinder( h = 12, r = 1.7, $fn=30);
translate([0,0,-0.49]) cylinder( h = 0.5, r1 = 1.7, r2=1.95,$fn=30);
}
translate([1.7,-5,-1]) cube([5,10,2]);
translate([-6.7,-5,-1]) cube([5,10,2]);
translate([-5,1.7,-1.5]) cube([10,5,2]);
translate([-5,-6.7,-1.5]) cube([10,5,2]);
}
}
module m3_head()
{
// heatbed screw
difference()
{
translate([0,0,5]) cylinder(h=4,r=3.15, $fn=50);
translate([-11.7,-7.5,0.8]) cube([10,40,5.7]);
translate([1.7,-7.5,0.8]) cube([10,40,5.7]);
translate([-5,-4.2-7.5,0.8]) cube([10,10,6]);
translate([-5,9.2-7.5,0.8]) cube([10,10,6]);
translate([-2,-7.5,0.4]) cube([10,40,5.7]);
}
translate([0,0,-1]) cylinder(h = 10, r=1.7, $fn=50);
translate([0,0,8.2]) cylinder(h = 2, r1=3.15, r2=4, $fn=50);
}
module cover()
{
difference()
{
// base block
translate([-18,0,0]) cube([36,36,9]);
// inner cut
difference()
{
translate([-15,-0.5,-3]) cube([30,16,9]);
translate([0,7.5,4]) rotate(90, v = [0,0,1]) cylinder(h = 2.2, r=2.75, $fn=50);
}
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=3.3, $fn=60);
translate([-15,15,-6]) cube([30,22,9]);
// inner edges
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([2.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
translate([-10.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
translate([6.96,19.45,0]) rotate([0,0,45]) cube([5,10,6]);
translate([-6.96,19.45,0]) rotate([0,0,45]) cube([10,5,6]);
translate([3.96,18.45,0]) rotate([0,0,20]) cube([5,6,6]);
translate([-3.96,18.45,0]) rotate([0,0,70]) cube([6,5,6]);
translate([-0,20,0.5]) rotate([90,0,0]) cube([11,11,11], center = true);
translate([2,14,-1]) rotate([0,0,10]) cube([8,13,6]);
translate([-9.88,15.21,-1]) rotate([0,0,-10]) cube([8,13,6]);
// outer edges
translate([-18.0,32,-1]) rotate([0,0,25]) cube([11,11,11]);
translate([18,32,-1]) rotate([0,0,65]) cube([11,11,11]);
// heatbed terminal screw pockets
translate([8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
translate([-8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
// clip nuts with print supports
translate([11,30,0] ) m3_head();
translate([-11,30,0] ) m3_head();
// hold screw
translate([0,7.5,0]) m3_head();
// LED window
translate([-2.5,-1,-4]) cube([5,3.5,10]);
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
// edges
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
translate([-23.3,-1,9.7]) rotate([0,45,0]) cube([6,45,6]);
translate([14.8,-1,9.7]) rotate([0,45,0]) cube([6,45,5]);
}
// heatbed pcb support
translate([-17,0,4]) cube([3,20,2]);
translate([14,0,4]) cube([3,20,2]);
translate([-17,0,4]) cube([14,2,2]);
translate([3,0,4]) cube([14,2,2]);
}
rotate([0,180,0]) cover();

View File

@ -0,0 +1,40 @@
// PRUSA iteration4
// Print fan support
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
difference()
{
union()
{
translate([-4,-47,23]) rotate([0,0,0])cylinder(h = 5, r=5, $fn=50);
translate([-2,-57,23]) rotate([0,0,0]) cube([5,15,30]);
translate([-5,-52,23]) rotate([0,0,0]) cube([8,10,5]);
translate([-5,-48,45]) rotate([48,0,0])cylinder(h = 10, r=6, $fn=6);
}
translate([-5,-48,45]) rotate([48,0,0])cylinder(h = 30, r=1.65, $fn=50);
difference()
{
union()
{
translate([-5,-48,45]) rotate([48,0,0])cylinder(h = 6, r=3.1, $fn=6);
translate([-5,-47.9,45]) rotate([48,0,0])cylinder(h = 4, r2=3.1,r1=4, $fn=6);
}
translate([-2,-55,40]) rotate([0,0.6,0]) cube([10,10,10]);
}
translate([-5,-47,10]) rotate([0,0,0])cylinder(h = 25, r=1.65, $fn=50);
translate([-5,-47,27]) rotate([0,0,0])cylinder(h = 1.1, r=3.1, $fn=50);
translate([10,-85,15]) rotate([0,-48,90]) cube([60,50,20]);
translate([-15,-71,15]) rotate([10,0,0]) cube([50,20,40]);
translate([-15,-41,15]) rotate([5,0,0]) cube([50,20,40]);
translate([-15,-39.5,44]) rotate([48,0,0]) cube([20,20,20]);
translate([-15,-60,52.5]) rotate([0,0,0]) cube([20,20,20]);
}

View File

@ -5,6 +5,7 @@
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module m3head()
{
intersection()
@ -15,8 +16,9 @@ module m3head()
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
}
module x_carriage_back()
{
difference()
@ -24,8 +26,8 @@ module x_carriage_back()
union()
{
// base block
translate([-16,-39.0,15.1]) cube([33,72,8]);
translate([-25.5,-5,15.1]) cube([52,39.5,8]);
translate([-16,-40.0,15.1]) cube([33,73,8]);
translate([-25.5,4,15.1]) cube([52,30.5,8]);
}
// lower bearing cut
@ -38,14 +40,17 @@ module x_carriage_back()
translate([-20,-19.5,9]) cube([50,7.5,10]);
// bearings
translate([-15,-25,11.75]) rotate([0,90,0]) cylinder( h=31, r=7.6, $fn=30 );
translate([-30,20,11.75]) rotate([0,90,0]) cylinder( h=60, r=7.6, $fn=30 );
translate([-15,-25,11.75]) rotate([0,90,0]) cylinder( h=31, r=7.6, $fn=150 );
translate([-30,20,11.75]) rotate([0,90,0]) cylinder( h=60, r=7.6, $fn=150 );
translate([-17,-25,11.75]) rotate([0,90,0]) cylinder( h=60, r=7, $fn=30 );
translate([-32,20,11.75]) rotate([0,90,0]) cylinder( h=80, r=7, $fn=30 );
translate([-15,-25-2,18]) cube([30,4,2]);
translate([-30,20-2,18]) cube([60,4,2]);
// hold together screws
translate([-9.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
translate([10.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
translate([-5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
translate([1,4,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
translate([13,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
translate([-10.5,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
@ -53,28 +58,56 @@ module x_carriage_back()
translate([-10.5,31,19]) cylinder( h=50, r=3.1, $fn=30 );
// lower screw heads
translate([-9.5,-36,19]) cylinder( h=6, r=3.1, $fn=30 );
translate([10.5,-36,19]) cylinder( h=50, r=3.1, $fn=30 );
translate([-12.6,-46,18]) cube([6.2,10,10]);
translate([7.4,-46,18]) cube([6.2,10,10]);
translate([-5,-36,19]) cylinder( h=6, r=3.1, $fn=30 );
translate([-8.1,-46,18]) cube([6.2,10,10]);
// center screw head
translate([1,4,18]) cylinder( h=7, r=3.1, $fn=30 );
// heat cables cut
translate([0.5,-42.5,0]) rotate([-5,0,0]) cylinder( h=50, r=6, $fn=30 );
translate([10.15,-37,4]) rotate([0,-20,0])
union()
{
cylinder(r=3, h=40, $fn=30);
translate([-3,-10,0])cube([6,10,40]);
}
translate([5.85,-37,4]) rotate([0,-10,0])
union()
{
cylinder(r=3, h=40, $fn=30);
translate([-3,-10,0])cube([6,10,40]);
}
// cable holder screw
translate([0.5,-27,11]) rotate([0,0,90]) cylinder( h=40, r=1.6, $fn=30 );
translate([0.5,-27,16.5]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 );
translate([0.5,-27,16.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 );
// x-carriage screws in belt holders
translate([11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
translate([-11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
difference()
{
union()
{
translate([28,-4,10]) rotate([0,0,90]) cube([10,22,15]);
translate([-4,-4,10]) rotate([0,0,90]) cube([10,22,15]);
}
difference()
{
translate([-14,-4,30]) rotate([0,45,0]) cube([22,22,22]);
union()
{
translate([9,-4,15]) cube([22,22,22]);
translate([-28,-4,15]) cube([22,22,22]);
}
}
}
translate([9,0,16]) rotate([45,0,0]) cube([50,10,10]);
translate([-36,0,16]) rotate([45,0,0]) cube([30,10,10]);
// nice edges
translate([-20.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
translate([21.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
translate([-20.8,-47.1,10]) rotate([0,0,45]) cube([10,10,15]);
translate([21.8,-47.1,10]) rotate([0,0,45]) cube([10,10,15]);
translate([-24.4,15.2,10]) rotate([0,0,45]) cube([14,10,15]);
translate([26.9,15.2,10]) rotate([0,0,45]) cube([10,14,15]);
translate([-19.55,28,10]) rotate([0,0,45]) cube([10,10,15]);
@ -83,6 +116,8 @@ module x_carriage_back()
translate([-22,35,17]) rotate([30,0,0]) cube([14.5,10,10]);
translate([10,35,17]) rotate([30,0,0]) cube([14.5,10,10]);
translate([-20.8,-40.5,16]) rotate([50,0,0]) cube([50,20,10]);
// upper side cuts
translate([17,25,10]) rotate([0,0,0]) cube([10,10,15]);
translate([-29.5,25,10]) rotate([0,0,0]) cube([15,15,15]);
@ -92,30 +127,13 @@ module x_carriage_back()
// side edges
translate([27,-20,16]) rotate([0,-30,0]) cube([10,50,10]);
translate([-34.2,-20,21]) rotate([0,30,0]) cube([10,50,10]);
translate([19.5,-55,16]) rotate([0,-30,0]) cube([10,50,10]);
translate([-27.1,-55,21]) rotate([0,30,0]) cube([10,50,10]);
translate([19.5,-50,16]) rotate([0,-30,0]) cube([10,50,10]);
translate([-27.1,-50,21]) rotate([0,30,0]) cube([10,50,10]);
// inner cable cleanup
translate([-1,-19.5,14]) rotate([0,30,0]) cube([10,7.5,10]);
translate([-5,-19.5,10]) rotate([0,-30,0]) cube([10,7.5,10]);
// filament sensor cable
translate([4.5,28.5,12]) rotate([0,0,0]) cube([3.5,4,20]);
translate([0.5,28.5,12]) rotate([0,0,0]) cube([4.5,7,20]);
translate([4.5,-5,19.5]) rotate([0,0,0]) cube([3.5,35,4.3]);
translate([4.5,17.5,16.5]) rotate([0,0,0]) cube([3.5,5,4.3]);
translate([-1.55,-9.60,19.5]) rotate([0,0,-45]) cube([3.5,10,4]);
translate([-1.9,-9.95,15]) rotate([45,0,-45]) cube([3.5,10,4]);
translate([4.5,29,16]) rotate([45,0,0]) cube([3.5,5,5]);
translate([3.5,-4.60,19.5]) rotate([0,0,-15]) cube([3,4,4]);
// version
translate([-14.5,13,22.8]) rotate([0,0,0]) linear_extrude(height = 0.4)
{ text("MK3",font = "helvetica:style=Bold", size=6, center=true); }
translate([-15,3,15.8]) rotate([0,180,0]) linear_extrude(height = 0.8)
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
translate([-23,2.3,14.3]) cube([9,5.0,1]);
// upper ziptie left
translate([-21.5,-25,0])difference()
@ -137,9 +155,22 @@ module x_carriage_back()
translate([-17,26,5]) m3head();
translate([-40.5,26,5]) m3head();
translate([-29,-1,4]) m3head();
translate([-19.5,-41,5]) m3head();
translate([-39.5,-41,5]) m3head();
translate([-35,-41,4]) m3head();
translate([-8.1,-40,17.5]) cube([6.2,4,5]);
translate([-8.1,-37.7,17.0]) cube([6.2,2,5]);
translate([-5,-36,11.51]) rotate([0,0,0]) cylinder( h=5, r=1.8, $fn=50 );
// selective infill
translate([5,-8,16]) cube([0.5,20,6.5]);
translate([-3.25,-8,16]) cube([0.5,20,6.5]);
translate([0.75,-8,16]) cube([0.5,7,6.5]);
// version
translate([-12,-29,22.6]) rotate([0,0,0]) linear_extrude(height = 0.6)
{ text("R7",font = "helvetica:style=Bold", size=4, center=true); }
}
}

View File

@ -1,381 +1,462 @@
// PRUSA iteration4
// X carriage
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <bearing.scad>
module belt_cut()
{
rotate([0,0,180])
{
translate([-20,0,0]) cube([39,0.75,15]);
translate([-20,0,5]) rotate([-7,0,0]) cube([39,0.75,10]);
translate([-20,0,5]) rotate([10,0,0]) cube([39,0.75,10]);
for (_step =[-20:2:18])
{
translate([_step,0.5,0]) cube([1,1.0,10]);
}
for (_step =[-20:2:18])
{
translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]);
}
}
}
module x_carriage_base()
{
// Small bearing holder
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1);
// Long bearing holder
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2);
// Base plate
translate([-34,-14,0]) cube([34.5,70.5,7]);
translate([-33,-15,0]) cube([33,7,15]);
translate([-42.5,53.0,0]) cube([52,6.5,15]);
difference()
{
union()
{
translate([-12,30,1]) rotate([0,0,45]) cube([6,6,14]);
translate([-20,30,1]) rotate([0,0,45]) cube([6,6,14]);
}
translate([-25,38,11]) rotate([43,0,0]) cube([20,8,8]);
}
// upper motor screw block
translate([-23,56.8,0]) rotate([0,0,0]) cube([32.5,18.2,8]);
// Belt holder base
translate([-42.5,20,0]) cube([52,16,7]);
// new belt holder base block
translate([-42.5,18,7]) cube([52,16.3,8]);
}
module x_carriage_holes()
{
// Small bearing holder holes cutter
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(1);
// Long bearing holder holes cutter
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(2);
// upper ziptie right
translate([2,0,0])
difference()
{
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
}
// upper ziptie left
translate([-38,0,0])
difference()
{
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
}
// upper ziptie head
translate([0,52.5,12]) cube([10,10,5]);
translate([-45,52.5,12]) cube([13.5,10,5]);
// Extruder mounting holes
translate([-17.5+12,24.5,-1])cylinder(r=1.65, h=20, $fn=25);
translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25);
translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
translate([-16.5-12,24.5,-1])cylinder(r=1.65, h=20, $fn=25);
translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25);
translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
// Carriage slimer
translate([-55.5+3,19,-1])cube([10,40,30]);
translate([+12.5-3,19,-1])cube([10,40,30]);
translate([+12.5-3.5-2,30.8,-1])rotate([0,90-65,0])cube([10,55,30]);
translate([-55.5+6.7+2,19,-10])rotate([0,-90+65,0])cube([10,40,30]);
}
module x_carriage_fancy()
{
// Top right corner
translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]);
// Top left corner
translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]);
translate([-27,74.5,9]) rotate([0,45,0]) translate([0,-15,0]) cube([5,25,5]);
translate([-23,86,16]) rotate([45,0,0]) translate([0,-15,0]) cube([45,5,5]);
// bottom side edges
translate([-40,-15,-5]) rotate([30,0,0]) cube([45,6,15]);
translate([-35,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
translate([2,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
translate([2,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
translate([-33.5,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
}
module cable_tray()
{
// center screw block
translate([-21,23,0]) cube([9,12,15]);
difference()
{
union()
{
translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]);
translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]);
}
translate([-25,34.2,0]) cube([20,10,15]);
}
translate([6.5,32,10]) cube([3,5,5]);
translate([-42.5,32,10]) cube([4,5,5]);
//Left cable tray
translate([-39.9,11,0]) cube([9,2,15]);
translate([-39.9,5.5,0]) cube([9,2,15]);
//Right cable tray
translate([-2,5.5,0]) cube([11.45,2,15]);
translate([-2,11,7]) cube([11.45,2,8]);
translate([-31,11.5,7]) cube([30,1.5,8]);
difference(){
translate([0,11,0]) cube([9.50,12,7]);
translate([0,6,1])rotate([-30,0,0]) cube([7.5,12,7]);
translate([0,3.5,6])rotate([-60,0,0]) cube([7.5,12,7]);
translate([0,10+3,-1])cube([7.5,11,6]);
}
}
module final_cutout()
{
// cable guide edges
translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]);
translate([6,0,16]) rotate([0,45,0]) cube([5,15,5]);
// motor cable opening
translate([0.5,10+3,-1])cube([7,9.2,6]);
// filament hole
difference () {
union() {
translate([-14.199,9.05,0]) rotate([-5,0,22.5]) cylinder(r=1.62, h=40, $fn=8);
translate([-14.5,9.7,8]) rotate([-5,0,22.5]) cylinder(r=1.62,r2=3, h=8, $fn=8);
}
//translate([-18,6.7,12]) cube([7,7,5]);
}
// bottom back mounting screws
translate([-6.5,-11,4]) cylinder(r=1.65, h=20, $fn=50);
translate([-26.5,-11,4]) cylinder(r=1.65, h=20, $fn=50);
difference() {
union(){
translate([-29.3,-14,10]) cube([5.6,7,2.1]);
translate([-09.3,-14,10]) cube([5.6,7,2.1]);
}
translate([-36,-8.1,10]) cube([40,1,0.5]);
}
// better printing bridges
translate([-29.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
translate([-09.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
translate([-28.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
translate([-8.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
// x-carriage-back mounting screws
translate([-4,56,0]) cylinder(r=1.7, h=40, $fn=50);
translate([-27.5,56,0]) cylinder(r=1.7, h=40, $fn=50);
translate([-30.3,53,8]) cube([5.6,8,2]);
translate([-6.8,53,8]) cube([5.6,8,2]);
// better printing bridges
translate([-6.8,54.35,8.35]) cube([5.6,3.3,2]);
translate([-5.65,54.35,8.7]) cube([3.3,3.3,2]);
translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]);
translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]);
// center mounting screw
translate([-16,29,0]) cylinder(r=1.65, h=40, $fn=50);
translate([-18.8,26,10.5]) cube([5.6,12,2.1]);
translate([-21,33,11]) cube([10,8,6]);
// better printing bridges
translate([-18.8,27.35,10.9]) cube([5.6,3.3,2.1]);
translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]);
// opening for power cables to hotend & termistor cable
translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30);
}
module x_carriage_block()
{
difference()
{
union()
{
difference()
{
x_carriage_base();
x_carriage_holes();
x_carriage_fancy();
}
cable_tray();
}
final_cutout();
}
}
module x_carriage()
{
difference()
{
x_carriage_block();
// upper motor screw
translate([2.5,67.5,-50]) cylinder(r=1.8, h=100, $fn=30);
translate([2.5,67.5,-0.1]) cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
translate([2.5,67.5,5]) cylinder(r=3.2, h=8, $fn=30);
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25);
// cable management cleanup
difference()
{
translate([2.5,21.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.0, $fn=25);
translate([2,16,-10]) cube([10,6,20]);
}
// selective infill
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]);
translate([8.45,11.5,1]) cube([0.5,1.8,4]);
translate([5,-16.4,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
translate([5,-10.3,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
translate([6,-16.5,-1]) cube([1,0.5,5]);
translate([3,-16.5,-1]) cube([2,0.5,5]);
translate([6,-10.2,-1]) cube([1,0.5,5]);
translate([3,-10.2,-1]) cube([2,0.5,5]);
translate([6,7.5,-1]) cube([1,0.5,5]);
translate([6,10.5,-1]) cube([1,0.5,5]);
translate([-19,24,1.5]) cube([6,0.5,12.0]);
//cable openings in guides
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]);
translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
// filament sensor connector
translate([-12.5,64,-3]) cube([4,11.2,14]);
translate([-12.5,65.75,-3]) cube([5,2.5,14]);
translate([-12.5,71.75,-3]) cube([5,2.5,14]);
translate([-14.5,67,-3]) cube([4,6,14]);
translate([-14.5,65,4.7]) cube([4,10.2,5]);
translate([-12.5,54.5,8]) cube([3.5,10.2,14]);
translate([-12.5,57.5,9.5]) rotate([35,0,0]) cube([3.5,10.2,14]);
translate([-12.5,58,8]) rotate([0,0,45]) cube([3,3,14]);
translate([-10,58,8]) rotate([0,0,45]) cube([3,3,14]);
translate([0,-0.5,0]) left_belt_cut();
translate([0,0.5,0]) right_belt_cut();
//version
translate([-2,-8,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
{ text("R3",font = "helvetica:style=Bold", size=5, center=true); }
}
}
module left_belt_cut()
{
translate([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30);
translate([-23.0,20,7]) cube([2,10,30]);
translate([-56.5,28.5,7]) belt_cut();
translate([13.5,20.5,0]) rotate([0,0,25])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-80,25,7]) cube([37.5,10,30]);
}
}
translate([13.2,2.38,0]) rotate([0,0,0])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-82.42,25,7]) cube([37.5,10,30]);
}
}
translate([-45,17.6,4]) rotate([0,0,-15]) cube([10,3,30]);
translate([-31.5,30.4,10]) rotate([-10,0,15]) cylinder(r=0.2, h=100, $fn=30);
translate([-31.6,30.75,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
}
module right_belt_cut()
{
// right belt cut
translate([-9.6,29.7,7]) cylinder(r=1.5, h=100, $fn=30);
translate([-11.1,19.8,7]) cube([2,10,30]);
translate([22.5,25.5,7]) belt_cut();
translate([66.65,1.95,0]) rotate([0,0,0])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-71.55,25,7]) cube([37.5,10,30]);
}
}
translate([43.2,-30.25,0]) rotate([0,0,-30])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-82.1,25,7]) cube([10,10,30]);
translate([-61.5,25,7]) cube([20.5,10,30]);
}
}
translate([2,14.6,7]) rotate([0,0,15]) cube([10,3,30]);
translate([-5.1,30,10]) rotate([-10,0,-15]) cylinder(r=0.2, h=100, $fn=30);
translate([-5,30.3,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
}
x_carriage();
// PRUSA iteration4
// X carriage
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <bearing.scad>
module belt_cut()
{
rotate([0,0,180])
{
translate([-20,0,0]) cube([39,0.75,15]);
translate([-20,0,5]) rotate([-7,0,0]) cube([39,0.75,10]);
translate([-20,0,5]) rotate([10,0,0]) cube([39,0.75,10]);
for (_step =[-20:2:18])
{
translate([_step,0.5,0]) cube([1,1.0,10]);
}
for (_step =[-20:2:18])
{
translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]);
}
}
}
module x_carriage_base()
{
// Small bearing holder
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1);
// Long bearing holder
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2);
// Base plate
translate([-34,-14,0]) cube([34.5,70.5,7]);
translate([-34,-15,0]) cube([35,7,15]);
translate([-42.5,53.0,0]) cube([52,6.5,15]);
difference()
{
union()
{
translate([-12,30,1]) rotate([0,0,45]) cube([6,6,14]);
translate([-20,30,1]) rotate([0,0,45]) cube([6,6,14]);
}
translate([-25,38,11]) rotate([43,0,0]) cube([20,8,8]);
}
// upper motor screw block
translate([-34,56.8,0]) rotate([0,0,0]) cube([43.5,19.7,8]);
// Belt holder base
translate([-42.5,20,0]) cube([52,16,7]);
// new belt holder base block
translate([-42.5,18,7]) cube([52,16.3,8]);
}
module x_carriage_holes()
{
// Small bearing holder holes cutter
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip_smooth(1);
translate([-4,-2.5,4]) rotate([0,0,90]) cube([5,25,2]);
// Long bearing holder holes cutter
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip_smooth(2);
translate([8.5,45-2.5,4]) rotate([0,0,90]) cube([5,50,2]);
// upper ziptie right
translate([2,0,0])
difference()
{
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
}
// upper ziptie left
translate([-38,0,0])
difference()
{
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
}
// upper ziptie head
translate([0,52.5,12]) cube([10,10,5]);
translate([-45,52.5,12]) cube([13.5,10,5]);
// Extruder mounting holes
translate([-7,15.5,-1])cylinder(r=1.65, h=20, $fn=25);
translate([-27,15.5,-1])cylinder(r=1.65, h=20, $fn=25);
translate([-7,15.5,-1])cylinder(r2=1.65, r1=2.2,h=2, $fn=25);
translate([-27,15.5,-1])cylinder(r2=1.65, r1=2.2,h=2, $fn=25);
translate([-7,15.5,4])cylinder(r=3.1, h=4, $fn=6);
translate([-27,15.5,4])cylinder(r=3.1, h=4, $fn=6);
translate([-7,15.5,7])cylinder(r=4, h=30, $fn=6);
translate([-27,15.5,7])cylinder(r=3.5, h=30, $fn=6);
// Carriage slimer
translate([-55.5+3,19,-1])cube([10,40,30]);
translate([+12.5-3,19,-1])cube([10,40,30]);
translate([+12.5-3.5-2,35.8,-1])rotate([0,90-65,0])cube([10,55,30]);
translate([-55.5+6.7+2,19,-10])rotate([0,-90+65,0])cube([10,40,30]);
}
module x_carriage_fancy()
{
// Top right corner
translate([11.5,10.5,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,40,20]);
translate([12,65.3,-1]) rotate([0,0,45]) cube([10,10,20]);
translate([4.9,72.38,-1]) cube([10,10,20]);
// Top left corner
translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]);
translate([-35,93,5]) rotate([35,0,0]) translate([0,-15,0]) cube([55,15,15]);
translate([7.5,59.5,-18]) rotate([0,0,0]) cube([20,20,40]);
// bottom side edges
translate([-37,-12,-6]) rotate([40,0,0]) cube([50,8,25]);
translate([-35,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
translate([2,-20.4,0]) rotate([0,0,45]) cube([6,6,16]);
translate([2,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
translate([-33.5,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
}
module cable_tray()
{
// center screw block
translate([-21,23,0]) cube([9,12,15]);
difference()
{
union()
{
translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]);
translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]);
}
translate([-25,34.2,0]) cube([20,10,15]);
}
translate([6.5,32,10]) cube([3,5,5]);
translate([-42.5,32,10]) cube([4,5,5]);
//Left cable tray
translate([-39.9,11,0]) cube([9,2,15]);
translate([-39.9,5.5,0]) cube([9,2,15]);
//Right cable tray
translate([-2,5.5,0]) cube([11.45,2,15]);
translate([-2,11,7]) cube([11.45,2,8]);
translate([-31,11.5,7]) cube([30,1.5,8]);
difference()
{
translate([0,11,0]) cube([9.50,22,7]);
translate([0,6,1])rotate([-30,0,0]) cube([7.5,12,7]);
translate([0,10+3,-1])cube([7.5,19,6]);
}
}
module final_cutout()
{
// cable guide edges
translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]);
translate([6,0,16]) rotate([0,45,0]) cube([5,15,5]);
// motor cable opening
difference()
{
union()
{
translate([0.5,10,-1]) cube([8,18,6]);
translate([0.5,28,0]) rotate([0,90,0]) cylinder(r=5, h=8, $fn=25);
translate([0.5,12,0.5]) rotate([45,0,0]) cube([8,4,6]);
}
translate([7.8,10,8]) rotate([0,85,0]) cube([15,25,10]);
}
// filament hole
difference ()
{
union()
{
translate([-14.199,9.05,0]) rotate([-5,0,22.5]) cylinder(r=1.62, h=40, $fn=8);
translate([-14.5,9.7,8]) rotate([-5,0,22.5]) cylinder(r=1.62,r2=3, h=8, $fn=8);
}
}
// bottom back mounting screws
translate([-22,-11,4]) cylinder(r=1.65, h=20, $fn=50);
difference()
{
union()
{
translate([-24.8,-14,10]) cube([5.6,7,2.1]);
}
translate([-36,-8.1,10]) cube([40,1,0.5]);
}
// better printing bridges
translate([-24.8,-12.65,10.35]) cube([5.6,3.3,2.1]);
translate([-23.65,-12.65,10.7]) cube([3.3,3.3,2.1]);
// x-carriage-back mounting screws
translate([-4,56,0]) cylinder(r=1.7, h=40, $fn=50);
translate([-27.5,56,0]) cylinder(r=1.7, h=40, $fn=50);
translate([-30.3,53,8]) cube([5.6,8,2]);
translate([-6.8,53,8]) cube([5.6,8,2]);
// better printing bridges
translate([-6.8,54.35,8.35]) cube([5.6,3.3,2]);
translate([-5.65,54.35,8.7]) cube([3.3,3.3,2]);
translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]);
translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]);
// center mounting screw
translate([-16,29,0]) cylinder(r=1.65, h=40, $fn=50);
translate([-18.8,26,10.5]) cube([5.6,12,2.1]);
translate([-21,33,11]) cube([10,8,6]);
// better printing bridges
translate([-18.8,27.35,10.9]) cube([5.6,3.3,2.1]);
translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]);
// selective infill
translate([-23.7,57,5]) cube([15.9,0.7,9]);
translate([-23.7,54.5,5]) cube([15.9,0.7,9]);
difference()
{
union()
{
translate([-11,-12,1]) rotate([0,0,0]) cylinder(r=3, h=10, $fn=30);
translate([-11,-15,-0]) cube([3,6,10]);
}
translate([-8,-20,5]) rotate([0,-20,0]) cube([10,20,10]);
}
translate([0.5,-0,5])
difference()
{
rotate([0,-20,0])
union()
{
translate([-7,-12,-5]) rotate([0,0,0]) cylinder(r=3, h=30, $fn=30);
translate([-9,-12,-5]) rotate([0,0,0]) cylinder(r=3, h=30, $fn=30);
translate([-12,-18,-5]) cube([8,6,30]);
translate([-9,-15,-5]) cube([2,6,30]);
}
translate([-20,-20,-15]) cube([20,20,10]);
}
// 2.5 endstop hole
translate([-8,-11,11]) rotate([0,90,0]) cylinder(r=1.4, h=10, $fn=30);
translate([-0.5,-11,11]) rotate([0,90,0]) cylinder(r1=1.4, r2=1.7, h=2, $fn=30);
}
module x_carriage_block()
{
difference()
{
union()
{
difference()
{
x_carriage_base();
x_carriage_holes();
x_carriage_fancy();
}
cable_tray();
}
final_cutout();
}
}
module x_carriage()
{
difference()
{
x_carriage_block();
// upper motor screw
translate([2.5,67.5,-50]) cylinder(r=1.8, h=100, $fn=30);
translate([2.5,67.5,-0.1]) cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
translate([2.5,67.5,7.5]) cylinder(r=3.2, h=7, $fn=30);
translate([-28.5,67.5,7.5])cylinder(r=3.2, h=20, $fn=25);
translate([-28.5,67.5,-1])cylinder(r=1.65, h=20, $fn=25);
translate([-28.5,67.5,-1])cylinder(r2=1.65, r1=3, h=2, $fn=25);
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25);
// selective infill
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]);
translate([5,-16.4,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
translate([5,-10.3,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
translate([6,-16.5,-1]) cube([1,0.5,5]);
translate([3,-16.5,-1]) cube([2,0.5,5]);
translate([6,-10.2,-1]) cube([1,0.5,5]);
translate([3,-10.2,-1]) cube([2,0.5,5]);
translate([-19,24,1.5]) cube([6,0.5,12.0]);
//cable openings in guides
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]);
translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
// filament sensor connector
translate([-1.5,62,-1.3]) cube([1,5,5]);
translate([-3.5,65,-1.3]) cube([3,5,5]);
translate([-9,70.6,-1.3]) cube([9,15,15]);
translate([-8.5,68,-1.3]) cube([8,15,15]);
translate([-0.7,67.5,7.5]) cube([3.2,3.2,1]);
difference()
{
translate([-9,69,-1]) cube([8.5,6,7]);
translate([-9,77,2]) rotate([45,0,0]) cube([8.5,6,7]);
}
// filament sensor cable
difference()
{
translate([-1.5,30,-0.8]) cube([3.5,30,4.5]);
translate([0.5,34.46,-4]) cube([4,3,4.5]);
translate([2,34.46,-4]) cylinder(r=1.5, h=4.5, $fn=25);
translate([2,34.46+3,-4]) cylinder(r=1.5, h=4.5, $fn=25);
translate([0.5,54,-4]) cube([4,3,4.5]);
translate([2,54,-4]) cylinder(r=1.5, h=4.5, $fn=25);
translate([2,57,-4]) cylinder(r=1.5, h=4.5, $fn=25);
translate([-4.0,44,-4]) cube([4,3,4.5]);
translate([-1.5,44,-4]) cylinder(r=1.5, h=4.5, $fn=25);
translate([-1.5,47,-4]) cylinder(r=1.5, h=4.5, $fn=25);
}
translate([-1.05,58.25,-0.8]) rotate([0,0,30]) cube([3.5,13,4.5]);
translate([-9,66,-0.8]) cube([3.5,5,4.5]);
translate([-9,70.5,-0.8]) rotate([45,0,0]) cube([9,6,6]);
translate([0.45,30,-0.8]) cylinder(r=2, h=4.5, $fn=25);
translate([-3.5,68,3]) cylinder(r=2, h=6, $fn=25);
translate([-6.75,69,-0.8]) cube([4,10,10]);
// hold together screws clearance
translate([-4.5,25.5,-1]) cylinder(r1=2.2,r2=1.5, h=10, $fn=25);
translate([-28.5,25.5,-1]) cylinder(r1=2.2,r2=1.5, h=10, $fn=25);
translate([-4.5,25.5,-1]) cylinder(r2=2,r1=3,h=3, $fn=25);
translate([-28.5,25.5,-1]) cylinder(r2=2,r1=3,h=3, $fn=25);
translate([0,-0.5,0]) left_belt_cut();
translate([0,0.5,0]) right_belt_cut();
//version
translate([-12,-2,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
{ text("R7",font = "helvetica:style=Bold", size=5, center=true); }
}
}
module left_belt_cut()
{
translate([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30);
translate([-23.0,20,7]) cube([2,10,30]);
translate([-56.5,28.5,7]) belt_cut();
translate([13.5,20.5,0]) rotate([0,0,25])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-80,25,7]) cube([37.5,10,30]);
}
}
translate([13.2,2.38,0]) rotate([0,0,0])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-82.42,25,7]) cube([37.5,10,30]);
}
}
translate([-45,18,4]) rotate([0,0,-13.5]) cube([10.5,3,32]);
translate([-31.5,30.4,10]) rotate([-10,0,15]) cylinder(r=0.2, h=100, $fn=30);
translate([-31.6,30.75,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
}
module right_belt_cut()
{
// right belt cut
translate([-9.6,29.7,7]) cylinder(r=1.5, h=100, $fn=30);
translate([-11.1,19.8,7]) cube([2,10,30]);
translate([22.5,25.5,7]) belt_cut();
translate([66.65,1.95,0]) rotate([0,0,0])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-71.55,25,7]) cube([37.5,10,30]);
}
}
translate([43.2,-30.25,0]) rotate([0,0,-30])
{
difference()
{
translate([-56.5,28.5,7]) belt_cut();
translate([-82.1,25,7]) cube([10,10,30]);
translate([-61.5,25,7]) cube([20.5,10,30]);
}
}
translate([2,14.6,7]) rotate([0,0,15]) cube([10,3,30]);
translate([-5.1,30,10]) rotate([-10,0,-15]) cylinder(r=0.2, h=100, $fn=30);
translate([-5,30.3,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
}
x_carriage();

View File

@ -11,35 +11,29 @@ module x_end_idler_holes()
{
x_end_holes();
translate([0,3.5,0])
{
{
// pulley screw
translate(v=[0,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=50);
translate(v=[-4,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 4, r=3, $fn=50);
translate(v=[-21.5,-19,30.25]) rotate([0,-90,0]){
rotate([0,0,30])cylinder( h = 4, r = 3.1, $fn=6);
}
translate(v=[-21.5,-19,30.25]) rotate([0,-90,0]){
rotate([0,0,30])cylinder( h = 4, r = 3.1, $fn=6);
}
translate(v=[-24,-19,30.25]) rotate([0,-90,0]){
translate(v=[-24,-19,30.25]) rotate([0,-90,0]){
rotate([0,0,30])cylinder( h = 4, r1 = 3.1, r2 = 7, $fn=6);
}
translate(v=[-4.5,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r2=3, r1=4, $fn=50);
translate(v=[-4.5,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r2=3, r1=4, $fn=50);
// pulley side cut
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
translate([-19,-35,21.25]) cube([10,20,18]);
translate([-16.1,-35,21.3]) rotate([0,45,0]) cube([5,20,5]);
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
// pulley side cut
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
translate([-19,-35,21.25]) cube([10,20,18]);
translate([-16.1,-35,21.3]) rotate([0,45,0]) cube([5,20,5]);
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
}
}
}
module waste_pocket()
@ -65,34 +59,21 @@ module x_end_idler_base()
x_end_base();
difference()
{
translate(v=[-6.5,-21,13.5]) cube([1,12.5,42]);
translate([-24,-11.5,19]) cube([20,10,24]);
translate(v=[-6.5,-10,55.5]) rotate([180,-45,0]) cube([1.5,19,5]);
translate(v=[-6.5,-29,13.5]) rotate([0,45,0]) cube([1.5,19,5]);
translate([-24,-11.5,19]) cube([20,10,24]);
translate(v=[-6.5,-10,55.5]) rotate([180,-45,0]) cube([1.5,19,5]);
translate(v=[-6.5,-29,13.5]) rotate([0,45,0]) cube([1.5,19,5]);
translate(v=[-5.5,-19,13.5]) rotate([90,0,-35]) cube([1.5,45,6]);
}
// pulley nut support
difference() {
translate(v=[-23.5,-15.5,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 1,r1=5.5, r2=3.7, $fn=30);
translate([-26,-11.5,19]) cube([20,10,24]);
}
difference()
{
translate(v=[-23.5,-15.5,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 1,r1=5.5, r2=3.7, $fn=30);
translate([-26,-11.5,19]) cube([20,10,24]);
}
}
x_end_idler_holes();
@ -110,16 +91,11 @@ module x_end_idler_base()
translate(v=[0,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=30);
}
// nut trap print supoorts
// nut trap print supoorts
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
}
@ -170,9 +146,9 @@ module x_end_idler()
translate(v=[-8,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 20, r=1.55, $fn=30);
translate([-25,7.5,-1]) rotate([0,0,45]) cube([10,10,100]);
//version
//version
translate([-23.7,-25,2]) rotate([90,0,90]) linear_extrude(height = 0.6)
{ text("R3",font = "helvetica:style=Bold", size=4, center=true); }
{ text("R6",font = "helvetica:style=Bold", size=4, center=true); }
}
// bearings stop
@ -209,8 +185,6 @@ difference()
x_end_idler();
translate([-8,15,13.0]) rotate([0,0,-45.4]) cube([10,1.5,1]);
}
// chamfers
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
translate([-20,10.5,69]) rotate([0,45,0]) cube([20,20,20]);
translate([-25,37,49]) rotate([45,0,0]) cube([30,20,20]);

View File

@ -11,11 +11,13 @@ module x_end_motor_base()
{
x_end_base();
translate(v=[-15,31,26.5]) cube(size = [17,44,53], center = true);
}
module x_end_motor_holes()
{
x_end_holes();
x_end_holes();
// Position to place
translate(v=[-1,32,30.25])
@ -24,28 +26,23 @@ module x_end_motor_holes()
translate(v=[-19,-21,-12]) cube(size = [10,25,22]);
// Motor mounting holes
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
translate(v=[1,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
for (x =[-1:0.25:1])
{
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
translate(v=[1,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
translate(v=[20,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,16.,-15.0]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,16.,-15.0]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,15,-16]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,15,-16]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,14.5,-16.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[1,14.5,-16.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[0,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
translate(v=[1,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
translate(v=[20,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
translate(v=[0,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
translate(v=[1,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
};
// Material saving cutout
translate(v=[-10,12,12]) cube(size = [60,42,42], center = true);
translate(v=[-25,10.5,-11]) rotate([45,0,0]) cube(size = [60,10,10]);
@ -55,11 +52,9 @@ module x_end_motor_holes()
translate(v=[-10,41,-30.5]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
translate([-15,-2,-33]) rotate([-45,0,0]) cylinder(h=25, r=1.7, $fn=30);
translate([-15,-2,-33]) rotate([-45,0,0]) cylinder(h=28-18, r=3.2, $fn=30);
translate([-35+2.8,10,-25]) rotate([45,0,0]) cube(size = [20,2,5.6]);
}
}
// Motor shaft cutout
@ -105,10 +100,11 @@ module x_end_motor()
translate([-17,3,55]) cube([4,4,10]);
translate([-17,3,-8]) cube([4,4,10]);
translate([-30,-30,58]) cube([30,30,10]);
// version
translate([-23.2,-20,2]) rotate([90,0,270]) linear_extrude(height = 0.6)
{ text("R3",font = "helvetica:style=Bold", size=4, center=true); }
{ text("R6",font = "helvetica:style=Bold", size=4, center=true); }
}
translate([-15,10,6]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
@ -136,15 +132,13 @@ module x_end_motor()
rotate([0,0,310-240]) translate([-2.5,0,26]) cube([5,15,10]);
}
// nut trap print supoorts
// nut trap print suports
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
}
@ -154,12 +148,37 @@ difference()
{
x_end_motor();
translate([-8,-17,13.0]) rotate([0,0,44.7]) cube([10,1.5,1]);
// belt tensioner body
translate([-24,9,30.25]) rotate(a=[90,30,0]) cylinder(h=27, r=4, $fn=6);
difference()
{
translate([-30,9-27,30.25]) rotate(a=[0,45,0]) cube([11,27,11]);
translate([-37.465,9-27-1,20]) cube([10,30,21]);
translate([-29,9-27-1,35]) cube([10,30,21]);
translate([-20,9-27-1,20]) cube([25,30,21]);
}
difference()
{
translate([-24,-18,30.25]) rotate(a=[90,0,0]) cylinder(h=10.5, r=5, $fn=30);
translate([-24-19.5,-18,20]) rotate(a=[90,0,0]) cube([20,20,20]);
}
}
//chamfers
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
translate([-20,-30.5,69]) rotate([0,45,0]) cube([20,20,20]);
translate([-25,-37,49]) rotate([45,0,0]) cube([30,20,20]);
translate([-25,23.5,49]) rotate([45,0,0]) cube([30,20,20]);
// belt tensioner
translate(v=[0,32,30.25])
{
translate([-24,-15.5-2.5,0]) rotate(a=[90,0,0]) cylinder(h=35, r=1.6, $fn=30);
translate([-24,-15.5-4.5-30,0]) rotate(a=[90,0,0]) cylinder(h=30, r=3.2, $fn=30);
translate([-24-10+2.8,-29,0-2.8]) cube([10,2.1,5.6]);
}
}

View File

@ -11,9 +11,6 @@ rod_distance = 45;
module x_end_base()
{
// Main block
height = 58;
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
@ -24,7 +21,7 @@ module x_end_base()
//Nut trap
// Cylinder
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=100);
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=250);
difference()
{
translate(v=[0,-17,13]) poly_cylinder(h = 3, r=12.5, $fn=25);
@ -34,11 +31,6 @@ module x_end_base()
}
}
module reinforcement_selective_infill()
{
@ -46,7 +38,8 @@ module reinforcement_selective_infill()
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,5],[12,0]] );
}
x_end_base();
module x_end_holes()
{
@ -55,7 +48,6 @@ module x_end_holes()
translate(v=[-1,0,0])
{
// Stress relief
translate(v=[-5.5-10+1.5,-10-1,30]) cube(size = [18,1,28], center = true);
difference()
{
@ -84,29 +76,27 @@ module x_end_holes()
translate(v=[0,-17, -0.1]) cylinder(h = 1, r1 = 7.2,r2 = 6.7, $fn = 60);
// Screw holes for TR nut
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65, $fn=50);
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,-9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65,, $fn=50);
// Nut traps for TR nut screws
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 11]) rotate([0, 0, 0])cylinder(h = 6, r = 3.1, $fn=6);
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 11]) rotate([0, 0, 0])cylinder(h = 6, r = 3.15, $fn=6);
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 4, r = 3.2, $fn=6);
translate([-5.5,-17.2,10]) rotate([0,0,32]) cube([5,5.9,3.5]);
translate([-0,-17.2,10]) rotate([0,0,58]) cube([5,10,3.5]);
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 3, r = 3.1, $fn=6);
translate([-5.5,-17.2,10]) rotate([0,0,30]) cube([5,5,3]);
translate([-0,-17.2,10]) rotate([0,0,60]) cube([5,10,3]);
translate([0,0,6.5])
difference()
{
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,5.8]) rotate([0,0,30])cylinder(h = 1, r = 3.1, $fn=6);
translate([-11,-12.0,4.5]) rotate([0,0,45]) cube([8,3,3]);
translate([-6.5,-16.85,4.5]) rotate([0,0,45]) cube([8,3,3]);
}
}
@ -122,9 +112,13 @@ module x_end_plain()
x_end_base();
x_end_holes();
}
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
}
difference()
{
translate(v=[0,-17, 0.3]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 3, r = 3.2, $fn=6);
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
}
}
@ -134,6 +128,7 @@ module x_end_plain()
module pushfit_rod(diameter,length)
{
poly_cylinder(h = length, r=diameter/2);
@ -143,8 +138,5 @@ module pushfit_rod(diameter,length)
translate(v=[0,-diameter/4-diameter/2-0.4,length/2]) rotate([0,0,0]) cube(size = [diameter,diameter/2,length], center = true);
}
}
difference () {
x_end_plain();
//translate([-50,-50,-1]) rotate([0,0,0]) cube([100,100,5]);
}
//
x_end_holes();

View File

@ -1,168 +1,176 @@
// PRUSA iteration4
// Z axis bottom holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module z_bottom_base()
{
translate([0,-1.5,0]) cube([7.5,49,16+20]); // plate touching the base
translate([0,-5,0]) cube([30,3.7,22]); // plate touching the base
translate([0,42,0]) cube([30,5.5,22]); // plate touching the base
translate([0,-5,0]) cube([50,52.5,7]); // plate touching the base
}
module z_bottom_fancy()
{
// corner cutouts
translate([0.5,-2.5,-2]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([0.5,40-0.5+5,-2]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([21,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([50-2.5,-5+2.5+67,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([50-2.5,-5+2.5,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([-38,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
// Stiffner cut out
translate([30,0,7.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]);
translate([-5,-10,-8.0]) rotate([45,0,0]) cube([60,10,10]);
translate([-5,52.0,-8.5]) rotate([45,0,0]) cube([60,10,10]);
translate([47,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
translate([49,37.5,-2]) rotate([0,45,45]) cube([30,30,30]);
translate([29,-16.7,-2]) rotate([0,45,-45]) cube([30,30,30]);
}
module z_bottom_holes()
{
// Frame mounting screw holes
translate([-1,10,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
translate([-1,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
translate([-1,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
// Frame mounting screw head holes
translate([4,10,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10-3.1,10+20+2]) cube([10,6.2,10]);
translate([4,10,38]) rotate([0,45,0]) cube([10,20,10]);
// Z rod holder
difference() {
translate([25+4.3,3,-0.1]) rotate([0,0,0]) cylinder(h = 5.6, r=4.05, $fn=50);
translate([23.3,-5,5.45-0.222]) cube([5,20,5]);
translate([23.3+7,-5,5.45-0.22]) cube([5,20,5]);
}
translate([25+4.3-1,2,4.5]) rotate([0,0,0]) cube([2,10,3]) ;
translate([25+4.3,3,-2.1]) rotate([0,0,0]) cylinder(h = 2.6, r1=6, r2=4, $fn=50);
translate([25+4.3-1,3,0.5]) cube([2,10,8]); // it's bit up because it helps with printing
// motor mounting
translate([25+4.3,20,-1]){
translate([15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2,$fn=50);
translate([15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
translate([-15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
translate([-15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.26, $fn=50);
// motor opening
translate([0,0,-1]) cylinder(h = 20, r=11.2, $fn=30);
translate([0,0,-0]) cylinder(h = 2, r2=11.2, r1=12, $fn=30);
difference()
{
union()
{
translate([15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
translate([15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
translate([-15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
translate([-15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
}
translate([-25,3.85,3.2]) cube([55,10,2]);
translate([-25,-27.15,3.2]) cube([55,10,2]);
translate([-25,-13.85,3.2]) cube([55,10,2]);
translate([-25,17.15,3.2]) cube([55,10,2]);
translate([17.15,-20,3.5]) cube([10,60,2]);
translate([3.85,-20,3.5]) cube([10,60,2]);
translate([-27.15,-20,3.5]) cube([10,60,2]);
translate([-13.85,-20,3.5]) cube([10,60,2]);
}
}
}
module z_bottom_right()
{
difference()
{
difference()
{
z_bottom_base();
z_bottom_fancy();
z_bottom_holes();
}
translate([7.3,25,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
{ text("R3",font = "helvetica:style=Bold", size=5, center=true); }
}
}
module z_bottom_left()
{
difference()
{
translate([0,-13,0]) mirror([0,1,0])
difference()
{
z_bottom_base();
z_bottom_fancy();
z_bottom_holes();
}
translate([7.3,-28.5,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
{ text("R3",font = "helvetica:style=Bold", size=5, center=true); }
}
}
z_bottom_right();
z_bottom_left();
// PRUSA iteration4
// Z axis bottom holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module z_bottom_base()
{
translate([0,-1.5,0]) cube([7.5,49,16+20]); // plate touching the base
translate([0,-5,0]) cube([30,3.7,22]); // plate touching the base
translate([0,42,0]) cube([30,5.5,22]); // plate touching the base
translate([0,-5,0]) cube([50,52.5,7]); // plate touching the base
}
module z_bottom_fancy()
{
// corner cutouts
translate([0.5,-2.5,-2]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([0.5,40-0.5+5,-2]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([21,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([50-2.5,-5+2.5+67,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([50-2.5,-5+2.5,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([-38,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
// Stiffner cut out
translate([30,0,7.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]);
translate([-5,-10,-8.0]) rotate([45,0,0]) cube([60,10,10]);
translate([-5,52.0,-8.5]) rotate([45,0,0]) cube([60,10,10]);
translate([47,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
translate([49,37.5,-2]) rotate([0,45,45]) cube([30,30,30]);
translate([29,-16.7,-2]) rotate([0,45,-45]) cube([30,30,30]);
}
module z_bottom_holes()
{
// Frame mounting screw holes
translate([-1,10,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
translate([-1,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
translate([-1,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
// Frame mounting screw head holes
translate([4,10,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10-3.1,10+20+2]) cube([10,6.2,10]);
translate([4,10,38]) rotate([0,45,0]) cube([10,20,10]);
// Z rod holder
difference() {
translate([25+4.3,3,-0.1]) rotate([0,0,0]) cylinder(h = 5.6, r=4.05, $fn=50);
translate([23.3,-5,5.45-0.222]) cube([5,20,5]);
translate([23.3+7,-5,5.45-0.22]) cube([5,20,5]);
}
translate([25+4.3-1,2,4.5]) rotate([0,0,0]) cube([2,10,3]) ;
translate([25+4.3,3,-2.1]) rotate([0,0,0]) cylinder(h = 2.6, r1=6, r2=4, $fn=50);
translate([25+4.3-1,3,0.5]) cube([2,10,8]); // it's bit up because it helps with printing
// motor mounting
translate([25+4.3,20,-1]){
translate([15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
translate([15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2,$fn=50);
translate([15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
translate([-15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
translate([-15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.26, $fn=50);
// motor opening
translate([0,0,-1]) cylinder(h = 20, r=11.2, $fn=30);
translate([0,0,-0]) cylinder(h = 2, r2=11.2, r1=12, $fn=30);
difference()
{
union()
{
translate([15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
translate([15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
translate([-15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
translate([-15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
}
translate([-25,3.85,3.2]) cube([55,10,2]);
translate([-25,-27.15,3.2]) cube([55,10,2]);
translate([-25,-13.85,3.2]) cube([55,10,2]);
translate([-25,17.15,3.2]) cube([55,10,2]);
translate([17.15,-20,3.5]) cube([10,60,2]);
translate([3.85,-20,3.5]) cube([10,60,2]);
translate([-27.15,-20,3.5]) cube([10,60,2]);
translate([-13.85,-20,3.5]) cube([10,60,2]);
}
}
}
module z_bottom_right()
{
difference()
{
difference()
{
z_bottom_base();
z_bottom_fancy();
z_bottom_holes();
}
translate([7.3,24,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
{ text("R5",font = "helvetica:style=Bold", size=5, center=true); }
translate([7,24,25]) rotate([90,180,90]) linear_extrude(height = 0.9)
{ text("R",font = "helvetica:style=Bold", size=8, center=true); }
}
}
module z_bottom_left()
{
difference()
{
translate([0,-13,0]) mirror([0,1,0])
difference()
{
z_bottom_base();
z_bottom_fancy();
z_bottom_holes();
}
translate([7.3,-28.5,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
{ text("R5",font = "helvetica:style=Bold", size=5, center=true); }
translate([7,-29,25]) rotate([90,180,90]) linear_extrude(height = 0.9)
{ text("L",font = "helvetica:style=Bold", size=8, center=true); }
}
}
z_bottom_right();
z_bottom_left();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,56 +0,0 @@
// PRUSA iteration3
// LCD Knob
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
difference () {
// main body
translate([0,0,0]) rotate(a=[0,0,0]) cylinder(h = 7.5, r1=10, r=7.25, $fn=60);
translate([0,0,20]) rotate(a=[0,0,0]) sphere(14);
// knob cutout
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d=6.1, $fn=60);
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 0.6, d1=7.1, d2=6.1 , $fn=30);
translate([0,0.75,-0.1]) rotate(a=[0,0,-90]) cube([1.5,5.3,4.6]);
// first layer correction
union () {
difference (){
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 2,d1= 11.5, d2=10.5, $fn=60);
translate([0,0,-0.15]) rotate(a=[0,0,0]) cylinder(h = 2,d1= 9.5, d2=10.5, $fn=60);
translate([0,0,1]) rotate(a=[0,0,0]) cylinder(h = 2,d= 13, $fn=30);
translate([-13.5,-6,-0.1]) rotate(a=[0,0,0]) cube([10,12,4.6]);
}
}
difference () {
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d=11, $fn=60);
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d= 10, $fn=60);
translate([-13.5,-6,-0.1]) rotate(a=[0,0,0]) cube([10,12,4.6]);
}
}
// handle
difference () {
translate([-2.1,6.5,0]) rotate(a=[0,0,0]) cube([4.2,12,7.5]);
translate([-2.5,15,7.7]) rotate(a=[-67,0,0]) cube([5.5,11,7.5]);
translate([-2.2,18.22,-0.1]) rotate(a=[0,0,0]) cube([4.4,12,0.21]);
}

View File

@ -1,85 +0,0 @@
// PRUSA iteration4
// cable holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module zip_main()
{
// ziptie cut for upper cables
translate([-10,-30.5,24]) cube([20,2,3]);
translate([-6,-30.5,24]) cube([2,20,3]);
translate([5,-30.5,24]) cube([2,20,3]);
difference()
{
translate([0.5,-26,24]) rotate([0,0,90]) cylinder( h=3, r=6, $fn=30 );
translate([0.5,-26,23]) rotate([0,0,90]) cylinder( h=5, r=4.6, $fn=30 );
translate([-10,-35.5,23]) cube([20,5,5]);
translate([-10,-27,23]) cube([20,10,5]);
}
}
module zip_ext_cables()
{
// ziptie cut for lower cables
translate([-10,-25.5,24]) cube([20,2,3]);
translate([-4.5,-45.5,24]) cube([2,20,3]);
translate([3.5,-45.5,24]) cube([2,20,3]);
}
module cable_holder()
{
difference()
{
union()
{
// base block
translate([0.5,-26,24]) rotate([0,0,90]) cylinder( h=39.5, r=5, $fn=30 );
translate([-4.5,-26,24]) cube([10,9,39.5]);
translate([-3,-35,24]) cube([7,10,39.5]);
}
// screw
translate([0.5,-27,19.5]) rotate([0,0,90]) cylinder( h=42, r=1.75, $fn=30 );
translate([0.5,-27,19.5+41]) rotate([0,0,90]) cylinder( h=5, r=3.15, $fn=30 );
// upper cables cut
translate([0.5,-18,23]) rotate([0,5,90]) cylinder( h=41, r=5, $fn=30 );
translate([-10,-20,23]) rotate([-5,0,0]) cube([20,9,45]);
// lower angled cut
translate([-10,-44,23]) rotate([-4,0,0]) cube([20,9,45]);
// wires
translate([-0.8,-35,23]) rotate([0,4,90]) cylinder( h=41, r=1.25, $fn=30 );
translate([1.8,-35,23]) rotate([0,4,90]) cylinder( h=41, r=1.25, $fn=30 );
// ziptie openings
translate([0,0,5]) zip_main();
translate([0,0,18]) zip_main();
translate([0,0,32]) zip_main();
translate([0,0,11]) zip_ext_cables();
translate([0,0,25]) zip_ext_cables();
// round edge cut
translate([0,1.8,-1.5])
difference()
{
translate([-10,-32,63]) rotate([0,90,0]) cylinder( h=41, r=4, $fn=30 );
translate([-10,-32,63]) rotate([0,90,0]) cylinder( h=41, r=2, $fn=30 );
translate([-10,-36,53]) rotate([0,0,0]) cube([20,9,10]);
translate([-10,-32,58]) rotate([0,0,0]) cube([20,9,10]);
}
}
}
cable_holder();

View File

@ -1,391 +0,0 @@
// PRUSA iteration4
// Extruder body
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module m3head()
{
intersection()
{
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
}
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
}
module m3nuthead()
{
intersection()
{
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=6); // head cut
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
}
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=6); // head cut
}
module grill()
{
difference()
{
translate([24,-5,-17]) cylinder( h=17, r=20.4, $fn=50 );
translate([24,-5,-21]) cylinder( h=23, r=19, $fn=50 );
translate([23,-30,-30]) cube([30,60,32]);
translate([-11,-30,-30]) cube([30,60,32]);
translate([-19,-20,-30]) cube([60,60,32]);
}
translate([23,-24.65,-17]) cylinder( h=17, r=0.72, $fn=50 );
translate([19,-24.01,-17]) cylinder( h=17, r=0.72, $fn=50 );
}
module pinda_holder()
{
difference()
{
union()
{
translate([-32,-45,-20]) cube([18,15,20]);
translate([-26,-18,-3]) cube([9,11,3]);
translate([-23,-38,-3]) cube([6,15,3]);
}
translate([-23,-5,-12]) rotate([90,0,0]) cylinder( h=50, r=4.05, $fn=30 );
translate([-35,-38.5,-5]) rotate([0,90,0]) cylinder( h=25, r=1.6, $fn=30 );
translate([-33,-38.5,-5]) rotate([0,90,0]) cylinder( h=6, r=3.1, $fn=30 );
translate([-35,-52.5,-24]) rotate([0,0,45]) cube([10,10,30]);
translate([-36.5,-39,-25]) rotate([0,0,45]) cube([20,10,30]);
translate([-11,-36,-26]) rotate([0,0,50]) cube([10,10,23]);
translate([-22.5,-30,-20]) rotate([0,0,45]) cube([10,8,23]);
translate([-35,-29,-30]) rotate([45,0,0]) cube([30,10,10]);
translate([-35,-46,-30]) rotate([45,0,0]) cube([30,10,10]);
translate([-41,-52,-19.5]) rotate([0,45,0]) cube([12,30,10]);
translate([-12.5,-53,-21]) rotate([0,0,45]) cube([10,10,30]);
translate([-10,-54,-25]) rotate([0,0,65]) cube([14.5,10,30]);
translate([-19.6,-41.5,-8.1]) cube([2.4,6,10]);
translate([-24,-48,-10]) cube([1.4,20,12]);
translate([-23.7,-48,-10]) rotate([0,-5,0]) cube([1.4,20,12]);
translate([-25.5,-48,-0]) rotate([0,45,0]) cube([3,30,3]);
translate([-17.5,-37,-22]) cube([5,7,5]);
// hook cut
translate([-23,-20,-3.5]) cube([6,8,4.5]);
translate([-26,-10,-3.5]) rotate([0,0,45]) cube([5,5,5]);
translate([-26,-23,-3.5]) rotate([0,0,45]) cube([5,5,5]);
translate([-29,-34,-16]) cube([1,1,15]);
translate([-29,-43,-16]) cube([1,1,15]);
translate([-17,-33,-16]) cube([1,1,15]);
}
}
module extruder_body()
{
difference()
{
union()
{
// cables hook above fan
difference()
{
translate([22.5,-3,-17]) cube([9,8.75,17]);
translate([33,-0.0,-21]) rotate([0,0,45]) cube([12,12,22]);
}
difference()
{
// base body shape
union()
{
translate([-17,-36.5,-30.5]) cube([42,86.5,30.5]);
translate([16,-38.5,-20]) rotate([0,0,45]) cube([3,3,20]);
}
translate([22.5,-3,-20]) cube([9,8.75,20]);
//opening to pulleys from motor side
translate([4,27,-33]) rotate([0,0,0]) cylinder( h=40, r=12, $fn=30 );
// idler cut
difference()
{
translate([-39,15,-33.5]) cube([44,24,32]);
difference()
{
translate([-12,5.5,-4.5]) rotate([0,0,30]) cube([12,10,3]);
translate([-39,15,-36]) cube([44,24,32]);
}
}
translate([-20,9.5,-36.5]) rotate([0,0,30])cube([20,20,32]);
translate([-26,29,-36.5]) cube([20,22,32]);
translate([-18,24,-36.5]) rotate([0,0,45]) cube([20,20,32]);
translate([-26,22,-33.5]) rotate([0,0,45]) cube([20,20,32]);
translate([-26,9,-33.5]) rotate([0,0,30]) cube([20,20,32]);
}
// bottom pulley space
difference()
{
translate([-4,15,-30.5]) cube([26,6.5,30.5]);
translate([-8,16.5,-36]) rotate([0,0,45]) cube([10,10,32]);
}
translate([-8,15,-4]) cube([30,6.5,4]);
translate([15.5,-44,-17]) cube([5,8,17]);
// idler tension screw heads
translate([3,18.5,-25]) rotate([0,90,0]) cylinder( h=22, r=3,r2=5, $fn=30 );
translate([3,18.5,-10]) rotate([0,90,0]) cylinder( h=22, r=3,r2=5, $fn=30 );
// filament entry to hotend
difference()
{
translate([0,10.5,-26]) rotate([0,0,45]) cube([9,9,15]);
translate([-5,25,-17]) rotate([30,0,0]) cube([10,10,10]);
translate([-5,18,-30]) rotate([-45,0,0]) cube([10,10,10]);
translate([-13,14,-26]) cube([10,12,20]);
}
// filament entry
difference()
{
translate([0,30.5,-26]) rotate([0,0,45]) cube([12,12,21]);
translate([-10,19,-13]) rotate([-40,0,0]) cube([20,10,25]);
translate([-5,23,-27]) rotate([-45,0,0]) cube([10,10,10]);
translate([-14,30,-29]) cube([10,12,25]);
translate([3,30,-29]) cube([10,12,30]);
translate([-5,45,-29]) cube([10,12,25]);
}
}
translate([4,27,-33]) rotate([0,0,0]) cylinder( h=4, r=15, $fn=30 );
translate([4,27,-32]) rotate([0,0,0]) cylinder( h=4, r=13, $fn=30 );
// side entry to pulleys
translate([5,32,-18]) rotate([0,90,0]) cylinder( h=40, r=8, $fn=6 );
translate([18,32,-18]) rotate([0,90,0]) cylinder( h=10, r1=8, r2=11, $fn=6 );
// cover cutout
translate([-18,-39,-49]) cube([44,45,32]);
// hotend cooling tube input
translate([12,-21.5,-20]) rotate([0,90,0]) cylinder( h=10, r2=20.5, r1=12, $fn=80 );
translate([1,-20.5,-20.5]) rotate([0,84,0]) cylinder( h=25, r2=17.5, r1=12, $fn=80 );
translate([-10,-35,-40.55]) cube([30,26,32]);
translate([0,-35,-38.8]) cube([20,14,32]);
// hotend cooling tube OUTPUT
difference()
{
translate([-28,-35,-34]) rotate([0,15,0]) cube([44,26,32]);
translate([-18,-53.5,-30]) rotate([0,0,65]) cube([20,20,32]);
}
translate([-10,-35,-17.5]) rotate([0,0,0]) cube([10,26,12]);
// e3d nozzle cut
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=60, r=11.1, $fn=50 );
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=26, r=11.5, $fn=50 );
translate([0,-3.4,-17]) rotate([90,0,0]) cylinder( h=10, r=8.05, $fn=50 );
translate([0,8,-17]) rotate([90,0,0]) cylinder( h=5.6, r=8.05, $fn=50 );
translate([0,8.9,-17]) rotate([90,0,0]) cylinder( h=3, r=9, $fn=50 );
translate([0,4,-17]) rotate([90,0,0]) cylinder( h=8, r=6.05, $fn=50 );
translate([0,2.5,-17]) rotate([90,0,0]) cylinder( h=2, r1=8.05, r2=7, $fn=50 );
// filament PTFE and entry from hotend
translate([0,10,-17]) rotate([90,0,0]) cylinder( h=10, r=3.5, $fn=50 );
translate([0,30,-17]) rotate([90,0,0]) cylinder( h=80, r=2.1, $fn=50 );
translate([0,18,-17]) rotate([90,0,0]) cylinder( h=12, r1=2, r2=4.3, $fn=50 );
translate([0,16,-17]) rotate([110,0,0]) cylinder( h=13, r1=2, r2=4, $fn=50 );
translate([0,16,-17]) rotate([100,0,0]) cylinder( h=13, r1=2, r2=4, $fn=50 );
translate([0,80,-17]) rotate([90,0,0]) cylinder( h=80, r=1.0, $fn=50 );
// upper PTFE housing
translate([0,50.8,-17]) rotate([90,0,0]) cylinder( h=4, r=2.1, $fn=50 );
translate([0,49,-17]) rotate([90,0,0]) cylinder( h=4.5, r=1.5, $fn=50 );
translate([0,51,-17]) rotate([90,0,0]) cylinder( h=22, r=1.1, $fn=50 );
translate([0,41,-17]) rotate([90,0,0]) cylinder( h=5, r1=2, r2=1, $fn=50 );
translate([1,46.5,-17.5]) cube([2,4,1]);
translate([1,48,-17.5]) rotate([-30,0,0]) cube([2,4,1]);
translate([0,10,-17]) rotate([90,0,0]) cylinder( h=3, r=7, $fn=50 );
// motor screws
translate([-11.5,11.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
translate([19.5,11.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
translate([-11.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
translate([19.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
translate([-11.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=50 );
translate([19.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=50 );
translate([-11.5,42.5,-3]) rotate([0,0,0]) cylinder( h=4, r=3.1, $fn=50 );
translate([19.5,42.5,-4.5]) rotate([0,0,0]) cylinder( h=5, r1=1.6,r2=2.4, $fn=50 );
// better printing
translate([-10.5,6.5,-17]) m3head();
translate([-41.5,6.5,-17]) m3head();
translate([-41.5,37.5,-16.2]) m3head();
translate([-13,-2,-26]) m3nuthead();
translate([-8,16.5,-33.5]) rotate([0,0,45]) cube([10,10,32]);
translate([-18,16.5,-33.5]) cube([10,10,32]);
// hold together screws
translate([-20.5,-3.2,-14]) cube([12,5.6,2.1]);
translate([-20.5,-3.2,-5]) cube([12,5.6,2.1]);
translate([-13.2,-3.2,-14.3]) cube([3.4,5.6,2]);
translate([-13.2,-2.2,-14.6]) cube([3.4,3.4,2]);
translate([-13.2,-3.2,-5.3]) cube([3.4,5.6,2.3]);
translate([-13.2,-2.2,-5.6]) cube([3.4,3.4,2.3]);
translate([-11.5,-0.5,-35]) cylinder( h=65, r=1.65, $fn=50 );
translate([-11.5,-0.5,-2]) cylinder( h=5, r1=1.65, r2=2.2,$fn=50 );
translate([11.5,-0.5,-30]) cylinder( h=60, r=1.65, $fn=50 );
translate([11.5,-0.5,-3]) cylinder( h=5, r1=1.65, r2=2.2,$fn=50 );
translate([11.5,-0.5,-16]) cylinder( h=5, r1=3.5, r2=3.1, $fn=6 );
translate([11.5,-0.5,-21]) cylinder( h=7, r=3.5, $fn=6 );
// idler tension screws
translate([9,18.5,-25]) rotate([0,90,0]) cylinder( h=21, r=2.7, $fn=30 );
translate([-18,18.5,-25]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
translate([19,18.5,-25]) rotate([0,90,0]) cylinder( h=10, r=4, $fn=30 );
translate([9,18.5,-10]) rotate([0,90,0]) cylinder( h=21, r=2.7, $fn=30 );
translate([-18,18.5,-10]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
translate([19,18.5,-10]) rotate([0,90,0]) cylinder( h=10, r=4, $fn=30 );
// fan cut and screws
translate([20.5,-41.5,-30]) cube([15,40,40]);
translate([6,-5.5,-4]) rotate([0,90,0]) cylinder( h=15, r=1.4, $fn=30 );
translate([12,-37.5,-4]) rotate([0,90,0]) cylinder( h=10, r=1.4, $fn=30 );
translate([12,-37.5,-4]) rotate([0,90,0]) cylinder( h=3, r=1.6, $fn=30 );
translate([19,-5.5,-4]) rotate([0,90,0]) cylinder( h=2, r1=1.4,r2=2, $fn=30 );
translate([19,-37.5,-4]) rotate([0,90,0]) cylinder( h=2, r1=1.4,r2=2, $fn=30 );
// extruder cover nut
translate([17,3,-25]) rotate([0,0,0]) cylinder( h=19, r=1.7, $fn=30 );
translate([17,3,-5]) rotate([0,0,0]) cylinder( h=6, r=3.5, $fn=6 );
translate([17,3,-10]) rotate([0,0,0]) cylinder( h=6, r1=3.1, r2=3.6, $fn=6 );
// cable guide above fan
difference()
{
translate([20.5,-2.5,-25]) cube([4,5,30]);
translate([19,-1.5,-25]) rotate([0,0,60]) cube([5,5,30]);
}
// corners
translate([25,43,-40]) rotate([0,0,45]) cube([10,10,50]);
translate([-18,43,-40]) rotate([0,0,45]) cube([10,10,50]);
// filament senzor
translate([2.5,40,-25.2]) cube([3,11,22.4]);
translate([6.5,51,-3.9]) rotate([90,0,0]) cylinder( h=11, r=3.1, $fn=30 );
difference()
{
translate([3.5,40,-7]) cube([6,11,12]);
translate([6,40,-7]) rotate([0,45,0]) cube([5,12,12]);
}
translate([3.5,40,-10.5]) rotate([0,-45,0]) cube([2,12,5]);
translate([0,40,-7]) cube([4,11,5]);
translate([1.5,40,-25.2]) cube([4,11,5]);
translate([1.8,40,-21]) cube([4,11,8]);
translate([0,52.3,-21]) rotate([50,0,0]) cube([4,2,5]);
// filament senzor mounting screw
translate([3,45,-9]) rotate([0,90,0]) cylinder( h=12, r=1.4, $fn=30 );
translate([5,45,-9]) rotate([0,90,0]) cylinder( h=4, r=1.6, r2=1.5, $fn=30 );
translate([8.5,45,-9]) rotate([0,90,0]) cylinder( h=1, r=1.6, r2=1.4, $fn=30 );
translate([-7,45,-9]) rotate([0,90,0]) cylinder( h=13, r=1.4, $fn=30 );
translate([-10,45,-9]) rotate([0,90,0]) cylinder( h=13, r=3.3, $fn=30 );
// filament sensor cover screws
translate([12,51,-12]) rotate([90,0,0]) cylinder( h=10, r=1.4, $fn=30 );
translate([12,51,-12]) rotate([90,0,0]) cylinder( h=4, r1=1.9, r2=1.4,$fn=30 );
translate([-1,51,-24.5]) rotate([90,0,0]) cylinder( h=10, r=1.4, $fn=30 );
translate([-1,51,-24.5]) rotate([90,0,0]) cylinder( h=4, r1=1.9, r2=1.4,$fn=30 );
// filament sensor window
translate([-9.5,43,-17]) rotate([0,90,0]) cylinder( h=13, r=3, $fn=30 );
translate([0,40,-17.5]) cube([5,11,2]);
translate([0,40,-18.5]) rotate([0,40,0]) cube([5,11,2]);
translate([3.5,38,-1]) cube([5,11,2]);
}
pinda_holder();
translate([5.5,40,-14]) cube([4,10,1]);
translate([5.5,40,-13]) rotate([0,45,0]) cube([2,10,2]);
}
module final_part()
{
difference()
{
extruder_body();
translate([-35,-29,-30]) rotate([45,0,0]) cube([30,10,10]);
//version
translate([-4,-34,-0.4]) rotate([0,0,0]) linear_extrude(height = 0.6)
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
// selective infill
translate([-15,-7,-16]) cube([5,0.4,15]);
}
// print supports
translate([-28,-35,-0.3]) cube([8,4,0.3]);
translate([-28,-44,-0.3]) cube([8,4,0.3]);
// grill
translate([-35.25,10,0]) grill();
translate([-35.25,0,0]) grill();
translate([-16.5,-34,-12]) cube([4,30,1]);
translate([-16.5,-6,-11.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
translate([-12.5,-6,-11.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
}
rotate([0,180,0]) final_part();

View File

@ -1,155 +0,0 @@
// PRUSA iteration4
// Extruder cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
//import("extruder_body.stl");
//translate([11.5,-0.5,-37.5]) cylinder( h=30, r=3.0, $fn=50 );
module m3head()
{
intersection()
{
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
}
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
}
module grill()
{
difference()
{
translate([24,-5,-20]) cylinder( h=23, r=20.4, $fn=50 );
translate([24,-5,-21]) cylinder( h=26, r=19, $fn=50 );
translate([23,-30,-30]) cube([30,60,35]);
translate([-11,-30,-30]) cube([30,60,35]);
translate([-19,-20,-30]) cube([60,60,35]);
}
translate([23,-24.65,-20]) cylinder( h=23, r=0.72, $fn=50 );
translate([19,-24.01,-20]) cylinder( h=23, r=0.72, $fn=50 );
}
translate([-35.25,10,-20]) grill();
translate([-35.25,0,-20]) grill();
// horizontal fins
translate([-16.5,-35,-25]) cube([4,31,1]);
translate([-16.5,-6,-24.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
translate([-12.5,-6,-24.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
module extruder_cover()
{
difference()
{
union()
{
// base block
translate([-17,-36.5,-40.0]) cube([41.5,42.25,23.0]);
translate([-37.75,-38.5,-40]) rotate([0,0,0]) cylinder( h=5, r=5.9, $fn=6 );
translate([-34,-41.5,-40]) rotate([0,0,20]) cube([30,8,4]);
translate([16,-38.5,-40]) rotate([0,0,45]) cube([3,3,23]);
// fan nozzle mount
translate([11.5,-44,-40]) cube([7,9,7]);
translate([15.5,-44,-40]) cube([5,9,23]);
translate([-15,-44,-40]) cube([6.2,17,6]);
translate([-11,-44,-40]) cube([28,20,1]);
// cable guide above fan
translate([23.5,-1.5,-40]) cube([8,7.25,23]);
}
// side fan cut
translate([20.5,-37.5,-41]) cube([20,36,30]);
// cables hook
translate([34,-1.0,-41]) rotate([0,0,45]) cube([10,10,25]);
difference()
{
translate([20.5,-2.5,-41]) cube([4,5,25]);
translate([20.0,-0.5,-41]) rotate([0,0,60]) cube([5,5,25]);
}
// e3d nozzle cut
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=30, r=11.1, $fn=50 );
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=26, r=11.5, $fn=50 );
translate([0,-3.4,-17]) rotate([90,0,0]) cylinder( h=10, r=8.05, $fn=50 );
translate([0,8,-17]) rotate([90,0,0]) cylinder( h=5.6, r=8.05, $fn=50 );
translate([0,4,-17]) rotate([90,0,0]) cylinder( h=8, r=6.05, $fn=50 );
// hotend cooling tube
// input
translate([12,-21.5,-20]) rotate([0,90,0]) cylinder( h=10, r2=20.5, r1=12, $fn=80 );
translate([1,-20.5,-15.5]) rotate([0,99,0]) cylinder( h=25, r2=17.5, r1=12, $fn=80 );
translate([-10,-35,-28.3]) cube([30,26,32]);
// output
difference()
{
translate([-17.2,-35,-36]) rotate([0,-23,0]) cube([44,26,32]);
translate([-18,-53.5,-40]) rotate([0,0,65]) cube([20,20,32]);
}
// fan screws
translate([7,-37.5,-36]) rotate([0,90,0]) cylinder( h=14, r=1.4, $fn=30 );
translate([7,-5.5,-36]) rotate([0,90,0]) cylinder( h=14, r=1.4, $fn=30 );
translate([19,-37.5,-36]) rotate([0,90,0]) cylinder( h=2, r1=1.4, r2=2, $fn=30 );
translate([19,-5.5,-36]) rotate([0,90,0]) cylinder( h=2, r1=1.4, r2=2, $fn=30 );
// left hold together screw
translate([17,3,-44]) rotate([0,0,0]) cylinder( h=40, r=1.6, $fn=60 );
translate([17,3,-41]) rotate([0,0,0]) cylinder( h=8, r=3.1, $fn=30 );
translate([13.9,3.1,-41]) cube([6.2,10,9]);
// right hold together screw
translate([-11.5,-0.5,-43]) cylinder( h=60, r=1.65, $fn=50 );
translate([-11.5,-0.5,-41]) cylinder( h=5, r=3.1, $fn=30 );
// upper cooling fan screw
translate([5.5,-0.5,-40]) cylinder( h=15, r=1.65, $fn=50 );
translate([5.5,-0.5,-42]) cylinder( h=3, r1=3, r2=1.65, $fn=50 );
// nuts
translate([2.8,-4,-39]) cube([5.6,15,2.1]);
translate([2.8,-2.2,-39]) cube([5.6,3.4,2.5]);
translate([3.8,-2.2,-39]) cube([3.4,3.4,2.9]);
translate([2.8,5.4,-38.4]) rotate([45,0,0]) cube([5.6,10,2]);
// lower cooling fan screw
translate([-37.75,-38.5,-42]) cylinder( h=20, r=1.6, $fn=30 );
translate([-37.75,-38.5,-39.4]) cylinder( h=4, r=3.1, $fn=6 );
translate([-37.75,-38.5,-37.5]) cylinder( h=3, r1=3.1, r2=4.0, $fn=6 );
// nozzle screw
translate([14.5,-40.5,-42]) cylinder( h=10, r=1.4, $fn=30 );
translate([14.5,-40.5,-41]) cylinder( h=3, r1=2.1, r2=1.4, $fn=30 );
// fan and motor cables
translate([21.5,-5.9,-41]) cube([3,5,25]);
translate([20.5,-5.9,-41]) cube([4,5,25]);
translate([13.2,-49.5,-33]) rotate([0,0,20]) cube([6,10,25]);
translate([18.5,-5.5,-22]) rotate([0,180,0]) m3head();
translate([47,-2,-19]) rotate([0,180,0]) m3head();
//version
translate([-3,-36,-38]) rotate([90,0,0]) linear_extrude(height = 0.6)
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
translate([11.5,-0.5,-21]) cylinder( h=5, r=2.0, $fn=50 );
}
}
extruder_cover();

View File

@ -1,32 +0,0 @@
// PRUSA iteration4
// Extruder idler plug
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module plug()
{
difference()
{
union()
{
// Base shape
translate([-17,43,-18.5]) rotate([90,0,90]) cylinder( h=10, r=2.8, $fn=30 );
translate([-17,43,-21.3]) cube([10,4+3.5,5.6]);
translate([-17,43+3,-21.3]) cube([10.6,4.5,5.6]);
}
// Motor screw slot
translate([-11.5,42.5,-32]) cylinder( h=30, r=1.5, $fn=30 );
translate([-11.5-1.5,42.5-5,-25]) cube([3,5,10]);
// Pretty corner
translate([-18,47,-32]) rotate([0,0,30]) cube([15,10,30]);
}
}
rotate([0,0,0])
{
plug();
}

View File

@ -1,111 +0,0 @@
// PRUSA iteration4
// Extruder idler
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module part()
{
difference()
{
union()
{
// base shape
translate([-11.5,42.5,-31.5]) cylinder( h=25, r=5, $fn=50 );
translate([-17,12,-31.5]) cube([8,34,25.0]);
// pulley holders
translate([-4,27,-22.75]) cylinder(h=1, r1=4, r2=3, $fn=50);
translate([-4,27,-27]) cylinder(h=4.25, r=4, $fn=50);
translate([-14,22,-26.75]) cube([10.5,10,4]);
translate([-16.5,22,-6.5]) cube([13,10,3]);
translate([-4,27,-6.5]) cylinder(h=3, r=4, $fn=50);
translate([-4,27,-7.25]) cylinder(h=0.75, r1=3, r2=4, $fn=50);
}
// motor rim cut
translate([7,27,-32.75]) cylinder( h=6, r=18, $fn=80 );
// axis
translate([-4,27,-32]) cylinder( h=40, r=1.45, $fn=50 );
translate([-11.5,42.5,-32]) cylinder( h=30, r=1.65, $fn=50 );
translate([-18,44,-32]) rotate([0,0,30]) cube([15,10,30]);
translate([-18,47,-32]) cube([15,10,30]);
translate([-16,0.5,-32]) rotate([0,0,30]) cube([15,10,30]);
translate([-18,3,-33]) cube([15,10,30]);
// idler nuts
translate([-15,15.7,-39.4]) cube([2.1,5.6,16]);
translate([-15,15.7,-14.6]) cube([2.1,5.6,16]);
// better printing
translate([-14.7,15.6,-28.2]) cube([2.1,5.8,3.4]);
translate([-14.4,16.8,-28.2]) cube([2.1,3.4,3.4]);
translate([-14.7,15.6,-13.2]) cube([2.1,5.8,3.4]);
translate([-14.4,16.8,-13.2]) cube([2.1,3.4,3.4]);
// idler screws
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=50 );
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=50 );
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=50 );
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=50 );
translate([-12,18.5,-26.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=50 );
translate([-12,18.5,-11.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=50 );
translate([-5.3,16.2,-33]) rotate([0,0,30]) cube([5,5,40]);
translate([-7.8,33.5,-33]) rotate([0,0,-30]) cube([5,5,40]);
translate([-18,29,-17.6]) rotate([90,0,0]) rotate([0,90,0]) cylinder( h=10, r1=9, r2=6, $fn=6 );
// nice edges
translate([-26,10,-2]) rotate([0,45,0]) cube([10,40,10]);
translate([-26,10,-35.5]) rotate([0,45,0]) cube([10,40,10]);
translate([-10,2,-35]) cube([20,20,50]);
//selective infill
translate([-11,24,-5]) cube([5,6,0.2]);
translate([-11,24,-26]) cube([5,6,0.2]);
// filament sensor cleaning window
translate([-20,43,-18.5]) rotate([90,0,90]) cylinder( h=15, r=3, $fn=30 );
translate([-20,43,-21.5]) cube([21,10,6]);
}
difference()
{
// side cut
translate([-17,22,-8]) cube([4,17,4.5]);
translate([-9.5,33,-9]) rotate([0,0,45]) cube([10,10,6]);
// side cut edges
translate([-26,10,1]) rotate([0,45,0]) cube([10,40,10]);
translate([-22.5,14,-10]) rotate([0,0,45]) cube([10,10,10]);
translate([-22.5,33,-10]) rotate([0,0,45]) cube([10,10,10]);
}
translate([-11.5,28,-8]) rotate([0,0,45]) cube([3,6,4.5]);
}
rotate([0,-90,0]) part();

View File

@ -1,49 +0,0 @@
// PRUSA iteration4
// Filament sensor cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module part()
{
difference()
{
union()
{
// base shape
translate([-6,50,-30.5]) cube([24,3,36]);
translate([0,60,-17]) rotate([90,0,0]) cylinder(r=4.2,h = 10, $fn=30);
translate([0,61.5,-17]) rotate([90,0,0]) cylinder(r1=3, r2=4.2, h=1.5, $fn=30);
}
// mounting screws
translate([12,60,-12]) rotate([90,0,0]) cylinder(r=1.6,h = 20, $fn=30);
translate([-1,60,-24.5]) rotate([90,0,0]) cylinder(r=1.6,h = 20, $fn=30);
translate([12,54.5,-12]) rotate([90,0,0]) cylinder(r=3.1,h = 3, $fn=30);
translate([-1,54.5,-24.5]) rotate([90,0,0]) cylinder(r=3.1,h = 3, $fn=30);
// filament guide
translate([0,59.8,-17]) rotate([90,0,0]) cylinder(r=2.2,h = 9.8, $fn=30);
translate([0,61,-17]) rotate([90,0,0]) cylinder(r=1,h = 20, $fn=30);
translate([0,62.5,-17]) rotate([90,0,0]) cylinder(r2=1.2, r1=3,h = 3, $fn=30);
translate([0,53.9,-17]) rotate([90,0,0]) cylinder(r1=2.2, r2=3,h = 4, $fn=30);
// nice edges
translate([19,50,-40]) rotate([0,0,45]) cube([10,10,50]);
translate([-9,49,-38]) rotate([0,0,45]) cube([6,5,50]);
translate([-8,56.5,-39]) rotate([45,0,0]) cube([50,10,10]);
translate([-8,56.5,-1]) rotate([45,0,0]) cube([50,10,10]);
translate([7,50.4,0]) rotate([90,180,0]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
}
}
rotate([90,0,0]) part();

View File

@ -1,206 +0,0 @@
// PRUSA iteration4
// Heatbed cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module cover()
{
difference()
{
// base block
translate([-18,0,0]) cube([36,32,8.6]);
// inner cut
translate([-15,-0.5,-3]) cube([30,16.5,9]);
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=3.3, $fn=60);
translate([-15,15,-6]) cube([30,19,9]);
// inner edges
translate([-4,4.5,0]) rotate([0,0,45]) cube([15,15,6]);
translate([4.0,4.51,0]) rotate([0,0,45]) cube([15,15,6]);
// outer edges
translate([-18.0,25,-1]) rotate([0,0,45]) cube([11,11,10]);
translate([18,25,-1]) rotate([0,0,45]) cube([11,11,10]);
// screw holes for clip
translate([-10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
translate([10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
// clip nuts entry
translate([-10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
translate([10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
// clip nuts with print supports
difference()
{
union()
{
translate( [ -10 , 25 , 5.65 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
translate( [ 10 , 25 , 5.65 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
}
translate([-8.3,0,0.25]) cube([16.6,40,5.7]);
translate([-16.7,0,0.25]) cube([5,40,5.7]);
translate([11.7,0,0.25]) cube([5,40,5.7]);
translate([-20,13.3,0.25]) cube([70,10,6]);
translate([-20,26.7,0.25]) cube([70,10,6]);
}
// pcb nut
difference()
{
union()
{
translate( [ 0 , 7.5 , 5.5 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
}
translate([-11.7,0,0.8]) cube([10,40,5.5]);
translate([1.7,0,.8]) cube([10,40,5.5]);
translate([-5,-4.2,1.1]) cube([10,10,5.5]);
translate([-5,9.2,1.1]) cube([10,10,5.5]);
}
// heatbed screw
translate([0,7.5,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
translate([0,7.5,3]) cylinder(h = 6, r=1.7, $fn=50);
// LED window
translate([-2.5,-1,-4]) cube([5,3.5,10]);
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
// edges
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
translate([-23,-1,8.5]) rotate([0,45,0]) cube([5,45,6]);
translate([15.8,-1,8.7]) rotate([0,45,0]) cube([6,45,5]);
translate([30,12,8.7]) rotate([0,45,45]) cube([6,45,5]);
translate([-40.6,12,9.7]) rotate([0,45,-45]) cube([6,45,5]);
}
// heatbed pcb support
translate([-17,0,4]) cube([3,20,2]);
translate([14,0,4]) cube([3,20,2]);
translate([-17,0,4]) cube([14,2,2]);
translate([3,0,4]) cube([14,2,2]);
// heatbed screw body
difference()
{
translate([0,7.5,4]) cylinder(h = 2.1, r=5, $fn=6);
translate([0,7.5,6.05]) cylinder(h = 4, r=3.15, $fn=6);
translate([0,7.5,3]) cylinder(h = 7, r=1.7, $fn=50);
}
}
module clip()
{
difference()
{
// base body
translate([-15,15.5,-3]) cube([30,16.5,6]);
// cables cut
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
// screws
translate([-10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
translate([10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
translate([-10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50);
translate([10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50);
// print support for nut heads
difference()
{
union()
{
translate([-10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
translate([10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
}
translate([-30,13.3,-0.8]) cube([60,10,2]);
translate([-30,26.7,-0.8]) cube([60,10,2]);
translate([-8.3,20,-1.1]) cube([16.6,10,2]);
translate([-21.7,20,-1.1]) cube([10,10,2]);
translate([11.7,20,-1.1]) cube([10,10,2]);
}
// thermistor cable entry
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3.3, $fn=60);
// edges
translate([-18.0,25,-5]) rotate([0,0,45]) cube([11,11,15]);
translate([18,25,-5]) rotate([0,0,45]) cube([11,11,15]);
// inner angled cut
difference()
{
translate([-15,15,0]) cube([30,11,4]);
translate([-14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
translate([14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
translate([-13,11,-1]) rotate([-45,0,45]) cube([20,20,6]);
translate([13,11,-1]) rotate([0,45,45]) cube([20,20,6]);
translate([-10,16,-10]) rotate([30,0,0]) cube([20,20,6]);
}
}
// cable rims
difference()
{
difference()
{
translate([-0,32,3]) rotate([90,0,0]) cylinder(h = 7, r=4.5, $fn=60);
translate([-0,34,3]) rotate([90,0,0]) cylinder(h = 17, r=3, $fn=60);
}
translate([-15,17,3]) cube([30,20,6]);
translate([-15,26,-5]) cube([30,2,16]);
translate([-15,29,-5]) cube([30,2,16]);
}
}
translate([0,0,8.6]) rotate([0,180,0])
{
translate([0,20,5.6]) rotate([0,180,0]) clip();
cover();
}

View File

@ -1,206 +0,0 @@
// PRUSA iteration4
// Heatbed cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module cover()
{
difference()
{
// base block
translate([-18,0,0]) cube([36,32,8.6]);
// inner cut
translate([-15,-0.5,-3]) cube([30,16.5,9]);
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
translate([-15,15,-6]) cube([30,19,9]);
// inner edges
translate([-4,4.5,0]) rotate([0,0,45]) cube([15,15,6]);
translate([4.0,4.51,0]) rotate([0,0,45]) cube([15,15,6]);
// outer edges
translate([-18.0,25,-1]) rotate([0,0,45]) cube([11,11,10]);
translate([18,25,-1]) rotate([0,0,45]) cube([11,11,10]);
// screw holes for clip
translate([-10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
translate([10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
// clip nuts entry
translate([-10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
translate([10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
// clip nuts with print supports
difference()
{
union()
{
translate( [ -10 , 25 , 5.65 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
translate( [ 10 , 25 , 5.65 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
}
translate([-8.3,0,0.25]) cube([16.6,40,5.7]);
translate([-16.7,0,0.25]) cube([5,40,5.7]);
translate([11.7,0,0.25]) cube([5,40,5.7]);
translate([-20,13.3,0.25]) cube([70,10,6]);
translate([-20,26.7,0.25]) cube([70,10,6]);
}
// pcb nut
difference()
{
union()
{
translate( [ 0 , 7.5 , 5.5 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
}
translate([-11.7,0,0.8]) cube([10,40,5.5]);
translate([1.7,0,.8]) cube([10,40,5.5]);
translate([-5,-4.2,1.1]) cube([10,10,5.5]);
translate([-5,9.2,1.1]) cube([10,10,5.5]);
}
// heatbed screw
translate([0,7.5,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
translate([0,7.5,3]) cylinder(h = 6, r=1.7, $fn=50);
// LED window
translate([-2.5,-1,-4]) cube([5,3.5,10]);
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
// edges
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
translate([-23,-1,8.5]) rotate([0,45,0]) cube([5,45,6]);
translate([15.8,-1,8.7]) rotate([0,45,0]) cube([6,45,5]);
translate([30,12,8.7]) rotate([0,45,45]) cube([6,45,5]);
translate([-40.6,12,9.7]) rotate([0,45,-45]) cube([6,45,5]);
}
// heatbed pcb support
translate([-17,0,4]) cube([3,20,2]);
translate([14,0,4]) cube([3,20,2]);
translate([-17,0,4]) cube([14,2,2]);
translate([3,0,4]) cube([14,2,2]);
// heatbed screw body
difference()
{
translate([0,7.5,4]) cylinder(h = 2.1, r=5, $fn=6);
translate([0,7.5,6.05]) cylinder(h = 4, r=3.15, $fn=6);
translate([0,7.5,3]) cylinder(h = 7, r=1.7, $fn=50);
}
}
module clip()
{
difference()
{
// base body
translate([-15,15.5,-3]) cube([30,16.5,6]);
// cables cut
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
// screws
translate([-10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
translate([10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
translate([-10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50);
translate([10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50);
// print support for nut heads
difference()
{
union()
{
translate([-10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
translate([10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
}
translate([-30,13.3,-0.8]) cube([60,10,2]);
translate([-30,26.7,-0.8]) cube([60,10,2]);
translate([-8.3,20,-1.1]) cube([16.6,10,2]);
translate([-21.7,20,-1.1]) cube([10,10,2]);
translate([11.7,20,-1.1]) cube([10,10,2]);
}
// thermistor cable entry
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3.3, $fn=60);
// edges
translate([-18.0,25,-5]) rotate([0,0,45]) cube([11,11,15]);
translate([18,25,-5]) rotate([0,0,45]) cube([11,11,15]);
// inner angled cut
difference()
{
translate([-15,15,0]) cube([30,11,4]);
translate([-14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
translate([14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
translate([-13,11,-1]) rotate([-45,0,45]) cube([20,20,6]);
translate([13,11,-1]) rotate([0,45,45]) cube([20,20,6]);
translate([-10,16,-10]) rotate([30,0,0]) cube([20,20,6]);
}
}
// cable rims
difference()
{
difference()
{
translate([-0,32,3]) rotate([90,0,0]) cylinder(h = 7, r=4.5, $fn=60);
translate([-0,34,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
}
translate([-15,17,3]) cube([30,20,6]);
translate([-15,26,-5]) cube([30,2,16]);
translate([-15,29,-5]) cube([30,2,16]);
}
}
translate([0,0,8.6]) rotate([0,180,0])
{
translate([0,20,5.6]) rotate([0,180,0]) clip();
cover();
}

View File

@ -1,244 +0,0 @@
// PRUSA iteration4
// Heatbed cover MK2.5
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module cover()
{
difference()
{
// base block
translate([-18,0,0]) cube([36,36,9]);
// inner cut
translate([-15,-0.5,-3]) cube([30,16,9]);
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=3.3, $fn=60);
translate([-15,15,-6]) cube([30,22,9]);
// inner edges
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([2.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
translate([-10.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
translate([6.96,19.45,0]) rotate([0,0,45]) cube([5,10,6]);
translate([-6.96,19.45,0]) rotate([0,0,45]) cube([10,5,6]);
translate([3.96,18.45,0]) rotate([0,0,20]) cube([5,6,6]);
translate([-3.96,18.45,0]) rotate([0,0,70]) cube([6,5,6]);
translate([-0,20,0.5]) rotate([90,0,0]) cube([11,11,11], center = true);
translate([2,14,-1]) rotate([0,0,10]) cube([8,13,6]);
translate([-9.88,15.21,-1]) rotate([0,0,-10]) cube([8,13,6]);
// outer edges
translate([-18.0,32,-1]) rotate([0,0,25]) cube([11,11,11]);
translate([18,32,-1]) rotate([0,0,65]) cube([11,11,11]);
// screw holes for clip
translate([-11,30,0]) cylinder(h = 10, r=1.6, $fn=50);
translate([11,30,0]) cylinder(h = 10, r=1.6, $fn=50);
// clip nuts entry
translate([-11,30,8.2]) rotate([0,0,0]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
translate([11,30,8.2]) rotate([0,0,0]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
// heatbed terminal screw pockets
translate([8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
translate([-8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
// clip nuts with print supports
difference()
{
union()
{
translate( [ 11 , 30 , 6 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
translate( [ -11 , 30 , 6 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
}
translate([-9.4,4,0.6]) cube([18.8,40,5.7]);
translate([-17.6,4,0.6]) cube([5,40,5.7]);
translate([12.6,4,0.6]) cube([5,40,5.7]);
translate([-22,18.4,0.6]) cube([70,10,6]);
translate([-20,31.6,0.6]) cube([70,10,6]);
}
difference()
{
union()
{
translate( [ 0 , 7.5 , 5.4 ] ){
cylinder( h = 4, r = 3.15, $fn=6);
}
}
translate([-11.6,0,1]) cube([10,40,5.7]);
translate([1.6,0,1]) cube([10,40,5.7]);
translate([-5,-4.1,1]) cube([10,10,6]);
translate([-5,9.1,1]) cube([10,10,6]);
}
// heatbed screw nut entry
translate([0,7.5,8.2]) rotate([0,0,0]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
// LED window
translate([-2.5,-1,-4]) cube([5,3.5,10]);
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
// edges
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
translate([-23.3,-1,9.7]) rotate([0,45,0]) cube([6,45,6]);
translate([14.8,-1,9.7]) rotate([0,45,0]) cube([6,45,5]);
}
// heatbed pcb support
translate([-17,0,4]) cube([3,20,2]);
translate([14,0,4]) cube([3,20,2]);
translate([-17,0,4]) cube([14,2,2]);
translate([3,0,4]) cube([14,2,2]);
// heatbed screw body
difference()
{
translate([0,7.5,4]) rotate(90, v = [0,0,1]) cylinder(h = 3.9, r=2.75, $fn=50);
translate([0,7.5,6.5]) cylinder(h = 4, r=2.76, $fn=50);
translate([0,7.5,3]) cylinder(h = 4, r=1.6, $fn=50);
}
}
module clip()
{
difference()
{
// base body
translate([-15,15.5,-3]) cube([30,20.5,6]);
// inner angled cut
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate([3.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
translate([-10.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
translate([-7,15,0]) rotate([0,0,0]) cube([14,11,6]);
translate([3,14,1]) rotate([0,0,10]) cube([7,13,6]);
translate([-9.88,15.21,1]) rotate([0,0,-10]) cube([7,13,6]);
// cables cut
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 187, r=4, $fn=60);
// screws
translate([-11,30,-3]) cylinder(h = 10, r=1.6, $fn=50);
translate([11,30,-3]) cylinder(h = 10, r=1.6, $fn=50);
translate([-11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50);
translate([11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50);
// print support for nut heads
difference()
{
union()
{
translate([-11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
translate([11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
}
translate([-30,18.4,-0.8]) cube([60,10,2]);
translate([-30,31.6,-0.8]) cube([60,10,2]);
translate([-9.4,25,-1.1]) cube([18.8,10,2]);
translate([-22.6,25,-1.1]) cube([10,10,2]);
translate([12.6,25,-1.1]) cube([10,10,2]);
}
// thermistor cable entry
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3, $fn=60);
// edges
translate([-18.0,32,-5]) rotate([0,0,25]) cube([11,11,15]);
translate([18,32,-5]) rotate([0,0,65]) cube([11,11,15]);
}
// cable rims
difference()
{
difference()
{
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 10, r=4.5, $fn=60);
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3, $fn=60);
}
translate([-15,18,3]) cube([30,20,6]);
translate([-15,27,-5]) cube([30,2,16]);
translate([-15,30,-5]) cube([30,2,16]);
translate([-15,33,-5]) cube([30,2,16]);
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
translate([-4,20,0]) rotate([0,0,0]) cube([8,11,6]);
}
}
translate([0,40,3])
clip();
translate([0,40,9]) rotate([180,0,0])
cover();

Some files were not shown because too many files have changed in this diff Show More