Use height range modifier for specific parameters
 

Use height range modifier for specific parameters  

  RSS
stefan.reichelt.maker
(@stefan-reichelt-maker)
New Member

Hello,

I am just about to optimize my filament settings. Now I would like to use a heat tower model and change certain parameters over the height. For example the retraction length. Unfortunately I cannot find an option for that. 

I tried the following things:

1. Right click on model -> Height range modifier
       - here I cannot find optons/parameters from the filament settings

2. Printer settings, a script in the "Before Layer Change Code"
       - unfortunately this writes the parameters only in the G-Code, but the parameter must be processed in the slicer already

{if layer_z <= 8}[filament_retract_length]=1
{elsif layer_z <= 14.5}[filament_retract_length]=2
{elsif layer_z <= 21}[filament_retract_length]=3
{endif}

Is there any possibility to use the software with scripting like I would like to?

Stefan

Posted : 31/03/2020 12:25 pm
Neophyl
(@neophyl)
Noble Member

I'll link you to Bobs site http://projects.ttlexceeded.com/3dprinting_prusaslicer_gcode.html   have a read through as theres lots of good stuff on there.  

 but you will need to substitute the retraction place holder (if its available as a placeholder).  I think its retract_length[0] with 0 being the extruder reference number is available too so you might want to try that instead of the filament one.  I'm not sure on the exact formatting but I do know if its not exact then it wont parse correctly.  You could try

(filament_retract_length,1)

or (retract_length[0],1)

but you might need to ask on github for the correct format of the string.

 
Posted : 31/03/2020 1:08 pm
stefan.reichelt.maker
(@stefan-reichelt-maker)
New Member

Hey Neophil,

thanks for this good summary-link.

I think this is not possible, because in this dialog i can only add certain attributes to the G-Code after the Code was generates already. 

Here some example from my G-Code:

G1 X172.115 Y154.757 E58.01043
G1 E52.01043 F1500.00000
G92 E0
G1 X172.440 Y154.816 F4500.000
G1 X148.943 Y175.237
G1 X148.943 Y175.558
G1 E6.00000 F1500.00000
G1 F900.000
G1 X148.943 Y169.526 E6.38708
G1 X148.173 Y169.594 F4500.000
G1 F900.000
G1 X145.934 Y170.460 E6.49035
G1 X143.695 Y171.325 E6.58689
G1 X142.890 Y171.612 E6.61889
G1 X138.678 Y172.996 E6.78487
G1 X137.983 Y173.204 E6.81200
G1 X133.568 Y174.399 E6.98311
G1 X133.000 Y174.537 E7.00497

In my settings, the retraction distance is 6mm, you can also find this in the Code. Then the slicer always adds some mm of filament (Ex.xx), which is an abolute value. So if i change the retraction to 4mm for example, then I would need to change all the E-Values (-2mm). So thats why i guess, the retractions needs to be set before the slicing process already.

Posted : 31/03/2020 1:24 pm
Neophyl
(@neophyl)
Noble Member

@stefan-reichelt-maker

yeah I see the issue.  If your printer supports firmware retraction though you *may* still be able to do it.  If you can make slicer issue the firmware retraction command (G10)= retract instead of putting in explicit values AND if your printers firmware supports it then you could use the conditional logic to issue M207 (M207 [F<feedrate>] Retract feedrate (units/min)[S<length>] [W<length>] [Z<length>]) which would update your firmware retraction settings and then each use of G10 would use the new value.

Lots of If's in that I know.  I still think your best bet is to ask over on github.

Posted : 31/03/2020 1:46 pm
bobstro
(@bobstro)
Illustrious Member

The easiest way I found to do batch retraction tests was to kludge together a "multi-extruder" printer profile with multiple extruders defined. 

After setting multiple extruders (I set 9) you can define separate retraction settings for each one:

After that, you have to select filament for each "virtual extruder" separately.

 

I used this procedure to define 9 sets of retraction settings in one print. I set the parts far enough apart to print individually (Print Settings->Output options->Sequential printing->Complete individual objects). It's clunky, but it works.

Unfortunately, sequential printing limits your heights. I don't think you can use multiple extruders for a single height (or perhaps you can) so doing this on a tower might require a combination of custom layer change gcode along with multiple virtual extruders. Have not tried this myself.

This post was modified 4 months ago by bobstro
My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 31/03/2020 3:39 pm
stefan.reichelt.maker
(@stefan-reichelt-maker)
New Member

Oh, that looks good. I will try that later. Its just a bit confusing, that there are 2 different options to change the retract-parameters

1. in the extruder

2. in the filament overrides

I guess, Slicer will first take the values of the extruder and if there is set an filament override, then it uses the override-value?!

Posted : 31/03/2020 4:26 pm
bobstro
(@bobstro)
Illustrious Member

If you leave the filament overrides, only the settings in the extruder settings apply. For this test, leave the filament settings blank or you'll get the same settings for every part!

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 31/03/2020 11:59 pm
millemem
(@millemem)
New Member

@bobstro thanks for the instructions! I'm trying to follow them using the most recent prusaslicer release (2.3) and I'm getting this error: "The Wipe Tower is currently not supported for multimaterial sequential prints."

I've changed the purge volume to 0 mm for every tool change but I can't figure out how to disable the purge block. Do you have any suggestions?

 

Posted : 11/07/2020 5:42 am
bobstro
(@bobstro)
Illustrious Member
Posted by: @millemem

@bobstro thanks for the instructions! I'm trying to follow them using the most recent prusaslicer release (2.3) and I'm getting this error: "The Wipe Tower is currently not supported for multimaterial sequential prints."

Are you using a MMU? I am not, so can't really help there. I don't think this approach will work with a MMU attached since it is seen as multiple nozzles already.

 

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 11/07/2020 8:46 pm
Share:

Please Login or Register