mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-08 22:35:03 -06:00
3D printer / slicing GUI built on top of the Uranium framework
![]() When the time passes normally it doesn't trigger this signal but just go on counting, but when the pre-heat starts or cancels it updates via this signal. This is handy for the future, when we want to update the remaining time from the printer information. However for now it is also nice because we can make the pre-heat timer dependent on this signal so we know when to have it running. This fixes the problem that the pre-heat seems to have been cancelled in the GUI when you switch away the tab, because the timer running is now dependent on the property rather than always false. Contributes to issue CURA-3161. |
||
---|---|---|
cura | ||
docs | ||
icons | ||
plugins | ||
resources | ||
tests | ||
.gitignore | ||
build.sh | ||
CHANGES | ||
CMakeLists.txt | ||
CPackConfig.cmake | ||
cura.appdata.xml | ||
cura.desktop.in | ||
cura.sharedmimeinfo | ||
cura_app.py | ||
installer.nsi | ||
LICENSE | ||
pytest.ini | ||
README.md | ||
run_mypy.py | ||
setup.py |
Cura
This is the new, shiny frontend for Cura. daid/Cura is the old legacy Cura that everyone knows and loves/hates.
We re-worked the whole GUI code at Ultimaker, because the old code started to become a unmaintainable.
Logging Issues
Use this template to report issues. New issues that do not adhere to this template will take us a lot longer to handle and will therefore have a lower pirority.
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
- $User/AppData/Local/cura/cura.log (Windows)
- $User/Library/Application Support/cura (OSX)
- $USER/.local/share/cura (Ubuntu/Linux)
- The Cura Engine log, using Help -> Show Engine Log
Dependencies
- Uranium Cura is built on top of the Uranium framework.
- CuraEngine This will be needed at runtime to perform the actual slicing.
- PySerial Only required for USB printing support.
- python-zeroconf Only required to detect mDNS-enabled printers
Configuring Cura
- Link your CuraEngine backend by inserting the following line in home/.config/cura/config.cfg : [backend] location = /[path_to_the..]/CuraEngine/build/CuraEngine
Build scripts
Please checkout cura-build
Third party plugins
- Print Cost Calculator: Calculates weight and monetary cost of your print.
- Post Processing Plugin: Allows for post-processing scripts to run on g-code.
- Barbarian Plugin: Simple scale tool for imperial to metric.
- X3G Writer: Adds support for exporting X3G files.
- Auto orientation: Calculate the optimal orientation for a model.
- OctoPrint Plugin: Send printjobs directly to OctoPrint and monitor their progress in Cura.
Making profiles for other printers
There are two ways of doing it. You can either use the generator here or you can use this as a template.
- Change the machine ID to something unique
- Change the machine_name to your printer's name
- If you have a 3D model of your platform you can put it in resources/meshes and put its name under platform
- Set your machine's dimensions with machine_width, machine_depth, and machine_height
- If your printer's origin is in the center of the bed, set machine_center_is_zero to true.
- Set your print head dimensions with the machine_head_shape parameters
- Set the nozzle offset with machine_nozzle_offset_x_1 and machine_nozzle_offset_y1
- Set the start and end gcode in machine_start_gcode and machine_end_gcode
- If your printer has a heated bed, set visible to true under material_bed_temperature
Once you are done, put the profile you have made into resources/definitions, or in definitions in your cura profile folder.