LatheEasyStep – experimental QtVCP macro for step-by-step lathe programming

More
3 months 3 weeks ago #347530 by Surmetall
Thanks for the update! We'd love to see how things are looking now. Maybe you could share a short video or a screen recording someday.

all the best

tom
 

Please Log in or Create an account to join the conversation.

More
3 months 3 weeks ago #347621 by aDm1N
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.
The following user(s) said Thank You: cmorley, COFHAL, MikkelRS

Please Log in or Create an account to join the conversation.

More
2 months 1 week ago #348924 by aDm1N
Quick development update

Over the past few weeks I've mainly been working on two areas that weren't reliable yet: internal machining and automatic thread reliefs.

Fixed internal roughing: The internal roughing cycle was in some cases producing a single, way-too-coarse cut instead of properly staged passes ("not really a cutting strategy"). Found the root cause and fixed it – now it produces even, multi-pass stepping just like external turning does.
Reworked DIN 76 thread reliefs: Previously only a simple rectangular pocket was generated. Now the actual DIN 76 profile is output (30° lead-in, tangential arcs, relief bottom, shoulder radius), using real values from the DIN 76-1 table instead of estimated widths. The relief is now correctly anchored to the end of the thread (not the end of the contour), and it now also works in the middle of a longer contour, not just at the very start or end.
Safer internal approach moves: When feeding into a bore, the tool now always moves axially to the clear retract plane first and only then feeds in radially – no more diagonal rapid moves straight through the bore.
Also fixed a few real LinuxCNC crashes along the way (e.g. tool nose compensation at the inside relief corner, a "Not monotonic" error with G71/G72 when a relief is spliced into the contour).
Important: All of this is currently only on the dev branch, not yet in the stable release. Not everything has been verified with a real dry run on the machine yet, but preview and generated code now look correct for the cases tested so far. As always: feedback, test cases, and criticism are welcome.
The following user(s) said Thank You: cmorley, COFHAL

Please Log in or Create an account to join the conversation.

More
1 month 2 weeks ago #349671 by aDm1N
A lot has changed in LatheEasyStep over the past few weeks. Much of the work has focused on further improving the existing machining functions and making the generated toolpaths more reliable.In particular, internal machining has been significantly revised. Internal contours can now be processed regardless of the Z direction in which the contour was originally defined. Roughing and finishing have been corrected accordingly, and the approach and retract movements for internal machining have also been revised.There have also been several improvements to contour machining. G1/G2/G3 geometry is now preserved more consistently, so arcs are no longer unnecessarily converted into straight-line segments. Relief grooves have also been further improved, including the automatic positioning of DIN 76 thread reliefs at the actual end of the thread.The handling of tool changes, retracts and safety movements has been revised in several areas. The same applies to switching between G96 and G97, as well as various plausibility checks intended to detect invalid or unreasonable inputs before G-code is generated.The preview has also received further work. The side view, front view and cross-sectional view have been revised, and the representation of the different machining operations has been made more consistent.Another improvement that is clearly noticeable in everyday use is the panel startup time. At one point, startup took more than 20 seconds. The initialization process has since been revised, and tasks that are not immediately required are now performed only when needed. As a result, the panel now starts significantly faster.The user interface and language system have also been further revised. In addition to German and English, Spanish is now fully available. All visible text is managed through external language files, allowing additional languages to be added without modifying the program code.The current development branch is now 0.8.0-dev. For the 0.8.0 release, only a few targeted acceptance checks remain, including facing with a radius and final checks for internal machining and the DIN 76 thread relief.After that, 0.8.0 is intended to provide a defined state of the existing machining functions before development continues towards 0.9.0.

Please Log in or Create an account to join the conversation.

Moderators: cmorley
Time to create page: 0.255 seconds
Powered by Kunena Forum