On Tue, Oct 02, 2018 at 12:16:54PM +0100, andy pugh wrote:
> https://github.com/LinuxCNC/linuxcnc/blob/b948dba1af9e63f26498cf005d6693cec30458a9/src/emc/rs274ngc/interp_convert.cc#L3302
> 
> There seem to be a lot of things that are not allowed with cutter comp
> enabled, and it isn't immediately obvious why.
> 
> The following G-codes are banned
> 
> G61 - Seems reasonable
> G54, G55...G59.3 - OK
> M62 ... M68  Analog-digital IO -- This seems odd
> M48 - M53 - Spindle and feed overrides -- This also seems unreasonable
> G98 - G99 -- Cycle retract mode -- Again this seems an odd thing to disallow
> G76 lathe threading -- It seems like you might very much want to use
> cutter comp here?
> M6 tool change -- Why wouldn't cutter-comp just carry through with the
> new radius?
> G43 - G49 -- Might be reasnable, but doesn't seem necessary.

There are several different magnitudes of difficulty here, let me
try to describe them as I see it:

For some like analog output and feed override enable which don't
cause or affect motions, you could allow it without any trouble,
just by doing the necessary enqueue/dequeue.  You'd end up with a
change like e9186c2 for each one you wanted to allow.

But for the ones that generate motion or a series of motions, I
think you're talking about a variety of hard problems.

Cutter comp is very much written to assume you turn it on, do a
carefully chosen entry move which causes special things to happen
(you move beside the programmed path), do some cutting motions which
get compensated, move away from the work, turn it off, and then some
more special things happen on the next move after turning it off
(move back onto the programmed path).

Things like changing retract mode could be allowed but why?  Canned
cycles like drill cycles with cutter comp on don't make any sense to
me.  I guess you could drill beside a programmed path, but usually I
think drilling holes conceptually happens at some points, not
along/beside a path.  When you're beside a path the actual endpoints
become conceptually fuzzy.  If I'm drilling beside a path with the
tool to the right of the path, and I go CCW around a square, where
would the holes even end up?  It's underspecified because many holes
could be drilled against those convex corners.  Concave corners I
think it's fully specified but it would be a very weird program.

If you do things that can cause motion of the machine as side
effects, like M6, it's not clear to me what things become the entry
and exit moves and what the path you're beside even is.  You are
generating a whole possible class of surprises, and why?

Cutter comp isn't just a thing you leave on, it's a thing you turn
on, make some cuts on a certain side of a certain path, and turn
off.  Is someone having a problem that's led you to wondering about
all these?


_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to