127 Commits

Author SHA1 Message Date
Ghostkeeper
47e856c927
Add period at end for consistency
Other plugin descriptions also have a period at the end.

Contributes to issue CURA-1190.
2016-03-22 13:35:28 +01:00
Jaime van Kessel
8f9210af6b Socket is now re-created regardless of process state
The previous fix for this could cause an infinate slice loop on windows. CURA-1133
2016-03-22 11:29:16 +01:00
Jaime van Kessel
dce4fa9479 Added forced re-creation of socket
CURA-1133
2016-03-21 16:32:10 +01:00
Jaime van Kessel
174f150ead Error now also causes terminate to be called
CURA-1133
2016-03-21 15:44:27 +01:00
Jaime van Kessel
3ecd746f21 Added even more logging
CURA-1133
2016-03-21 15:36:07 +01:00
Jaime van Kessel
46bf7e440e Added more logging & removed duplicate slicing canceled signals
CURA-1133
2016-03-18 12:00:10 +01:00
Jaime van Kessel
b863d239b0 Added more logging to engine connection
Should make it easier to debug future issues. CURA-1133
2016-03-15 12:53:22 +01:00
Arjen Hiemstra
66a9c63048 Add not using numpy.insert explanation to ProcessSlicedObjectJob
Contributes to CURA-708
2016-03-03 11:52:56 +01:00
Ghostkeeper
f6fc5fea06 Fix slicing not interrupting first layer processing job
The layer processing job that was triggered by switching to layer view was not stored in the field. The field is where the start of slicing looks for jobs to abort.

Contributes to issue CURA-864.
2016-03-03 11:31:59 +01:00
Jaime van Kessel
fa59416dc4 Added warning to logging if no one at a time print is possible
CURA-972
2016-03-01 09:30:33 +01:00
Jaime van Kessel
00dcf339c8 Visibility of processing message is now correct when switching between views.
CURA-971
2016-02-29 15:11:13 +01:00
Arjen Hiemstra
9e4f1539e0 Do not center the layer data but instead move the node it is attached to
Since all the layer data is offset by the same amount, we can simply
move the node, which saves us some processing when adding layers.

Contributes to CURA-708
2016-02-29 08:57:23 +01:00
Arjen Hiemstra
4573a233e9 Do not use insert to insert the Y height in the Layer data
Numpy's insert turns out to be slower than creating a new array and
manually copying values.

Contributes to CURA-708
2016-02-29 08:57:23 +01:00
Arjen Hiemstra
abe184ebff Do not display backend error messages for a few known error types
ConnectionReset is already handled, as is BindFailed and Debug should
never result in an error.

Contributes to CURA-813
2016-02-24 17:28:31 +01:00
Jaime van Kessel
2a938f7504 Merge branch '2.1' of https://github.com/Ultimaker/Cura into 2.1 2016-02-23 12:55:50 +01:00
Jaime van Kessel
c15709936b Grouping and per object settings now work correctly again 2016-02-23 12:55:41 +01:00
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