# CNC:  Lining up the ducks.  Asking software questions...



## Ray C (Jul 16, 2013)

All,

I've been thinking more about CNC for milling and like many other things, the hardware is half the issue and software is the other half.  I'd like to get folks opinions about controller software.  I downloaded the user manual to Mach3 -easy to understand and I see what it does.  Can folks recommend other packages?  BTW:  I'm looking to do my homework up front and get a package that's mature, has growing room built into it and works with minimal fuss.  Professional software development is part of my real-life job and I have no interest in playing games with half-baked freeware etc...  Now in the next breath, I don't wish to spend thousands of $$ and would estimate my budget for the software part at/around 500-700 (USD).  Either Windows or Linux is fine with me.

Also, if anyone cares to share their experiences about why they switched form one package to others over say, the last few years, I could probably gain some insight about what to watch for.

FWIW...  For CAD software, I'm using Alibre Professional but, I haven't updated to the latest version which came out a few months ago.  I'll get to that soon.  Also, hardware-wise, I'm thinking of the Precision Matthews PM45-CNC variable speed machine as the starting hardware -only because, I'm completely familiar with that style manual mill -and I trust the daylights out of Matt.

This overall endeavor will probably be my fall and winter self-improvement effort and I'm starting the homework process now.


Ray


----------



## DMS (Jul 16, 2013)

You may want to peruse the "CNC Basics" sticky in this forum, we covered some of what you are asking, but maybe not all.

I think the 2 most common PC based controllers are Mach 3 and LinuxCNC. Here is an interesting writeup op a survey over at CNCCookbook

http://blog.cnccookbook.com/2012/08/02/cnc-control-market-shares-what-are-the-most-popular-controls/

Personally I use LinuxCNC, and have been very pleased with it. It is free, and very solid. I don't have much experience with Mach3, mainly due to the fact that I don't much like running windows, and I take other options when I have a choice. There are a lot of "flame wars" about which is better, but for any small machine with up to 4 axes, I don't think it matters. 

Some things to keep in mind

* Mach has a free demo, so you can play with it (not sure if there is a "simulation" mode)
* Linux CNC is free, and has a bootable CD so you can play with things.
* The main thing I find annoying about LinuxCNC is that you cant' "touch off" in the middle of a program, unless you use a probe. I understand that Mach can do this. I have worked around it
* Linux CNC supports rigid tapping (which I got working recently.. and is awesome). I am not certain if Mach can do the same thing, or if this is an issue.
* LinuxCNC cannot use any of the available usb based control boards. Keep that in mind when purchasing hardware.
* If you go with LinuxCNC, I recommend the hardware boards from Mesa. They don't make it very easy to figure out what you need, but I have gone through the pain, and can provide some guidance. The boards were cheaper than I thought, and were much easier to wire and configure than a simple parallel port breakout board.

I think Mach only runs a couple hundred, so that leaves you a bit of cash left in your budget. If you don't already have a CAM package, you will have to consider that. I currently use AlibreCAM, and it works, but is quirky. I know others have used some sub $300 packages with some success. There is also a free version of the MECSoft CAM suite called "FreeCAM". It's kind of a "one trick pony" in that it only does 3d contouring (and only one type of 3d contouring at that). This would be very slow if you are doing mostly 2.5d stuff.

I would also recommend getting a license for GWizard if you have money left in your budget, I find it very useful, especially for looking at tool deflection.

I think the XX45 type machine is well suited to CNC. If I had it to do again, I think I would start with that type of machine rather than a knee mill.

I would also recommend looking at Syaminab's GCode course [thread]12278[/thread]. Even though I have a CAD/CAM package, certain things are still easier to just code by hand.


----------



## Hawkeye (Jul 16, 2013)

I'm using Mach3 and I like it. In between the CAD source and Mach3, I'm using D2nc. It has it's limitations. Go to their web site and check out the list of things it will not do, like ellipses and filets. I've been able to work around these, but it takes more time in CAD. Do your homework on the intermediate software and find something that will do everything you need.


