Login  Register

Re: LibreCAD modified for the interface of a laser machine

Posted by tin-pot on Jan 01, 2012; 6:35pm
URL: https://forum.librecad.org/LibreCAD-modified-for-the-interface-of-a-laser-machine-tp5113327p5113403.html

Hi Diego,

I'm not sure that I understand what you are up to. Let me first give you my perspective:

The usual setup for CNC machining (be it laser cutting, wire EDM, milling or whatever) as I know it is such:

1. You have an application in which the part you want to manufacture is constructed, or can be imported. This may be a 3D program like CATIA, UX, SolidWorks, or you just produce drawings of your part in a 2D program like AutoCAD or - LibreCAD.

2. Someone must indicate features in the part (edges, holes etc) that are to be machined with a given technology. In your case, you would collect contours in your drawing which represent the shape you want to cut (that's what you mean with "design the user wants to cut", right?).

3. You also have to assign parameters to those contours which are specific for the way you want to machine them: which tool to use, at what rotation and feed speed, or in your case laser power level (I don't know much about laser cutters ...).

4. On the actual CNC machine, there is a software running that controls its hardware motions: that is the aptly named "machine controller", or CNC control. This is usually provided by the manufacturer of the CNC machine. In your case, I presume *you* are the manufacturer. So you will need some software that performs the functions of a machine controller. (I just found http://www.linuxcnc.org/ - they seem to do something like that, but you probably know that already and better.)

5. The machine controller is itself commanded by a CNC program, which is more or less standardized and not completely specific for the CNC machine. Again, I have no idea how these CNC programs look like for laser cutters.

6. Someone must produce this CNC program. In the olden days, this could have been done manually and actually was the job of a person called CNC programmer. Nowadays, these are of course generated by software (comparable to compiler generating assembly language).

7. The software that generates a CNC program from the description mentioned in point 3 above is sometimes called a postprocessor. It has to know about the specific technologies and tools that are required in manufacturing, and maybe even how to apply them in order to manufacture a part that fulfils the given geometric and tolerance requirements.

So that's how I know CNC machining, now to your questions.

Where do you see LibreCAD fit in? Do you intend to let it control the laser cutter in real time (you write about "starting and stopping of the machine")? Do you want to let it generate NC programs (ie add postprocessor functions into it)? In which specified format? What do you mean by "the data transfer trajectory generator software"? (By the way, I also do not know what a "Linux RTAI" is - RT stands for real time?)

So this is a load of questions and indeterminates here.

What I would recommend to you is to place as little functionality into LibreCAD as possible: Only the GUI to collect the machining information as suggested above in point 3. That would encompass:

- Picking/collecting of contours, ie connected chains of geometric elements (line segments, circular arcs, even splines if you are really daring). Note that these contours must be oriented - so the user must also be able to indicate which is the "forward" direction along such a contour.

- You must provide a means that the user can assign and edit numerical and other properties to such contours (or you encode these as say line colors ...)

- You probably have to deal not only with complete contours but also with segments along it, the start and end of which must be user specified somehow.

- Start and stop points for machining, and the path from these points to the actual tool paths must be specified by the user.

- After you have all this collected inside the LibreCAD application, you have to transmit it to the outside world somehow - the simplest way would be to write it out as a file in a format of your own choice.


That is what could be (or have to be) done in LibreCAD for your scenario; all the rest is the job of outside applications: postprocessing for your specific laser cutter control, maybe deciding on the sequential order of cutting jobs and so on.

Hope this made sense to you,

Greetings
Martin