This is full control.
No half control here.
Let's go.
This episode is sponsored by sunlu
You might have heard of full control gcode, it's been covered before by at least one other
creator - but - and this is a big but, there's new things to talk about, and not small ones.
Full control used to be and still is an excel based worksheet that generated output using
macros and was quite foreboding, let's have a look at it.
I think I tried to use this about a year but struggled.
I didn't really put the time into learning it, so I never got anywhere.
There's some samples, and I don't want to delve too far into this because
this is not the full control I want to look at today.
But before we poke at that, there's that other full control, the one that's been all over
youtube shorts for a year.
Remember this ball on a stick?
It came from the fullcontrol.xyz website.
Maybe you saw this - or this.
The full control website is an easy way to experience the power of full control without
having to understand how to use it, and most of the models are parametric so you can play
around and customise the output.
So - what makes full control different to....well....let's go even simpler.
Normally the FDM process starts with a model that came from a CAD or another modelling
program, and it's made of some kind of geometry, usually triangles, and it's usually in stl
format.
To get a printer to turn that into a physical product we have to slice it, or that's what
we've come to call the process of converting a geometric model into a series of movements
that happen in distinct layers on the printer.
We should call them slices, not layers, really.
Consistency, not a thing..
Slicers are quite consistent in the way they work, they are often called 2.5D as a result.
But more than that, slicers follow a very specific set of rules to interpret what you
put in.
Full control..doesn't do that at all.
Full control does not interpret CAD objects, so far as I know.
It's hard to find an analogy, but full control works at a much lower level than any slicer.
Since it's hard to explain, let's look at some examples.
Here is the model I made for the review I just released that you might have watched,
most of you didn't, I can see that in the stats, don't worry, I'm not offended.
Take a look at how it's operating.
A slicer would..usually want to do a nice neat reliable job of this by cutting it into
paths, that are known to work.
Full control G-code though, doesn't want anything.
It does what you tell it.
And in this case if we poked at the code, we would see that we're telling it to just
eject a blob of filament and then move a bit, and eject another.
In fact, without getting too deep yet, I can tell you it's using loops and maths because
this is a design that repeats every layer and it repeats around a circle.
You should not be scared of programming in full control.
You might have some programming knowledge or some python knowledge but it's actually
approachable to almost anyone in fact.
This is the part where we start looking at full control the python library.
This is fairly new, although I suspect it might have been around a year now because
I have a distorted view of the passage of time, but it's still fairly new and you may
not have seen it at all and I think a lot of people are hiding behind furniture because
scary python but no - we can do this.
As it says itself, minimal python knowledge is required.
Which is great, because that's exactly how much we bring to the table.
The author of full control has given us a lot of help to make this approachable and
above all else he's set up the website and tutorials and the whole thing in fact so that
you never have to actually worry about installing python on your computer.
This helps a lot because having to work out how to do that if you're not a python coder,
well, people just yell venv at you.
I don't think anyone knows what venv means.
It's latin. (I came, I saw, I virtualised lol)
Anyway.
I've lost my train of thought.
Let's look at some code.
This is the simplest demo there is, this is called fast demo, and it's broken down and
explained so it looks longer than it would be as raw python.
The first thing here is just python stuff - importing the library, you can just ignore
that.
This next section is easier to understand if you've used python, but it is just creating
a list in an array called steps and slowly building up, It's just doing this..
I'll give you a minute to read that.
You can and should click in the corner to run these sequentially.
You get a plot of what will be printed if you run this code.
If you click and drag to turn it a bit you can probably make out that it's two layers
on top of each other.
Cross checking the code, yeah, thats what it's doing, the z axis goes from .2 to .4
- none of this is very tricky to understand, this is kind of like a slicer preview.
The next section is like your start and end gcode, but actually easier.
You're setting up your printer.
Most printers will work if you set them as an ender 3, but discussing that is beyond
the scope of the video, at your own risk you should just use the printer closest
to the one you have, and it looks like even bambulab printers are supported.
The last line is to turn this into gcode.
On these notebook thingies it just seems to save it to a file, although not in this example
just to make me look like a fool.
Whatever.
Shh!
;)
That's all there is to it.
If I print that, it does exactly what we expect.
Congratulations, I guess, you now understand full control gcode.
What's beyond this is limited by your willingness to learn a bit more python and your imagination.
And time.
I guess.
Let's talk about the sponsor of this video, sunlu.
Sunlu makes filament as you probably know, but what you may not know is that I use, and
have used, sunlu pretty much right back to the time I started 3d printing.
Here's a video I made in 2021 and brace yourselves, this is pretty terrible, cringe in 3...2...
[epic cringe clip with unusual level of mouth noises]
[ewwww]
So there you go.
In my opinion which hasn't hugely changed, if I'm buying filament myself then sunlu hits
that spot between price and quality that makes it really good value for money especially
if you take up one of their deals, speaking of, they have asked me to tell you about their
black friday promotions which I will link below, I know filament might seem like a mundane
thing to buy on black friday but there is money to be saved if you do and that money
could be spent on a new printer later, so check out the links for that below and I will
update those links if you're watching this after black friday to make sure they continue
to point the right places.
Sunlu also makes resin, here's some I have and haven't used yet because I haven't got
my act together, they actually do some interesting colours of this stuff and it's available in
water soluble and non water soluble.
The latest thing they have sent me though is this anti string PLA and while I haven't
really been able to really put it through its paces yet to see how anti string it is,
after all professionals like me just don't get stringing... (show really stringy model)
...It is a really nice PLA, this has a sort of matt finish and the colour is really good.
So thank you Sunlu for sponsoring this video and make sure you go and check them out.
So, I don't want this to turn out to be a tutorial but I'll show you something.
Let's make a square vase so we don't have to do any circle stuff, and I want the vase
to get wider until halfway up, then go in a bit.
We start with the design template so we don't have to do all the boring setup.
I'm going to make it a chunky vase because we absolutely can on a .4 nozzle so let's
do 1mm wide lines and .4mm tall, we'll do 30 total layers.
You can even see here that there's most of the code to do this, with some minor adjustment...
We can plot just that and see how far we are, we need a lot more layers, and perhaps a thinner
vase and it doesn't go out then back in.
now it does.
All I've done here is increment some variables and change the coordinates to include them.
Granted our vase has no base but who on earth wants functional vases anyway?
There are obviously a lot more functions you can use in fullcontrol above and beyond adding
points and joining the dots, but its very much up to you how much of that you want to
get into.
You could go a long way without it.
You can make stuff like this.
Now my next logical thought was "I should try to make something" but I thought, no,
let's go one better, because I hate having to do trigonometry.
Let's try to get AI to make something.
This model you see here, was entirely programmed by chatGPT.
Admittedly I had to put some effort into describing what I wanted, meaning that I wanted the output
to be a list of point objects with defined parameters and I didn't really know what I
was asking so it was kind of hilarious but we got there, and we got this.
Of course, once the AI knew what I was asking for, I could ask for extra stuff.
This is kinda nice.
Of course there's no guarantee, and this is the caveat, there's no guarantee that the
output from full control will print.
That's totally a thing with slicers too, but with full control the gourd rails are off.
Yes, gourd rails.
stops you falling off and getting squashed.
Squashed!
Er, the print.
Here it is.
...so I had to edit it a fair bit.
You can go a long way with better cooling and this is why I am using the sovol sv07
plus for the bulk of this video, with its huge fan blasting thing on the back, you will
find that if you start stretching full control in terms of line heights, speeds, or hilariously
the blob example I used in the CR10 video, sometimes no amount of cooling would help
so again it's something you have to consider.
In terms of the AI generated code, I only told it to give me points, there are a lot
more functions in fullcontrol, defining points is kind of like pegs and strings which admittedly
is how gcode works, but you aren't leveraging any of the really clever stuff.
So Given we have slicers, what's it for?
Why do we need full control gcode?
Well, mostly for things slicers can't do - if that doesn't sound like too obvious an answer,
but it's true.
Slicers are powerful but fairly stubborn in the way they work and that's something I'm
all too aware of when I'm trying to create examples or test out things in 3d printing,
you have to kind of prod the slicer to do what you want and it's literally often the
case that if you're doing any kind of research or testing around FDM you end up designing
for the slicer.
Obviously that is not ideal - and that's the gap that it seems to me that full control
fills.
Let's take an example - a flow test.
If you want to gradually increase your flow rate until the extruder can't, then full control
is the ideal environment to program that in.
Want to do some non planar stuff?
Full control doesn't restrict you to staying on one layer.
I've really just touched the surface, if even that.
I hope this has given some insight into what is going on behind these demos you've been
seeing, and maybe you might even try it and make something cool.