Cura
Cura copied to clipboard
BCN3D Printer Definitions
This adds basic support for BCN3D Printers:
- Epsilon W50 and W27
- Sigma (R17), R19, and D25
- Sigmax (R17), and R19
These are modified from the definitions published by BCN3D themselves in their custom version of Cura which is LGPL. They have been modified to work with modern Cura (instead of v3.something), adjusted for consistency, fixed tons of problems, and removed many hackish things. They still support IDEX printing modes (although not with a tool, just a regular print setting, which has also been simplified).
The main goal was to be able to use modern Cura with the BCN3D's printers. Only features that cannot be done through marketplace plugins are included. Also, only adding files (except for setting visibilities) and not modifying any of the core of Cura.
Overall this includes:
- The printer and extruder definitions along with the meshes
- The variant and quality profiles
- Modified setting visibilities to include the IDEX print mode
- A plugin that helps keep the IDEX print mode consistent with the enabled print cores (this could be removed but would result in some confusion if the user switches the IDEX print mode to duplication or mirror and then thinks they can still use both cores)
This does not include:
- 4 generic materials (BVOH 2.85, PAHT CF15, CF 15, and PP GF30) - these will be either submitted to the FDM materials repo or made into a marketplace material plugin
- BCN3D brand materials - these will be made into a material plugin and submitted to the marketplace
- Automatic shifting of models on the build plate when switching to mirror/duplication mode - could be added to the included IdexPrintMode plugin in the future
- Displaying the "ghost" of objects that are duplicated or mirrored - don't know if this can actually be done in a plugin, but if it can be then it can be added to the included IdexPrintMode plugin in the future
- Connecting to BCN3D's cloud service - could be submitted as a marketplace plugin in the future
Thanks for the feedback. As I said this stuff was a mess and I fixed some of it, thanks for finding tons of other things (like completely unused settings! and runabout changing of settings!).
I remember that there was also a visualization thing going on if you add an index printer. Was that intentionally left out?
Yes. Their method of performing this was fairly hacky and I haven't had the time to get it cleaned out and work with the newer Cura. I felt getting it functional was more important than a visual. I do plan to work on that in the future.
The file meshes are too big. We only accept meshes below 1mb
Will fix.
For the meshes, can they be 3MF instead of STL? That would probably fix their size already.
I have updated all of your suggested changes and more. I have consolidated many additional settings that had the same value in multiple places. I also removed many of the custom settings you pointed out and cleaned up the few remaining ones.
Removed since these are not used (i.e. read) anywhere in the Stratos code:
clone_cool_fan/clone_cool_fan_gcode- the GCODE command for it also is inaccurateavoid_grinding_filament/retraction_count_max_avoid_grinding_filament- default false, set to false in a few places, never trueretraction_hop_after_prime_towerretraction_hop_height_at_layer_change- default 2, set to 2 * layer_height for printers, 0.3 in a few qualitieshop_at_layer_change- set to false in most places, but true in a few places BCN3D brand qualitiesprime_tower_closest_to- set to top-right for Epsilon, top for Sigmasmart_purge- default false, set to true in a few BCN3D brand qualitiessmart_purge_enable_gcode- either puts a empty string or a GCODE comment (just';')smart_purge_maximum_purge_distance/smart_purge_minimum_purge_distance/smart_purge_slope- set in several BCN3D brand qualities to a number timesretraction_amount_multipliersmart_purge_slope_gcode- just dividessmart_purge_slopeby 60- smart purge seems to be a feature-in-progress to be added and very incomplete
purge_in_bucket_enable_gcode- either puts a empty string or a GCODE comment (just';')
I also removed
retraction_amount_multiplier- used in several BCN3D branded material qualities, default 1, never set to anything besides 1, never enabled, could be just set to 1 everywhere it is used- looks to be used only for
coasting_volumeandretraction_amount(after removingsmart_purge)
- looks to be used only for
prime_tower_enable override- just set to False if BVOH, but all qualities already had that
machine_nozzle_type converted to machine_nozzle_id
material_type removed from qualities, code works without those
I also updated the meshes to be 3MF files and they do load and are smaller than 1 MB each. However, they are now rotated 90 degrees from what they should be. So I still need to fix that.
Can you sync your fork, with our main. We have added a printer-linter tool for our printer definitions and profiles. This should help us with processing our PR's. It performs some standard diagnostic checks and apply auto-formatting on the changed files in this PR, but you can also run it locally. See https://github.com/Ultimaker/Cura/tree/main/printer-linter
If it finds issues for which it knows a fix it should post a comment with that suggested fix such that you can easily commit that fix if you're okay with it. But please use commonsense with the suggestions because the tool is still in the early stages of development .