First off, a slight update. I'm working on the 3rd version printer, which should actually be able to print. Since I won an NXT 2.0 in the Toy challenge with this, I should be able to make another one for the next contest that features a Makerbot.
I originally wanted to create a lego 3D printer for the makerbot challenge, but wasn't able to finish it in time. So, since another makerbot is up for grabs, I decided to do a second version of the printer. Since I have no extruder, I can't actually have it be a 3D printer. That's why it's currently configured as a pen plotter. Also, this takes a massive number of parts. I had to scrounge around for all the little pieces I need.
This is my first instructables, so I've decided to do the guide with a combination of two different techniques. I'm using Lego digital designer to design some of the sub-builds. I've exported each sub-build as an html file and html files are each given a number. (All of which are in the "building instructions.zip" file) I'll reference them by B#. ie, B1, B2 or whatever. So when I say build 2 of B1, I mean open up 1.html and build it twice. If you have Lego Digital Designer (LDD) and would rather use it, the "models.zip" file has all of them by the same number. It's just B1 is 1.lxf instead of 1.html. Sorry if that's confusing. The second approach was to take pictures of putting the sub-builds together.
Here is a video demonstrating what it can do:
Step 1: 3d Printer Sides: the Triangles
The main picture is one side fully assembled.
Step 2: Putting the Sides Together
The "feet" on the bot are actual lego feet. See the second picture on what they are and how they go together. Also see the third picture for how they attach to B2 and B3.
B4 is kinda weird. See the fourth picture for how it should correctly go together. LDD didn't like the way it should be for some reason, but all the pieces you need will be there.
See the fifth picture for how it will look when you're done! See pictures six for where to place B2. Pictures 7 and 8 show how one side of B3 should go.
And now, off to the next step! You can already tell that it can stand pretty well by itself.
Step 3: Z Carriage
See the pictures for what pieces to remove. Basically, you remove the Z rails, slide the Z rails in through the slots on the side of the Z carriage, and put the Z rails back in place the same way you took them out.
Then, go ahead and build B6. I know it's weird as well, considering it is made of multiple pieces, but see the pictures as to how it should be assembled.
Step 4: Y Platform and Carriage
Now we get to put the Y motor on. See the pictures. I've also added a few pieces to try and brace it. I'm not sure how that'll turn out, but you can add something like that if you want.
Step 5: Stringing It Up!
The X and Y axis however, are much different. They only take one string, but they are a bit harder to do. You essentially have to connect one side of the string to the pulleys, run it through and connect it to the carriage, go around the idler (either the wheel in the Y axis, or the two little knobs in the X axis) and back through the carriage to the opposite side of the motor from where you started. This one will have to wind up and down the opposite way as the first one. This is because as the first one is unwinding, the other side should be winding up. So spin the motor a few times to wind up one side so that the carriage is at one side. Then, connect the string to the other side of the motor so that you can rotate the motor and the carriage goes back and forth.
The Y carriage gave me a lot of troubles, and if I had time and more pieces, I would probably completely redo it, but I'm afraid I don't/didn't have either. Maybe in another version. A side note about the two wheels on the bottom with the Z motor. Only use one of them. It's up to you which one. Technically, it's a design flaw, but hey, it's doesn't hurt to have both, right?
Again, see the pictures for some stringing guidelines. If I make another version of this, I'll have to figure out how to do that better. In the meantime, that'll have to do.
After connecting all the strings up, you might have to tighten or loosen them, but you can then put the build plate on, and you're done!
Step 6: Programming!
So I decide to use lejos for this, because I like it, and was I kinda in a rush. It makes code fairly easy to turn out. Okay, so our printer needs a few functions. It needs to be able to:
1) calibrate the printer (Demonstration video at the beginning)
2) accept commands, most likely from USB, detailing how the printer should move. (Probably not gonna be full GCode support though)
I used A, B, and C motors for X, Y, and Z respectively. I gave it the options to Connect, Calibrate, Check calibration, or Exit. Sorry, no dancing for this bot.
To make it easy, I just set up Bluetooth to connect using the serial port /dev/tty.nxt on my computer. I then had replicatorg try and connect to it. Unfortunately, it was so slow that replicatorg gave up on it before any data was even sent to the printer! So that's a no go. I would try USB, but I've never dealt with USB and replicatorg, and I don't even know if that's supported. I still left the option in there, because it will print in hex what it receives over bluetooth, and write it to "log.txt".
It can calibrate the printer, which really doesn't do much except find the bounds of the printer, and write them to the LG3DP.pref file. Checking only checks what's in that file. ie, the current calibration settings. They represent the degrees of rotation (The tachometer count) where the axis would start on one side and be 0, rotate that measurement, and be at the other side. It's basically the distance from one side to the other on the axis.
And of course, exiting. Sad to see you go.