mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 23:36:20 +00:00
Fix #3016. Drawing styles that set the shading style will change shading style upon activating the style.
This commit is contained in:
@@ -389,7 +389,7 @@
|
|||||||
"scene.display.shading.studiolight_background_blur": 0.0,
|
"scene.display.shading.studiolight_background_blur": 0.0,
|
||||||
"scene.display.shading.studiolight_intensity": 0.0,
|
"scene.display.shading.studiolight_intensity": 0.0,
|
||||||
"scene.display.shading.studiolight_rotate_z": 0.0,
|
"scene.display.shading.studiolight_rotate_z": 0.0,
|
||||||
"scene.display.shading.type": "SOLID",
|
"scene.display.shading.type": "RENDERED",
|
||||||
"scene.display.shading.use_compositor": "DISABLED",
|
"scene.display.shading.use_compositor": "DISABLED",
|
||||||
"scene.display.shading.use_dof": false,
|
"scene.display.shading.use_dof": false,
|
||||||
"scene.display.shading.use_scene_lights": false,
|
"scene.display.shading.use_scene_lights": false,
|
||||||
@@ -640,7 +640,7 @@
|
|||||||
"scene.display.shading.studiolight_background_blur": 0.0,
|
"scene.display.shading.studiolight_background_blur": 0.0,
|
||||||
"scene.display.shading.studiolight_intensity": 0.0,
|
"scene.display.shading.studiolight_intensity": 0.0,
|
||||||
"scene.display.shading.studiolight_rotate_z": 0.0,
|
"scene.display.shading.studiolight_rotate_z": 0.0,
|
||||||
"scene.display.shading.type": "SOLID",
|
"scene.display.shading.type": "RENDERED",
|
||||||
"scene.display.shading.use_compositor": "DISABLED",
|
"scene.display.shading.use_compositor": "DISABLED",
|
||||||
"scene.display.shading.use_dof": false,
|
"scene.display.shading.use_dof": false,
|
||||||
"scene.display.shading.use_scene_lights": false,
|
"scene.display.shading.use_scene_lights": false,
|
||||||
@@ -752,4 +752,4 @@
|
|||||||
"space.overlay.xray_alpha_bone": 0.0
|
"space.overlay.xray_alpha_bone": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1633,10 +1633,17 @@ class ActivateDrawingStyle(bpy.types.Operator, Operator):
|
|||||||
space = self.get_view_3d(context) # Do not remove. It is used in exec later
|
space = self.get_view_3d(context) # Do not remove. It is used in exec later
|
||||||
style = json.loads(self.drawing_style.raster_style)
|
style = json.loads(self.drawing_style.raster_style)
|
||||||
for path, value in style.items():
|
for path, value in style.items():
|
||||||
if isinstance(value, str):
|
try:
|
||||||
exec(f"{path} = '{value}'")
|
if isinstance(value, str):
|
||||||
else:
|
exec(f"{path} = '{value}'")
|
||||||
exec(f"{path} = {value}")
|
else:
|
||||||
|
exec(f"{path} = {value}")
|
||||||
|
except:
|
||||||
|
# Differences in Blender versions mean result in failures here
|
||||||
|
print("Failed to set shading style {path} to {value}")
|
||||||
|
shading_type = style.get("scene.display.shading.type", None)
|
||||||
|
if shading_type:
|
||||||
|
space.shading.type = shading_type
|
||||||
|
|
||||||
def set_query(self, context):
|
def set_query(self, context):
|
||||||
self.include_global_ids = []
|
self.include_global_ids = []
|
||||||
|
|||||||
Reference in New Issue
Block a user