I have done very little using the XYABCUVW registers in the tool table. I like they are available but I have seldom used them. I try to think ASAP (As Simple As Possible).
You will need to treat all usable axis symbols in kinematics. When I think of 4 or 5 axis tilting the tool I only envision the tool length as measured along the Z axis when A0 and B0 are true. The tool length is the distance from the tool tip to the chosen gage point along the tool axis. The chosen gage point is a distance from the pivot point to a convenient location along the tool axis for tool length measurement purposes. The addition of the derived tool length and the chosen pivot length result in the total distance from the tool tip to the pivot point. The derived tool length is then entered into the Z register in the tool table. I then only think of using the Z register in the tool table. 5 axis tool length compensation uses only the Z register in the tool table. The Z register tool table entry is added to the pivot length value to give you the distance from the tool tip to the pivot point. This distance is used to calculate the XYZ offset to place the pivot point in space to cause the tool tip to be positioned at the zero point of the gcode program. When using 5 axis tool length compensation the tool tip position is coincident with the gcode XYZ position if the UVW axis positions values are zero. At this point I have ignored any tool table values except the Z register. I consider the axis values (XYZABCUVW axis positions), work piece offset values (G54...) and tool table values having completely separate functions and try to never confuse them. You can encounter axis and/or joint over feed rate conditions. The gcode feed value should be calculated at some cutting point close to the tool tip but far enough up the tool to result in a coherent cutting condition for the application. This may cause the pivot point to move much faster than the cutting point. The axis/joint limits should handle this but you will then have a much slower cutting point feed than desired. You may need to change your cutting protocol to position the tool angle and cut using only XYZ motion for a portion of your cut. Sadly, everything is a compromise. A copy of my Blue Cinci Kinematics is at the dropbox link. https://www.dropbox.com/s/m6onw28qofb44h1/cincikins.c?dl=0 This has the geometric compensation and 5 axis tool length calculations and creates links to variables in the .ini file. The geometric compensation is complicated but it works. HTH Have fun Stuart On Mon, Jun 8, 2020 at 3:55 AM andy pugh <[email protected]> wrote: > On Sun, 7 Jun 2020 at 19:58, Stuart Stevenson <[email protected]> wrote: > > > You want to tool length not a z axis offset. > > > Yes, but there isn't a generic tool length in the tool table. Tool > geometry is tied to cartesian directions. > > If the tool has an entry in the Z column then G43 adds that number to the Z > coordinate. There is (as far as I know) no consideration of kinematics. > Putting the tool length in the W column might work, but then I would > probably need to keep two tool tables, one for conventional milling and one > where I wanted to use the B axis. > > But, you have used 5-axis and I have not. So perhaps I am wrong about how > tool lengths are applied? > > -- > atp > "A motorcycle is a bicycle with a pandemonium attachment and is designed > for the especial use of mechanical geniuses, daredevils and lunatics." > — George Fitch, Atlanta Constitution Newspaper, 1912 > > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users > -- Addressee is the intended audience. If you are not the addressee then my consent is not given for you to read this email furthermore it is my wish you would close this without saving or reading, and cease and desist from saving or opening my private correspondence. Thank you for honoring my wish. _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
