Saving drawing shading styles to ifc #2991

Now shading styles are stored in ifc. It's actually stored in json file (by default it's in projects "assets/shading_styles.json") and the path to it saved in `EPset_Drawing.ShadingStyles`.
Current shading styles is stored in `EPset_Drawing.CurrentShadingStyle`.

This change could potentially cause problems but I've added some temporary fallback to make sure `EPset_Drawing.ShadingStyles` will be set to some default path and default shading styles will be copied to the project's folder.
This commit is contained in:
Andrej730
2023-05-11 17:22:41 +05:00
parent 046a356915
commit 91387b3aa8
15 changed files with 423 additions and 130 deletions
+5
View File
@@ -264,6 +264,9 @@ class TestAddDrawing:
drawing.get_default_drawing_resource_path("Markers").should_be_called().will_return("markers.svg")
drawing.get_default_drawing_resource_path("Symbols").should_be_called().will_return("symbols.svg")
drawing.get_default_drawing_resource_path("Patterns").should_be_called().will_return("patterns.svg")
drawing.get_default_drawing_resource_path("ShadingStyles").should_be_called().will_return("shading_styles.json")
drawing.get_default_shading_style().should_be_called().will_return("Blender Default")
drawing.setup_shading_styles_path("shading_styles.json").should_be_called()
drawing.get_unit_system().should_be_called().will_return("METRIC")
ifc.run(
"pset.edit_pset",
@@ -280,6 +283,8 @@ class TestAddDrawing:
"Markers": "markers.svg",
"Symbols": "symbols.svg",
"Patterns": "patterns.svg",
"ShadingStyles": "shading_styles.json",
"CurrentShadingStyle": "Blender Default",
},
).should_be_called()
drawing.get_default_drawing_path("name").should_be_called().will_return("uri")