Hello everyone,I wanted to give a small update on the current state of
Lathe EasyStep.A lot has changed internally since my last post. While the panel may look similar at first glance, a large part of the project has been refactored and modularized. The original large Python files have been split into many smaller modules (G-code generation, preview, contour handling, persistence, tool logic, UI, etc.), making the codebase much easier to maintain and extend.At this point I consider the project to be at
Version 0.7.0.Development is still ongoing, but over the last weeks the focus has been less on adding new features and more on improving the internal architecture, modularizing the code and refining the overall workflow. The goal was to build a solid foundation that will make future development easier and improve long-term maintainability.General workflowThe user interface is intentionally based on the workflow of conversational turning systems. Anyone who has worked with ShopTurn or similar conversational programming systems should feel familiar with the basic workflow.The
Program tab is where all global settings are defined, for example:
- stock dimensions
- safety distances
- retract positions
- tool change and safety settings
- other program-wide parameters
After that, machining operations are created step by step using the corresponding tabs.Reusable machining stepsOne feature that was important to me is the ability to reuse operations.Every machining operation is stored as an individual
Step file containing all parameters of that operation.For example, if I create a facing operation for 30 mm stock, I can later reuse exactly the same operation in another program without entering all parameters again.Over time this creates a small library of frequently used machining operations."Save Changes"A new
Save Changes button has also been added.Instead of recreating programs from scratch, existing projects can now be edited and updated.Depending on what already exists, the application automatically updates
- the individual Step files,
- the complete program,
- and any previously generated G-code.
The graphical preview is rebuilt automatically as well.PreviewThe preview system has been improved considerably.Besides the existing side view, there is now an optional cross-section view. The section position can simply be moved with the mouse inside the side view, making it easy to inspect the generated geometry at any Z position.ContoursContours are created by entering coordinates, with the option to use either absolute or incremental values.Each contour receives its own name and can later be reused in any number of roughing operations.Inside the
Roughing tab, the desired contour is selected, a tool is assigned and the remaining machining parameters are configured.Available operationsThe project currently supports, among others:
- Facing (roughing, finishing or both)
- Roughing using user-defined contours
- Thread cutting
- Grooving / Parting
- Drilling with different drilling strategies
- Keyway shaping (currently experimental)
Several common thread presets are already included, but all parameters can be modified as required.For parting operations it is also possible to define the X position where feed and spindle speed should be reduced, helping to make the final separation more controlled.Keyway shaping is currently still experimental. The preview already works, but I have not yet been able to validate it on a real machine.What's next?My next focus will most likely be the G-code generation itself. I am sure there is still room for improvements and additional machining strategies.Up to now, development has naturally been influenced by my own way of programming parts. This is exactly where feedback from other users would be very valuable.I'm especially interested in how other machinists or LinuxCNC users would approach certain operations. There is often more than one valid way to generate the same toolpath, and in some cases there may even be a better solution than the one I currently use.Constructive criticism, ideas and suggestions are always welcome.My own lathe is unfortunately still not fully assembled, so I have not yet been able to validate every feature on a real machine. That makes feedback from other LinuxCNC users even more valuable, especially from people who are willing to try the panel and share their experiences.I also hope to create a short video or a small series of screenshots soon, as I think the workflow is much easier to understand visually than from static images alone.