diff --git a/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_cant_segment.py b/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_cant_segment.py index 4371ba18e1..8bf5fb5f2b 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_cant_segment.py +++ b/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_cant_segment.py @@ -393,22 +393,22 @@ def map_alignment_cant_segment( if not segment.is_a(expected_type): raise TypeError(f"Expected to see type '{expected_type}', instead received '{segment.is_a()}'.") - match segment.DesignParameters.PredefinedType: - case "CONSTANTCANT": - result = _map_constant_cant(file, segment.DesignParameters, rail_head_distance) - case "LINEARTRANSITION": - result = _map_linear_transition(file, segment.DesignParameters, rail_head_distance) - case "HELMERTCURVE": - result = _map_helmert_curve(file, segment.DesignParameters, rail_head_distance) - case "BLOSSCURVE": - result = _map_bloss_curve(file, segment.DesignParameters, rail_head_distance) - case "COSINECURVE": - result = _map_cosine_curve(file, segment.DesignParameters, rail_head_distance) - case "SINECURVE": - result = _map_sine_curve(file, segment.DesignParameters, rail_head_distance) - case "VIENNESEBEND": - result = _map_viennese_bend(file, segment.DesignParameters, rail_head_distance) - case _: - raise TypeError("Unexpected predefined type") + predefined_type = segment.DesignParameters.PredefinedType + if predefined_type == "CONSTANTCANT": + result = _map_constant_cant(file, segment.DesignParameters, rail_head_distance) + elif predefined_type == "LINEARTRANSITION": + result = _map_linear_transition(file, segment.DesignParameters, rail_head_distance) + elif predefined_type == "HELMERTCURVE": + result = _map_helmert_curve(file, segment.DesignParameters, rail_head_distance) + elif predefined_type == "BLOSSCURVE": + result = _map_bloss_curve(file, segment.DesignParameters, rail_head_distance) + elif predefined_type == "COSINECURVE": + result = _map_cosine_curve(file, segment.DesignParameters, rail_head_distance) + elif predefined_type == "SINECURVE": + result = _map_sine_curve(file, segment.DesignParameters, rail_head_distance) + elif predefined_type == "VIENNESEBEND": + result = _map_viennese_bend(file, segment.DesignParameters, rail_head_distance) + else: + raise TypeError(f"Unexpected predefined type: '{predefined_type}'.") return result diff --git a/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_horizontal_segment.py b/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_horizontal_segment.py index 2df95f8e88..9feb27e2f6 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_horizontal_segment.py +++ b/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_horizontal_segment.py @@ -412,26 +412,26 @@ def map_alignment_horizontal_segment(file: ifcopenshell.file, segment: entity_in if not segment.is_a(expected_type): raise TypeError(f"Expected to see type '{expected_type}', instead received '{segment.is_a()}'.") - match segment.DesignParameters.PredefinedType: - case "LINE": - result = _map_line(file, segment.DesignParameters) - case "CIRCULARARC": - result = _map_circular_arc(file, segment.DesignParameters) - case "CLOTHOID": - result = _map_clothoid(file, segment.DesignParameters) - case "CUBIC": - result = _map_cubic(file, segment.DesignParameters) - case "HELMERTCURVE": - result = _map_helmert_curve(file, segment.DesignParameters) - case "BLOSSCURVE": - result = _map_bloss_curve(file, segment.DesignParameters) - case "COSINECURVE": - result = _map_cosine_curve(file, segment.DesignParameters) - case "SINECURVE": - result = _map_sine_curve(file, segment.DesignParameters) - case "VIENNESEBEND": - result = _map_viennese_bend(file, segment.DesignParameters) - case _: - raise TypeError("Unexpected predefined type") + predefined_type = segment.DesignParameters.PredefinedType + if predefined_type == "LINE": + result = _map_line(file, segment.DesignParameters) + elif predefined_type == "CIRCULARARC": + result = _map_circular_arc(file, segment.DesignParameters) + elif predefined_type == "CLOTHOID": + result = _map_clothoid(file, segment.DesignParameters) + elif predefined_type == "CUBIC": + result = _map_cubic(file, segment.DesignParameters) + elif predefined_type == "HELMERTCURVE": + result = _map_helmert_curve(file, segment.DesignParameters) + elif predefined_type == "BLOSSCURVE": + result = _map_bloss_curve(file, segment.DesignParameters) + elif predefined_type == "COSINECURVE": + result = _map_cosine_curve(file, segment.DesignParameters) + elif predefined_type == "SINECURVE": + result = _map_sine_curve(file, segment.DesignParameters) + elif predefined_type == "VIENNESEBEND": + result = _map_viennese_bend(file, segment.DesignParameters) + else: + raise TypeError(f"Unexpected predefined type: '{predefined_type}'.") return result diff --git a/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_vertical_segment.py b/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_vertical_segment.py index f2f654cf7c..e0ef68d40e 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_vertical_segment.py +++ b/src/ifcopenshell-python/ifcopenshell/api/alignment/map_alignment_vertical_segment.py @@ -199,20 +199,21 @@ def map_alignment_vertical_segment(file: ifcopenshell.file, segment: entity_inst if not segment.is_a(expected_type): raise TypeError(f"Expected to see type '{expected_type}', instead received '{segment.is_a()}'.") - match segment.DesignParameters.PredefinedType: - case "CONSTANTGRADIENT": - result = _map_constant_gradient(file, segment.DesignParameters) + predefined_type = segment.DesignParameters.PredefinedType - case "PARABOLICARC": - result = _map_parabolic_arc(file, segment.DesignParameters) + if predefined_type == "CONSTANTGRADIENT": + result = _map_constant_gradient(file, segment.DesignParameters) - case "CIRCULARARC": - result = _map_circular_arc(file, segment.DesignParameters) + elif predefined_type == "PARABOLICARC": + result = _map_parabolic_arc(file, segment.DesignParameters) - case "CLOTHOID": - result = _map_clothoid(file, segment.DesignParameters) + elif predefined_type == "CIRCULARARC": + result = _map_circular_arc(file, segment.DesignParameters) - case _: - raise TypeError(f"Unexpected predefined type - got {segment.DesignParameters.PredefinedType}") + elif predefined_type == "CLOTHOID": + result = _map_clothoid(file, segment.DesignParameters) + + else: + raise TypeError(f"Unexpected predefined type - got {segment.DesignParameters.PredefinedType}") return result