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

Reply via email to