111 Commits

Author SHA1 Message Date
Ghostkeeper
c50c223124 Rename variable for code style
The code style specifies using lowercase with underscores.

Contributes to issue CURA-864.
2016-02-23 09:38:51 +01:00
Jaime van Kessel
f66a264901 Added more yield thread to prevent GIL lockdown 2016-02-22 14:59:33 +01:00
Jaime van Kessel
67db4a4778 Merge branch '2.1' of https://github.com/Ultimaker/Cura into 2.1 2016-02-19 15:52:52 +01:00
Jaime van Kessel
31ed8400ef Added a bit of error handling 2016-02-19 15:52:36 +01:00
Ghostkeeper
63a8b96049 Make layer processing abort when starting slice
This involved adding an abort flag to the layer processing job, and making the job check back on that flag periodically. If processing a single layer takes forever then it will never stop the job at all, so it assumes that the concurrent programming in Python is Fair.

Contributes to issue CURA-864.
2016-02-19 12:25:47 +01:00
Jaime van Kessel
fb598a2444 Operation stopped no longer cause a re-slice.
No idea why this was the case as the result of an operation should decide
if a reslice should be triggered (eg; transformation causes scenechanged to be triggered)
CURA-829
2016-02-10 13:19:12 +01:00
Ghostkeeper
5693d639f1 Merge pull request #618 from Ultimaker/feature_profiles
Profiles rework
2016-02-09 09:49:28 +01:00
Arjen Hiemstra
69d8160207 Make sure we properly restart the backend when it quits on itself
This prevents issues where the backend would not properly restart
2016-02-08 13:51:18 +01:00
fieldOfView
6e11c2409b Use working profile instead of "active" profile 2016-02-08 09:20:46 +01:00
Arjen Hiemstra
8d2fc1f7e1 Do not close the engine from our side when finished with slicing
The engine will close itself when done. Closing it from our side
actually introduces errors as things can still be busy processing
2016-02-06 18:08:47 +01:00
Arjen Hiemstra
1e4631ecdd Remove Cura_pb2.py file since it is no longer needed
The new Arcus API uses the Cura.proto file instead.
2016-02-02 18:22:09 +01:00
Jaime van Kessel
7c744044fd Fixed merge issues & updated proto files 2016-02-02 11:25:10 +01:00
Arjen Hiemstra
ffec2484b7 Fix Layer view 2016-02-01 17:15:45 +01:00
Ghostkeeper
a45e55ab4c Reactivate _always_restart
This was deactivated during debugging as a test. Shouldn't have been committed.

Contributes to issue CURA-427.
2016-01-29 20:57:16 +01:00
Ghostkeeper
c53969f1bd Wait for FinishedSlicing message to mark slicing as finished
Instead of waiting until progress is more than 99%, wait for the dedicated FinishedSlicing message.

Contributes to issue CURA-427.
2016-01-29 11:22:04 +01:00
Arjen Hiemstra
e74d300fb3 Make things work properly using the new Arcus API 2016-01-28 18:07:42 +01:00
Arjen Hiemstra
21f70c4123 Add Cura protobuf protocol file
Should find some way of sharing the one in CuraEngine but this works for
now
2016-01-28 03:23:47 +01:00
Arjen Hiemstra
22fb26bae6 Update StartSliceJob to reflect the new Arcus API 2016-01-28 03:23:10 +01:00
Arjen Hiemstra
6930008dd8 Pass the protocol file to Backend's createSocket 2016-01-28 03:22:18 +01:00
Jaime van Kessel
0b920950d4 Layer processing is now only done when no slicing is occuring.
Contributes to CURA-693
2016-01-22 16:38:03 +01:00
Tim Kuipers
261e8d9b08 updated protobuff generated files to include SlicingFinished msg (CURA-427) 2016-01-22 10:58:24 +01:00
Ghostkeeper
0e8cc11676 Update protobuf file
Cura's protobuf-generated file was out of sync with CuraEngine, resulting in socket errors.

Contributes to issue CURA-605.
2016-01-17 14:35:06 +01:00
fieldOfView
091f744838 Reuse code 2015-12-22 09:26:21 +01:00
fieldOfView
c900e27c19 Stop slicing immediately when a ToolOperation is started 2015-12-22 08:58:04 +01:00
fieldOfView
6bfed19477 Show slicing progress in SaveButton area instead of MessageStack
Add separators to sidebar
Tweak theme
2015-12-03 12:09:25 +01:00
Arjen Hiemstra
aefed915e2 Remove debug code
Fixes CURA-518
2015-12-01 13:03:41 +01:00
Arjen Hiemstra
9267b517d6 Fix coding style issues 2015-11-27 16:53:32 +01:00
daid
743b403b29 Whole bunch of um-pep8 style fixes. 2015-11-27 13:50:44 +01:00
Tim Kuipers
8060ab02f9 lil bugfix in parsing startGcode 2015-11-17 10:27:25 +01:00
Mark Walker
4a3db419ec Add back placeholder expansion for start/end gcode
See issue Ultimaker/CuraEngine#240

The intent of this change it to allow token replacement in start/end
gcode similar to the old Cura. Tokens are of the form
{material_bed_temperature} where the name is any setting name that is
passed to the engine.

Control the backend's generation of temperature commands via new
settings material_bed_temp_prepend and material_print_temp_prepend based
on whether there are temperature tokens in the printer profile's start
gcode.

