Which UI?

More
05 May 2024 16:17 #299823 by fully_defined
Replied by fully_defined on topic Which UI?

OP - 

Are there any other non-negotiable functions/features you can think of which would drive your decision about which CNC control to use?
 

I haven't been able to fully respond to your thoughtful post, so consider this a placeholder comment that I read it, and I am taking it in. I definitely want to engage with you on this before you get bored of waiting though!
The topic has been locked.
More
05 May 2024 19:08 #299835 by spumco
Replied by spumco on topic Which UI?

OP - 

Are there any other non-negotiable functions/features you can think of which would drive your decision about which CNC control to use?
 
I haven't been able to fully respond to your thoughtful post, so consider this a placeholder comment that I read it, and I am taking it in. I definitely want to engage with you on this before you get bored of waiting though!
 

No worries, no rush.

Feel free to continue in this thread, or perhaps start a new one if the gist of your questions are less UI and more general LCNC in nature.

Keep in mind that I'm not an LCNC 'expert' by any possible stretch.  Nor am I a full-time professional machinist.  But I do have a fair amount of exposure to working job & production shops and some hands-on experience with various industrial controls.
The topic has been locked.
More
05 May 2024 23:01 #299858 by JT
Replied by JT on topic Which UI?
Ok so you want dynamic information not a calculator. That can be done in Flex and you can add what ever you want to the GUI.

 

This is one of my test GUI's

JT
Attachments:
The following user(s) said Thank You: spumco
The topic has been locked.
More
06 May 2024 16:41 - 06 May 2024 16:46 #299957 by Aciera
Replied by Aciera on topic Which UI?
In master we have access to the comment string in the tool table so it is possible to add the number of teeth for each tool in the tool table and then we can extract it in a python component:

#!/usr/bin/env python3

import re
import hal
import linuxcnc

h = hal.component("mycomp")

h.newpin("number-of-teeth", hal.HAL_FLOAT, hal.HAL_OUT)
h.ready()

# create a connection to the status channel
s = linuxcnc.stat()
n = 0

try:
    while 1:
        s.poll() # get values from the status channel
        current_tool = s.tool_in_spindle # get curent tool-number
        if s.tool_in_spindle != 0: # a tool is loaded
            tool_comment = s.toolinfo(current_tool)['comment'] # get the comment string of the loaded tool
            m = re.search(r'(?<=n=)\d+', tool_comment) # search the comment string for a one- or two-digit number after 'n='
            if m is not None: # comment string contains the information
                n = float(m.group(0))
            else: # comment string does not contain the information
                n = 0
        else:
            n = 0
        # set hal pin
        h['number-of-teeth'] = n


except KeyboardInterrupt:
    raise SystemExit


 

In version 2.9.x we would need to enter that information in one of the offset collumns (eg 'W') but some GUIs (eg Gmoccapy) hide the offset columns of unused axes.
Attachments:
Last edit: 06 May 2024 16:46 by Aciera.
The following user(s) said Thank You: spumco
The topic has been locked.
More
07 May 2024 05:44 - 07 May 2024 05:55 #300001 by Aciera
Replied by Aciera on topic Which UI?
As a note to my last comment, it's quite simple to make a hidden column reappear in the tooleditor of gmoccapy. Just add line 1921 to 'bin/gmoccapy' with the column(s) you want (eg 'w') as in the screen shot below. The value in the example 'W' column can then be accessed like this:

value = s.tool_table[s.tool_in_spindle].woffset


 
Attachments:
Last edit: 07 May 2024 05:55 by Aciera.
The following user(s) said Thank You: besriworld
The topic has been locked.
More
07 May 2024 15:09 #300047 by fully_defined
Replied by fully_defined on topic Which UI?

As a note to my last comment, it's quite simple to make a hidden column reappear in the tooleditor of gmoccapy. Just add line 1921 to 'bin/gmoccapy' with the column(s) you want (eg 'w') as in the screen shot below. The value in the example 'W' column can then be accessed like this:

value = s.tool_table[s.tool_in_spindle].woffset

[attachment=61232]gmoccapy_tooledit_column.png[/attachment]
 
 

This is very helpful info, so thanks! It's good to know that LinuxCNC has some flexibility.

But it's kind of troubling in its own way. Those who know, know what A, B, C, U, V, & W are, and number of teeth isn't one of those things. I suppose the lack of such a parameter is a peek through the window of LinuxCNC's origin story, and it's not flattering. But I also want to add that I don't know of a single example of a competitor that has such comprehensive features. Again, troubling in its own way.

Is there a reason a purpose-built column like number of teeth can't be added? Was LinuxCNC finished one day and nobody has thought to fix these kinds of shortcomings? Is there somebody at the top who manages this?

