Simple G7x Profile editor for Linuxcnc/Axis
- opw
- Offline
- New Member
-
Less
More
- Posts: 13
- Thank you received: 7
02 Feb 2026 15:19 #342320
by opw
Simple G7x Profile editor for Linuxcnc/Axis was created by opw
Hi guys,
Created this simple, but effective profile editor for myself.
It is a lightweight Tk-based conversational editor for lathe profiles, designed for LinuxCNC / PathPilot style workflows.It lets you sketch, edit, and preview turning profiles interactively, then generates a G71 or G72 roughing cycle with a G70 finish pass. All core functionality uses only the Python standard library (Tk), so it can be dropped directly into a AXIS environment.Optional DXF / 3MF import is supported via external libraries.
For example you can:
Created this simple, but effective profile editor for myself.
It is a lightweight Tk-based conversational editor for lathe profiles, designed for LinuxCNC / PathPilot style workflows.It lets you sketch, edit, and preview turning profiles interactively, then generates a G71 or G72 roughing cycle with a G70 finish pass. All core functionality uses only the Python standard library (Tk), so it can be dropped directly into a AXIS environment.Optional DXF / 3MF import is supported via external libraries.
For example you can:
- import an STL as a background reference
- Auto create segment points or (recommended) tracing the rotational outline with profile points
- Adding chamfers and radii for finishing details
- Adjusting geometry for optimal cutting
- Setting machining parameters
- Generating G-code
- Sending to LinuxCNC/AXIS
Attachments:
The following user(s) said Thank You: tommylight, pommen, Aciera, NWE
Please Log in or Create an account to join the conversation.
- tommylight
-
- Away
- Moderator
-
Less
More
- Posts: 21467
- Thank you received: 7320
25 Feb 2026 23:21 #343513
by tommylight
Replied by tommylight on topic Simple G7x Profile editor for Linuxcnc/Axis
Looks nice, thank you.
Please Log in or Create an account to join the conversation.
- dredivan
- Offline
- New Member
-
Less
More
- Posts: 6
- Thank you received: 0
28 Mar 2026 16:30 #344884
by dredivan
Replied by dredivan on topic Simple G7x Profile editor for Linuxcnc/Axis
Hi, great tool — thanks for sharing it!
I ran into two issues with the generated G-code on a standard LinuxCNC setup (not PathPilot), both easy to fix:
**1. D and I parameters are swapped in the G71/G72 line**
The generator outputs:
```
G71 Q#### D{stock_allow} I{doc} R... F...
```
But LinuxCNC G71 expects `D` = depth of cut per pass and `I` = finish stock allowance — the opposite of what is currently generated. With the values swapped, the cycle runs with a 0.2 mm DOC and a 2 mm finish allowance instead of the other way around.
**2. X and Z arguments on the G71/G72 line cause the machine to stall**
The generator adds `X{start_x} Z{start_z}` directly on the G71 line:
```
G71 Q#### X30.000 Z2.000 D... I... R... F...
```
LinuxCNC does not accept X/Z on the canned cycle line itself — the approach is already handled by the preceding `G0`. With these arguments present the spindle starts but the machine does not move.
**Fix** — patch profiler.py (4 occurrences):
```bash
sed -i 's/X{start_x:.3f} Z{start_z:.3f} D{p.stock_allow:.3f} I{p.doc:.3f}/D{p.doc:.3f} I{p.stock_allow:.3f}/g' profiler.py
```
After the fix the output looks like:
```
G0 X30.000 Z2.000
G71 Q#### D0.500 I0.200 R1.000 F100.0
G70 Q#### F50.0
```
Which runs correctly on LinuxCNC 2.10 with AXIS.
Hope this helps, and thanks again for the project!
I ran into two issues with the generated G-code on a standard LinuxCNC setup (not PathPilot), both easy to fix:
**1. D and I parameters are swapped in the G71/G72 line**
The generator outputs:
```
G71 Q#### D{stock_allow} I{doc} R... F...
```
But LinuxCNC G71 expects `D` = depth of cut per pass and `I` = finish stock allowance — the opposite of what is currently generated. With the values swapped, the cycle runs with a 0.2 mm DOC and a 2 mm finish allowance instead of the other way around.
**2. X and Z arguments on the G71/G72 line cause the machine to stall**
The generator adds `X{start_x} Z{start_z}` directly on the G71 line:
```
G71 Q#### X30.000 Z2.000 D... I... R... F...
```
LinuxCNC does not accept X/Z on the canned cycle line itself — the approach is already handled by the preceding `G0`. With these arguments present the spindle starts but the machine does not move.
**Fix** — patch profiler.py (4 occurrences):
```bash
sed -i 's/X{start_x:.3f} Z{start_z:.3f} D{p.stock_allow:.3f} I{p.doc:.3f}/D{p.doc:.3f} I{p.stock_allow:.3f}/g' profiler.py
```
After the fix the output looks like:
```
G0 X30.000 Z2.000
G71 Q#### D0.500 I0.200 R1.000 F100.0
G70 Q#### F50.0
```
Which runs correctly on LinuxCNC 2.10 with AXIS.
Hope this helps, and thanks again for the project!
Please Log in or Create an account to join the conversation.
Time to create page: 0.580 seconds