-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Toolchanges #26
Comments
Has anything been done to add the capability to accommodate tool changes and resetting Z manually in a single g-code file? |
Not yet (: |
@swarfer @sharmstr - (: if you have any comments on it so far (and have some more sample gcode files to throw in the testing pool) Basically the parser looks at the gcode, finds a M6 and splits it at that point. We look around for related comments to populate the description a little better Ideally i want it to have the whole wizard like feel in the end (not yet) where it just runs and pauses on M6, lets you rezero etc, but for now (quicker) i figure handling each section/tool as a mini "job" means once its done we have access to all the usual jog/probe etc to prep for the next tool? |
Here's a simple sample with tool change generated by the Fusion 360 GRBL post processor. I agree, pause on M6, allow movement to facilitate tool change and Z re-zero then resume. A message box prompt would be nice but given the multitude of possible platforms...unless of course there is a simple way. |
Ps. Official Gcode spec calls for Tx before M6 (; and can be called many
lines earlier too to give ATCs time to work
…On Tue, Sep 3, 2019, 11:11 PM gmorse7 ***@***.***> wrote:
Here's some psuedo code I used to modify a post processor for another
machine.
[image: image]
<https://user-images.githubusercontent.com/50146581/64209156-a1e19100-ce54-11e9-840c-802d9f95ef4d.png>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#26?email_source=notifications&email_token=AHP6BN2QHYRG6RDERFWMZATQH3HI3A5CNFSM4GEZAOQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5ZS53Q#issuecomment-527642350>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHP6BNZSW6SCHB55LIKPBYLQH3HI3ANCNFSM4GEZAOQQ>
.
|
As a temp solution, its probably fine. I know I'm going to press the wrong run button, but you cant code for that :) I'll get you some sample files tomorrow. |
Here is a SketchUcam file with tool changes. This is created by generating a file for T1 and another for T2 and then using the joiner tool to join the files together. |
Note the Sketchucam can also insert a macro for the toolchange which may not include a M6 command. User beware (-: |
Lol (: always right
Does yours have start/end markers we can seperate it out?
…On Wed, Sep 4, 2019, 9:34 AM David the Swarfer ***@***.***> wrote:
Note the Sketchucam can also insert a macro for the toolchange which may
not include a M6 command. User beware (-:
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#26?email_source=notifications&email_token=AHP6BNZNL3ZMWCWNPNWL7FDQH5QIBA5CNFSM4GEZAOQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD52UYYI#issuecomment-527780961>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHP6BN2DUW2I4UUUN5U7P5LQH5QIBANCNFSM4GEZAOQQ>
.
|
yep, just look in the file. the joiner hooks a few lines from the comment header of each file and includes them in the output just before the tool change command |
Here's one from Fusion using the Tormach post. I disabled G30 output. |
re @sharmstr " know I'm going to press the wrong run button, " - the Run Complete Job one is the one I am still working on and the one most should use. Idea is to get it to run to a toolchange, popup a message telling you which tool to load, then lets you jog/probe/etc and finally continue |
The parsed info looks good. Ah, ok. During the tool change, will macros be available so I can use a modified G28 for my tool change location instead of having to jog? |
Yeah I'm forseeing handling each section "like a job", ie when it gets to the end, before the toolchange it "stops" streaming completely. Instead of duplicating jog/probe/macro buttons onto a dialog. Just click "ok i'll load up that tool" (hehe) and then we hand you back to the full UI but play button will say "Continue" or something like that which actually starts the next section |
@swarfer :
I checked the file and I do see it having the headers from the joiner as described.
So basically I can look for the two comments and know gcode before start is "the job", between the comments is the "toolchange macro" and after end, is the next section with the new tool. (so the dropdown can reflect accordingly. When you get to the macro, we either let you manually do it, or run the macro |
@gmorse7 yours looks good too: But I dislike how it looks in the 3D viewer (; - so will fix that for you too (; |
yep
in this case there is no way to automatically split the file as we have no idea what a user may put into the toolchange macro. none at all since the macro is user defined. the point of the macro is to do the tool change without stopping the job so using it and then expecting CONTROL to cooperate with it is a bit of a stretch. |
If theres no M6, we'll just keep on running. Sounds like that is spot on
then
…On Thu, Sep 5, 2019, 9:48 AM David the Swarfer ***@***.***> wrote:
@swarfer <https://github.com/swarfer> :
Here is a SketchUcam file with tool changes. This is created by generating
a file for T1 and another for T2 and then using the joiner tool to join the
files together.
Looks like it worked (:
yep
I checked the file and I do see it having the headers from the joiner as
described.
But for Sketchucam can also insert a macro for the toolchange which may
not include a M6 command - what do you (or more importantly what do I
have the parser look for) use instead of M6 then
in this case there is no way to automatically split the file as we have no
idea what a user may put into the toolchange macro. none at all since the
macro is user defined. the point of the macro is to do the tool change
without stopping the job so using it and then expecting CONTROL to
cooperate with it is a bit of a stretch.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#26?email_source=notifications&email_token=AHP6BNYCKXGTDB6YSBELFUTQIC2VFA5CNFSM4GEZAOQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD56F2BQ#issuecomment-528243974>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHP6BN76JS7LNAUNAQIEH23QIC2VFANCNFSM4GEZAOQQ>
.
|
How close is this to being released? Not pressuring, but the fusion post will need to be adjusted. Just wondering how much time I have :) |
Phew more than i thought. Had 4 days allocated to work on it but got pulled
off on something else for now. I'd say I am not halfway yet
…On Thu, Sep 5, 2019, 3:19 PM sharmstr ***@***.***> wrote:
How close is this to being released? Not pressuring, but the fusion post
will need to be adjusted. Just wondering how much time I have :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#26?email_source=notifications&email_token=AHP6BN3MN2OVVWKONPRNM23QIEBPRA5CNFSM4GEZAOQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD57CBXA#issuecomment-528359644>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHP6BN7NEAH3G2IJRSZVTQLQIEBPRANCNFSM4GEZAOQQ>
.
|
So something like this: Just before the M6, streaming stops, this pops up: (also playing with the idea of instead of a dialog popping up, I show this where the 3D viewer usually is) You use the regular tools/macros etc to effect the toolchange then hit the Play button up top (its description now says Continue) |
I like it. Can you clarify a few things? 1 - I'm assuming the cutter image will always be the same. If so, I guarantee someone will ask why its not showing their v-bit. LOL 2 - After rezero'ing, will your continue button raise the cutter? |
|
1 - Oh good luck with that. I can certainly help you with that on the Fusion end. And maybe even the Aspire end (though I only have the desktop version which doesnt allow multiple tools anyways). 2 - The Tormach sample I gave you does. Right after the tool change the first move is in Z to your clearance height before any x/y moves. But it doesnt look like the Autodesk version of grbl post does. Right after M6 it goes to x/y, then to your Z clearance height. That could be bad potentially. I can make sure in our version of the Fusion post that we move to clearance height first if need be, but probably best that control does it. |
|
Does the M6 triggered code raise to safe height and command a spindle stop? Tool change user prompt window and text looks good to me. |
That should happen in the gcode before the M6. Even your ToolChangeTestPiece doc above raises and stops the spindle before the M6 call. I've never seen a post that wont do that, so I think we are safe there. Hmmm, as soon as I say that I now see that Davids file didnt have it. Well, shoot. |
Fusion post processors handle tool change coding pretty well from what I've seen. I've added patches to move to a convenient tool change location in a couple of Fusion posts. I'm not sure about others. I see if I can create a couple examples from other CAM software. |
The other attempts I've made to create multi-tool gcode files the software tells me GRBL does not handle tool changes (or at least their post processors don't). |
yes it does raise Z after the M6 |
The question was "Does the M6 triggered code raise to safe height and command a spindle stop?" (File: pockettester.skp) It moves up to safety height, but then moves to X0Y0 and sends a spindle start. Where's the M5?? |
you are correct! the joiner specifically removes the spindle stops because you really do not want to stop the spindle when joining several operations with the same tool. but it leaves the M3 because the new tool may have a different speed. |
Agreed. But it should also allow for a spindle stop in the code (okay to be in there, but ignores it). That way my fusion code can work on other controllers :) |
I agree with sharmstr, the spindle stop should occur immediately after the z retract. |
I see I am going to need several more hours one this one (; |
Yeah, sounds like a nightmare. I havent tested this but I wonder if grbl will throw an error if 2 M5s are issued. Basically wondering if you actually need to "ignore" an M5 that already in the gcode. Having to ignore it will be a pain because you cant ignore the last one :) |
It will accept M5s more than once as it sets a modal. So yeah, good
solution for that particular point
…On Wed, Sep 18, 2019, 6:42 PM sharmstr ***@***.***> wrote:
Yeah, sounds like a nightmare.
I havent tested this but I wonder if grbl will throw an error if 2 M5s are
issued. Basically wondering if you actually need to "ignore" an M5 that
already in the gcode. Having to ignore it will be a pain because you cant
ignore the last one :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#26?email_source=notifications&email_token=AHP6BN6P35AOFF5J5HKL4JDQKJK7TA5CNFSM4GEZAOQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7AWJPA#issuecomment-532767932>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHP6BN6VLQEPGOXC26IW7L3QKJK7TANCNFSM4GEZAOQQ>
.
|
Note to self, once implemented, remember to update Fusion posts etc to support Toolchanges |
Peter |
This looks very promising! Is there any way we can start testing this feature? Has this been implemented in master branch? |
Waiting for this to happen, so happy with Openbuilds so far... |
If I want to do a tool change in the same file, I enter a manual NC I’m Fusion to move the tool head out of the way then another entry for Stop. Measure the tool bit height off the table. Replace the bot and check the height is the same. OpenBuilds Control allows me to hit Pause then Resume and it continues the job. It might not be a resolution outright, but this might help some. |
How are you taking this measurement? |
I would love to see more attention on this feature i think it makes the whole proses of machining a part much more manageable. thank you for all your hard work |
I wonder was this feature abandoned altogether. If I were smarter I would try and figure it out... it's one thing that makes a Shapeoko so much more user friendly. |
Not abandoned no, just haven't been a priority use case as our Post Processors are optimised to split the files for you: See https://docs.openbuilds.com/doku.php?id=docs:software:cam In between files you have full control over jogging/zeroing/probing |
Hi guys, I know OpenSource is hard to maintain, but after 3 months of research, I've almost decided to change My OpenBuilds CNC BlackBox for Acorn CNC or StepCraft machine just for the mere fact of supporting ATC with not much pain. And I'm being really honest, I prefer to spend money on you guys if you come up with a solution for ATC. But here we go respectfully asking you guys: Are you delivering soon ATC support, hardware/software? or is this feature just abandoned? Thanks a lot guys..! |
From my side (the post processor) coming when I get my X32 set up and can test it. |
@swarfer, wishing you the best testing out on the new X32, please post what results you get on. I'm not the master of CNC/macros, that's why I'm looking for a stack that solves complexity as much as it could. |
Hello @petervanderwalt , In this case, can you give me a few pointers to get me up to speed quicker? Thanks for the awesome work, |
Not yet, mainly at the time we worked all our CAM posts to output file-per-tool so most folks are quite happy with the workflow we have now. Help is always appreciated though, if its a nice solid implementation we can merge it
Most of its there, uncommented, and lots of notes in thread here. I honestly haven't thought about this in years, because what we have on the posts/CAM side has worked well, so I don't have much in terms of guidance off the top of my head Probing was still missing, but we have a macro for that |
Normally you'd want the GCODE to have M6 (Pause) then a Tx command. The UI should pause streaming at the M6, and prompt you to insert tool X. Then you jog to zero tool length, setzero z, and unpause. But thats not in the code yet... Sorry! (: - couple weeks though!
So the hack here is to split your gcode into seperate files for each tool. The machine will hold position between jobs (unless your gcode resets coordinates with G10, etc). Run the job file for tool 1. When its finished, change tool, zero z (dont rezero xy). Load file for tool 2, go. etc. I know its a kludge, but bare with us (; theres a lot of features that still has to be added - and we'll get to them all eventually (:
The text was updated successfully, but these errors were encountered: