Commenting here to help the next guy:
Plugins are under 'Marketplace' and you are looking for 'Linear Advance Settings'
Commenting here to help the next guy:
Plugins are under 'Marketplace' and you are looking for 'Linear Advance Settings'
Then you can set {material_linear_advance_factor} from the right side panel in Cura.
To use it you will have to add a line like 'M900 K{material_linear_advance_factor}' to your start g-code.
I follow that line with 'M900 W{line_width} H{layer_height} D{material_diameter}' like it says in the readme:
https://github.com/fieldofview/LinearAdvanceSettingPlugin
I don't think this works with adaptive layer heights, not perfectly anyway. I think we would have to include 'M900 W{line_width} H{layer_height} D{material_diameter}' at each layer, or each layer that is different from the last. If we wanted to adjust the Linear advance perfectly for different layers in prints sliced with adaptive layers enabled. If someone wants to test this, it could be hacked tother with a search/replace in the g-code post processor.
10 hours ago, drewoprea said:Commenting here to help the next guy:
Plugins are under 'Marketplace' and you are looking for 'Linear Advance Settings'
Then you can set {material_linear_advance_factor} from the right side panel in Cura.
To use it you will have to add a line like 'M900 K{material_linear_advance_factor}' to your start g-code.
I follow that line with 'M900 W{line_width} H{layer_height} D{material_diameter}' like it says in the readme:
https://github.com/fieldofview/LinearAdvanceSettingPlugin
I don't think this works with adaptive layer heights, not perfectly anyway. I think we would have to include 'M900 W{line_width} H{layer_height} D{material_diameter}' at each layer, or each layer that is different from the last. If we wanted to adjust the Linear advance perfectly for different layers in prints sliced with adaptive layers enabled. If someone wants to test this, it could be hacked tother with a search/replace in the g-code post processor.
This will be handy!
11 hours ago, drewoprea said:To use it you will have to add a line like 'M900 K{material_linear_advance_factor}' to your start g-code.
In the current version of the plugin, this line is automatically added if it is not in the start g-code.
I don't know if the second line is required or not. If it is, it does seem that this would be an issue with adaptive layer height. I admit I have never used to plugin beyond testing (or adaptive layer height for that matter).
I think the plugin could also be improved for multiple extrusion; currently there is one "global" linear advance constant, but since its value is material dependent I would say that it should be possible to set this per extruder, and the M900 lines should actually (also) be in the extruder start gcode.
PS: in case you had not put 1 and 1 together, I'm the author of the Linear Advance Setting plugin.
Edited by ahoebenOn 12/12/2018 at 8:52 AM, ahoeben said:
In the current version of the plugin, this line is automatically added if it is not in the start g-code.
I don't know if the second line is required or not. If it is, it does seem that this would be an issue with adaptive layer height. I admit I have never used to plugin beyond testing (or adaptive layer height for that matter).
I think the plugin could also be improved for multiple extrusion; currently there is one "global" linear advance constant, but since its value is material dependent I would say that it should be possible to set this per extruder, and the M900 lines should actually (also) be in the extruder start gcode.
PS: in case you had not put 1 and 1 together, I'm the author of the Linear Advance Setting plugin.
Mr Plugin Author, thank you very much for your feedback!
In addition to the K factor, would it be possible to add a line to manually input the ratio (M900 R#), or to use the extrusion width, layer height, and filament diameter from the Cura inputs to add the "M900 K0.7 W0.4 H0.1 D1.75" GCode to set the WH/D [W * H / ((D / 2) ^ 2 * PI)] ratio? Or just to input the values manually?
I don't quite get the request.
You can use this in your start gcode:
M900 K{material_linear_advance_factor} W{line_width} H{layer_height} D{material_diameter}
Type the actual text, with the curly brackets, and the values will be filled in.
On 12/13/2018 at 9:26 AM, ahoeben said:[...] You can use this in your start gcode:
M900 K{material_linear_advance_factor} W{line_width} H{layer_height} D{material_diameter}
Where does one set {material_linear_advance_factor}? I don't see it in the material profiles.
1 minute ago, bobstro said:
Where does one set {material_linear_advance_factor}? I don't see it in the material profiles.
Settings Visibility > Materials > Linear Advance Factor must be enabled, then there's a box in the Profile sidebar for it (under the Materials heading)
I thought I typed that out in my comment above, apparently I skipped it.
32 minutes ago, drewoprea said:
Settings Visibility > Materials > Linear Advance Factor must be enabled, then there's a box in the Profile sidebar for it (under the Materials heading)
I thought I typed that out in my comment above, apparently I skipped it.
Ah, thanks. I had enabled all settings in my preferences prior to installing the plugin, but apparently needed to go back in and re-select the option to show all settings. I'm not sure if this is documented anywhere, but it's worth noting.
Thanks for a great feature.
One of the really interesting features of IdeaMaker is to allow individual material profiles to selectively over-ride system-wide settings. This is great for allowing things like speeds & accerations to be adjusted for filaments using otherwise-similar profiles.
- 2 years later...
I second the request for a different use case..
I have enabled UBL in custom marlin.. I have 2 glass beds and may add pei as well. I can create a separate mesh for each of these saved in EEPROM and select the one according to the print surface I use, being able to send those commands from the profile would be a great way to do that, it would be significantly easier to change a string field in the profile changing the 0 to 1 or 2, than editing the start-code or selecting mesh from the lcd each time..
You can do this with machine settings. Create a second machine with the different gcodes. You have to edit either python or more likely json files. There are quite a few people on here who have created their own machine settings. And most printer sellers have created these machine profiles as well. It's really not hard.
In addition you can make the mesh for your different beds look different so you have a visual reminder of which bed type you are slicing for.
@GregValiant - has done some customization - maybe he can mention where to find your file. What printer are you using?
GregValiant 1,408
Hello
You can add additional instances of your printer in Cura. If the differences in the ABL command can be handled in the StartUp G-Code. "My Printer - PEI" would include the leveling mesh for that build surface in the Startup Gcode. "My Printer -glass 1" would include the leveling mesh for that build surface, etc. Just pick the correct printer instance when you start a project.
There are other workarounds but I've found that method to be the easiest to implement. Each printer instance could have a different sized build plate if that was necessary.
- 2 years later...
I completely agree with the original idea, profile specific start/end gcodes would be a really good thing.
On 10/23/2021 at 5:27 PM, gr5 said:You can do this with machine settings. Create a second machine with the different gcodes. You have to edit either python or more likely json files. There are quite a few people on here who have created their own machine settings. And most printer sellers have created these machine profiles as well. It's really not hard.
In addition you can make the mesh for your different beds look different so you have a visual reminder of which bed type you are slicing for.
@GregValiant - has done some customization - maybe he can mention where to find your file. What printer are you using?
This isn't a solution to me, because I have 6 different type of 3D printers, and the most of them has a few material/profile specific setting, which must be entered by hand every time.
Just an example, I have motion filament sensor, which is uneffective with TPU material, so I must turn it off before I start a print, or it will fail within a minute after start.
GregValiant 1,408
Cura is open source and highly customizable. You can change your installation with a custom plugin or post-processor that might do what you want. I'm pretty sure it wouldn't be easy and I'm positive it wouldn't be cheap. There would still be settings to adjust on a per printer basis.
I doubt very much that the UltiMaker Company is going to pay their people to do this for you.
Cura now has the capability to do some logic in the StartUp gcode.
This is a line from my startup.
{";G1 F" if "TPU" in material_type else "G1 F"}{retraction_retract_speed*60} E28
My printer is a bowden style and If I'm printing TPU I don't want it to retract.
If I'm printing anything other than TPU the line is:
G1 F2400 E28
But if I'm printing TPU the line is commented out:
;G1 F2400 E28
11 hours ago, Daranbalt4 said:I have motion filament sensor, which is uneffective with TPU material, so I must turn it off before I start a print, or it will fail within a minute after start.
As a fan of TPU, I'm curious... why doesn't it work with TPU?
@GregValiant Why don't you just change the retraction settings in the material profile?
GregValiant 1,408
The retraction distance would need to be about 20mm and the prime would need to be really slow. There is a lot of drag and compression within the bowden tube. That's why I only print flat gaskets and other flat models. I've taken to pulling a big loop off the roll (like 4 feet) and wiping it down with mineral oil to get it to feed half way decent. If I don't then it quits feeding after about 20 minutes.
At a print speed of 10mm/sec I have lots of time to tend it.
35 minutes ago, GregValiant said:The retraction distance would need to be about 20mm and the prime would need to be really slow. There is a lot of drag and compression within the bowden tube. That's why I only print flat gaskets and other flat models. I've taken to pulling a big loop off the roll (like 4 feet) and wiping it down with mineral oil to get it to feed half way decent. If I don't then it quits feeding after about 20 minutes.
At a print speed of 10mm/sec I have lots of time to tend it.
It is at this point I realise how grateful I should be that I have a direct drive extruder. I get to print TPU at a whole 20mm/s (I could go faster, but the results aren't as good).
Edited by Slashee_the_CowGregValiant 1,408
Over the years I just haven't needed to print many things in TPU. If I was going to I would certainly get a DD machine. I've never had real issues with the bowden system (for other materials) as long as I trim the bowden back every 50 hours or so. The constant rotation of the bowden tube in the lock fitting on the hot end drives the little knives into the tube and it will develop up to 1mm of slop. That effects the retraction distance (by a lot).
Trying to push TPU 95A through a 14 inch tube is a challenge.
Recommended Posts
ahoeben 2,010
Note that there’s a plugin to get you a setting to solve your linear advance usecase.
Link to post
Share on other sites
Marno 0
Thank you very much for your reply! I will give it a try.
Link to post
Share on other sites