LinuxCNC Features - a kind of NGCGUI

More
27 Sep 2015 02:41 - 27 Sep 2015 02:48 #63034 by fixer
attached engrave-feature + fonts from qcad git + converted stick fonts from here + ttf2cxf.
Need some help in converting strings manipulating functions to support unicode.

Since we can not know what fonts someone has on his computer, we can not use a combo unless including all the font files in a specific directory.

I was thinking of including fonts with Features, because people normally dont have cxf fonts installed on machine controllers.


still, great idea on file chooser dialog. I am thinking about dwg2gcode and image2gcode feature, were this will be useful.

Features integrates very well with gmoccapy now.

There is an idea in my head for a GUI based around Features as the default programming mode, so it would in run mode show the progress trough the tree list of Features instead of G-Code. Something similar to Shopmill cycles on Sinumerik, but better. B)


File Attachment:

File Name: engrave.tar.gz
File Size:1,076 KB
Attachments:
Last edit: 27 Sep 2015 02:48 by fixer.

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

More
27 Sep 2015 03:17 #63038 by newbynobi
I could add a user tab place, to gmoccapy, hidding the gcode if the special features tree would be placed there.
Would that help?

Norbert

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

More
28 Sep 2015 14:38 #63115 by Nick

I am thinking about dwg2gcode and image2gcode feature, were this will be useful.

Don't you think that image2gcode is a bit slow for realtime preview?
But still it can be included with turning off auto-refresh.

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

More
28 Sep 2015 19:45 - 28 Sep 2015 19:46 #63137 by fixer
First I want to say that Features is the best CNC program input mode ever made among all CNC controls. I just want to show how Simens did their job with "conversational programing". Everyone can try that with "Sinutrain", with 30-day time limit for free.

Cycle input - parameters names are strange at first, but it changes pictures when you list trough them, so it is very intuitive





The program then looks like that. Cycles are just a normal subprogram call, but when you put cursor on that line and press a button you instantly get back to cycle input screen so you can change parameters.




I would do something similar with integrating Features in gmoccapy.

Don't you think that image2gcode is a bit slow for realtime preview?

It doesn't need to call program everytime - it should save the returned code and call the program only when user changes parameter in that feature, and normally refreshing preview with cached G-code. This could easily be done, right?
Attachments:
Last edit: 28 Sep 2015 19:46 by fixer.

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

More
29 Sep 2015 09:52 #63173 by FernV
Hi Norbert,

I could add a user tab place, to gmoccapy, hidding the gcode if the special features tree would be placed there.
Would that help?

Norbert

Thanks for your proposal. The gcode window does not take much space and I like to see what happens when I debug. In Features preference dialog, we can specify the width we need. On my 24" screen, it is pretty good but maybe many shops use a smaller touch screen and could appreciate some re-organization.

I personnaly do not think the way it is now is a handicap

Regards
Fern

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

More
29 Sep 2015 10:35 #63175 by FernV
Hi Mit

I downloaded your files and used them. You work is quite impressive. However, I made a few changes to the ini file trying to make it easier to use and take advantages of the latest mods to Features. I think a few more changes could be done because you have many, many parameters possible and it could easily be confusing.




I also noticed a few glitch that should be adressed before adding in Features package
  • Some fonts generate exceptions like GreekC, GreekCS, GreekP, GreekS, SansNS, Symbol_Astro, Symbol_Misc2 and Unicode
    There are 2 type of errors and I do not know if it is the cxf font or is there a bug in the application




    Until it is fixed, we should exclude them from the combo box
  • Mirror option acts on a char by char instead of mirroring the whole line. If engraved on the back of plexiglass, LinuxCNC would read CNCxuniL when returned
  • Flip has a similar problem. I found a work around by setting line spacing to a negative value but IMHO it should flip the whole lines
  • Not an error or bug but if we use it with Features it should not add a Pre- or post-amble. Features does this already but it is OK to use in a command line, Leave it there but I think it should be excluded from the ini file

About ttt, I edited the file and I am satisfied enough to include it. Not as many options as you added, but it should do the job for someone wanting TrueType Font




Lastly, for your information, ALL basic shapes (circle, rectangle, slots, ellipse and polygon) have the option of creating a pocket without voiding any of their other options.
It is on my task list of revisiting the ngc files after I uploaded latest version because pocketing does not spiral but start with the smallest size, mill it then enlarge until the pocket is created at the full size. I think it could work with smaller, less powerfull milling. I will add the option to spiral.





There are some gcode generators that could be adapted to include in Features like Facing Software and Grill Drilling Software and everything for a lathe

I allready have Counterboring done and I am almost finished with a polyline that could have up to 170 segments/arcs.
All the ngc files I create use tool diameter compensation except TTEngraving

