Sunday, June 5, 2011

Details, Details

I've been doing a lot of brainstorming with a kindred spirit (Jon) I met over at the forum (formerly Snygro).

My ultimate goal here is to come up with a 3d printer that can be built cheaply from easily obtainable materials without access to a full machine shop. That being said, I need a practical test bed to try some ideas. To that end I am going to make modifications to my diy cnc router and add 3d printing capability to it. The router already has a functional z axis and all the electronics. This way I can work out the design details and transfer that to my dedicated desktop printer design.

On the software, I had planned on using MS PowerPoint to create a slide show of my layer slices but was having a very difficult time figuring out how to time each slide with a blank(black) transition that was long enough. It could be done with custom animations but not to all the slides simultaneously. If there were hundreds or thousands of slides that would really suck! I couldn't find a slide show program that would let me set the dark time between slides so I was trying to learn Visual Basic so I could write one for myself. The problem is I was having trouble wrapping my brain around it and was getting frustrated when I couldn't get it to do what I wanted.

In rides Jon Watson to the rescue.
He solved two problems in one stroke.

1. I needed to create a slide show with the appropriate timings and 2. then coordinate that show with the motion control of the printer. At first I was thinking of having some sensor on the printer that "looked" for when a blank slide was displayed so it knew when to make its moves.

Jon came up with a macro to apply the animations to all the slides automatically and then use Mach3 to call up the slides and coordinate them with the motion control software. Anyone with a background in CNC knows about Mach3 but for the rest of you, It's a program that uses something called g-code to control a CNC machine. I own a copy but wasn't planning on using it for this project because it is a significant investment (for a hobbyist) and I wanted to keep the final build cost as low as possible. The really cool thing about Jon's solution is that he uses Mach3's scripting ability (something I hadn't even looked at) to do all the work. That means that the trial version which has a limit of 500 lines of code will work because the script doesn't actually need to run any g-code. Mach uses Cypress Enable a much more (I think) intuitive scripting. After studying Jon's script and going over the Cypress manual I was able to make a few tweaks and removed the need (I hope) for the custom animations in PowerPoint. Now you just place a blank slide as slide #1 and Mach3 will alternate the blank slide with the slice slides. Of course I still need to set the exposure and delay times. That can only be determined once the test bed is up and running and I have some resin to test.

I'll post all the code when I'm sure it isn't buggy.

No comments:

Post a Comment