56 Commits

Author SHA1 Message Date
Jaime van Kessel
1dc688dd4a
Prevent double updateNextStack during deepcopy
CURA-7106
2020-06-23 11:40:52 +02:00
Jaime van Kessel
4729bd1d0f
Remove unneeded check from deepcopy of settingoverride decorator
CURA-7106
2020-06-23 11:32:57 +02:00
Jaime van Kessel
737a9faa5f
Speed up the objects model
It was using a few expensive calls that had already been cached.

CURA-7106
2020-06-23 10:32:42 +02:00
Jaime van Kessel
16bc2071ee
Cache values to speed up the rendering
CURA-7106
2020-06-22 16:49:42 +02:00
Jaime van Kessel
1b973b3f3c
Remove bit of code duplication
CURA-7106
2020-06-22 16:31:37 +02:00
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
c2c96faf5f Convert remaining doxygen to rst 2020-05-28 17:13:44 +02:00
fieldOfView
2eeabec317 Show support extruder for support meshes 2020-04-11 20:39:21 +02:00
Lipu Fei
27d6b9b53b Calculate bounding box for helper meshes 2019-05-24 10:49:35 +02:00
Lipu Fei
fb33497ff1 Fix auto-slice for per-object settings
CURA-6539
2019-05-23 11:36:55 +02:00
Lipu Fei
24f28fe03e Calculate AABB for non printing meshes
CURA-6480
2019-04-24 13:06:01 +02:00
Jaime van Kessel
8267ef670a Greatly decrease amount of tickles to the backend for settingOverrideDecorator 2019-04-15 17:59:27 +02:00
Jaime van Kessel
abb13e8992 Prevend unneeded tickles of the backend for setting override decorators 2019-04-15 17:52:13 +02:00
Jaime van Kessel
e8d2e070d8 Dont calculate bounding box for non printing meshes
Fixes #5603
2019-04-15 17:46:54 +02:00
Jaime van Kessel
42b1a0e028 Refactor some small bits of the setting override decorator
There was code duplication and a number of functions that should be private

contributes to #5603
2019-04-15 17:36:55 +02:00
Lipu Fei
af02dc2758 Only use setMetaDataEntry() 2018-07-11 11:14:57 +02:00
Lipu Fei
b0b4f78cf2 Revert "Update SettingOverrideDecorator upon extruder enabled/disabled"
CURA-5456

This reverts commit 7a6e7112765c386c7d1ac1ac52fce132b67240ba.
2018-06-13 10:34:01 +02:00
Lipu Fei
880e098031 Revert "Fix for code style checks"
CURA-5456

This reverts commit cc11e0a2425f0f5a6cb71005cdee1c92cd6736c2.
2018-06-13 10:33:55 +02:00
Lipu Fei
abed6052d0 Revert "CURA-5456 Fix some code-style"
CURA-5456

This reverts commit c5d48a3a9a87f9ecdecb6466f6a057bb58f24b55.
2018-06-13 10:33:46 +02:00
Diego Prado Gesto
c5d48a3a9a CURA-5456 Fix some code-style 2018-06-12 11:21:36 +02:00
Lipu Fei
cc11e0a242 Fix for code style checks
CURA-5456
2018-06-12 10:50:09 +02:00
Lipu Fei
7a6e711276 Update SettingOverrideDecorator upon extruder enabled/disabled
CURA-5456

When an extruder gets disabled, the SettingOverrideDecorator should
update its associated extruder to an enabled one so the whole setup can
be sliced.
2018-06-11 13:29:36 +02:00
Lipu Fei
310a99fba7 Fix deepcopy in SettingOverrideDecorator
Obvious mistake...
2018-06-11 11:32:25 +02:00
Lipu Fei
196bd3a730 Add non-thumbnail-visible flag for creating previews
CURA-5373

Addition to the non-slicable meshes, the support meshes should also not
be included in the previews.
2018-05-23 16:32:38 +02:00
Jack Ha
c7a3d33411 CURA-5138 generate unique name for each per object setting container, fix per object settings being lost when multiplying 2018-03-26 11:20:35 +02:00
Lipu Fei
4a0b3ace9e Fix missing getExtruderPositionValueWithDefault() error
PerObjectContainerStack was not a PerObjectContainerStack so it didn't
have getExtruderPositionValueWithDefault(), and this will break SliceInfo.
2018-03-19 12:23:42 +01:00
Lipu Fei
7bf8e399ff Should always reslice upon settings changed
CURA-5115

