Why does the M6 tool change notification not show which tool to change to (like Carbide Motion does)? The gcode shows “M6 T201”.
The Remaining Time in the G-code widget is very sporadic and does not count down steadily. Does this time not mean what I think it means? Where can I find an estimate of how long my cut will take?
You are more likely to get answers to those questions on the CNCjs site itself (Issues · cncjs/cncjs · GitHub), but here are my guesses:
I suppose the tool number is normally not very useful as a hint, because other CAM software typically only put a tool index there, that has no direct meaning (i.e. the same tool could be indexed “1” for someone, and “2” for someone else). While when using the C3D ecosystem (CC/CM/C3D endmills), it makes more sense to refer to the tool by their usual reference/“callname” (e.g. “201”)
it’s hard to have a very regular time counting down, because the info CNCjs (or any other G-code sender) has access to are the G-code commands in the loaded file, and while it can determine how long each particular move will take, it cannot (easily) know about the time the rapids will take, since the feedrate for rapid is set by GRBL parameters $110/111/$112 independently of the loaded file.
I tend to use an online G-code viewer that will give me an estimate. I use this one for example (but again, it doesn’t know about the specific rapid feedrate values on my machine)
Well, if we wanted to be seriously pedantic, in standard G-code T201 actually means “make the automatic tool changer select tool from carousel slot 201 and prepare it for tool change” while M6 means “change selected tool now”. So, strictly speaking, C3D using T with a tool name is a mis-use of the command, which is probably why CNCjs can’t follow that convention.
So Carbide Motion has this advantage over CNCjs then? i.e. being able to provide an relatively accurate time remaining. It seems like all the information you need is there, CNCjs just needs to crunch the numbers, right?
Are you using a tool change macro? You can display the tool in the console. Let me know what macro you’re using, and I can help. I’ve never had a reason as I always know what tools I’m using, and on jobs with many tools I just name the files in a helpful way.
I don’t have any macros running during the cut (is that even possible?). The “remaining time” value in the G-code widget will count down at a non-steady pace, pause, increase, and is just overall sporadic such that it seems meaningless to even show.
I should’ve been more clear. The macro question was related to the tool change. I can get a tool number to show, but only in the console.
The time issue to me seems like the same thing you’ll get with Google maps. It makes assumptions and then adjusts. I would never set my watch by it. I’ve never compared the expected to actual.
Carbide Motion services one controller… Maybe that helps the calculations?
I’m discovering more questions as I continue playing around with CNCjs. Let me know if it’s more appropriate to create new threads for each question, or to just add them here.
Why do my work positions zero to +/- 0.012 and never 0?
Is it common for the CNCjs workflow to prompt and show the user what tool and RPM to use? (assuming I have a router and not spindle) Or should the user just know, without explicit notifications? It would be nicer for these prompts to show in a UI window, but the console is fine too.
So far I’ve only used your C3D_3axis_probe macro, a modified version of that just for the Z-axis, and made my own “move router out of the way” macro (G53 Z-3; G53 X-650 Y-5).
I’m not sure yet if/when I would need your Initial & New Tool macros.
Essentially it’s a precision Z-probe, but it will move to a predefined area, for when you carve your Z-probing location away, to do the probe. Also, although Z0 is adjusted, it really is about comparing the endmill to the previous one. It was the BitSetter before there was the BitSetter (also works with the BitSetter).
Is there a way for me to view the current/last gcode command that was sent?
My runs always stop right before the end without any prompts, forcing me to manually Pause then Stop the run in order to finish it. It would be nice to see which command it seems to hang at.
I suspect this is because CarbideCopper includes a final “M30” command in the G-code, that’s the code for “exchange pallet shuttles and end the program”, while the G-code files generated by e.g. Carbide Create have a final “M2” (end the program) command instead, and maybe CNCjs reacts differently (do you get any pop-up window/notification from CNCjs at the end?)
You could edit that file, replace the final M30 by M2 (harmless), and see if that works better for you. If it does, then we could submit a request for modifying carbide copper post-processor (unless there was a good reason for using that M30 command, that I may not be aware of)