Unity3D User Interface

More
16 Mar 2020 20:07 #160467 by artsev
Hello everyone

I'm working on big CNC machine right now and I want build control system on linuxcnc, but I want special user interface with high interactivity and special features relative to machine behavior. I start reading linuxcnc documentation because of I', noob here. I'm reading documentation about custom UI, and what I undertand at this moment:
Python interface it's new approach for UI command level building, but I have gap in knowledge how to build visual drawing of curves of g-code operations, because I can't find any commands for getting array of points and current interpolation.

I have idea creating UI on Unity3D game engine (C#) and native plugins on C++ (integration point).

Where can I read about this operation planner for UI developers?

Thanks.

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

More
17 Mar 2020 08:34 #160521 by artsev
Replied by artsev on topic Unity3D User Interface
I found this:
wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_Tp_Notes
looks very interesting ...

I will try to build concept design and show screen or videos what I have.

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

More
17 Mar 2020 08:38 #160522 by cmorley
Replied by cmorley on topic Unity3D User Interface
I think you are asking how the linuxcnc's UI creates graphics display from Gcode.

github.com/LinuxCNC/linuxcnc/blob/master...ensions/emcmodule.cc

pyPositionLogger()
reads position/gcode and converts them to openGL drawing commands.
after that code here:
github.com/LinuxCNC/linuxcnc/tree/master/lib/python/rs274
is the library used to display the code.
Gremlin here:
github.com/LinuxCNC/linuxcnc/tree/master...emc/usr_intf/gremlin
is an example of actual display

There is more to it but I'm not sure I am right about what you are asking.
The following user(s) said Thank You: thefabricator03

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

More
17 Mar 2020 13:31 - 17 Mar 2020 13:34 #160556 by artsev
Replied by artsev on topic Unity3D User Interface
Thank you, it's what I want ...
But for Unity3D I should thinking about architecture and I want realize something like REST/SignalR service for messaging between linuxcnc core (C++) and Unity3D (C#). Or maybe I can create something like .dll for linux and compile it in linuxcnc core and use external. Or maybe IronPython and mono paltform ...
Last edit: 17 Mar 2020 13:34 by artsev.

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

More
20 Mar 2020 12:35 #160866 by andypugh
Replied by andypugh on topic Unity3D User Interface
I don't think Python is new as the basis for a UI, Axis is written in Python and is one of the oldest UIs.

Would this UI be purely for your own use? LinuxCNC already has rather too many dependencies, so I suspect there would be resistance to adding C# or Unity3D to the official release.

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

More
21 Mar 2020 22:04 - 21 Mar 2020 22:09 #161031 by artsev
Replied by artsev on topic Unity3D User Interface
Guys I'm new in linuxcnc and linux. I'm building big console router cnc machine now with special features. .NET and C# - where I have some experiance (last 20 years). I will try to build specific UI for my tasks and these days I try to understand huge amount of information around linuxcnc. And yes right now I see that python UI working in the same process as linuxcnc (if I not mistaken).

About Unity3D and C#.
Now I have Idea to build separate 3D application on Unity3D and connect it to linuxcnc core for this case I will create fork on github and experiment with IPC (NML or dBus). My Idea starting 2 applications:
1) Linuxcnc
2) Unity3D GUI
but it's theory, I bought PC yesterday, and created flash stick with Debian "Stretch"

About UI
My idea is creating very interactive shader based 3D UI (maybe with cloud service integration). As you know Unity3D team working on supporting linux, and I check how it works :) (it is my point of interest) For solve this task I bought middle tier AMD Radeon Video Card

If someone help me understand "best practice" IPC solution around linuxcnc it will be awesome.
Last edit: 21 Mar 2020 22:09 by artsev.

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

More
22 Mar 2020 01:55 - 22 Mar 2020 01:55 #161048 by Cerna
Replied by Cerna on topic Unity3D User Interface
Just few gotchas:

(...)Or maybe I can create something like .dll for linux and compile it in linuxcnc(...)

Something like DLL..., you are completely new to Linux, aren't you?

(...)Now I have Idea to build separate 3D application on Unity3D and connect it to linuxcnc core for this case I will create fork on github and experiment with IPC (NML or dBus). My Idea starting 2 applications:
1) Linuxcnc
2) Unity3D GUI(...)

LinuxCNC is not one process. It is actually multitude of processes all more or less using some form of IPC. For AXIS-like GUI (the thing which is for majority THE LinuxCNC) you will need to connect to NML. (Of course if you plan to completely rebuild it, then sky is your limit.)
Last edit: 22 Mar 2020 01:55 by Cerna.

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

More
22 Mar 2020 21:42 #161140 by artsev
Replied by artsev on topic Unity3D User Interface
Today I did experiments with linux and unity:
1) debian 9 installed
2) ati driver installed (login screen broken :))
3) Unity3D installed
4) HelloWorld cylinder with animation created
5) Unity3D project exported as mono application and it's working :)
6) Start installing linuxcnc and detected that debian 9 is unsupported
7) debian 9 removed by hard drive formatting :laugh:
8) linuxcnc livecd with debian wheezy downloaded
9) flash stick prepared.

LinuxCNC is not one process. It is actually multitude of processes all more or less using some form of IPC. For AXIS-like GUI (the thing which is for majority THE LinuxCNC) you will need to connect to NML. (Of course if you plan to completely rebuild it, then sky is your limit.)


How many processes "linuxcnc core" contains except GUI?

Something like DLL..., you are completely new to Linux, aren't you?

I did some projects for linux 10 years ago for FreeSWITCH VoIP (C# and C++ plugins), noob but not complete :) Today I spent a lot of time to issue with unity package, because I can't start it, and after investigations I found magical checkbox "run as software" ... :) ...

next step is installing "right" debian and linuxcnc binary package and check how it works ->

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

More
More
22 Mar 2020 22:23 #161145 by BeagleBrainz
Replied by BeagleBrainz on topic Unity3D User Interface
You may want to try this
forum.linuxcnc.org/9-installing-linuxcnc...cnc?start=130#159301

It's a pretty complete package running on Mint.

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

Time to create page: 0.092 seconds
Powered by Kunena Forum