From 218b67bc5ccbe6b34445d147965a5d6528f8da44 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 25 May 2023 14:21:39 +0500 Subject: [PATCH] Procedurally generating list of props for shading styles to cover more props If it will be too much we still have option to exclude some of them --- .../bim/data/assets/shading_styles.json | 742 ++++++++++++++++-- src/blenderbim/blenderbim/bim/handler.py | 1 - .../blenderbim/bim/module/drawing/operator.py | 34 +- .../blenderbim/bim/module/drawing/prop.py | 39 +- 4 files changed, 730 insertions(+), 86 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/assets/shading_styles.json b/src/blenderbim/blenderbim/bim/data/assets/shading_styles.json index 01dd9742b3..e89fb84f10 100644 --- a/src/blenderbim/blenderbim/bim/data/assets/shading_styles.json +++ b/src/blenderbim/blenderbim/bim/data/assets/shading_styles.json @@ -1,125 +1,755 @@ { "Technical": { + "render_type": "VIEWPORT", "raster_style": { "bpy.data.worlds[0].color": [ - 1, - 1, - 1 + 1.0, + 1.0, + 1.0 ], + "scene.render.bake_bias": 0.0010000000474974513, + "scene.render.bake_margin": 16, + "scene.render.bake_margin_type": "ADJACENT_FACES", + "scene.render.bake_samples": 256, + "scene.render.bake_type": "NORMALS", + "scene.render.bake_user_scale": 0.0, + "scene.render.border_max_x": 1.0, + "scene.render.border_max_y": 1.0, + "scene.render.border_min_x": 0.0, + "scene.render.border_min_y": 0.0, + "scene.render.dither_intensity": 1.0, "scene.render.engine": "BLENDER_WORKBENCH", "scene.render.film_transparent": false, - "scene.display.shading.show_object_outline": true, - "scene.display.shading.show_cavity": false, - "scene.display.shading.cavity_type": "BOTH", - "scene.display.shading.curvature_ridge_factor": 1, - "scene.display.shading.curvature_valley_factor": 1, + "scene.render.filter_size": 1.5, + "scene.render.fps": 24, + "scene.render.fps_base": 1.0, + "scene.render.frame_map_new": 100, + "scene.render.frame_map_old": 100, + "scene.render.hair_subdiv": 0, + "scene.render.hair_type": "STRAND", + "scene.render.line_thickness": 1.0, + "scene.render.line_thickness_mode": "ABSOLUTE", + "scene.render.metadata_input": "SCENE", + "scene.render.motion_blur_shutter": 0.5, + "scene.render.pixel_aspect_x": 1.0, + "scene.render.pixel_aspect_y": 1.0, + "scene.render.preview_pixel_size": "AUTO", + "scene.render.resolution_percentage": 100, + "scene.render.resolution_x": 1000, + "scene.render.resolution_y": 1000, + "scene.render.sequencer_gl_preview": "SOLID", + "scene.render.simplify_child_particles": 1.0, + "scene.render.simplify_child_particles_render": 1.0, + "scene.render.simplify_gpencil": false, + "scene.render.simplify_gpencil_antialiasing": true, + "scene.render.simplify_gpencil_modifier": true, + "scene.render.simplify_gpencil_onplay": false, + "scene.render.simplify_gpencil_shader_fx": true, + "scene.render.simplify_gpencil_tint": true, + "scene.render.simplify_gpencil_view_fill": true, + "scene.render.simplify_shadows": 1.0, + "scene.render.simplify_shadows_render": 1.0, + "scene.render.simplify_subdivision": 6, + "scene.render.simplify_subdivision_render": 6, + "scene.render.simplify_volumes": 1.0, + "scene.render.stamp_font_size": 12, + "scene.render.stamp_note_text": "", + "scene.render.threads": 20, + "scene.render.threads_mode": "AUTO", + "scene.render.use_bake_clear": true, + "scene.render.use_bake_lores_mesh": false, + "scene.render.use_bake_multires": false, + "scene.render.use_bake_selected_to_active": false, + "scene.render.use_bake_user_scale": false, + "scene.render.use_border": false, + "scene.render.use_compositing": true, + "scene.render.use_crop_to_border": false, + "scene.render.use_file_extension": true, + "scene.render.use_freestyle": false, + "scene.render.use_high_quality_normals": false, + "scene.render.use_lock_interface": false, + "scene.render.use_motion_blur": false, + "scene.render.use_multiview": false, + "scene.render.use_overwrite": true, + "scene.render.use_persistent_data": false, + "scene.render.use_placeholder": false, + "scene.render.use_render_cache": false, + "scene.render.use_sequencer": true, + "scene.render.use_sequencer_override_scene_strip": false, + "scene.render.use_simplify": false, + "scene.render.use_single_layer": false, + "scene.render.use_stamp": false, + "scene.render.use_stamp_camera": true, + "scene.render.use_stamp_date": true, + "scene.render.use_stamp_filename": true, + "scene.render.use_stamp_frame": true, + "scene.render.use_stamp_frame_range": false, + "scene.render.use_stamp_hostname": false, + "scene.render.use_stamp_labels": true, + "scene.render.use_stamp_lens": false, + "scene.render.use_stamp_marker": false, + "scene.render.use_stamp_memory": false, + "scene.render.use_stamp_note": false, + "scene.render.use_stamp_render_time": true, + "scene.render.use_stamp_scene": true, + "scene.render.use_stamp_sequencer_strip": false, + "scene.render.use_stamp_time": true, + "scene.render.views_format": "STEREO_3D", + "scene.view_settings.exposure": 0.0, + "scene.view_settings.gamma": 1.0, + "scene.view_settings.look": "None", + "scene.view_settings.use_curve_mapping": false, "scene.view_settings.view_transform": "Standard", - "scene.display.shading.light": "FLAT", - "scene.display.shading.color_type": "SINGLE", - "scene.display.shading.single_color": [ - 1, - 1, - 1 + "scene.display.shading.aov_name": "", + "scene.display.shading.background_color": [ + 0.0, + 0.0, + 0.0 ], - "scene.display.shading.show_shadows": false, + "scene.display.shading.background_type": "THEME", + "scene.display.shading.cavity_ridge_factor": 1.0, + "scene.display.shading.cavity_type": "BOTH", + "scene.display.shading.cavity_valley_factor": 1.0, + "scene.display.shading.color_type": "SINGLE", + "scene.display.shading.curvature_ridge_factor": 1.0, + "scene.display.shading.curvature_valley_factor": 1.0, + "scene.display.shading.light": "FLAT", + "scene.display.shading.object_outline_color": [ + 0.0, + 0.0, + 0.0 + ], + "scene.display.shading.render_pass": "COMBINED", "scene.display.shading.shadow_intensity": 0.5, + "scene.display.shading.show_backface_culling": false, + "scene.display.shading.show_cavity": false, + "scene.display.shading.show_object_outline": true, + "scene.display.shading.show_shadows": false, + "scene.display.shading.show_specular_highlight": true, + "scene.display.shading.show_xray": false, + "scene.display.shading.show_xray_wireframe": false, + "scene.display.shading.single_color": [ + 1.0, + 1.0, + 1.0 + ], + "scene.display.shading.studio_light": "Default", + "scene.display.shading.studiolight_background_alpha": 0.0, + "scene.display.shading.studiolight_background_blur": 0.0, + "scene.display.shading.studiolight_intensity": 0.0, + "scene.display.shading.studiolight_rotate_z": 0.0, + "scene.display.shading.type": "SOLID", + "scene.display.shading.use_compositor": "DISABLED", + "scene.display.shading.use_dof": false, + "scene.display.shading.use_scene_lights": false, + "scene.display.shading.use_scene_lights_render": false, + "scene.display.shading.use_scene_world": false, + "scene.display.shading.use_scene_world_render": false, + "scene.display.shading.use_studiolight_view_rotation": true, + "scene.display.shading.use_world_space_lighting": false, + "scene.display.shading.wireframe_color_type": "MATERIAL", + "scene.display.shading.xray_alpha": 0.5, + "scene.display.shading.xray_alpha_wireframe": 0.0, "scene.display.light_direction": [ 0.5, 0.5, 0.5 ], - "scene.view_settings.use_curve_mapping": false, - "space.overlay.show_wireframes": true, - "space.overlay.wireframe_threshold": 0, - "space.overlay.show_floor": false, + "scene.display.matcap_ssao_attenuation": 1.0, + "scene.display.matcap_ssao_distance": 0.20000000298023224, + "scene.display.matcap_ssao_samples": 16, + "scene.display.render_aa": "8", + "scene.display.shadow_focus": 0.0, + "scene.display.shadow_shift": 0.10000000149011612, + "scene.display.viewport_aa": "FXAA", + "space.overlay.backwire_opacity": 0.5, + "space.overlay.bone_wire_alpha": 1.0, + "space.overlay.display_handle": "SELECTED", + "space.overlay.fade_inactive_alpha": 0.4000000059604645, + "space.overlay.gpencil_fade_layer": 0.5, + "space.overlay.gpencil_fade_objects": 0.5, + "space.overlay.gpencil_grid_opacity": 0.5, + "space.overlay.gpencil_vertex_paint_opacity": 1.0, + "space.overlay.grid_lines": 16, + "space.overlay.grid_scale": 1.0, + "space.overlay.grid_subdivisions": 10, + "space.overlay.normals_constant_screen_size": 7.0, + "space.overlay.normals_length": 0.10000000149011612, + "space.overlay.sculpt_curves_cage_opacity": 0.5, + "space.overlay.sculpt_mode_face_sets_opacity": 1.0, + "space.overlay.sculpt_mode_mask_opacity": 0.75, + "space.overlay.show_annotation": true, "space.overlay.show_axis_x": false, "space.overlay.show_axis_y": false, "space.overlay.show_axis_z": false, + "space.overlay.show_bones": true, + "space.overlay.show_cursor": true, + "space.overlay.show_curve_normals": false, + "space.overlay.show_edge_bevel_weight": true, + "space.overlay.show_edge_crease": true, + "space.overlay.show_edge_seams": true, + "space.overlay.show_edge_sharp": true, + "space.overlay.show_edges": false, + "space.overlay.show_extra_edge_angle": false, + "space.overlay.show_extra_edge_length": false, + "space.overlay.show_extra_face_angle": false, + "space.overlay.show_extra_face_area": false, + "space.overlay.show_extra_indices": false, + "space.overlay.show_extras": true, + "space.overlay.show_face_center": false, + "space.overlay.show_face_normals": false, + "space.overlay.show_face_orientation": false, + "space.overlay.show_faces": true, + "space.overlay.show_fade_inactive": false, + "space.overlay.show_floor": false, + "space.overlay.show_freestyle_edge_marks": true, + "space.overlay.show_freestyle_face_marks": true, + "space.overlay.show_look_dev": false, + "space.overlay.show_motion_paths": true, "space.overlay.show_object_origins": false, - "space.overlay.show_relationship_lines": false - }, - "render_type": "VIEWPORT" + "space.overlay.show_object_origins_all": false, + "space.overlay.show_occlude_wire": false, + "space.overlay.show_onion_skins": false, + "space.overlay.show_ortho_grid": true, + "space.overlay.show_outline_selected": true, + "space.overlay.show_overlays": true, + "space.overlay.show_paint_wire": false, + "space.overlay.show_relationship_lines": false, + "space.overlay.show_sculpt_curves_cage": true, + "space.overlay.show_sculpt_face_sets": true, + "space.overlay.show_sculpt_mask": true, + "space.overlay.show_split_normals": false, + "space.overlay.show_stats": false, + "space.overlay.show_statvis": false, + "space.overlay.show_text": true, + "space.overlay.show_vertex_normals": false, + "space.overlay.show_viewer_attribute": true, + "space.overlay.show_weight": false, + "space.overlay.show_wireframes": true, + "space.overlay.show_wpaint_contours": false, + "space.overlay.show_xray_bone": false, + "space.overlay.texture_paint_mode_opacity": 1.0, + "space.overlay.use_debug_freeze_view_culling": false, + "space.overlay.use_gpencil_canvas_xray": false, + "space.overlay.use_gpencil_edit_lines": true, + "space.overlay.use_gpencil_fade_gp_objects": false, + "space.overlay.use_gpencil_fade_layers": false, + "space.overlay.use_gpencil_fade_objects": false, + "space.overlay.use_gpencil_grid": false, + "space.overlay.use_gpencil_multiedit_line_only": false, + "space.overlay.use_gpencil_onion_skin": false, + "space.overlay.use_gpencil_show_directions": false, + "space.overlay.use_gpencil_show_material_name": false, + "space.overlay.use_normals_constant_screen_size": false, + "space.overlay.vertex_opacity": 1.0, + "space.overlay.vertex_paint_mode_opacity": 1.0, + "space.overlay.viewer_attribute_opacity": 1.0, + "space.overlay.weight_paint_mode_opacity": 1.0, + "space.overlay.wireframe_opacity": 1.0, + "space.overlay.wireframe_threshold": 0.0, + "space.overlay.xray_alpha_bone": 0.0 + } }, "Shaded": { + "render_type": "VIEWPORT", "raster_style": { "bpy.data.worlds[0].color": [ - 1, - 1, - 1 + 1.0, + 1.0, + 1.0 ], + "scene.render.bake_bias": 0.0010000000474974513, + "scene.render.bake_margin": 16, + "scene.render.bake_margin_type": "ADJACENT_FACES", + "scene.render.bake_samples": 256, + "scene.render.bake_type": "NORMALS", + "scene.render.bake_user_scale": 0.0, + "scene.render.border_max_x": 1.0, + "scene.render.border_max_y": 1.0, + "scene.render.border_min_x": 0.0, + "scene.render.border_min_y": 0.0, + "scene.render.dither_intensity": 1.0, "scene.render.engine": "BLENDER_WORKBENCH", "scene.render.film_transparent": false, - "scene.display.shading.show_object_outline": true, - "scene.display.shading.show_cavity": true, - "scene.display.shading.cavity_type": "BOTH", - "scene.display.shading.curvature_ridge_factor": 1, - "scene.display.shading.curvature_valley_factor": 1, + "scene.render.filter_size": 1.5, + "scene.render.fps": 24, + "scene.render.fps_base": 1.0, + "scene.render.frame_map_new": 100, + "scene.render.frame_map_old": 100, + "scene.render.hair_subdiv": 0, + "scene.render.hair_type": "STRAND", + "scene.render.line_thickness": 1.0, + "scene.render.line_thickness_mode": "ABSOLUTE", + "scene.render.metadata_input": "SCENE", + "scene.render.motion_blur_shutter": 0.5, + "scene.render.pixel_aspect_x": 1.0, + "scene.render.pixel_aspect_y": 1.0, + "scene.render.preview_pixel_size": "AUTO", + "scene.render.resolution_percentage": 100, + "scene.render.resolution_x": 1000, + "scene.render.resolution_y": 1000, + "scene.render.sequencer_gl_preview": "SOLID", + "scene.render.simplify_child_particles": 1.0, + "scene.render.simplify_child_particles_render": 1.0, + "scene.render.simplify_gpencil": false, + "scene.render.simplify_gpencil_antialiasing": true, + "scene.render.simplify_gpencil_modifier": true, + "scene.render.simplify_gpencil_onplay": false, + "scene.render.simplify_gpencil_shader_fx": true, + "scene.render.simplify_gpencil_tint": true, + "scene.render.simplify_gpencil_view_fill": true, + "scene.render.simplify_shadows": 1.0, + "scene.render.simplify_shadows_render": 1.0, + "scene.render.simplify_subdivision": 6, + "scene.render.simplify_subdivision_render": 6, + "scene.render.simplify_volumes": 1.0, + "scene.render.stamp_font_size": 12, + "scene.render.stamp_note_text": "", + "scene.render.threads": 20, + "scene.render.threads_mode": "AUTO", + "scene.render.use_bake_clear": true, + "scene.render.use_bake_lores_mesh": false, + "scene.render.use_bake_multires": false, + "scene.render.use_bake_selected_to_active": false, + "scene.render.use_bake_user_scale": false, + "scene.render.use_border": false, + "scene.render.use_compositing": true, + "scene.render.use_crop_to_border": false, + "scene.render.use_file_extension": true, + "scene.render.use_freestyle": false, + "scene.render.use_high_quality_normals": false, + "scene.render.use_lock_interface": false, + "scene.render.use_motion_blur": false, + "scene.render.use_multiview": false, + "scene.render.use_overwrite": true, + "scene.render.use_persistent_data": false, + "scene.render.use_placeholder": false, + "scene.render.use_render_cache": false, + "scene.render.use_sequencer": true, + "scene.render.use_sequencer_override_scene_strip": false, + "scene.render.use_simplify": false, + "scene.render.use_single_layer": false, + "scene.render.use_stamp": false, + "scene.render.use_stamp_camera": true, + "scene.render.use_stamp_date": true, + "scene.render.use_stamp_filename": true, + "scene.render.use_stamp_frame": true, + "scene.render.use_stamp_frame_range": false, + "scene.render.use_stamp_hostname": false, + "scene.render.use_stamp_labels": true, + "scene.render.use_stamp_lens": false, + "scene.render.use_stamp_marker": false, + "scene.render.use_stamp_memory": false, + "scene.render.use_stamp_note": false, + "scene.render.use_stamp_render_time": true, + "scene.render.use_stamp_scene": true, + "scene.render.use_stamp_sequencer_strip": false, + "scene.render.use_stamp_time": true, + "scene.render.views_format": "STEREO_3D", + "scene.view_settings.exposure": 0.0, + "scene.view_settings.gamma": 1.0, + "scene.view_settings.look": "None", + "scene.view_settings.use_curve_mapping": false, "scene.view_settings.view_transform": "Standard", - "scene.display.shading.light": "STUDIO", - "scene.display.shading.color_type": "MATERIAL", - "scene.display.shading.single_color": [ - 1, - 1, - 1 + "scene.display.shading.aov_name": "", + "scene.display.shading.background_color": [ + 0.0, + 0.0, + 0.0 ], - "scene.display.shading.show_shadows": true, + "scene.display.shading.background_type": "THEME", + "scene.display.shading.cavity_ridge_factor": 1.0, + "scene.display.shading.cavity_type": "BOTH", + "scene.display.shading.cavity_valley_factor": 1.0, + "scene.display.shading.color_type": "MATERIAL", + "scene.display.shading.curvature_ridge_factor": 1.0, + "scene.display.shading.curvature_valley_factor": 1.0, + "scene.display.shading.light": "STUDIO", + "scene.display.shading.object_outline_color": [ + 0.0, + 0.0, + 0.0 + ], + "scene.display.shading.render_pass": "COMBINED", "scene.display.shading.shadow_intensity": 0.5, + "scene.display.shading.show_backface_culling": false, + "scene.display.shading.show_cavity": true, + "scene.display.shading.show_object_outline": true, + "scene.display.shading.show_shadows": true, + "scene.display.shading.show_specular_highlight": true, + "scene.display.shading.show_xray": false, + "scene.display.shading.show_xray_wireframe": false, + "scene.display.shading.single_color": [ + 1.0, + 1.0, + 1.0 + ], + "scene.display.shading.studio_light": "Default", + "scene.display.shading.studiolight_background_alpha": 0.0, + "scene.display.shading.studiolight_background_blur": 0.0, + "scene.display.shading.studiolight_intensity": 0.0, + "scene.display.shading.studiolight_rotate_z": 0.0, + "scene.display.shading.type": "SOLID", + "scene.display.shading.use_compositor": "DISABLED", + "scene.display.shading.use_dof": false, + "scene.display.shading.use_scene_lights": false, + "scene.display.shading.use_scene_lights_render": false, + "scene.display.shading.use_scene_world": false, + "scene.display.shading.use_scene_world_render": false, + "scene.display.shading.use_studiolight_view_rotation": true, + "scene.display.shading.use_world_space_lighting": false, + "scene.display.shading.wireframe_color_type": "MATERIAL", + "scene.display.shading.xray_alpha": 0.5, + "scene.display.shading.xray_alpha_wireframe": 0.0, "scene.display.light_direction": [ 0.5, 0.5, 0.5 ], - "scene.view_settings.use_curve_mapping": false, - "space.overlay.show_wireframes": false, - "space.overlay.wireframe_threshold": 0, - "space.overlay.show_floor": false, + "scene.display.matcap_ssao_attenuation": 1.0, + "scene.display.matcap_ssao_distance": 0.20000000298023224, + "scene.display.matcap_ssao_samples": 16, + "scene.display.render_aa": "8", + "scene.display.shadow_focus": 0.0, + "scene.display.shadow_shift": 0.10000000149011612, + "scene.display.viewport_aa": "FXAA", + "space.overlay.backwire_opacity": 0.5, + "space.overlay.bone_wire_alpha": 1.0, + "space.overlay.display_handle": "SELECTED", + "space.overlay.fade_inactive_alpha": 0.4000000059604645, + "space.overlay.gpencil_fade_layer": 0.5, + "space.overlay.gpencil_fade_objects": 0.5, + "space.overlay.gpencil_grid_opacity": 0.5, + "space.overlay.gpencil_vertex_paint_opacity": 1.0, + "space.overlay.grid_lines": 16, + "space.overlay.grid_scale": 1.0, + "space.overlay.grid_subdivisions": 10, + "space.overlay.normals_constant_screen_size": 7.0, + "space.overlay.normals_length": 0.10000000149011612, + "space.overlay.sculpt_curves_cage_opacity": 0.5, + "space.overlay.sculpt_mode_face_sets_opacity": 1.0, + "space.overlay.sculpt_mode_mask_opacity": 0.75, + "space.overlay.show_annotation": true, "space.overlay.show_axis_x": false, "space.overlay.show_axis_y": false, "space.overlay.show_axis_z": false, + "space.overlay.show_bones": true, + "space.overlay.show_cursor": true, + "space.overlay.show_curve_normals": false, + "space.overlay.show_edge_bevel_weight": true, + "space.overlay.show_edge_crease": true, + "space.overlay.show_edge_seams": true, + "space.overlay.show_edge_sharp": true, + "space.overlay.show_edges": false, + "space.overlay.show_extra_edge_angle": false, + "space.overlay.show_extra_edge_length": false, + "space.overlay.show_extra_face_angle": false, + "space.overlay.show_extra_face_area": false, + "space.overlay.show_extra_indices": false, + "space.overlay.show_extras": true, + "space.overlay.show_face_center": false, + "space.overlay.show_face_normals": false, + "space.overlay.show_face_orientation": false, + "space.overlay.show_faces": true, + "space.overlay.show_fade_inactive": false, + "space.overlay.show_floor": false, + "space.overlay.show_freestyle_edge_marks": true, + "space.overlay.show_freestyle_face_marks": true, + "space.overlay.show_look_dev": false, + "space.overlay.show_motion_paths": true, "space.overlay.show_object_origins": false, - "space.overlay.show_relationship_lines": false - }, - "render_type": "VIEWPORT" + "space.overlay.show_object_origins_all": false, + "space.overlay.show_occlude_wire": false, + "space.overlay.show_onion_skins": false, + "space.overlay.show_ortho_grid": true, + "space.overlay.show_outline_selected": true, + "space.overlay.show_overlays": true, + "space.overlay.show_paint_wire": false, + "space.overlay.show_relationship_lines": false, + "space.overlay.show_sculpt_curves_cage": true, + "space.overlay.show_sculpt_face_sets": true, + "space.overlay.show_sculpt_mask": true, + "space.overlay.show_split_normals": false, + "space.overlay.show_stats": false, + "space.overlay.show_statvis": false, + "space.overlay.show_text": true, + "space.overlay.show_vertex_normals": false, + "space.overlay.show_viewer_attribute": true, + "space.overlay.show_weight": false, + "space.overlay.show_wireframes": false, + "space.overlay.show_wpaint_contours": false, + "space.overlay.show_xray_bone": false, + "space.overlay.texture_paint_mode_opacity": 1.0, + "space.overlay.use_debug_freeze_view_culling": false, + "space.overlay.use_gpencil_canvas_xray": false, + "space.overlay.use_gpencil_edit_lines": true, + "space.overlay.use_gpencil_fade_gp_objects": false, + "space.overlay.use_gpencil_fade_layers": false, + "space.overlay.use_gpencil_fade_objects": false, + "space.overlay.use_gpencil_grid": false, + "space.overlay.use_gpencil_multiedit_line_only": false, + "space.overlay.use_gpencil_onion_skin": false, + "space.overlay.use_gpencil_show_directions": false, + "space.overlay.use_gpencil_show_material_name": false, + "space.overlay.use_normals_constant_screen_size": false, + "space.overlay.vertex_opacity": 1.0, + "space.overlay.vertex_paint_mode_opacity": 1.0, + "space.overlay.viewer_attribute_opacity": 1.0, + "space.overlay.weight_paint_mode_opacity": 1.0, + "space.overlay.wireframe_opacity": 1.0, + "space.overlay.wireframe_threshold": 0.0, + "space.overlay.xray_alpha_bone": 0.0 + } }, "Blender Default": { + "render_type": "VIEWPORT", "raster_style": { "bpy.data.worlds[0].color": [ 0.05087608844041824, 0.05087608844041824, 0.05087608844041824 ], + "scene.render.bake_bias": 0.0010000000474974513, + "scene.render.bake_margin": 16, + "scene.render.bake_margin_type": "ADJACENT_FACES", + "scene.render.bake_samples": 256, + "scene.render.bake_type": "NORMALS", + "scene.render.bake_user_scale": 0.0, + "scene.render.border_max_x": 1.0, + "scene.render.border_max_y": 1.0, + "scene.render.border_min_x": 0.0, + "scene.render.border_min_y": 0.0, + "scene.render.dither_intensity": 1.0, "scene.render.engine": "BLENDER_EEVEE", "scene.render.film_transparent": false, + "scene.render.filter_size": 1.5, + "scene.render.fps": 24, + "scene.render.fps_base": 1.0, + "scene.render.frame_map_new": 100, + "scene.render.frame_map_old": 100, + "scene.render.hair_subdiv": 0, + "scene.render.hair_type": "STRAND", + "scene.render.line_thickness": 1.0, + "scene.render.line_thickness_mode": "ABSOLUTE", + "scene.render.metadata_input": "SCENE", + "scene.render.motion_blur_shutter": 0.5, + "scene.render.pixel_aspect_x": 1.0, + "scene.render.pixel_aspect_y": 1.0, + "scene.render.preview_pixel_size": "AUTO", + "scene.render.resolution_percentage": 100, + "scene.render.resolution_x": 1000, + "scene.render.resolution_y": 1000, + "scene.render.sequencer_gl_preview": "SOLID", + "scene.render.simplify_child_particles": 1.0, + "scene.render.simplify_child_particles_render": 1.0, + "scene.render.simplify_gpencil": false, + "scene.render.simplify_gpencil_antialiasing": true, + "scene.render.simplify_gpencil_modifier": true, + "scene.render.simplify_gpencil_onplay": false, + "scene.render.simplify_gpencil_shader_fx": true, + "scene.render.simplify_gpencil_tint": true, + "scene.render.simplify_gpencil_view_fill": true, + "scene.render.simplify_shadows": 1.0, + "scene.render.simplify_shadows_render": 1.0, + "scene.render.simplify_subdivision": 6, + "scene.render.simplify_subdivision_render": 6, + "scene.render.simplify_volumes": 1.0, + "scene.render.stamp_font_size": 12, + "scene.render.stamp_note_text": "", + "scene.render.threads": 20, + "scene.render.threads_mode": "AUTO", + "scene.render.use_bake_clear": true, + "scene.render.use_bake_lores_mesh": false, + "scene.render.use_bake_multires": false, + "scene.render.use_bake_selected_to_active": false, + "scene.render.use_bake_user_scale": false, + "scene.render.use_border": false, + "scene.render.use_compositing": true, + "scene.render.use_crop_to_border": false, + "scene.render.use_file_extension": true, + "scene.render.use_freestyle": false, + "scene.render.use_high_quality_normals": false, + "scene.render.use_lock_interface": false, + "scene.render.use_motion_blur": false, + "scene.render.use_multiview": false, + "scene.render.use_overwrite": true, + "scene.render.use_persistent_data": false, + "scene.render.use_placeholder": false, + "scene.render.use_render_cache": false, + "scene.render.use_sequencer": true, + "scene.render.use_sequencer_override_scene_strip": false, + "scene.render.use_simplify": false, + "scene.render.use_single_layer": false, + "scene.render.use_stamp": false, + "scene.render.use_stamp_camera": true, + "scene.render.use_stamp_date": true, + "scene.render.use_stamp_filename": true, + "scene.render.use_stamp_frame": true, + "scene.render.use_stamp_frame_range": false, + "scene.render.use_stamp_hostname": false, + "scene.render.use_stamp_labels": true, + "scene.render.use_stamp_lens": false, + "scene.render.use_stamp_marker": false, + "scene.render.use_stamp_memory": false, + "scene.render.use_stamp_note": false, + "scene.render.use_stamp_render_time": true, + "scene.render.use_stamp_scene": true, + "scene.render.use_stamp_sequencer_strip": false, + "scene.render.use_stamp_time": true, + "scene.render.views_format": "STEREO_3D", + "scene.view_settings.exposure": 0.0, + "scene.view_settings.gamma": 1.0, + "scene.view_settings.look": "None", + "scene.view_settings.use_curve_mapping": false, "scene.view_settings.view_transform": "Filmic", - "scene.display.shading.show_object_outline": false, - "scene.display.shading.show_cavity": false, + "scene.display.shading.aov_name": "", + "scene.display.shading.background_color": [ + 0.0, + 0.0, + 0.0 + ], + "scene.display.shading.background_type": "THEME", + "scene.display.shading.cavity_ridge_factor": 1.0, "scene.display.shading.cavity_type": "WORLD", + "scene.display.shading.cavity_valley_factor": 1.0, + "scene.display.shading.color_type": "MATERIAL", "scene.display.shading.curvature_ridge_factor": 0.0, "scene.display.shading.curvature_valley_factor": 0.0, "scene.display.shading.light": "STUDIO", - "scene.display.shading.color_type": "MATERIAL", + "scene.display.shading.object_outline_color": [ + 0.0, + 0.0, + 0.0 + ], + "scene.display.shading.render_pass": "COMBINED", + "scene.display.shading.shadow_intensity": 0.5, + "scene.display.shading.show_backface_culling": false, + "scene.display.shading.show_cavity": false, + "scene.display.shading.show_object_outline": false, + "scene.display.shading.show_shadows": false, + "scene.display.shading.show_specular_highlight": true, + "scene.display.shading.show_xray": false, + "scene.display.shading.show_xray_wireframe": false, "scene.display.shading.single_color": [ 0.800000011920929, 0.800000011920929, 0.800000011920929 ], - "scene.display.shading.show_shadows": false, - "scene.display.shading.shadow_intensity": 0.5, + "scene.display.shading.studio_light": "Default", + "scene.display.shading.studiolight_background_alpha": 0.0, + "scene.display.shading.studiolight_background_blur": 0.0, + "scene.display.shading.studiolight_intensity": 0.0, + "scene.display.shading.studiolight_rotate_z": 0.0, + "scene.display.shading.type": "SOLID", + "scene.display.shading.use_compositor": "DISABLED", + "scene.display.shading.use_dof": false, + "scene.display.shading.use_scene_lights": false, + "scene.display.shading.use_scene_lights_render": false, + "scene.display.shading.use_scene_world": false, + "scene.display.shading.use_scene_world_render": false, + "scene.display.shading.use_studiolight_view_rotation": true, + "scene.display.shading.use_world_space_lighting": false, + "scene.display.shading.wireframe_color_type": "MATERIAL", + "scene.display.shading.xray_alpha": 0.5, + "scene.display.shading.xray_alpha_wireframe": 0.0, "scene.display.light_direction": [ 0.5773502588272095, 0.5773502588272095, 0.5773502588272095 ], - "scene.view_settings.use_curve_mapping": false, - "space.overlay.show_wireframes": false, - "space.overlay.wireframe_threshold": 1.0, - "space.overlay.show_floor": true, + "scene.display.matcap_ssao_attenuation": 1.0, + "scene.display.matcap_ssao_distance": 0.20000000298023224, + "scene.display.matcap_ssao_samples": 16, + "scene.display.render_aa": "8", + "scene.display.shadow_focus": 0.0, + "scene.display.shadow_shift": 0.10000000149011612, + "scene.display.viewport_aa": "FXAA", + "space.overlay.backwire_opacity": 0.5, + "space.overlay.bone_wire_alpha": 1.0, + "space.overlay.display_handle": "SELECTED", + "space.overlay.fade_inactive_alpha": 0.4000000059604645, + "space.overlay.gpencil_fade_layer": 0.5, + "space.overlay.gpencil_fade_objects": 0.5, + "space.overlay.gpencil_grid_opacity": 0.5, + "space.overlay.gpencil_vertex_paint_opacity": 1.0, + "space.overlay.grid_lines": 16, + "space.overlay.grid_scale": 1.0, + "space.overlay.grid_subdivisions": 10, + "space.overlay.normals_constant_screen_size": 7.0, + "space.overlay.normals_length": 0.10000000149011612, + "space.overlay.sculpt_curves_cage_opacity": 0.5, + "space.overlay.sculpt_mode_face_sets_opacity": 1.0, + "space.overlay.sculpt_mode_mask_opacity": 0.75, + "space.overlay.show_annotation": true, "space.overlay.show_axis_x": true, "space.overlay.show_axis_y": true, "space.overlay.show_axis_z": false, + "space.overlay.show_bones": true, + "space.overlay.show_cursor": true, + "space.overlay.show_curve_normals": false, + "space.overlay.show_edge_bevel_weight": true, + "space.overlay.show_edge_crease": true, + "space.overlay.show_edge_seams": true, + "space.overlay.show_edge_sharp": true, + "space.overlay.show_edges": false, + "space.overlay.show_extra_edge_angle": false, + "space.overlay.show_extra_edge_length": false, + "space.overlay.show_extra_face_angle": false, + "space.overlay.show_extra_face_area": false, + "space.overlay.show_extra_indices": false, + "space.overlay.show_extras": true, + "space.overlay.show_face_center": false, + "space.overlay.show_face_normals": false, + "space.overlay.show_face_orientation": false, + "space.overlay.show_faces": true, + "space.overlay.show_fade_inactive": false, + "space.overlay.show_floor": true, + "space.overlay.show_freestyle_edge_marks": true, + "space.overlay.show_freestyle_face_marks": true, + "space.overlay.show_look_dev": false, + "space.overlay.show_motion_paths": true, "space.overlay.show_object_origins": true, - "space.overlay.show_relationship_lines": true - }, - "render_type": "VIEWPORT" + "space.overlay.show_object_origins_all": false, + "space.overlay.show_occlude_wire": false, + "space.overlay.show_onion_skins": false, + "space.overlay.show_ortho_grid": true, + "space.overlay.show_outline_selected": true, + "space.overlay.show_overlays": true, + "space.overlay.show_paint_wire": false, + "space.overlay.show_relationship_lines": true, + "space.overlay.show_sculpt_curves_cage": true, + "space.overlay.show_sculpt_face_sets": true, + "space.overlay.show_sculpt_mask": true, + "space.overlay.show_split_normals": false, + "space.overlay.show_stats": false, + "space.overlay.show_statvis": false, + "space.overlay.show_text": true, + "space.overlay.show_vertex_normals": false, + "space.overlay.show_viewer_attribute": true, + "space.overlay.show_weight": false, + "space.overlay.show_wireframes": false, + "space.overlay.show_wpaint_contours": false, + "space.overlay.show_xray_bone": false, + "space.overlay.texture_paint_mode_opacity": 1.0, + "space.overlay.use_debug_freeze_view_culling": false, + "space.overlay.use_gpencil_canvas_xray": false, + "space.overlay.use_gpencil_edit_lines": true, + "space.overlay.use_gpencil_fade_gp_objects": false, + "space.overlay.use_gpencil_fade_layers": false, + "space.overlay.use_gpencil_fade_objects": false, + "space.overlay.use_gpencil_grid": false, + "space.overlay.use_gpencil_multiedit_line_only": false, + "space.overlay.use_gpencil_onion_skin": false, + "space.overlay.use_gpencil_show_directions": false, + "space.overlay.use_gpencil_show_material_name": false, + "space.overlay.use_normals_constant_screen_size": false, + "space.overlay.vertex_opacity": 1.0, + "space.overlay.vertex_paint_mode_opacity": 1.0, + "space.overlay.viewer_attribute_opacity": 1.0, + "space.overlay.weight_paint_mode_opacity": 1.0, + "space.overlay.wireframe_opacity": 1.0, + "space.overlay.wireframe_threshold": 1.0, + "space.overlay.xray_alpha_bone": 0.0 + } } } \ No newline at end of file diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py index 4456fc34fa..e16e10ab88 100644 --- a/src/blenderbim/blenderbim/bim/handler.py +++ b/src/blenderbim/blenderbim/bim/handler.py @@ -22,7 +22,6 @@ import addon_utils import ifcopenshell.api.owner.settings import blenderbim.tool as tool import blenderbim.core.owner as core_owner -from blenderbim.bim.module.drawing.prop import RasterStyleProperty from bpy.app.handlers import persistent from blenderbim.bim.ifc import IfcStore from blenderbim.bim.module.owner.prop import get_user_person, get_user_organisation diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index bc4c90af90..51d633da00 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -44,9 +44,9 @@ from blenderbim.bim.module.drawing.decoration import CutDecorator from blenderbim.bim.module.drawing.data import DecoratorData, DrawingsData import blenderbim.bim.export_ifc from lxml import etree -from mathutils import Vector +from mathutils import Vector, Color from timeit import default_timer as timer -from blenderbim.bim.module.drawing.prop import RasterStyleProperty, Literal +from blenderbim.bim.module.drawing.prop import RasterStyleProperty, Literal, RASTER_STYLE_PROPERTIES_EXCLUDE from blenderbim.bim.ifc import IfcStore from pathlib import Path @@ -1522,14 +1522,38 @@ class SaveDrawingStyle(bpy.types.Operator, Operator): space = self.get_view_3d(context) # Do not remove. It is used later in eval scene = context.scene style = {} - for prop in RasterStyleProperty: - value = eval(prop.value) + eval_namespace = { + 'context': context, + 'scene': scene, + 'space': space + } + + def add_prop_to_style(prop_path, context, scene, space): + value = eval(prop_path) if not isinstance(value, str): try: value = tuple(value) except TypeError: pass - style[prop.value] = value + style[prop_path] = value + + for prop in RasterStyleProperty: + if prop.name.startswith("EVAL_PROP"): + prop_path = prop.value + add_prop_to_style(prop_path, **eval_namespace) + else: + props_source_path = prop.value + props_source = eval(props_source_path) + for prop_name in dir(props_source): + if prop_name.startswith("__"): + continue + + prop_path = f"{props_source_path}.{prop_name}" + prop_value = eval(prop_path) + if not isinstance(prop_value, (int, float, bool, str, Color, Vector)) or props_source.is_property_readonly(prop_name) or prop_path in RASTER_STYLE_PROPERTIES_EXCLUDE: + continue + + add_prop_to_style(prop_path, **eval_namespace) if self.index: index = int(self.index) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index 11d90762f3..97cbcf2d4f 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -274,31 +274,22 @@ class DrawingStyle(PropertyGroup): attributes: CollectionProperty(name="Attributes", type=StrProperty) + class RasterStyleProperty(enum.Enum): - WORLD_COLOR = "bpy.data.worlds[0].color" - RENDER_ENGINE = "scene.render.engine" - RENDER_TRANSPARENT = "scene.render.film_transparent" - VIEW_TRANSFORM = "scene.view_settings.view_transform" - SHADING_SHOW_OBJECT_OUTLINE = "scene.display.shading.show_object_outline" - SHADING_SHOW_CAVITY = "scene.display.shading.show_cavity" - SHADING_CAVITY_TYPE = "scene.display.shading.cavity_type" - SHADING_CURVATURE_RIDGE_FACTOR = "scene.display.shading.curvature_ridge_factor" - SHADING_CURVATURE_VALLEY_FACTOR = "scene.display.shading.curvature_valley_factor" - SHADING_LIGHT = "scene.display.shading.light" - SHADING_COLOR_TYPE = "scene.display.shading.color_type" - SHADING_SINGLE_COLOR = "scene.display.shading.single_color" - SHADING_SHOW_SHADOWS = "scene.display.shading.show_shadows" - SHADING_SHADOW_INTENSITY = "scene.display.shading.shadow_intensity" - DISPLAY_LIGHT_DIRECTION = "scene.display.light_direction" - VIEW_USE_CURVE_MAPPING = "scene.view_settings.use_curve_mapping" - OVERLAY_SHOW_WIREFRAMES = "space.overlay.show_wireframes" - OVERLAY_WIREFRAME_THRESHOLD = "space.overlay.wireframe_threshold" - OVERLAY_SHOW_FLOOR = "space.overlay.show_floor" - OVERLAY_SHOW_AXIS_X = "space.overlay.show_axis_x" - OVERLAY_SHOW_AXIS_Y = "space.overlay.show_axis_y" - OVERLAY_SHOW_AXIS_Z = "space.overlay.show_axis_z" - OVERLAY_SHOW_OBJECT_ORIGINS = "space.overlay.show_object_origins" - OVERLAY_SHOW_RELATIONSHIP_LINES = "space.overlay.show_relationship_lines" + # EVAL_PROP_ props will be evaluated explicitly + EVAL_PROP_WORLD_COLOR = "bpy.data.worlds[0].color" + + # those props attributes used as a source for shading style properties + RENDER = "scene.render" + VIEW_SETTINGS = "scene.view_settings" + SHADING = "scene.display.shading" + DISPLAY = "scene.display" + OVERLAY = "space.overlay" + + +RASTER_STYLE_PROPERTIES_EXCLUDE = ( + "scene.render.filepath", +) class DocProperties(PropertyGroup):