Gentlemen,
  My current attention to the project is driven by my desire to have 5 axis
cutter diameter compensation in LinuxCNC.
  I am now 67 (soon to be 68) years old and have retired. I sold out of MPM
in 2013. I had a shop for 5 years. I closed the shop in November of 2019,
sold most everything at an auction in January of 2020. The 5 year lease on
the shop expired in February of 2020. I did nothing for a few months. This
quickly turned into a very boring existence. I have been working on a
couple of CAD projects and went to work (contract) for a shop in town to
help put together a 100 inch vertical Summit lathe. Since the middle of
October 2020 I have been watching one of  my grandsons. He was six weeks
old then and is now 7 months old. I have him 4 days a week. He is just now
at the age where he is beginning to not require my constant attention every
minute he is with me so I have some time to think about this cutter
diameter project.
  In my perusal of the project to see where I need to change/insert things
to have 5 axis cutter diameter compensation I have seen a number of (I
think) needed changes. If the changes look small and easy I may try to do
them for the experience.
  I did one project like that. I saw the reference to G17, G18 and G19 are
respective XY, XZ and YZ in LinuxCNC. In most other controls the reference
is XY, ZX and YZ. In my system now the reference matches most other
controls. I chose this because the function of these changes is so minimal
I don't believe I could have broken anything. I changed a few variable
names (CANON_PLANE_XZ to CANON_PLANE_ZX, etc) and successfully compiled so
I think I have my system clean. I don't plan to ask for these changes to be
incorporated into LinuxCNC as this is such a minor issue. I just wanted to
do this to see if I could get my grep skills working enough to be able to
complete this small project.
  I have the algorithm for 5 axis cutter diameter compensation in the style
of a machine like the Blue Cincinnati at MPM working in NCL. That machine
has an A and B head on the Z axis. I believe this can be incorporated in a
general way so as to be applicable to any 5 axis machine and maybe even
used for 2 axis lathes and 3 (and 4) axis mills.
  One thing I have seen is I believe cutter diameter compensation can be
implemented in such a way as to greatly simplify the handling through
LinuxCNC. Handling legacy programs would be no problem so current
functionality would not be affected. On going CDC would be handled in all
orientation with no problem and very easily. I have the logic figured out.
My problem is expressing my project in C/C++ so others can follow it
easily. The Cinci at MPM (now in Tulsa) has 5 axis tool length compensation
and full 5 axis geometry compensation. I showed my project to Jeff and
Chris. Their reaction was amazing (surprise). They had no desire to spend
the time necessary to understand how I had accomplished it. I had about 70
lines of variables and math. Jeff's comment was "inscrutable". I have to
agree. At that time I was very familiar with it. Now when I look at it
inscrutable is very appropriate.

  Circular interpolation is also an area to be simplified. G17, G18 and G19
can be eliminated. They would have to stay so legacy programs would still
function. I would implement G02/G03 as follows:
G02/G03 X Y Z I J K F would circle the tool around a vector perpendicular
to a plane described by the IJ values combined with the XY start point
values to establish the circle center. The perpendicular vector (the circle
interpolation vector) would be established by the K value in relation to
the center point. This would not need to be aligned with the tool axis
vector but could be.
Also, G02/G03 Y Z X J K I F and G02/G03 Z X Y K I J F would be usable. (I
think)
I haven't worked on this at all. I just saw that when looking at the
current code.

Also, I would like to see polar interpolation.

Also, I would like to see spiral interpolation.

Also, I would like G68/G69 (coordinate system rotation). The Fanuc 15MB
allowed you to use two consecutive G68 commands to rotate the working plane
to any orientation. All programming commands then functioned at that angle
as if the part had been rotated to the XY plane. This was on the 5 axis
XYZBC Viper bridge mill at MPM. B and C are a two axis head on the end of
the Z axis ram. A little tricky and seldom used but sometimes useful.

Whew - what a word salad.

thanks
Stuart





















-- 
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
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to