
The addMachineExtruders function assumes that this is a new printer (first time the printer is activated since a restart of Cura) and it needs to add the extruder stacks to it. However most of the time when we're switching, it's not to a new printer. If it's not a new printer, this function would get called anyway and we'd be adding the extruders multiple times. This then does a lot of unnecessary work and eventually fails a couple of calls deep. This change prevents it from adding the extruders if there are already extruders associated with the printer, thus preventing this unnecessary work (switch is faster) and preventing the error from happening. Discovered during work on CURA-7501.
Cura
Ultimaker Cura is a state-of-the-art slicer application to prepare your 3D models for printing with a 3D printer. With hundreds of settings and hundreds of community-managed print profiles, Ultimaker Cura is sure to lead your next project to a success.
Logging Issues
For crashes and similar issues, please attach the following information:
- (On Windows) The log as produced by dxdiag (start -> run -> dxdiag -> save output)
- The Cura GUI log file, located at
%APPDATA%\cura\<Cura version>\cura.log
(Windows), or usuallyC:\Users\\<your username>\AppData\Roaming\cura\<Cura version>\cura.log
$USER/Library/Application Support/cura/<Cura version>/cura.log
(OSX)$USER/.local/share/cura/<Cura version>/cura.log
(Ubuntu/Linux)
If the Cura user interface still starts, you can also reach this directory from the application menu in Help -> Show settings folder
For additional support, you could also ask in the #cura channel on FreeNode IRC. For help with development, there is also the #cura-dev channel.
Dependencies
- Uranium Cura is built on top of the Uranium framework.
- CuraEngine This will be needed at runtime to perform the actual slicing.
- fdm_materials Required to load a printer that has swappable material profiles.
- PySerial Only required for USB printing support.
- python-zeroconf Only required to detect mDNS-enabled printers.
Build scripts
Please checkout cura-build for detailed building instructions.
Running from Source
Please check our Wiki page for details about running Cura from source.
Plugins
Please check our Wiki page for details about creating and using plugins.
Supported printers
Please check our Wiki page for guidelines about adding support for new machines.
Configuring Cura
Please check out Wiki page about configuration options for developers.
Translating Cura
Please check out Wiki page about how to translate Cura into other languages.
License
Cura is released under the terms of the LGPLv3 or higher. A copy of this license should be included with the software.