Viesturs, I think you need to work on the Cad to Cam to Gcode process. I put EMC2 on a production waterjet machine in June and it has been buzzing along happily ever since.
I had to convert about 80 existing Gcode programs so EMC2 could run the code and I was amazed at some of the poor quality Gcode they had been running, so I re-created many DXF files from Gcode via a DXF to Gcode converter program, put the DXFs into Autocad and then cleaned up heavily segmented dxfs by using fitted arcs. I used Sheetcam to create the Gcode and that worked out very nicely. Sheetcam has a definite learning curve but it is worth it. I couldn't find anything that worked as well as Sheetcam for the waterjet. Lousy Gcode will drive you nuts no matter how smart EMC2 becomes. Dave (Dave911 on the IRC) On 8/19/2010 1:41 PM, Viesturs Lācis wrote: > 2010/8/19 Chris Radek<ch...@timeguy.com>: > >> Let me try to explain an example. I really think the disconnect >> between how I as a programmer think about it and how a user thinks >> about it is our different understanding of what a "corner" is. I >> tried to explain this in my last message. >> >> Say you are cutting inside a bunch of square pockets. If you use a >> reasonable tool size for it the offset path is some smaller squares. >> If you use a larger tool diameter, the offset path gets smaller. At >> some point, as you keep enlarging the tool, when the diameter of the >> tool is larger than the side of the square, the offset path disappears >> (it becomes a square with NEGATIVE side length). At this point EMC >> will give you an error because it can't make the tool follow inside >> that path anymore. >> >> Note EMC doesn't know these pockets are squares. But when it >> calculates these endpoints generated by finding where the tool fits >> inside the corner, and sees that they are connected by degenerate >> lines, it errors. (EMC considers two corners at a time because you >> need to know two endpoints to make a compensated move. These corners >> are defined by the three nearby moves. This is the extent of its >> knowledge of your programmed motions as it moves along.) >> >> I understand you want it to keep going in some cases of degenerate >> paths, and I do too. But without knowing things it can't know (like >> conceptually what the part looks like) it can't keep going without >> guessing. In your program that cuts a hundred square pockets, what >> does it mean to keep going if the tool doesn't fit in them? >> > I think that I understand the explanation of programmer's point of > view very well. > So I have a question - how difficult is it to achieve following behavior: > skip those lines of code in concave corner, which are smaller than > tool, and continue, if there is any other G0 or G1/G2/G3 code to be > executed. > In Your example all the square pockets would be skipped and outside > contour would be cut. In my example I would get, what I want. > > My idea, how to achieve this, is : > > 2010/8/19 Chris Radek<ch...@timeguy.com>: > >> You are right - EMC does have handling for concave corners. When two >> moves come together to form a concave corner, EMC calculates where the >> tool is tangent to both original moves and puts the offset corner >> there. >> > If > 1) tool is in situation, where it is a tangent to 2 lines - one, that > has just been executed and the other - one that has not yet be done > > and > > 2) that "second tangent" line is not the next line in the queue > > then > skip all the remaining G1/G2/G3 lines so that the line, which is > tangent of the tool and which is not yet executed, is next in the > queue and execution of the code is resumed from there. > > How hard is that from programmer's point of view? > > This would solve my problem that code consists of very small straight > moves. I know that using some other CAM programm would solve the cause > of the issue rather than trying to workaround the consequences like I > am trying now... > > I understand that there might be other commands beside G1/G2/G3 and > other special cases... > > Viesturs > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > > ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users