I have integrated the code from Lo Valvo and Drago
and extended it to planes yz and zx.

Please see  the repository
https://github.com/jjjjjf/linuxcnc
Branch: nurbs_G5_G6_xyz.

Some notes:

1. "|| beta > 1e10"
There was a small error in the function biarc in
file: src/emc/task/emccanon.cc.
I added the condition "beta > 1e10" because without
the file "Ruota_dentata #1=1.ngc" is not working.
The value of 1E10 is only guessed.

My debug code is still there and I fear to violate
your coding style a lot.
https://linuxcnc.org/docs/devel/html/code/style-guide.html
I suggest to use indent.

2. G5 G6
I tried to keep the existing code for G5
and only added code for G6 separating both.

3. Parameter #1
To select the methods from ECME14.pdf NICU, NICL and NICC
see: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?NURBS
#1 in front of G6.2 is used.
See for example: /nc_files/nurbs/G6/Curva_Chitarra #1=1.ngc
Excerpt:
#1=1
G6.2 X59.171 Y23.693 R46.5833333333333 K0 P5 F290

Do you agree with this?

4. G6.2 Kx
The interpreter for .ngc files changes since 2014.
So it was necessary to add "G6.2" in front of the K value.

5: Interp::nurbs_reset_global_variables();
There are static variables in
/src/emc/rs274ngc/interp_convert.cc line 142.
I have added the function nurbs_reset_global_variables()
to file open. Maybe it is a better idea to
execute this at program start.

6. G6.3
This is not used. Please check _gees are correct.
Is Gx is the right modal group?


Joachim


_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to