I was thinking it would be neat to start a list of free software related to CNC's. By free I don't mean pirated, I mean legally free. If you know of any or maybe created your own, You can post a link to it here.
I was thinking it would be neat to start a list of free software related to CNC's. By free I don't mean pirated, I mean legally free. If you know of any or maybe created your own, You can post a link to it here.
Here's a neat one to start off with:
http://www.colinusher.info/Software/
:cheers: Jim
Experience is the BEST Teacher. Is that why it usually arrives in a shower of sparks, flash of light, loud bang, a cloud of smoke, AND -- a BILL to pay? You usually get it -- just after you need it.
This site isn't dedicated to CNC's, but it has dozens of free DOS utilities that are helpful to machinists and machine builders.
http://www.myvirtualnetwork.com/mklotz
Software For Metalworking
http://closetolerancesoftware.com
Here is a free 2D cad program that I have herd a lot of talk about, but haven't had a chance to try yet, its A9Cad, http://www.a9tech.com/products/a9cad/ .
And here's Free Doors. http://home.centurytel.net/bwclark/
another cad program ProgeCad LT, http://www.progecad.com/
Here is a great list of the free helpful machining software for the machine tool industry
Free CNC machine tool related software
www.machinetoolhelp.com
.
www.machinetoolhelp.com
Any free postprocessor software around, preferably c++ source?
ACE converter. http://www.dakeng.com/ace.html
Gerry
UCCNC 2017 Screenset
http://www.thecncwoodworker.com/2017.html
Mach3 2010 Screenset
http://www.thecncwoodworker.com/2010.html
JointCAM - CNC Dovetails & Box Joints
http://www.g-forcecnc.com/jointcam.html
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Post processors should never be written in a compiled language like C++. It's no good for string handling and constant configuration (ie hacking) that's necessary. They're almost always written in an interpreted language -- one that's made up by the company, or based on a standard language like perl or python.
If they were in a standard language like python they'd be easy to share.
< dexter mode >yet it's good enough to interpret perl with all ITS associated string handlings? how interesting...< /dexter mode >
dexter in me just had to...
Well, C/C++ was/is good enough to write Unix/Linux in and all of the string interpretation and manipulation required to run as an Operating System. Oh and interpret Perl, PHP, Python, etc.......
Just had to too.....
RipperSoftware
That's true. And machine code was good enough to write the compiler that compiled the C++ that everything on top of that was written. It's all about what layer to use.
My opinions got formed because when I first started work I was given a set of post-processors to debug that were written in FORTRAN 4. ohmygod.
I think if someone could drop a nice little c++ parser into freeware thats a place where someone could start...and maybe conversion of Cldata to G01,G02,&3..the rest is within the relm of what most can finish.
goatchurch,
I can simpathize with you on the Fortran. Go from SQL to HP Cobol. Talk about regression.
Weimedog - What kind of parser are you looking for? ACE does DXF to GCode. Are you looking at further conversions or something else entirely?
RipperSoftware
Actually looks like I can make it do what I want without too much effort. I have an older simplistic CLDATA file format I want convert....want a sample? After I hack at it to work with my CLDATA, is that something anyone else might want? (Bunch of "GOTO" and "CIRCLE" statements, with some "ROTABLE's" mixed in, other fairly low level stuff)..I'm looking to test a little thing I stuck together.
Reason is I would like to TRY (emphasis on TRY!!) and build a foundation for a CAM system starting with a way to store & pick & display toolpath entities as geometry entities with attribute data. Then need to output them into a CLDATA format easy for conversion...actually before I launch off into a project has this been done already???? Or is there an environment out there where entity types can be added ... and these type of things can be extended to an existing modeler? And if its there, do the shareware types have access?
(Then add display, picking, modifications such as "copy", "delete", "rotate" etc....coordinate systems to be with toolpath entities etc....and try to make it where other share ware types can add their particular brand of of toolpath evaluation, creation, display tools.)
I may not have enough time in my life...but it will be fun to try.
I just got the 2000 CLData format guide. Please post a sample file. I like a good challenge. I will study the guide and see if it confuses me. I have converted C/C++ to Cobol to Visual Foxpro to Basic and back again.
RipperSoftware
If anyone's with me on using free tools for this sort of thing, I'd recommend downloading the Python version from www.enthought.com and installing it. It comes with VTK, which is a free 3D visualizer. Using the language and regular expressions, it's easy to write a parser, loader, and visualized for almost any text-based file format in about 50 lines of code.
If you give it a try, I can talk you through the lines of code you need. We also have a 9kb script in python that can convert between binary and ascii versions of the STL file format, and would love to have a useful place to distribute it. Let me know if you want a copy.
Goat & Ripper. Bet you have seen one of these before..
PARTNO 0001
PPRINT TEXT STRINGS..
PPRINT THIS WAS GENERATED FROM A 4X4BLOCK
PPRINT CORNER DIAMENSIONS (-2,-2,0) (2,2,.5)
PPRINT EACH CORNER HAS A .25 INCH DIA RADIUS (FILLET)
PPRINT THE CUTTER HAS A .5INCH DIAMETER AND WAS POSITION ON THE X-AXIS AT
PPRINT X=2.25,Y=0,Z=3.000 YOU CAN PROBABLY FIGURE THE REST.
ROTABL/0.000000, 0.000000, 0.000000
CUTTER/0.5
PPRINT WILL LOAD THE TOOL INTO TOOLPOSITION "1" AND USE OFFSET REGISTER "1"
LOADTL/1,1
SPINDL/3500,RPM,CLW
PPRINT WILL POSITION THE TOOL AND CLIMB CUT AROUND THIS PART
RAPID
GOTO/2.250000, 0.000000, 3.000000
FEDRAT/50.000000,IPM
PPRINT I WILL PLUNGE THE CUTTER TO .5 Z AND MAKE THE CUT AT A PLANE .5 INCH OFF ZERO
GOTO/2.250000, 0.000000, 0.500000
FEDRAT/10.000000,IPM
GOTO/2.250000,-1.750000,0.500000
PPRINT FIRST CIRCLE CUT.....
PPRINT CIRCLE IS X,Y,Z,I,J,K,RADIUS OF TOOLPATH..REMEMBER .25 GEOM PLUS .25CUTTER RAD
PPRINT GOTO'S AFTER CIRCLE ARE POINT ON THE CIRCLE...FOR POST PROCESSING. GET DIRECTION
PPRINT PROBABLY PICK THE FIRST FITH AND LAST
CIRCLE/1.750000,-1.750000,0.500000,0.000000,0.000000,1.000000,0.500 000
GOTO/2.246996,-1.813214.0.500000
2.227835,-1.900580,0.500000
2.193445,-1.983147,0.500000
2.144921,-2.058283,0.500000
2.083810,-2.123593,0.500000
2.012060,-2.176996,0.500000
1.931957,-2.216790,0.500000
1.846054,-2.241706,0.500000
1.757091,-2.250950,0.500000
1.750000,-2.250000,0.500000
PPRINT LINEAR MOVE AT FEEDRATE TO NEXT CORNER
GOTO/-1.750000,-2.250000,0.500000
PPRINT YET ANOTHER CIRCLE
CIRCLE/-1.750000,-1.750000,0.500000,0.000000,0.000000,1.000000,0.500 000
GOTO/-1.813214,-2.246996,0.500000
-1.900580,-2.227835,0.500000
-1.983147,-2.193445,0.500000
-2.058283,-2.144921,0.500000
-2.123593,-2.083810,0.500000
-2.176996,-2.012060,0.500000
-2.216790,-1.931957,0.500000
-2.241706,-1.846054,0.500000
-2.250950,-1.757091,0.500000
-2.250000,-1.750000,0.500000
PPRINT OFF WE GO TO THE NEXT CORNER
GOTO/-2.250000,1.750000,0.500000
CIRCLE/-1.750000,1.750000,0.500000,0.000000,0.000000,1.000 000,0.500000
GOTO/-2.246996,1.813214,0.500000
-2.227835,1.900580,0.500000
-2.193445,1.983147,0.500000
-2.144921,2.058283,0.500000
-2.083810,2.123593,0.500000
-2.012060,2.176996,0.500000
-1.931957,2.216790,0.500000
-1.846054,2.241706,0.500000
-1.757091,2.250950,0.500000
-1.750000,2.250000,0.500000
PPRINT NEXT CORNER..
GOTO/1.750000,2.250000,0.500000
CIRCLE/1.750000,1.750000,0.500000,0.000000,0.000000,1.000 000,0.500000
GOTO/1.813214,2.246996,0.500000
1.900580,2.227835,0.500000
1.983147,2.193445,0.500000
2.058283,2.144921,0.500000
2.123593,2.083810,0.500000
2.176996,2.012060,0.500000
2.216790,1.931957,0.500000
2.241706,1.846054,0.500000
2.250950,1.757091,0.500000
2.250000,1.750000,0.500000
GOTO/2.250000,0.000000,0.500000
PPRINT PULL OFF THE PART SURFACE
FEDRAT/20.000000
GOTO/2.250000,0.000000,1.000000
RAPID
GOTO/2.250000,0.000000,3.000000
FINI
PPRINT NEXT CLFILE WILL BE A CIRCLE COVERING MULTIPLE QUADRANTS.
Basically want to convert to G-Code.
Will add a few more functions later when I get a minute...
Had fun tonight watching a daughter play polo (indoor). Fast & fun game
to watch if your a horse person.
I will say that I have not yet dealt with CLData. However, what you provided as an example makes plenty of sense. I will assume that the number order in the goto statements is X,Y,Z.
I will look over this and the guide that I downloaded yesterday. Let you know what I think later.
RipperSoftware