And note, if you patch CAMotics to compile on ubuntu 24.04.x it still has a number of Qt5 GUI problems (not entirely unexpected with Qt impact on LTS programs.)
There are also direct gcode generator macros that support the LinuxCNC/emc language extensions. This is the most accurate methodology for turning and milling ops.
FreeCAD. Or, if it's simple enough, I write it by hand and use Python to do loops. I've got a handful of Python scripts that can mill holes, make square pockets, write text in a vector font, etc.