Page 1 of 1

CodeRunTime Plugin

PostPosted: Mon Jun 19, 2017 1:00 pm
by Dan911
Hello ALL,

I written a simple plugin for myself to calculate how long it would take to run a Gcode file in UCCNC and thought to share with who ever my be interested. Most Cam software has this estimation of time but some don't and it's something I got use to checking.

It calculates X,Y,Z movements with feedrate in Gcode file(G1), I have G00 set to 500ipm. All calculations are done with inches per minute (ipm) but added a checkbox to calculate mm per minute. I know I can do many things to tweak this but it's working very well for me now and I'm open/welcome any suggestions.

This plugin has no macroloop running so by enabling nothing will be running until button is pressed.

CodeRunTime.JPG



Setup:

1. You will need to create a button on your screen and give it button # 21111.
2. Put in UCCNC plugin folder and enable it.

I include a blank macro "M21111" in zip file. This should be put in the macro folder of profile used. All this does is stop the false "could not be read" message in UCCNC message window.

Can be downloaded by following link below.

http://www.cnczone.com/forums/uccnc-con ... tware.html

Re: CodeRunTime Plugin

PostPosted: Mon Jun 19, 2017 3:10 pm
by A_Camera
Nice, even though 500ipm is a bit fast for most I think... at least for my machine, but I can be wrong about others.

Just an idea... why not use fields 9, 10, 24, 25, 39, 40 instead of a fixed speed? Even if you leave out acceleration using fields 9, 24 and 39 would make it more general.

Re: CodeRunTime Plugin

PostPosted: Mon Jun 19, 2017 5:13 pm
by Dan911
A_Camera wrote:Nice, even though 500ipm is a bit fast for most I think... at least for my machine, but I can be wrong about others.

Just an idea... why not use fields 9, 10, 24, 25, 39, 40 instead of a fixed speed? Even if you leave out acceleration using fields 9, 24 and 39 would make it more general.


Hi AC,

Thanks...The only fixed speed is the ramping speed (G00), and what your suggesting is a great idea. I also considered just adding a textbox for user to input there ramping speed. The feedrate(G1) is being extracted from the G-code file being read using streamreader and regex. If there's different feedrates for X and Z and if Feedrate changes the plugin will read this.

Yes, I don't know what I was thinking with 500 ipm.

Thanks,
Dan

Re: CodeRunTime Plugin

PostPosted: Mon Jun 19, 2017 7:20 pm
by beefy
Thanks very much Dan,

might be a while before I get to try it but it's now in my "add-ons box".

I'm learning C# / plugins as time permits and don't know if I'm more interested in studying the code or using the plugin LOL.

Keith

Re: CodeRunTime Plugin

PostPosted: Tue Jun 20, 2017 3:35 am
by Dan911
My length of an arch code is off. So G-code with G02 and G03 in it the plugin is adding more time than it is. My heads about to explode tonight but I'll get it right eventually...lol

Dan

Re: CodeRunTime Plugin

PostPosted: Tue Jun 20, 2017 7:05 am
by A_Camera
Dan911 wrote:
A_Camera wrote:Nice, even though 500ipm is a bit fast for most I think... at least for my machine, but I can be wrong about others.

Just an idea... why not use fields 9, 10, 24, 25, 39, 40 instead of a fixed speed? Even if you leave out acceleration using fields 9, 24 and 39 would make it more general.


Hi AC,

Thanks...The only fixed speed is the ramping speed (G00), and what your suggesting is a great idea. I also considered just adding a textbox for user to input there ramping speed. The feedrate(G1) is being extracted from the G-code file being read using streamreader and regex. If there's different feedrates for X and Z and if Feedrate changes the plugin will read this.

Yes, I don't know what I was thinking with 500 ipm.

Thanks,
Dan

In my opinion the maximum speed (G0) is very important in simulation, especially for long codes with a lot of rapid moves.

I use the simulator in Mach3 for long codes now, but I'd like to have one without a pop-up window, just like in Mach3. You click simulate and the software calculates and estimates the total time, presenting it in the same window. Maybe your plugin can be modified so that if a user calls it through a button call then it just returns a value, which the user can display in a field# of his/her selection. A checkbox in the plugin window, when checked the window will not pop-up next time, just return the value (maybe you can write the value in the last UCCNC Modbus variable... that can be written written to and read by anyone who likes to read it), when unchecked the window will pop-up and present the estimated values there (like today).

Re: CodeRunTime Plugin

PostPosted: Tue Jun 20, 2017 12:40 pm
by Dan911
Yes, G0 is very important to get accurate results and is something I will change, possibly using one of the fields you suggested in previous post.

Having a pop up window has to be less annoying than loading another program. Regardless, creating a configure window for user to choose window or send results to a textfield is simple enough to try and suit everyone's preferences.

Right now my priority that my time will allow is to have the estimated time working accurately. I do suspect if enough request UCCNC will most likely add this feature in a future update.

Dan

Re: CodeRunTime Plugin

PostPosted: Wed Jun 21, 2017 12:12 am
by Dan911
Vmax549 wrote:Might want to consider sending the values to teh status line on the main screen.

(;-) TP


Hi TP,
I missed this post.You must of posted when I was replying to AC's post.

That is the best idea so far, this will eliminate the need to create any other fields other than the button to activate the read.

My only problem with any of these suggestions is for a large file. I do a lot of lithophane's and some can be 500,000 lines of G-code. Without the progress bar you start to wonder if there is a problem when the results aren't instant like smaller files. That's why I added it.

Dan

Re: CodeRunTime Plugin

PostPosted: Thu Aug 03, 2017 10:36 pm
by Robertspark
Has this progressed at all with G2, G3 and G0?

Wouldn't mind taking a look at plugin if possible, thanks,

Re: CodeRunTime Plugin

PostPosted: Fri Aug 04, 2017 1:57 am
by Dan911
Robertspark wrote:Has this progressed at all with G2, G3 and G0?

Wouldn't mind taking a look at plugin if possible, thanks,


Actually progressed quite far, don't want to prematurely post like I did with first version.

Plugin now calculates with users max velocity and acceleration. Yes reads G2/G3 arch length and adjust with chord length. Also calculates all canned cycles and uses users UCCNC settings for G73 and dwell.

The last thing I been tweaking is CV along with exact stop, one of the reasons I found your thread below very interesting.

viewtopic.php?f=2&t=681

Dan