LinuxCNC Features - a kind of NGCGUI

More
11 years 1 month ago #62643 by FernV
Replied by FernV on topic LinuxCNC Features - a kind of NGCGUI
Hi Mit

WOW! You code faster than your shadow...

A few suggestion,
  • Replace 'Y scale' with 'Text Height' or 'Row Height' either in mm or inch
  • X scale should relate to 'Text Height'
  • Replace 'Offset between lines' with 'Line spacing', a factor to 'Text Height'
  • It is not clear what Char Space and Word Space values must be set to, maybe it should also be a factor to height
This is my opinion.

I had a look last night at Truetype Tracer www.timeguy.com/cradek/01276453959
It could be used easily. Not as many options as engrave.py yet but well designed and written in c, could be updated for our use.
Advantages are it can use any TrueType font and G-Code executes a lot faster.
I am considering it but with your talents, would you take a look ? Let me know what you think

Regards
Fern

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

More
11 years 1 month ago #62649 by fixer
Replied by fixer on topic LinuxCNC Features - a kind of NGCGUI
hi,

Suggegtions taken into consideration. I belive i will do just like that, everything will be relative to text height wich you will set in machine units.

Truetype fonts are surface based - TTT generates code that cuts around those surfaces, wich makes it unusable for small engravings. CXF fonts, on the other hand were designed intentionally for use with CAD-CAM-CNC.
There are enough fonts in qcad repo, so i think there is no need to have support for anything else. Plus, if you find any other good single line font, there is a tool for converting to cxf format somewhere. Haven't tried that though.

I would include TrueTypeTracere in Features anyway, one may find it usable. Since a simple ini, thanks to you, is all that it is needed.

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

More
11 years 1 month ago #62897 by fixer
Replied by fixer on topic LinuxCNC Features - a kind of NGCGUI
I am a little busy lately, but am still working on engrave feature slowly. I have some progress, now it supports QCAD 3 fonts, have a working ttf2cxf tool. I use xy-rotate from features instead o9000, almost everything works ok.
But, of course I have come to the limitations of my programming knowledge. I have trouble dealing with unicode strings. Until I pass ASCII chars to python script it works, but when I use any of non ascii char, it starts to throw exceptions...
Is anybody here willing to help with this issue?

And we will need some kind of CXF font optimizer - some chars, that could be made with single or only a few strokes are divided in many different strokes, each next stroke starting away from the last stroke end. The produced g-code is then full of unwanted rapid moves... I think it would be best to write a script, that would optimize the font and then write it back in cxf format. If anyone is interesed to help here I can send the collection of 45 fonts that I have currently. CXF format is pretty easy to read in, it would just need some kind of "sort points by distance" alghoritm.

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

More
11 years 1 month ago #62923 by FernV
Replied by FernV on topic LinuxCNC Features - a kind of NGCGUI
Hi Mit,

There is no rush on this project, we all understand you may have other priorities.

fixer wrote: I am a little busy lately, but am still working on engrave feature slowly. I have some progress, now it supports QCAD 3 fonts, have a working ttf2cxf tool. I use xy-rotate from features instead o9000, almost everything works ok.
But, of course I have come to the limitations of my programming knowledge. I have trouble dealing with unicode strings. Until I pass ASCII chars to python script it works, but when I use any of non ascii char, it starts to throw exceptions...
Is anybody here willing to help with this issue?

I am sorry, my knowledge is less than yours on this matter

fixer wrote: And we will need some kind of CXF font optimizer - some chars, that could be made with single or only a few strokes are divided in many different strokes, each next stroke starting away from the last stroke end. The produced g-code is then full of unwanted rapid moves... I think it would be best to write a script, that would optimize the font and then write it back in cxf format. If anyone is interesed to help here I can send the collection of 45 fonts that I have currently. CXF format is pretty easy to read in, it would just need some kind of "sort points by distance" alghoritm.

Just like you, I also have other priorities in finalizing Features

I added the possibility to open a file chooser dialog for any type of files. Just a new datatype supported.
Code:
[PARAM_FONT] name = Font type = filename patterns = *.cxf:*.ttf mime_types = text/ttf filter_name = Supported Fonts tool_tip = Select a Font file value = /usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf
In the treeview, it only displays the filename.ext
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.

Features integrates very well with gmoccapy now. I am solving bugs I was not aware of in the ini files when using metric and it is getting closer and closer to be released.

Regards
Fern

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

More
11 years 1 month ago - 11 years 1 month ago #63034 by fixer
Replied by fixer on topic LinuxCNC Features - a kind of NGCGUI
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: 11 years 1 month ago by fixer.

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

More
11 years 1 month ago #63038 by newbynobi
Replied by newbynobi on topic LinuxCNC Features - a kind of NGCGUI
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.

Time to create page: 0.413 seconds
Powered by Kunena Forum