Custom filament in OrcaSlicer
I started using OrcaSlicer recently, so I still have some configurations pending to do. One of them was adding some custom filaments.
The process should be straightforward. Go to “Add/Remove filament” and set the properties there. The issue came when the settings for my printer in OrcaSlicer didn't specify that it could print some filaments. In my case, the Ender-3 V2 was not set up to print TPU.
After following this discussion in Github, I managed to find where the settings are stored in a MacOS computer:
~/Library/Application Support/OrcaSlicer/system/Creality
Inside that folder, we have 3 more folders:
– filament: where the filaments and their properties are defined
– machine: the definition of all supported Creality printer models
– process: the profiles
To enable TPU support for my printer, I had to make the following changes:
Add printer compatibility to the filament
Modify file filament/Creality Generic TPU.json and add the printer inside the compatible_printers key:
{
"type": "filament",
"filament_id": "GFU99",
"setting_id": "GFSA04",
"name": "Creality Generic TPU",
"from": "system",
"instantiation": "true",
"inherits": "fdm_filament_tpu",
"filament_max_volumetric_speed": [
"3.2"
],
"compatible_printers": [
...
"Creality Ender-3 V2 0.4 nozzle"
]
}
The name of the printer needs to match with the printer that was chosen in OrcaSlicer.
Add filament support to the printer
Modify file machine/Creality Ender-2 V2.json and add the filament inside the default_materials key:
{
"type": "machine_model",
"name": "Creality Ender-3 V2",
"model_id": "Creality_Ender_3_V2",
"nozzle_diameter": "0.4",
"machine_tech": "FFF",
"family": "Creality",
"bed_model": "creality_ender3v2_buildplate_model.stl",
"bed_texture": "creality_ender3v2_buildplate_texture.png",
"hotend_model": "",
"default_materials": "Creality Generic PLA;Creality Generic PETG;Creality Generic ABS;Creality Generic TPU"
}
Notice that I added the “Creality Generic TPU” in the file for the Ender-3 V2, not the file that includes “0.4 nozzle”. That's because the version of the file with “0.4 nozzle” inherits from the base file.
Now, after doing this, I restarted OrcaSlicer, and it didn't work 🥲
How to make it work
Turns out that OrcaSlicer is not using the files in that folder to retrieve the configuration, so I had to modify directly the OrcaSlicer.app file (the application that's stored in /Applications):
/Applications/OrcaSlicer.app/Contents/Resources/profiles/Creality
That folder has the same structure as the previous one. I had to modify the same two files, but in this last folder inside OrcaSlicer.app. I restarted OrcaSlicer, and it worked!
Now that the generic TPU appeared on the UI, I could create a custom TPU filament using the “Creality Generic TPU” as preset, and all done! The new filament was stored here: ~/Library/Application Support/OrcaSlicer/user/default/filament/base
The issue I see is that the next time I update OrcaSlicer the changes will be lost. The custom filament should still be there, but the TPU support will probably be gone.
So here it is, a little tutorial for next time! 😄