I ask these questions because I am considering LinuxCNC, but I want to save myself the trouble if it becomes its own project. I am simply looking for a good PC-based CNC controller, and every single one seems to have weird holes in its core set of features that make me question if the person who designed it ever left their parents' basement.
The topic has been locked.
More
07 May 2024 16:10 #300049 by Aciera
Replied by Aciera on topic Which UI?
I do not think there is a controller out there that will give you all you could ever want but the strength of LinuxCNC is that it can be customized to an incredible degree.
Try to change the UI on a Fanuc, Haas or Heidenhain. The strange thing is that people will lay out thousands for a commercial controller and happily accept the limitations that come with it but if a free and opensource solution comes with limitations then they find it inconceivable that nobody has filled a particular gap.
You seem to have very particular ideas about what the UI should look like and that is certainly something that can be customized in LinuxCNC but it IS going to involve a learning curve and it IS going to be a bit of a project.
What you need to realize is that LinuxCNC is NOT a product in the classical sense. It is the result of a community effort. There is no management or agenda. There is peer review of proposed changes. So if somebody wants to go through the trouble of adding a 'number of teeth' column to the tool table then that may be adopted but I can assure you that it will be MUCH easier to customize the tool editor so the 'W' offset column reads 'number of teeth'.
The problem is where do you stop? For example there has been a proposal for a 'max spindle speed' column.

As a side note:
Linuxcnc can coordinate 9 axes 'XYZABCUVW' hence there are tool offsets built in for all those.
The following user(s) said Thank You: spumco
The topic has been locked.
More
07 May 2024 16:14 #300050 by Aciera
Replied by Aciera on topic Which UI?

It's good to know that LinuxCNC has some flexibility.

LinuxCNC doesn't just have 'some' flexibility it is EASILY the 'most' flexible controller software there is. But flexibility unfortunately also brings complexity.
The following user(s) said Thank You: tommylight, travis036, JT
The topic has been locked.
More
07 May 2024 18:04 #300055 by tommylight
Replied by tommylight on topic Which UI?

LinuxCNC doesn't just have 'some' flexibility it is EASILY the 'most' flexible controller software there is.

+1
The topic has been locked.
More
07 May 2024 18:32 #300057 by fully_defined
Replied by fully_defined on topic Which UI?

I do not think there is a controller out there that will give you all you could ever want but the strength of LinuxCNC is that it can be customized to an incredible degree.
 

My disappointment is not limited to LinuxCNC. EdingCNC sent me their CNC720 hardware for free a few years ago, probably because I worked at SpaceX at the time and they wanted to put their product in front of as many Americans as they could. Similarly to LinuxCNC, it seemed like it was full of willful ignorance of features that actual nerds want.

The same goes for just about any other controller I have ever seen, but two controllers stood out to me as being ALMOST THERE. The first was Centroid, for which I seriously liked the plain UI. It's still missing some critical things, but importantly it lacked the kind of 1990s Saved-by-the-Bell aesthetic of Mach3. Its fatal flaw was the virtual control panel, which had some silly buttons in the bottom right corner that could not be edited out. Me being right-handed, it was enough of a dealbreaker. When I mentioned this in a similar fashion to how this conversation is going, I was told to beat feet. Guess what? Now you can edit the entire VCP! LOL!

The other one is Carbide Motion, which is a GRBL controller. Laugh all you want, but it's not trying to pretend it is anything it isn't. I think they did a great job integrating the machine they sell with the controller. You can't do anything with it the machine it ships with can't do.

Try to change the UI on a Fanuc, Haas or Heidenhain. The strange thing is that people will lay out thousands for a commercial controller and happily accept the limitations that come with it but if a free and opensource solution comes with limitations then they find it inconceivable that nobody has filled a particular gap.

This is a false comparison. Fanuc, Haas and Heidenhain are specific purpose-built OEM packages and are not options for self-built machines, other than being inspirations for them.

You seem to have very particular ideas about what the UI should look like and that is certainly something that can be customized in LinuxCNC but it IS going to involve a learning curve and it IS going to be a bit of a project.

Yes, I do. I understand how much potential is locked up inside LinuxCNC, but OOTB, especially for non-Linux people, it seems more like a curiosity. My use case (3-axis dual-Y router) is dead simple, but it looks like I have to reengineer the Space Shuttle to include base level features and omit impractical default UI elements. That's the part that I question, because it should be the other way around. If it was delivered as a shining ready-to-chooch example for the kinds of machines (like 3-axis mills) that I assume the vast majority of users have, and required customization for more advanced use cases, I might feel differently.

What you need to realize is that LinuxCNC is NOT a product in the classical sense. It is the result of a community effort. There is no management or agenda. There is peer review of proposed changes. So if somebody wants to go through the trouble of adding a 'number of teeth' column to the tool table then that may be adopted but I can assure you that it will be MUCH easier to customize the tool editor so the 'W' offset column reads 'number of teeth'.

I absolutely do understand this, and it is why I am going through all this trouble before I spend money on new controller hardware. Because number of teeth isn't already a feature, I seriously question the community's effort. There is zero chance I am the first person to recognize the need for it, and so I am left to wonder why it still is not a core part of the tool library database. It also makes me wonder what other basic features have been excluded. If the board, or whoever decides what features are added, have intentionally not added number of teeth, then what does that say about the board?

The problem is where do you stop? For example there has been a proposal for a 'max spindle speed' column.

Never stop innovating. I don't consider number of teeth to be a revolutionary feature addition though, especially when someone went out of their way to make sure that Linux could handle all 9 axes of a mill-turn. But did they make it 2 channel? LOL
The topic has been locked.
Time to create page: 0.185 seconds
Powered by Kunena Forum