LinuxCNC Features - a kind of NGCGUI
- turbospeedskater
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
yesterday I found something to check and improve (if you have not already done in your new version):
I found out, that a program (the saved xml-file) can not be used on another machine,
if the location of features.py and the subroutines folder is different on both machines.
Background:
I have my milling machines with LinuxCNC package installed from the CD/DVD.
There I have installed the features.py etc. to /home/<user>/bin/Features....
On my office machines (where it is nicer to sit and write software/GCode/etc),
I have installed LinuxCNC from source. There I have installed features.py to
/home/<user>/src/Features/...
When I write a "program.xml" on my office machine, and try to open it with features.py
on my machine shop computer, then it will not work. I think, there are absolute paths
inside the "program.xml" and that will not work on another machine with different
install locations....
BTW: I am waiting for you to finish everything, and then we can talk about the subroutines.
In the meantime I have written some "universal G-Code" that can be easy used to make
pockets, holes and discs with different geometry with minimum adjustments needed.
That may be used as a base for all subroutines to have the internal gcode structure
being the same except the geometry information itself.
Also I think I will do some german translation for the interface if somebody wants that.
I personally prefer english, but may be there are some user who prefer german.
So a question to the world: Is there anyone who wants german interface???
And maybe a german manual?
best regards,
Martin
Please Log in or Create an account to join the conversation.
I am waiting for you to finish everything, and then we can talk about the subroutines.
In the meantime I have written some "universal G-Code" that can be easy used to make
pockets, holes and discs with different geometry with minimum adjustments needed.
The very important thing for the machining is Penetration angle.
Some mills cannot penetrate material straight down and have to do it angled to the surface - so we will have a zig-zag, saw or spiral trajectory...
I do not know how is it called in English.
See the screenshots - there's a line which connects every layer and it's not vertical.
Please Log in or Create an account to join the conversation.
- turbospeedskater
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
that is one thing you can adjust with a parameter in my "universal GCode" .
Either you can go down in one place before you do the nect circle, or you can go down while doing the next circle.
Same is for pockets: You can adjust with a flag if you want to step out (for clearing the inner space) on one position,
or if you go out during the next circle.
Also adjustable via flags is, if you want to make a hole, a pocket, or a disc. SO you have to write everything for
geometry handling only once.
My idea behind was, to separate the handling of where to go down and/ or out and if the inner space should be cleared or not
from doing the geometrycal things (e.g. if we do a circle or a rectangle or whatever).
That is not 100% possile in GCode, but at least I have only 3 parts in the GCode (two suberotines and one embedded part),
where the geometry is important. The rest of the GCode is allways identical, no matter what kind of geometry has to be milled.
I will use that as a base for all of my milling subroutines (or features if we talk about his project).
I have to do some more testing, but that is nearly done. Then I will post the code here with some kind of description.
best regards,
Martin.
Please Log in or Create an account to join the conversation.
Hi Nick
You are right, absolute path is not a good idea. I think every file should be relative to Features root folder.I found out, that a program (the saved xml-file) can not be used on another machine,
if the location of features.py and the subroutines folder is different on both machines.
I think, there are absolute paths
inside the "program.xml" and that will not work on another machine with different
install locations....
I suggest you first verify your ini files, the calls to "include" or "include_once".
Btw, I recommend "include_once" unless you want to disallow the program to execute by including twice the
same file/subroutine
Excellent. All code/snippets should be re-usable....I have written some "universal G-Code" that can be easy used to make
pockets, holes and discs with different geometry with minimum adjustments needed.
That may be used as a base for all subroutines to have the internal gcode structure
being the same except the geometry information itself.
I would answer that it should be available. I already made a menu option to export strings for translation.Also I think I will do some german translation for the interface if somebody wants that.
I personally prefer english, but may be there are some user who prefer german.
So a question to the world: Is there anyone who wants german interface???
And maybe a german manual?
So anyone could easily translate the application with/without their ini file,
then submit their work to be included in the distribution
The application itself has about 200 strings to translate. You could start with 'gedit' to translate most lines
then finish with 'poedit'. Poedit will check that everything is right and when you save your work,
it will create the '.mo' language file used by the application
Thanks for clarifying this, I had no idea what this was about.The very important thing for the machining is Penetration angle.
Some mills cannot penetrate material straight down and have to do it angled to the surface - so we will have a zig-zag, saw or spiral trajectory...
I do not know how is it called in English.
To make it intuitive, I think you should use a combo with options like : "Plunge while moving to X,Y" OR "Plunge first then move to X,Y"
I think the first option should be the default.
Next screenshot will show spinButtons and comboBoxes used IN the treeview.
I will also do checkButtons but at first sight I prefer the use of a comboBox, the options list make it more intuitive
Have you looked at ngcgui_lib/utilitysubs files ? Specialy entry.ngc, line.ngc, dir.ngc and move.ngc... My idea behind was, to separate the handling of where to go down and/ or out and if the inner space should be cleared or not
from doing the geometrycal things (e.g. if we do a circle or a rectangle or whatever).
That is not 100% possile in GCode, but at least I have only 3 parts in the GCode (two suberotines and one embedded part),
where the geometry is important. The rest of the GCode is allways identical, no matter what kind of geometry has to be milled.
I will use that as a base for all of my milling subroutines (or features if we talk about his project).
We want to have re-usable code so a good idea is to start from there. Mentionned files do a perfect job
Best Regards
Fern
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Your widget icons are really pretty. How do you define them? Are they individual svg / png files, or are they somehow defined in the code?
Glade is XML. SVG is XML. It seems sensible that you would be able to embed SVG data in a Glade file, but if that is possible I haven't seen it.
Please Log in or Create an account to join the conversation.
Nice!Here are my screen shots with the widgets in the treeview
Are those subsections --General-- --Add d flat--- are collapseable?
Aren't they to much for every subroutine?
There's an svg file containing all icons and a script to make pngs any size you want.An off-topic question that relates to a project of my own....
Your widget icons are really pretty. How do you define them? Are they individual svg / png files, or are they somehow defined in the code?
Take a look at icons.svg and create_icons.py.
github.com/cnc-club/linuxcnc-features
Please Log in or Create an account to join the conversation.
Icons were drawn in Inkscape and exported individually. This is the work of Nick, not mine.
Download Features form github.com/cnc-club/linuxcnc-features and you will find all the informations in create_icons.py and icons.svg
Also, visit
Sorry, this is faq.pygtk.org/index.py?req=show&file=faq08.010.htp
Regards
Fern
Please Log in or Create an account to join the conversation.
No, those headers are not collapsable.
Simply add :
[PARAM_H1]
type = header
that is all.
IMHO it helps readability
Regards
Fern
Please Log in or Create an account to join the conversation.
I am presently ironing out everything (beta testing) and hope it will be good enough to upload to github within 2 weeks
Regards
Fern
Please Log in or Create an account to join the conversation.