----------



## Codered741 (Jul 17, 2013)

I would vote for Mach 3.  When I built my CNC in grad school, we tested several options, and we all agreed on Mach 3.  Mainly for the great support!

Don't forget that you need an intermediate program to generate the G-code from your drawing.  These are generally called translators, or CAM programs.  The drawing that you generate from Alibre, generally a DXF (2D) or STL (3D), would be imported into the translation program, where you set the options for the machine.  This is where you specify the feed rate, machine work area, and a host of other options.  This program will then generate the G-code file that Mach, or another machine controller software, will use to control the machine.  

We ended up using two different translator programs, Vectric Cut2D, and SheetCAM.  Our machine was dual purpose, router and Plasma.  We used Vectric for the router, and SheetCAM for Plasma.  SheetCAM was really made for torches, plasma or otherwise, and has a variety of options for pre-heat, dwell, lead-ins, etc.  You obviously won't need these features for a mill though.  

If you plan on doing lots of 3D work, look at Vectric 3D, or if you REALLY want to get fancy, RhinoCAM.   ($$$)

How are you planning on motorizing the Mill? Steppers or Servos?

Good luck!  Building a CNC is a really fun and difficult process, but amazingly rewarding when you see it move the first time.  

-Cody


http://www.vectric.com/index.html

http://rhinocam.com/index.shtml


----------



## woodguy (Jul 17, 2013)

Mach3, cambam and cutviewer for me.  I strongly advocate getting a simulator regardless of which CAM package you go for - It can save a lot of aggravation.  All of these packages have unrestricted evaluation modes and there is a good deal on cambam + cutviewer. CAMBAM has a large following and a good forum.

If you don't have any exposure to CNC, I suggest joining a local makerspace (if there is one near you) and getting some exposure to CNC there.


----------



## Mid Day Machining (Jul 17, 2013)

My Tormach has Mach III and in the two years I've had it, all I have ever done is run it. I work in stages. Some weeks I'll work 70 or 80 hours, then some weeks I'll work 3 hours a day. It just depends on what I feel like.

I use GibbsCam to program by machine, and so far, so good.


----------



## Ray C (Jul 17, 2013)

Guys,

I'm in the office today -can't talk too much right now.  Here's few more thoughts...

I've programmed in computer assembly language, micro-code and machine code for a good long while.  I'm also proficient in "C" programming.  I'm old-school computer guy.  Point peing, G-code does not scare me one bit.  -Just another computer language...

I have Alibre Professional CAD and consider myself at "intermediate skill".  It has some CAM plugins but not sure which ones.  Alibe just went thorough a re-vamp -fortunately, I paid the maintenance fee.  I don't know much about the CAM part of the equation.  For starters, I have no reluctance to writing my own G-Code.

I just want to avoid the pitfalls of software packages that don't work and play nicely together.

The PM-45CNC is out of the box ready for CNC.  Has all motors, controllers etc.  I don't know much about it but will find-out.  My heart is not set on that machine but, since I already know the non CNC version, it's a natural starting point for me.  http://www.machinetoolonline.com/PM-45M-CNC.html

My reason for digging this up is because I understand Mach4 is coming out (already available).  Want to know if this is a good time to adopt it or switch to something perhaps better... Also, I need to start getting up to speed and getting my head wrapped around this and need to "get conversant" with you guys.

Ray


----------



## Ray C (Jul 17, 2013)

One more thing.  Alibre CAD (now called GeoMagic) is partnered with MecSoft and SprutCam.  See link here:  http://www.alibre.com/company/alibresolutionpartners.asp

There are no prices listed for these CAM plug-ins... -You know what that means!  If you have to ask,you can't afford it.  So, anybody know about these packages and roughly what they cost?


Ray


----------



## DMS (Jul 17, 2013)

