Compare commits

...

304 Commits
MK2S ... 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
akukan 983b1fa3f7
plug aligner added
plug aligner added
2019-01-14 15:46:29 +01:00
akukan e987f158c8
Part rotated top proper print position 2018-10-12 09:51:26 +02:00
fandasson feb44f2e18
Change file content (see CONTENT-225 issue) 2018-10-02 11:10:27 +02:00
veverkaondrej ed430589a8
nut holders edited (8mm sleeve) 2018-10-01 13:25:03 +01:00
veverkaondrej 1cb5e931fc
nut holders edited, sleeve size changed to 6mm 2018-10-01 13:23:41 +01:00
veverkaondrej c11bb609d0
nut holders edited (8mm sleeve) 2018-10-01 13:22:53 +01:00
veverkaondrej 9df80861c0
Screw mounted cables version (8mm sleeve) 2018-10-01 13:21:04 +01:00
veverkaondrej 5fa1eb0c00
Older type of heatbed cover without screw holes(8mm sleeve) 2018-10-01 13:20:27 +01:00
veverkaondrej 39dc93f8d7
Delete heatbed-cable-cover_8mm_sleeve.scad 2018-10-01 14:19:42 +02:00
veverkaondrej 956e7df7f2
Older type of heatbed cover without screw holes (8mm sleeve) 2018-10-01 13:18:57 +01:00
veverkaondrej e5a4833ae4
Screw mounted cables version (8mm sleeve) 2018-10-01 13:18:02 +01:00
veverkaondrej 13c08fe4f0
Screw mounted cables version (8mm sleeve) 2018-10-01 13:17:16 +01:00
veverkaondrej 0c39ee077d
Delete heatbed-cable-cover_8mm_sleeve.scad 2018-10-01 14:16:54 +02:00
veverkaondrej 123e2f451c
Screw mounted cables version (8mm sleeve) 2018-10-01 13:16:42 +01:00
veverkaondrej 42e71a0de5
Older type of heatbed cover without screw holes 2018-10-01 13:15:48 +01:00
veverkaondrej 90d4f3d8dd
Older type of heatbed cover without screw holes (8mm sleeve) 2018-10-01 13:14:08 +01:00
veverkaondrej e0b1ad6ad9
extruder cable clip for new Einsy_base 2018-10-01 10:59:46 +01:00
veverkaondrej dd9744c2b3
wall thickness chages 2018-10-01 10:58:55 +01:00
veverkaondrej 56ee8d459c
heatbed cable clip for new Einsy_base (8mm sleeve) 2018-10-01 10:58:22 +01:00
veverkaondrej 6ec7d5187d
heatbed cable clip for new Einsy_base 2018-10-01 10:57:52 +01:00
veverkaondrej 563bec3b06
Delete heatbed-cable-cover-clip-no-screw.stl 2018-10-01 11:56:59 +02:00
veverkaondrej 7ad646016c
Tolerances 2018-10-01 10:55:43 +01:00
veverkaondrej 322fbc244f
Tolerances 2018-10-01 10:55:19 +01:00
veverkaondrej 07a2e1b711
selective infill improved 2018-10-01 10:54:43 +01:00
veverkaondrej 20dfcb0d59
Delete x-end.scad 2018-10-01 11:54:27 +02:00
veverkaondrej 35daacd141
Delete y-motor-holder.scad 2018-10-01 11:54:18 +02:00
veverkaondrej 051018ecf2
selective infill improved 2018-10-01 10:54:01 +01:00
veverkaondrej 01ca411464
tolerances changes 2018-10-01 10:53:32 +01:00
veverkaondrej 850447485d
improved nut traps 2018-10-01 10:52:32 +01:00
veverkaondrej 15fc687b66
improved nut traps 2018-10-01 10:51:55 +01:00
veverkaondrej 3a50da854b
improved nut traps 2018-10-01 10:51:08 +01:00
veverkaondrej cd66d94f6f
improved nut traps, wall thickness expanded 2018-10-01 10:50:39 +01:00
veverkaondrej 125676633a
better nylon holder, nut inserts edited 2018-10-01 10:49:48 +01:00
veverkaondrej c3aefb438d
Screw mounted cables version 2018-10-01 10:47:57 +01:00
veverkaondrej 2feecfb5db
Older type of heatbed cover without screw holes 2018-10-01 10:47:04 +01:00
veverkaondrej 5e5b1d8f61
resize to fit with Einsy_base 2018-10-01 10:45:54 +01:00
veverkaondrej 2445e3d675
new cable clips, raspberry doors, cable management 2018-10-01 10:45:15 +01:00
veverkaondrej c3e79da9f7
initial version 2018-09-27 11:01:31 +01:00
veverkaondrej f4460d0d63
Delete raspberry_cover.stl 2018-09-27 11:00:52 +01:00
veverkaondrej f3ee52d6bf
raspberry cover for einsy base, iitial versio 2018-09-27 11:00:09 +01:00
veverkaondrej a80f2fd7ac
Delete raspberry_cover.stl 2018-09-27 10:59:25 +01:00
veverkaondrej dfda09d8ad
wall thickness chages 2018-09-27 10:56:45 +01:00
veverkaondrej 69395a6d32
Delete z-axis-bottom.stl 2018-09-27 10:53:50 +01:00
veverkaondrej a36890099f
tolerances changes 2018-09-27 10:53:30 +01:00
veverkaondrej 21866670bf
Delete y-rod-holder.stl 2018-09-27 10:52:04 +01:00
veverkaondrej 61775c1b87
selective infill improved 2018-09-27 10:49:46 +01:00
veverkaondrej 74d3b9b925
Delete y-motor-holder.stl 2018-09-27 10:49:18 +01:00
veverkaondrej 4252b344d5
improved nut traps 2018-09-27 10:48:40 +01:00
veverkaondrej 24792afc19
Delete x-end-motor.stl 2018-09-27 10:47:39 +01:00
veverkaondrej 214722d86e
improved nut traps, wall thickness expanded 2018-09-27 10:45:56 +01:00
veverkaondrej a2877c65fe
Delete x-end-idler.stl 2018-09-27 10:43:53 +01:00
veverkaondrej 99c33e938b
better nylon holder, nut inserts edited 2018-09-27 10:43:03 +01:00
veverkaondrej 216172084b
Delete x-carriage.stl 2018-09-27 10:42:06 +01:00
veverkaondrej 77242858f3
nut holders edited, sleeve size changed to 6mm 2018-09-27 10:41:41 +01:00
veverkaondrej 4eb97cf144
Delete heatbed-cable-cover.stl 2018-09-27 10:41:18 +01:00
veverkaondrej 3af2a8317b
nut holders edited, sleeve size changed to 6mm 2018-09-27 10:40:47 +01:00
veverkaondrej 1ae1fa3a3f
Delete heatbed-cable-cover-no-screw.stl 2018-09-27 10:38:48 +01:00
veverkaondrej 818445e403
heatbed cable clip for new Einsy_base (8mm sleeve) 2018-09-27 10:38:11 +01:00
veverkaondrej f99289f4be
Delete Heatbed-cable-clip_for_8mm_sleeve.stl 2018-09-27 10:37:30 +01:00
veverkaondrej a5dc2d9023
Delete Heatbed-cable-clip_8mm.stl 2018-09-27 10:37:21 +01:00
veverkaondrej 8dfe8721be
heatbed cable clip for new Einsy_base 2018-09-27 10:36:59 +01:00
veverkaondrej 154df78c22
Delete Heatbed-cable-clip.stl 2018-09-27 10:36:32 +01:00
veverkaondrej 2d85e1b1fd
extruder cable clip for new Einsy_base 2018-09-27 10:36:10 +01:00
veverkaondrej a0d2e1ac72
Delete Extruder-cable-clip.stl 2018-09-27 10:35:14 +01:00
veverkaondrej eb7715e923
resize to fit with Einsy_base 2018-09-27 10:34:53 +01:00
veverkaondrej d00ce565f5
Delete Einsy-hinges.stl 2018-09-27 10:34:01 +01:00
veverkaondrej 72ca9bb549
new cable clips, raspberry doors, cable management
- new extruder and heatbed cable holders, clips 
- ziptie cable management added
- new popup doors for raspberry pi (raspberry pi cover available)
2018-09-27 10:33:41 +01:00
veverkaondrej 495341bedb
Delete Einsy-base.stl 2018-09-27 10:32:52 +01:00
veverkaondrej 0fd33a2aa3
new cable clips, raspberry doors, cable management
- new extruder and heatbed cable holders, clips 
- ziptie cable management added
- new popup doors for raspberry pi (raspberry pi cover available)
2018-09-27 10:06:10 +01:00
veverkaondrej 6b9d9e8150
general changes 2018-09-27 09:41:49 +01:00
veverkaondrej 47ff359fe1
Add files via upload 2018-09-27 09:32:41 +01:00
fandasson 5d2499efdc
Information about parts updated
See P3-93 in YouTrack
2018-08-13 13:46:44 +02:00
akukan ef207a49a2
Heatbreak and print cooling update
Heatbreak and print cooling update, removed second unused screw, cables clearance
2018-08-01 17:44:57 +02:00
akukan 737b6b1c37
Delete extruder-cover-v2.stl 2018-08-01 17:43:11 +02:00
akukan 166cee0447
Delete extruder-body-v2.stl 2018-08-01 17:42:58 +02:00
akukan 1a224d8ee1
Angled fan version 2018-08-01 17:42:31 +02:00
akukan 7dec17ca03
Heatbreak and print cooling update 2018-08-01 17:41:16 +02:00
akukan ad994c49ac
Heatbreak and print cooling update
Extruder body and cover : Improved cooling of the heatbreak by redesigning intake / outtake of cooling air with additional air feed opening. Improved PTFE tube holder for better flex materials handling.  Nozzle fan :  fan mounted at 45 degree angle to improve air flow, redesigned nozzle.
2018-07-17 19:18:37 +02:00
fandasson 92fc7de934
Filename changed + content updated 2018-05-03 18:07:01 +02:00
akukan 142f2cf82e
Older type of heatbed cover without screw holes 2018-04-26 09:57:08 +02:00
akukan de881a9a44
Older type of heatbed cover without screw holes 2018-04-26 09:55:58 +02:00
akukan 700fcd21ed
Older type of heatbed cover without screw holes 2018-04-26 09:54:56 +02:00
akukan b6b1f1a951
PSU cover added 2018-04-17 13:38:32 +02:00
akukan 6f3022b461
PSU cover added 2018-04-17 13:37:59 +02:00
akukan 3e2ca3bf85
Screw mounted cables version 2018-04-17 13:18:45 +02:00
akukan 5816f597ec
Screw mounted cables version 2018-04-17 13:18:10 +02:00
veverkaondrej b44b999e61
MK2S to MK3 upgrade - Parts list 2018-04-05 10:37:59 +02:00
veverkaondrej 0406e906a7
initial version 2018-03-21 16:25:04 +01:00
veverkaondrej f160de9c7a
initial version 2018-03-21 16:16:22 +01:00
akukan f89c00d1fd
Tolerances, motor opening & clearance 2018-02-11 11:14:58 +01:00
akukan 85d9682977
Tolerances, motor opening & clearance 2018-02-11 11:13:44 +01:00
akukan abda6211cf
Belt holder change, tolerances 2018-02-11 11:12:18 +01:00
akukan f6462d6244
Belt holder change, tolerances 2018-02-11 11:11:40 +01:00
akukan 7cd141fdbf
belt tensioner, pulley screw fix, trapeziod nut reinforcement, tolerances 2018-02-11 11:10:35 +01:00
akukan 653881f62f
belt tensioner, pulley screw fix, trapeziod nut reinforcement, tolerances 2018-02-11 11:09:21 +01:00
akukan 576ff8fbe6
thin wall cut, tolerances 2018-02-11 11:06:54 +01:00
akukan 7599870458
thin wall cut, tolerances 2018-02-11 11:06:19 +01:00
akukan 46f10417d3
motor opening, tolerances 2018-02-11 11:03:52 +01:00
akukan b71c8f3c08
motor opening, tolerances 2018-02-11 11:03:18 +01:00
akukan ce0396c5bd
SD card window size & supports 2018-02-11 10:59:20 +01:00
akukan a97e0c213b
SD card window size & supports 2018-02-11 10:58:36 +01:00
akukan 839394efe6
extruder screw clearance, tolerances 2018-02-11 10:56:38 +01:00
akukan 585d7b048d
extruder screw clearance, tolerances 2018-02-11 10:55:45 +01:00
akukan d6aa325fdc
screws & nuts tolerances , rotated to proper print position 2018-02-11 10:54:43 +01:00
akukan eb6a5f64a9
screws & nuts tolerances , rotated to proper print position 2018-02-11 10:53:08 +01:00
akukan 0dd8cb902e
tolerances 2018-02-11 10:51:35 +01:00
akukan e7fa7238e3
screws and nuts tolerances 2018-02-11 10:50:10 +01:00
akukan 2b72d22a20
screws and nuts tolerances 2018-02-11 10:48:10 +01:00
akukan ce1d38f47c
removed, replaced by y-rod-holder 2018-02-11 10:30:45 +01:00
akukan 9ae408cc70
removed, replaced by y-rod-holder 2018-02-11 10:30:32 +01:00
akukan 0f1ee01698
removed, replaced by y-rod-holder 2018-02-11 10:30:16 +01:00
akukan 7979040296
removed, replaced by y-rod-holder 2018-02-11 10:29:58 +01:00
akukan c924f73204
y-rod-holder added 2018-01-25 11:16:20 +01:00
akukan ae2a9a1052
y-rod-holder added 2018-01-25 11:15:32 +01:00
akukan f83cb78659
Rotated to proper print position 2018-01-22 15:01:11 +01:00
akukan 85a377a4c2
Rotated to proper print position 2018-01-22 15:00:15 +01:00
akukan b593d3d091
Heatbed cable cover with screw clip 2018-01-10 09:50:23 +01:00
akukan 524e47bf4b
Heatbed cable cover with screw clip 2018-01-10 09:49:38 +01:00
akukan 1472494fbf
rpi-zero-frame added 2017-12-13 17:35:35 +01:00
akukan 035540a665
Spool-holder added 2017-12-07 19:49:40 +01:00
akukan 4f6a58f242
Frame components added 2017-12-05 11:30:07 +01:00
akukan 12474ef439
Update README.md 2017-12-05 07:48:52 +01:00
akukan b188f8bd51
Delete Heatbed-MK24.sch 2017-12-05 07:46:39 +01:00
akukan 48a9879ad9
Delete Heatbed-MK24.brd 2017-12-05 07:46:29 +01:00
akukan 38148bbd7e
Update README.md 2017-11-29 17:30:13 +01:00
akukan eb6f98bda6
Delete i3-anti-vib.stl 2017-11-29 17:27:33 +01:00
akukan 97c7607b95
MK3 - initial 2017-11-29 17:25:39 +01:00
akukan 1f44ea04ba
Delete i3-anti-vib.scad 2017-11-29 17:24:31 +01:00
akukan 1c069488bb
MK3 - initial 2017-11-29 17:24:03 +01:00
akukan 4096f29428
Delete z-axis-top.stl 2017-11-29 17:18:07 +01:00
akukan 60474d65ff
Delete z-axis-bottom.stl 2017-11-29 17:18:01 +01:00
akukan bc47d7f0f7
Delete y-motor.stl 2017-11-29 17:17:55 +01:00
akukan ff5fef2a30
Delete y-idler.stl 2017-11-29 17:17:49 +01:00
akukan 18d6e6a5f6
Delete y-corners.stl 2017-11-29 17:17:40 +01:00
akukan 689bd131ff
Delete y-belt-holder.stl 2017-11-29 17:17:34 +01:00
akukan 9a515608cf
Delete x-end-motor.stl 2017-11-29 17:17:28 +01:00
akukan 809e8240ad
Delete x-end-idler.stl 2017-11-29 17:17:22 +01:00
akukan 98e7301c41
Delete x-carriage.stl 2017-11-29 17:17:16 +01:00
akukan 1c41a389c4
Delete spool holdahMK3.stl 2017-11-29 17:17:09 +01:00
akukan 60b4dc56ad
Delete lcd-support-B.stl 2017-11-29 17:17:04 +01:00
akukan 71f1b9ab46
Delete lcd-support-A.stl 2017-11-29 17:16:57 +01:00
akukan 55eb9ba47d
Delete heatbed_cable_cover.stl 2017-11-29 17:16:51 +01:00
akukan 2bdf721d98
Delete fan-nozzle.stl 2017-11-29 17:16:45 +01:00
akukan 3510e37c78
Delete extruder-idler.stl 2017-11-29 17:16:38 +01:00
akukan 591f33ed01
Delete extruder-cover.stl 2017-11-29 17:16:32 +01:00
akukan cbf0952820
Delete extruder-body.stl 2017-11-29 17:16:26 +01:00
akukan 6046c9b6c5
Delete cable-holder.stl 2017-11-29 17:16:19 +01:00
akukan 3bd17aca1d
Delete z-screw-cover.stl 2017-11-29 17:16:12 +01:00
akukan 6ca360cd9f
Delete belt-guide.stl 2017-11-29 17:16:04 +01:00
akukan e98a5714fd
Delete Y-distance.stl 2017-11-29 17:15:58 +01:00
akukan 08b6b37288
Delete RAMBo_hinges.stl 2017-11-29 17:15:47 +01:00
akukan bc80775c38
Delete RAMBo-doors.stl 2017-11-29 17:15:41 +01:00
akukan 4893c17f80
Delete RAMBo-base.stl 2017-11-29 17:15:31 +01:00
akukan 35bfa58c70
Delete PSU-cover-NODRILL.stl 2017-11-29 17:15:24 +01:00
akukan 11a0922136
Delete PSU-Y-part.stl 2017-11-29 17:15:18 +01:00
akukan 886b9ced1a
Delete PINDA_protector.stl 2017-11-29 17:15:12 +01:00
akukan 095bd6323a
Delete LCD-knob.stl 2017-11-29 17:15:03 +01:00
akukan a3fe58fd97
Delete LCD-cover-ORIGINAL.stl 2017-11-29 17:14:56 +01:00
akukan 4182de7ef5
Delete LCD-cable-clip.stl 2017-11-29 17:14:48 +01:00
akukan 803c9c19a7
Delete z-screw-cover.scad 2017-11-29 17:14:35 +01:00
akukan b71b40425f
Delete z-axis-top.scad 2017-11-29 17:14:27 +01:00
akukan 8f66620199
Delete z-axis-bottom.scad 2017-11-29 17:14:20 +01:00
akukan 4807f56793
Delete y-motor.scad 2017-11-29 17:14:12 +01:00
akukan 3dbd5153c9
Delete y-idler.scad 2017-11-29 17:14:03 +01:00
akukan d9b18fff82
Delete y-corners.scad 2017-11-29 17:13:57 +01:00
akukan bb5395254d
Delete y-belt-holder.scad 2017-11-29 17:13:49 +01:00
akukan b49b927b77
Delete x-end.scad 2017-11-29 17:13:41 +01:00
akukan e65619caf7
Delete x-end-motor.scad 2017-11-29 17:13:34 +01:00
akukan 341f8f8239
Delete x-end-idler.scad 2017-11-29 17:13:23 +01:00
akukan 4bff36e2c5
Delete x-carriage.scad 2017-11-29 17:13:15 +01:00
akukan fe0af63648
Delete spool holdahMK3.scad 2017-11-29 17:13:05 +01:00
akukan 81642987ac
Delete spool holdahMK3.dxf 2017-11-29 17:12:58 +01:00
akukan a87274c727
Delete polyholes.scad 2017-11-29 17:12:48 +01:00
akukan 5eedba7d28
Delete lcd-support-B.scad 2017-11-29 17:12:42 +01:00
akukan b3673e0252
Delete lcd-support-A.scad 2017-11-29 17:12:35 +01:00
akukan a4538f07b2
Delete bearing.scad 2017-11-29 17:12:27 +01:00
akukan 5ff2d6dcae
Delete heatbed_cable_cover.scad 2017-11-29 17:12:16 +01:00
akukan 391defaa1e
Delete fan-nozzle.scad 2017-11-29 17:12:08 +01:00
akukan 9b7ef3b6bb
Delete extruder-main.scad 2017-11-29 17:12:00 +01:00
akukan 0d1a233a99
Delete extruder-idler.scad 2017-11-29 17:11:45 +01:00
akukan e97eb2ad7c
Delete extruder-cover.scad 2017-11-29 17:11:38 +01:00
akukan 09925c1281
Delete extruder-body.scad 2017-11-29 17:11:28 +01:00
akukan d573c998c2
Delete cable-holder.scad 2017-11-29 17:11:20 +01:00
akukan 15325ad366
Delete belt-guide.scad 2017-11-29 17:11:12 +01:00
akukan 7ee6ae3e08
Delete Y-distance.scad 2017-11-29 17:11:05 +01:00
akukan 035291391a
Delete RAMBo-cover-hinges.scad 2017-11-29 17:10:57 +01:00
akukan b320767d15
Delete RAMBo-cover-doors.scad 2017-11-29 17:10:49 +01:00
akukan 2cc4777729
Delete RAMBo-cover-base.scad 2017-11-29 17:10:38 +01:00
akukan c62605e6a4
Delete PSU-cover-NODRILL.scad 2017-11-29 17:10:26 +01:00
akukan 1be96ee627
Delete PSU-Y-part.scad 2017-11-29 17:10:17 +01:00
akukan 8991e42292
Delete LCD-cover-ORIGINAL.scad 2017-11-29 17:09:55 +01:00
akukan b9cfcd0619
Delete LCD-cable-clip.scad 2017-11-29 17:09:40 +01:00
akukan 066961f04c
Delete FRAME_MK2.dxf 2017-11-29 17:09:32 +01:00
156 changed files with 639340 additions and 682806 deletions