Regards
Fern

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

More
30 Sep 2015 02:35 #63224 by fixer
Hi Norbert,

Maybe you could add dynamic user tab, that would open from the right side and cover complete right half of display (axes, program, spindle,..) like a dynamic toolbars that we are used on some windows programs. So one could just hide it when not needed. On 15 inch toucshcreen it is indeed hard to work with embedded tab. I personaly use features standalone on top of gmocapy, but I have to constantly ALT+TAB it, because I dont have a mouse on machine, only TS and keyboard, and I want to get rid of the keyboard too.


Fernand,

New version looks GREAT!
Thanks for testing and the comments about my engrave. I wil try to fix mirror and flip bugs as soon as i find the time. Get rid of pre- and postamble, just put a string containing one space ' ' in INI instead of #param_.... .
about those fonts, they are not following the QCAD3 standard, so they dont work. I forgot to exclude them. If someone has the time, it should be easy to translate to qcad3 format, just open fonts in text editor and you will see the difference. Until then, we should just exclude them, there are enough fonts anyway.

Pockets could really be reworked a bit. Circles and similar shapes could be easily done with spiral moves, but for squares and rectangles, I would go in an alternating arc moves, so you could achieve some kind of constant cutter engagement in material. Sharp edges and direction changes should be avoided as much as possible, or at least feed lowered there. I would do something like that:
-1. spiral plunge to per-pass-depth
-2. spiral or some other kind of pocket rough with some stock left for finishing
-3. finishing inside the pocket cutting leftover from roughing on the walls of a pocket.
-4 repeat 1-2-3 until #_depth

Maybe I will try to do something there ^^....

I will also make a thread milling feature, I will need it in a near future...

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

More
30 Sep 2015 05:59 - 30 Sep 2015 09:36 #63230 by FernV
Hi Mit,

I just tested/debugged engrave-feature and here is what I found.

GreekP_xxx.cxf identifies a character as '[A]' while all other font files that work identifies it as '[0041] A'
If I change '[A]' with '[0041] A', it works.

I can not edit engrave-feature because of idents, look what I get



and trying to reformat does not do it simply, I would have to do it manually and understand all your coding.

I suggest you change something in parse function in the 'for text in file:' loop to identify when it starts a new character in both format '[A]' or '[0041] A' and add it to the dictionnary. I also noticed that these are the only lines that start with '['

Presently ALL 'L' lines are added but no ID. That is why these lines raise an exception
font_line_height = font['A'].get_ymax()  # using letter A as base for calculating text size
	    font_word_space = font['A'].get_xmax() * WSpaceP
	    font_char_space = font_word_space * CSpaceP

I also noticed that Unicode.cxf was not in the fonts directory but worked after I downloaded.

Symbol_Astro and Symbol_Misc2 return a different error code 'list index out of range'. Last char for Astro is 'F' and for Misc2 it is 'K' but even trying Astro with ABCDEF, it throws an exception until I added a new line at the end. Same happened with Misc2 and 'K'.

My conclusion is that these 2 font files are OK but limited in their rendering.


Fern
Attachments:
Last edit: 30 Sep 2015 09:36 by FernV.

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

More
30 Sep 2015 15:01 - 30 Sep 2015 18:53 #63246 by fixer

Symbol_Astro and Symbol_Misc2 return a different error code 'list index out of range'. Last char for Astro is 'F' and for Misc2 it is 'K' but even trying Astro with ABCDEF, it throws an exception until I added a new line at the end. Same happened with Misc2 and 'K'.

I will do something about that later.

We should focus more on unicode bug fix. There are fonts that have unicode chars included, but are not interpreted ok when parsing. Try some russian or japan, chineese character, you will see. I need some help with this issue.




EDIT: made a simple script for converting fonts that didnt work, converted fonts attached.

File Attachment:

File Name: GreekFonts.tar.gz
File Size:17 KB
Attachments:
Last edit: 30 Sep 2015 18:53 by fixer.

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

More
30 Sep 2015 21:16 - 30 Sep 2015 21:18 #63268 by FernV
Hi Mit,

Greek fonts should work now.

Something I found in TrueType Tracer did not make much sense to me. When using flipped+mirrored together, the result was the same as rotating 180°. I edited to use a 'mode' with 3 combo options : Normal, Mirrored, Flipped

Now only one option can be selected
Do you know that more than 500 TT fonts can be engraved, including unicode ? I was not aware of so many fonts.

Regards
Fern
Last edit: 30 Sep 2015 21:18 by FernV.
The following user(s) said Thank You: johns

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

Time to create page: 1.031 seconds
Powered by Kunena Forum