- GCode and Part Programs
- CAD CAM
- NativeCAM
- NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
- axemas
-
Topic Author
- Away
- New Member
-
Less
More
- Posts: 11
- Thank you received: 27
14 Apr 2026 11:27 - 14 Apr 2026 11:28 #345533
by axemas
NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie was created by axemas
Hello everyone,
I would like to announce the release of NativeCAM 2.0b — a community port
of the original NativeCAM (by Fernand Veilleux) migrated to Python 3 and GTK3.
The original NativeCAM was written for Python 2.7 / GTK2, which is no longer
available on modern distributions. This port makes it fully compatible with
LinuxCNC 2.9 on Debian 13 Trixie.
--- What's new in 2.0b ---
* Full Python 3 / GTK3 migration
* New: Side Drill feature — horizontal drilling from Top / Bottom / Left / Right
faces of the workpiece, designed for multi-spindle machines like Biesse Rover
* New: Horizontal tool visualization in AXIS — tool rotates correctly in the
3D view when a side spindle is active (uses tool table Q column: 10-13)
* Fix: Phantom GTK popup windows no longer remain on screen after LinuxCNC exits
* Fix: About dialog now shows version correctly (Python 3 bytes decode bug)
* Fix: Validation Messages menu now uses checkboxes showing current state
* Debian packaging updated for modern build tools
--- Download ---
GitHub: github.com/cnc-proton/nativecam-py3-gtk3
Releases: github.com/cnc-proton/nativecam-py3-gtk3/releases
Install:
sudo apt install ./nativecam_2.0b_all.deb
--- Tested on ---
* Debian 13 Trixie + LinuxCNC 2.9
* Biesse Rover 336 (multi-spindle, 4-side horizontal drilling)
Any feedback, bug reports or pull requests are welcome on GitHub.
Credits to Fernand Veilleux (FernV) for the original NativeCAM project.
Best regards,
CNC Proton
I would like to announce the release of NativeCAM 2.0b — a community port
of the original NativeCAM (by Fernand Veilleux) migrated to Python 3 and GTK3.
The original NativeCAM was written for Python 2.7 / GTK2, which is no longer
available on modern distributions. This port makes it fully compatible with
LinuxCNC 2.9 on Debian 13 Trixie.
--- What's new in 2.0b ---
* Full Python 3 / GTK3 migration
* New: Side Drill feature — horizontal drilling from Top / Bottom / Left / Right
faces of the workpiece, designed for multi-spindle machines like Biesse Rover
* New: Horizontal tool visualization in AXIS — tool rotates correctly in the
3D view when a side spindle is active (uses tool table Q column: 10-13)
* Fix: Phantom GTK popup windows no longer remain on screen after LinuxCNC exits
* Fix: About dialog now shows version correctly (Python 3 bytes decode bug)
* Fix: Validation Messages menu now uses checkboxes showing current state
* Debian packaging updated for modern build tools
--- Download ---
GitHub: github.com/cnc-proton/nativecam-py3-gtk3
Releases: github.com/cnc-proton/nativecam-py3-gtk3/releases
Install:
sudo apt install ./nativecam_2.0b_all.deb
--- Tested on ---
* Debian 13 Trixie + LinuxCNC 2.9
* Biesse Rover 336 (multi-spindle, 4-side horizontal drilling)
Any feedback, bug reports or pull requests are welcome on GitHub.
Credits to Fernand Veilleux (FernV) for the original NativeCAM project.
Best regards,
CNC Proton
Last edit: 14 Apr 2026 11:28 by axemas.
The following user(s) said Thank You: RotarySMP, tommylight, rodw, 0x2102, besriworld, COFHAL, Aciera, Surmetall, Giovanni, michaeln
Please Log in or Create an account to join the conversation.
- Zbigi
- Away
- New Member
-
Less
More
- Posts: 9
- Thank you received: 4
15 Apr 2026 19:49 #345578
by Zbigi
Replied by Zbigi on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Hi Axemas
Thank you for your hard work. As you suggested, I’ll send a request via GitHub. I’m having trouble with the lathe tab—can I count on a reply and help? Thanks, Z
Thank you for your hard work. As you suggested, I’ll send a request via GitHub. I’m having trouble with the lathe tab—can I count on a reply and help? Thanks, Z
The following user(s) said Thank You: axemas
Please Log in or Create an account to join the conversation.
- axemas
-
Topic Author
- Away
- New Member
-
Less
More
- Posts: 11
- Thank you received: 27
16 Apr 2026 11:07 #345589
by axemas
Replied by axemas on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Hi Zbigi,
Of course, happy to help! Please open an issue on GitHub:
github.com/cnc-proton/nativecam-py3-gtk3/issues
Most likely you hit the critical bug fixed in latest commit —
duplicate option in cfg/lathe/material.cfg caused a crash on
Python 3.13 before the menu bar even appeared.
Quick fix:
sudo sed -i '/\[PARAM_Z_RAP\]/,/^\[/{/^header = h3/d}' \
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/cfg/lathe/material.cfg
sudo cp /usr/share/linuxcnc/aux_gladevcp/NativeCAM/defaults/lathe/default_template.xml \
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/catalogs/lathe/projects/
Then restart LinuxCNC. Let me know if it helps!
Of course, happy to help! Please open an issue on GitHub:
github.com/cnc-proton/nativecam-py3-gtk3/issues
Most likely you hit the critical bug fixed in latest commit —
duplicate option in cfg/lathe/material.cfg caused a crash on
Python 3.13 before the menu bar even appeared.
Quick fix:
sudo sed -i '/\[PARAM_Z_RAP\]/,/^\[/{/^header = h3/d}' \
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/cfg/lathe/material.cfg
sudo cp /usr/share/linuxcnc/aux_gladevcp/NativeCAM/defaults/lathe/default_template.xml \
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/catalogs/lathe/projects/
Then restart LinuxCNC. Let me know if it helps!
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- Surmetall
-
- Offline
- Junior Member
-
Less
More
- Posts: 38
- Thank you received: 27
16 Apr 2026 14:07 #345597
by Surmetall
Replied by Surmetall on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
I’m a NativeCAM user and I really love it, so I’m very happy to see that you are taking care of it and moving it forward. Thanks a lot for the work you are putting into this!!!
Are you planning further improvements as well?
Especially on the lathe side, NativeCAM has huge potential. In my opinion, it is really only missing one key feature: a polyline function for lathe.
As far as I know, Fern never implemented that because the G71, G72 and G73 contour cycles were not working properly at the time. Today this should probably be possible, but unfortunately it was never added, which is a real shame. sadly people who are not programmers like me, cant help, just cry. ^^
With that one addition, NativeCAM could become extremely powerful for lathe work, probably on the level of ShopTurn. Then many LinuxCNC lathe users would no longer need a separate CAD/CAM solution.
That said, I’m already very happy with what you have done now! I use NativeCAM a lot on the milling side, and it is a real time-saver and makes the work much easier.
greetings
Tom
Are you planning further improvements as well?
Especially on the lathe side, NativeCAM has huge potential. In my opinion, it is really only missing one key feature: a polyline function for lathe.
As far as I know, Fern never implemented that because the G71, G72 and G73 contour cycles were not working properly at the time. Today this should probably be possible, but unfortunately it was never added, which is a real shame. sadly people who are not programmers like me, cant help, just cry. ^^
With that one addition, NativeCAM could become extremely powerful for lathe work, probably on the level of ShopTurn. Then many LinuxCNC lathe users would no longer need a separate CAD/CAM solution.
That said, I’m already very happy with what you have done now! I use NativeCAM a lot on the milling side, and it is a real time-saver and makes the work much easier.
greetings
Tom
The following user(s) said Thank You: RotarySMP, Zbigi, axemas
Please Log in or Create an account to join the conversation.
- Zbigi
- Away
- New Member
-
Less
More
- Posts: 9
- Thank you received: 4
16 Apr 2026 18:16 - 16 Apr 2026 18:21 #345617
by Zbigi
Replied by Zbigi on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Hi Axemas
,
Thank you very much—after making the changes, it worked
immediately. A huge thank you!
I agree with what Surmetall wrote; a feature like that would be very helpful.
However, regarding some minor tweaks—which I hope are simple for you to fix—setting the width of the NC tab—
“Master treeview minimal width” in Preferences
doesn’t work. This results in a lot of screen space for parameters and a very small project display area, but as I mentioned, this is just a cosmetic issue.
Thanks again, and I hope the community of Nativecam enthusiasts—of which I am one—will grow significantly.
Zbigi
,
Thank you very much—after making the changes, it worked
immediately. A huge thank you!
I agree with what Surmetall wrote; a feature like that would be very helpful.
However, regarding some minor tweaks—which I hope are simple for you to fix—setting the width of the NC tab—
“Master treeview minimal width” in Preferences
doesn’t work. This results in a lot of screen space for parameters and a very small project display area, but as I mentioned, this is just a cosmetic issue.
Thanks again, and I hope the community of Nativecam enthusiasts—of which I am one—will grow significantly.
Zbigi
Last edit: 16 Apr 2026 18:21 by Zbigi.
The following user(s) said Thank You: RotarySMP, Surmetall, axemas
Please Log in or Create an account to join the conversation.
- axemas
-
Topic Author
- Away
- New Member
-
Less
More
- Posts: 11
- Thank you received: 27
17 Apr 2026 12:48 #345634
by axemas
Replied by axemas on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Hi Tom,
Thank you so much for the kind words — it really motivates us to keep going!
You are absolutely right about the lathe polyline / contour cycles.
This is exactly on our roadmap. G71/G72/G73 in LinuxCNC 2.9 are now
working properly, so the main blocker that stopped Fern is gone.
Planned for lathe:
- Polyline function (contour definition)
- G71 roughing cycle (OD/ID)
- G72 facing cycle
- G73 pattern repeating cycle
This would indeed bring NativeCAM lathe close to ShopTurn level
for conversational programming — without needing external CAD/CAM.
No timeline promises yet, but it is a real priority.
If you want to follow progress or report issues:
github.com/cnc-proton/nativecam-py3-gtk3
Thanks again for the feedback — users like you make open source
worth working on!
Best regards,
Axemas
Thank you so much for the kind words — it really motivates us to keep going!
You are absolutely right about the lathe polyline / contour cycles.
This is exactly on our roadmap. G71/G72/G73 in LinuxCNC 2.9 are now
working properly, so the main blocker that stopped Fern is gone.
Planned for lathe:
- Polyline function (contour definition)
- G71 roughing cycle (OD/ID)
- G72 facing cycle
- G73 pattern repeating cycle
This would indeed bring NativeCAM lathe close to ShopTurn level
for conversational programming — without needing external CAD/CAM.
No timeline promises yet, but it is a real priority.
If you want to follow progress or report issues:
github.com/cnc-proton/nativecam-py3-gtk3
Thanks again for the feedback — users like you make open source
worth working on!
Best regards,
Axemas
The following user(s) said Thank You: tommylight, besriworld, Surmetall
Please Log in or Create an account to join the conversation.
- axemas
-
Topic Author
- Away
- New Member
-
Less
More
- Posts: 11
- Thank you received: 27
17 Apr 2026 12:52 #345636
by axemas
Replied by axemas on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Hi Zbigi,
Great to hear it's working!
Regarding the "Master treeview minimal width" — yes, this is a known
GTK3 issue. The setting uses set_size_request() which GTK3 ignores
on paned widgets. Will be fixed in next release using set_position()
instead.
Thanks for the feedback — every report helps improve NativeCAM!
Best,
Axemas
Great to hear it's working!
Regarding the "Master treeview minimal width" — yes, this is a known
GTK3 issue. The setting uses set_size_request() which GTK3 ignores
on paned widgets. Will be fixed in next release using set_position()
instead.
Thanks for the feedback — every report helps improve NativeCAM!
Best,
Axemas
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- axemas
-
Topic Author
- Away
- New Member
-
Less
More
- Posts: 11
- Thank you received: 27
17 Apr 2026 12:54 #345637
by axemas
Replied by axemas on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Hi everyone,I've recorded a short video demonstrating NativeCAM 2.0b (Python 3 / Gtk3) running on Debian 12/13. You can see it in action here:Video: In this video, I demonstrate basic operations and G-code generation, showing how the new Gtk3-based interface handles the workflow.P.S. For those who want the full experience: please note that to correctly display tool orientation in the preview, some modifications to the core LinuxCNC files (and) are required. I will provide more details on these tweaks if anyone is interested.Best regards, Axemas
glcanon.pytooledit.py
The following user(s) said Thank You: RotarySMP, tommylight, besriworld, Surmetall
Please Log in or Create an account to join the conversation.
- Surmetall
-
- Offline
- Junior Member
-
Less
More
- Posts: 38
- Thank you received: 27
18 Apr 2026 08:11 - 18 Apr 2026 08:15 #345692
by Surmetall
Feel free to share your progress with the community while you’re working on it, or if you run into any issues or need someone to test things. I’m sure I’m not the only one who’s really excited about this and would be happy to help if possible. I’ll definitely be following the project on Git as well.
Greetings Tom
Replied by Surmetall on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
No no, WE open source users are the ones who should be thanking YOU!In a world where so much revolves around power, money, profit, and exploitation, it’s really great to see people like you and many other kind folks here on the forum working on such a huge and brilliant tool like LinuxCNC and making it freely available to everyone. And doing all of that in your spare time, simply to help others bring their machines to life or even rescue them, just to make people happy without expecting anything in return or having any hidden agenda.I can’t really contribute much myself, other than pointing out features I might be missing, testing things, and give feedback how well everything works. Or telling other hobbyists how great this community is and how much fun it is to be part of it. For me, it’s just a great hobby that brings me a lot of joy.As I mentioned, I’ve been using NativeCAM on my milling machine for years and I still absolutely love it. I’m very grateful to Fern and all the other developers who have contributed to it over time.When I started converting my lathe about a year ago, it was immediately clear that I wanted to use NativeCAM Lathe. I also quickly realized that for lathe work you don’t really need a separate CAD/CAM system, especially with that brilliant polyline function combined with tool compensation. Whats means a lot to me. So I was quite disappointed and sad for me to discover that this feature was never fully completed. Unfortunately it seems that development on it has stopped and we have to accept that. (Still hoping Fern is doing well and is just busy...)All the more reason why it feels like both Christmas and a birthday at once to hear that you’re planning to take this on and continue his great project that he put so much work into. Thank you very much in advance, I’m really excited to hear that!...
Thank you so much for the kind words — it really motivates us to keep going!
...
Thanks again for the feedback — users like you make open source
worth working on!
Axemas
Feel free to share your progress with the community while you’re working on it, or if you run into any issues or need someone to test things. I’m sure I’m not the only one who’s really excited about this and would be happy to help if possible. I’ll definitely be following the project on Git as well.
Greetings Tom
Last edit: 18 Apr 2026 08:15 by Surmetall.
The following user(s) said Thank You: besriworld, axemas
Please Log in or Create an account to join the conversation.
- axemas
-
Topic Author
- Away
- New Member
-
Less
More
- Posts: 11
- Thank you received: 27
18 Apr 2026 09:32 #345694
by axemas
Replied by axemas on topic NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Hi Tom,
Your message really made my day, thank you for such kind words!
I completely understand what you mean — there is something special
about this community. People helping each other bring dead machines
back to life, sharing knowledge, no profit motives. It is rare and
valuable.
I want to be honest — I am not a pure altruist here. I do commercial
CNC work and NativeCAM improvements help my work too. But that is
exactly why open source makes sense to me: fix something for myself,
share it back, everyone benefits. Fern built this whole framework —
I am just adding pieces I need on top.
Good news to share: basic lathe polyline with G71 cycle is working!
Here is a short video showing a stepped shaft profile being generated.
Ø50 → Ø30 → Ø20 with chamfer and fillet. Toolpath renders correctly
in AXIS preview.
Still some minor bugs to polish before I release it on GitHub. Once
it is stable I will post here and invite everyone to test. A few more
things planned before release:
- G70 finishing pass after roughing
- Profile validation (prevent non-monotonic paths)
- Pocket cycles (G71.1 / G71.2)
Your feedback is exactly the kind of contribution that keeps this
alive. Users like you who test, report bugs, and cheer us on matter
just as much as the code. Thank you!
Best,
CNC Proton
Your message really made my day, thank you for such kind words!
I completely understand what you mean — there is something special
about this community. People helping each other bring dead machines
back to life, sharing knowledge, no profit motives. It is rare and
valuable.
I want to be honest — I am not a pure altruist here. I do commercial
CNC work and NativeCAM improvements help my work too. But that is
exactly why open source makes sense to me: fix something for myself,
share it back, everyone benefits. Fern built this whole framework —
I am just adding pieces I need on top.
Good news to share: basic lathe polyline with G71 cycle is working!
Here is a short video showing a stepped shaft profile being generated.
Ø50 → Ø30 → Ø20 with chamfer and fillet. Toolpath renders correctly
in AXIS preview.
Still some minor bugs to polish before I release it on GitHub. Once
it is stable I will post here and invite everyone to test. A few more
things planned before release:
- G70 finishing pass after roughing
- Profile validation (prevent non-monotonic paths)
- Pocket cycles (G71.1 / G71.2)
Your feedback is exactly the kind of contribution that keeps this
alive. Users like you who test, report bugs, and cheer us on matter
just as much as the code. Thank you!
Best,
CNC Proton
The following user(s) said Thank You: COFHAL, Surmetall
Please Log in or Create an account to join the conversation.
- GCode and Part Programs
- CAD CAM
- NativeCAM
- NativeCAM 2.0b — Python 3 & GTK3 port for LinuxCNC 2.9 / Debian 13 Trixie
Time to create page: 0.115 seconds