Ben,

after reading your patch I found not a single line which warrants the 
modification of the interpreter at the C level. The whole thing can be done in 
an O-word procedure, maybe a bit of Python glue, as a remapped code, which is 
in master, and in a stable fashion for the better part of this year. And it is 
exactly the use case for which I developed the remapping extension in the first 
place.

Please read http://www.linuxcnc.org/docs/devel/html/remap/structure.html , and 
see the examples under configs/sim/remap. The chapter on 'Creating new G code 
cycles' 
http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_creating_new_g_code_cycles_a_id_remap_g_code_cycles_a
 will be particularly helpful.

If you need help on the first steps of getting a remapped code working, I am 
happy to help. However, I resist low-level extensions duplicating higher-level 
functionality with the extra onus of "C++ skills required for adaptation or 
fixes".

- Michael

Am 26.08.2012 um 01:59 schrieb Ben Potter:

> I have been working on an implementation of the G71 roughing cycle for
> lathes. While the code is unfinished and known to be non-robust it's ready
> for initial review. A patch is available at:
> 
> http://www.bpuk.org/linuxcnc/g71-patch-1-initial-feedback-mod.diff
> 
> 
> 
> with sample g-code programs at:
> 
> http://www.bpuk.org/linuxcnc/test.ngc
> 
> http://www.bpuk.org/linuxcnc/test2.ngc
> 
> 
> 
> The main question I have is what 'should' happen after the G71 line is
> executed. Should the program continue on the next line, or skip the profile
> block (defined by N1.... Nx) ?
> 
> 
> 
> To work around the use of U and W words on other controllers I have used J
> and L respectively. As such the complete list of words used by the current
> implementation of G71 is:
> 
> P     Block Number of contour beginning (uses N word in beginning block)
> 
> Q     Block number of contour end (uses N word in end block)
> 
> D     Roughing Depth per move
> 
> R     Retraction from each cut
> 
> J     Overthickness for finishing at X (diameter)   (U on other controllers)
> 
> L     Overthickness for finishing at Z              (W on other controllers)
> 
> I     Thickness for finishing at X
> 
> K     Thickness for finishing at Z
> 
> F     Feedrate override between P and Q blocks
> 
> S     Spindle speed override between P and Q blocks
> 
> T     Tool override between P and Q blocks
> 
> 
> 
> There are a few screenshots at http://www.bpuk.org/linuxcnc/ at various
> stages of progress. OD and ID should work for G1/G2/G3/G4 profiles for
> front-tool lathes, I haven't looked at back-tool lathes at all yet. UW
> commands are invalid and ignored at this stage.
> 
> 
> 
> Until I'm happy with the code I won't be looking at type 2 - as such only
> type 1 (no pockets) g-code is supported so far.
> 
> 
> 
> Any comments are appreciated
> 
> Ta
> 
> Ben
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to