MichaelHerron
Posts: 112
Joined: Mon Mar 16, 2015 2:36 pm

Re: CubePro Compatibility

You're a little ahead of me in your dial-in!

I'm running out of material and haven't gotten my next shipment in yet, but i should have some this week.

For ABS, my track for dial-in is to ENSURE that the M108 value is 1/100th of the movement speed (at .2mm layer height). This will make calculating it on the fly easy. I've been monkeying with the extrusion width and temperatures to make this work, and i MIGHT be there--need to test with a real-world part, however.

Thus far it is:
Nozzle dia: .4
Extrusion Width: .44mm
Temp: 240.

On my calibration cube, i get good solid dimensionally accurate cubes and hole sizes that are .2mm undersized(doesn't seem to scale with hole size).
The top layer is a little underfilled when the cube isn't solid, but increasing the number of solid layers should fix this. (was at 4).

haven't tried real-world prints yet--or dual extruder prints. I look forward to learning as much as i can from YOUR work here! Keep it up and thanks for going thru this with us!
loffler
Posts: 11
Joined: Fri Mar 06, 2015 7:08 am

Re: CubePro Compatibility

The cubify software is so poor that I dont have much choice to get other slicers working and S3D is the best working option ive come accross.
To be fair, the quality of the prints from my cubify software are some of the best ive ever seen, but the poor support generation rules it out for all but the most simple builds.

Ive had OK results with Kisslicer but I dont like its interface. I have actually had Cura working too but not put much time into it. The speeds and layer adjustment dont work too well so far, but I like it as it allows variable speeds. Im happy with S3D so far other than the fixed speeds.

I am using a nozzle size of 0.38 as I had it confirmed by Cubify support than its actually 0.015" = 0.381mm. This gives an auto width of 0.46 and seems to work OK.
I too had thin top layers and changed from 3 to 4. I havent had to go more than 4 so far to get a nice finish.
Other settings ive changed are:
200% first layer height - this gives 0.40 first layer which is the same as the cubify software.
Temp 260 for first layer, 250 other layers
Cooling 100% after 10 layers
printing speed 34mm/s (F2040)
IM getting really good adhesion to the bed with these settings as dont even use glue for my test prints.

For PLA, im using 210 first layer then 200 and 100% cooling after 15 layers
All temps taken directly from decoded cubify builds.

F2400 and above gave me what appeared to be belt jump steps in my models. Only happened in very short movements. Not had any at F2040
At F2040, an M108 of 16 is not enough, 18 still has some underfill and im currently building 20 and will probably try a 22 to go the other side of the 1/100 ratio.
MichaelHerron
Posts: 112
Joined: Mon Mar 16, 2015 2:36 pm

Re: CubePro Compatibility

Loffler: I think I have the issue figured out with the tool-change code. It seems the firmware of the machine doesn't offset the extruders until your first move AFTER the tool change command. Somewhere in your tool-change code, you need to execute a move after the MX02 command to turn on the extruders. I did this in the wipe-bin and it seemed to work. Here's the tool change code:
G1 X108.000 Y157.000 Z[current_Z_position] F5000.0
{IF NEWTOOL=0}M104 S240 P0
{IF NEWTOOL=0}M204 S170
{IF NEWTOOL=1}M204 S210 P0
{IF NEWTOOL=1}M104 S190
{IF NEWTOOL=0}M101
{IF NEWTOOL=1}M201
M103
{IF NEWTOOL=0}M101
{IF NEWTOOL=1}M201
G1 X108 Y145 Z [current_Z_position] F5000
M103


This moves the extruders over the wipe bin and moves them a little while. It only works in when changing from 1 to 2. It still leaves whiskers when going the other way, but its a start. I cant do any more troubleshooting because over the weekend, my extruder nozzle broke off during a large print. :( Hopefully its covered!

Anyway--hope this helps. I've created NEW FFF files that might be of assistance to anyone working on this. It looks like you may need several separate FFF files--one for single material prints out of each extruder, and one for multi-material prints.

I'll post my FFF's - the single material prints appear to be working great.
loffler
Posts: 11
Joined: Fri Mar 06, 2015 7:08 am

Re: CubePro Compatibility

Ah good man. I was just starting to look at this again today.
I have tried both ways of doing dual head prints and am getting the offset on both.
I have tried a single process, build material extruder 1 and support extruder 2. The other way I tried today is 2 differennt processes for 2 different build materials, using the cone as an example.
You can see I get the offset string at each layer change.
I will play with your code and see what I get. If you could share your FFF files, it would help. Currently I have all the code in the starting and ending scripts, nothing in layer or tool change.
Thanks
IMG_20150323_140306 (Large).jpg
MichaelHerron
Posts: 112
Joined: Mon Mar 16, 2015 2:36 pm

Re: CubePro Compatibility

I posted them in the other thread. Your print looks pretty good though! just a few whiskers!

They are posted in the TIP #22 thread.
MichaelHerron
Posts: 112
Joined: Mon Mar 16, 2015 2:36 pm

Re: CubePro Compatibility

O yes. forgot to mention...

The tool change code does a wipe and a cool-down for each extruder during a change.
These are for PLA in extruder 2 and ABS in extruder 1. Please adjust temps in the tool change code to account for different materials.

If you're going to keep both extruders hot, you can do away with all of the warm up/cool down non-sense, but you will still need to do a dummy "move while extruding" just after you change tools--this is when the firmware recognizes that you've actually changed tools, thus wont produce the offset string on your part.
loffler
Posts: 11
Joined: Fri Mar 06, 2015 7:08 am

Re: CubePro Compatibility

Right, here are my findings on the dual extruder offset problem.
MichaelHerron is correct, the firmware uses the last active extruder as the zero point.
So if changing from tool 0 to tool 1, the first coordinate/move point for tool 1 will always be offset and corrected on the second coordinate/move point.
That is also the reason why I was seeing the extruder 1 prime into thin air as previously reported - in the startup code, the last extrude command is for extruder 2. I have fixed this by having both extruders go over the waste bin in startup code - add 30mm onto X. This allows for all scenarios for duals, but is no good for triple extruders as the wiper isnt wide enough.

MichaelHerron, your tool change code sort of works to correct the problem and like you say, it only works one way, not for both directions. I think this is due to still having the TOOL1REPLACE commands in the post processing, wiping out some of what the code is doing. I am not sure if simply removing those post processing lines are the best solution as they are needed for something else, so I changed the IF NEWTOOL lines to something unique and replaced them in post processing. This is to make sure I am only changing what I want and not something else the print relies on.

One thing I did notice was that your keep warm and heat up sequence overwrites the temperature profile temps, so I am running both extruders hot until I figure that out more. I have the first layer temps higher than other layers, but the tool change supercedes this. I tried using the [extruder0_temperature] variables as in the startup tab, but they dont appear to work in the tool change tab.

The other thing ive changed is the amount of time the nozzle extrudes for. I was getting a lot of stringing as the thread would curl up and stick to the barrel and the wiper wouldnt take it off. Ive added a 5 second pause to allow a decent weight/length of string to help break off easier. Its not perfect yet, but pretty good.
Here is my attempt at the tool change code:

G1 X108.000 Y136.000 Z5.2000 F9000.0
G1 X108.000 Y161.000 Z5.2000 F9000.0
{IF NEWTOOL=0}M101REV
{IF NEWTOOL=1}M201REV
G1 X108.000 Y161.000 Z5.2000 F9000.0
G4 P5
M103
G1 X108.000 Y136.000 Z5.2000 F9000.0

You can see I change to M101REV and M201REV. I then have {REPLACE "M101REV" "M101"} and {REPLACE "M201REV" "M201"} in post processing to get what I need. Im not sure its necessary, but didnt want to wipe out anything the TOOL1REPLACE lines were doing.

I cant help thinking this would all be easier if S3D had a prime pillar option like Kisslicer!
loffler
Posts: 11
Joined: Fri Mar 06, 2015 7:08 am

Re: CubePro Compatibility

Just an FYI for anyone who is interested and a bit off topic, but...
I printed a test part out in a non CubePro material today - as in not using a 3Dsystems cartridge.
https://www.youtube.com/watch?v=yutfxWVuTEA

The material was 1.75mm LayWoo D-3 and printed pretty good first time using my standard PLA settings.
I also tried a Nylon but was too large and got jammed.

It still needs an empty cartridge installed but the filament is fed from outside. It doesnt work with no cartridge at all, so its a chip related bug.
The header still uses whatever material code the empty cartridge is, but I changed the material length, layers and total height right down to minimum. I tried using 0 and -1 for most settigns but the print didnt start.

The printer shows that the cartridge is empty and it is as ive opened it to check, so maybe this is possible because the chip info doesnt quite match the real world length or they program extra length onto the chip to cover themselves. It could even be an error in the firmware (1.10) who knows. It could stop working or it could continue working forever.
Its working now though and will report back if it eventually stops. Should at least save a little bit of money and open up new materials for special jobs!
jschneider89
Posts: 12
Joined: Wed Jan 28, 2015 4:24 pm

Re: CubePro Compatibility

It still needs an empty cartridge installed but the filament is fed from outside. It doesnt work with no cartridge at all, so its a chip related bug.
So it will work even if the chip in the cartridge reads '0%'?! If so, that's fantastic!
MichaelHerron
Posts: 112
Joined: Mon Mar 16, 2015 2:36 pm

Re: CubePro Compatibility

After several failed attempts, i believe I've got a dual-extruder print to work on the cube pro!

@loffler got me on the right track, but i still couldn't get it right until now.

The profiles do a huge amount of post processing, but the way tool changes work in the slicer and the way they work in the post-processor are quite different.

Long story short, I've had to insert "REAL G-CODE" tool changes into the tool change script and let the post-processor strip them back out. This way, the {tool1replace} commands in the post processor work properly. The order of operations is also vital. In order for these scripts to work properly, you also need to duplicate my firmware configuration (Tools menu)
The scripts below work great for me with PLA (at 220)and ABS(at 250). Speed (on OTHER tab) should be 2500 mm/min with all underspeeds at 100% since the cube pro's extrusion speed is hard-coded.

If your loaded cartridges are different, you'll have to change the material codes in the Starting G-code tab.
You will need temp controllers for the extruders AND for a heated bed--the heated bed temp is used for the chamber--set it at 40 for ABS or 0 for PLA. (or 40 for either)
Here are the Firmware Configuration Changes:

The first 5 lines (Temperature controls) in the FFF tab should read:
M#04 S$ P1
M404 S$ P1
M#04 S$
M404 S$
M105

The Fan Speed Control lines should be:
M106 P%
M107

My Starting G-Code Script is:

Code: Select all

^Firmware:V1.10
^Minfirmware:V1.00
^DRM:000000000000
^PrinterModel:CUBEPRO
^MaterialCodeE1:214
^MaterialCodeE2:259
^MaterialCodeE3:-1
^MaterialLengthE1: .01
^MaterialLengthE2: .01
^MaterialLengthE3: 0.000
^ModelHeight: 14.700
^LayerCount: 49
^LayerHeight:0.3
^Supports:-1
^Raft:-1
^Sidewalks:-1
^Density:Solid
^Pattern:Lines
^Version:891
^Time: 000
M227 P400 S400 G800 F800
M228 P0 S400
M231 P0 S0
M232 P1200 S1200
M233 P1850
M106 P100
G4 P2
M601 P2 S30 F5
M228 P0 S1
M227 P1 S1 G1000 F1000
M240 S2000
M404 S[bed0_temperature] P1
M204 S[extruder0_temperature] P1
M004 S[extruder0_temperature] P1
G1 X108.000 Y136.000 Z5.1000 F9000.0
G1 X108.000 Y161.000 Z5.1000 F9000.0
G1 X108.000 Y157.000 Z5.1000 F9000.0
M004 S[extruder0_temperature]
G4 P2
M551 P1500 S50
G4 P2
G1 X108.000 Y136.000 Z5.1000 F9000.0
G1 X108.000 Y161.000 Z5.1000 F9000.0
G1 X108.000 Y136.000 Z5.1000 F9000.0
G1 X108.000 Y161.000 Z5.1000 F9000.0
M204 S[extruder1_temperature]
G4 P2
M552 P1500 S50
G4 P2
G1 X108.000 Y136.000 Z5.1000 F9000.0
G1 X108.000 Y161.000 Z5.1000 F9000.0
G1 X108.000 Y136.000 Z5.1000 F9000.0
G1 X108.000 Y161.000 Z5.1000 F9000.0
M004 S[extruder0_temperature]
M104 S[extruder1_temperature]
M601 P2 S30 F5
M107
^InitComplete
M103
^LayerTime: 
M106 P100
#Vector T22
M004 S[extruder0_temperature] P1
M228 P0 S400
M227 P400 S400 G800 F800
M103
M108 S14
My Tool Change G-Code Script is:

Code: Select all

{IF NEWTOOL=0}T0
{IF NEWTOOL=1}T1
G1 X108.000 Y136.000 Z[current_Z_position] F8000.0
G1 X108.000 Y161.000 Z[current_Z_position] F8000.0
{IF NEWTOOL=0}M101REV
{IF NEWTOOL=1}M201REV
G1 X109.000 Y161.000 Z[current_Z_position] F8000.0
G4 P5
M103
G1 X108.000 Y136.000 Z[current_Z_position] F8000.0
G1 X108.000 Y161.000 Z[current_Z_position] F8000.0
and my Post Processing Script is:

Code: Select all

{STRIP ";"}
{STRIP "G90"}
{STRIP "M82"}
{REPLACE "M102" "M103"}
{REPLACE "M104" "M204"}
{REPLACE "M004" "M104"}
{TOOL1REPLACE "M101" "M201"}
{REPLACE "M101REV" "M101"}
{REPLACE "M201REV" "M201"}
{STRIP "T0"}
{STRIP "T1"}
{STRIP "T2"}
{STRIP ";"}
{EXTENSION "bfb"}

Return to “General Discussion and Tips”