One of the things I’ve been working is a set of gcode subroutines meant to make easy to write gcode. Well, in the end you write very little gcode if you use it. Here are some examples:
So, for example, here the code for the hexagon pocket milling:
#<s> = 30 #<h> = [SQRT * #<s>] o<i3_c_new_group> call   o<i3_v_add_vertex> call [#<s> / 2]  o<i3_v_add_vertex> call [#<s>] [#<h> / 2] o<i3_v_add_vertex> call [#<s> / 2] [#<h>] o<i3_c_mirror> call     o<i3_do_cut_mill_by_layer> call    [-1]  
Most of hard work has been done, there’s some cleanup and documentation left. At some point I would like to release this code as open source. It makes really easy to create paths for simple parts (please note all the generated paths account for tool compensation, not G4X).