I've created a Pull Request
which is almost ready to merge. I'd like some review and comment before that since it affects workflow and adds several new features.NOTE: This WILL break existing Jobs, Operations, and Tool Controllers. You'll have to delete and recreate them.
The biggest change is how operations identify their tool.
All Operations now have an explicit property for which tool controller to use. When you open the task panel, you'll have a combobox for the available tool controllers in the Job. You can create multiple tool controllers directly from the tool library. If there are multiple jobs in the document Path will ask which one to add the TCs to.
When you create an operation, Path will try to determine which TC to use. You can highlight a TC before creating the operation and the op will use that TC.
If no TC is selected, Path will either ask or use a tool if it's the only one in the job.
You can, of course, change tool at any time.
Drilling now automatically detects all drillable locations in the base object and adds them. Should make it much easier to drill where the base object contains many holes. This will need further improvement to handle selection/deselection, ordering, etc but this is the first step.
Arch PanelSheets are usable as a job base object. Drilling operations and profile operation can work on the panel sheet without selecting any further geometry. I'll do a video demonstrating this soon.
Numerous bug fixes.
Velocity units work correctly for Feed rates.
You can now export the tool library to a linuxcnc tool table. (needs testing). Corresponding importer has not been written yet. If you're interested, let me know.