When we switch a model from "support mesh" for example to "normal",
there will be no setting values in the per-object settings container,
but we should still trigger a reslice because settings have been changed.
2018-03-19 09:45:31 +01:00
Jack Ha
a9976e93c1 CURA-4400 fix per object setting change reslicing without reevaluate is non printing mesh all the time 2018-03-08 13:57:11 +01:00
Jack Ha
bab46d7048 CURA-4400 only reevaluate non printing mesh if the setting actually matters 2018-03-06 17:19:31 +01:00
Jack Ha
32ce458516 CURA-4400 solved merge conflict 2018-03-06 17:05:39 +01:00
Aleksei S
6bb42da056 Removed related commits to Settins per Object validation and
added short validation in StartScliceJob
CURA-4972
2018-03-06 15:40:26 +01:00
Jack Ha
bad637eb14 CURA-4400 fixed merge conflicts 2018-03-05 16:47:40 +01:00
Ian Paschal
1f403f815d CURA-4972 Moved validation to SettingOverrideDecorator.py
**The diagnosis:**
The issue arrises from the fact that while the original object is subscribed to be validated, that subscription is only created by setting it as a settings override object. A clone of that object, while still a settings-override object, never gets subscribed because it's not explicitly set with the tool.

**The solution (?):**
I moved all the validation stuff over to SettingOverrideDecorator.py, and use its onSettingChanged() function to trigger the validation. Unfortunately, I can't use the timer because of some limitation with QTTimer and threads. So it's _a bit laggy in some places, and I'd be open to tips about how to fix this. It does work reliably though.
2018-03-02 17:05:58 +01:00
Jack Ha
657a52a5e7 CURA-4400 add checking for enabled extruder in setting _outside_buildarea, cleaned up a bit and factored some functions out BuildVolume 2018-03-01 11:54:31 +01:00
Lipu Fei
0a0db39f02 deepcopy value from the stack
CURA-4705
2017-12-21 09:27:53 +01:00
Lipu Fei
1a6a6f74d5 Fix SettingOverrideDecorator for non printing meshes
CURA-4705

- Do not set a "secret" property in the SceneNode to indicate whether a
  node is a non-printing-mesh because SceneNode will not copy that
  property during a deepcopy. Store it in the SettingOverrideDecorator
  and make it accessible through a decorator call
- Try to trigger an auto-slice AFTER the non-printing-meshes flag is
  updated, not before.
2017-12-20 12:26:50 +01:00
Diego Prado Gesto
8af52fb61b CURA-4726 Creating unique name for the per object stack. Keep the prefix so it is easy to trace when debugging instead of just a number 2017-12-19 19:44:04 +01:00
Diego Prado Gesto
fc78402146 CURA-4726 Using a string for the per object stack id instead of the id
of the instance (that is an integer) because the new ContainerRegistry
searches by string
2017-12-19 17:26:30 +01:00
fieldOfView
1924946b59 Merge branch 'master' into feature_mesh_types
# Conflicts:
#	plugins/SolidView/SolidView.py
2017-11-18 11:28:15 +01:00
fieldOfView
0b11117d6d Set a property for non-printing-meshes
Remove code duplication
2017-11-09 12:28:55 +01:00
ChrisTerBeke
d718e6e36c Create extruder stack for single extruder machines on start - CURA-4482 2017-10-31 09:08:20 +01:00
Mark
9a193ad5c5 Changing AGPLv3 to LGPLv3 2017-09-28 13:00:43 +02:00
Lipu Fei
50a7e8146f Add a dedicated stack class for per-object settings
CURA-4186

Add a dedicated stack class PerObjectContainerStack for per-object
settings to evaluate limit_to_extruder values correctly.
2017-08-24 17:09:28 +02:00
Arjen Hiemstra
573d25982e Minor cleanup of SettingOverrideDecorator
We never use the _instance variable except in deepcopy, so no need to
store that.

Contributes to CURA-3719
2017-07-18 11:23:43 +02:00
Arjen Hiemstra
9fd0239cd5 Add a selectedObjectExtruders property to ExtruderManager
It exposes a list of the extruders used by the current selection.

Contributes to CURA-3609
2017-04-20 17:42:06 +02:00
Simon Edwards
4ab6b74930 Fixed a bunch of error which were reported by PyCharm's code analysis. 2017-02-26 21:05:09 +01:00
Jack Ha
bb955ca5ab Tickle the backend if per object settings are changed. CURA-3273 2017-02-21 16:12:25 +01:00
Simon Edwards
74e5798509 Lots of import fixes. Eliminated the import hacks such as those used inside UM/Settings/__init__.py.
CURA-2917
2016-12-12 16:05:35 +01:00
Ghostkeeper
2492b03c4f
Update disallowed area when object's extruder is changed
This calls _updateDisallowedAreas() but not rebuild(), so the change is not visible at this moment.

Contributes to issue CURA-2625.
2016-11-15 13:10:58 +01:00
Jack Ha
3f6877d2ec Keep per object extruder when switching machines. CURA-2533 2016-10-12 13:58:09 +02:00