You can check out Tormach's pricing for an idea (they are probably going to be a little lower than going direct.. but you never know). I think I payed about $1200 for my copy of AlibreCAM.


----------



## Codered741 (Jul 18, 2013)

Ray C said:


> I don't know much about the CAM part of the equation.  For starters, I have no reluctance to writing my own G-Code.
> Ray



If you are capable of writing your own G-code efficiently, there is no reason to invest in anything other than a machine control software like Mach.  

I guess it depends on what you are making, but writing G-code by hand is laborious.  Anything besides simple circles and squares gets complicated quickly, and even these simple shapes require calculating the offset for the bit size and shape.  

I would HIGHLY recommend a CAM software.  It takes the CAD drawing you have doubtlessly already generated, you tell it about the machine, tooling, etc, and it makes all of the calculations for you.  It is a HUGE time-saver, even for simple items, and practically mandatory for the commercial environment.  

These programs aren't extremely expensive, not sure about the Alibre plugins, but the software I use is ~$150 per seat (Vectric).  And it even has rudimentary CAD built in!

-Cody


----------



## Ray C (Jul 18, 2013)

Cody,

For sure, I would not want to do G-code on a long-term basis.  I think it's important though to really understand and be able perform the basics.  I'm sure the CAM programs have improved and probably create fairly compact and optimized code.

...  I called Alibre (GeoMagic) and the MecSoft CAM plugin is running about 1200 bucks.  What I may well do in the beginning is find a program like the one you suggest and go with that for a while.


Ray






Codered741 said:


> If you are capable of writing your own G-code efficiently, there is no reason to invest in anything other than a machine control software like Mach.
> 
> I guess it depends on what you are making, but writing G-code by hand is laborious. Anything besides simple circles and squares gets complicated quickly, and even these simple shapes require calculating the offset for the bit size and shape.
> 
> ...


----------



## DMS (Jul 18, 2013)

My experience with AlibreCAM is that the code it produces is not particularly "smart" or "compact". It works mostly, but the paths it chooses are sometimes...perplexing. From what I can tell, that is the main differentiator between a "low end" cam system, and a "high end" cam system.

When I first started, I couldn't bring myself to plunk down the cash for a CAD/CAM package, so I was hand coding all my GCODE. It can be a little tedious, but you tend to build up libraries of code that you can pull it (for say, pocketing, or facing). The code I produced by hand was MUCH faster and more efficient than the CAM output, but unless you are making a bunch of the same thing, it probably doesn't matter that much.

The nice thing about LinuxCNC, is that it has some "extensions" over the the standard GCODE functionality to make programming easier. Specifically, named variables, and rich flow control.


----------



## geotek (Jul 18, 2013)

For 3D design I use Alibre.  It seems their support has gone down the tubes since they were acquired by 3D Systems.  I have tried for several months to get an upgrade, but I have never received a return call.  Same goes for trying to move one of my licenses to another computer, I can't get any response.  I certainly would not advise anyone to go the Geomagic way.

For 2D design, I use DraftSight.  It is a free (for home use) "clone" of AutoCAD and it works great.  It is done by Dassult Systems, a big CAD outfit.

For the most part I use Aspire from Vectric.  I started with V-Carve Pro, fell in love with it, then upgraded.  Both programs are very well designed.  In my experience they have been bullet-proof.  V-Carve is indispensable for doing engraving of text.  It turned my CNC router from an interesting curiosity into a real usable machine.   

For items that are more mechanical in nature, I use CamBam.  CamBam is well written and gives you a tremendous amount of control over your machine.  CamBam is cheap, only about $150, so it should be in everyone's toolbox.


----------



## Analias (Jul 22, 2013)

Ray, 

I use Alibre Personal Designer for CAD and Bobcad V25 (mill and lathe pro, nesting, Bobart, and the training DVDs) for CAM. You can get each of them for under $500 if you talk to the sales folks directly and tell them that you are a hobbyist. I like both packages.  Alibre for it being a parameterized CAD with decent support for assemblies, and Bobcad for its tool paths. It even has some support for HSM tool paths,  which can help with lighter machines. When I ordered Alibre I was able to purchase it with additional export file formats. I have successfully used STEP and IGES formats to export to Bobcad from Alibre and generate my tool paths.

I use Mach3 for motion control with MachStdMill Professional screen set. The MSM screen set has nice support for work flow, work piece probing, and tool management. With a fixed tool change touch plate and a 3D probe it's the cat's meow for tool management on a light hobbyist mill. I use this combination for both my mill and router. 

-Freeman 


Sent from my Xoom using Tapatalk 4 Beta


----------



## Ray C (Jul 22, 2013)

This is the first time I've heard about widget-ware for Mach 3 but, that MSM program looks interesting.

So, Freeman, you're not really into CAD/CAM now, are you? (LOL).

What are your thoughts about Mach 4 vs Mach 3? Is it worth going after?

Thanks


Ray



Analias said:


> Ray,
> 
> I use Alibre Personal Designer for CAD and Bobcad V25 (mill and lathe pro, nesting, Bobart, and the training DVDs) for CAM. You can get each of them for under $500 if you talk to the sales folks directly and tell them that you are a hobbyist. I like both packages. Alibre for it being a parameterized CAD with decent support for assemblies, and Bobcad for its tool paths. It even has some support for HSM tool paths, which can help with lighter machines. When I ordered Alibre I was able to purchase it with additional export file formats. I have successfully used STEP and IGES formats to export to Bobcad from Alibre and generate my tool paths.
> 
> ...


----------



## Gadget (Jul 28, 2013)

You might want to consider LinuxCNC, it's free and very powerful. Reasonably easy to modify to suit your needs and it has great forum support. There are people on the forum who can help you customize it to your needs. 
I use Alibre Design and Cut3D for design and cut path. Cut3D is a bit limited but it works. I also use Sheetcam for plasma cuts, profiles and pockets.


----------



## Analias (Jul 29, 2013)

Ray C said:


> This is the first time I've heard about widget-ware for Mach 3 but, that MSM program looks interesting.
> 
> So, Freeman, you're not really into CAD/CAM now, are you? (LOL).
> 
> ...



Sorry for the slow response. I don't know how I could have missed this message when I monitor the forum multiple times a day.  

Well, I am a geek and a computer geek at that. Which means I use and rely on computers to make up for skills I don't have in other areas. Yes, it takes me longer in some cases to complete a project using CAD, but I find I avoid many of the problems that others learn more hands on by being able to visualize the overall project in CAD. 

Because I'm a computer geek, I will definitely be buying Mach4 when it comes out. As the author of MSM put it in a posting to his support forum.  We don't know when Mach4 is coming out. It has been promised several times, the last release date being seven months ago. Being that Mach4 will probably not be the first complicated piece of software to be released with out bugs in the history of humanity, most folks using Mach3 will probably wait a bit before switching over. 

If you are trying to decide if you should wait for Mach4, and if you are bent on using Windows over Linux, I would get Mach3 and enjoy making parts and learning how to use your CNC. There are alternatives out there, LinuxCNC being the next best supported. I haven't used LinuxCNC yet, even though Linux is my favorite operating system. 




Sent from my Xoom using Tapatalk 4 Beta


----------



## Ray C (Jul 29, 2013)

Hey Freeman, no worries about the reply time... If it was important, Id'a bugged you with a message. I'm still trying get my ducks lined up on which CNC machine to go with so, there's plenty of time.

Well, I happen to be "OS-agnostic". Learned on PDP/Unix then, Vax/Ultrix and have done most everything under the sun since then. I do mostly RTOS stuff on vxWorks now but really liked PSoS better back in it's day. As far as all commercial OS's these days, I don't do too much programming on them... just use whatever apps are useful to me.

