Skip to content

WIP: Split up gcodetools multiple files DO NOT MERGE

Ryan Jarvis requested to merge cabalist/extensions:gcodetool_breakup into master

This is an experimental branch that attempts to split the 6034 line gcodetools extension in to the Extension and then Libraries. I am presenting this here because from the look of it there might be some functions that were previously buried in gcodetools that might have more general utility. Specifically in the cubicsuperpath.py module.

For example: I can see that at one point there was a custom atan2 function defined and in different places it uses the one bundled in math. Without tests I can't tell if they operate the same.

If anyone is so inclined to take a look at these functions and see if they are worthwhile including in a more general sense for other extensions or even better replaced by stdlib or existing code that would be great.

--

There is still a lot of nastiness in the main extension (it is still 3307 lines long). Such as functions defined in functions defined in functions inside a class.

I think at the end of the road here are actually 3-4 extensions here all inheriting from a base class (lathe, engraving, graffiti, and setup) alongside a much expanded library of functions.

Merge request reports