On Fri, 29 Feb 2008, Chris Radek wrote:
  > On Fri, Feb 29, 2008 at 04:04:51PM -0600, Chris Radek wrote:
>>
>> The actual difference with the 5 axis kinematics machine is that you
>> should specify [TRAJ]TLO_IS_ALONG_W=1.  Then when you use G43 H_ or
>> G43.1 K___, the length offset, no matter whether it comes from the
>> tool table (G43) or gcode (G43.1), is applied to the W axis.  The only
>> thing your cam needs to do is move the W axis (G0 W0) so the length
>> offset gets applied.
>
> I wanted to add this for non-5-axis folks:
>
> This new option of TLO along W doesn't need special kinematics or 5
> axis machinery or anything else special.  If you have a CNC knee on
> your knee mill, and you call it W, you could just as easily use it for
> tool length compensation.  This would give you full quill travel no
> matter the length of the tool.  Very neat.

Now you've got me confused a bit. I thought that UVW were cartesian 
vectors parallel/orthogonal to the tool orientation vector. For example, 
if your tool axis is parallel to the Z vector then W would also be 
parallel to Z. But if the tool tip is rotated in A then W would be rotated 
in A as well. So what gives? Is W simply a reference to a joint when using 
a trivial kinematics machine? If so, then does the behavior change 
dramatically when we add a trunion table to our knee mill? Will the real W 
please stand up!

<warning: the following may contain ostentatious pedantry not suitable 
for miners, spoken-word poets, politicians, and other heathen peoples>

I propose that we use the term "vector" to refer to a mathematical entity 
defining a space, (as in "basis vector"), "joint" for constrained moving 
physical assemblies, and "axis" as a straight line along which some 
physical object travels or rotates about. This allows a space defined by 
X, Y and Z vectors, but one can also have a physical joint named "the Z 
axis" if there is a linear joint that is always parallel to the Z vector. 
If there are two linear joints always parallel to the Z vector then it 
doesn't make sense to call one of them "the Z axis" and not the other one. 
You cannot have a rotary table named "the C axis" if the location of the 
center of rotation changes, for example if you have moved the tool tip, or 
if you define the origin to be in a location that is not centered on the 
axis of the rotary table, which is pretty much always.  The part program 
MUST specify whether it represents vector coordinates (g91z1 means move 
the tool tip? perpendicular to the work plane) or joint coordinates (g91z1 
means retract the quill) and right now RS274NGC doesn't specify which, at 
least from my understanding.

How does one get a herd of cats to speak the same language? I'd appreciate 
feedback on this, since we tend to take for granted that the person on the 
receiving end understands what we mean. Sometimes their definitions are a 
little different and one can appear to them to be saying something 
different than what we actually meant.

We have all these words available from our mathematical heritage, but 
someone in the early days of EMC decided that Joint and Axis were the only 
words to use. This hasn't been working so well in actuality, since most 
people aren't aware of this idealized usage of the terms; they already 
have meaning (different meanings!) in similar contexts outside of the EMC 
project. But in addition to that, the words have been used imprecisely 
throughout EMC's code and documentation. So now there is a mess, and we 
have to clean up not just the code but our thoughts as well.

work harder, work smarter, and do the right thing!
(in order of increasing importance)

   -fenn

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to