Automatic 3D Print Removal using G-Code
Vložit
- čas přidán 7. 08. 2019
- 3D printers already do so much of the work on their own, but why not take it a bit further with a bit of extra g-code?
Shopping List :
• Fillamentum Extrafill PLA : bit.ly/FM-xtra
(20% off with 'MAKEANYTHING20' thru 2023)
- Also on MatterHackers : bit.ly/xtrafill
• Wire Brushes : amzn.to/2TWmF3G
Learn about my favorite 3D printers and more at www.makeanything.design/favor... - Věda a technologie
Firstly: you don’t have to input coordinates for axis you don’t move, so, if you move only Y and Z axis you can have:
G1 Y5 Z20
G1 Y25 Z19
G1 Y5 Z18
Then if you want to move carriage out of the way you have:
G1 X100 Z20
G1 Z0
Also after the wire brushing part you could just do Z30 or Z40 and RMF there as the printer will go in straight line to the starting point on the bed.
Secondly:
For bigger prints you may want to wait as you said. Heatbed needs to be cooler. Then, you could use back of the carriage to knock things off. It’s wider, it’s stronger, it’s just as easy in GCode! :)
Finally:
Very cool video :)
Ps. In the End GCode add:
G92 E0
G1 E-2
First line resets the current position to the one you input. So this one sets current position of extruder to 0.
Second line, retracts you filament back 2mm so it won’t ooze out the nozzle after the print. If you have the wire brush in the start code you can preheat the nozzle and purge a little on the right side of the wire brush, then clean, then print. This way you don’t need the brim ;)
Also, the semicolons are optional, new lines divide new gcodes :)
Hi, would you know how to change a FLSUN QQ-S-PRO to? I cant work it out. Currently via cura default is;
M107 T0
M104 S0
M104 S0 T1
M140 S0
G92 E0
G91
G1 E-1 F300
G1 Z+0.5 E-5 X-20 Y-20 F9000
G28 X0 Y0
M84 ;steppers off
G90 ;absolute positioning
Very grateful for any help
@@ebee2433 okay, I've been out of the 3d printing world for quite a while now, so I'm not sure if I'll be able to help, but describe what you need exactly and maybe we could work it out :)
I hope my clients don't see this video. They think my job is very, ehhh... Manual. :-)
Same tho
Dont you watch the print?
Don’t you pet the print ?
@@levig-man4103 *? ? ?*
I prefer to pet the nozzle
Taping the paper to the platform is such a simple yet very effective fix to a bigger problem. You're so creative!
Knowing him, I can pretty much imagine him printing a sheet of flexible filament that would serve the same purpose but it's 3d printed so it's better at the same purpose
Let's make it more complex! How about some 3D printed rollers the fresh print could slide down? Bwahahaha!
@@colleenforrest7936 hold my beer! XD
@@colleenforrest7936 or how about a 3D Printed conveyor belt that would move the print as soon as it is done, and maybe like a robot that takes the prints and stacks them all together, like a miniature assembly line
@@faridwakim next Henry Fordnite
Man you are such an honest genius.
You make things go forward for the makers community and the Futur.
With all your projects and teaching... You truly deserve the 3dprinting ambassador award 2020
Thank you for existing.
With some print surfaces, you may want to wait until they cool down before pushing the print off. With Prusa's powder coated sheet, for example. It lets go of the print after cooling down, and I believe there's a risk of damaging the sheet if you forcibly separate them too soon.
Same with ender 6s glass bed
I was literally wondering about this yesterday... Google can definitely read my thoughts.
I tried that a few weeks back.
I was thinking"only thinking" of a tool I needed,, and after a few hours..
Adds began to pop up.i was in my workshop...I wasn't talking to nobody.. but jet the add was precisely the tool I needed..
I was littely in shock. ..well also I bought it. :-)
that's doubleplusgood
If i tried this it would break my printer. My prints stick too well
Let the print cool down first! Mine stick absurdly as well, but after reaching 60°C or less, they come off just by touching it. (ABS 230C-110C)
There should be a "sleep" Gcode command. Use that in your favor...
Print with a little z offset
lol my prints stick so well I can't get them off, then a few prints later they suddenly don't stick at all and then they stick super strong again xd
Ultrabase is a cheat code for this. It holds PETG and PLA like crazy at 80/60C respectively, then lets go below 30. You can blow a Benchy off the bed unless your nozzle height is too low.
Downside being that it's only available as coated glass. So if you don't already have a glass plate in one of the sizes they offer that you can swap out, it's kinda off the radar. Upside is that it's pretty cheap as far as build plates go.
Lucky, mine won’t get the first layer down.
I have thought about this idea for a long time, but I didn't know how I could do it, now I know.
Great video as always!
same
You should use G0 instead of G1
G1 moves the prinhead and extrudes
G0 moves without extruding.
You can also remove the coordinates you don't wanna move:
E. G. Instead of:
G1 X50 Y0 Z5 F500
G1 X50 Y200 Z5 F500
You can just write
G0 X50 Y0 Z5 F500
G0 Y200
”There is some stringing, but that has nothing to do with the actual modification”
Indeed, all his extra commands are using G1. It isn't just "stringing", it is literally extruding. edit: This is false.
@@pontusvarghav4566 That is in reference to the stringing within the cylinders. His new code is actually extruding between each though, it is quite obvious he used G1 instead of G0 with his new additions. edit: G1 and G0 have nothing to do with extruding :facepalm:
If you are using G1 and don’t repeat things you don’t want moving- what happens? Does G1 interpret anything blank as zeros? A few comments down someone says you can omit things you don’t want to move with G1.. so I’m not understanding the reasoning you are recommending the use of G0? Oh maybe I’m confused, you are saying the G0 is to remove the extrusion- and just made your example of omitting non moves G0.. but you COULD still omit with a G1 correct?
The only difference between G0 and G1 is that G1 allows you to set the movement speed and G0 goes as fast as possible. It only extrude if followed by an Exx.xx parameter
This is so cool! I was planning on trying something almost exactly like this, even down to the scraper or plow you described at the end to aid with part removal. It's great to see how easy it can be. The one idea I had that you haven't touched on here is: shimming or mounting the printer so it's tilted towards the front slightly. That way gravity helps clear the parts off the build plate after they've been dislodged. Great video!
I think it's been years since I've commented on a youtube video, but you just keep on innovating with 3D printers. And I wanted to say that you deserve more recognition, I imagine your some sort of engineer, and It really show. Some of these ideas are novel, but it shows that you're capable of great things.
Devin, you are such an innovator. This isn't just fun and smart, but will genuinely change how some people can make their living. WOW man.
me too, this is huge for my wallet
Who's got some g-code wisdom to share? What's your favorite command.. what else can I do??
I always had the same idea to do this. But got limited due to less knowledge on Gcode editing. Anyways you have the most original content brother. Inspired. Keep going . All the best.
Make Anything g1 should be modal, so you can just enter it once and it will be that way until you change it, just like feedrate, so be careful.
There's a long standing bug with Prusa's handling of MMU2 with TPU, where the prints are done at 35% speed, making an already long MMU print go from hours to days.
So setting the speed back in filament settings with
M900 K60; Filament gcode
M220 S100; Abe Speed Fixing
Awesome video!
Have you looked into m23 and m24? It allows you to start an SD print in the gcode, so you can just select and print the next file instead of concatenating them all into one file.
Why you don`t use g23 to repeat the cycle?
Love the idea! I do a lot of repetitive prints myself and have wanted to figure out an automated solution for clearing my bed. I was brainstorming some kind of robot arm that's beyond my engineering abilities, this is simple and only needs the tools I already have. Brilliant!
i tried this once manually ... remotely from work through octoprint. It broke the part of 2mm above the rintplate and shot it across the room. Crealty Ender 3 magnetic base has crazy adhesion.
I have an Ender 3 Pro and I was thinking the same... if I tried this I'm not sure what would break, but I'm sure _something_ would.
@@demoniack81 My LK4 has a similar buildtak surface, and there's no way it would ever release something without a fight... Cura gave one of my first prints a 15mm brim for some reason... I needed a hammer and a chisel to get it off!
I guess you need to let it cool off xD
@@marcosmoura911 yes 😇
Probably better on glass
I like how you’re always pushing the tech. Great build!
Love the vids man. I've been printing for a good couple of years and I learned a lot of tips from ya. And thanks for the Fusion tuts. Great stuff and very inspiring! I do a lot of full cosplay prints and is awesome to finish and paint. Really getting a good hold of making my own designs and learned quite a bit from watching your vids. Thanks!
I would love to see a 3D printing challenge series based on the comments
To improve on this idea you could create a robot that has a microphone to listen to the sounds the printer makes that then sends a bar across the top of the print bed after a sequence of sounds are made by the printer (the sounds could be set in G code). This also means that the part can be pushed further, and it could then land in a box.
@@jameshamstead4709 I think using a servo with an arm attachment would be a nice way to sweep prints off the bed. Although, I understand that this would be limited to open boards that expose the servo controls. Marlin supports the M280 command to set position of the servo. Do proprietary boards like the Creality ones have servo outputs?
@@jameshamstead4709 how about a scraper option for prints with a larger atachment profile?
Man you're a genious! Everytime you come up with original ideas! Incredible
That brush is actually genius. PETG always does that blobbing crap and I have to sit there and manually scrape it off at just the right time lmao
This is pure artistic genius. Love the wire brush move!
Remember kids, to:
G1 X210 Y5 Z20;
G1 X210 Y25 Z19;
G1 X210 Y5 Z18;
G1 X210 Y25 Z17;
G1 X200 Y5 Z17;
every day for beautiful white teeth!
Markus Marrandi LoL
@Al Bundy great comment .. actually did that yesterday to remove shaking of movement ..
That's great! lol
That wire brush would scrap your enamel RIGHT off!
_ David _ 4
Totally new to 3d printing, and really enjoy your videos. Very cool use of G code.
This man is the most influencial guy in the hole makers community!! Thank you Devin!!
I love the hole maker community, they make great holes
i had this idea a long time ago and i think ive commented it on several 3d printer videos but idk when where and anything. but its great to see the idea pop into others head aswell and actually become real :D
The auto nozzle brushing is frickin brilliant. My hats off to you
Just a wonderful idea! You don't know you much you do my life easier with all this g-code modifications! Very cool job :)
I just did the same! At the beginning of the week i started to print a cable chain like that. I have now around 2,5 m long chain. Same idea!
Woah, an endless chain?
Next, do agcode that assembles and installs it into your printer too!
Please share it :)
@@aelooser I wonder if he is still printing
@@superpixelgamer7775 pretty sure
I’ve always thought about this being possible but never knew how to do it. Amazing. Thanks for sharing this.
I’m watching while printing on my anycubic i3 mega I bought based on your recommendation and I love it thank you for this great content 👍
Props man! Fantastic! Just a little creativity and a few knowledge you showed it help a lot!
This is great if you are building something large with multiple small pieces you can just leave it run over night and in the morning you just assembe everything together
I think some kind of snowplow-like attachment on the front of your extruder might help push off smaller pieces
@@H0B0J03 without getting in the way of the print head and current print?
@@cameronmalchow1837 Yup, the plough would start a few mm above the nozzle- its not meant to scoop prints off the bed like a spatula, more of pushing surface to knock parts off without having to rely on directly contacting the extruder bits, giving you a wider area to push with. Like a bumper of sorts.
This is a great idea, thanks for making it simple to understand! I might just try this out.
What a wonderful idea and execution! Kudos for sharing this awesome tip!
You are just the most creative 3D-Printing guy on CZcams!
I use m99 loop to print production parts 24/7 with filament runout detection. make sure to home at end of program and 3x3 abl and you're rocking.
That's badass. The brush idea is genius.
Nicely done tutorial. Love your videos!
Great idea - I think you should you a softer bristle brush though as the wire one may damage the nozzle over time.
Congratulations! Always going one step ahead of current knowledge
I've heard this idea from Sanjay Mortimer in a conversation with Tom Sanladerer when they were talking about tool changing and belt drives if I remember correctly. But you are the first person I see to actually use this techniqe. Well done mate! Oh and just increase the distance between skirt and object to not drag plastic gunk into your prints. Cheers!
This is a great idea! You can get this to work with taller prints (or prints of any size) by replacing the "Move up and back" code at 4:15 with these lines:
G91
G1 Z10
G90
G1 X105 Y195
G1 Z1 F3000
The G92 means relative positioning, which means the G1 Z20 moves 20 mm from /wherever/ you are now. G90 switches back to "normal mode," so that the other commands work the same way you expect. This change means that moving the print-head up works even if your print is bigger than 50 mm (or any size), as long as you have a small gap between the top of the part and the highest z-height available.
thanks for that educational video. am so glad to find ur channel ))
Just found this video. Thank you so much for it. I have an application for shallow parts that may need a scraper like you mentioned.
😂 great job. I have bee doing this with octoprint for the last few months (removing the print from the bed), while at work. Never crossed my mind to do it via gcode, and with multiple repeat models. I have done a range of small to medium prints. With very large surface area used on the bed (some 175mm x 175mm surface area has been the largest).
Now I have an easier way, now I can really print nonstop
Brilliant. I was hoping to add some automation to my new 3D printer. This is just the start I need, thanks.
When I updated Cura, It added in a sweet little piece of gcode where it makes a couple lines of the left side of the bed to make sure it's flowing filament. It's a great little feature they added in.
Thank you for that solution. Very creative!
THIS IS *AWESOME* thank you!
Great video!
Piece of cardboard from a cereal box may work better than a sheet of paper. Could create a trough so they slide into a box.
Very cool! Well done!
that‘s a fantastic idea, great job!
thanks for the video very helpful. coudnt get the beeps to work but the automate code you made worked perfectly for what i needed. I switched the G1 to G0 and didnt need to clean the extruder in between prints. next im trying a G4 code to let it cool a little bit, then ill be designing pieces to scoop them into the trap. wish me luck.
This is cool. Keep up the good work
Oh hey, I've used this method before! I used to print a ton of keyboard keys but my area has frequent power surges (but I couldn't afford a decent UPS at the time). So rather than print a big batch of keys at once, I printed on a squeaky clean glass build plate and waited for the key to cool off. Then a printed "bumper" (attached to the extruder) would bump into the key and knock it off into a cup on my desk.
It was super effective and once I get my printer printing consistently enough for well-fitting keys, I'll be going back to this.
beautiful video just found your channel wondering if i could recycle old prints cant wait for more content!
Thanks for this! I'm going to try it out today.
This is awesome. I have wondered if this was possible in the past!
That was so much fun and educative. Good job 🙂👍
Man, that"s awesome!!! Great work!!!
There's an M-command which tells the machine to rewind the program and restart it. For CNC mills and lathes it's the M31 command I believe. I don't know if it's the same for Marlin 3D printers, but maybe you should try that, it'd be much less hassle as you could just add it in the slicer and the filesizes would be much smaller for even larger production runs.
The real pro tips are in the comments 😉 thanks!
THIS! and add an offset to reach a clean build plate area
@@make.anything thats why this is called a Community we help each other while checking on the loop you should also look into additive offset which allows you to repeat it as many times as you want with a given x y z offset
M31 is the "Print Time" command, in Marlin. Sadly, I cannot find any restart, loop, jump, or conditional branch commands of any sort. The closest is M32, which allows you to run another G-Code file, which could possible be used to start the same file again, but there is a risk of stack overflow, if previous g-code is not aborted when a new file is run. Marlin either does not have all g-codes implemented, or their documentation is incomplete.
Wow this looks really cool technique.
Thanks
Your a genius and your super creative
perfect, look something to improve my work with my 3D Printer and now have found it! You are the best
this is pretty ingenious ♥️
Thanks for showing that, and you just got a new fan.
Adding those commands were so easy, and I am looking forward to play with my Geeetech A20M with builds I have planned to make now. ;)
Thanks again bruh
There's a plugin on octoprint for this I think. No SD Card limitation, the computer loops through the code without storing the whole thing in SD Card.
What is the plug-in called?
It's called "Continuous Print"
I have been doing this for a while but i always had the problem of the objects falling under the print bed
your paper idea solves this
This is perfect for printing Plastic Drag Chain elements or the like.
Excellent video
There's definitely room for optimization, but this is a really cool, simple hack. Thanks for the video!
When i read the title, i knew exactly what you were going to do! But to be honest, i wouldn't ever have come up with the idea otherwise.
Here's a variation on the detachment sequence i can think of on the spot:
; maybe move to the back of the bed here first?
M106 ;set fan to full speed to facilitate cooling
M140 S30 ;set bed cool enough to detach the print, start cooldown
M190 R60 ;cool the nozzle low enough to not mar the print, wait for nozzle to reach temperature
M180 R30 ;actually wait for the bed to get cold
; insert the movement commands to knock down the print here
This is Marlin-specific, not Repetier, and not sure how far back the supported versions go, but anything semi-recent should be OK.
Great suggestions 👍
This is so cool!
This is brilliant. Thanks a lot.
Damn that was awesome man. Great job. U taught me something about the g code. Thanks.
Thats very cool, sir!
Can you make the 3d printer wait until the bed is cooled down before pushing it off?
I print on glass and prints are very hard to remove when the bed is still warm.
I've been doing this by using octoprint and moving the axises manually 😂 it's cool that this then popped up in my recommended so I can save time by automating
Great Idea, i have thought to put an eletric arm to do that but your idea is really better, tks !
Genius, love it!
Great video, you are amazing❤️
Really good video. Am in the process of doing the same on my cr10s. I am using the secondary extruder output on the motherboard to lower a long scraper. At the end of the print the y axis moves as far forward as possible. Then I cool the bed and leave for a few minutes. At this point the e1 stepper lowers a long blade to the bed surface and the y axis moves backwards slowly. In theory this should work as my printer is tuned exceptionally well. I don’t use any printed platform additions or things like glue or tape. Also I have found that even using all of the bed providing it’s cooled right down and also the model is cooled the prints come off with no effort at all.
Awesome stuff!
you can use a piece of silicone sheet to wipe the nozzle instead of the brush as seen on most of the purge buckets on thingiverse
Yo this is really neat! I love it
That's really cool. Always good to see people experiment outside the box like this.
Unfortunately my bed adhesion would break parts off the print head instead regardless of bed temp.
Oh... that brush. It might add a bit of wear/deformation to the nozzle orifice. Just saying. ☺️
Haha yeah I think my printer also would break , my models stick so damn good I need quite a lot force to get it off the bed.
There is indeed a gcode command for looping,
it only works with sd card printing.
M808 L[count of loops/*0* for infinite]
[the gcode you want to loop...]
M808
good job man
My i3 Mega S arrives today! Guess I'm running out for googly eyes.
Nice project
If you get serious with production you could print your own mods. I love this hobby.
very clever. I'll give it a try!
Great idea, this is how fires get started.
I did this for my d&d miniatures. They print much better one at a time.
That is super cool!
Very nice, thank you!
Very very interesting video, thanks
This works really well on a Printer that has a bed that moves up and down. I use this method on the XYZ Davinci and it works. No need for paper I only place a bin and collect the prints.
@Make Anything great video!!! Have you tried sticking a mount where the googly eyes stickers are to push the 3D parts further out on the paper?