While I have Built Computers from Scratch in The Olden Days,  Know several Programming Languages,  and have used various Computers for 45 years,  I do Not consider myself to be 
any kind of an Expert on CNC Programming,  as this is a Specialty that one needs to do on a 
Daily Basis to become and remain Proficient.
Purpose of this Web Page is to Introduce the Newcomer to General Current Practices in 
CNC Fabrication Programming,  and then Both Newcomers & Experienced Users can use 
 Hot-Links  Listed Below  to gather  More Information from the Software Venders themselves.
Programming Software Types and Usage varies greatly from vender to vender.
Some are Simple & Well-Integrated,  while others are Complex and perhaps more Powerful, 
with many Features that may Integrate with different Program  "Modules" 
 (such as  Un-Folding,  Optimization,  and  Part-Nesting)  that you can 
Process your Part Program through.
Different  CAD  Software Packages work in Different Ways  But,  In General,  you First   
  "CAD-Up"  (Part-Creation,  Design,  Draw,  &  Dimension)  Your Part in  2D  (Flat-Pattern)  
 or  3D,   and  generate a File of this Information.   
 This may also be done using your Programming Software Package itself.   
 Or,  a Cad-File may have already have been created by your own Engineers,  or  supplied to you
 by your Customer's Engineers who used Different Software like  AutoCAD  or  SolidWorks.
These Files would then be  Imported  into Your Programming Package for further work & editing.
The CAD-File would be Unfolded if it were a  3D File,  into a  2D Flat-Pattern File,  then it would
 be Reworked & Edited using criteria of the Machine & Process to be used, Tools & Tool-Paths,  Workclamp Gripping Placements,  Etc.,  Etc.  into a  Source-Code  File.
This Source-Code File is then run through a  Machine-Specific  Postprocessor Program,  and perhaps a  Nesting and Optimization Program,  that converts it in to a   NC-Run File  (G-Code)  
for the  Specific-Machine  that You plan to run it on.   
You then Download This  NC Program File  to your Machine Control,  and Run your Parts.
Postprocessors are written by  Your  Software Package Vendor  Specifically for  Your  Machines.
Postprocessors Taylor the Code to work on Your Machine,  with it's particular Turret, Table-Size, CNC Control,  Code-Set,  and  Features like  Auto-Index,  etc.    For Example,  If you have Multiple Machines,  like a  Strippit Punch,  an  Amada Punch,  and a  Mazak Laser,  
you could purchase  3 Postprocessors.    
Each  Postprocessor would be Custom Set-Up to make Correct  NC Code for each  Machine Tool.
Then you could take your  Original  CAD/CAM  Source Code,  
run it through any of your  3  Postprocessor's,  
to  generate  NC-Files  (G-Code)   to make the  Same Part  on any of your  3  different Machines.
 
Again,  as the above procedures vary Greatly by Vendor and even by the Software Package  
(some vendors offer  Different Versions  and  Levels of Software)   You  Need to
Evaluate Software Carefully Yourself to determine what suits  Your Particular Needs!
Contact Vendors,  most will provide  Free Demo Programs,  Instructional Tapes,  DVD's,  and Downloads  for your Evaluation.    Some also have Traveling Salesman that can be scheduled
to stop-in to provide a Live Demo of their Programs,   See  & Try-Out  their  Demos!
As Software is Quite Portable,  many Software Companies are based in another Country.    
As long as they have a Office or Distributor providing Good Support in Your Country,  
this should not be a big concern.    As with your Machines,   Service  &  Technical Support  is
 Extremely important,  make Sure it is available and will be there when you need it!
While I may have comments for some of them,  I make  NO Recommendations,  as it is
Impossible to stay Current on all these Companies  and  their Evolving Products.   
You  Need to Compare their Products!    And I'm Sure there are More Good Companies Out-There that I do not know about,  Please let me know of them!     
Here,   In  Alphabetical  Order,  
are some  Independent  Software Companies  &  Resources  for  Sheetmetal Punch Fabrication;