Jump to content
Ultimaker Community of 3D Printing Experts
paweleczek

Cura with BFB printers

Recommended Posts

I was able to configure Cura to work with a single extruder ( BFB 3000) .

The problem starts when printing on two extruders .

BFB 3000 using the command :

M104 extruder temperature 1

M204 extruder temperature 2

M101 enable the first extruder

M201 inclusion of a second extruder

M108 RPM setting for the first extruder

M208 RPM setting for the second extruder

Where can I change to Cura generate commands for the second extruder M201 , M208 instead of M101 , M108 ?

 

Share this post


Link to post
Share on other sites

yellowshark, there can not be set because this command M101 / M201 and M108 / M208 are in the code many times:

 


;TYPE:SUPPORT
M108 S445.6
M101
G1 X14.939 Y15.219 Z0.300 F1500.0
G1 X-15.060 Y15.219 Z0.300 F1500.0
G1 X-15.060 Y-14.780 Z0.300 F1500.0
G1 X14.939 Y-14.780 Z0.300 F1500.0
M103
G1 X13.500 Y-14.885 Z0.300 F3000.0
M101
G1 X13.500 Y15.324 Z0.300 F1500.0
M103
G1 X10.500 Y15.324 Z0.300 F3000.0
M101
G1 X10.500 Y-14.885 Z0.300 F1500.0
M103
G1 X7.500 Y-14.885 Z0.300 F3000.0
M101
G1 X7.500 Y15.324 Z0.300 F1500.0
M103
G1 X4.500 Y15.324 Z0.300 F3000.0
M101
G1 X4.500 Y-14.885 Z0.300 F1500.0
M103
G1 X1.500 Y-14.885 Z0.300 F3000.0
M101
G1 X1.500 Y15.324 Z0.300 F1500.0
M103
G1 X-1.500 Y15.324 Z0.300 F3000.0
M101
G1 X-1.500 Y-14.885 Z0.300 F1500.0
M103
G1 X-4.500 Y-14.885 Z0.300 F3000.0

When I type something in addition to preswitchextruder and postswitchextruder Cura does not add this to the code. When I change the code in a file .bfb and I will add the command to change the extruder for the second, further change over all commands M101 , M108 to M201 , M208 - Bfbf 3000 runs on two extruders good. Is it possible to expand Cura to generate a command for the second extruder?

 

Share this post


Link to post
Share on other sites

You can write a plugin that uses a regex to change the gcodes. I've worked with tinyG once, which uses simmilar commands which needed to be ported.

Also, the ultimaker uses G109 for temperature. I believe you can add a T0 or T1 parameter to indicate which head needs to be heated.

 

Share this post


Link to post
Share on other sites
My problem is that I do not get the settings for the first extruder. Always appears error in line ...

What is the Star.Gcode and End.Gcode in CURA that allows printing with an extruder.?

For the start code, I changed it for something that my printer was using:

^Firmware:V1.07

^Checksum: NO

G21

G90

# Select Extruder 1

M104 S{print_temperature} P1

M542

M551 P51 S150.000

M227 P51 S80

M228 P0 S51

M543

Also I have to remove an other line in the file that generate a big clump of plastic before the beginnig of the parts, the line is:

;enable auto-retraction

M227 S11520 P11520

Edited by Guest

Share this post


Link to post
Share on other sites

If you go to Expert > select "Full setting"

go to "Start/End-GCode"

then you have "Preswitch Extruder" and "Post switch Extruder"

The code is to be added, I am going to run a file with my printer slicer and try to see what is supposed to be added.

Edited by Guest

Share this post


Link to post
Share on other sites
If you go to Expert > select "Full setting"

go to "Start/End-GCode"

then you have "Preswitch Extruder" and "Post switch Extruder"

The code is to be added, I am going to run a file with my printer slicer and try to see what is supposed to be added.

But I realized that this option just let us add something before switching, but it does not change every M101 for M201 for the second extruder and every M108 S(extruder speed) need also to be replace by M208 S(Extruder 2 speed)

The M103 stays the same for any extruders, since it mean turn off all extruders

I would need some help for that I can not change the software code by myself.

Share this post


Link to post
Share on other sites

I looked today Cura source , I found something like this:

 

   if (flavor == GCODE_FLAVOR_BFB)   {       //For Bits From Bytes machines, we need to handle this completely differently. As they do not use E values but RPM values.       float fspeed = speed * 60;       float rpm = extrusion_per_mm * speed * 60;       const float mm_per_rpm = 4.0; //All BFB machines have 4mm per RPM extrusion.       rpm /= mm_per_rpm;       if (rpm > 0)       {           if (isRetracted)           {               if (currentSpeed != int(rpm * 10))               {                   //fprintf(f, "; %f e-per-mm %d mm-width %d mm/s\n", extrusion_per_mm, lineWidth, speed);                   //fprintf(f, "M108 S%0.1f\r\n", rpm);                   *output_stream << "M108 S" << std::setprecision(1) << rpm << "\r\n";                   currentSpeed = int(rpm * 10);               }               //Add M101 or M201 to enable the proper extruder.               *output_stream << "M" << int((extruderNr + 1) * 100 + 1) << "\r\n";               isRetracted = false;

 

In the file :

CuraEngine/src/gcodeExport.cpp

Looking at the code Cura has a division at M101 , M201 . Is it possible to add M208 ? I still do not know how to start " preSwitchExtruder.gcode " when I add there a command Cura does not add it to gcode what could be causing this?

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

Terms of Use Privacy Policy