What features would a new Shapeoko app need?

kurt6string
Posts: 51
Joined: Tue Jan 29, 2013 4:18 pm

What features would a new Shapeoko app need?

Post by kurt6string » Tue Feb 26, 2013 1:55 pm

So...what features would a brand new ShapeOko controller app have? And an even bigger question is...if I create an xml file format (.oko? .sho?) then what goes inside it? The gcode for sure. But it could be heavily annotated. Perhaps a tool list? Description? Notes? Speeds-n-Feeds-in-various-materials-section? Pictures of the finished product? Relevant CAD source file links. Or the entire contents thereof?
Your thoughts? I attached a picture of the starting point...
Attachments
ShapeItControl.png
ShapeItControl.png (158.3 KiB) Viewed 1783 times
Last edited by kurt6string on Tue Feb 26, 2013 2:38 pm, edited 1 time in total.
Dual Drive 580mmY axis, stock x/z axis, limit switches and .8c software

PsyKo
Posts: 430
Joined: Thu Aug 30, 2012 8:42 pm
Location: France

Re: What features would a new Shapeoko app need?

Post by PsyKo » Tue Feb 26, 2013 3:09 pm

Hello,

I'm actually working on an application skeleton.
It's aimed to be easily completed, using plugins and a powerful rich client platform engine (Eclipse 4).
I'm wiring the basis right now to fulfill the basics requirements : sending commands, and parsing a file.
I already have a bunch of potential plugin in mind, gathered in this forum :
- Visual alignement mod,
- Macro definition,
- Visual Grbl configurator,
- ...

I'll create a more complete post when I have more to say/show.
Maybe this thread is a good place to gather further requirements.
Shapeoko #736
Kress 800, Z Axis upgrade, dual Y, 600mm X&Y rails, metal spacers and V Wheels, home switches, 4th axis
Goko - Free CNC Control Software - http://www.shapeoko.com/forum/viewtopic ... 380#p44380

kurt6string
Posts: 51
Joined: Tue Jan 29, 2013 4:18 pm

Re: What features would a new Shapeoko app need?

Post by kurt6string » Tue Feb 26, 2013 3:25 pm

I thought about that...I wrote Java for a long time...but I've decided to go a different route. The design goal I've got in mind is more of a 'make widgets right now' kind of app. I think that's the direction I'm aiming. I can see your app generating the models for mine... A division of labor along those lines could offer advantages. Eclipse is a power tool and that's a fact...
Dual Drive 580mmY axis, stock x/z axis, limit switches and .8c software

PsyKo
Posts: 430
Joined: Thu Aug 30, 2012 8:42 pm
Location: France

Re: What features would a new Shapeoko app need?

Post by PsyKo » Tue Feb 26, 2013 3:39 pm

kurt6string wrote:I thought about that...I wrote Java for a long time...but I've decided to go a different route. The design goal I've got in mind is more of a 'make widgets right now' kind of app. I think that's the direction I'm aiming. I can see your app generating the models for mine... A division of labor along those lines could offer advantages. Eclipse is a power tool and that's a fact...
That's basically what I want to. I'm not sure if you're talking about a live UI editor ?
I think that the required features for basic controls are kind of limited. Then we enter specific needs.
The primary goal is also to have all the very useful plugins in the same application, so you don't have to juggle with different applications, each requiring the Serial connection, and so on.

There is existing application, but I felt like this project was the good one for me to jump into the Eclipse RCP and OSGi features.
Shapeoko #736
Kress 800, Z Axis upgrade, dual Y, 600mm X&Y rails, metal spacers and V Wheels, home switches, 4th axis
Goko - Free CNC Control Software - http://www.shapeoko.com/forum/viewtopic ... 380#p44380

jsbannis
Posts: 80
Joined: Tue Apr 10, 2012 11:09 pm
Location: Chicago, IL

Re: What features would a new Shapeoko app need?

Post by jsbannis » Tue Feb 26, 2013 4:37 pm

I had thought of the same thing as PsyKo, but eclipse as a platform has poor documentation without buying a book as far as I can tell, and SWT seemed too alien to me coming from using swing every day. However its plugin architecture would be great for adding features over time, and hooking the "send gcode" action into the debug framework would be really powerful (could also do grbl compliance checks as "compiling" step).

This board has entirely too many software developers looking for a problem to solve :) I guess we all want to give back to the community, but maybe a single combined effort would be better than 4 or 5 competing apps?
shapeoko #0057

WillAdams
Posts: 8588
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: What features would a new Shapeoko app need?

Post by WillAdams » Tue Feb 26, 2013 4:51 pm

PsyKo wrote:- Macro definition
Sweet!

Let me know when you're ready for alpha/beta-testing!

William
Shapeoko 3XL #0006 w/ Carbide Compact Router w/0.125″ and ¼″ Carbide 3D precision collets
Nomad 883 Pro #596 (bamboo)

WillAdams
Posts: 8588
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: What features would a new Shapeoko app need?

Post by WillAdams » Tue Feb 26, 2013 5:05 pm

Okay, here's my idea(l):

