diff --git a/bbp_ng/OP_ADDS_bme.py b/bbp_ng/OP_ADDS_bme.py index ef750b9..872326b 100644 --- a/bbp_ng/OP_ADDS_bme.py +++ b/bbp_ng/OP_ADDS_bme.py @@ -243,7 +243,7 @@ class BBP_OT_add_bme_struct(bpy.types.Operator): op_cfgs_visitor: UTIL_functions.CollectionVisitor[BBP_PG_bme_adder_cfgs] op_cfgs_visitor = UTIL_functions.CollectionVisitor(self.bme_struct_cfgs) # visit cfgs cache list to show cfg - layout.label(text="Prototype Configurations:", text_ctxt='BBP_OT_add_bme_struct/draw') + layout.label(text="Prototype Configurations", text_ctxt='BBP_OT_add_bme_struct/draw') for (cfg, cfg_index) in self.bme_struct_cfg_index_cache: # create box for cfgs box_layout: bpy.types.UILayout = layout.box() diff --git a/bbp_ng/raw_jsons/1x1.json b/bbp_ng/raw_jsons/1x1.json index 3162cda..47431ff 100644 --- a/bbp_ng/raw_jsons/1x1.json +++ b/bbp_ng/raw_jsons/1x1.json @@ -25,6 +25,8 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[3], None)", "is_sink": "is_sink" @@ -35,6 +37,8 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[5], None)", "is_sink": "is_sink" @@ -45,6 +49,8 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[2], None)", "is_sink": "is_sink" @@ -55,6 +61,8 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[4], None)", "is_sink": "is_sink" diff --git a/bbp_ng/raw_jsons/chris_vanilla.json b/bbp_ng/raw_jsons/chris_vanilla.json index 918bd14..a2bbacc 100644 --- a/bbp_ng/raw_jsons/chris_vanilla.json +++ b/bbp_ng/raw_jsons/chris_vanilla.json @@ -113,8 +113,8 @@ "params": { "height": "height", "length": "distance(0, 0, short_edge_offset, 2.5)", - "is_left_sink": "is_sink", - "is_right_sink": "False" + "is_left_sink": "False", + "is_right_sink": "is_sink" }, "transform": "rot(0, 0, angle(0, 0, short_edge_offset, 2.5)) @ scale(1, -1, 1)" }, @@ -134,7 +134,7 @@ "skip": "not face[5]", "params": { "height": "height", - "length": "length", + "length": "short_edge_length", "is_left_sink": "is_sink", "is_right_sink": "is_sink" }, @@ -157,6 +157,14 @@ "identifier": "cv_triangle_side", "showcase": null, "params": [ + { + "field": "edge_length", + "data": "5.0" + }, + { + "field": "tip_offset", + "data": "2.5" + }, { "field": "height", "data": "5.0" @@ -170,8 +178,16 @@ "data": "False" } ], - "skip": "False", + "skip": "edge_length == 0.0", "vars": [ + { + "field": "edge_uv_length", + "data": "edge_length / 5.0" + }, + { + "field": "tip_uv_offset", + "data": "tip_offset / 5.0" + }, { "field": "sink", "data": "0.7 if is_sink else 0.0" @@ -184,11 +200,11 @@ }, { "skip": "not face[0]", - "data": "(2.5, 2.5, -sink)" + "data": "(tip_offset, 2.5, -sink)" }, { "skip": "not face[0]", - "data": "(5.0, 0, 0)" + "data": "(edge_length, 0, 0)" } ], "faces": [ @@ -198,8 +214,8 @@ "indices": [0, 2, 1], "uvs": [ "(0, 0)", - "(0, 1)", - "(0.5, 0.5)" + "(0, edge_uv_length)", + "(0.5, tip_uv_offset)" ], "normals": null } @@ -210,7 +226,7 @@ "skip": "not face[4]", "params": { "height": "height", - "length": "5", + "length": "edge_length", "is_left_sink": "False", "is_right_sink": "False" }, @@ -221,30 +237,30 @@ "skip": "not face[2]", "params": { "height": "height", - "length": "distance(0, 0, 2.5, 2.5)", - "is_left_sink": "is_sink", - "is_right_sink": "False" + "length": "distance(0, 0, tip_offset, 2.5)", + "is_left_sink": "False", + "is_right_sink": "is_sink" }, - "transform": "rot(0, 0, 45) @ scale(1, -1, 1)" + "transform": "rot(0, 0, angle(0, 0, tip_offset, 2.5)) @ scale(1, -1, 1)" }, { "identifier": "raw_floor_side", "skip": "not face[3]", "params": { "height": "height", - "length": "distance(5, 0, 2.5, 2.5)", + "length": "distance(edge_length, 0, tip_offset, 2.5)", "is_left_sink": "False", "is_right_sink": "is_sink" }, - "transform": "move(5, 0, 0) @ rot(0, 0, 135)" + "transform": "move(edge_length, 0, 0) @ rot(0, 0, angle(edge_length, 0, tip_offset, 2.5))" }, { "identifier": "floor_triangle_bottom", "skip": "not face[1]", "params": { - "length": "5.0", + "length": "edge_length", "width": "2.5", - "tip_offset": "2.5" + "tip_offset": "tip_offset" }, "transform": "move(0, 0, -height)" } diff --git a/bbp_ng/raw_jsons/crossings.json b/bbp_ng/raw_jsons/crossings.json index cca670d..c66325c 100644 --- a/bbp_ng/raw_jsons/crossings.json +++ b/bbp_ng/raw_jsons/crossings.json @@ -25,6 +25,8 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[4], None)", "is_sink": "is_sink" @@ -55,6 +57,8 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[2], None)", "is_sink": "is_sink" @@ -128,6 +132,8 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[2], None)", "is_sink": "is_sink" diff --git a/bbp_ng/raw_jsons/terminals.json b/bbp_ng/raw_jsons/terminals.json index a2be0bb..6faeb42 100644 --- a/bbp_ng/raw_jsons/terminals.json +++ b/bbp_ng/raw_jsons/terminals.json @@ -25,36 +25,32 @@ "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "2.5", + "tip_offset": "2.5", "height": "height", - "face": "(face[0], False, False, False, face[4], None)", + "face": "(face[0], False, False, face[3], face[4], None)", "is_sink": "is_sink" }, "transform": "ident()" }, { - "identifier": "cv_triangle_center", + "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "2.5", + "tip_offset": "2.5", "height": "height", - "face": "(face[0], False, False, False, face[3], None)", + "face": "(face[0], False, False, face[3], face[5], None)", "is_sink": "is_sink" }, - "transform": "move(5, 0, 0) @ rot(0, 0, 90)" - }, - { - "identifier": "cv_triangle_side", - "skip": "False", - "params": { - "height": "height", - "face": "(face[0], False, False, False, face[5], None)", - "is_sink": "is_sink" - }, - "transform": "move(5, 5, 0) @ rot(0, 0, 180)" + "transform": "move(0, 5, 0) @ scale(1, -1, 1)" }, { "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "5", + "tip_offset": "2.5", "height": "height", "face": "(face[0], False, False, False, face[2], None)", "is_sink": "is_sink" @@ -65,7 +61,7 @@ "identifier": "floor_rectangle_bottom", "skip": "not face[1]", "params": { - "length": "5", + "length": "2.5", "width": "5" }, "transform": "move(0, 0, -height)" diff --git a/bbp_ng/raw_jsons/wide_floors.json b/bbp_ng/raw_jsons/wide_floors.json index 36b386f..72cd25c 100644 --- a/bbp_ng/raw_jsons/wide_floors.json +++ b/bbp_ng/raw_jsons/wide_floors.json @@ -54,7 +54,7 @@ "data": "face_" } ], - "skip": "False", + "skip": "length == 0.0 or width == 0.0", "vars": [], "vertices": [], "faces": [], @@ -65,7 +65,7 @@ "params": { "length": "length", "height": "height", - "face": "(face[0], face[1], face[2], face[3], face[4], False)" + "face": "(face[0], False, face[2], face[3], face[4], False)" }, "transform": "ident()" }, @@ -75,9 +75,9 @@ "params": { "length": "length", "height": "height", - "face": "(face[0], face[1], face[3], face[2], face[5], False)" + "face": "(face[0], False, face[2], face[3], face[5], False)" }, - "transform": "move(length, 5 + width, 0) @ rot(0, 0, 180)" + "transform": "move(0, 5 + width, 0) @ scale(1, -1, 1)" }, { "identifier": "floor_flat", @@ -86,10 +86,19 @@ "height": "height", "length": "length", "width": "width", - "face": "(face[0], face[1], face[2], face[3], False, False)", + "face": "(face[0], False, face[2], face[3], False, False)", "is_sink": "True" }, "transform": "move(0, 2.5, 0)" + }, + { + "identifier": "floor_rectangle_bottom", + "skip": "not face[1]", + "params": { + "length": "length", + "width": "5 + width" + }, + "transform": "move(0, 0, -height)" } ] }, @@ -137,38 +146,57 @@ "data": "face_" } ], - "skip": "False", + "skip": "width == 0.0", "vars": [], "vertices": [], "faces": [], "instances": [ { - "identifier": "floor_sink_outter_corner", + "identifier": "cv_trapezoid_side", "skip": "False", "params": { + "long_edge_length": "width + 5", + "short_edge_offset": "2.5", + "short_edge_length": "width", "height": "height", - "face": "(face[0], face[1], face[5], False, face[2], face[3])" + "face": "(face[0], False, False, False, face[2], face[3])", + "is_sink": "True", + "is_ribbon": "False" }, - "transform": "move(0, 5 + width, 0) @ rot(0, 0, -90)" + "transform": "rot(0, 0, 90) @ scale(1, -1, 1)" }, { - "identifier": "floor_sink_outter_corner", + "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "2.5", + "tip_offset": "2.5", "height": "height", - "face": "(face[0], face[1], face[2], face[3], face[4], False)" + "face": "(face[0], False, False, face[3], face[4], None)", + "is_sink": "True" }, "transform": "ident()" }, { - "identifier": "floor_sink_border", + "identifier": "cv_triangle_side", "skip": "False", "params": { + "edge_length": "2.5", + "tip_offset": "2.5", "height": "height", - "length": "width", - "face": "(face[0], face[1], False, False, face[2], face[3])" + "face": "(face[0], False, False, face[3], face[5], None)", + "is_sink": "True" }, - "transform": "move(0, 2.5 + width, 0) @ rot(0, 0, -90)" + "transform": "move(0, width + 5, 0) @ scale(1, -1, 1)" + }, + { + "identifier": "floor_rectangle_bottom", + "skip": "not face[1]", + "params": { + "length": "2.5", + "width": "5 + width" + }, + "transform": "move(0, 0, -height)" } ] }, @@ -227,46 +255,45 @@ "data": "face_" } ], - "skip": "False", + "skip": "width_h == 0.0 or width_v == 0.0", "vars": [], "vertices": [], "faces": [], "instances": [ { - "identifier": "floor_sink_outter_corner", + "identifier": "cv_trapezoid_side", "skip": "False", "params": { + "long_edge_length": "width_h + 5", + "short_edge_offset": "2.5", + "short_edge_length": "width_h + 2.5", "height": "height", - "face": "(face[0], face[1], face[2], False, face[4], False)" + "face": "(face[0], False, False, face[3], face[4], False)", + "is_sink": "True", + "is_ribbon": "False" }, "transform": "ident()" }, { - "identifier": "floor_sink_border", + "identifier": "cv_trapezoid_side", "skip": "False", "params": { - "length": "2.5 + width_h", + "long_edge_length": "width_v + 5", + "short_edge_offset": "2.5", + "short_edge_length": "width_v + 2.5", "height": "height", - "face": "(face[0], face[1], False, face[3], face[4], False)" + "face": "(face[0], False, False, face[5], face[2], False)", + "is_sink": "True", + "is_ribbon": "False" }, - "transform": "move(2.5, 0, 0)" - }, - { - "identifier": "floor_sink_border", - "skip": "False", - "params": { - "length": "2.5 + width_v", - "height": "height", - "face": "(face[0], face[1], face[5], False, face[2], False)" - }, - "transform": "move(0, 5 + width_v, 0) @ rot(0, 0, -90)" + "transform": "rot(0, 0, 90) @ scale(1, -1, 1)" }, { "identifier": "floor_sink_inner_corner", "skip": "False", "params": { "height": "height", - "face": "(face[0], face[1], False, face[3], False, face[5])" + "face": "(face[0], False, False, face[3], False, face[5])" }, "transform": "move(2.5 + width_h, 2.5 + width_v, 0)" }, @@ -277,7 +304,7 @@ "height": "height", "length": "width_h + 2.5", "width": "width_v", - "face": "(face[0], face[1], False, face[3], False, False)", + "face": "(face[0], False, False, face[3], False, False)", "is_sink": "True" }, "transform": "move(2.5, 2.5, 0)" @@ -289,10 +316,19 @@ "height": "height", "length": "width_h", "width": "2.5", - "face": "(face[0], face[1], False, False, False, face[5])", + "face": "(face[0], False, False, False, False, face[5])", "is_sink": "True" }, "transform": "move(2.5, 2.5 + width_v, 0)" + }, + { + "identifier": "floor_rectangle_bottom", + "skip": "not face[1]", + "params": { + "length": "width_h + 5", + "width": "width_v + 5" + }, + "transform": "move(0, 0, -height)" } ] }, @@ -351,7 +387,7 @@ "data": "face_" } ], - "skip": "False", + "skip": "width_h == 0.0 or width_v == 0.0", "vars": [], "vertices": [], "faces": [], @@ -362,7 +398,7 @@ "params": { "length": "5 + width_v", "height": "height", - "face": "(face[0], face[1], face[5], face[4], face[2], False)" + "face": "(face[0], False, face[5], face[4], face[2], False)" }, "transform": "move(0, 5 + width_v, 0) @ rot(0, 0, -90)" }, @@ -371,7 +407,7 @@ "skip": "False", "params": { "height": "height", - "face": "(face[0], face[1], False, face[4], False, face[3])" + "face": "(face[0], False, False, face[4], False, face[3])" }, "transform": "move(2.5 + width_h, 2.5, 0) @ rot(0, 0, -90)" }, @@ -380,7 +416,7 @@ "skip": "False", "params": { "height": "height", - "face": "(face[0], face[1], False, face[3], False, face[5])" + "face": "(face[0], False, False, face[3], False, face[5])" }, "transform": "move(2.5 + width_h, 2.5 + width_v, 0)" }, @@ -391,7 +427,7 @@ "height": "height", "length": "width_h", "width": "5 + width_v", - "face": "(face[0], face[1], False, False, face[4], face[5])", + "face": "(face[0], False, False, False, face[4], face[5])", "is_sink": "True" }, "transform": "move(2.5, 0, 0)" @@ -403,10 +439,19 @@ "height": "height", "length": "2.5", "width": "width_v", - "face": "(face[0], face[1], False, face[3], False, False)", + "face": "(face[0], False, False, face[3], False, False)", "is_sink": "True" }, "transform": "move(2.5 + width_h, 2.5, 0)" + }, + { + "identifier": "floor_rectangle_bottom", + "skip": "not face[1]", + "params": { + "length": "width_h + 5", + "width": "width_v + 5" + }, + "transform": "move(0, 0, -height)" } ] }, @@ -465,7 +510,7 @@ "data": "face_" } ], - "skip": "False", + "skip": "width_h == 0.0 or width_v == 0.0", "vars": [], "vertices": [], "faces": [], @@ -475,7 +520,7 @@ "skip": "False", "params": { "height": "height", - "face": "(face[0], face[1], False, face[5], False, face[2])" + "face": "(face[0], False, False, face[5], False, face[2])" }, "transform": "move(2.5, 2.5 + width_v, 0) @ rot(0, 0, -270)" }, @@ -484,7 +529,7 @@ "skip": "False", "params": { "height": "height", - "face": "(face[0], face[1], False, face[2], False, face[4])" + "face": "(face[0], False, False, face[2], False, face[4])" }, "transform": "move(2.5, 2.5, 0) @ rot(0, 0, -180)" }, @@ -493,7 +538,7 @@ "skip": "False", "params": { "height": "height", - "face": "(face[0], face[1], False, face[4], False, face[3])" + "face": "(face[0], False, False, face[4], False, face[3])" }, "transform": "move(2.5 + width_h, 2.5, 0) @ rot(0, 0, -90)" }, @@ -502,7 +547,7 @@ "skip": "False", "params": { "height": "height", - "face": "(face[0], face[1], False, face[3], False, face[5])" + "face": "(face[0], False, False, face[3], False, face[5])" }, "transform": "move(2.5 + width_h, 2.5 + width_v, 0)" }, @@ -513,7 +558,7 @@ "height": "height", "length": "width_h", "width": "5 + width_v", - "face": "(face[0], face[1], False, False, face[4], face[5])", + "face": "(face[0], False, False, False, face[4], face[5])", "is_sink": "True" }, "transform": "move(2.5, 0, 0)" @@ -525,7 +570,7 @@ "height": "height", "length": "2.5", "width": "width_v", - "face": "(face[0], face[1], False, face[3], False, False)", + "face": "(face[0], False, False, face[3], False, False)", "is_sink": "True" }, "transform": "move(2.5 + width_h, 2.5, 0)" @@ -537,10 +582,19 @@ "height": "height", "length": "2.5", "width": "width_v", - "face": "(face[0], face[1], face[2], False, False, False)", + "face": "(face[0], False, face[2], False, False, False)", "is_sink": "True" }, "transform": "move(0, 2.5, 0)" + }, + { + "identifier": "floor_rectangle_bottom", + "skip": "not face[1]", + "params": { + "length": "width_h + 5", + "width": "width_v + 5" + }, + "transform": "move(0, 0, -height)" } ] }