Jump to content
Ultimaker Community of 3D Printing Experts
Skynet Prints

CURA 3.2.1 is MELTING my prints

Recommended Posts

I like to print my objects 1 at a time,

I also set a hotter first layer temp.

 

Unfortunately CURA waits for bed to warm up with the print nozzle resting where it finished (ON TOP OF MY PRINT) = melted defect into print.

 

Is there a fix for this?

Ive gone through the settings but cant see anything that will help.

The print head just needs to move 5 or 10mm up the z axis and wait, OR go wait where the next print starts.

Share this post


Link to post
Share on other sites

Hi Klein,

Thanks for your reply :)

 

I have a Creality CR-10

I run CURA 3.2.1 on windows 7, which i use to create a Gcode file.

Then upload to my printer running off of a Raspberry Pi 3, with Octopi OS (Octoprint).

 

I have already brought the issue up on the Octopi forums, they say its a Gcode/slicer issue.

Share this post


Link to post
Share on other sites

Yes, CR-10 is in the list of printers and everything else has been working well with CURA.

 

Unfortunately I dont know any programming/gcode.

As "print sequence" and "initial layer temp" are built in options, CURA really needs to automatically adapt when both options are selected. Surely i cant be the only one using a different initial layer temp and printing one at a time?

 

If you know the gcode to tell printer to move up x axis 10mm between prints? that would be AWESOME

Edited by Skynet Prints

Share this post


Link to post
Share on other sites
5 hours ago, Skynet Prints said:

Unfortunately I dont know any programming/gcode.

 

It's not hard.  Don't be scared.  For example G0 Z20  means move the Z axis such that nozzle is 20mm above the plate.

 

It's not complicated.

 

Share this post


Link to post
Share on other sites
3 minutes ago, smartavionics said:

Just submitted a fix

 

Champion thats awesome!

 

Is there a part of your code i can manually put into my gcode for now? which part and where?

 

Thanks

 

 gcode.writeFanCommand(0);
     gcode.setZ(max_object_height + 5000);
 
+    CommandSocket::setSendCurrentPosition(gcode.getPositionXY());
+    gcode.writeTravel(gcode.getPositionXY(), storage.meshgroup->getExtruderTrain(gcode.getExtruderNr())->getSettingInMillimetersPerSecond("speed_travel"));
+    Point start_pos(storage.model_min.x, storage.model_min.y);
+    gcode.writeTravel(start_pos, storage.meshgroup->getExtruderTrain(gcode.getExtruderNr())->getSettingInMillimetersPerSecond("speed_travel"));
+
     if (storage.getSettingBoolean("machine_heated_bed") && storage.getSettingInDegreeCelsius("material_bed_temperature_layer_0") != 0)
     {
         constexpr bool wait = true;
         gcode.writeBedTemperatureCommand(storage.getSettingInDegreeCelsius("material_bed_temperature_layer_0"), wait);
     }
-
-    CommandSocket::setSendCurrentPosition(gcode.getPositionXY());
-    gcode.writeTravel(gcode.getPositionXY(), storage.meshgroup->getExtruderTrain(gcode.getExtruderNr())->getSettingInMillimetersPerSecond("speed_travel"));
-    Point start_pos(storage.model_min.x, storage.model_min.y);
-    gcode.writeTravel(start_pos, storage.meshgroup->getExtruderTrain(gcode.getExtruderNr())->getSettingInMillimetersPerSecond("speed_travel"));
 }
     
 void FffGcodeWriter::processRaft(const SliceDataStorage& storage)

 

Share this post


Link to post
Share on other sites
5 hours ago, gr5 said:

It's not complicated.

 

Smartavionics code looks intense...

 

5 hours ago, gr5 said:

For example G0 Z20  means move the Z axis such that nozzle is 20mm above the plate.

 

Ok so if i put :G0 Z20 manually into my gcode, where does it go?

I assume i need to put it before each new object

Share this post


Link to post
Share on other sites

smart avionics code is intense.  That's python.  Not gcode.  That's for programmers.  If you aren't a programmer you can safely ignore that.

 

Well I strongly don't recommend you put G0 Z20 at the end of your gcode because if your part is taller than 20mm it will probably smash into your part.  I'm just trying to explain that gcodes aren't all that complicated.  You can look at the very limited set of gcodes used in your past prints - there's maybe 10 of them.  roughly.  then you can look each one up to see what it does here:

http://reprap.org/wiki/G_code

 

That above link has hundreds of gcodes but you only need to lookup a few.

 

If you just look at the first 20 or so gcodes in one of your gcode files and then look at the last 10 or so.  That's mostly all you need to look at and all you need to learn.

 

Some of them modify fans, some set the temperature, and of course some of them move the (at least) 4 steppers.

 

In particular pay attention to the G92 and how it's used.

 

 

  • Like 1

Share this post


Link to post
Share on other sites
Quote

Is there a part of your code i can manually put into my gcode for now? which part and where?

 

Not unless you can rebuild the C++ part of Cura. The change is trivial, I just moved a little bit of code to change the sequencing so it now does the move before the heating of the bed.

 

BTW, I notice that the code doesn't do the right thing when the nozzle temp is different for the first layer and you are using one at a time printing. It fails to change the nozzle temp before outputting the first layer of the second (and other) prints which could have an effect on adhesion? I am not going to attempt to fix that, just pointing it out.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!