Hello, Dave! Thank You for Your insight! I totally agree that I should concentrate on the cad/cam process so that I eliminate the cause of the issue instead of fighting consequences... The thing is that I have to complete this pretty large order very quickly, so I thought that I could quickly resolve it in EMC. Seems like I will have to do it over again in the cam application, so it is going to be all-right.
Out of curiosity and half-professional interest I would like to ask You to share some basic details about that waterjet machine that is running EMC. I have never heard about EMC on waterjet machines and I thought that I might be the first one doing this, but it turns out that it is not true :) Can You tell me, who originally produced that machine, how old is it and what is it's working envelope size? And is it 3 axis or 5 axis machine? Thank You in advance! Viesturs 2010/8/19 Dave <e...@dc9.tzo.com>: > 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 > ------------------------------------------------------------------------------ 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