Spreadsheet to G-Code?

Yes, there are ways to rig a spreadsheet application to generate simple G-code for controlling CNC equipment. It's an interesting approach, but has practical limitations. May 23, 2007

Question
I came across this site - excelcut.netmyne.com - from a machinery making forum that I check in on every now and then. Some fellow has written an application in Visual Basic that allows you to interface with CNC machines, starting from a Microsoft Excel platform. They talk about a foam cutting machine, which could just be a euphemism for cutting air.

It peaked my curiosity and so I was hoping one of you who actually knows about this stuff might take a look at it and tell me what you think it does. My interest here is academic only. I'm not trying to solve any problems. I just think it would be nifty if you could have some control over the initial interface.

Forum Responses
(CNC Forum)
From contributor W:
You have to remember these are hobby grade machines for cutting foam wings and small parts. The g-code to run those is pretty basic. Check rcgroups.com in the DIY electronics section for some more info. Cnczone.com has lots of info as well on homemade and simple CNC machines. Also check hobbycnc.com. These are the interface boards and steppers to run the machines; that software just helps with the g-code part, which tells the machine where to go.



From contributor P:
Brian P does this, or talk to the Cadcode guys.


From contributor T:
There are quite a few people out there that can generate G code from Excel or database information. This has been available for about ten years or so. The foam cutting machine you mention is most likely an architectural detail machine. I have seen companies cut architectural products from large cubical blocks of foam. The foam is then covered with a variety of materials, including stucco type products, to achieve the cut/carved stone look you see on older buildings.



From the original questioner:
Thanks for putting this to bed for me. A few years ago (I think it was on a Cadcode forum) I saw mention of initiating this process from an Excel file. As I recall, the file was saved in a CSV with the separated values each populating a field on a record. My interest in this is an outcropping of a database I have been developing. The front end of this database starts with customer driven selections and the back end facilitates fabrication. I am a long way from any CNC output at the back end, but I was curious nonetheless.


From Brian Personett, forum technical advisor:
The way I get this is the software is actually spitting out G-code without a post. Which in theory is okay, but in real practice gets a little dicey for the real guy out here trying to cut parts. For example, a G1 is a linear interpolation regardless of whether it's my Busellato or my neighbor's Heian or your Weeke. However, with my Busellato, I can use polar coordinates with a G10, but my neighbor's Heian won't recognize a G10. So the problem as I see it would be me getting this software and then customizing it to fit my machine. Customize it using what they define as "beginner VB code". I build cabinets; I'm not a programmer. Perhaps I'm wrong, but that's my take.

You may be reinventing the wheel. CadCode does indeed take a CSV file and create machine code from it. Peter Page of Learcom has already made a front end called QuickCam. Check the link below. QuickCam is a pretty simple and straight forward easy to setup spreadsheet type affair where you enter your information. I'm not certain but I think he may be using a DB behind it. Check it out, I have no idea what the price tag is for all this stuff, but it may be worth whatever it is to save the time involved with doing it yourself. Plus with CadCode making the code, they already write to virtually every machine controller out there.

I will say this; I do in fact drive my shop with an Excel spreadsheet that I wrote and have developed. The info then gets dumped into CadCode for G-code, saw patterns, and labels. With hindsight being 20/20, if I had it to do over again, I would have done it with a DB. A DB is much more powerful and there are a lot of different things you can do. But alas I now have a piece of software that works perfectly and I'm not going back down that road.



From contributor T:
Some examples of the Excel-based front-end to CNC include:
Microvellum (with AutoCAD)
Building Blocks
QuickCAM (with CADCode)
Several home-made systems (with AlphaCAM)


From contributor J:
Let's not forget Router Cim.


From the original questioner:
I'm not trying to re-invent any wheels. I don't have the skills, time or interest in developing any part of any software that happens subsequent to the creation of an Excel spreadsheet. This part of the project is already well under control by others smarter than me. The software I am working on will allow me to automatically create an Excel spreadsheet. The purpose of my post was to see if I could ultimately hook this database up with a CNC process at the end. I am confident now that I can. For this I thank you (and everybody else) for your helpful explanation.