This change will generate the same temperature gcode as FffGcodeWriter
at the head, if none of the temperature tokens are present in the
machine profile. Otherwise, they're suppressed via the prepend settings.

Also, set fdmprinter.json so that all that inherit from it default to
having the gcode temperature prepend also wait for temperature. Profiles
can override these settings: material_bed_temp_wait and
material_print_temp_wait

This PR intends to change both Cura and CuraEngine.  However, it is safe
to sequence with the Cura change first which will do token replacement
(if present), but will fail to supress the temperature prepends.
2015-11-16 02:22:47 -08:00
Arjen Hiemstra
751f58fb02 Merge branch '15.10'
* 15.10: (39 commits)
  Remove unused import in StartSliceJob
  conforming to code style
  fix typo's..
  Adjust initial view to be slightly from the side
  uses a different method to check whether a machine name excists
  Sets the languageComboBox to the default language
  Remove per-group settings for now
  Make sure to send all settings when an object overrides the profile
  Properly emit writeStarted in RemovableDriveOutputDevice
  Add xy_offset setting to list of settings that trigger a disallowed area update
  Properly trigger a reslice when the active instance is changed
  Wizardpages without hack
  Only hides the window when there are no more pages
  Only add layer data node after all processing
  Also account for "xy_offset" setting for the disallowed areas
  JSON: workaround for stutter in spiralize vase: set travel speed to printing speed
  Adds a color for the error-messages
  Shows an error message when a user tries to add a printer with a name that already excists.
  JSON: support bottom stair step height defaults changed so that the bottom distance to the model isn't violated too much
  Try to use Protobuf CPP implementation if it is available
  ...
2015-11-13 11:31:29 +01:00
Arjen Hiemstra
b7471d6b1d Remove unused import in StartSliceJob
Contributes to CURA-358
2015-11-11 11:00:28 +01:00
Arjen Hiemstra
288ad0c201 Remove per-group settings for now
This drops Layer height as a setting that can be changed per-object but
makes per-object settings work correctly.

Contributes to CURA-255
2015-11-06 17:56:51 +01:00
Arjen Hiemstra
f75b6bb046 Make sure to send all settings when an object overrides the profile
Contributes to CURA-255
2015-11-06 17:55:36 +01:00
Arjen Hiemstra
aa895c1b15 Properly trigger a reslice when the active instance is changed
Contributes to CURA-394
2015-11-05 18:18:42 +01:00
Arjen Hiemstra
14abec095c Only add layer data node after all processing
This way we trigger a proper scene update and do not get odd incomplete
layers.

Contributes to CURA-224
Contributes to CURA-388
2015-11-05 14:42:17 +01:00
Arjen Hiemstra
cb05aee391 Move the start of slicing to a proper job
This way it can be properly threaded (with a generous sprinkling of
"yieldThread") so we do not block the UI when slicing starts.

Contributes to CURA-358
2015-11-04 14:13:45 +01:00
Arjen Hiemstra
20b828ecee Add a Job subclass that handles sending data to the engine
This can be used by the CuraEngine backend to reduce lag when we start
slicing.

Contributes to CURA-358
2015-11-04 14:13:45 +01:00
Arjen Hiemstra
0b2f0b2604 Add thread yields to several long running and heavy processing jobs
Contributes to CURA-358
2015-11-04 14:13:45 +01:00
Arjen Hiemstra
653b46d825 Properly report Layer data processing progress
Contributes to CURA-224
2015-11-04 14:13:45 +01:00
Arjen Hiemstra
75b8466065 Speed up building of the layerdata mesh
Use numpy copies rather than python iteration since it is far faster.

Contributes to CURA-224
2015-11-04 14:13:45 +01:00
Hajo Nils Krabbenhöft
1e5a2ddab9 hide jumps from line view + fix solid display 2015-10-08 15:28:38 +02:00
Hajo Nils Krabbenhöft
3ed5a466a3 regenerate python protobuf reader 2015-10-08 15:28:38 +02:00
Hajo Nils Krabbenhöft
cead06e925 colors 2015-10-08 15:28:38 +02:00
Hajo Nils Krabbenhöft
5505d5dc74 introduce combind and retraction polygon types 2015-10-08 15:28:38 +02:00
Arjen Hiemstra
c5ca763621 If we have no active machine, return None in getEngineCommand
This fixes a race condition on Windows where setting the active machine
takes too long
2015-10-08 11:54:22 +02:00
Arjen Hiemstra
50e6455875 Send the actual machine JSON to the engine 2015-10-06 16:54:57 +02:00
Arjen Hiemstra
b23bbe02fd Send the dual extrusion file as base JSON to the engine 2015-10-06 14:54:24 +02:00
Arjen Hiemstra
ae3705514f Merge branch '15.10'
* 15.10:
  Properly clear stored layer data
  Render SupportInfillType so support is rendered correctly again.
  Fix issues with crash handler and log file creation on Windows
  Bump version
  Make the UMO upgrade selection page work properly
  Update preference dialog to the changed API
  Disable crash handler if debug mode is not enabled
  Prevent crashes when centering an object
  Also disable output device selection when main save button is disabled
  Fix name of Low Quality profile
  Fix stdout/stderr output location so we do not output to UM but to cura
2015-10-06 12:21:09 +02:00
Arjen Hiemstra
560662ac59 Properly clear stored layer data
This fixes an issue where switching back and forth between layer view
would trigger a reload of the layer data
2015-10-06 12:07:57 +02:00