@jeyeager I’ve been wanting to ask you if you could work your webuiv3 wizardry to make a framing button like MillMage and Lightburn have? I really like being able to frame my project to make sure it is setup in the correct location. I have to use a USB cable to do it now.
Here is an example of the gcode header:
;MillMage 0.8.00-RC-1 @ 6736120 Qt6.5.7
;Custom GCode device profile, absolute coords
;Bounds: X14.419 Y8.252 to X837.581 Y829.748
;Project Units: Metric
;Safe Retract = 6
;Stock Thickness: 10
;Z Zero: Top
;G54 origin is at the Bottom Left
G00 G17 G40 G21;Restore metric mode
G54
G90;Restore absolute mode
G0 Z6
G90;Restore absolute mode
;Pocket @ 30.3 mm/sec, 12000 RPMs
Would it be very hard to create a script to read the Bounds and frame it on the workpiece?
I haven’t used Lightburn and I’ve messed with Millmage for about 15 minutes so far. So, I’m not sure what you’re asking for. The tablet extension can already overlay the gcode preview over the machine bounds. This type of thing does require downloading the gcode and parsing it. And that means it needs a file selector separate from the built in one. So, you’d still end up running it the normal way. It’s all a bit awkward.
Here is an example of using the framing button in Lightburn. It traces an outline of the project above the material. MillMage does the same thing with the router.
Lightburn can do that because it easily has access to the bounds of the project because it has to have it loaded in memory.
For the WebUI to do it, it needs to read and parse every line in a file, and figure out what the bounds are.
To do it as an extension, it needs to have a separate file picker, either from the Flash/SD or local or whatever, load the file, and do the work to find the bounds.
It’s a bit of a heavier operation to try to do from the outside by parsing already generated GCode vs what Lightburn is doing with the file already loaded in memory, and the bounds already calculated
It IS possible… but I just tend to do this on my own. I name my files typically so that I know the bounds, and will manually drive my machine around with those measurements from my starting point and make sure I have clearance from everything (screws, etc.) before I start the job.
There is a bounds line in the heading of every gcode file:
;Bounds: X14.419 Y8.252 to X837.581 Y829.748
This is from a project file that I exported the gcode from in MillMage.
That would be fine, for the case where it was exported from MillMage, if it happened to exist.
But that doesn’t change his point of how the UI has to be designed, or what it will take to do it as a generic WebUI extension.
It still has to download/upload the file, open it, and read it until it happens to encounter some application specific bounds comment that it can detect, or continue reading the file until the bounds can be calculated.
In the off chance that you happened to edit that GCode by hand and not update the bounds comment, then what should it do?
It’s dangerous to assume that is always correct
Wishful thinking on my part. I will continue to plug in my Macbook and run the framing from there.
Thanks for the explanation.
Like I said, it IS possible… but I do agree it’s a bit clunky as an extension.
As a feature, it’s also risky that you somehow mishandle something and frame it in a way that is not actually representative of what FluidNC is going to do when the file runs.
I would feel better about it if it FluidNC had a GetBoundsFromFile call we could make so that we know the bounds exist exactly as FluidNC would parse it, including any mistakes it would make itself, but that would still require FluidNC to read the file completely to parse it each time the button was clicked.
When Lightburn is in control, the frame and the GCode are completely generated and interpreted by the same codebase. There should be no discrepancy in the movements generated.
As the WebUI developer, I would need to port and maintain a direct copy of the FluidNC Gcode parser to ensure that the frame motion always accurately depicts what commands FluidNC will actually execute.
At least, that’s the level I would need to take for me to feel comfortable telling someone that they can trust that when they run the job, it will definitely run at the same size as what the “Frame” button says.
Ruida controllers, etc. I have seen have a Frame button you can use when a file is selected. So I would probably actually see this as a possible request to have implemented into FluidNC itself, in which case, a “Frame” button is then really easy to add to the interface from the built-in file picker or the Tablet UI.
It would be a nice addition to have.
I don’t know what ability Millmage has to customize those comments but I’d be inclined to display the bounds in an M0 hold message. It could even include the machine bounds. Unfortunately, you’d have to cancel the job to adjust the position.
I realized I needed to ask an important question. And that is how much is this going to cost.
FAQ: MillMage will be USD$199, marked down to $149 at launch.
From: https://millmagesoftware.com/
Looks like that is a year of updates, able to use versions during which you were licensed perpetually. Renewal for updates is $40-50 per year.
I’m not saying that’s a bad price but not sure I can justify it either. I’ll have to try it out some more.
As a Mac user, I will probably just take a gulp and do it! I’m not at all interested in running other stuff in emulation, and I really don’t mind paying for software, but ask me again later in the year when the time comes to press the button!
If they iron out the kinks and get inlays and 3d carving working that’s not terrible, not great.
150 discounted to 100 and I’d say heck yeah no question but if it it starts to poke at things like vectric for features for that money it could be a contender.
Nah, you need V-Carve pro for the inlay feature. That‘s a hole lot more (but would be my contender at the moment, though they don‘t feature ball nose endmill for it at the moment), but the feature is now fully fleshed out and working quite well.
I haven’t bought it yet because I am okay doing it with Estlcam, but in the long run I think I might end up with V-Carve.
Big money lol i own vectric Aspire …
Sounds like there should be a better api for getting a list of files and some basic stats (including bounds) from those files. FluidNC could compute and cache those results on upload once. If they were discovered on an sdcard, they could be computed in a lazy way.
It’s a lot to add. I’m guessing there are other applications for that kind of metadata for webui. Maybe total length or time estimates or bound checking against soft limits.
The correct version or an old one?
at that price, there is nothing I cannot do with current version of estlcam!
and the problem being it will be another 199 when they up the major version again.
kinda glad I have not teased myself with the beta now!
It looks like it would be $40-50 to get another year of updates depending on how long you’ve stayed up to date or if you let it lapse.
Yea, for my usage $100 is probably my limit. $200 is a no and $150 is a hard sell.
I’ll give it a good evaluation and see what I think.
Frankly, I find LightBurn worth the maintenance even though I’m thoroughly bummed they dropped Linux support. I completely understand why they did.
If MillMage on Mac works well with my LR4 then it’s likely going to be what I stick with. I continue to struggle with Estlcam on Mac or Linux.
That is interesting. When looking at it versus Estlcam and CAM/inkscape that is a tough one. I do think it has a market as an all in one for some people since you can do some basic modeling geometry in it.