Main > Project Announcements
CNC-2116 - Up and running, sort of (2015-03-21)
Nephasth:
:laugh2:
You had me until the demonstration on various materials. Gotta love infinite axes! ;D
Yvan256:
I made my custom Web-based CNC software for my Roland MDX-3, so all the coordinates system is off by a factor of 40. I'm really not looking forward to fixing all that to support regular g-code. Not only that, but every function has to be coded three times: one for the HTML canvas preview, one for the Roland RML-1 code and one for the g-code. I guess I should plan ahead of the g-code rewrite and think about splitting every little cut into a function so that I only code three times once. :P
In the meantime, I'm currently testing a new function to cut rectangle outlines with tabs (the tabs are in green in the image). I'm also testing new 1mm bits I got on eBay, and the noise reduction from a smaller cutting bit is just amazing. The stepper motors of the MDX-3 are the major source of noise now. :applaud:
I also got two bonuses: the spindle motor has a lighter cutting load and I'm now able to cut smaller holes and finer details.
I'm currently cutting extension panels for CNC64, to increase the Y-axis cutting length by 40mm. It's not much but it's the maximum length increase I can do for that axis so that CNC64 still fits inside my PVC box.
of my Roland MDX-3 cutting a rectangle with tabs in 3/8" MDF using a 1mm cutting bit, in order to test the RML-1 code output of the new "rectangle_outside_with_tabs" function of my custom Web-based CAD software.
edit: okay, so I messed up the code a little bit. The "tabs" being cut aren't tabs at all, they're uncut parts of the total material height (imagine the green lines not being there at all, or white). I'm fixing the code to cut the 2nd panel. :P
edit 2: first photo below, plate with messed up tabs on the left, plate with proper tabs on the right. It's new to me, so it seems a bit weird to see the right plate "float" like that. ;D
edit 3: more pointless plates with ugly square corners. It reminds me of plastic models for some reason.
edit 4 (2014-06-15): as you might have guessed, I'm still busy re-writing major parts of my Web-based CNC CAD program. It's going well so far and will allow me to add tabs to any shapes and also output regular G-code in addition to Roland RML-1 code.
Yvan256:
As I said in my update above, I'm still busy re-writing major parts of my Web-based CAD/CNC program. It was already a mess of code with almost-duplicate code all over the place depending on the shape to be cut. Adding tabs to all of them and adding G-code afterward would have been a maintenance nightmare.
So far the rewrite is going well and it will allow me to add tabs to any shapes and also output regular G-code in addition to Roland RML-1 code.
I've simplified the functions quite a bit and these functions call new "lines" functions that output HTML5 Canvas/RML-1/G-code, so any new function that I write from this point on is automatically compatible with all three output formats. In short, the function that outputs drawing/CNC code is the same for all shapes, no more duplicate code.
I'm planning to have custom functions in my CAD for all the common "2.5D" CNC design requirements . The basic ones being "hole", "pocket", "rectangle", etc. I'm still not sure how I'll design the complex arbitrary shapes because the path usually needs to be relative to the milling bit (inside cut, outside cut).
I've yet to complete the RML-1 and G-code outputs, but here's a screen capture of the new "hole" function which takes a parameter for the number of sides. Since the RML-1 doesn't allow for circles or arcs, my CAD software will also only use lines for everything including circles.
The green lines in the image are tabs. The ends of the tabs are even rounded according to the milling bit diameter, too! :laugh:
2014-06-16, edit 1: RML-1 code output already completed? At this rate, adding G-code output should take less than one hour, once I understand which codes to output.
2014-06-16, edit 2: Testing a cut with the pattern shown below, I should be able to add a photo by the end of the day. It's working well so far, but there's quite a number of circles to cut. Middle ones are done, still need to cut the last two big ones.
2014-06-16, edit 3: I had to stop the machine at the last circle, it's 22:30 here. I'll post a photo of the cleaned-up plate tomorrow morning.
2014-06-17: After cleaning up the front of the plate, which came out absolutely perfect, I turned it around to clean up the back. Nothing, no slots, totally flat. Turns out I forgot to select the correct material before outputting the RML-1 code for my MDX-3. But I did watch it cut the first few holes and the Z-axis did go up and down, so I know the ramping tabs are working. Next step, flat tabs. Attached are the cleaned plate (rotated 180 degrees on the MDX-3 so I can cut some more tests on the left part of the plate) and a close-up of my CAD software with my stupid mistake highlighted.
2014-06-18: since I'm now cutting with 1mm end mills, I need to rewrite a number of functions that were hard-coded for 1/8" end mills, such as the "pocket" functions (half-depth holes and cutouts). See the last two images for boring details.
Yvan256:
I'm still busy with my CAD software rewrite. It's going very well, but a lot of CNC64 parts need to be "re-traced", so to speak, since my software is very basic and is only mill-diameter-aware for shapes like holes and rectangles.
One good thing from using 1mm end mills, apart from the much lower noise, is the fact that I can pack a lot more parts per plate. I'm slowly re-designing a "CNC64 Mark II" with the primary goal being to minimize board waste. My old "corners" were oddly-shaped, had two versions ("left" and "right") and could only fit four corners per board. My new corner is a single version and has been resized so that I can fit eight of them on a single board. My CAD also now has an "offset" function, which took under five minutes to implement. I guess my new code is getting easier to maintain. ;)
Included below is a screenshot of the CAD screen for the eight new corners. I will cut a plate of those corners tomorrow, I'll update with a photo after they're cut.
edit: the plate is being cut as I'm writing this. I'm also testing a new cutting depth which is three times deeper as usual. The noise increase is barely noticeable. It took about 45 minutes for the first corner, so there's about 5 hours of cutting left. Next time I'm going to increase the cutting depth even more. :P
edit 2: the plate is cut, but... I messed up in two ways. First, cutting too deep totally ruined the milling because instead of having 0.5mm notches in the inside corners, I got totally rounded corners that don't even look straight to the naked eye. I guess the new cutting depth was too much. I'm lucky the end mill didn't break after cutting eight of those parts. Second mistake, I know this is a code problem because my 3.5mm slots for the bolts aren't even 3mm wide. All that cutting for nothing. I should have made more tests, taken more measurements and cut a single corner as a test before trying to cut eight of them. :P
Yvan256:
I added a poll, for those who would be interested in purchasing a CNC64 kit, if it becomes available.
Plywood should be a better environmental choice and be lighter for shipping, but would be more susceptible to weather changes (temperature, humidity) and could require varnish/painting (I'm not planning on offering a pre-painted option either).
Expanded PVC and HDPE would be the lesser choices for the environment, however they're less susceptible to weather changes and would come in color, which means that if enough people were to order a kit, I could offer multiple choices (ex: black/red, black/green, etc). HDPE would also probably cost more to ship because of its weight while expanded PVC is a middle ground between plywood and HDPE as far as weight goes.
You'll note that MDF and HDF are not available. :laugh:
edit: there's a lot of updates on the parts of the optimized version, but I can't post anything about it yet. :P
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version