192 Commits

Author SHA1 Message Date
Arjen Hiemstra
93873a2ce8 Also trigger a reslice when the containerstack's containers change
Contributes to CURA-1278
2016-05-30 14:02:51 +02:00
Arjen Hiemstra
8039184c18 Move setting error checking to StartSliceJob and allow the job to return a proper response
Now the job can determine if we can continue with slicing or not and if
not, why not.

This also means we can now show a message when we cannot find any
slicable objects.

Contributes to CURA-1278
2016-05-30 13:03:06 +02:00
Arjen Hiemstra
cd2b853fff Remove "slicing" message since it is now displayed in the sidebar
Now removed for good

Contributes to CURA-1278
2016-05-30 13:01:25 +02:00
Arjen Hiemstra
0b3b718e87 Make CuraEngineBackend respond to changes to the global container stack
This way we can properly connect to propertyChanged signals and trigger
a reslice.

Contributes to CURA-1278
2016-05-30 12:23:28 +02:00
Arjen Hiemstra
c63eb3871c Account for the changes to BackendState in Uranium
Contributes to CURA-1278
2016-05-30 12:22:12 +02:00
Ghostkeeper
e02e2bde8d
Remove semicolon at the end of the line 2016-05-26 16:35:34 +02:00
Arjen Hiemstra
386aec32a8 Merge branch 'settings_rework'
Contributes to CURA-1278

* settings_rework: (224 commits)
  Improve slice trigger documentation
  Import Cura in materials preferences page so we can use the active definition id
  Add layer height to high quality profile so we have something that changes
  Update example XML material to use the right product names
  Filter available materials by the machine definition
  Show the add machine dialog when we do not have an active machine
  Create machine-specific material containers for machine specific overrides in XML material files
  When creating a new container stack, add empty containers for things where we cannot find containers
  Add preferred variant, material and quality to UM2+ definition
  Account for global container stack being None in the backend plugin
  Use the global stack instance variable and account for it potentially being None
  Store the global container stack as an instance property
  Added wildcard to filtering
  Per object settings filter now uses correct bool types (instead of strings)
  Removed stray = sign.
  Fix creating print job name
  Disable asynchronous loading of SettingItem when Qt Version < 5.5
  Document QTbug
  Properly serialise all settings to g-code file
  Document GCodeWriter class
  ...
2016-05-25 15:12:25 +02:00
Ghostkeeper
6522aae915
Improve slice trigger documentation
Contributes to issue CURA-1278.
2016-05-25 11:53:35 +02:00
Arjen Hiemstra
396f023bdf Account for global container stack being None in the backend plugin 2016-05-25 11:31:19 +02:00
Ghostkeeper
fa1d262123
Fix getting platform centre
With the new setting system.

Contributes to issues CURA-1278 and CURA-1591.
2016-05-24 01:16:11 +02:00
Ghostkeeper
1cbb3a3f28
Prevent slicing if there is an invalid setting value
E.g. higher than maximum_value. This seems to work okay but is largely untested because switching to advanced mode gives a segfault.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 23:47:38 +02:00
Ghostkeeper
b6aa78cc8d
Use getAllKeys of ContainerStack to get all setting values
Instead of traversing the setting definitions ourselves, let the stack do it. This code should be reusable for other places where we want to get certain properties of all settings, hopefully.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 23:15:21 +02:00
Ghostkeeper
6116f592b3 Remove print
This was printing all settings that were being sent to the engine. Could've been useful, actually. Maybe I'll re-add it in the form of a log.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
c6d3677d6f Remove unused function
There are no machine instances any more. We can just listen for setting value changes.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
90ce0f44c3 Document remaining functions of CuraEngineBackend
They have all been checked for correctness now. While I was doing that, I documented their working as far as I could understand.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
9217dd3e1b Remove unused function
No longer used due to fix for setting rework.

Contributes to issues CURA-1278 and CURA-1288.
2016-05-23 17:19:18 +02:00
Ghostkeeper
c8de272ec4 Document old functions
I was reading through these to check if they'd still work. They should still work, but since I went through them I went ahead and documented them too.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
e94220f46d Remove commented code
Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
6fcba4cdde Fix typo in error message
Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
15333fa940 Codestyle: Spaces after commas
Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
70b52f4b62 Also get setting values of child definitions
Otherwise we just get the setting categories, which is not very useful.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
9dab21c4d0 Fix getting print_sequence setting
The setting is used to group items for one-at-a-time printing before they're sent to the engine. This properly gets the setting value under the new setting system.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
8f1860413b Always send FDMPrinter definition via socket
We don't save the file name any more. The engine doesn't need any machine-specific definitions at the moment, so we can always just send FDMPrinter.. This may later change, but later we will also send a serialised JSON rather than a file name so then we won't need the file name any more.

Contributes to issues CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
8a21ac77ed Re-implement sending global settings
It turns out to be mostly the same.

Contributes to issue CURA-1278 and CURA-1588.
2016-05-23 17:19:18 +02:00
Ghostkeeper
b03aa246a0 Call new function to send global settings
I'm going to rename this function to be able to send per-extruder and per-object settings with different functions later on. This updates the call to the function to use the new one.