- XML definition
- pixel image preview / gallery of compleated projects --- make it easy for people to add these after making examples
- pixel image / svg preview of project as envisioned by some prototyping program --- this would be the default view / icon for the file
- list of material(s) suitable for building the project out of
- list of spindles which are able to be used to create the program
- matched up w/ spindle settings and feed speeds (provide a pop-up allowing one to pick a spindle and have the appropriate settings / feeds / speeds set in the file)
- declaration of minimum working area which allows creation of the project (this way one could store a bunch of these, filter them based on one's machine's capabilities and only look through projects w/in one's machine's capabilities)
- an option for rotating a project in the X-Y axis (so if my machine has a longer X than Y, I could still make a project designed along a long Y axis)
- ability to store a .dxf or .svg (or other) source (importing these would be awesome for the tool, but I'm okay w/ making gcode in some other tool)
- interactive editing /tweaking of g-code, ability to define macros and looping constructs which would be instantiated / previewed in the g-code (but hidden from the user) --- this would need to be two-way --- draw a line in the preview window, get g-code in the editing window, change one or more values for the end-points in the textual editing window, have the preview window up-date, grab a node in the preview window, drag it until it snaps against something in the preview window

I _really, really, really_ like the Emergency Stop button.

I would suggest .shpk for a file-extension (.shpko if you must).
Shapeoko 3XL #0006 w/ Carbide Compact Router w/0.125″ and ¼″ Carbide 3D precision collets
Nomad 883 Pro #596 (bamboo)

Will Winder
Posts: 435
Joined: Fri Apr 20, 2012 2:40 pm
Location: Hudson, MA
Contact:

Re: What features would a new Shapeoko app need?

Post by Will Winder » Tue Feb 26, 2013 5:19 pm

jsbannis wrote:This board has entirely too many software developers looking for a problem to solve :) I guess we all want to give back to the community, but maybe a single combined effort would be better than 4 or 5 competing apps?
If anyone wants to focus mainly on a front-end without worrying about streaming commands to GRBL, my g-code sender has a completely modular control layer that could be a drop-in start to a new GUI: take a look at "GrblControl.java" https://github.com/winder/Universal-G-Code-Sender

There is also a 3D visualizer in development with live tool preview which is also very modular and could easily be included in someone's java GUI. The ugly yellow line is the tool which moves based on grbl's reported position and as lines are sent to GRBL they turn gray in the preview.
Attachments
image.png
image.png (47.65 KiB) Viewed 1750 times
ShapeOko #367: Dual-Y drive, Belt on outside, 1000mm Y-Axis, DW660 Spindle, Nema-23 X/Y motors.

Primary developer on Universal Gcode Sender.

PsyKo
Posts: 430
Joined: Thu Aug 30, 2012 8:42 pm
Location: France

Re: What features would a new Shapeoko app need?

Post by PsyKo » Tue Feb 26, 2013 10:52 pm

I'm glad to see that I'm not the only one to feel like this could be useful. This definitely helps finding motivation :)
jsbannis wrote: This board has entirely too many software developers looking for a problem to solve :) I guess we all want to give back to the community, but maybe a single combined effort would be better than 4 or 5 competing apps?

That's exactly the point of my application.
I wanted to wait until I have something solid. But reading this post brings me to mention my project. I want to avoid competiting apps.
jsbannis wrote: I had thought of the same thing as PsyKo, but eclipse as a platform has poor documentation without buying a book as far as I can tell, and SWT seemed too alien to me coming from using swing every day. However its plugin architecture would be great for adding features over time, and hooking the "send gcode" action into the debug framework would be really powerful (could also do grbl compliance checks as "compiling" step).
Yes it's kind of a big mountain to climb. I'm discovering right now, but I can definitely give you good links. Start by reading http://www.vogella.com/tutorials.html. It's a gold mine.
jsbannis wrote: SWT seemed too alien to me coming from using swing every day
I also used swing before, but you get used to SWT pretty quickly. Beside, I use a visual editor.
Will Winder wrote:If anyone wants to focus mainly on a front-end without worrying about streaming commands to GRBL, my g-code sender has a completely modular control layer that could be a drop-in start to a new GUI: take a look at "GrblControl.java" https://github.com/winder/Universal-G-Code-Sender

There is also a 3D visualizer in development with live tool preview which is also very modular and could easily be included in someone's java GUI. The ugly yellow line is the tool which moves based on grbl's reported position and as lines are sent to GRBL they turn gray in the preview.
Sounds like a good plan. For now I only have an interface of a GCode sender (no actual code). I'm setting up my application structure right now.
I'll definitely tae a look at your code.

I'll let you guys know.
When I think it's mature enough, I'll probably create a git project (even though I'm quite unfamilliar with it. More used to SVN actually).
Github, sourceforge, google... haven't decided yet.
Shapeoko #736
Kress 800, Z Axis upgrade, dual Y, 600mm X&Y rails, metal spacers and V Wheels, home switches, 4th axis
Goko - Free CNC Control Software - http://www.shapeoko.com/forum/viewtopic ... 380#p44380

madmanmoe
Posts: 53
Joined: Mon Jan 28, 2013 10:29 pm
Location: Greater London
Contact:

Re: What features would a new Shapeoko app need?

Post by madmanmoe » Wed Feb 27, 2013 2:23 am

Most of that went straight over my head, but if you're taking votes for a file extension, I like .oko

:D
MadManMoe's Blog
eShapeoko #23 Dual Y, Dual X, Dremel 4000, Pololu a4988 steppers run from LinuxCNC

Post Reply