Anyhow, I was wondering if Mach 4 was coming out in order to address some deep-dark flaws inherent in Mach 3. If that's not the case, fine, I'll go with Mach3.

CAD, yes, I like CAD and use it for anything that is not trivial. Getting the design optimized on paper means more productive time in the workshop focusing on skill and fine-machining without being distracted by making design decisions -which by the way, utilize an entirely different part of your brain.

Ray





Analias said:


> Sorry for the slow response. I don't know how I could have missed this message when I monitor the forum multiple times a day.
> 
> Well, I am a geek and a computer geek at that. Which means I use and rely on computers to make up for skills I don't have in other areas. Yes, it takes me longer in some cases to complete a project using CAD, but I find I avoid many of the problems that others learn more hands on by being able to visualize the overall project in CAD.
> 
> ...


----------



## jumps4 (Jul 29, 2013)

hi Ray
I have been following mach4 in the yahoo mach1mach2..... group where Art and Brian the authors post for  some time and it was written because mach3 cannot be repaired. mach3 has never worked right for threading on a lathe and only mach4 would fix the problem.
 I do find it a bit upsetting that I'll have to purchase mach4 to get a mach3 fix but i'm going to wait guite a while before purchasing mach4. I'll let then iron the bugs out first.
 For my needs I use mach3, emachineshop cad (free), and d2nc for my cam software.
steve


----------



## awander (Jul 29, 2013)

Mach 3 HAS worked right for lathe threading-There is a problem now on some machines, all of them using the parallel port, IIRC.

I have threaded many things on my Mach 3 lathe, both with parallel port a few years back, and with my Smooth Stepper controller.

Mach 4 is a ground-up rewrite off the functionality (and more) of Mach 3, because the old code was a mess for the programmers.


----------



## Ray C (Jul 29, 2013)

Guys,

Can these things be driven from a USB line instead of parallel port?   I don't think any of my computers have parallel ports except for my original 8088 IBM clone from the early 80's...  (Yes, I kept it for the memories).


Ray


----------



## awander (Jul 29, 2013)

Mach 3 can! Not sure about LinuxCNC.

There are quite a few external motion controllers that work with Mach.

I personally use an Ethernet Smooth Stepper(available in USB version as well) from warp9td.com on my mill/lathe, and my 3d printer uses a Centipede board from ksilabs.com.

Both work well. The Smoothstepper cost about $180 in the Ethernet version.


----------



## Ray C (Jul 29, 2013)

Thanks... I'll check into the Ethernet version.  I do a fair amount of USB programming and as far as I'm concerned USB stands for "Universally screwed-up Bus".

Ray





awander said:


> Mach 3 can! Not sure about LinuxCNC.
> 
> There are quite a few external motion controllers that work with Mach.
> 
> ...


----------



## awander (Jul 29, 2013)

Hi ray:

The USB version works well for many people. I had continuous noise problems with mine. There was a ground-loop fix that solved a lot of teh problems, but moving to the Ethernet version cleared up the prolems once and for all.


----------



## DMS (Jul 30, 2013)