Contributes to issue CURA-1278.
2016-05-23 17:19:18 +02:00
Ghostkeeper
eb951ed07c Fix potential concurrency of finishing before connected to finishing
This was a concurrency issue: If the slicing was very fast, it could finish slicing before the listener was connected to the message of being finished. Therefore, we should connect to being finished before we even start the start-slice job.

Contributes to issue CURA-1278.
2016-05-23 17:19:18 +02:00
Ghostkeeper
63bf5bec3d Remove _profile from start slice job parameters
Instead, the start slice job searches for the container stack itself.

Contributes to issue CURA-1278.
2016-05-23 17:19:18 +02:00
Ghostkeeper
a0645a44c8 Re-enable slicing message
Nothing appears right now, but this enables progress to show later on in the progress (if it would get there).

Contributes to issue CURA-1278.
2016-05-23 17:19:17 +02:00
Ghostkeeper
ae6f4912e6 Remove unnecessary variable initialisation
This isn't C++ or anything. Variable scope isn't limited by if statements.

Contributes to issue CURA-1278.
2016-05-23 17:19:17 +02:00
Ghostkeeper
83c1ea2ccc Move message hide into terminate function
Always if we terminate we want to hide the old message. This fixes the message not hiding when using the tools.

Contributes to issue CURA-1278.
2016-05-23 17:19:17 +02:00
Ghostkeeper
ab2a6136d7 Filter setting changed listener properly
The parameters of the listener were out of date and it should only trigger a reslice if we're changing the value of a setting, not any other property.

Contributes to issue CURA-1278.
2016-05-23 17:19:17 +02:00
Ghostkeeper
e5df225b1e Connect SettingChanged to new propertyChanged function
The listener doesn't properly listen to the signal's parameters yet though.

Contributes to issue CURA-1278.
2016-05-23 17:19:17 +02:00
Ghostkeeper
bace52fccf Add documentation
I need a bit of documentation for myself to understand this process.

Contributes to issue CURA-1278.
2016-05-23 17:19:17 +02:00
Jaime van Kessel
295cea338c Translate tool is now no longer stopped by ton of errors
CURA-1278
2016-05-20 14:09:58 +02:00
Ghostkeeper
2696f883b0
Add a bit of documentation
I was going further with this, but then it was decided that we need to do this later but I won't throw away this bit of documentation when I have it anyway.

Contributes to issue CURA-1278.
2016-05-19 16:31:29 +02:00
Tim Kuipers
62a53bfa1a Merge branch 'master' of https://github.com/Ultimaker/Cura 2016-05-13 13:22:54 +02:00
fieldOfView
f9adb2c601 Reset stored layer data as soon as a new slice operation starts
This prevents layer view showing a combination of stale and fresh data

Fixes CURA-1370 (and CURA-1519)
2016-05-13 13:05:58 +02:00
Tim Kuipers
883d138f67 Merge branch '2.1' 2016-05-13 12:19:19 +02:00
Simon Edwards
2f54e3554a When trying to exit the application, forcefully shutdown the backend exe.
Fixes CURA-1453 Cura in slicing loop (Arcus Error (6, native 54))
2016-05-09 12:42:51 +02:00
Arjen Hiemstra
38492cb230 Update API version of two required plugins 2016-05-09 12:06:35 +02:00
Arjen Hiemstra
44246c0676 Comment out all things that use settings related things so we can at least start 2016-05-09 12:06:11 +02:00
Ghostkeeper
4ef9c1a3e7 Merge branch '2.1'
Conflicts:
	plugins/CuraEngineBackend/StartSliceJob.py
2016-05-04 13:43:35 +02:00
Jaime van Kessel
efd14421cc Codestyle & Documentation
CURA 537
2016-04-28 15:56:25 +02:00
Simon Edwards
dff976f197 Minor code style fix.
Contributes to CURA-1434
2016-04-26 15:21:11 +02:00
Simon Edwards
f92ff3e864 Only talk to the CuraEngine socket from the same (Main) thread, and be a lot more careful about handling the StartSliceJob when restarting CuraEngine.
Fixes CURA-1434
2016-04-25 15:53:02 +02:00
Arjen Hiemstra
c329c2e12d Do not try to recreate the socket when we are shutting down anyway
This prevents issues where closing the socket triggers socket creation
and then a deadlock occurs.

Contributes to CURA-1391
2016-04-19 16:52:22 +02:00
Arjen Hiemstra
e5cc84cb3e Handle negative layers in the Layer view
Offset all layers by the minimum layer count. This makes raft just a
minor special case when processing layers instead of needing to adjust
everything.

Contributes to CURA-653
2016-04-14 12:17:40 +02:00
fieldOfView
3ad65e315f Terminate CuraEngine if it is still running when Cura is closed
CURA-1388
2016-04-12 18:05:33 +02:00
fieldOfView
967c062357 Fix import error starting up with an empty profile
CURA-1376
2016-04-12 07:41:42 +02:00
Arjen Hiemstra
d5bf9b3733 Merge branch '2.1'
* 2.1:
  Do not round convex hull points to nearest int
  Use fdmprinter.json If we have no active machine instead of returning None
  JSON fix: max value of infill_sparse_thickness based on engine MAX_COMBINE_COUNT hardcoded value (CURA-1374)
2016-04-11 15:40:36 +02:00