BIN
Frame/Extrusions.pdf Normal file

Binary file not shown.

6646
Frame/MK3-front-plate.dxf Normal file

File diff suppressed because it is too large Load Diff

5254
Frame/MK3-rear-plate.dxf Normal file

File diff suppressed because it is too large Load Diff

14952
Frame/MK3v8b.dxf Normal file

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

View File

@ -0,0 +1,977 @@
// PRUSA iteration4
// Einsy base
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module CubicPattern(Xdim, Ydim)
{
for (x =[0:12:Xdim-10])
{
for (y =[0:12:Ydim-10])
{
translate([x,y,-0.2])cube([10,10,0.4]);
}
}
}
module BottomCubic()
{
difference()
{
translate([5,5,0]) CubicPattern(110,90);
translate([11,0,-1]) cube( [ 11, 40 , 4 ] );
translate([0,0,-1]) cube( [ 11, 28 , 4 ] );
translate([0,64,-1]) cube( [ 16, 28 , 4 ] );
translate([95,64,-1]) cube( [ 20, 28 , 4 ] );
translate([95,0,-1]) cube( [ 20, 28 , 4 ] );
translate([76,-10,-1]) cube( [ 20, 20 , 4 ] );
translate([52,76,-1]) cube( [ 12, 20 , 4 ] );
}
}
// main body
module main_body()
{
//raspberry frame
// side panel
cube( [ 118.5 , 92 , 2 ] );
// upper panel
cube( [ 1.5 , 92 , 35 ] );
// rear panel
translate( [ 0 , 90 , 0 ] ) cube( [ 105.5 , 2 , 35 ] );
// upper panel frame reinforcement
translate( [ 0 , 0 , 1 ] ) cube( [ 5 , 7 , 34 ] );
// side panel reinforcement
translate( [ 0 , 0 , 1 ] ) cube( [ 9 , 92 , 3 ] );
translate( [ 98 , 0 , 0 ] ) cube( [ 9 , 92 , 4 ] );
//
translate([21,81,0]) cylinder( h = 4.5, r = 2.5, $fn=30);
translate([21+58,81,0]) cylinder( h = 4.5, r = 2.5, $fn=30);
// ziptie cable managment
translate( [0 , 55 , 22 ] ) difference() {
translate( [0 , 0 , -2 ] ) cube( [ 5 , 8 , 10 ] );
translate( [0 , -1 , -3 ] ) rotate([0,45,0]) cube( [ 5 , 10 , 8 ] );
translate( [5, -1 , 6 ] ) rotate([0,-60,0]) cube( [ 5 , 10 , 8 ] );
union() {
translate( [1.5 , 2.5 , 3.5] ) cube( [ 2 , 3 ,10 ] );
translate( [3 , 2.5 , 2 ] ) cube( [ 5.5 , 3 ,2 ] );
translate( [2 , 2.5 , 6.5 ] ) cube( [ 5 , 3 ,3 ] );
difference () {
translate( [ 3 ,5.5 , 3.5 ] ) rotate([90,0,0]) cylinder( h = 3, r = 1.5, $fn=30);
translate( [3.5 , 1.5 , 4 ] ) cube( [ 5 , 5 ,3 ] );
}
difference () {
translate( [ 4,5.5 , 4.5 ] ) rotate([90,0,0]) cylinder( h = 3, r = 1, $fn=30);
translate( [ 4,5.5 , 4.5 ] ) rotate([90,0,0]) cylinder( h = 3, r = 0.5, $fn=30);
translate( [3.5 , 1.5 , 4.5 ] ) cube( [ 5 , 5 ,3 ] );
translate( [4. , 1.5 , 4 ] ) cube( [ 5 , 5 ,3 ] );
}
}
}
translate( [25 , 91.5 , 22 ] ) rotate([0,0,-90]) difference() {
translate( [0 , 0 , -2 ] ) cube( [ 5 , 8 , 10 ] );
translate( [0 , -1 , -3 ] ) rotate([0,45,0]) cube( [ 5 , 10 , 8 ] );
translate( [5, -1 , 6 ] ) rotate([0,-60,0]) cube( [ 5 , 10 , 8 ] );
union() {
translate( [1.5 , 2.5 , 3.5] ) cube( [ 2 , 3 ,10 ] );
translate( [3 , 2.5 , 2 ] ) cube( [ 5.5 , 3 ,2 ] );
translate( [2 , 2.5 , 6.5 ] ) cube( [ 5 , 3 ,3 ] );
difference () {
translate( [ 3 ,5.5 , 3.5 ] ) rotate([90,0,0]) cylinder( h = 3, r = 1.5, $fn=30);
translate( [3.5 , 1.5 , 4 ] ) cube( [ 5 , 5 ,3 ] );
}
difference () {
translate( [ 4,5.5 , 4.5 ] ) rotate([90,0,0]) cylinder( h = 3, r = 1, $fn=30);
translate( [ 4,5.5 , 4.5 ] ) rotate([90,0,0]) cylinder( h = 3, r = 0.5, $fn=30);
translate( [3.5 , 1.5 , 4.5 ] ) cube( [ 5 , 5 ,3 ] );
translate( [4. , 1.5 , 4 ] ) cube( [ 5 , 5 ,3 ] );
}
}
}
difference()
{
// bottom side reinforcement
translate( [ 98 , 86 , 0 ] ) cube( [ 7.5 , 6 , 35 ] );
translate( [ 96 , 79 , 0 ] ) rotate([0,0,45]) cube( [ 7.5 , 6 , 36 ] );
}
translate( [ 0 , 85 , 0 ] ) cube( [ 5.5 , 7 , 35 ] );
// screw mounting block
translate( [ 54 , 84 , 0 ] ) cube( [ 9.5 , 7 , 35 ] );
// frame side panel
translate( [ 20 , 0 , 0 ] ) cube( [ 80 , 3 , 5 ] );
// Einsy mounting holes
translate( [ 102.5 , 14 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 102.5 , 75 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 14 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 75 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
// corners reinforcement
translate( [ 0 , 75 , 1 ] ) cube( [ 13 , 16 , 6 ] );
translate( [ 0 , 70.25 , 1 ] ) cube( [ 7.5 , 11 , 6 ] );
translate( [ 0 , 7.75 , 1 ] ) cube( [ 7.5 , 11 , 6 ] );
translate( [ 0 , 0 , 1 ] ) cube( [ 13 , 14 , 6 ] );
// frame mounting screw blocks
//upper
translate( [ 1 , 0 , 0 ] ) cube( [ 28 , 4 , 10 ] );
translate( [ 18.45 , 0 , 0 ] ) cube( [ 3 , 4 , 5.5] );
//lower
translate( [ 98 , 0 , 0 ] ) cube( [ 20.5 , 4 , 10 ] );
// door closing corner
translate( [ 102 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
// doors pin upper
translate( [ 2 , 85 , 31 ] ) cube( [ 6 , 7 , 4] );
translate( [ 4 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
// x-axis cables entry hole body
translate( [ 89 , 2 , 0 ] ) cylinder( h = 5, r = 6, $fn=6);
}
module rambo_popout_cover () {
//raspberry cover
translate( [ 20 , 37.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 33 , 37.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 45.8 , 37.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 59 , 37.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [72.5 , 37.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 20 , 71.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 33 , 71.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 45.8 , 71.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 59 , 71.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [72.5 , 71.5 , 0] ) cube( [ 3 , 1 , 0.5] );
translate( [ 9 , 51.5 , 0] ) cube( [ 5 , 7 , 0.5] );
translate( [ 81 , 53.5 , 0] ) cube( [ 1 , 3 , 0.5] );
difference() {
translate( [ 14 , 38.5 , 0] ) cube( [ 67 , 33 , 2] );
translate( [ 0.5 , 0.5 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.2 , 41.7 , -1] ) cylinder( h = 9, r = 3.7, $fn=40);
translate( [ 13.5 , 41.7 , -1] ) cube( [ 12.7 , 9 , 9] );
translate( [ 17.2 , 38 , -1] ) cube( [ 9, 5 , 9] );
}
translate( [ 60 , 0 , 0] ) difference()
{
translate( [ 17.3 , 42.2 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.3 , 42.2 , -1] ) cylinder( h = 9, r = 3.7, $fn=40);
translate( [ 9.0 , 42 , -1] ) cube( [ 12 , 9 , 9] );
translate( [ 8.8 , 38.5 , -1] ) cube( [ 9, 5 , 9] );
}
translate( [ 60 , 26 , 0] ) difference()
{
translate( [ 17.3 , 41.8 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.4 , 41.8 , -1] ) cylinder( h = 9, r = 3.7, $fn=40);
translate( [ 8.5 , 33.5 , -1] ) cube( [ 9 , 12 , 9] );
translate( [ 17 , 33 , -1] ) cube( [ 4, 9 , 9] );
}
translate( [ 0 , 26 , 0] ) difference()
{
translate( [ 17.7 , 41.8 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.7 , 41.8 , -1] ) cylinder( h = 9, r = 3.7, $fn=40);
translate( [ 17.5 , 33.5 , -1] ) cube( [ 9 , 12 , 9] );
translate( [ 14 , 33.5 , -1] ) cube( [ 5, 9 , 9] );
} }}
module ventilation_holes()
{
difference () {
for ( i = [-5 : 8] ){
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+49.0,1.2]);
translate([46 + (i*5.5),10.5,-1]) cube([3.65,18,10]);
translate([46 + (i*5.5),10.5+25,-1]) cube([3.65,18,10]);
translate([46 + (i*5.5),10.5+50,-1]) cube([3.65,18,10]);
}
difference () {
translate( [ 13 , 35 , 0] ) cube( [ 71 , 39 , 2] );
translate( [ 14 , 40.5 , -0.1] ) cube( [ 63 , 29 , 2.2] );
}}
}
module cutouts(){
// extruder cable holder
translate([1.5,7,14.8]) rotate([0,45,0]) cube([3,40,5]);
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40,r = 5.5,$fn=30);
translate([-15,0,35]) cube([30,60,15]);
translate([-15,24,30]) cube([30,8,8]);
translate([-15,12,28]) cube([15,30,8]);
translate([-12,16.5,28]) cube([15,23,8]);
translate([-3,28,28]) rotate([35,90,0]) cylinder( h = 24,r = 1.7,$fn=30);
// side
translate( [ 12 , 19 , 1 ] ) cube( [ 85.5 , 51 , 3 ] );
// Einsy M3 screws
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 7.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 102.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 102.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 7.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 2 , 0 , 0 ] )ventilation_holes();
// frame mounting screws
//upper
translate( [ 18.5, -2 , 15.6 ] ) rotate([0,45,0]) cube( [ 15 , 10 , 10] );
translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30);
translate( [ 16.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
translate( [ 15.15 , -2 , 5 ] ) cube( [ 2.7 , 15 , 10] );
translate( [ 15.1 , -2 , 7 ] ) rotate([0,5,0]) cube( [ 2.8 , 15 , 10] );
translate( [ 15.1 , -2 , 7 ] ) rotate([0,-5,0]) cube( [ 2.8 , 15 , 10] );
//lower
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30);
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
translate( [ 118.5 , -2 , 6 ] ) rotate([0,-45,0]) cube( [ 5 , 15 , 15] );
translate( [ 94.5 , -2 , 8.5 ] ) rotate([0,45,0]) cube( [ 5 , 8 , 15] );
translate( [ 0 , -2 , -5 ] ) cube( [ 120 , 15 , 5] );
translate( [ 109.15 , -2 , 5 ] ) cube( [ 2.7 , 15 , 10] );
translate( [ 109.3 , -2 , 6.5 ] ) rotate([0,5,0]) cube( [ 2.5 , 15 , 10] );
translate( [ 109.2 , -2 , 6.5 ] ) rotate([0,-5,0]) cube( [ 2.5 , 15 , 10] );
// USB connector hole
translate( [ -1 , 41.5 , 11 ] ) cube( [ 5.5 , 13 , 11 ] );
// reset button
translate( [ -2 , 65 , 14 ] ) rotate([0,90,0]) cylinder( h = 10, r = 2, $fn=30);
// door closing screw
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 43, r = 1.9, $fn=30);
// nut traps HEX
translate( [ 7.5 , 14 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 102.5 , 14 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 102.5 , 75 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 7.5 , 75 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=30);
// door closing corners
translate( [ 8 , 80 , 28 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 10] );
translate( [ 106 , 81 , 4 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 40] );
// inner edges cutout
translate( [ 54 , 79.5 , 2 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 50] );
//translate( [ 70 , 82.5 , 2 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 50] );
translate( [ 6 , 80 , 7 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 24] );
translate( [ 5.5 , 4 , 7 ] ) rotate([0,0,45]) cube( [ 3 , 5 , 29] );
// x axis cable hole
translate( [ 89 , 2 , -1 ] ) cylinder( h = 10, r = 4, $fn=6);
translate( [ 80 , -5 , -1 ] ) cube( [ 15, 5, 10] );
// large corner coutout
translate( [ -27 , 80 , -54 ] ) rotate([50,0,45]) cube( [ 50, 50, 50] );
translate( [ 137.5 , 60 , -10 ] ) rotate([0,0,45]) cube( [ 50, 50, 50] );
// screw body edge
translate( [ 65 ,74.2 , 2] ) rotate([0,0,45]) cube( [ 10 , 10 , 50 ] );
}
module raspberry()
{
//raspberry pcb
translate( [ 11 , 42 , -1] ) cube( [ 2.1 , 26 , 9] );
translate( [ 81.9 , 42 , -1] ) cube( [ 2.1 , 5 , 9] );
translate( [ 81.9 ,63 , -1] ) cube( [ 2.1 , 5 , 9] );
difference() {
translate( [ 13 , 37.5 , -1] ) cube( [ 69 , 35 , 9] );
translate( [ 0 , 0 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4.5, $fn=40);
translate( [ 13 , 42 , -1] ) cube( [ 12 , 8 , 9] );
translate( [ 17.5 , 37.5 , -1] ) cube( [ 8, 5 , 9] );
}
translate( [ 60 , 0 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4.5, $fn=40);
translate( [ 10 , 42 , -1] ) cube( [ 12 , 8 , 9] );
translate( [ 9.5 , 37.5 , -1] ) cube( [ 8, 5 , 9] );
}
translate( [ 60 , 26 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4.5, $fn=40);
translate( [ 9.5 , 34.5 , -1] ) cube( [ 8 , 12 , 9] );
translate( [ 18 , 34 , -1] ) cube( [ 4, 8 , 9] );
}
translate( [ 0 , 26 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4.5, $fn=40);
translate( [ 17.5 , 34.5 , -1] ) cube( [ 8 , 12 , 9] );
translate( [ 13 , 34 , -1] ) cube( [ 5, 8 , 9] );
} }}
module rambo_cover()
{
difference(){
rambo_popout_cover ();
cutouts();
}
difference(){
main_body();
cutouts();
raspberry();
// main hole
translate( [ -10 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 24, r = 6.8, $fn=30);
// cable opening slot
translate( [ -15 , 25 , 30 ] ) cube( [ 30 , 6 , 10 ] );
}
}
difference()
{
union()
{
rambo_cover();
// extruder cable holder
difference(){
translate([0,0,15]) cube([5,40,20]);
translate([1.5,3,14.8]) rotate([0,45,0]) cube([3,40,5]);
}
translate([5,28,28]) rotate([0,90,0]) cylinder(h=5,r1=10,r2=8,$fn=30);
difference()
{
translate([-1.93,0,28.07]) rotate([0,45,0]) cube([9.8,25,9.8]);
translate([-5,-5,15]) cube([5,40,20]);
translate([10,-5,15]) cube([5,40,20]);
// screwdriver hole
translate( [ 7.5 , 14 , 15 ] ) cylinder( h = 25, r = 2, $fn=30);
translate( [ 7.5 , 12 , 15 ] ) cube( [ 8 , 4 , 25] );
}
translate([-6,28,28]) rotate([0,90,0]) cylinder(h=6,r=13.5,$fn=30);
translate([-10,28,28]) rotate([0,90,0]) cylinder(h=4,r1=8.5,r2=13.5,$fn=30);
difference()
{
translate([-5.5,23.5,16]) rotate([0,45,0]) cube([8,9,8]);
translate([1,0,10]) cube([5,40,20]);
}
// heatbed cable mounting reinforcement
translate([63,86.0,0.5]) cube([15,5,34.5]);
translate([75,90,28]) rotate([90,0,0]) cylinder(h=6,r1=16.5,r2=11,$fn=30);
translate([75,99,28]) rotate([90,0,0]) cylinder(h=9,r=13,$fn=30);
translate([75,101,28]) rotate([90,0,0]) cylinder(h=2,r1=9,r2=13,$fn=30);
difference(){
translate([70.3,88.5,12.7]) rotate([-45,0,0]) cube([9.5,5,10]);
translate([70.4,85.5,10]) cube([9.5,5,9]);
}
}
// extruder cable holder
translate([1.5,7.1,14.8]) rotate([0,45,0]) cube([3,40,5]);
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40,r = 5.5,$fn=30);
translate([-15,7,35]) cube([30,40,15]);
translate([-15,23.5,30]) cube([30,9,8]);
translate([-15,12,28]) cube([15,30,8]);
translate([-12,16.5,28]) cube([15,23,8]);
translate([-3,28,28]) rotate([35,90,0]) cylinder( h = 24,r = 1.8,$fn=30);
//screw holes
translate([-2.7,19.5,20]) rotate([0,0,90]) cylinder( h = 33,r = 1.6,$fn=30);
translate([-2.7,36.5,20]) rotate([0,0,90]) cylinder( h = 33,r = 1.6,$fn=30);
// nuts with supports
translate([-5.7,19.5,24.5]) difference (){
translate([0,0,-0.25]) rotate([0,0,0]) cube([12,5.7,2.7], center =true) ;
translate([-8.6,-5,0.35]) cube([10,15,0.75]);
translate([4.6,-5,0.35]) cube([4,15,0.75]);
translate([-2.6,-5.6,0.65]) cube([15,4,0.35]);
translate([-2.6,1.6,0.65]) cube([15,4,0.35]);
}
translate([-5.7,36.5,24.5]) difference (){
translate([0,0,-0.25]) rotate([0,0,0]) cube([12,5.7,2.7], center =true) ;
translate([-8.6,-5,0.35]) cube([10,15,0.75]);
translate([4.6,-5,0.35]) cube([4,15,0.75]);
translate([-2.6,-5.6,0.65]) cube([15,4,0.35]);
translate([-2.6,1.6,0.65]) cube([15,4,0.35]);
}
translate([-2.7,36,12]) rotate([0,0,90]) cube([3,40,5]);
// new heatbed cable holder
translate([61,102,28]) rotate([35,90,0]) cylinder(h=35,r=3.3,$fn=30);
// nuts with supports
translate([67,90.8 -4,24.5]) difference (){
translate([0,0,-0.25]) rotate([0,0,90]) cube([10,5.7,2.7], center =true) ;
translate([-5.6,-5,0.65]) cube([4,15,0.5]);
translate([1.6,-5,0.65]) cube([4,15,0.5]);
translate([-5.6,-3.6,0.35]) cube([15,4,0.75]);
translate([-5.6,3.6,0.35]) cube([15,4,0.75]);
}
translate([83,98,24.5]) difference (){
translate([0,0,-0.25]) rotate([0,0,90]) cube([10,5.7,2.7], center =true) ;
translate([-5.6,-5,0.65]) cube([4,15,0.5]);
translate([1.6,-5,0.65]) cube([4,15,0.5]);
translate([-5.6,-7.6,0.35]) cube([15,4,0.75]);
translate([-5.6,-0.4,0.35]) cube([15,4,0.75]);
}
translate([67,88.8,20]) rotate([0,0,0]) cylinder(h=15,r=1.6,$fn=30);
translate([83,96,20]) rotate([0,0,0]) cylinder(h=15,r=1.6,$fn=30);
translate([60,92,28]) rotate([0,0,0]) cube([30,13,14]);
translate([60,80,35]) rotate([0,0,0]) cube([30,13,14]);
translate([72.5,80,30])rotate([0,0,0]) cube([5,13,14]);
translate([62.5,82,28]) rotate([0,0,0]) cube([25,20,14]);
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 43, r = 1.9, $fn=30);
translate( [ -16.2 , 28, 29 ] ) rotate([45,0,0]) cube( [ 40 , 12 , 12 ] );
//BottomCubic();
translate( [ 14.5, 10, -2 ] ) cube( [ 4 , 23 , 10 ] );
translate( [ 16.5, 10, -2 ] ) cylinder( h = 20, r = 2, $fn=30);
translate( [ 16.5, 33, -2 ] ) cylinder( h = 20, r = 2, $fn=30);
// lightening slots
translate( [ 100 ,21 , 2] ) cube( [ 5 , 48 , 5 ] );
translate( [ 3 ,21 , 2] ) cube( [ 4.5, 48 , 5 ] );
// bottom holes print supports
translate( [ 7.5 , 14 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 102.5 , 14 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 102.5 , 75 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 7.5 , 75 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 58.5 , 88 ,0] ){
intersection(){cylinder(r=3.2, h=10, $fn=30);
translate( [ 0 , 0 , 2.5 ] ) cube([3.8,8,2], center=true);}
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,2], center=true);
}
translate([21,81,-5]) cylinder( h = 24, r = 0.8, $fn=30);
translate([21+58,81,-5]) cylinder( h = 24, r = 0.8, $fn=30);
translate([115,68,1.5]) rotate([0,0,90]) linear_extrude(height = 0.8)
{ text("R3",font = "helvetica:style=Bold", size=6, center=true); }
}
module heatbed_cable_clip()
{
difference()
{
union()
{
difference()
{
union()
{
// body base
translate([75,99,28]) rotate([90,0,0]) cylinder( h = 15, r = 13, $fn=30);
translate([75,101,28]) rotate([90,0,0]) cylinder( h = 2, r1=9,r2 = 13, $fn=30);
}
// cut flat and shape
translate([60,82,14]) cube([30,20,14]);
translate([60,72,20]) cube([30,20,30]);
}
difference() {
translate([62.75,84,28]) cube([24.5,8,7]);
difference () {
translate([75,85,28]) rotate([90,0,0]) cube([30,20,10], center = true);
translate([75,90,28]) rotate([90,0,0]) cylinder(h=6,r1=16.5,r2=11,$fn=30);
}
}}
// cable opening
translate([61,102,28]) rotate([35,90,0])
difference (){
cylinder(h=35,r=4,$fn=30);
translate([0,0,3]) cylinder(h=5,r=4,$fn=30);
translate([0,0,12]) cylinder(h=1,r=4,$fn=30);
translate([0,0,16]) cylinder(h=1,r=4,$fn=30);
translate([0,0,20]) cylinder(h=1,r=4,$fn=30);
}
translate([61,102,28]) rotate([35,90,0]) cylinder(h=35,r=3,$fn=30);
// screw heads
translate([67,88.8,30.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
translate([83,96,30.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
// screws
translate([67,88.8,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
translate([83,96,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
// grips
}
}
//translate([0,0,0]) heatbed_cable_clip();
module extruder_cable_clip()
{
difference(){
difference()
{
union()
{
// body shape
translate([-6,28,28]) rotate([0,90,0]) cylinder(h=6,r=13.5,$fn=30);
translate([-10,28,28]) rotate([0,90,0]) cylinder(h=4,r1=8.5,r2=13.5, $fn=30);
translate([0,16.6,28]) cube([2.9,22.8,7]);
}
// bottom cut and shape
translate([-15,7,13]) cube([30,40,15]);
translate([-20,28,28]) rotate([0,90,0]) cylinder(h=40,r=6, $fn=30);
// screws
translate([-2.7,19.5,25]) rotate([0,0,90]) cylinder(h= 10, r = 1.6, $fn=50);
translate([-2.7,36.5,25]) rotate([0,0,90]) cylinder( h = 10, r = 1.6, $fn=50);
translate([-2.7,36.5,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
translate([-2.7,19.5,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
// screw heads opening
translate([-2.7,16.4,35]) cube([10,6.2,15]);
translate([-2.7,33.4,35]) cube([10,6.2,15]);
}
difference()
{
// cable grip
translate([-8,28,28]) rotate([0,90,0]) cylinder( h = 10, r = 6, $fn=30);
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40, r = 5.5, $fn=30);
translate([-15,7,13]) cube([30,40,15]);
translate([-6,7,13]) cube([2,40,25]);
translate([-2,7,13]) cube([2,40,25]);
}
//nylon hole
translate([-3,28,28]) rotate([35,90,0]) cylinder( h = 24,r = 1.8,$fn=30);}
}
//translate([0,0,0]) extruder_cable_clip();
module raspberry_cover () {
//holders
difference() {
union () {
translate( [ 11.5 , 42.5 , 0] ) cube( [ 2 , 4 , 3.5] );
translate( [ 11.5 ,63.5 , 0] ) cube( [ 2 , 4 , 3.5] );
translate( [ 81.5 , 42.5 , 0] ) cube( [ 2 , 4 , 2.5] );
translate( [ 81.5 ,63.5 , 0] ) cube( [ 2 , 4 , 2.5] );
translate( [ 10.4 , 42.5 , 2.7] ) rotate([0,45,0]) cube( [ 2 , 4 , 2] );
translate( [ 10.4 ,63.5 , 2.7] ) rotate([0,45,0]) cube( [ 2 , 4 , 2] );
translate( [ 81.7 , 42.5 , 1.7] ) rotate([0,45,0]) cube( [ 2 , 4 , 2] );
translate( [ 81.7 ,63.5 , 1.7] ) rotate([0,45,0]) cube( [ 2 , 4 , 2] );}
translate( [ 10.5 , 42 , 3.5] ) cube( [ 4 , 5 , 3.5] );
translate( [ 10.5 ,63 , 3.5] ) cube( [ 4 , 5 , 3.5] );
translate( [ 81.5 , 42 , 2.5] ) cube( [ 4 , 5 , 2.5] );
translate( [ 81.5 ,63 , 2.5] ) cube( [ 4 , 5 , 2.5] );
}
//body
difference() {
translate( [ 11.5 , 36 , -3] ) cube( [ 72 , 38 , 3] );
translate( [ -0.4 , -0.4 , 0] ) difference()
{
translate( [ 17.5 , 42 , -4.1] ) cylinder( h = 4.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -4] ) cylinder( h = 4, r = 5.6, $fn=40);
translate( [ 11.9 , 42 , -4] ) cube( [ 14 , 8 , 4] );
translate( [ 17.5 , 36.4 , -4] ) cube( [ 8, 6 , 4] );
}
translate( [ 60.4 , -0.4 , 0] ) difference()
{
translate( [ 17.5 , 42 , -4.1] ) cylinder( h = 4.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -4] ) cylinder( h = 4, r = 5.6, $fn=40);
translate( [ 9.1 , 42 , -4] ) cube( [ 14 , 8 , 4] );
translate( [ 9.5 , 36.4 , -4] ) cube( [ 8, 6 , 4] );
}
translate( [ 60.4 , 26.4 , 0] ) difference()
{
translate( [ 17.5 , 42 , -4.1] ) cylinder( h = 4.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -4] ) cylinder( h = 4, r = 5.6, $fn=40);
translate( [ 8.5 , 33.6 , -4] ) cube( [ 9 , 14 , 4] );
translate( [ 17.1 , 34 , -4] ) cube( [ 6, 8 , 4] );
}
translate( [ -0.4 , 26.4 , 0] ) difference()
{
translate( [ 17.5 , 42 , -4.1] ) cylinder( h = 4.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -4] ) cylinder( h = 4, r = 5.6, $fn=40);
translate( [ 17.5 , 33.6 , -4] ) cube( [ 9 , 14 , 4] );
translate( [ 11.9 , 33.4 , -4] ) cube( [ 6, 9 , 4] );
}
// ventilation cutout
for ( i = [-5 : 6] ){
translate([43 + (i*5.5),42.3,-5]) cube([3.65,25.2,10]);
}
//raspberry pcb cutout
translate ([0,0,-2]) difference() {
translate( [ 13.5 , 38 , 0] ) cube( [ 68 , 34 , 9] );
translate( [ 0 , 0 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4, $fn=40);
translate( [ 13.5 , 42 , -1] ) cube( [ 12 , 8 , 9] );
translate( [ 17.5 , 38 , -1] ) cube( [ 8, 5 , 9] );
}
translate( [ 60 , 0 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4, $fn=40);
translate( [ 9.5 , 42 , -1] ) cube( [ 12 , 8 , 9] );
translate( [ 9.5 , 38 , -1] ) cube( [ 8, 5 , 9] );
}
translate( [ 60 , 26 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4, $fn=40);
translate( [ 9.5 , 34 , -1] ) cube( [ 8 , 12 , 9] );
translate( [ 17.5 , 34 , -1] ) cube( [ 4, 8 , 9] );
}
translate( [ 0 , 26 , 0] ) difference()
{
translate( [ 17.5 , 42 , -1.1] ) cylinder( h = 9.2, r = 8, $fn=40);
translate( [ 17.5 , 42 , -1] ) cylinder( h = 9, r = 4, $fn=40);
translate( [ 17.5 , 34 , -1] ) cube( [ 8 , 12 , 9] );
translate( [ 13.5 , 34 , -1] ) cube( [ 5, 8 , 9] );
} }
}
}

View File

@ -0,0 +1,129 @@
// PRUSA iteration4
// Einsy doors
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module body()
{
// side panels
cube([105.5,87.5,1.5]);
cube([105.5,2,16]);
cube([2,87.5,16]);
// corner reinforcement
translate([98,1,0]) cube([7.5,5,16]);
translate([0.5,0.5,0]) cube([5,6.5,16]);
translate([1,0,0]) cube([10,87.5,6]);
translate([99.5,0,0] ) cube([6,87.5,7]);
translate([10,0,0]) cube([6,5,6]);
// screw thread body
translate([54,2,0]) cube([9.5,6,16]);
// rounded side
translate([0,87.5,4.5]) rotate([0,90,0]) cylinder( h=105.5, r=4.5, $fn=30);
// upper hinge reinforcement
translate([0.5,69,-9]) rotate([20,0,0]) cube([26,20,10]);
// door closing
translate([4,3.5,12.8]) rotate([0,0,0]) cylinder( h=3.2, r1=1.8, r2=3.5, $fn=30);
translate([102,3.5,12.8]) rotate([0,0,0]) cylinder( h=3.2, r1=1.8, r2=3.5, $fn=30);
}
module ventilation_holes()
{
for ( i = [0 : 9] )
{
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
translate([40 + (i*6),10.5,-1]) cube([3.65,19,10]);
translate([40 + (i*6),10.5+25,-1]) cube([3.65,19,10]);
translate([40 + (i*6),10.5+50,-1]) cube([3.65,19,10]);
}
for ( i = [0 : -4] )
{
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
}
for ( i = [-6 : -7] )
{
translate([46 + (i*6),20.5,-1]) cube([3.65,19+40,1.2]);
}
translate([15,10,1]) cube([20,55,1.5]);
}
module cutouts()
{
// door closing screw
translate([58.5,4,1]) cylinder( h = 17, r = 1.8, $fn=30);
translate([58.5,4,14.5]) cylinder( h = 2.6, r1 = 1.8, r2=2.2, $fn=30);
translate([58.5,4,11.5])
{
translate([0,0,2.5]) cube([5.7,3.8,1], center=true);
translate([0,0,3]) cube([3.8,3.8,1], center=true);
}
ventilation_holes();
// rounded side cutoff
translate([26.5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 73, r = 3.5, $fn=30);
translate([26.5,80,5]) cube([73,19,10]);
translate([26.5,82.5,1]) cube([73,5,10]);
// upper hinge cut
translate([0,60,-10]) cube([30,30,10]);
translate([-1,87.5,0]) cube([22.5,10,10]);
// upper hinge
translate([2,80,6]) cube([19.5,10,10]);
translate([-2,89.7,3]) rotate([70,0,0]) cube([19.5,10,5]);
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 26.5, r = 2.5, $fn=30);
// hinge hole
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 120, r = 2.6, $fn=30);
// door closing
translate([4,3.5,12.9]) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
translate([102,3.5,12.9]) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
// M3 nut
translate([55.65,0.5,12]) cube([5.7,10,2.2]);
// side panel lightning slot
translate([2,10,3] ) cube([7,65,5]);
translate([101,10,3] ) cube([3,70,5]);
// corners - cut
translate([53,3,1.5]) rotate([0,0,70]) cube([10,10,50]);
translate([61,12,1.5]) rotate([0,0,-70]) cube([10,10,50]);
translate([16,2,1.5]) rotate([0,0,45]) cube([5,5,50]);
}
module Einsy_doors()
{
difference()
{
body();
cutouts();
// large corner cut
translate( [0 , -20, -3] ) rotate([0,45,45]) cube( [ 30, 30 , 20 ] );
translate([30,79,1]) rotate([0,0,-90]) linear_extrude(height = 0.8)
{ text("R1",font = "helvetica:style=Bold", size=6, center=true); }
}
}
Einsy_doors();

View File

@ -1,5 +1,5 @@
// PRUSA iteration3
// RAMBo cover hinges
// PRUSA iteration4
// Einsy cover hinges
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
@ -13,7 +13,7 @@ difference()
// body
cylinder( h = 26, r = 2.4, $fn=30);
translate([0,0,26]) cylinder( h = 2, r1 = 2.4, r2 = 1.8, $fn=30);
translate( [ -5 , -11 , 0 ] ) cube( [ 7 , 11 , 21 ] );
translate( [ -5 , -10.7 , 0 ] ) cube( [ 7 , 10.7 , 21 ] );
}
// M3 screw hole
translate( [ -12.5 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
@ -32,7 +32,7 @@ difference()
translate( [ 0 , 6 , 0 ] ) cylinder( h = 15, r = 2.4, $fn=30);
translate( [ 0 , 6 , 0 ] ) cylinder( h = 10, r = 2.8, $fn=30);
translate( [ 0 , 6 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30);
translate( [ -5 , 6 , 0 ] ) cube( [ 7 , 11 , 10 ] );
translate( [ -5 , 6 , 0 ] ) cube( [ 7 , 10.7 , 10 ] );
}
// M3 screw
translate( [ -0.5 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 3, $fn=30);

View File

@ -0,0 +1,58 @@
// PRUSA iteration4
// Extruder cable clip
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module extruder_cable_clip()
{
difference(){
difference()
{
union()
{
// body shape
translate([-6,28,28]) rotate([0,90,0]) cylinder(h=6,r=13.5,$fn=30);
translate([-10,28,28]) rotate([0,90,0]) cylinder(h=4,r1=8.5,r2=13.5, $fn=30);
translate([0,16.6,28]) cube([2.9,22.8,7]);
}
// bottom cut and shape
translate([-15,7,13]) cube([30,40,15]);
translate([-20,28,28]) rotate([0,90,0]) cylinder(h=40,r=6, $fn=30);
// screws
translate([-2.7,19.5,25]) rotate([0,0,90]) cylinder(h= 10, r = 1.6, $fn=50);
translate([-2.7,36.5,25]) rotate([0,0,90]) cylinder( h = 10, r = 1.6, $fn=50);
translate([-2.7,36.5,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
translate([-2.7,19.5,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
// screw heads opening
translate([-2.7,16.4,35]) cube([10,6.2,15]);
translate([-2.7,33.4,35]) cube([10,6.2,15]);
}
difference()
{
// cable grip
translate([-8,28,28]) rotate([0,90,0]) cylinder( h = 10, r = 6, $fn=30);
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40, r = 5.5, $fn=30);
translate([-15,7,13]) cube([30,40,15]);
translate([-6,7,13]) cube([2,40,25]);
translate([-2,7,13]) cube([2,40,25]);
}
//nylon hole
translate([-3,28,28]) rotate([35,90,0]) cylinder( h = 24,r = 1.8,$fn=30);}}
//translate([0,0,0]) extruder_cable_clip();
translate([6,-28,-28]) extruder_cable_clip();

View File

@ -0,0 +1,83 @@
// PRUSA iteration4
// Heatbed cable clip
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module heatbed_cable_clip()
{
difference()
{
union()
{
difference()
{
union()
{
// body base
translate([75,99,28]) rotate([90,0,0]) cylinder( h = 15, r = 13, $fn=30);
translate([75,101,28]) rotate([90,0,0]) cylinder( h = 2, r1=9,r2 = 13, $fn=30);
}
// cut flat and shape
translate([60,82,14]) cube([30,20,14]);
translate([60,72,20]) cube([30,20,30]);
}
difference() {
translate([62.75,84,28]) cube([24.5,8,7]);
difference () {
translate([75,85,28]) rotate([90,0,0]) cube([30,20,10], center = true);
translate([75,90,28]) rotate([90,0,0]) cylinder(h=6,r1=16.5,r2=11,$fn=30);
}
}}
// cable opening
translate([61,102,28]) rotate([35,90,0])
difference (){
cylinder(h=35,r=4,$fn=30);
translate([0,0,3]) cylinder(h=5,r=4,$fn=30);
translate([0,0,12]) cylinder(h=1,r=4,$fn=30);
translate([0,0,16]) cylinder(h=1,r=4,$fn=30);
translate([0,0,20]) cylinder(h=1,r=4,$fn=30);
}
translate([61,102,28]) rotate([35,90,0]) cylinder(h=35,r=3.3,$fn=30);
// screw heads
translate([67,88.8,30.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
translate([83,96,31]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
// screws
translate([67,88.8,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
translate([83,96,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
}
}
translate([-70,-110,0]) heatbed_cable_clip();

View File

@ -0,0 +1,83 @@
// PRUSA iteration4
// Heatbed cable clip
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module heatbed_cable_clip()
{
difference()
{
union()
{
difference()
{
union()
{
// body base
translate([75,99,28]) rotate([90,0,0]) cylinder( h = 15, r = 13, $fn=30);
translate([75,101,28]) rotate([90,0,0]) cylinder( h = 2, r1=9,r2 = 13, $fn=30);
}
// cut flat and shape
translate([60,82,14]) cube([30,20,14]);
translate([60,72,20]) cube([30,20,30]);
}
difference() {
translate([62.75,84,28]) cube([24.5,8,7]);
difference () {
translate([75,85,28]) rotate([90,0,0]) cube([30,20,10], center = true);
translate([75,90,28]) rotate([90,0,0]) cylinder(h=6,r1=16.5,r2=11,$fn=30);
}
}}
// cable opening
translate([61,102,28]) rotate([35,90,0])
difference (){
cylinder(h=35,r=5,$fn=30);
//translate([0,0,3]) cylinder(h=5,r=5,$fn=30);
translate([0,0,12]) cylinder(h=1,r=5,$fn=30);
translate([0,0,16]) cylinder(h=1,r=5,$fn=30);
translate([0,0,20]) cylinder(h=1,r=5,$fn=30);
}
translate([61,102,28]) rotate([35,90,0]) cylinder(h=35,r=4.3,$fn=30);
// screw heads
translate([67,88.8,30.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
translate([83,96,31]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
// screws
translate([67,88.8,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
translate([83,96,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
}
}
translate([-70,-110,0]) heatbed_cable_clip();

View File

@ -0,0 +1,201 @@
// PRUSA iteration4
// LCD cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module main_body()
{
difference()
{
union()
{
// main body
translate( [ -77 , -4.5 , 0 ] ) cube( [ 155 , 59.8 , 2 ] );
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 , -15.2 , 14.2 ] ) cube( [ 155 , 3.1 , 11.8 ] );
translate( [ -77 , 54 , 0 ] ) cube( [ 155 , 2 , 17 ] );
// M3 hole body
translate( [ 73.5 , 43.3 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
translate( [ -72.5 , 43.5 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
}
// LCD window
translate( [ -61.5 , 1 , 1.2 ] ) cube( [ 98.5 , 42 , 10 ] );
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);
translate( [ 62.5 , 21 , -1.2 ] ) cylinder( h = 2, r1 = 7, r2 = 6, $fn=30);
// reset button cutout
translate( [ 44 , 26 , -1 ] ) cube( [ 1 , 6 , 9 ] );
translate( [ 48 , 26 , -1 ] ) cube( [ 1 , 2.5 , 9 ] );
translate( [ 68.5 , 36 , -1 ] ) cube( [ 1 , 8 , 9 ] );
translate( [ 56 , 43 , -1 ] ) cube( [ 13.5 , 1 , 9 ] );
translate( [ 50.5 , 30 , -1 ] ) cube( [ 13 , 1 , 9 ] );
translate( [ 44.7 , 31.28 , -1 ] ) rotate([0,0,45]) cube( [ 17 , 1 , 9 ] );
translate( [ 63.5 , 30 , -1 ] ) rotate([0,0,45]) cube( [ 8.5 , 1 , 9 ] );
translate( [ 48.7 , 27.8 , -1 ] ) rotate([0,0,45]) cube( [ 3.55 , 1 , 9 ] );
// rear support cutout
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()
{
difference()
{
union()
{
translate( [ -3 , -12 , 17.5 ] ) cube( [ 7 , 4 , 5 ] );
translate( [ -3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
translate( [ 3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
}
translate( [ -4 , -8 , 18.5 ] ) rotate([30,0,0]) cube( [ 10 , 6 , 6 ] );
translate( [ 2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ 2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
}
}
difference()
{
union()
{
pcb_clip();
main_body();
// reset button
translate( [ 62.5 , 37.3 , 0 ] ) cylinder( h = 7.2, r = 3.5, $fn=30);
//left side
translate( [ -77 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ -76.5 , -15 , 0 ] ) cube( [ 4 , 70 , 14.6 ] );
//right side
translate( [ 76.5 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ 73.5 , -14 , 0 ] ) cube( [ 4 , 70 , 14.5 ] );
//rear side reinforcement
translate( [ -54.5 , -11.7 , 8 ] ) cube( [ 110 , 4 , 6.5 ] );
translate( [ 65.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ 65.5 , -13 , 14 ] ) cube( [ 12 , 2 , 12 ] );
translate( [ -76.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ -76.5 , -14.7 , 14.5 ] ) cube( [ 12 , 4 , 11.5 ] );
translate( [ -44 , -14.7 , 14.5 ] ) cube( [ 89 , 4 , 11.5 ] );
translate( [ -43.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
translate( [ 44.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
//front left side reinforcement
difference()
{
union()
{
translate( [ -77 , 41.3 , 0 ] ) cube( [ 15 , 14 , 25 ] );
translate( [ -77 , 46.3 , 14 ] ) cube( [ 15 , 9 , 3 ] );
}
translate( [ -64.5 , 40 , -3 ] ) cube( [ 4 , 8 , 40 ] );
translate( [ -75.5 , 40.3 , 14.5 ] ) cube( [15 , 6.5 , 25 ] );
}
//front right side reinforcement
difference()
{
translate( [ 38 , 41.2 , 0 ] ) cube( [ 40 , 14 , 26 ] );
translate( [ 55 , 44.5 , 0 ] ) cube( [ 10.5 , 3.7 , 30 ] );
translate( [ 44 , 39.5 , 0 ] ) cube( [ 25.5 , 5 , 30 ] );
translate( [ 35 , 39.3 , 14.5 ] ) cube( [ 42.5 , 7 , 15 ] );
translate( [ 49 , 43.2 , 25 ] ) rotate([0,60,0]) cube( [ 12 , 5 , 10 ] );
}
}
// SD card opening
translate( [ -80 , 9 , 16.5 ] ) cube( [ 10 , 28 , 4.5 ] );
// front and rear angle
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
translate( [ 72.5 , 43.2 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ -72.5 , 42.7 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ 72.5 , 43.2 , 11.7 ] ) cylinder( h = 3, r1 = 1.4, r2=2.2, $fn=30);
translate( [ -72.5 , 42.7 , 11.7 ] ) cylinder( h = 3, r = 1.4, r2=2.2, $fn=30);
// ORIGINAL PRUSA text
translate([-67,51,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("ORIGINAL",font = "helvetica:style=Bold", size=7, center=true); }
translate([-18,51,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("PRUSA",font = "helvetica:style=Bold", size=11, center=true); }
translate( [ -66 , 40.5 , -0.4 ] ) cube( [ 45 , 1.6 , 1 ] );
translate( [ -66 , 41.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
translate( [ -21 , 41.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
// front cleanup
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([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( [ -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("R7",font = "helvetica:style=Bold", size=7, center=true); }
}
// 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

@ -0,0 +1,317 @@
// PRUSA iteration3
// PSU Cover MK3
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module CubeAdjust(Xdim, Zdim)
{
for (x =[6:11.2:Xdim-12])
{
for (z =[6:11.2:Zdim-12])
{
translate([x,-0.2,z])cube([10,0.4,10]);
}
}
}
module nuttrap()
{
rotate([0, 180, 0]) difference()
{
union()
{
translate([-4.25,-7.5,0]) difference(){
translate([0,0,0]) cube([8.5, 9.2, 3]);
translate([-1,10.6,0]) rotate([45,0,0]) cube([11.5,5.7,5.7]);
}
}
translate([0,0, -0.2])rotate([0,0,30]) cylinder(r=3.5,h=15-1.5, $fn=6);
}
}
module m3_screw()
{
translate([0,0,-0]) cylinder(r=1.5,h=12, $fn=30);
translate([0,0,12]) cylinder(r2=2.8, r1=1.5,h=2, $fn=30);
translate([0,0,14]) cylinder(r=2.8,h=5, $fn=30);
}
module PSU_COVER()
{
difference()
{
union()
{
translate([0,0,-0.46])cube([95,50+15,54.25]); // Base
translate([0,0,-3.5])cube([14-0.5,50+15,5]); // Back pillar 1
translate([-1.6,1,51.5])cube([5,64,3]); // Back pillar 1
translate([60-0.5,0,-3.5])cube([14,50+15,5]); // Back pillar 2
translate([91+4,0,-0.46])cube([6,50+15,54.25]); // Base for bracket
translate([-2,45.4-4.6,19])cube([2,3,15]); // nipple on the right
translate([-1.6,0,0])cube([1.65,65,2]); // Frame skirt 1
translate([-1.6,0,0])cube([1.65,30,53.78]); // Frame skirt 2
translate([-1.6,0,51.32])cube([1.65,65,2.46]); // Frame skirt 3
}
//pretty corners
translate([-11,-2,-2])rotate([0,0,-45])cube([10,10,58]);
translate([95-3+5+1,-2,-2])rotate([0,0,-45])cube([10,10,58]);
translate([-3,-9,-4.46])rotate([-45,0,0])cube([130,10,10]);
translate([-3,-12,54.78])rotate([-45,0,0])cube([130,10,10]);
translate([-3,45+15,-4.46])rotate([-45,0,0])cube([130,10,10]);
translate([-3,48+15,54.78])rotate([-45,0,0])cube([130,10,10]);
translate([95-3+3,70,-2])rotate([0,0,-45])cube([10,10,58]);
translate([95,0-10,-20])rotate([0,-45,-45])cube([20,20,20]);
translate([95,0-10,45])rotate([0,-45,-45])cube([20,20,20]);
translate([95,60,-10])rotate([-35,-45,-45])cube([20,20,20]);
translate([95,60,65])rotate([-55,48,-48])cube([20,20,20]);
translate([79,-5,67.28])rotate([0,45,0])cube([20,90,20]);
translate([79,-5,-13.96])rotate([0,45,0])cube([20,90,20]);
translate([3,3,2])cube([89.02,50.02+15,50.02-0.7]); // main cutout
translate([-3,50-16.4+15,2])cube([100,16.5,50-0.7]); // insert cutout
translate([-3,50-16.4-15.6+15,2])cube([10,100,17]); // right bottom cutout
translate([85+2,50-16.4-17.6+15+0.9,2])cube([10,100,50-0.7]); // left bottom cutout
translate([85+2,10,2])rotate([0,0,45]) cube([10*sqrt(2),10*sqrt(2),50-0.7]);
translate([85+2,3,2]) cube([10,17,50-0.7]);
translate([-3,50-16.4-17.6+15+0.9,2])cube([100,100,10]); // bottom cutout
translate([5.5,0.5,0])
{
translate([48,1.5,40])cube([27.5,32.9,30]); // socket cutout
translate([48-4.5,3+15.6+0.5,40])cylinder(r=2,h=50, $fn=8); // socket right hole cutout
translate([48-4.5+37-0.5,3+15.6+0.5,40])cylinder(r=2,h=50, $fn=8); // socket left hole cutout
translate([1,6,44])cube([12.5,20,30]); // switch cutout
}
translate([7-0.5-0.5,40-1+15+0.7,-10])cylinder(r=2,h=50,$fn=15); // left back mounthole cutout
translate([7-0.5-0.5,40-1+15+0.7,-3.7])cylinder(r2=2, r1=3.5,h=1.5,$fn=15);
translate([67.5-0.7-0.5,43.5-1+15+0.5,-10])cylinder(r=2,h=50,$fn=15); // right back mounthole cutout
translate([67.5-0.7-0.5,43.5-1+15+0.5,-3.7])cylinder(r2=2, r1=3.5,h=1.5,$fn=15);
translate([130,32+26,55-4-25])rotate([0,-90,0])cylinder(r=2.5,h=50,$fn=35); // Left side bracket screw hole
translate([101.1,32+26,55-4-25])rotate([0,-90,0])cylinder(r2=2.5, r1=4.1,h=3,$fn=15);
translate([-0.3,1,-1.2]) CubeAdjust(102,54.25);
for(i=[0:9])
{
translate([20+i,6.8,-10])cylinder(r=3.5,h=50); // left back mounthole cutout
}
}
}
module PSU_Y_REINFORCEMENT()
{
difference()
{
union() // base shape
{
translate([ 59.5, 0, -18 ]) cube([ 33, 6, 19 ]); // reinforcement plate
translate([ 73.5, 5, -18 ]) cube([ 5, 16, 19 ]); // vertical_reinforcement
}
union () // cutouts
{
translate([ 87.5, -8, -20 ]) rotate([ 0, 45, 0 ]) cube([ 10, 20, 10 ]); //corner cut
translate([ 52.5, -8, -20 ]) rotate([ 0, 45, 0 ]) cube([ 10, 20, 10 ]); //corner cut
translate([ 68.5, 20, -34 ]) rotate([ 45, 0, 0 ]) cube([ 15, 23, 20 ]); //vertical reinf cutout
translate([ 66.2, -0.2, -5])cube([23.6, 0.4, 5.6]);
translate([ 68 + 1.8 +2.6, -0.2, -7.7 -5.6])cube([11.2, 0.4, 5.6]);
translate([ 88, 8, -11.5 ]) rotate([ 90, 0, 0]) cylinder( h = 10, r = 1.8, $fn=30 ); //hole A
translate([ 68, 8, -11.5 ]) rotate([ 90, 0, 0 ]) cylinder( h = 10, r = 1.8, $fn=30 ); //hole B
translate([ 88, 8, -9.5 ]) rotate([ 90, 0, 0]) cylinder( h = 10, r = 1.8, $fn=30 ); //hole A
translate([ 68, 8, -9.5 ]) rotate([ 90, 0, 0 ]) cylinder( h = 10, r = 1.8, $fn=30 ); //hole B
translate([ 86.2, -10, -11.5 ]) cube([ 3.6, 20, 2 ]); // hole cut extension
translate([ 66.2, -10, -11.5 ]) cube([ 3.6, 20, 2 ]); // hole cut extension
}
}
}
module psu_main(){
difference()
{
union()
{
PSU_COVER();
PSU_Y_REINFORCEMENT();
translate([85.5,4+15.6+0.5,39.1+13.5]) rotate([0,0,180]) nuttrap();
translate([49,4+15.6+0.5,39+13.5]) rotate([0,0,180]) nuttrap();
}
translate([-5,-9,-30]) cube([150,10,100]);
}
}
module upper_part()
{
difference()
{
union()
{
psu_main();
translate([30,3.5,49.5]) cube([15,11,2.5]);
translate([45,3.5,1]) cube([15,11,2.5]);
}
translate([-5,0,-20]) cube([120,3.5,120]);
translate([37,9,39]) rotate([0,0,0]) m3_screw();
translate([14.5,8,25]) rotate([0,-90,0]) m3_screw();
translate([85.5,8,25]) rotate([0,90,0]) m3_screw();
translate([52,9,14.5]) rotate([0,180,0]) m3_screw();
//version
translate([73,7.5,1.5]) rotate([0,0,0]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=6, center=true); }
}
}
module lower_part()
{
difference()
{
union()
{
difference()
{
union()
{
psu_main(); // base cover
translate([50,0.5,40]) cube([40,3,13.8]);
translate([5,0.5,4]) cube([90,4,45]);
}
translate([-5,3.5,-20]) cube([120,100,120]); // cut
}
// frame side wall
translate([3.1,3,5]) cube([3,10,40]);
translate([5.1,3,20]) cube([3,10,10]);
// rear wall
translate([93.9,3,5]) cube([3,10,40]);
translate([91.1,3,20]) cube([3,10,10]);
// switch side wall
translate([30,3,44.5]) cube([15,11,5]);
// nut inserts
translate([32,1,44]) cube([10,1,5]);
translate([3,1,20]) cube([5,11,10]);
translate([92,1,20]) cube([5,11,10]);
translate([45,2,3.5]) cube([15,11,5]);
translate([46.5,1,3.5]) cube([10,2,5]);
// floor reinforcement
difference()
{
translate([5,0.5,4]) cube([90,3.5,45]);
translate([53.5,-1,34]) cube([27.5,8,20]);
}
}
// rear side nut
translate([4.5,-3.4,22.2]) cube([2.3,15,5.6]);
translate([-4,8,25 ]) rotate([0,90,0]) cylinder(h=15,r=1.6, $fn=30 );
translate([-2,8,25 ]) rotate([0,90,0]) cylinder(h=4,r=3.1, $fn=30 );
// frame side nut
translate([93,-3.4,22.2]) cube([2.3,15,5.6]);
translate([88,8,25 ]) rotate([0,90,0]) cylinder(h=15,r=1.6, $fn=30 );
translate([98,8,25 ]) rotate([0,90,0]) cylinder(h=4,r=3.1, $fn=30 );
// edges
translate([0,15,38]) rotate([45,0,0]) cube([15,15,15]);
translate([90,15,38]) rotate([45,0,0]) cube([15,15,15]);
translate([0,15,-9]) rotate([45,0,0]) cube([15,15,15]);
translate([90,15,-9]) rotate([45,0,0]) cube([15,15,15]);
translate([25,6,38]) rotate([0,0,45]) cube([15,15,15]);
translate([49.5,6,38]) rotate([0,0,45]) cube([15,15,15]);
translate([41,6,3]) rotate([0,0,45]) cube([15,15,15]);
translate([64,6,3]) rotate([0,0,45]) cube([15,15,15]);
// switch side nut
translate([31.5+2.8,0,47.5-2]) cube([5.6,9+2.8,2.3]);
translate([37,9,43 ]) rotate([0,0,90]) cylinder(h=15,r=1.6, $fn=30 );
// reinforcement side nut
translate([52,9,-5 ]) rotate([0,0,90]) cylinder(h=15,r=1.6, $fn=30 );
translate([46+2.8,0,5]) cube([5.6,9+2.8,2.3]);
// cleanup
translate([-5,-8,-20]) cube([120,10,120]);
// nut edges
translate([46+2.8,1.5,4]) rotate([45,0,0]) cube([5.6,3,3]);
translate([31.5+2.8,1.5,44.5]) rotate([45,0,0]) cube([5.6,3,3]);
translate([5.5,-0.5,22.2]) rotate([0,0,45]) cube([3,3,5.6]);
translate([94,-0.5,22.2]) rotate([0,0,45]) cube([3,3,5.6]);
//version
translate([10,3.6,20]) rotate([90,-90,180]) linear_extrude(height = 0.8)
{ text("R1",font = "helvetica:style=Bold", size=6, center=true); }
}
}
translate([0,0,-3.5]) rotate([90,0,0]) upper_part();
translate([100,23,-2]) rotate([90,0,180]) lower_part();

View File

@ -12,6 +12,7 @@ bearing_diameter = 14.95;
module horizontal_bearing_base(bearings=1){
translate(v=[0,0,6]) cube(size = [24,8+bearings*25,12], center = true);
}
module horizontal_bearing_holes(bearings=1){
cutter_lenght = 10+bearings*25;
one_holder_lenght = 8+25;
@ -41,21 +42,55 @@ module horizontal_bearing_holes(bearings=1){
}
module horizontal_bearing_test(){
difference(){
horizontal_bearing_base(1);
horizontal_bearing_holes(1);
}
translate(v=[30,0,0]) difference(){
horizontal_bearing_base(2);
#horizontal_bearing_holes(2);
}
translate(v=[60,0,0]) difference(){
horizontal_bearing_base(3);
horizontal_bearing_holes(3);
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;
@ -63,11 +98,11 @@ 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(){
translate(v=[0,0,-1]) poly_cylinder(h = 62, r=(bearing_diameter/2));
translate(v=[0,0,-1]) poly_cylinder(h = 62, r=(14.80/2));
translate(v=[0,0,-0.1]) cylinder(r1=(bearing_diameter/2)+0.7,r2=(bearing_diameter/2), h=0.5);
rotate(a=[0,0,-40]) translate(v=[bearing_diameter/2-2.9,-0.5,0.5]) cube(size = [thinwall*2,1,62]);
@ -80,3 +115,4 @@ vertical_bearing_holes();
//horizontal_bearing_test();
//horizontal_bearing_base(1);
//horizontal_bearing_holes(1);
//horizontal_bearing_holes_nozip(1);

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,119 @@
// PRUSA iteration4
// lcd supports
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module body()
{
difference()
{
// base block
translate([-55,-2,0]) cube([69,81,10]);
union ()
{
// outer body shape
translate([-69.6,32,-1]) rotate([0,0,45]) cube([60,53,15]);
translate([13.7,89.7,-1]) rotate([0,0,135]) cube([60,42,15]);
translate([-19,-9,-1]) cube([60,9,15] );
translate([7,-3,-1]) cube([60,68,16]);
translate([-16,60,-1]) cube([60,50,15] );
translate([-41, -45,-1]) rotate([0,0,45]) cube([60,80,13]);
// pcb cout out
translate([4,1.5,-1]) cube([1.8,56.5,17]);
translate([0,7.5,-1]) cube([5.8,44.5,17]);
translate([4.8,3.5,-1]) cube([5.8,52.5,17]);
translate([8,-5,-1] ) rotate([0,0,45]) cube([5,5,17]);
translate([8,58,-1]) rotate([0,0,45]) cube([5,5,17]);
}
// pcb inserts
translate([4,3,8]) rotate([45,0,0]) cube([1.8,5,5]);
translate([4,56.5,8]) rotate([45,0,0]) cube([1.8,5,5]);
translate([4,3,-5]) rotate([45,0,0]) cube([1.8,5,5]);
translate([4,56.5,-5]) rotate([45,0,0]) cube([1.8,5,5]);
}
}
module support()
{
difference()
{
union()
{
rotate([0,0,45]) body();
// screw block
translate([-72,22,0]) cube([30,16,10]);
}
// lower angled part cut
translate([-75,-2,-1]) cube([20,14,15]);
translate([-70,-2,-1]) cube([20,14,15]);
translate([-50,-16.3,-1]) rotate([0,0,45]) cube([20,20,15]);
translate([-76.5,-2,-1]) cube([15,40,15]);
difference()
{
translate([-28,0,-1]) rotate([0,0,45]) cube([10,40,15]);
translate([-38,-12,-1]) cube([20,20,15]);
translate([-58,23.5,-1]) cube([25,25,15]);
}
// screw holes
translate([-71,18+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30);
translate([-70,29+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30);
// nut traps
translate([-58,15.1+4,5-2.8]) cube([2.2,5.8,29.7]);
translate([-58,26.1+4,5-2.8]) cube([2.2,5.8,29.7]);
// version
translate([-20,2,9.5]) rotate([0,0,0]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
}
}
module left_lcd_support()
{
support();
rotate([0,0,45]) difference()
{
// sd card shield
translate([-3,3,10]) cube([2,55,10]);
translate([-4,3,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30);
translate([-4,58,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30);
}
}
translate([-60,-2,0]) rotate([0,0,180]) support();
left_lcd_support();

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

@ -0,0 +1,178 @@
// PRUSA iteration4
// X carriage back
// 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 x_carriage_back()
{
difference()
{
union()
{
// base block
translate([-16,-40.0,15.1]) cube([33,73,8]);
translate([-25.5,4,15.1]) cube([52,30.5,8]);
}
// lower bearing cut
translate([-17,-22,7.5]) cube([35,4,10]);
// cables opening
translate([-4.5,-18,15]) cube([10,4,10]);
translate([0.5,-18,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
translate([0.5,-14,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
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=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([-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 );
translate([13,31,19]) cylinder( h=50, r=3.1, $fn=30 );
translate([-10.5,31,19]) cylinder( h=50, r=3.1, $fn=30 );
// lower screw heads
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([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.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 );
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,-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]);
translate([22.05,28,10]) rotate([0,0,45]) cube([10,10,15]);
translate([-22,35,21]) rotate([30,0,0]) cube([44,10,10]);
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]);
translate([17,22,13]) rotate([0,0,0]) cube([10,10,5]);
translate([-24.5,22,13]) rotate([0,0,0]) cube([10,10,5]);
// 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,-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]);
// upper ziptie left
translate([-21.5,-25,0])difference()
{
translate([1,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
}
translate([19.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]);
translate([-20.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]);
// upper ziptie right
translate([19,-25,0])difference()
{
translate([0.5,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
}
// supports
translate([-17,26,5]) m3head();
translate([-40.5,26,5]) m3head();
translate([-29,-1,4]) 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); }
}
}
rotate([0,180,0]) x_carriage_back();

View File

@ -0,0 +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([-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

@ -0,0 +1,192 @@
// PRUSA iteration4
// X end idler
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <x-end.scad>
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=[-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);
// 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()
{
// waste pocket
translate([-15,-1,6]) rotate([90,0,0]) cylinder( h=5, r=5, $fn=30);
translate([-15,-1,51]) rotate([90,0,0]) cylinder( h=5, r=5, $fn=30);
translate([-15,-5.9,6]) rotate([90,0,0]) cylinder( h=3, r1=5, r2=4.3, $fn=30);
translate([-15,-5.9,51]) rotate([90,0,0]) cylinder( h=3, r=5, r2=4.3, $fn=30);
// opening window
translate([-17,-1,51]) rotate([90,0,0]) cube([4,15,4]);
translate([-17,-1,-1]) rotate([90,0,0]) cube([4,15,4]);
}
module x_end_idler_base()
{
difference()
{
union()
{
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(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]);
}
}
x_end_idler_holes();
}
translate([-15,10.5,6]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
translate([-15,10.5,51]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
difference()
{
translate(v=[-19,-16.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r1=9, r2=12, $fn=30);
translate([-25,-11.5,19]) cube([20,10,24]);
translate(v=[0,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=30);
}
// 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);
}
module selective_infill()
mirror([0,1,0]) translate([-50, -33, 0.6])
{
difference()
{
union()
{
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=11.7, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=11.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=10.7, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=10.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9.9, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=9.7, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=8.8, $fn=30);
}
}
translate([57.5,50.5,-1]) rotate([0,0,45]) cube([8,10,9]);
translate([52,30.5,-1]) rotate([0,0,45]) cube([10,20,20]);
translate([32,35.5,-1]) cube([8,30,9]);
}
}
module x_end_idler()
{
mirror([0,1,0])
difference()
{
x_end_idler_base();
waste_pocket();
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
translate([-23.7,-25,2]) rotate([90,0,90]) linear_extrude(height = 0.6)
{ text("R6",font = "helvetica:style=Bold", size=4, center=true); }
}
// bearings stop
difference()
{
translate([0,0,57]) rotate([0,0,90]) cylinder( h=1, r=8, $fn=30);
translate([0,0,56.9]) rotate([0,0,90]) cylinder( h=0.5, r1=8, r2=7,$fn=30);
translate([0,0,56.5]) rotate([0,0,90]) cylinder( h=2, r=7, $fn=30);
translate([0.2,-0.5,50]) rotate([0,0,40]) cube([12,1,10]);
}
// bearings spacer
difference()
{
translate([0,0,26]) rotate([0,0,90]) cylinder( h=6, r=8, $fn=30);
translate([0,0,25]) rotate([0,0,90]) cylinder( h=8, r=7.55, $fn=60);
translate([0,0,25.9]) rotate([0,0,90]) cylinder( h=2, r2=7.5, r1=7.7,$fn=30);
translate([0,0,31.4]) rotate([0,0,90]) cylinder( h=2, r1=7.5, r2=8.3,$fn=30);
rotate([0,0,310]) translate([-2.5,0,26]) cube([5,15,10]);
rotate([0,0,310-120]) translate([-2.5,0,26]) cube([5,15,10]);
rotate([0,0,310-240]) translate([-2.5,0,26]) cube([5,15,10]);
}
}
difference()
{
union()
{
x_end_idler();
translate([-8,15,13.0]) rotate([0,0,-45.4]) cube([10,1.5,1]);
}
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

@ -0,0 +1,193 @@
// PRUSA iteration4
// X end motor
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <x-end.scad>
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();
// Position to place
translate(v=[-1,32,30.25])
{
// Belt hole
translate(v=[-19,-21,-12]) cube(size = [10,25,22]);
// Motor mounting holes
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.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]);
translate(v=[-25,21,-11]) rotate([45,0,0]) cube(size = [60,10,10]);
// Material saving cutout
translate(v=[-10,41,-30.5]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
}
}
// Motor shaft cutout
module x_end_motor_shaft_cutout()
{
union()
{
difference()
{
translate(v=[0,32,30]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=17, $fn=6);
translate(v=[-10,-17+32,30]) cube(size = [60,2,10], center = true);
translate(v=[-10,-8+32,-15.5+30]) rotate(a=[60,0,0]) cube(size = [60,2,10], center = true);
translate(v=[-10,8+32,-15.5+30]) rotate(a=[-60,0,0]) cube(size = [60,2,10], center = true);
}
translate(v=[-30,25.2,-11.8 +30]) rotate(a=[0,90,0]) cylinder(h = 30, r=3, $fn=30);
translate(v=[-30,19.05,30]) rotate(a=[0,90,0]) cylinder(h = 30, r=3.5, $fn=100);
}
}
// Final part
module x_end_motor()
{
difference()
{
x_end_motor_base();
x_end_motor_shaft_cutout();
x_end_motor_holes();
// waste pocket
translate([-15,7,6]) rotate([90,0,0]) cylinder(h=3.5, r=5, $fn=30);
translate([-15,7,51]) rotate([90,0,0]) cylinder(h=3.5, r=5, $fn=30);
translate([-15,3.5,6]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30);
translate([-15,3.5,51]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30);
// rod contact window
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("R6",font = "helvetica:style=Bold", size=4, center=true); }
}
translate([-15,10,6]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
translate([-15,10,51]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
// bearing stop
difference()
{
translate([0,0,57]) rotate([0,0,90]) cylinder( h=1, r=8, $fn=30);
translate([0,0,56.9]) rotate([0,0,90]) cylinder( h=0.5, r1=8, r2=7,$fn=30);
translate([0,0,56.5]) rotate([0,0,90]) cylinder( h=2, r=7, $fn=30);
translate([-0.18,-0.5,50]) rotate([0,0,-40]) cube([12,1,10]);
}
// bearings spacer
rotate([0,0,45]) difference()
{
translate([0,0,26]) rotate([0,0,90]) cylinder( h=6, r=8, $fn=30);
translate([0,0,25]) rotate([0,0,90]) cylinder( h=8, r=7.55, $fn=60);
translate([0,0,25.9]) rotate([0,0,90]) cylinder( h=2, r2=7.5, r1=7.7,$fn=30);
translate([0,0,31.4]) rotate([0,0,90]) cylinder( h=2, r1=7.5, r2=8.3,$fn=30);
rotate([0,0,310]) translate([-2.5,0,26]) cube([5,15,10]);
rotate([0,0,310-120]) translate([-2.5,0,26]) cube([5,15,10]);
rotate([0,0,310-240]) translate([-2.5,0,26]) cube([5,15,10]);
}
// 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=[-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);
}
difference()
{
union()
{
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]);
}
}
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

@ -0,0 +1,142 @@
// PRUSA iteration4
// X end prototype
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <bearing.scad>
use <polyholes.scad>
rod_distance = 45;
module x_end_base()
{
// Main block
height = 58;
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
translate([-8,-28.5,0]) cube(size = [5,1,13.5]);
// Bearing holder
vertical_bearing_base();
//Nut trap
// Cylinder
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);
translate(v=[8,-17,12]) rotate([0,0,0]) cube(size = [15,50,10], center = true);
translate(v=[8,-24,12]) rotate([0,0,0]) cube(size = [50,15,10], center = true);
translate(v=[0,-17, -1]) cylinder(h = 20, r = 6.7, $fn = 60);
}
}
module reinforcement_selective_infill()
{
rotate([90,0,-15,]) translate ([-1.5, 8, 26])linear_extrude(height = 0.2) polygon( points=[[-2,0],[0,5],[8,0]] );
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()
{
vertical_bearing_holes();
// Belt hole
translate(v=[-1,0,0])
{
// Stress relief
difference()
{
translate(v=[-5.5-10+1.5,-10,30]) cube(size = [10,46,28], center = true);
// Nice edges
translate(v=[-5.5-10+1.5-5,-10,30+23]) rotate([0,20,0]) cube(size = [10,46,28], center = true);
translate(v=[-5.5-10+1.5+5,-10,30+23]) rotate([0,-20,0]) cube(size = [10,46,28], center = true);
translate(v=[-5.5-10+1.5,-10,30-23]) rotate([0,45,0]) cube(size = [10,46,28], center = true);
translate(v=[-5.5-10+1.5,-10,30-23]) rotate([0,-45,0]) cube(size = [10,46,28], center = true);
}
}
// Bottom pushfit rod
translate(v=[-15,-41,6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
// Top pushfit rod
translate(v=[-15,-41.5,rod_distance+6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
// TR Nut trap
// Hole for the nut
//#translate(v=[0,-17, -1]) poly_cylinder(h = 9.01, r = 6.7, $fn = 60);
translate(v=[0,-17, -1]) cylinder(h = 14.51, r = 6.7, $fn = 60);
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.15, $fn=6);
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]);
}
}
// Final prototype
module x_end_plain()
{
difference()
{
union()
{
difference()
{
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);
}
}
}
module pushfit_rod(diameter,length)
{
poly_cylinder(h = length, r=diameter/2);
difference()
{
translate(v=[0,-diameter/2.85,length/2]) rotate([0,0,45]) cube(size = [diameter/2,diameter/2,length], center = true);
translate(v=[0,-diameter/4-diameter/2-0.4,length/2]) rotate([0,0,0]) cube(size = [diameter,diameter/2,length], center = true);
}
}
x_end_holes();

View File

@ -0,0 +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,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();

View File

@ -0,0 +1,107 @@
// PRUSA iteration4
// Z axis top holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module z_top_base()
{
translate([0,-5,0]) cube([8,45,16]); // plate touching the base
translate([0,-5,0]) cube([33,3.6,12]); // plate touching the base
translate([0,-5,0]) cube([38,45,5]); // plate touching the base
translate([25+4.3,3.2,5]) rotate([0,0,0]) cylinder(h = 2.5, r=7, $fn=60);
}
module z_top_fancy()
{
// Corner cutouts
translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
// frame side angle
translate([-13,40+5+10.2,-3]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]);
translate([8,28,-3]) translate([0,0,-1]) cube([50,50,51]);
// cut to shape
translate([4,-1,12]) rotate([0,0, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([6,0,12]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([8,3.9,10]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
// nice edges
translate([38-2.5,-5+2.5,-3]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([-10,49,3.2]) rotate([45,0,0]) translate([-15,0,-1]) cube([50,20,20]);
// outer corner
translate([35,26,-3]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]);
translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]);
// Stiffner cut out
translate([33,-1,7.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]);
// side cut out
translate([-6,-5,-5.55]) rotate([45,0,0]) cube([50,5,5]);
translate([-6,-5,-0.8]) rotate([0,45,0]) cube([5,50,5]);
}
module z_top_holes()
{
// Screw holes frame
translate([-1,10,10]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=30);
translate([-1,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=30);
// Screw heads
translate([4,10,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10-3.1,10]) cube([10,6.2,10]);
translate([4,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+20-3.1,10]) cube([10,6.2,10]);
// Z rod holder
translate([25+4.3,3,0.6]) rotate([0,0,0]) cylinder(h = 50, r=4.05, $fn=50);
translate([25+4.3,3,3.4]) rotate([0,0,0]) cylinder(h = 4.2, r2=4.3, r1=4.05, $fn=50);
// material saving cut
translate([16,10,-4]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
translate([16,28,-4]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
// z screw hole
translate([25+4.3,3+17,3]) rotate([0,0,0]) cylinder(h = 50, r=5.8, $fn=15); // screw hole
translate([25+4.3,3+17,0.6]) rotate([0,0,0]) cylinder(h = 50, r=5.8, $fn=15); // screw hole
translate([25+4.3-1,3,0.6]) cube([2,15,8]); // it's bit up because it helps with printing
//selective infill
translate([36.5,1.5,0.5]) cube([0.1,20,3.5]);
translate([10,-3,0.5]) cube([22,0.1,3.5]);
translate([3,1,0.5]) cube([18,0.1,3.5]);
translate([1.5,19,0.5]) cube([21,0.1,3.5]);
}
module z_top_right(){
difference()
{
z_top_base();
z_top_fancy();
z_top_holes();
//version
translate([12,-1.5,10]) rotate([90,180,180]) linear_extrude(height = 0.6)
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
}
}
module z_top_left(){
translate([0,-12,0]) mirror([0,1,0])
difference()
{
z_top_base();
z_top_fancy();
z_top_holes();
//version
translate([19,-1,10]) rotate([90,180,0]) linear_extrude(height = 0.6)
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
}
}
// Final parts
z_top_left();
z_top_right();

View File

@ -1,4 +1,4 @@
// PRUSA iteration3
// PRUSA iteration4
// Z screw cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors

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

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.

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

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.

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

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.

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,34 +0,0 @@
// PRUSA iteration3
// LCD cable clip
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
// body
difference(){
union(){
cylinder(r=7,h = 7, $fn=30);
translate([2,-8,0]) cube([9.5,18,3]);
translate([2,-9,0]) cube([5.5,5,3]);
}
// rod cutout
translate([0,0,-1]) cylinder(r=5,h = 10, $fn=30);
translate([-4.5,0,-5]) cube([9,15,15]);
// LCD cable cut
translate([8,-12,-1]) cube([2,19,5]);
translate([9,7,-1]) cylinder(r=1,h = 5, $fn=30);
//corners
translate([2,-13.75,-1]) rotate([0,0,45]) cube([5,5,5]);
translate([4,6,-1]) rotate([0,0,45]) cube([10,10,5]);
translate([14,6,-1]) rotate([0,0,45]) cube([10,10,5]);
translate([-3,3,-1]) rotate([0,0,45]) cube([5,5,10]);
translate([3,3,3]) rotate([0,0,45]) cube([5,5,10]);
}
// LCD cable cut ends
translate([7.5,-8,0]) cylinder(r=1,h = 3, $fn=30);
translate([10.5,-8,0]) cylinder(r=1,h = 3, $fn=30);

View File

@ -1,189 +0,0 @@
// PRUSA iteration3
// LCD cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module main_body(){
difference() {
union() {
// 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 , -14.7 , 14.2 ] ) cube( [ 155 , 2 , 11.8 ] );
translate( [ -77 , 54 , 0 ] ) cube( [ 155 , 2 , 17 ] );
// M3 hole body
translate( [ 73.5 , 43.3 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
translate( [ -72.5 , 43.5 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
}
translate( [ -61.5 , 1 , 1.2 ] ) cube( [ 98.5 , 42 , 10 ] ); // LCD window
translate( [ -54.5 , 8 , -1 ] ) cube( [ 85 , 30.5 , 10 ] ); // LCD window
// 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 ] );
// knob hole
translate( [ 62.5 , 21 , -1 ] ) cylinder( h = 10, r = 6, $fn=30);
translate( [ 62.5 , 21 , -1.2 ] ) cylinder( h = 2, r1 = 7, r2 = 6, $fn=30);
// reset button cutout
translate( [ 44 , 26 , -1 ] ) cube( [ 1 , 6 , 9 ] );
translate( [ 48 , 26 , -1 ] ) cube( [ 1 , 2.5 , 9 ] );
translate( [ 68.5 , 36 , -1 ] ) cube( [ 1 , 8 , 9 ] );
translate( [ 56 , 43 , -1 ] ) cube( [ 13.5 , 1 , 9 ] );
translate( [ 50.5 , 30 , -1 ] ) cube( [ 13 , 1 , 9 ] );
translate( [ 44.7 , 31.28 , -1 ] ) rotate([0,0,45]) cube( [ 17 , 1 , 9 ] );
translate( [ 63.5 , 30 , -1 ] ) rotate([0,0,45]) cube( [ 8.5 , 1 , 9 ] );
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 ] );
}
}
module pcb_clip(){
difference(){
union(){
translate( [ -3 , -12 , 17.5 ] ) cube( [ 7 , 4 , 5 ] );
translate( [ -3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
translate( [ 3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
}
translate( [ -4 , -8 , 18.5 ] ) rotate([30,0,0]) cube( [ 10 , 6 , 6 ] );
translate( [ 2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ 2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
}
}
difference()
{
union()
{
pcb_clip();
main_body();
// reset button
translate( [ 62.5 , 37.3 , 0 ] ) cylinder( h = 7.2, r = 3.5, $fn=30);
//left side
translate( [ -77 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ -76.5 , -15 , 0 ] ) cube( [ 4 , 70 , 14.6 ] );
//right side
translate( [ 76.5 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ 73.5 , -14 , 0 ] ) cube( [ 4 , 70 , 14.5 ] );
//rear side reinforcement
translate( [ -54.5 , -11.7 , 8 ] ) cube( [ 110 , 4 , 6.5 ] );
translate( [ 65.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ 65.5 , -13 , 14 ] ) cube( [ 12 , 2 , 12 ] );
translate( [ -76.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ -76.5 , -14.7 , 14.5 ] ) cube( [ 12 , 4 , 11.5 ] );
translate( [ -44 , -14.7 , 14.5 ] ) cube( [ 89 , 4 , 11.5 ] );
translate( [ -43.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
translate( [ 44.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
//front left side reinforcement
difference()
{
union(){
translate( [ -77 , 41.3 , 0 ] ) cube( [ 15 , 14 , 25 ] );
translate( [ -77 , 46.3 , 14 ] ) cube( [ 15 , 9 , 3 ] );
}
translate( [ -64.5 , 40 , -3 ] ) cube( [ 4 , 8 , 40 ] );
translate( [ -75.5 , 40.3 , 14.5 ] ) cube( [15 , 6.5 , 25 ] );
}
//front right side reinforcement
difference(){
translate( [ 38 , 41.2 , 0 ] ) cube( [ 40 , 14 , 26 ] );
translate( [ 55 , 44.5 , 0 ] ) cube( [ 10.5 , 3.7 , 30 ] );
translate( [ 44 , 39.5 , 0 ] ) cube( [ 25.5 , 5 , 30 ] );
translate( [ 35 , 39.3 , 14.5 ] ) cube( [ 42.5 , 7 , 15 ] );
translate( [ 49 , 43.2 , 25 ] ) rotate([0,60,0]) cube( [ 12 , 5 , 10 ] );
}
}
// SD card opening
translate( [ -80 , 9 , 14.5 ] ) cube( [ 10 , 28 , 6 ] );
// front and rear angle
translate( [ -81 , -9.3 , -17 ] ) rotate([35,0,0]) cube( [ 164 , 14 , 54.08 ] );
translate( [ -78 , 72.7 , -3 ] ) rotate([45,0,0]) cube( [ 160 , 14 , 54.08 ] );
// M3 screw thread
translate( [ 72.7 , 43.2 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ -72.5 , 42.7 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ 72.7 , 43.2 , 14 ] ) cylinder( h = 1, r1 = 1.4, r2=2, $fn=30);
translate( [ -72.5 , 42.7 , 14 ] ) cylinder( h = 1, r = 1.4, r2=2, $fn=30);
// ORIGINAL PRUSA text
translate([-67,52,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("ORIGINAL",font = "helvetica:style=Bold", size=7, center=true); }
translate([-18,52,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("PRUSA",font = "helvetica:style=Bold", size=11, center=true); }
translate( [ -66 , 41.5 , -0.4 ] ) cube( [ 45 , 1.6 , 1 ] );
translate( [ -66 , 42.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
translate( [ -21 , 42.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
// front cleanup
translate( [ -100 , -64 , 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( [ 76 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 5, 80, 5 ] );
translate( [ -82 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 5, 80, 5 ] );
translate( [ -82 , 58 , -4 ] ) rotate([45,0,0]) cube( [ 200, 5, 5 ] );
translate( [ -77 , 54 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
translate( [ 78 , 54 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 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 , -7 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
rotate([35,0,0]) translate( [ 79 , -7 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
}

View File

@ -1,82 +0,0 @@
// PRUSA iteration3
// PSU-Y reinforcement part
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module base()
{
union(){
difference(){
union(){
translate([ 5, -23, 0 ]) cube([ 25, 38, 17.5 ]); // horizontal plate
translate([ -23, -2, 0 ]) cube([ 28, 17, 28 ]); // Y_Corner block
}
translate( [ 4 , -25 , -1 ] ) cube( [ 9 , 23 , 20 ] ); // holder side cut
}
difference(){
translate([ 8, -7, 0 ]) cube([ 5, 5, 17.5 ]); // fillet block
translate([ 8, -7, -1 ]) cylinder( h = 28, r = 5, $fn=30); // fillet cut
}
}
}
module cutout()
{
translate([ 22, 4 , -2 ]) cylinder( h = 20, r = 1.7, $fn=30); // M3 hole A
translate([ 22, 4 , 8 ]) cylinder( h = 10, r1 = 1.7, r2=1.9,$fn=30); // M3 hole A
translate([ 22, 4 , -1 ]) cylinder( h = 5, r1 = 3.4, r2=3.2,$fn=6); // M3 nut body A
translate([ 22, 4 , -1 ]) cylinder( h = 5, r2 = 0.1, r1 = 5, $fn=6); // M3 nut hole fillet A
#translate([ 22, 4 , 4.2 ]) cube([ 3.3 , 5.8 , 0.4 ], center = true ); // bridge force A
translate([ 22, -16 , -2 ]) cylinder( h = 20, r = 1.7, $fn=30); // M3 hole B
translate([ 22, -16 , 8 ]) cylinder( h = 10, r1 = 1.7, r2=1.9, $fn=30); // M3 hole B
translate([ 22, -16 , -1 ]) cylinder( h = 5, r1 = 3.4, r2=3.2, $fn=6); // M3 nut body B
translate([ 22, -16 , -1 ]) cylinder( h = 5, r2 = 0.1, r1 = 5, $fn=6); // M3 nut hole B fillet
#translate([ 22, -16 , 4.2 ]) cube([ 3.3 , 5.8 , 0.4 ], center = true ); // bridge force B
translate([ -13, 14 , 14 ]) rotate([90,0,0]) cylinder( h = 25, r = 5.2, $fn=30); // threaded rod
translate([ -13, 0 , 14 ]) rotate([90,0,0]) cylinder( h = 4, r = 13, $fn=30); // washer
translate([ -29, -7 , 14 ]) cube([ 29, 7, 18 ]); // washer upper cut
translate([ -24, 13 , -1 ]) cube([ 20, 15, 30 ]); // Y_Corner cutaway
//vertical corners 45 degree cut
translate( [ 12, -31 , -2 ] ) rotate( [0,0,45] ) cube([ 10 , 10 , 21 ]);
translate([ 31, 9, -2 ]) rotate( [0,0,45] ) cube([ 10, 10, 21 ]);
translate([ 31, -31, -2 ]) rotate( [0,0,45] ) cube([ 10, 10, 21 ]);
// horizontal corners 45 degree cut
translate([ -8.5, -8, 31 ]) rotate( [0,45,0] ) cube([ 19, 40, 20 ]);
translate([ -31, -6, 30 ]) rotate( [0,45,0]) cube([ 10, 35, 10 ]);
translate([ -31, -6, -2 ]) rotate( [0,45,0] ) cube([ 10, 35, 10 ]);
translate([ -26, -4, 2.5 ]) rotate( [45,0,0] ) cube([ 5, 5, 5 ]);
translate([ -1, -4, 16.5 ]) rotate( [45,0,0] ) cube([ 5, 5, 5 ]);
translate([ -1, -5, 20 ]) cube([ 5, 5, 5 ]);
translate([ -5, 16.6, 20.5 ]) rotate( [45,0,0] ) cube([ 6, 5, 5 ]);
translate([ -5, 13, 24 ]) cube([ 6, 5, 5 ]);
translate([ -30, 15, -5 ]) rotate( [45,0,0] ) cube([ 70, 5, 5 ]);
translate([ 31, -7, -1 ]) rotate([0,0,45]) cylinder( h = 25, r = 3, $fn=30);
translate([ -12, 6.5, 27 ]) rotate([0,0,45]) cylinder( h = 25, r = 4, $fn=30);
translate([ -5, 9, 1.5 ]) cube([ 21, 0.5, 14 ]);
translate([ -5, 6, 1.5 ]) cube([ 20, 0.5, 14 ]);
translate([ -5, 3, 1.5 ]) cube([ 19, 0.5, 14 ]);
translate([ -21, 2, 5 ]) cube([ 0.5, 9, 18 ]);
}
module final_part(){
difference()
{
base();
cutout();
}
}
final_part();

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