The USB based boards only work with Mach (though check the boards, I recall one of the users on this board that purchased a USB based board expecting it to work with Mach, and being rudely surprised when it didn't). There are a couple ethernet based boards, and I think there is one from Mesa that will work with LinuxCNC, but it's kind of a "project" to get it running.

If you go with LinuxCNC, I highly recommend the Mesa boards. I have the 6i25 board, and a 7i76 breakout board. The 6i25 is a PCI express card, and it connects to the 7i76 through a 25 pin cable. The 6i25 can have up to 2 daughter boards, but with just 1 7i76, you get a spindle encoder interface, analog spindle output, 5 step/direction interfaces, 32 digital inputs, and 16 digital outputs.  That's a lot of flexibility. I started with simple parallel port breakout cards, but these are a much better way to go.


----------



## jumps4 (Jul 30, 2013)

I "can and do" thread with mach3 on my lathe as long as I keep the threading under about 2 inches, any longer and there is a real chance of loosing sync. 
 I use a uc100 on my mills as a usb controller for mach3. ( available at cnc4pc.com ) It converts standard parallel port breakout boards to usb but it will not work for threading on the lathe at this time. (about $145 including shipping and easy to install software)
 the uc100 runs at 100khz and will run my zx45 mill at 200ipm set at 1000 pulses per revolution micro-step.
steve


----------



## pws (Jul 31, 2013)

DMS said:


> The USB based boards only work with Mach (though check the boards, I recall one of the users on this board that purchased a USB based board expecting it to work with Mach, and being rudely surprised when it didn't). There are a couple ethernet based boards, and I think there is one from Mesa that will work with LinuxCNC, but it's kind of a "project" to get it running.  If you go with LinuxCNC, I highly recommend the Mesa boards. I have the 6i25 board, and a 7i76 breakout board. The 6i25 is a PCI express card, and it connects to the 7i76 through a 25 pin cable. The 6i25 can have up to 2 daughter boards, but with just 1 7i76, you get a spindle encoder interface, analog spindle output, 5 step/direction interfaces, 32 digital inputs, and 16 digital outputs.  That's a lot of flexibility. I started with simple parallel port breakout cards, but these are a much better way to go.


  I agree!  I am using a 6i25 connected to a G540 and I couldn't be happier.  Leave the ethernet for networking!


----------



## Ray C (Jul 31, 2013)

Well, I checked into this yesterday.  The setup I'm looking at is a complete package and is setup for USB.  You just supply the computer.
http://www.machinetoolonline.com/PM-45M-CNC.html

Ray


----------



## Analias (Jul 31, 2013)

One advantage of the ethernet based motion controls that drove me to using the Ethernet Smoothsteppers over USB, was the length of the connection between the machine and the PC. For USB that limit is 3 meters. For ethernet its around 100 meters. I did not want to locate my PC right next to the router.

My PC is a 3.2GHz Intel i5 with 16GB, its way over kill as a Mach3 machine. Since I also do electronics in my shop, I spec'd it as a work station to handle data collection and storage for my digital oscilloscope and other equipment. I also wanted to be able to run Bobcad right at the router to make spot changes. 

Using ethernet allow me quite a bit of flexibility in where I placed my PC, which is still within practical reach of the router, but allows me to route the cable around the shop without having to cross the floor or have the PC mounted on the router table. 

There is also the known problem with the USB Smoothsteppers and noise. Ethernet version does not have this problem. 

I use the PMDX-126 break out board and the ESS in my router controller. I also have the PMDX-107 spindle controller. This was such a great combo that I decided to replace the controller that came with my Sieg X3 with this setup. The original controller lacks additional IO ports that I need. The PMDX and ESS gives twice the IO and there is a still a third parallel port on the ESS I haven't used. 

For the price I would highly recommend these boards. 



Sent from my Xoom using Tapatalk 4 Beta


----------



## Analias (Jul 31, 2013)

Analias said:


> One advantage of the ethernet based motion controls that drove me to using the Ethernet Smoothsteppers over USB, was the length of the connection between the machine and the PC. For USB that limit is 3 meters. For ethernet its around 100 meters. I did not want to locate my PC right next to the router.
> 
> My PC is a 3.2GHz Intel i5 with 16GB RAM, its way over kill as a Mach3 machine. Since I also do electronics in my shop, I spec'd it as a work station to handle data collection and storage for my digital oscilloscope and other equipment. I also wanted to be able to run Bobcad right at the router to make spot changes.
> 
> ...





Sent from my Xoom using Tapatalk 4 Beta


----------



## Analias (Jul 31, 2013)

Analias said:


> Sent from my Xoom using Tapatalk 4 Beta



Grrr.  I meant that to be an edit and not a reply. Sorry about the double post. Doh! 


Sent from my Xoom using Tapatalk 4 Beta


----------

