39 Commits

Author SHA1 Message Date
Jaime van Kessel
3df1bc4e62 Fixed minor issue in buildExtruderMessage
CURA-1681
2016-06-09 13:23:09 +02:00
Jaime van Kessel
d93044a338 Added setting sending per extruder
CURA-1681
2016-06-09 13:04:07 +02:00
Jaime van Kessel
899e4cc175 Fixed sending of per-object settings to engine
CURA-1681
2016-06-09 11:46:52 +02:00
Jaime van Kessel
123c2f5c85 Moved global settings into slice message (as per API changes)
CURA-1681
2016-06-09 11:33:15 +02:00
Jaime van Kessel
95a0c69662 Bit of code refactoring to prevent duplication
CURA-1288
2016-06-02 17:25:34 +02:00
Jaime van Kessel
c994cb6bef Slicing no longer occurs when a perObject setting is in error state
CURA-1288
2016-06-02 14:19:39 +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
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
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
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
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
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
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
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
Ghostkeeper
de9a66e1f4 Merge branch '2.1'
Conflicts:
	plugins/RemovableDriveOutputDevice/OSXRemovableDrivePlugin.py
	plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py
	plugins/USBPrinting/PrinterConnection.py
	resources/machines/fdmprinter.json
	resources/profiles/ultimaker2+/abs_0.4_high.curaprofile
2016-03-17 15:24:00 +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
Thomas-Karl Pietrowski
5d00c3120d Use save variable names here 2016-03-15 12:35:33 +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
c15709936b Grouping and per object settings now work correctly again 2016-02-23 12:55:41 +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
Arjen Hiemstra
e74d300fb3 Make things work properly using the new Arcus API 2016-01-28 18:07:42 +01:00
Arjen Hiemstra
22fb26bae6 Update StartSliceJob to reflect the new Arcus API 2016-01-28 03:23:10 +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
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
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