diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 875c6f5a..edebcd6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,11 @@ jobs: with: fetch-depth: 0 + - name: Warn if PR is to main + if: github.event_name == 'pull_request' && github.base_ref == 'main' + run: | + echo "::warning::This pull request is targeting the 'main' branch. Please ensure this is intended." + - name: Update submodule run: | git submodule init && git submodule update --recursive --remote @@ -27,7 +32,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - pip install behave pytest tabulate pyparsing sqlalchemy numpy pydantic pydot sqlalchemy_utils django python-dotenv deprecated pandas pyspellchecker + pip install behave pytest tabulate pyparsing sqlalchemy numpy pydantic pydot sqlalchemy_utils django python-dotenv deprecated pandas pyspellchecker rtree wget -O /tmp/ifcopenshell_python.zip https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-`python3 -c 'import sys;print("".join(map(str, sys.version_info[0:2])))'`-v0.8.0-90ae709-linux64.zip mkdir -p `python3 -c 'import site; print(site.getusersitepackages())'` unzip -d `python3 -c 'import site; print(site.getusersitepackages())'` /tmp/ifcopenshell_python.zip diff --git a/features/ALB010_Alignment-nesting-referents.feature b/features/ALB010_Alignment-nesting-referents.feature new file mode 100644 index 00000000..bdbfdc2f --- /dev/null +++ b/features/ALB010_Alignment-nesting-referents.feature @@ -0,0 +1,15 @@ +@industry-practice +@ALB +@version1 +@E00100 +Feature: ALB010 - Alignment Nesting Referents +The rule verifies that each alignment nests at least one IfcReferent, such as stations or mileage points. +These can be used as semantic entities holding information about locations along the alignment. +IfcReferent is associated to IfcAlignment via the IfcRelNests relationship. + + Scenario: Agreement on each IfcAlignment nesting at least one IfcReferent + + Given A model with Schema "IFC4.3" + Given An IfcAlignment + + Then A relationship IfcRelNests must exist from IfcAlignment to IfcReferent \ No newline at end of file diff --git a/features/ALA001_Alignment-overall-agreement-of-business-logic-and-geometry.feature b/features/ALB021_Alignment-overall-agreement-of-business-logic-and-geometry.feature similarity index 87% rename from features/ALA001_Alignment-overall-agreement-of-business-logic-and-geometry.feature rename to features/ALB021_Alignment-overall-agreement-of-business-logic-and-geometry.feature index 3323673d..38f23c34 100644 --- a/features/ALA001_Alignment-overall-agreement-of-business-logic-and-geometry.feature +++ b/features/ALB021_Alignment-overall-agreement-of-business-logic-and-geometry.feature @@ -1,9 +1,10 @@ @implementer-agreement -@ALA +@ALB @version1 @E00010 -Feature: ALA001 - Alignment overall agreement of business logic and geometry - The rule verifies that when an Alignment has both business logic and geometry (representation), the representation entity type must correspond to the layouts present in the business logic. +Feature: ALB021 - Alignment overall agreement of business logic and geometry + The rule verifies that when an Alignment has both business logic and geometry (representation), + the representation entity type must correspond to the layouts present in the business logic. Background: Validating overall agreement on presence of cant in business logic Given A model with Schema "IFC4.3" diff --git a/features/ALA002_Alignment-agreement-on-number-of-segments.feature b/features/ALB022_Alignment-agreement-on-number-of-segments.feature similarity index 93% rename from features/ALA002_Alignment-agreement-on-number-of-segments.feature rename to features/ALB022_Alignment-agreement-on-number-of-segments.feature index fb1823da..9eb8ae50 100644 --- a/features/ALA002_Alignment-agreement-on-number-of-segments.feature +++ b/features/ALB022_Alignment-agreement-on-number-of-segments.feature @@ -1,8 +1,8 @@ @implementer-agreement -@ALA +@ALB @version1 @E00040 -Feature: ALA002 - Alignment agreement on number of segments +Feature: ALB022 - Alignment agreement on number of segments The rule verifies that when an Alignment has both business logic and geometry (representation), the number of segments in the representation must correspond to the number of segments indicated by the business logic. diff --git a/features/ALA003_Alignment-same-segment-types-in-business-logic-and-geometry.feature b/features/ALB023_Alignment-same-segment-types-in-business-logic-and-geometry.feature similarity index 96% rename from features/ALA003_Alignment-same-segment-types-in-business-logic-and-geometry.feature rename to features/ALB023_Alignment-same-segment-types-in-business-logic-and-geometry.feature index f06d5658..05390472 100644 --- a/features/ALA003_Alignment-same-segment-types-in-business-logic-and-geometry.feature +++ b/features/ALB023_Alignment-same-segment-types-in-business-logic-and-geometry.feature @@ -1,8 +1,8 @@ @implementer-agreement -@ALA +@ALB @version2 @E00040 -Feature: ALA003 - Alignment same segment types in business logic and geometry +Feature: ALB023 - Alignment same segment types in business logic and geometry The rule verifies that when an Alignment has both business logic and geometry (representation), the geometry type of each segments in the business logic must be the same as its corresponding segment in the representation. diff --git a/features/BLT002_Correct-use-of-partitioning-type-attributes-for-windows.feature b/features/BLT002_Correct-use-of-partitioning-type-attributes-for-windows.feature new file mode 100644 index 00000000..0a00efdf --- /dev/null +++ b/features/BLT002_Correct-use-of-partitioning-type-attributes-for-windows.feature @@ -0,0 +1,30 @@ +@implementer-agreement +@BLT +@version1 +@E00020 + +Feature: BLT002 - Correct use of partitioning type attributes for windows + + The rule verifies that attribute UserDefinedPartitioningType is provided only when + the value of the attribute PartitioningType is set to USERDEFINED. + +Scenario Outline: Correct values for PartitioningType and UserDefinedPartitioningType + + Given an + Given UserDefinedPartitioningType = not empty + Given IsTypedBy = empty + + Then PartitioningType = 'USERDEFINED' + + Examples: + | entity | + | IfcWindow | + | IfcWindowType | + + +Scenario: Correct IfcPartitioningType with relating type object + + Given an IfcWindow + Given a relationship IfcRelDefinesByType to IfcWindow from IfcWindowType + + Then PartitioningType is empty \ No newline at end of file diff --git a/features/BRP001_Polyhedral-IfcFace-boundary-no-self-intersections.feature b/features/BRP001_Polyhedral-IfcFace-boundary-no-self-intersections.feature new file mode 100644 index 00000000..488bcc0d --- /dev/null +++ b/features/BRP001_Polyhedral-IfcFace-boundary-no-self-intersections.feature @@ -0,0 +1,17 @@ +@informal-proposition +@GEM +@BRP +@version1 +@E00050 +Feature: BRP001 - Polyhedral IfcFace boundary no self-intersections +The rule verifies that IfcFace instances do not have any self-intersections in their boundaries. +IfcFace with polygonal loops are used in IFC's Boundary Representation (BRep) mechanism. + + Scenario: Validating that polyhedral IfcFace instances do not have self-intersections in their boundaries + + Given An IfcFace + Given Its attribute Bounds + Given Its attribute Bound + Given Its Entity Type is 'IfcPolyLoop' + + Then There must be no self-intersections diff --git a/features/CLS000_Classification-association.feature b/features/CLS000_Classification-association.feature new file mode 100644 index 00000000..20556e4c --- /dev/null +++ b/features/CLS000_Classification-association.feature @@ -0,0 +1,21 @@ +@implementer-agreement +@CLS +@version1 +@E00020 + +Feature: CLS000 - Classification Association + The rule verifies the presence of IFC entities used to classify elements, materials, and systems according to various classification systems, + such as the UNIFORMAT or Omniclass classification systems. + https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Object_Association/Classification_Association/content.html + + + Scenario: Check for activation of Classification Association + + Given an IfcObjectDefinition + Given its attribute HasAssociations + Given its entity type is 'IfcRelAssociatesClassification' + Given its attribute RelatingClassification + Given its entity type is 'IfcClassificationReference' + + Then The IFC model contains information on the selected functional part + diff --git a/features/IFC102_Absence-of-deprecated-entities.feature b/features/IFC102_Absence-of-deprecated-entities.feature index aa8a9e65..2c721a29 100644 --- a/features/IFC102_Absence-of-deprecated-entities.feature +++ b/features/IFC102_Absence-of-deprecated-entities.feature @@ -1,5 +1,5 @@ @IFC -@version2 +@version3 @E00030 @implementer-agreement Feature: IFC102 - Absence of deprecated entities @@ -17,7 +17,7 @@ IFC4: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ Given A model with Schema "IFC4.3" Given An IFC model - Then There must be less than 1 instance(s) of + Then There must be less than 1 instance(s) of excluding subtypes Examples: | Entity | @@ -33,7 +33,6 @@ IFC4: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ | IfcMaterialList | | IfcPermeableCoveringProperties | | IfcPostalAddress | - | IfcPresentationStyleSelect | | IfcRelConnectsPortToElement | | IfcRelCoversBldgElements | | IfcRelServicesBuildings | @@ -52,7 +51,7 @@ IFC4: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ Given An IFC model Given A model with Schema "IFC4" - Then There must be less than 1 instance(s) of + Then There must be less than 1 instance(s) of excluding subtypes Examples: | Entity | @@ -74,13 +73,11 @@ IFC4: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ | IfcOpeningStandardCase | | IfcPlateStandardCase | | IfcPresentationStyleAssignment | - | IfcPresentationStyleSelect | | IfcProxy | | IfcRelCoversBldgElements | | IfcRelCoversSpaces | | IfcSlabElementedCase | | IfcSlabStandardCase | - | IfcStyleAssignmentSelect | | IfcTextLiteral | | IfcWallElementedCase | | IfcWallStandardCase | @@ -94,7 +91,7 @@ IFC4: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ Given An IFC model Given A model with Schema "IFC2X3" - Then There must be less than 1 instance(s) of + Then There must be less than 1 instance(s) of excluding subtypes Examples: | Entity | @@ -334,4 +331,4 @@ IFC4: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ Given A model with Schema "IFC2X3" Given an IfcPropertySet - Then Name is not 'Pset_Draughting' \ No newline at end of file + Then Name is not 'Pset_Draughting' diff --git a/features/LAY000_Presentation-layer-assignment.feature b/features/LAY000_Presentation-layer-assignment.feature new file mode 100644 index 00000000..7c6c3173 --- /dev/null +++ b/features/LAY000_Presentation-layer-assignment.feature @@ -0,0 +1,31 @@ +@implementer-agreement +@LAY +@version1 +@E00020 + +Feature: LAY000 - Presentation Layer Assignment + The rule verifies the presence of IFC entities used to assign layers (also known as, CAD layer) to collection of elements. + This is used mainly for grouping and visibility control, and in general to organise geometry into groups that may be shown or hidden. + https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Product_Shape/Product_Geometry_Layer/content.html + + + Scenario: Layer assignment to representation + + Given an IfcProduct + Given its attribute Representation + Given its attribute Representations + Given its attribute LayerAssignments + + Then The IFC model contains information on the selected functional part + + + Scenario: Layer assignment to representation items + + Given an IfcProduct + Given its attribute Representation + Given its attribute Representations + Given its attribute Items + Given its attribute LayerAssignment + + Then The IFC model contains information on the selected functional part + \ No newline at end of file diff --git a/features/PJS002_Correct-elements-related-to-project.feature b/features/PJS002_Correct-elements-related-to-project.feature index 8f59f3b9..62354e2e 100644 --- a/features/PJS002_Correct-elements-related-to-project.feature +++ b/features/PJS002_Correct-elements-related-to-project.feature @@ -1,6 +1,5 @@ @implementer-agreement @PJS -@BLT @version2 @E00010 Feature: PJS002 - Correct elements related to project diff --git a/features/PJS003_Globally-Unique-Identifiers.feature b/features/PJS003_Globally-Unique-Identifiers.feature new file mode 100644 index 00000000..6296a094 --- /dev/null +++ b/features/PJS003_Globally-Unique-Identifiers.feature @@ -0,0 +1,25 @@ +@implementer-agreement +@PJS +@version1 +@E00010 +Feature: PJS003 - Globally Unique Identifiers + The rule verifies that the GUID of each element adheres to the Global Unique Identifier format + and ensures compliance with constraints that are not yet validated by other methods. + Specifically, the characters must be within the official encoding character set + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$," + , the resulting string must be exactly 22 characters in length, and the first character must be either 0, 1, 2, or 3. + + https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGloballyUniqueId.htm + + + Scenario Outline: Valid globally unique identifiers + Given An IfcRoot + Given Its attribute GlobalId + + Then + + Examples: + | Constraint | + | The string length must be exactly "22" characters | + | The characters must be within the official encoding character set | + | Its value starts with 0 or 1 or 2 or 3 | diff --git a/features/SWE001_Arbitrary-profile-boundary-no-self-intersections.feature b/features/SWE001_Arbitrary-profile-boundary-no-self-intersections.feature new file mode 100644 index 00000000..322687de --- /dev/null +++ b/features/SWE001_Arbitrary-profile-boundary-no-self-intersections.feature @@ -0,0 +1,23 @@ +@disabled +@informal-proposition +@SWE +@version1 +@E00050 +Feature: SWE001 - Arbitrary profile boundary no self-intersections +The rule verifies that IfcArbitraryClosedProfileDefs and IfcArbitraryProfileDefWithVoids do +not have any self-intersections in their boundaries. Profile definitions are the basis of +geometrical sweeps such as extrusions. + + Scenario: Validating that IfcArbitraryClosedProfileDef instances do not have self-intersections in their boundaries + + Given An IfcArbitraryClosedProfileDef + Given Its attribute OuterCurve + + Then There must be no self-intersections + + Scenario: Validating that IfcArbitraryProfileDefWithVoids instances do not have self-intersections in their inner boundaries + + Given An IfcArbitraryClosedProfileDef + Given Its attribute InnerCurves + + Then There must be no self-intersections diff --git a/features/TAS001_Polygonal-face-boundary-no-self-intersections.feature b/features/TAS001_Polygonal-face-boundary-no-self-intersections.feature new file mode 100644 index 00000000..edc15f3b --- /dev/null +++ b/features/TAS001_Polygonal-face-boundary-no-self-intersections.feature @@ -0,0 +1,22 @@ +@informal-proposition +@TAS +@version1 +@E00050 +Feature: TAS001 - Polygonal face boundary no self-intersections +The rule verifies that IfcFace instances do not have any self-intersections in their boundaries. +IfcFace with polygonal loops are used in IFC's Boundary Representation (BRep) mechanism. + + Scenario: Validating that tessellated face instances do not have self-intersections in their boundaries + + Given An IfcPolygonalFaceSet + Given Its attribute Faces + + Then There must be no self-intersections for attribute CoordIndex + + Scenario: Validating that tessellated face instances with voids do not have self-intersections in their inner boundaries + + Given An IfcPolygonalFaceSet + Given Its attribute Faces + Given Its Entity Type is 'IfcIndexedPolygonalFaceWithVoids' + + Then There must be no self-intersections for attribute InnerCoordIndices diff --git a/features/environment.py b/features/environment.py index 9da93e50..9701b120 100644 --- a/features/environment.py +++ b/features/environment.py @@ -42,17 +42,9 @@ def before_feature(context, feature): } protocol_errors = protocol.enforce(convention_attrs) for error in protocol_errors: - validation_outcome = ValidationOutcome( - outcome_code=ValidationOutcomeCode.EXECUTED, - observed=error, - expected=error, - feature=context.feature.name, - feature_version=1, - severity=OutcomeSeverity.ERROR, - ) - context.protocol_errors.append(validation_outcome) - - context.gherkin_outcomes = context.protocol_errors + context.protocol_errors.append(error) + + context.gherkin_outcomes = [] def before_scenario(context, scenario): @@ -130,4 +122,8 @@ def get_or_create_instance_when_set(spf_id): outcomes_json_str = json.dumps(outcomes) #ncodes to utf-8 outcomes_bytes = outcomes_json_str.encode("utf-8") for formatter in filter(lambda f: hasattr(f, "embedding"), context._runner.formatters): - formatter.embedding(mime_type="application/json", data=outcomes_bytes, target='feature', attribute_name='validation_outcomes') \ No newline at end of file + formatter.embedding(mime_type="application/json", data=outcomes_bytes, target='feature', attribute_name='validation_outcomes') + + # embed protocol errors + protocol_errors_bytes = json.dumps(context.protocol_errors).encode("utf-8") + formatter.embedding(mime_type="application/json", data=protocol_errors_bytes, target='feature', attribute_name='protocol_errors') \ No newline at end of file diff --git a/features/rule_creation_protocol/protocol.py b/features/rule_creation_protocol/protocol.py index 83afe61e..bfe4968b 100644 --- a/features/rule_creation_protocol/protocol.py +++ b/features/rule_creation_protocol/protocol.py @@ -99,10 +99,12 @@ def validate_separators(cls, value, values): valid_separators = values.data['valid_separators'] unvalid_separators = [separator for separator in separators if separator != valid_separators] if any(unvalid_separators): - raise ProtocolError( - value = separators, - message = f"expected {valid_separators} but found the following unvalid seperators {unvalid_separators} for name {values.data['name']}" - ) + # For feature descriptions in the feature file, we also allow hyphens as separators. For example, "self-intersection" in SWE001. + if not set(unvalid_separators).issubset('-') and not valid_separators == ' ': + raise ProtocolError( + value = separators, + message = f"expected {valid_separators} but found the following unvalid seperators {unvalid_separators} for name {values.data['name']}" + ) return value, values diff --git a/features/steps/givens/attributes.py b/features/steps/givens/attributes.py index a6f59b59..cf6acc85 100644 --- a/features/steps/givens/attributes.py +++ b/features/steps/givens/attributes.py @@ -6,22 +6,33 @@ from behave import register_type from utils import geometry, ifc, misc from parse_type import TypeBuilder -from validation_handling import gherkin_ifc +from validation_handling import gherkin_ifc, register_enum_type from . import ValidationOutcome, OutcomeSeverity from enum import Enum, auto + + class FirstOrFinal(Enum): - FIRST = auto() - FINAL = auto() + FIRST = auto() + FINAL = auto() + class ComparisonOperator (Enum): EQUAL = auto() NOT_EQUAL = auto() + class SubTypeHandling (Enum): INCLUDE = auto() EXCLUDE = auto() + +@register_enum_type +class PrefixCondition(Enum): + STARTS = "starts" + DOES_NOT_START = "does not start" + + register_type(include_or_exclude_subtypes=TypeBuilder.make_enum({"including subtypes": SubTypeHandling.INCLUDE, "excluding subtypes": SubTypeHandling.EXCLUDE })) register_type(first_or_final=TypeBuilder.make_enum({"first": FirstOrFinal.FIRST, "final": FirstOrFinal.FINAL })) register_type(equal_or_not_equal=TypeBuilder.make_enum({ @@ -31,6 +42,7 @@ class SubTypeHandling (Enum): "is": ComparisonOperator.EQUAL, })) + def check_entity_type(inst: ifcopenshell.entity_instance, entity_type: str, handling: SubTypeHandling) -> bool: """ Check if the instance is of a specific entity type or its subtype. @@ -50,6 +62,7 @@ def check_entity_type(inst: ifcopenshell.entity_instance, entity_type: str, hand } return handling_functions[handling](inst, entity_type) + @gherkin_ifc.step("{attribute} {comparison_op:equal_or_not_equal} {value}") @gherkin_ifc.step("{attribute} {comparison_op:equal_or_not_equal} {value} {tail:include_or_exclude_subtypes}") def step_impl(context, inst, comparison_op, attribute, value, tail=SubTypeHandling.EXCLUDE): @@ -62,6 +75,7 @@ def step_impl(context, inst, comparison_op, attribute, value, tail=SubTypeHandli However, please avoid using: - Attribute is not empty """ + start_value = value pred = operator.eq if value == 'empty': value = () @@ -101,7 +115,7 @@ def step_impl(context, inst, comparison_op, attribute, value, tail=SubTypeHandli yield ValidationOutcome(instance_id=inst, severity = OutcomeSeverity.PASSED) else: # in case of a Then statement yield ValidationOutcome(instance_id=inst, - expected = f"{'not ' if comparison_op == ComparisonOperator.NOT_EQUAL else ''}{'empty' if value == () else value}", + expected = f"{'not ' if comparison_op == ComparisonOperator.NOT_EQUAL or 'not' in start_value else ''}{'empty' if value == () else value}", observed = 'empty' if observed_v == () else observed_v, severity = OutcomeSeverity.ERROR) @@ -140,15 +154,68 @@ def step_impl(context, inst, attribute, tail="single"): yield ValidationOutcome(instance_id=getattr(inst, attribute, None), severity=OutcomeSeverity.PASSED) -@gherkin_ifc.step("Its {attribute} attribute {condition} with {prefix}") -def step_impl(context, inst, attribute, condition, prefix): - assert condition in ('starts', 'does not start') - if condition == 'starts': - if hasattr(inst, attribute) and str(getattr(inst, attribute, '')).startswith(prefix): - yield ValidationOutcome(instance_id=inst, severity=OutcomeSeverity.PASSED) - elif condition == 'does not start': - if hasattr(inst, attribute) and not str(getattr(inst, attribute, '')).startswith(prefix): - yield ValidationOutcome(instance_id=inst, severity=OutcomeSeverity.PASSED) +@gherkin_ifc.step("Its {attribute} attribute {prefix_condition:PrefixCondition} with {prefix}") +def step_impl(context, inst, attribute, prefix_condition, prefix): + """ + ' + Given its attribute X must start with Y or Z + ' + Is almost the same as + ' + Given its attribute X + Its value must start with Y or Z + ' + + However, when navigating the context stack and there is a subsequent step, + it is sometimes preferable to include the statement within a single step. + + For example; + ' + (1)Given an entity IfcBuildingStorey + (2)Given its attribute X must start with Y or Z + (3)Given its relating Wall + (4)Then Some condiion + ' + In this case, it is challenging to split step (2) into two separate steps and then return to the + relating Wall (step 3) of the entity in step (1). This is because the instances in the context will be + the content of the attribute X of IfcBuildingStorey rather than the storey itself." + """ + prefixes = tuple(prefix.split(' or ')) + attribute_value = str(getattr(inst, attribute, '')) + + if not hasattr(inst, attribute): + yield ValidationOutcome(instance_id=inst, expected=attribute, observed='not {attribute}', severity=OutcomeSeverity.ERROR) + return + + condition_met = ( + (prefix_condition == PrefixCondition.STARTS and attribute_value.startswith(prefixes)) or + (prefix_condition == PrefixCondition.DOES_NOT_START and not attribute_value.startswith(prefixes)) + ) + + if condition_met: + yield ValidationOutcome(instance_id=inst, severity=OutcomeSeverity.PASSED) + else: + expected = prefixes if prefix_condition == PrefixCondition.STARTS else f'not {prefixes}' + yield ValidationOutcome(instance_id=inst, expected=expected, observed=attribute_value, severity=OutcomeSeverity.ERROR) + + +@gherkin_ifc.step("Its value {prefix_condition:PrefixCondition} with {prefix}") +def step_impl(context, inst, prefix_condition, prefix): + prefixes = tuple(prefix.split(' or ')) + inst = str(inst) + starts_with = inst.startswith(prefixes) + + if prefix_condition == PrefixCondition.STARTS: + condition_met = starts_with + expected = prefixes + elif prefix_condition == PrefixCondition.DOES_NOT_START: + condition_met = not starts_with + expected = f'not {prefixes}' + + if condition_met: + yield ValidationOutcome(instance_id=inst, severity=OutcomeSeverity.PASSED) + else: + yield ValidationOutcome(instance_id=inst, expected=expected, observed=inst[0], severity=OutcomeSeverity.ERROR) @gherkin_ifc.step('Its {ff:first_or_final} element') diff --git a/features/steps/givens/relationships.py b/features/steps/givens/relationships.py index 6cc5d4da..02add1d5 100644 --- a/features/steps/givens/relationships.py +++ b/features/steps/givens/relationships.py @@ -12,6 +12,7 @@ @gherkin_ifc.step('A relationship {relationship} {dir1:from_to} {entity} {dir2:from_to} {other_entity}') @gherkin_ifc.step('A relationship {relationship} exists {dir1:from_to} {entity} {dir2:from_to} {other_entity}') +@gherkin_ifc.step('A relationship {relationship} must exist {dir1:from_to} {entity} {dir2:from_to} {other_entity}') @gherkin_ifc.step('A relationship {relationship} {dir1:from_to} {entity} {dir2:from_to} {other_entity} {tail:maybe_and_following_that}') @gherkin_ifc.step('A *{required}* relationship {relationship} {dir1:from_to} {entity} {dir2:from_to} {other_entity}') @gherkin_ifc.step('A *{required}* relationship {relationship} {dir1:from_to} {entity} {dir2:from_to} {other_entity} {tail:maybe_and_following_that}') @@ -21,6 +22,10 @@ def step_impl(context, inst, relationship, dir1, entity, dir2, other_entity, tai """ assert dir1 != dir2 + if 'must exist' in context.step.name: # Fitting better with 'Then' statements + required=True + tail=1 # output the other entity + instances = [] filename_related_attr_matrix = system.get_abs_path(f"resources/**/related_entity_attributes.csv") filename_relating_attr_matrix = system.get_abs_path(f"resources/**/relating_entity_attributes.csv") diff --git a/features/steps/thens/alignment.py b/features/steps/thens/alignment.py index 26173570..008e7dc0 100644 --- a/features/steps/thens/alignment.py +++ b/features/steps/thens/alignment.py @@ -7,7 +7,7 @@ import ifcopenshell.util.unit from utils import ifc43x_alignment_validation as ifc43 -from utils import geometry +from utils.geometry import AlignmentSegmentContinuityCalculation from utils import ifc from validation_handling import gherkin_ifc from . import ValidationOutcome, OutcomeSeverity @@ -377,6 +377,12 @@ def step_impl(context, inst, continuity_type): for previous, current in inst: entity_contexts = ifc.recurrently_get_entity_attr(context, current, 'IfcRepresentation', 'ContextOfItems') precision = ifc.get_precision_from_contexts(entity_contexts) + continuity_calc = AlignmentSegmentContinuityCalculation( + previous_segment=previous, + segment_to_analyze=current, + length_unit_scale_factor=length_unit_scale_factor, + ) + continuity_calc.run() # calculate number of significant figures to display # use the precision of the geometric context plus one additional digit to accommodate rounding @@ -387,19 +393,11 @@ def step_impl(context, inst, continuity_type): if (continuity_type == "position") and (current.Transition in position_transition_codes): expected = precision - observed = geometry.alignment_segment_positional_difference( - length_unit_scale_factor, - previous, - current - ) + observed = continuity_calc.positional_difference() elif (continuity_type == "tangency") and (current.Transition in tangency_transition_codes): expected = math.atan2(precision, current.SegmentLength.wrappedValue) - observed = geometry.alignment_segment_angular_difference( - length_unit_scale_factor, - previous, - current - ) + observed = continuity_calc.directional_difference() else: return @@ -415,5 +413,6 @@ def step_impl(context, inst, continuity_type): "observed": observed, "num_digits": display_sig_figs, "context": f"calculated deviation in {continuity_type.lower()}", + "continuity_details": continuity_calc.to_dict(), }, severity=OutcomeSeverity.WARNING) diff --git a/features/steps/thens/attributes.py b/features/steps/thens/attributes.py index 6d2b5b11..200c24a7 100644 --- a/features/steps/thens/attributes.py +++ b/features/steps/thens/attributes.py @@ -127,3 +127,21 @@ def step_impl(context, inst, segment_type, length_attribute): raise ValueError(f"Invalid segment_type '{segment_type}'.") +@gherkin_ifc.step('The string length must be {constraint} "{num:d}" characters') +def step_impl(context, inst, constraint, num): + if not isinstance(inst, str): + yield ValidationOutcome(inst=inst, expected='string', observed=type(inst).__name__, severity=OutcomeSeverity.ERROR) + inst = str(inst) + op = misc.stmt_to_op(constraint) + if not op(len(inst), num): + yield ValidationOutcome(inst=inst, expected={'length':num, 'expected_or_observed':'expected'}, observed={'length': len(inst), 'expected_or_observed':'observed', 'inst':inst}, severity=OutcomeSeverity.ERROR) + + +@gherkin_ifc.step('The characters must be within the official encoding character set') +def step_impl(context, inst): + valid_chars = set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$") + if not isinstance(inst, str): + return + invalid_guid_chars = [char for char in inst if char not in valid_chars] + if invalid_guid_chars: + yield ValidationOutcome(inst=inst, expected={'invalid_guid_chars': "0-9, A-Z, a-z, _, $", 'expected_or_observed':'expected'}, observed={'invalid_guid_chars': invalid_guid_chars, 'expected_or_observed':'observed','inst':inst}, severity=OutcomeSeverity.ERROR) diff --git a/features/steps/thens/existance.py b/features/steps/thens/existance.py index 3b809520..0bdcc28c 100644 --- a/features/steps/thens/existance.py +++ b/features/steps/thens/existance.py @@ -1,10 +1,17 @@ import operator - from utils import misc -from validation_handling import gherkin_ifc, global_rule +from validation_handling import gherkin_ifc, global_rule, register_enum_type from . import ValidationOutcome, OutcomeSeverity +from enum import Enum + +@register_enum_type +class SubtypeHandling(Enum): + INCLUDE = "including subtypes" + EXCLUDE = "excluding subtypes" + + @gherkin_ifc.step("There must be one {representation_id} shape representation") def step_impl(context, inst, representation_id): if inst.Representation: @@ -13,11 +20,27 @@ def step_impl(context, inst, representation_id): if not present: yield ValidationOutcome(inst=inst, severity=OutcomeSeverity.ERROR) +def get_entities_in_model(context, constraint, entity, tail): + # the @global_rule decorator doesn't work with in combination with multiple decorators, hence the helper function + return misc.do_try( + lambda: context.model.by_type(entity) if tail == SubtypeHandling.INCLUDE else context.model.by_type(entity, include_subtypes=False), + () # return empty tuple for deleted entities, e.g. in IFC102 + ) + +@gherkin_ifc.step('There must be {constraint} {num:d} instance(s) of {entity} {tail:SubtypeHandling}') +@global_rule +def step_impl(context, inst, constraint, num, entity, tail=SubtypeHandling.INCLUDE): + op = misc.stmt_to_op(constraint) + instances_in_model = get_entities_in_model(context, constraint, entity, tail) + if not op(len(instances_in_model), num): + yield ValidationOutcome(inst=inst, observed=instances_in_model, severity=OutcomeSeverity.ERROR) + + @gherkin_ifc.step('There must be {constraint} {num:d} instance(s) of {entity}') @global_rule -def step_impl(context, inst, constraint, num, entity): +def step_impl(context, inst, constraint, num, entity, tail=SubtypeHandling.INCLUDE): op = misc.stmt_to_op(constraint) - instances_in_model = misc.do_try(lambda: context.model.by_type(entity), ()) # return empty tuple for deleted entities, e.g. in IFC102 + instances_in_model = get_entities_in_model(context, constraint, entity, tail) if not op(len(instances_in_model), num): yield ValidationOutcome(inst=inst, observed=instances_in_model, severity=OutcomeSeverity.ERROR) diff --git a/features/steps/thens/geometry.py b/features/steps/thens/geometry.py index b335fdda..b4ff2a33 100644 --- a/features/steps/thens/geometry.py +++ b/features/steps/thens/geometry.py @@ -1,14 +1,227 @@ import itertools import math - +from typing import Any +from typing import Union from utils import geometry, ifc -from validation_handling import gherkin_ifc +from validation_handling import full_stack_rule, gherkin_ifc from . import ValidationOutcome, OutcomeSeverity +import ifcopenshell.geom +import numpy as np +import rtree.index + +# 'Mapping' is new functionality in IfcOpenShell v0.8 that allows us to inspect interpreted +# segments without depending on OpenCASCADE. Hypothetically using Eigen with an arbitrary +# precision real for maximum reliability. +# However: +# - this only works with 0.8 +# - is a bit experimental +# - requires more work on the python end because we need to perform edge-edge +# intersections on all combinations of possible edge curve types. +# Therefore, for the time being, we set this to False +# - we rely on the tessellated output (linear segments even for curved segments) +# - this is a dependency on OpenCASCADE which is a bit of a black box +# - but use a relatively low deflection tolerance (the max distance between actual and approximated points) +# - this results in a lot of edges for curved segments, but we have a spatial tree to speed up +# the search for intersection candidates +USE_IFCOPENSHELL_v0_8_MAPPING = False + + +def generate_bounds(vertices: np.array, path_indices: np.array): + """ + @param vertices: The list of global vertices defined for the shell + @param path_indices: The subset of the vertices that defines a particular face + """ + dimensions = len(path_indices.shape) + assert dimensions in (1, 2) + if dimensions == 1: + edge_indexes = np.array(list(zip(path_indices, np.roll(path_indices, -1)))) + return [vertices[edge_indexes]] + else: + bounds = [] + for bnd in path_indices: + edge_indexes = np.array(list(zip(bnd, np.roll(bnd, -1)))) + edges = vertices[edge_indexes] + bounds.append(edges) + return bounds + + +def generate_bounds_for_indexed_polygonal_face(inst: ifcopenshell.entity_instance, path: Any, attr: str): + """ + Generates boundaries for IfcIndexedPolygonalFace instances. + + @param inst: The model instance being validated + @param path: #TODO + @param attr: The attribute on an entity instance when the attribute (not entity) contains the geometry of interest + """ + face_set = path[0] + assert face_set.is_a('IfcPolygonalFaceSet') + vertices = np.array(face_set.Coordinates.CoordList) + indices = np.array(getattr(inst, attr)) - 1 + + return generate_bounds(vertices, indices) + + +def generate_bounds_for_other_shapes(inst: ifcopenshell.entity_instance, settings: ifcopenshell.geom.settings, use_mapping: bool): + """ + Generates bounds for non-IfcIndexedPolygonalFace shapes. + """ + if use_mapping: + loop = ifcopenshell.ifcopenshell_wrapper.map_shape(settings, inst.wrapped_data) + return [list(loop.children)] + else: + loop = ifcopenshell.geom.create_shape(settings, inst) + vertices = np.array(loop.verts).reshape((-1, 3)) + edge_indices = np.array(loop.edges).reshape((-1, 2)) + return [vertices[edge_indices]] + + +def extract_points(edge: Union[np.array, ifcopenshell.entity_instance]) -> np.array: + """ + Extract start and end points from an edge. + + @param edge: The edge to extract points from + """ + if isinstance(edge, np.ndarray): + return edge + else: + if edge.basis: + raise NotImplementedError() + return np.array([edge.start.coords, edge.end.coords]) + + +def calculate_bounding_box(points:np.array, precision: float): + return (points.min(axis=0) - precision).tolist() + (points.max(axis=0) + precision).tolist() + + +def insert_edges_into_spatial_index(edges, idx: rtree.index, precision: float): + for i, edge in enumerate(edges): + ps = extract_points(edge) + bounding_box = calculate_bounding_box(ps, precision) + idx.insert(i, bounding_box) + + +def within_precision_range(first_edge, second_edge, precision: float) -> bool: + """ + Confirm that neighbours intersect but are not parallel or cross + """ + first_vec = first_edge[1] - first_edge[0] + first_b = np.linalg.norm(first_vec) + second_a = (second_edge[0] - first_edge[0]) @ first_vec + second_b = (second_edge[1] - first_edge[0]) @ first_vec + if second_a <= precision and second_b <= precision: + # both on or behind first[0] + return True + elif second_a >= (first_b - precision) and second_b >= (first_b - precision): + # both on or behind first[1] + return True + else: + return False + + +@gherkin_ifc.step("There must be no self-intersections") +@gherkin_ifc.step("There must be no self-intersections for attribute {attr}") +@full_stack_rule +def step_impl(context, inst: ifcopenshell.entity_instance, path=None, attr:str = None): + """ + @param context: The behave context + @param inst: The entity instance being validated + @param path: The subset of vertices taken from a global list where the vertices describe a face + @param attr: The attribute on :inst: that contains the geometry to be validated + """ + + entity_contexts = ifc.recurrently_get_entity_attr(context, inst, 'IfcRepresentation', 'ContextOfItems') + precision = ifc.get_precision_from_contexts(entity_contexts) + + p = rtree.index.Property() + p.dimension = 3 + + spatial_index = rtree.index.Index(properties=p) + + if inst.is_a('IfcIndexedPolygonalFace'): + # In tessellated items we have a list of coordinates globally defined + # for the 'shell' and individual faces referencing these by indexing + # into this global list. So we need to trace back the path in order + # to resolve the indices into actual coordinates. + # + # The rules also use: + # - Then There must be no self-intersections for attribute ... + # ^^^^^^^^^^^^^^^^^ + # Because resolving the final attribute in Gherkin would mean that + # we no longer have access to an entity instance but just a tuple + # of numbers which is handled differently. + # + # For the same reason we cannot call create_shape() on these because + # they don't encapsulate all data required to evaluate the geometry. + bounds = generate_bounds_for_indexed_polygonal_face(inst, path, attr) + else: + # We set deflection (max deviation from real to approximated) based on the precision + # it needs to be significantly larger than the precision value, because otherwise we + # can get false positive intersection outcomes (near sharp corners). But also not too + # large because that can also result into false positives (when multiple curves are + # close) + # We should not go below 1.e-4 though (1/10 of a mm) because of memory and performance + # issues. + deflection = max(min(precision * 10, 0.01),1.e-4) + try: + settings = ifcopenshell.geom.settings(MESHER_LINEAR_DEFLECTION=deflection) + except: + settings = ifcopenshell.geom.settings( + INCLUDE_CURVES=True, + # Don't let IfcOpenShell fix wire intersections for us, + # as it is exactly the point to detect these. This seems + # to only affect the polyloops (BRP001) + NO_WIRE_INTERSECTION_CHECK=True + ) + settings.set_deflection_tolerance(deflection) + + bounds = generate_bounds_for_other_shapes(inst, settings, USE_IFCOPENSHELL_v0_8_MAPPING) + + # tfk: for debugging, note only plots X and Y + + # import matplotlib.pyplot as plt + # for edges in bounds: + # for i, edge in enumerate(edges): + # plt.plot(edge.T[0], edge.T[1]) + # plt.show() + + for edges in bounds: + insert_edges_into_spatial_index(edges, spatial_index, precision) + # @nb this branch is currently not active, only if we later + # decide to set USE_IFCOPENSHELL_v0_8_MAPPING = True, in which case we need to + # implement support for the various edge curves. + + # check for intersections + for i, edge in enumerate(edges): + ps = extract_points(edge) + ps_flat = np.concatenate((ps.min(axis=0), ps.max(axis=0))) + neighbours = {(i - 1) % len(edges), (i + 1) % len(edges)} + for j in spatial_index.intersection(ps_flat): + if i <= j: + continue + qs = extract_points(edges[j]) + info = geometry.nearest_points_on_line_segments(*ps, *qs, tol=precision) + if j in neighbours: + # neighbours should always intersect, but just cannot + # be parallel and cross + if info.is_parallel: + if not within_precision_range(ps, qs, precision): + yield ValidationOutcome( + inst=inst, + observed=f"Invalid neighbours\n{ps}\nand\n{qs}", + severity=OutcomeSeverity.ERROR + ) + else: + if info.distance < precision: + yield ValidationOutcome( + inst=inst, + observed=f"Invalid intersection between\n{ps}\nand\n{qs}", + severity=OutcomeSeverity.ERROR) + @gherkin_ifc.step("It must have no duplicate points {clause} first and last point") -def step_impl(context, inst, clause): +def step_impl(context, inst: ifcopenshell.entity_instance, clause: str): assert clause in ('including', 'excluding') entity_contexts = ifc.recurrently_get_entity_attr(context, inst, 'IfcRepresentation', 'ContextOfItems') precision = ifc.get_precision_from_contexts(entity_contexts) @@ -17,4 +230,5 @@ def step_impl(context, inst, clause): # combinations() produces tuples in a sorted order, first and last item is compared with items 0 and n-1 if clause == 'including' or (clause == 'excluding' and (i, j) != (0, len(points_coordinates) - 1)): if math.dist(points_coordinates[i], points_coordinates[j]) < precision: - yield ValidationOutcome(inst=inst, observed=(points_coordinates[i], points_coordinates[j]), severity=OutcomeSeverity.ERROR) + yield ValidationOutcome(inst=inst, observed=(points_coordinates[i], points_coordinates[j]), + severity=OutcomeSeverity.ERROR) \ No newline at end of file diff --git a/features/steps/utils/geometry.py b/features/steps/utils/geometry.py index b6ddc384..5ed9c577 100644 --- a/features/steps/utils/geometry.py +++ b/features/steps/utils/geometry.py @@ -1,5 +1,7 @@ +from dataclasses import dataclass import operator import math +from typing import Dict import numpy as np @@ -13,6 +15,7 @@ GEOM_TOLERANCE = 1E-12 + def get_edges(file, inst, sequence_type=frozenset, oriented=False): edge_type = tuple if oriented else frozenset @@ -105,6 +108,49 @@ def is_closed(context, instance): return math.dist(points_coordinates[0], points_coordinates[-1]) < precision +@dataclass +class intersection_information: + is_parallel : bool + point_on_a : np.ndarray + point_on_b : np.ndarray + distance : float + +def nearest_points_on_line_segments(a0, a1, b0, b1, tol=1.e-6): + r = b0 - a0 + u = a1 - a0 + v = b1 - b0 + + ru = np.dot(r, u) + rv = np.dot(r, v) + uu = np.dot(u, u) + uv = np.dot(u, v) + vv = np.dot(v, v) + + det = uu * vv - uv * uv + # The determinant represents the squared sine of the angle between + # the two vectors uu and vv. Hence in reality cannot be negative, + # only due to rounding errors which are clipped with the min() function. + det = max(0., det) + s = t = 0 + + is_parallel = math.sqrt(det) < tol * math.sqrt(uu) * math.sqrt(vv) + if is_parallel: + s = np.clip(ru / uu, 0, 1) + t = 0 + else: + s = np.clip((ru * vv - rv * uv) / det, 0, 1) + t = np.clip((ru * uv - rv * uu) / det, 0, 1) + + S = np.clip((t * uv + ru) / uu, 0, 1) + T = np.clip((s * uv - rv) / vv, 0, 1) + + A = a0 + S * u + B = b0 + T * v + + distance = np.linalg.norm(B - A) + return intersection_information(is_parallel, A, B, distance) + + def evaluate_segment(segment: ifcopenshell.entity_instance, dist_along: float) -> np.ndarray: """ Use ifcopenshell to calculate the 4x4 geometric transform at a point on an alignment segment @@ -118,12 +164,11 @@ def evaluate_segment(segment: ifcopenshell.entity_instance, dist_along: float) - return np.array(prev_trans_matrix, dtype=np.float64).T - -def alignment_segment_positional_difference( - length_unit_scale_factor: float, previous_segment: ifcopenshell.entity_instance, - segment_to_analyze: ifcopenshell.entity_instance): +@dataclass +class AlignmentSegmentContinuityCalculation: """ - Use ifcopenshell to determine the difference in cartesian position between segments of an IfcAlignment. + Use ifcopenshell to determine the difference in cartesian position and tangent direction + between segments of an IfcAlignment. The expected entity type is either `IfcCurveSegment` or `IfcCompositeCurveSegment`. :param length_unit_scale_factor: Scale factor between the project units and metric units used internally by @@ -133,48 +178,72 @@ def alignment_segment_positional_difference( :param segment_to_analyze: The segment under analysis. The calculated end point of the previous segment will be compared to the calculated start point of this segment. """ - - u = abs(previous_segment.SegmentLength.wrappedValue) * length_unit_scale_factor - prev_end_transform = evaluate_segment(segment=previous_segment, dist_along=u) - current_start_transform = evaluate_segment(segment=segment_to_analyze, dist_along=0.0) - - e0 = prev_end_transform[3][0] / length_unit_scale_factor - e1 = prev_end_transform[3][1] / length_unit_scale_factor - preceding_end = (e0, e1) - - s0 = current_start_transform[3][0] / length_unit_scale_factor - s1 = current_start_transform[3][1] / length_unit_scale_factor - current_start = (s0, s1) - - return math.dist(preceding_end, current_start) - - -def alignment_segment_angular_difference( - length_unit_scale_factor: float, previous_segment: ifcopenshell.entity_instance, - segment_to_analyze: ifcopenshell.entity_instance): - """ - Use ifcopenshell to determine the difference in tangent direction angle between segments of an IfcAlignment. - The expected entity type is either `IfcCurveSegment` or `IfcCompositeCurveSegment`. - - :param length_unit_scale_factor: Scale factor between the project units and metric units used internally by - ifcopenshell - :param previous_segment: The segment that precede the segment being analyzed. The ending direction of this segment - will be determined via ifcopenshell geometry calculations. - :param segment_to_analyze: The segment under analysis. The calculated ending direction of the previous segment - will be compared to the calculated starting direction of this segment. - """ - u = abs(float(previous_segment.SegmentLength.wrappedValue)) * length_unit_scale_factor - prev_end_transform = evaluate_segment(segment=previous_segment, dist_along=u) - current_start_transform = evaluate_segment(segment=segment_to_analyze, dist_along=0.0) - - prev_i = prev_end_transform[0][0] - prev_j = prev_end_transform[0][1] - preceding_end_direction = math.atan2(prev_j, prev_i) - - curr_i = current_start_transform[0][0] - curr_j = current_start_transform[0][1] - current_start_direction = math.atan2(curr_j, curr_i) - - delta = abs(current_start_direction - preceding_end_direction) - - return delta + previous_segment: ifcopenshell.entity_instance + segment_to_analyze: ifcopenshell.entity_instance + length_unit_scale_factor: float + preceding_end_point: tuple = None + preceding_end_direction: float = None + current_start_point: tuple = None + current_start_direction: float = None + + def _calculate_positional_difference(self) -> None: + + u = abs(self.previous_segment.SegmentLength.wrappedValue) * self.length_unit_scale_factor + prev_end_transform = evaluate_segment(segment=self.previous_segment, dist_along=u) + current_start_transform = evaluate_segment(segment=self.segment_to_analyze, dist_along=0.0) + + e0 = prev_end_transform[3][0] / self.length_unit_scale_factor + e1 = prev_end_transform[3][1] / self.length_unit_scale_factor + self.preceding_end_point = (e0, e1) + + s0 = current_start_transform[3][0] / self.length_unit_scale_factor + s1 = current_start_transform[3][1] / self.length_unit_scale_factor + self.current_start_point = (s0, s1) + + def _calculate_directional_difference(self) -> None: + u = abs(float(self.previous_segment.SegmentLength.wrappedValue)) * self.length_unit_scale_factor + prev_end_transform = evaluate_segment(segment=self.previous_segment, dist_along=u) + current_start_transform = evaluate_segment(segment=self.segment_to_analyze, dist_along=0.0) + + prev_i = prev_end_transform[0][0] + prev_j = prev_end_transform[0][1] + self.preceding_end_direction = math.atan2(prev_j, prev_i) + + curr_i = current_start_transform[0][0] + curr_j = current_start_transform[0][1] + self.current_start_direction = math.atan2(curr_j, curr_i) + + def run(self) -> None: + """ + Run the calculation + """ + self._calculate_positional_difference() + self._calculate_directional_difference() + + def positional_difference(self) -> float: + """ + Total absolute difference between end point of previous segment + and start point of segment being analyzed. + """ + return math.dist( + self.preceding_end_point, self.current_start_point) + + def directional_difference(self) -> float: + return abs(self.current_start_direction - self.preceding_end_direction) + + def to_dict(self) -> Dict: + """ + Serialize dataclass to a dictionary + + This method is required because dataclasses.asdict() will fail + because ifcopenshell.entity_instances are of type SwigPyObject which cannot be pickled + """ + return { + "previous_segment": f"#{self.previous_segment.id()}={self.previous_segment.is_a()}", + "segment_to_analyze": f"#{self.segment_to_analyze.id()}={self.segment_to_analyze.is_a()}", + "length_unit_scale_factor": self.length_unit_scale_factor, + "preceding_end_point": tuple(self.preceding_end_point), + "preceding_end_direction": self.preceding_end_direction, + "current_start_point": tuple(self.current_start_point), + "current_start_direction": self.current_start_direction, + } \ No newline at end of file diff --git a/features/steps/validation_handling.py b/features/steps/validation_handling.py index bfd0be22..cde012b7 100644 --- a/features/steps/validation_handling.py +++ b/features/steps/validation_handling.py @@ -4,82 +4,130 @@ from functools import wraps import ifcopenshell from behave import step -from behave.model import Step import inspect from operator import attrgetter import ast from validation_results import ValidationOutcome, OutcomeSeverity, ValidationOutcomeCode +from behave import register_type from behave.runner import Context from typing import Any -from main import ExecutionMode -def generate_error_message(context, errors): - error_formatter = (lambda dc: json.dumps(misc.asdict(dc), default=tuple)) if context.config.format == ["json"] else str - assert not errors, "Errors occured:\n{}".format([str(error) for error in errors]) +""" +DECORATORS FOR STEPS +""" +def global_rule(func): + """ + Use this decorator when the rule applies to the whole stack instead of a single instance. + For instance + @gherkin_ifc.step('There must be {constraint} {num:d} instance(s) of {entity}') + @gherkin_ifc.step('There must be {constraint} {num:d} instance(s) of {entity} {tail:SubtypeHandling}') + @global_rule + """ + @functools.wraps(func) + def wrapper(*args, **kwargs): + return func(*args, **kwargs) + wrapper.global_rule = True + return wrapper +def full_stack_rule(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + return func(*args, **kwargs) + wrapper.full_stack_rule = True + return wrapper -def get_optional_fields(result, fields): +class gherkin_ifc(): """ - Extracts optional fields from a result object. + Use this decorator before every step definition instead of @given and @then + For instance; + @gherkin_ifc.step("{attribute} {comparison_op:equal_or_not_equal} {value}") + """ + def step(step_text): + def wrapped_step(func): + return step(step_text)(execute_step(func)) + + return wrapped_step - :param result: The result object to extract fields from. - :param fields: A list of field names to check in the result object. - :return: A dictionary with the fields found in the result object. + +def register_enum_type(cls): """ - return {field: getattr(result, field) for field in fields if hasattr(result, field)} - -def get_stack_tree(context): - """Returns the stack tree of the current context. To be used for 'attribute stacking', e.g. in GEM004""" - return list( - filter(None, list(map(lambda layer: layer.get('instances'), context._stack)))) - -def check_layer_for_entity_instance(i, stack_tree): - for layer in stack_tree: - if len(layer) > i and layer[i] and isinstance(layer[i], ifcopenshell.entity_instance): - return layer[i] - return None - -def flatten_list_of_lists(lst): - result = [] - for item in lst: - if isinstance(item, list): - result.extend(flatten_list_of_lists(item)) - else: - result.append(item) - return result + Use this decorator to register an enum type for behave, e.g. + @register_enum_type + class SubtypeHandling(Enum): + INCLUDE = "including subtypes" + EXCLUDE = "excluding subtypes" + """ + register_type(**{cls.__name__: cls}) + return cls -def handle_nested(instance): - if isinstance(instance, tuple): - return -def is_list_of_tuples_or_none(var): - return isinstance(var, list) and all(item is None or isinstance(item, tuple) for item in var) +def generate_error_message(context, errors): + """ + Function to trigger the behave error mechanism so that the JSON output is generated correctly. + Miscellaneous errors also are also printed to the console this way. + """ + assert not errors, "Errors occured:\n{}".format([str(error) for error in errors]) -def apply_operation(fn, inst, context, **kwargs): - results = fn(context, inst, **kwargs) - return misc.do_try(lambda: list(map(attrgetter('instance_id'), filter(lambda res: res.severity == OutcomeSeverity.PASSED, results)))[0], None) +""" +Core validation handling functions operate as follows: +The execute_step function is triggered by the gherkin_ifc decorator and manages the logic for each step. +In case the step_type is 'Given', the handle_given function is invoked, and similarly, the handle_then function is called when the step_type is 'Then'. +""" -def map_given_state(values, fn, context, depth=0, **kwargs): - def is_nested(val): - return isinstance(val, (tuple, list)) - def should_apply(values, depth): - if depth == 0: - return not is_nested(values) - elif depth == 1: - return is_nested(values) and all(not is_nested(v) for v in values) - return False +def execute_step(fn): + is_global_rule = False + is_full_stack_rule = False + while hasattr(fn, '__wrapped__'): + # unwrap the function if it is wrapped by a decorator in case of catching multiple string platterns + is_global_rule = is_global_rule or getattr(fn, 'global_rule', False) + is_full_stack_rule = is_full_stack_rule or getattr(fn, 'full_stack_rule', False) + fn = fn.__wrapped__ - if should_apply(values, depth): - return None if values is None else apply_operation(fn, values, context, **kwargs) - elif is_nested(values): - new_depth = depth if depth > 0 else 0 - return type(values)(map_given_state(v, fn, context, new_depth, **kwargs) for v in values) - else: - return None if values is None else apply_operation(fn, values, context, **kwargs) + @wraps(fn) + def inner(context, **kwargs): + context.is_global_rule = is_global_rule + context.is_full_stack_rule = is_full_stack_rule + + """ + This section of code performs two primary checks: + + 1. Applicability Check: + Check for file-wide applicability with the 'context.instances' variable (set to either True or False) + In case of non-applicability, further steps are are skipped to optimize performance and avoid unnecessary computations. + For instance, when a rule requires IFC schema version IFC4X3 but the tested file contains schema version IFC2X3 + + 2. Handling 'Given' or 'Then' Statements: + The code differentiates and appropriately handles the logic based on whether the statement is a 'Given' or a 'Then' statement. + 'Given' statements are used to establish the applicability of either the file or instances within the file. + 'Then' statements are used to run the checks on the previously defined instances or file. + + Data is circulated using the 'behave-context' and is ultimately stored in the database, as 'ValidationOutcome' corresponds to a database column. + """ + # this basically serves as placeholder, later only the highest severity + # outcomes are retained, so the state is initiated to NOT_APPLICABLE + validation_outcome = ValidationOutcome( + outcome_code=ValidationOutcomeCode.NOT_APPLICABLE, # "NOT_APPLICABLE", Given statement with schema/mvd check # deactivated until code table is added to django model + observed=None, + expected=None, + feature=context.feature.name, + feature_version=misc.define_feature_version(context), + severity=OutcomeSeverity.NOT_APPLICABLE, + validation_task_id=context.validation_task_id + ) + context.gherkin_outcomes.append(validation_outcome) + + if getattr(context, 'applicable', True): + step_type = context.step.step_type + if step_type.lower() == 'given': # behave prefers lowercase, but accepts both + handle_given(context, fn, **kwargs) + elif step_type.lower() == 'then': + handle_then(context, fn, **kwargs) + + return inner def handle_given(context, fn, **kwargs): @@ -90,7 +138,7 @@ def handle_given(context, fn, **kwargs): 3) Filter the set of IfcAlignment based on a value ('Given attribute == X' -> [IfcAlignm, None, IfcAlignm]) 4) Set instances to a given attribute ('Given its attribute Representation') -> [IfcProdDefShape, IfcProdDefShape, IfcProdDefShape] """ - if not 'inst' in inspect.getargs(fn.__code__).args: + if 'inst' not in inspect.getargs(fn.__code__).args: gen = fn(context, **kwargs) if gen: # (2) Set initial set of instances insts = list(gen) @@ -100,47 +148,80 @@ def handle_given(context, fn, **kwargs): pass # (1) -> context.applicable is set within the function ; replace this with a simple True/False and set applicability here? else: context._push('attribute') # for attribute stacking - if 'at depth 1' in context.step.name: + if 'at depth 1' in context.step.name: #todo @gh develop a more standardize approach context.instances = list(filter(None, map_given_state(context.instances, fn, context, depth=1, **kwargs))) else: context.instances = map_given_state(context.instances, fn, context, **kwargs) -def safe_method_call(obj, method_name, default=None ): - method = getattr(obj, method_name, None) - if callable(method): - return method() - return default + +def apply_operation(fn, inst, context, **kwargs): + results = fn(context, inst, **kwargs) + return misc.do_try(lambda: list(map(attrgetter('instance_id'), filter(lambda res: res.severity == OutcomeSeverity.PASSED, results)))[0], None) + + +def map_given_state(values, fn, context, depth=0, **kwargs): + def is_nested(val): + return isinstance(val, (tuple, list)) + + def should_apply(values, depth): + if depth == 0: + return not is_nested(values) + elif depth == 1: + return is_nested(values) and all(not is_nested(v) for v in values) + return False + + if should_apply(values, depth): + return None if values is None else apply_operation(fn, values, context, **kwargs) + elif is_nested(values): + new_depth = depth if depth > 0 else 0 + return type(values)(map_given_state(v, fn, context, new_depth, **kwargs) for v in values) + else: + return None if values is None else apply_operation(fn, values, context, **kwargs) + def handle_then(context, fn, **kwargs): instances = getattr(context, 'instances', None) or (context.model.by_type(kwargs.get('entity')) if 'entity' in kwargs else []) - # if 'instances' are not actual ifcopenshell.entity_instance objects, but e.g. tuple of string values then get the actual instances from the stack tree - activation_instances = misc.do_try(lambda: get_stack_tree(context)[-1], instances) + # if 'instances' are not actual ifcopenshell.entity_instance objects, but e.g. tuple of string values then + # get the actual instances from the stack tree + activation_instances = misc.do_try(lambda: misc.get_stack_tree(context)[-1], instances) - #ensure the rule is not activated when there are no instances - #in case there are no instances but the rule is applicable (e.g. SPS001), then the rule is still activated and will return either a pass or an error + # ensure the rule is not activated when there are no instances + # in case there are no instances but the rule is applicable (e.g. SPS001), + # then the rule is still activated and will return either a pass or an error is_activated = any(misc.recursive_flatten(instances)) if instances else context.applicable if is_activated: - validation_outcome = ValidationOutcome( - outcome_code=ValidationOutcomeCode.EXECUTED, # "Executed", but not no error/pass/warning #deactivated for now - observed=None, - expected=None, - feature=context.feature.name, - feature_version=misc.define_feature_version(context), - severity=OutcomeSeverity.EXECUTED, - validation_task_id=context.validation_task_id + context.gherkin_outcomes.append( + ValidationOutcome( + outcome_code=ValidationOutcomeCode.EXECUTED, # "Executed", but not no error/pass/warning #deactivated for now + observed=None, + expected=None, + feature=context.feature.name, + feature_version=misc.define_feature_version(context), + severity=OutcomeSeverity.EXECUTED, + validation_task_id=context.validation_task_id + ) ) - context.gherkin_outcomes.append(validation_outcome) - def map_then_state(items, fn, context, current_path=[], depth=0, **kwargs): def apply_then_operation(fn, inst, context, current_path, depth=0, **kwargs): if inst is None: return + if context.is_full_stack_rule: + x = misc.get_stack_tree(context)[::-1] + value_path = [] + idxs = [current_path[0:i+1] for i in range(len(current_path))] + for idx, layer in zip(idxs, x): + v = layer + while idx: + i, *idx = idx + v = v[i] + value_path.append(v) + kwargs = kwargs | {'path': value_path} top_level_index = current_path[0] if current_path else None activation_inst = inst if not current_path or activation_instances[top_level_index] is None else activation_instances[top_level_index] -#TODO: refactor into a more general solution that works for all rules +# TODO: refactor into a more general solution that works for all rules if "GEM051" in context.feature.name and context.is_global_rule: activation_inst = activation_instances[0] if isinstance(activation_inst, ifcopenshell.file): @@ -169,7 +250,7 @@ def apply_then_operation(fn, inst, context, current_path, depth=0, **kwargs): else validation_outcome.expected) context.gherkin_outcomes.append(validation_outcome) - + # Currently, we should not inject passed outcomes for each individual instance to the databse # if not step_results: @@ -186,7 +267,6 @@ def apply_then_operation(fn, inst, context, current_path, depth=0, **kwargs): # context.gherkin_outcomes.append(validation_outcome) - def is_nested(val): return isinstance(val, (tuple, list)) @@ -211,66 +291,28 @@ def should_apply(items, depth): # evokes behave error generate_error_message(context, [gherkin_outcome for gherkin_outcome in context.gherkin_outcomes if gherkin_outcome.severity in [OutcomeSeverity.WARNING, OutcomeSeverity.ERROR]]) -def global_rule(func): + +def full_stack_rule(func): @functools.wraps(func) def wrapper(*args, **kwargs): return func(*args, **kwargs) - wrapper.global_rule = True + wrapper.full_stack_rule = True return wrapper -class gherkin_ifc(): - - def step(step_text): - def wrapped_step(func): - return step(step_text)(execute_step(func)) - - return wrapped_step -def execute_step(fn): - is_global_rule = False - while hasattr(fn, '__wrapped__'): # unwrap the function if it is wrapped by a decorator in casse of catching multiple string platterns - is_global_rule = is_global_rule or getattr(fn, 'global_rule', False) - fn = fn.__wrapped__ - @wraps(fn) - def inner(context, **kwargs): - context.is_global_rule = is_global_rule - - """ - This section of code performs two primary checks: - - 1. Applicability Check: - Check for file-wide applicability with the 'context.instances' variable (set to either True or False) - In case of non-applicability, further steps are are skipped to optimize performance and avoid unnecessary computations. - For instance, when a rule requires IFC schema version IFC4X3 but the tested file contains schema version IFC2X3 - - 2. Handling 'Given' or 'Then' Statements: - The code differentiates and appropriately handles the logic based on whether the statement is a 'Given' or a 'Then' statement. - 'Given' statements are used to establish the applicability of either the file or instances within the file. - 'Then' statements are used to run the checks on the previously defined instances or file. - - Data is circulated using the 'behave-context' and is ultimately stored in the database, as 'ValidationOutcome' corresponds to a database column. - """ - # this basically serves as placeholder, later only the highest severity - # outcomes are retained, so the state is initiated to NOT_APPLICABLE - validation_outcome = ValidationOutcome( - outcome_code=ValidationOutcomeCode.NOT_APPLICABLE, # "NOT_APPLICABLE", Given statement with schema/mvd check # deactivated until code table is added to django model - observed=None, - expected=None, - feature=context.feature.name, - feature_version=misc.define_feature_version(context), - severity=OutcomeSeverity.NOT_APPLICABLE, - validation_task_id=context.validation_task_id - ) - context.gherkin_outcomes.append(validation_outcome) - - if getattr(context, 'applicable', True): - step_type = context.step.step_type - if step_type.lower() == 'given': # behave prefers lowercase, but accepts both - handle_given(context, fn, **kwargs) - elif step_type.lower() == 'then': - handle_then(context, fn, **kwargs) +def safe_method_call(obj, method_name, default=None ): + """ + used to retrieve an instance_id, this is normally done by calling the method on the instance. + However, if the method does not exist, the default (blank) value is returned + """ + method = getattr(obj, method_name, None) + if callable(method): + return method() + return default - return inner +""" +Functions that are related to displaying and serializing data +""" def display_entity_instance(inst: ifcopenshell.entity_instance) -> str : """ diff --git a/main.py b/main.py index bcbf824c..8164db7d 100644 --- a/main.py +++ b/main.py @@ -128,6 +128,11 @@ def run(filename, rule_type=RuleType.ALL, with_console_output=False, execution_m except KeyError: el_list = [] for el in el_list: + protocol_errors = json.loads(base64.b64decode(el.get('protocol_errors', [{}])[0].get('data', '')).decode('utf-8')) if el.get('protocol_errors') else [] + if protocol_errors: + yield { + 'protocol_errors': protocol_errors, + } scenario_validation_outcomes = json.loads(base64.b64decode(el.get('validation_outcomes', [{}])[0].get('data', '')).decode('utf-8')) if el.get('validation_outcomes') else [] scenario_info = { 'scenario_name': el['name'], diff --git a/test/files/ala001/README.md b/test/files/ala001/README.md deleted file mode 100644 index 1edc78e5..00000000 --- a/test/files/ala001/README.md +++ /dev/null @@ -1,18 +0,0 @@ - - -| File name | Expected result | Description | -| --- | --- | --- | -| pass-ala001-polyline-order-3.ifc | pass | NaN | -| pass-ala001-gradient\_curve.ifc | pass | NaN | -| pass-ala001-composite\_curve.ifc | pass | NaN | -| pass-ala001-polycurve\_arcs\_order\_2.ifc | pass | NaN | -| pass-ala001-segmented\_reference\_curve.ifc | pass | NaN | -| pass-ala001-polycurve\_linear\_order\_3.ifc | pass | NaN | -| pass-ala001-polyline\_order\_2.ifc | pass | NaN | -| fail-ala001-scenario06-gradient\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'A representation by IfcGradientCurve requires the absence of IfcAlignmentCant in the business logic', 'Observed': 'entity: IfcAlignmentCant'} | -| fail-ala001-scenario04-polyline\_order\_3.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentVertical', 'Observed': ''} | -| fail-ala001-scenario05-composite\_curve\_axis.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'A representation by IfcCompositeCurve as Axis requires the absence of IfcAlignmentVertical and IfcAlignmentCant in the business logic', 'Observed': '\\value\\: IfcAlignmentVertical\\ \\IfcAlignmentCant'} | -| fail-ala001-scenario01-segmented\_reference\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentCant', 'Observed': ''} | -| fail-ala001-scenario02-gradient\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentVertical', 'Observed': ''} | -| fail-ala001-scenario03-polycurve\_linear\_order\_3.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentVertical', 'Observed': ''} | - diff --git a/test/files/alb002/fail-alb002-scenario01-nested_attributes_IfcAlignment.ifc b/test/files/alb002/fail-alb002-scenario01-nested_attributes_IfcAlignment.ifc index 18bb698d..8cd8e85a 100644 --- a/test/files/alb002/fail-alb002-scenario01-nested_attributes_IfcAlignment.ifc +++ b/test/files/alb002/fail-alb002-scenario01-nested_attributes_IfcAlignment.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition[Alignment-basedReferenceView]'),'2;1'); FILE_NAME('4X3_ADD1_E2a_AL23_EditFromusBIM.infra.ifc','2022-11-16T10:37:00',(),(),'(before manual edit) ACCA_IFC.dll Version 500','ACCA usBIM.infra',$); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCOWNERHISTORY(#2,#6,$,.NOCHANGE.,$,$,$,1650024265); diff --git a/test/files/alb002/fail-alb002-scenario02-two_alignments.ifc b/test/files/alb002/fail-alb002-scenario02-two_alignments.ifc index 0744032e..0ed0c238 100644 --- a/test/files/alb002/fail-alb002-scenario02-two_alignments.ifc +++ b/test/files/alb002/fail-alb002-scenario02-two_alignments.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition[Alignment-basedReferenceView]'),'2;1'); FILE_NAME('4X3_ADD1_E2a_AL23_EditFromusBIM.infra.ifc','2022-11-16T10:37:00',(),(),'(before manual edit) ACCA_IFC.dll Version 500','ACCA usBIM.infra',$); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCOWNERHISTORY(#2,#6,$,.NOCHANGE.,$,$,$,1650024265); diff --git a/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentCant.ifc b/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentCant.ifc index 46a75357..917ba486 100644 --- a/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentCant.ifc +++ b/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentCant.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-03T12:51:10',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentHorizontal.ifc b/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentHorizontal.ifc index b4f85ded..c466c0a5 100644 --- a/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentHorizontal.ifc +++ b/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentHorizontal.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-03T12:51:10',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentVertical.ifc b/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentVertical.ifc index 9ee7d00b..91f0a9e4 100644 --- a/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentVertical.ifc +++ b/test/files/alb002/fail-alb002-scenario03-wrong_element_in_list_IfcAlignmentVertical.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-03T12:51:10',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentCant.ifc b/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentCant.ifc index 4049c774..1e7c6ce7 100644 --- a/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentCant.ifc +++ b/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentCant.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-03T12:51:10',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentHorizontal.ifc b/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentHorizontal.ifc index 5adcc2c1..a3075770 100644 --- a/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentHorizontal.ifc +++ b/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentHorizontal.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-03T12:51:10',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentVertical.ifc b/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentVertical.ifc index c7f791fa..96843637 100644 --- a/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentVertical.ifc +++ b/test/files/alb002/fail-alb002-scenario04-wrong_alignment_direction_IfcAlignmentVertical.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-03T12:51:10',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb002/pass-alb002-alignment_layout.ifc b/test/files/alb002/pass-alb002-alignment_layout.ifc index 25720d05..a8b326ab 100644 --- a/test/files/alb002/pass-alb002-alignment_layout.ifc +++ b/test/files/alb002/pass-alb002-alignment_layout.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition[Alignment-basedReferenceView]'), '2;1'); FILE_NAME ('4X3_ADD1_E2a_AL23_EditFromusBIM.infra.ifc', '2022-11-16T10:37:00', (), (), '(before manual edit) ACCA_IFC.dll Version 500', 'ACCA usBIM.infra', $); -FILE_SCHEMA (('IFC4X3')); +FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; #1 = IFCOWNERHISTORY(#2, #6, $, .NOCHANGE., $, $, $, 1650024265); diff --git a/test/files/alb002/pass-alb002-generated_file.ifc b/test/files/alb002/pass-alb002-generated_file.ifc index 8c521b96..8384cbed 100644 --- a/test/files/alb002/pass-alb002-generated_file.ifc +++ b/test/files/alb002/pass-alb002-generated_file.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-03T12:51:10',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb003/fail-alb003-scenario01-wrong_layout.ifc b/test/files/alb003/fail-alb003-scenario01-wrong_layout.ifc index 3ec33da9..4fae7c2f 100644 --- a/test/files/alb003/fail-alb003-scenario01-wrong_layout.ifc +++ b/test/files/alb003/fail-alb003-scenario01-wrong_layout.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-12-20T15:46:15',(''),(''),'IfcOpenShell-v0.7.0-fa6bbf2d','IfcOpenShell-v0.7.0-fa6bbf2d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/alb003/pass-alb003-alignment_layout.ifc b/test/files/alb003/pass-alb003-alignment_layout.ifc index 25720d05..a8b326ab 100644 --- a/test/files/alb003/pass-alb003-alignment_layout.ifc +++ b/test/files/alb003/pass-alb003-alignment_layout.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition[Alignment-basedReferenceView]'), '2;1'); FILE_NAME ('4X3_ADD1_E2a_AL23_EditFromusBIM.infra.ifc', '2022-11-16T10:37:00', (), (), '(before manual edit) ACCA_IFC.dll Version 500', 'ACCA usBIM.infra', $); -FILE_SCHEMA (('IFC4X3')); +FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; #1 = IFCOWNERHISTORY(#2, #6, $, .NOCHANGE., $, $, $, 1650024265); diff --git a/test/files/alb004/fail-alb004-aggregated_to_ifcperson.ifc b/test/files/alb004/fail-alb004-aggregated_to_ifcperson.ifc index 2f42732a..d6037755 100644 --- a/test/files/alb004/fail-alb004-aggregated_to_ifcperson.ifc +++ b/test/files/alb004/fail-alb004-aggregated_to_ifcperson.ifc @@ -4,7 +4,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); FILE_NAME ('fail-alb004-aggregated-to-ifcperson.ifc', '2023-03-14T15:36:48', ('bSI Railway Room - Technical Services'), ('aIFC4Rail'), 'Python+IfcOpenShell', 'BC-002; incorrect spatial behaviour',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1FNFy8AJeHwwz7wDZHIYIu',#3,'IFC Rail Referencedata - STN01','IFC-Referencefile for bSI Implementerforum testcase STN01',$,'Longname','Design',$,#9); diff --git a/test/files/alb004/fail-alb004-not_aggregated_to_ifcproject.ifc b/test/files/alb004/fail-alb004-not_aggregated_to_ifcproject.ifc index d76ce4fc..78e6656a 100644 --- a/test/files/alb004/fail-alb004-not_aggregated_to_ifcproject.ifc +++ b/test/files/alb004/fail-alb004-not_aggregated_to_ifcproject.ifc @@ -4,7 +4,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); FILE_NAME ('fail-alb004-not-aggregated-to-ifcproject.ifc', '2023-03-14T15:36:48', ('bSI Railway Room - Technical Services'), ('aIFC4Rail'), 'Python+IfcOpenShell', 'BC-002; incorrect spatial behaviour',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1FNFy8AJeHwwz7wDZHIYIu',#3,'IFC Rail Referencedata - STN01','IFC-Referencefile for bSI Implementerforum testcase STN01',$,'Longname','Design',$,#9); diff --git a/test/files/alb004/pass-alb004-alignment-contained_in_spatial_entity.ifc b/test/files/alb004/pass-alb004-alignment-contained_in_spatial_entity.ifc index b2f50bee..20eb64a3 100644 --- a/test/files/alb004/pass-alb004-alignment-contained_in_spatial_entity.ifc +++ b/test/files/alb004/pass-alb004-alignment-contained_in_spatial_entity.ifc @@ -4,7 +4,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); FILE_NAME ('fail-alb004-contained-in-spatial-entity.ifc', '2023-03-14T15:36:48', ('bSI Railway Room - Technical Services'), ('aIFC4Rail'), 'Python+IfcOpenShell', 'BC-002; incorrect spatial behaviour',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1FNFy8AJeHwwz7wDZHIYIu',#3,'IFC Rail Referencedata - STN01','IFC-Referencefile for bSI Implementerforum testcase STN01',$,'Longname','Design',$,#9); diff --git a/test/files/alb004/pass-alb004-correct_alignment_behaviour_directly_aggregated.ifc b/test/files/alb004/pass-alb004-correct_alignment_behaviour_directly_aggregated.ifc index d709a52f..872851c4 100644 --- a/test/files/alb004/pass-alb004-correct_alignment_behaviour_directly_aggregated.ifc +++ b/test/files/alb004/pass-alb004-correct_alignment_behaviour_directly_aggregated.ifc @@ -4,7 +4,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); FILE_NAME ('pass-alb004-correct-alignment-behaviour-directly-aggregated.ifc', '2023-03-14T15:36:48', ('bSI Railway Room - Technical Services'), ('aIFC4Rail'), 'Python+IfcOpenShell', 'BC-002; correct spatial behaviour',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1FNFy8AJeHwwz7wDZHIYIu',#3,'IFC Rail Referencedata - STN01','IFC-Referencefile for bSI Implementerforum testcase STN01',$,'Longname','Design',$,#9); diff --git a/test/files/alb004/pass-alb004-correct_alignment_behaviour_indirectly_aggregated.ifc b/test/files/alb004/pass-alb004-correct_alignment_behaviour_indirectly_aggregated.ifc index 4be48137..8c3fd859 100644 --- a/test/files/alb004/pass-alb004-correct_alignment_behaviour_indirectly_aggregated.ifc +++ b/test/files/alb004/pass-alb004-correct_alignment_behaviour_indirectly_aggregated.ifc @@ -4,7 +4,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); FILE_NAME ('pass-alb004-correct-alignment-behaviour-indirectly-aggregated.ifc', '2023-03-14T15:36:48', ('bSI Railway Room - Technical Services'), ('aIFC4Rail'), 'Python+IfcOpenShell', 'BC-002; correct spatial behaviour',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1FNFy8AJeHwwz7wDZHIYIu',#3,'IFC Rail Referencedata - STN01','IFC-Referencefile for bSI Implementerforum testcase STN01',$,'Longname','Design',$,#9); diff --git a/test/files/alb010/README.md b/test/files/alb010/README.md new file mode 100644 index 00000000..68ba372e --- /dev/null +++ b/test/files/alb010/README.md @@ -0,0 +1,7 @@ + + +| File name | Expected result | Description | +| --- | --- | --- | +| pass-alb010-alignments\_nesting\_referents.ifc | pass | NA / Automatically generated markdown | +| fail-alb010-alignments\_not\_nesting\_referents.ifc | fail | NA / Automatically generated markdown | + diff --git a/test/files/alb010/fail-alb010-alignments_not_nesting_referents.ifc b/test/files/alb010/fail-alb010-alignments_not_nesting_referents.ifc new file mode 100644 index 00000000..0ad99e94 --- /dev/null +++ b/test/files/alb010/fail-alb010-alignments_not_nesting_referents.ifc @@ -0,0 +1,3103 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); +FILE_NAME ('fail-alb010-alignments_not_nesting_referents.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_SCHEMA (('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1 = IFCOWNERHISTORY(#2, #6, .READWRITE., .NOCHANGE., $, $, $, 1689070570); +#2 = IFCPERSONANDORGANIZATION(#3, #4, $); +#3 = IFCPERSON($, 'redacted', 'redacted', $, $, $, $, $); +#4 = IFCORGANIZATION($, 'redacted', $, $, $); +#5 = IFCORGANIZATION($, 'redacted', $, $, $); +#6 = IFCAPPLICATION(#5, 'redacted', 'redacted', 'redacted'); +#7 = IFCPROJECT('2psIfWyGD3J8pNMMJLOYZy', #1, 'Stationing', 'Default Project Description', $, $, $, (#13), #8); +#8 = IFCUNITASSIGNMENT((#9, #10, #11, #12)); +#9 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#10 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#11 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#12 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#13 = IFCGEOMETRICREPRESENTATIONCONTEXT('3D', 'Model', 3, 1.E-4, #14, #16); +#14 = IFCAXIS2PLACEMENT3D(#15, $, $); +#15 = IFCCARTESIANPOINT((0., 0., 0.)); +#16 = IFCDIRECTION((0., 1.)); +#17 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#18 = IFCMATERIAL('(123, 130, 135, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#19 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#20), #18); +#20 = IFCSTYLEDREPRESENTATION(#13, $, $, (#21)); +#21 = IFCSTYLEDITEM($, (#22), $); +#22 = IFCSURFACESTYLE('(123, 130, 135, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#23)); +#23 = IFCSURFACESTYLERENDERING(#24, 0., #25, $, $, $, #26, $, .NOTDEFINED.); +#24 = IFCCOLOURRGB($, 4.82352941176471E-1, 5.09803921568627E-1, 5.29411764705882E-1); +#25 = IFCCOLOURRGB($, 0., 0., 0.); +#26 = IFCCOLOURRGB($, 0., 0., 0.); +#27 = IFCMATERIAL('(18, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#28 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#29), #27); +#29 = IFCSTYLEDREPRESENTATION(#13, $, $, (#30)); +#30 = IFCSTYLEDITEM($, (#31), $); +#31 = IFCSURFACESTYLE('(18, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#32)); +#32 = IFCSURFACESTYLERENDERING(#33, 0., #34, $, $, $, #35, $, .NOTDEFINED.); +#33 = IFCCOLOURRGB($, 7.05882352941176E-2, 3.25490196078431E-1, 0.); +#34 = IFCCOLOURRGB($, 0., 0., 0.); +#35 = IFCCOLOURRGB($, 0., 0., 0.); +#36 = IFCMATERIAL('(83, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#37 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#38), #36); +#38 = IFCSTYLEDREPRESENTATION(#13, $, $, (#39)); +#39 = IFCSTYLEDITEM($, (#40), $); +#40 = IFCSURFACESTYLE('(83, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#41)); +#41 = IFCSURFACESTYLERENDERING(#42, 0., #43, $, $, $, #44, $, .NOTDEFINED.); +#42 = IFCCOLOURRGB($, 3.25490196078431E-1, 3.25490196078431E-1, 0.); +#43 = IFCCOLOURRGB($, 0., 0., 0.); +#44 = IFCCOLOURRGB($, 0., 0., 0.); +#45 = IFCMATERIAL('(83, 0, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#46 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#47), #45); +#47 = IFCSTYLEDREPRESENTATION(#13, $, $, (#48)); +#48 = IFCSTYLEDITEM($, (#49), $); +#49 = IFCSURFACESTYLE('(83, 0, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#50)); +#50 = IFCSURFACESTYLERENDERING(#51, 0., #52, $, $, $, #53, $, .NOTDEFINED.); +#51 = IFCCOLOURRGB($, 3.25490196078431E-1, 0., 0.); +#52 = IFCCOLOURRGB($, 0., 0., 0.); +#53 = IFCCOLOURRGB($, 0., 0., 0.); +#54 = IFCMATERIAL('(2, 2, 2, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#55 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#56), #54); +#56 = IFCSTYLEDREPRESENTATION(#13, $, $, (#57)); +#57 = IFCSTYLEDITEM($, (#58), $); +#58 = IFCSURFACESTYLE('(2, 2, 2, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#59)); +#59 = IFCSURFACESTYLERENDERING(#60, 0., #61, $, $, $, #62, $, .NOTDEFINED.); +#60 = IFCCOLOURRGB($, 7.84313725490196E-3, 7.84313725490196E-3, 7.84313725490196E-3); +#61 = IFCCOLOURRGB($, 0., 0., 0.); +#62 = IFCCOLOURRGB($, 0., 0., 0.); +#63 = IFCMATERIAL('(128, 128, 128, 255) (128, 128, 128, 255) (0, 0, 0, 255) (255)', $, $); +#64 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#65), #63); +#65 = IFCSTYLEDREPRESENTATION(#13, $, $, (#66)); +#66 = IFCSTYLEDITEM($, (#67), $); +#67 = IFCSURFACESTYLE('(128, 128, 128, 255) (128, 128, 128, 255) (0, 0, 0, 255) (255)', .BOTH., (#68)); +#68 = IFCSURFACESTYLERENDERING(#69, 0., #70, $, $, $, #71, $, .NOTDEFINED.); +#69 = IFCCOLOURRGB($, 5.01960784313725E-1, 5.01960784313725E-1, 5.01960784313725E-1); +#70 = IFCCOLOURRGB($, 5.01960784313725E-1, 5.01960784313725E-1, 5.01960784313725E-1); +#71 = IFCCOLOURRGB($, 0., 0., 0.); +#72 = IFCREPRESENTATIONMAP(#75, #76); +#73 = IFCDIRECTION((0., 0., 1.)); +#74 = IFCDIRECTION((1., 0., 0.)); +#75 = IFCAXIS2PLACEMENT3D(#15, #73, #74); +#76 = IFCSHAPEREPRESENTATION(#17, 'Body', 'Tessellation', (#77, #92, #118, #166, #192)); +#77 = IFCPOLYGONALFACESET(#78, $, (#79, #80, #81, #82, #83, #84, #85, #86, #87, #88, #89, #90), $); +#78 = IFCCARTESIANPOINTLIST3D(((3.4431E-2, 1.26962E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.50103E-1), (3.4431E-2, 1.26962E-1, -1.50103E-1)), $); +#79 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#80 = IFCINDEXEDPOLYGONALFACE((4, 3, 5)); +#81 = IFCINDEXEDPOLYGONALFACE((6, 5, 3)); +#82 = IFCINDEXEDPOLYGONALFACE((6, 2, 5)); +#83 = IFCINDEXEDPOLYGONALFACE((7, 5, 2)); +#84 = IFCINDEXEDPOLYGONALFACE((1, 8, 2)); +#85 = IFCINDEXEDPOLYGONALFACE((7, 2, 8)); +#86 = IFCINDEXEDPOLYGONALFACE((1, 3, 8)); +#87 = IFCINDEXEDPOLYGONALFACE((4, 8, 3)); +#88 = IFCINDEXEDPOLYGONALFACE((4, 5, 8)); +#89 = IFCINDEXEDPOLYGONALFACE((7, 8, 5)); +#90 = IFCINDEXEDPOLYGONALFACE((6, 3, 2)); +#91 = IFCSTYLEDITEM(#77, (#22), $); +#92 = IFCPOLYGONALFACESET(#93, $, (#94, #95, #96, #97, #98, #99, #100, #101, #102, #103, #104, #105, #106, #107, #108, #109, #110, #111, #112, #113, #114, #115, #116), $); +#93 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (-2.3673E-2, 0., 6.14006E-1), (4.278E-3, 0., 4.01688E-1), (-2.3674E-2, 0., 4.05368E-1), (3.223E-2, 0., 4.05368E-1), (5.8277E-2, 0., 4.16158E-1), (-4.9721E-2, 0., 4.16158E-1), (8.0645E-2, 0., 4.33321E-1), (-7.2089E-2, 0., 4.33321E-1), (9.7808E-2, 0., 4.55688E-1), (-8.9252E-2, 0., 4.55688E-1), (1.08597E-1, 0., 4.81735E-1), (-1.00041E-1, 0., 4.81735E-1), (1.1228E-1, 0., 5.09689E-1), (-1.03721E-1, 0., 5.09689E-1), (1.08599E-1, 0., 5.37641E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.0004E-1, 0., 5.37641E-1), (9.7809E-2, 0., 5.63688E-1), (-8.9251E-2, 0., 5.63688E-1), (8.0646E-2, 0., 5.86055E-1), (-7.2087E-2, 0., 5.86055E-1), (5.8279E-2, 0., 6.03217E-1), (-4.972E-2, 0., 6.03217E-1)), $); +#94 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#95 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#96 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#97 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#98 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#99 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#100 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#101 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#102 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#103 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#104 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#105 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#106 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#107 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#108 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#109 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#110 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#111 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#112 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#113 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#114 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#115 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#116 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#117 = IFCSTYLEDITEM(#92, (#31), $); +#118 = IFCPOLYGONALFACESET(#119, $, (#120, #121, #122, #123, #124, #125, #126, #127, #128, #129, #130, #131, #132, #133, #134, #135, #136, #137, #138, #139, #140, #141, #142, #143, #144, #145, #146, #147, #148, #149, #150, #151, #152, #153, #154, #155, #156, #157, #158, #159, #160, #161, #162, #163, #164), $); +#119 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 3.62686E-1), (3.2231E-2, 0., 3.59006E-1), (-2.3673E-2, 0., 3.59006E-1), (4.277E-3, 0., 6.56689E-1), (-2.3675E-2, 0., 6.60369E-1), (3.2229E-2, 0., 6.60368E-1), (5.8277E-2, 0., 6.71157E-1), (-4.9723E-2, 0., 6.71158E-1), (8.0644E-2, 0., 6.8832E-1), (-7.209E-2, 0., 6.88322E-1), (9.7808E-2, 0., 7.10687E-1), (-8.9253E-2, 0., 7.10689E-1), (1.08597E-1, 0., 7.36735E-1), (-1.00042E-1, 0., 7.36737E-1), (1.1228E-1, 0., 7.64689E-1), (-1.03721E-1, 0., 7.64689E-1), (1.08599E-1, 0., 7.92641E-1), (-1.0004E-1, 0., 7.92641E-1), (9.7809E-2, 0., 8.18688E-1), (-8.9251E-2, 0., 8.18688E-1), (8.0646E-2, 0., 8.41055E-1), (-7.2087E-2, 0., 8.41055E-1), (5.8279E-2, 0., 8.58218E-1), (-4.972E-2, 0., 8.58218E-1), (3.2231E-2, 0., 8.69007E-1), (-2.3673E-2, 0., 8.69007E-1), (4.279E-3, 0., 8.72687E-1), (4.278E-3, 0., 1.46688E-1), (-2.3674E-2, 0., 1.50368E-1), (3.223E-2, 0., 1.50368E-1), (5.8277E-2, 0., 1.61157E-1), (-4.9721E-2, 0., 1.61157E-1), (8.0645E-2, 0., 1.7832E-1), (-7.2089E-2, 0., 1.7832E-1), (9.7808E-2, 0., 2.00687E-1), (-8.9252E-2, 0., 2.00687E-1), (1.08597E-1, 0., 2.26735E-1), (-1.00041E-1, 0., 2.26735E-1), (1.1228E-1, 0., 2.54688E-1), (-1.03721E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (-8.9251E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (-7.2087E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (-4.972E-2, 0., 3.48217E-1)), $); +#120 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#121 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#122 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#123 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#124 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#125 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#126 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#127 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#128 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#129 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#130 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#131 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#132 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#133 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#134 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#135 = IFCINDEXEDPOLYGONALFACE((20, 19, 18)); +#136 = IFCINDEXEDPOLYGONALFACE((21, 19, 20)); +#137 = IFCINDEXEDPOLYGONALFACE((22, 21, 20)); +#138 = IFCINDEXEDPOLYGONALFACE((23, 21, 22)); +#139 = IFCINDEXEDPOLYGONALFACE((24, 23, 22)); +#140 = IFCINDEXEDPOLYGONALFACE((25, 23, 24)); +#141 = IFCINDEXEDPOLYGONALFACE((26, 25, 24)); +#142 = IFCINDEXEDPOLYGONALFACE((27, 25, 26)); +#143 = IFCINDEXEDPOLYGONALFACE((28, 29, 30)); +#144 = IFCINDEXEDPOLYGONALFACE((31, 30, 29)); +#145 = IFCINDEXEDPOLYGONALFACE((32, 31, 29)); +#146 = IFCINDEXEDPOLYGONALFACE((33, 31, 32)); +#147 = IFCINDEXEDPOLYGONALFACE((34, 33, 32)); +#148 = IFCINDEXEDPOLYGONALFACE((35, 33, 34)); +#149 = IFCINDEXEDPOLYGONALFACE((36, 35, 34)); +#150 = IFCINDEXEDPOLYGONALFACE((37, 35, 36)); +#151 = IFCINDEXEDPOLYGONALFACE((38, 37, 36)); +#152 = IFCINDEXEDPOLYGONALFACE((39, 37, 38)); +#153 = IFCINDEXEDPOLYGONALFACE((40, 39, 38)); +#154 = IFCINDEXEDPOLYGONALFACE((41, 39, 40)); +#155 = IFCINDEXEDPOLYGONALFACE((42, 41, 40)); +#156 = IFCINDEXEDPOLYGONALFACE((43, 41, 42)); +#157 = IFCINDEXEDPOLYGONALFACE((44, 41, 43)); +#158 = IFCINDEXEDPOLYGONALFACE((45, 44, 43)); +#159 = IFCINDEXEDPOLYGONALFACE((46, 44, 45)); +#160 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#161 = IFCINDEXEDPOLYGONALFACE((48, 46, 47)); +#162 = IFCINDEXEDPOLYGONALFACE((49, 48, 47)); +#163 = IFCINDEXEDPOLYGONALFACE((2, 48, 49)); +#164 = IFCINDEXEDPOLYGONALFACE((3, 2, 49)); +#165 = IFCSTYLEDITEM(#118, (#40), $); +#166 = IFCPOLYGONALFACESET(#167, $, (#168, #169, #170, #171, #172, #173, #174, #175, #176, #177, #178, #179, #180, #181, #182, #183, #184, #185, #186, #187, #188, #189, #190), $); +#167 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 1.07685E-1), (3.2231E-2, 0., 1.04005E-1), (-2.3673E-2, 0., 1.04005E-1), (4.278E-3, 0., -1.08313E-1), (-2.3674E-2, 0., -1.04633E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (-4.9721E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (-7.2089E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (-8.9252E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (-1.00041E-1, 0., -2.8266E-2), (1.1228E-1, 0., -3.12E-4), (-1.03721E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (-8.9251E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (-7.2087E-2, 0., 7.6054E-2), (5.8279E-2, 0., 9.3216E-2), (-4.972E-2, 0., 9.3216E-2)), $); +#168 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#169 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#170 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#171 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#172 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#173 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#174 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#175 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#176 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#177 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#178 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#179 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#180 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#181 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#182 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#183 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#184 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#185 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#186 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#187 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#188 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#189 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#190 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#191 = IFCSTYLEDITEM(#166, (#49), $); +#192 = IFCPOLYGONALFACESET(#193, $, (#194, #195, #196, #197, #198, #199, #200, #201, #202, #203, #204, #205, #206, #207, #208, #209, #210, #211, #212, #213, #214, #215, #216, #217, #218, #219, #220, #221, #222, #223, #224, #225, #226, #227, #228, #229, #230, #231, #232, #233, #234, #235, #236, #237, #238, #239, #240, #241, #242, #243, #244, #245, #246, #247, #248, #249, #250, #251, #252, #253, #254, #255, #256, #257, #258, #259, #260, #261, #262, #263, #264, #265, #266, #267, #268, #269, #270, #271, #272, #273, #274, #275, #276, #277, #278, #279, #280, #281, #282, #283, #284, #285, #286, #287, #288, #289, #290, #291, #292, #293, #294, #295, #296, #297, #298, #299, #300, #301, #302, #303, #304, #305, #306, #307, #308, #309, #310, #311, #312, #313, #314, #315, #316, #317, #318, #319, #320, #321, #322, #323, #324, #325, #326, #327, #328, #329, #330, #331, #332, #333, #334, #335, #336, #337, #338, #339, #340, #341, #342, #343, #344, #345, #346, #347, #348, #349, #350, #351, #352, #353, #354, #355, #356, #357, #358, #359, #360, #361, #362, #363, #364, #365, #366, #367, #368, #369, #370, #371, #372, #373, #374, #375, #376, #377, #378, #379, #380, #381, #382, #383, #384, #385, #386, #387, #388, #389, #390, #391, #392, #393, #394, #395, #396, #397, #398, #399, #400, #401, #402, #403, #404, #405, #406, #407, #408, #409, #410, #411, #412, #413, #414, #415, #416, #417, #418, #419, #420, #421, #422, #423, #424, #425, #426, #427, #428, #429, #430, #431, #432, #433, #434, #435, #436, #437, #438, #439, #440, #441, #442, #443, #444, #445, #446, #447, #448, #449, #450, #451, #452, #453, #454, #455, #456, #457, #458, #459, #460, #461, #462, #463, #464, #465, #466, #467, #468, #469, #470, #471, #472, #473, #474, #475, #476, #477, #478, #479, #480, #481, #482, #483, #484, #485, #486, #487, #488, #489, #490, #491, #492, #493, #494, #495, #496, #497, #498, #499, #500, #501, #502, #503, #504, #505, #506, #507, #508, #509, #510, #511, #512, #513, #514, #515, #516, #517, #518, #519, #520, #521, #522, #523, #524, #525, #526, #527, #528, #529, #530, #531, #532, #533, #534, #535, #536, #537, #538, #539, #540, #541, #542, #543, #544, #545, #546, #547, #548, #549, #550, #551, #552, #553, #554, #555, #556, #557, #558, #559, #560, #561, #562, #563, #564, #565, #566, #567, #568, #569, #570, #571, #572, #573, #574, #575, #576, #577, #578, #579, #580, #581, #582, #583, #584, #585, #586, #587, #588, #589, #590, #591, #592, #593, #594, #595, #596, #597, #598, #599, #600, #601, #602, #603, #604, #605, #606, #607, #608, #609, #610, #611, #612, #613, #614, #615, #616, #617, #618, #619, #620, #621, #622, #623, #624, #625, #626, #627, #628, #629, #630, #631, #632, #633, #634, #635, #636, #637, #638, #639, #640, #641, #642, #643, #644, #645, #646, #647, #648, #649, #650, #651, #652, #653, #654, #655, #656, #657, #658, #659, #660, #661, #662, #663, #664, #665, #666, #667, #668, #669, #670, #671, #672, #673, #674, #675, #676, #677, #678, #679, #680, #681, #682, #683, #684, #685, #686, #687, #688, #689, #690, #691, #692, #693, #694, #695, #696, #697, #698, #699, #700, #701, #702, #703, #704, #705, #706, #707, #708, #709, #710, #711, #712, #713, #714, #715, #716, #717, #718, #719, #720, #721, #722, #723, #724, #725, #726, #727, #728, #729, #730, #731, #732, #733, #734, #735, #736, #737, #738, #739, #740, #741, #742, #743, #744, #745, #746, #747, #748, #749, #750, #751, #752, #753, #754, #755, #756, #757, #758, #759, #760, #761, #762, #763, #764, #765, #766, #767, #768, #769, #770, #771, #772, #773, #774, #775, #776, #777, #778, #779, #780, #781, #782, #783, #784, #785, #786, #787, #788, #789, #790, #791, #792, #793, #794, #795, #796, #797, #798, #799, #800, #801, #802, #803, #804, #805, #806, #807, #808, #809, #810, #811, #812, #813, #814, #815, #816, #817, #818, #819, #820, #821, #822, #823, #824, #825, #826, #827, #828, #829, #830, #831, #832, #833, #834, #835, #836, #837, #838, #839, #840, #841, #842, #843, #844, #845, #846, #847, #848, #849, #850, #851, #852, #853, #854, #855, #856, #857, #858, #859, #860, #861, #862, #863, #864, #865, #866, #867, #868, #869, #870, #871, #872, #873, #874, #875, #876, #877, #878, #879, #880, #881, #882, #883, #884, #885, #886, #887, #888, #889, #890, #891, #892, #893, #894, #895, #896, #897, #898, #899, #900, #901, #902, #903, #904, #905, #906, #907, #908, #909, #910, #911, #912, #913, #914, #915, #916, #917, #918, #919, #920, #921, #922, #923, #924, #925, #926, #927, #928, #929, #930, #931, #932, #933, #934, #935, #936, #937, #938, #939, #940, #941, #942, #943, #944, #945, #946, #947, #948, #949, #950, #951, #952, #953, #954, #955, #956, #957, #958, #959, #960, #961, #962, #963, #964, #965, #966, #967, #968, #969, #970, #971, #972, #973, #974, #975, #976, #977, #978, #979, #980, #981, #982, #983, #984, #985, #986, #987, #988, #989, #990, #991, #992, #993, #994, #995, #996, #997, #998, #999, #1000, #1001, #1002, #1003, #1004, #1005, #1006, #1007, #1008, #1009, #1010, #1011, #1012, #1013, #1014, #1015, #1016, #1017, #1018, #1019, #1020, #1021, #1022, #1023, #1024, #1025, #1026, #1027, #1028, #1029, #1030, #1031, #1032, #1033, #1034, #1035, #1036, #1037, #1038, #1039, #1040, #1041, #1042, #1043, #1044, #1045, #1046, #1047, #1048, #1049, #1050, #1051, #1052, #1053, #1054, #1055, #1056, #1057, #1058, #1059, #1060, #1061, #1062, #1063, #1064, #1065, #1066, #1067, #1068, #1069, #1070, #1071, #1072, #1073, #1074, #1075, #1076, #1077, #1078, #1079, #1080, #1081, #1082, #1083, #1084, #1085, #1086, #1087, #1088, #1089, #1090, #1091, #1092, #1093, #1094, #1095, #1096, #1097, #1098, #1099, #1100, #1101, #1102, #1103, #1104, #1105, #1106, #1107, #1108, #1109, #1110, #1111, #1112, #1113, #1114, #1115, #1116, #1117, #1118, #1119, #1120, #1121, #1122, #1123, #1124, #1125, #1126, #1127, #1128, #1129, #1130, #1131, #1132, #1133), $); +#193 = IFCCARTESIANPOINTLIST3D(((-1.35721E-1, 2.86001E-1, 9.7269E-1), (-1.35721E-1, 1.E-2, 9.7269E-1), (-1.35721E-1, 2.86001E-1, -1.80315E-1), (4.279E-3, 0., 8.72687E-1), (4.279E-3, -3.00001E-1, 8.72687E-1), (3.2231E-2, 0., 8.69007E-1), (1.00007E-1, -3.00001E-1, 8.14689E-1), (9.7809E-2, 0., 8.18688E-1), (8.3027E-2, -3.00001E-1, 8.38597E-1), (8.0646E-2, 0., 8.41055E-1), (6.0242E-2, -3.00001E-1, 8.57056E-1), (5.8279E-2, 0., 8.58218E-1), (3.3332E-2, -3.00001E-1, 8.68706E-1), (-2.3673E-2, 0., 8.69007E-1), (-5.1684E-2, -3.00001E-1, 8.57056E-1), (-4.972E-2, 0., 8.58218E-1), (-7.2087E-2, 0., 8.41055E-1), (-2.4773E-2, -3.00001E-1, 8.68706E-1), (-7.4469E-2, -3.00001E-1, 8.38597E-1), (-8.9251E-2, 0., 8.18688E-1), (8.2767E-2, 0., 8.43176E-1), (1.00407E-1, 0., 8.20188E-1), (8.8275E-2, -3.00001E-1, 8.37252E-1), (5.9779E-2, 0., 8.60816E-1), (6.8145E-2, -3.00001E-1, 8.55473E-1), (3.3008E-2, 0., 8.71905E-1), (4.4194E-2, -3.00001E-1, 8.68262E-1), (1.7855E-2, -3.00001E-1, 8.74853E-1), (-7.4209E-2, 0., 8.43176E-1), (-5.122E-2, 0., 8.60816E-1), (-5.9587E-2, -3.00001E-1, 8.55473E-1), (-2.4449E-2, 0., 8.71905E-1), (-3.5636E-2, -3.00001E-1, 8.68262E-1), (-9.1849E-2, 0., 8.20188E-1), (-7.9717E-2, -3.00001E-1, 8.37252E-1), (1.1228E-1, 0., 7.64689E-1), (1.1228E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, 0., 7.64689E-1), (1.1228E-1, -2.50001E-1, 7.64689E-1), (1.1528E-1, -2.50001E-1, 7.64689E-1), (1.11497E-1, 0., 7.93418E-1), (1.08599E-1, 0., 7.92641E-1), (4.279E-3, 0., 8.75687E-1), (-1.03721E-1, 0., 7.64689E-1), (-1.06721E-1, 0., 7.64689E-1), (-1.0004E-1, 0., 7.92641E-1), (-1.02938E-1, 0., 7.93418E-1), (1.03379E-1, -3.00001E-1, 8.14689E-1), (-9.1448E-2, -3.00001E-1, 8.14689E-1), (-9.482E-2, -3.00001E-1, 8.14689E-1), (-9.296E-3, -3.00001E-1, 8.74853E-1), (-1.03721E-1, -2.50001E-1, 7.64689E-1), (-1.06719E-1, -2.57292E-1, 7.6517E-1), (-1.03719E-1, -2.57469E-1, 7.65189E-1), (-1.06569E-1, -2.7346E-1, 7.70486E-1), (-1.03563E-1, -2.73543E-1, 7.70529E-1), (-1.03684E-1, -2.66616E-1, 7.67502E-1), (-1.06713E-1, -2.61426E-1, 7.66006E-1), (-1.03712E-1, -2.61584E-1, 7.66045E-1), (-1.06686E-1, -2.66496E-1, 7.67459E-1), (-1.03338E-1, -2.78963E-1, 7.73775E-1), (-1.06039E-1, -2.82935E-1, 7.76974E-1), (-1.03013E-1, -2.82999E-1, 7.7703E-1), (-1.06352E-1, -2.7889E-1, 7.73724E-1), (-1.06721E-1, -2.50001E-1, 7.64689E-1), (-9.7621E-2, -2.99727E-1, 8.08702E-1), (-9.684E-2, -2.98755E-1, 8.02617E-1), (-1.00057E-1, -2.98745E-1, 8.02567E-1), (-9.4331E-2, -2.9973E-1, 8.08732E-1), (-9.897E-2, -2.96832E-1, 7.96365E-1), (-1.02122E-1, -2.96811E-1, 7.96305E-1), (-1.05118E-1, -2.89141E-1, 7.83479E-1), (-1.02062E-1, -2.89191E-1, 7.83542E-1), (-1.03812E-1, -2.93683E-1, 7.89934E-1), (-1.00713E-1, -2.93717E-1, 7.89999E-1), (1.14655E-1, -2.82293E-1, 7.76518E-1), (1.11572E-1, -2.83001E-1, 7.77033E-1), (1.14226E-1, -2.85953E-1, 7.79942E-1), (1.15289E-1, -2.55014E-1, 7.64943E-1), (1.12278E-1, -2.57456E-1, 7.65185E-1), (1.15303E-1, -2.59975E-1, 7.65697E-1), (1.15298E-1, -2.64834E-1, 7.66942E-1), (1.12243E-1, -2.66604E-1, 7.67496E-1), (1.15254E-1, -2.69543E-1, 7.68666E-1), (1.12271E-1, -2.61568E-1, 7.66038E-1), (1.15146E-1, -2.74047E-1, 7.70853E-1), (1.12122E-1, -2.73538E-1, 7.70527E-1), (1.14954E-1, -2.78311E-1, 7.7348E-1), (1.11897E-1, -2.78963E-1, 7.73774E-1), (1.1062E-1, -2.89191E-1, 7.83544E-1), (1.13624E-1, -2.8928E-1, 7.83747E-1), (1.12831E-1, -2.92149E-1, 7.87779E-1), (1.09272E-1, -2.93719E-1, 7.89998E-1), (1.11834E-1, -2.94565E-1, 7.92001E-1), (1.10622E-1, -2.96533E-1, 7.96378E-1), (1.07529E-1, -2.96833E-1, 7.96365E-1), (1.09182E-1, -2.98056E-1, 8.00871E-1), (1.05573E-1, -2.99786E-1, 8.10064E-1), (1.05399E-1, -2.98756E-1, 8.02617E-1), (1.0289E-1, -2.9973E-1, 8.08732E-1), (1.07503E-1, -2.99139E-1, 8.05445E-1), (-1.03721E-1, -1.25E-1, 7.64689E-1), (-1.06721E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, -1.25E-1, 7.64689E-1), (4.279E-3, 0., 6.17686E-1), (4.279E-3, -3.00001E-1, 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (1.00007E-1, -3.00001E-1, 5.59689E-1), (9.7809E-2, 0., 5.63688E-1), (8.3027E-2, -3.00001E-1, 5.83597E-1), (8.0646E-2, 0., 5.86055E-1), (6.0242E-2, -3.00001E-1, 6.02056E-1), (5.8279E-2, 0., 6.03217E-1), (3.3332E-2, -3.00001E-1, 6.13705E-1), (-2.3673E-2, 0., 6.14006E-1), (-5.1684E-2, -3.00001E-1, 6.02056E-1), (-4.972E-2, 0., 6.03217E-1), (-7.2087E-2, 0., 5.86055E-1), (-2.4773E-2, -3.00001E-1, 6.13705E-1), (-7.4469E-2, -3.00001E-1, 5.83597E-1), (-8.9251E-2, 0., 5.63688E-1), (8.2767E-2, 0., 5.88176E-1), (1.00407E-1, 0., 5.65188E-1), (8.8275E-2, -3.00001E-1, 5.82252E-1), (5.9779E-2, 0., 6.05816E-1), (6.8145E-2, -3.00001E-1, 6.00472E-1), (3.3008E-2, 0., 6.16904E-1), (4.4194E-2, -3.00001E-1, 6.13261E-1), (1.7855E-2, -3.00001E-1, 6.19853E-1), (-2.4449E-2, 0., 6.16904E-1), (4.279E-3, 0., 6.20686E-1), (-9.296E-3, -3.00001E-1, 6.19853E-1), (-7.4209E-2, 0., 5.88176E-1), (-5.122E-2, 0., 6.05816E-1), (-5.9587E-2, -3.00001E-1, 6.00472E-1), (-3.5636E-2, -3.00001E-1, 6.13261E-1), (-9.1849E-2, 0., 5.65188E-1), (-7.9717E-2, -3.00001E-1, 5.82252E-1), (1.1228E-1, 0., 5.09689E-1), (1.1228E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, 0., 5.09689E-1), (1.1228E-1, -2.50001E-1, 5.09689E-1), (1.1528E-1, -2.50001E-1, 5.09689E-1), (1.11497E-1, 0., 5.38417E-1), (1.08599E-1, 0., 5.37641E-1), (-1.03721E-1, 0., 5.09689E-1), (-1.06721E-1, 0., 5.09689E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.02938E-1, 0., 5.38417E-1), (-1.0004E-1, 0., 5.37641E-1), (1.03379E-1, -3.00001E-1, 5.59689E-1), (-9.1448E-2, -3.00001E-1, 5.59689E-1), (-9.482E-2, -3.00001E-1, 5.59689E-1), (-1.03721E-1, -2.50001E-1, 5.09689E-1), (-1.06719E-1, -2.57292E-1, 5.1017E-1), (-1.03719E-1, -2.57469E-1, 5.10189E-1), (-1.06569E-1, -2.7346E-1, 5.15485E-1), (-1.03563E-1, -2.73543E-1, 5.15529E-1), (-1.03684E-1, -2.66616E-1, 5.12502E-1), (-1.06713E-1, -2.61426E-1, 5.11005E-1), (-1.03712E-1, -2.61584E-1, 5.11045E-1), (-1.06686E-1, -2.66496E-1, 5.12458E-1), (-1.03338E-1, -2.78963E-1, 5.18774E-1), (-1.06039E-1, -2.82935E-1, 5.21974E-1), (-1.03013E-1, -2.82999E-1, 5.2203E-1), (-1.06352E-1, -2.7889E-1, 5.18723E-1), (-1.06721E-1, -2.50001E-1, 5.09689E-1), (-9.7621E-2, -2.99727E-1, 5.53702E-1), (-9.684E-2, -2.98755E-1, 5.47616E-1), (-1.00057E-1, -2.98745E-1, 5.47567E-1), (-9.4331E-2, -2.9973E-1, 5.53731E-1), (-9.897E-2, -2.96832E-1, 5.41365E-1), (-1.02122E-1, -2.96811E-1, 5.41304E-1), (-1.05118E-1, -2.89141E-1, 5.28479E-1), (-1.02062E-1, -2.89191E-1, 5.28542E-1), (-1.03812E-1, -2.93683E-1, 5.34933E-1), (-1.00713E-1, -2.93717E-1, 5.34998E-1), (1.14655E-1, -2.82293E-1, 5.21518E-1), (1.11572E-1, -2.83001E-1, 5.22032E-1), (1.14226E-1, -2.85953E-1, 5.24941E-1), (1.15289E-1, -2.55014E-1, 5.09942E-1), (1.12278E-1, -2.57456E-1, 5.10185E-1), (1.15303E-1, -2.59975E-1, 5.10697E-1), (1.15298E-1, -2.64834E-1, 5.11941E-1), (1.12243E-1, -2.66604E-1, 5.12496E-1), (1.15254E-1, -2.69543E-1, 5.13666E-1), (1.12271E-1, -2.61568E-1, 5.11038E-1), (1.15146E-1, -2.74047E-1, 5.15853E-1), (1.12122E-1, -2.73538E-1, 5.15526E-1), (1.14954E-1, -2.78311E-1, 5.18479E-1), (1.11897E-1, -2.78963E-1, 5.18774E-1), (1.1062E-1, -2.89191E-1, 5.28543E-1), (1.13624E-1, -2.8928E-1, 5.28746E-1), (1.12831E-1, -2.92149E-1, 5.32778E-1), (1.09272E-1, -2.93719E-1, 5.34998E-1), (1.11834E-1, -2.94565E-1, 5.37001E-1), (1.10622E-1, -2.96533E-1, 5.41377E-1), (1.07529E-1, -2.96833E-1, 5.41365E-1), (1.09182E-1, -2.98056E-1, 5.45871E-1), (1.05573E-1, -2.99786E-1, 5.55063E-1), (1.05399E-1, -2.98756E-1, 5.47616E-1), (1.0289E-1, -2.9973E-1, 5.53731E-1), (1.07503E-1, -2.99139E-1, 5.50445E-1), (-1.03721E-1, -1.25E-1, 5.09689E-1), (-1.06721E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, -1.25E-1, 5.09689E-1), (-2.70721E-1, 0., 1.06469), (-2.70721E-1, 1.E-2, 1.06469), (2.7928E-1, 0., 1.06469), (2.7928E-1, 1.E-2, 1.06469), (3.0428E-1, 0., 1.03969), (3.0428E-1, 1.E-2, 1.03969), (3.0428E-1, 0., -1.55315E-1), (3.0428E-1, 1.E-2, -1.55315E-1), (1.08597E-1, 0., 4.81735E-1), (2.7928E-1, 0., -1.80315E-1), (-2.70721E-1, 0., -1.80315E-1), (-2.95721E-1, 0., -1.55315E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (4.278E-3, 0., -1.08313E-1), (1.1228E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (1.08597E-1, 0., 2.26735E-1), (5.8279E-2, 0., 9.3216E-2), (9.7808E-2, 0., 2.00687E-1), (3.2231E-2, 0., 1.04005E-1), (8.0645E-2, 0., 1.7832E-1), (4.279E-3, 0., 1.07685E-1), (5.8277E-2, 0., 1.61157E-1), (3.223E-2, 0., 1.50368E-1), (4.278E-3, 0., 1.46688E-1), (1.1228E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (9.7808E-2, 0., 4.55688E-1), (3.2231E-2, 0., 3.59006E-1), (8.0645E-2, 0., 4.33321E-1), (4.279E-3, 0., 3.62686E-1), (5.8277E-2, 0., 4.16158E-1), (3.223E-2, 0., 4.05368E-1), (4.278E-3, 0., 4.01688E-1), (9.7808E-2, 0., 7.10687E-1), (8.0644E-2, 0., 6.8832E-1), (5.8277E-2, 0., 6.71157E-1), (3.2229E-2, 0., 6.60368E-1), (4.277E-3, 0., 6.56689E-1), (1.08597E-1, 0., 7.36735E-1), (-2.95721E-1, 0., 1.03969), (-1.00041E-1, 0., -2.8266E-2), (-8.9252E-2, 0., -5.4313E-2), (-7.2089E-2, 0., -7.668E-2), (-4.9721E-2, 0., -9.3843E-2), (-2.3674E-2, 0., -1.04633E-1), (-1.03721E-1, 0., -3.12E-4), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (-8.9251E-2, 0., 5.3687E-2), (-7.2087E-2, 0., 7.6054E-2), (-1.00041E-1, 0., 2.26735E-1), (-4.972E-2, 0., 9.3216E-2), (-8.9252E-2, 0., 2.00687E-1), (-2.3673E-2, 0., 1.04005E-1), (-7.2089E-2, 0., 1.7832E-1), (-4.9721E-2, 0., 1.61157E-1), (-2.3674E-2, 0., 1.50368E-1), (-1.03721E-1, 0., 2.54688E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (-8.9251E-2, 0., 3.08687E-1), (-7.2087E-2, 0., 3.31054E-1), (-1.00041E-1, 0., 4.81735E-1), (-4.972E-2, 0., 3.48217E-1), (-8.9252E-2, 0., 4.55688E-1), (-2.3673E-2, 0., 3.59006E-1), (-7.2089E-2, 0., 4.33321E-1), (-4.9721E-2, 0., 4.16158E-1), (-2.3674E-2, 0., 4.05368E-1), (-8.9253E-2, 0., 7.10689E-1), (-7.209E-2, 0., 6.88322E-1), (-4.9723E-2, 0., 6.71158E-1), (-2.3675E-2, 0., 6.60369E-1), (-1.00042E-1, 0., 7.36737E-1), (-2.70721E-1, 1.E-2, -1.80315E-1), (2.7928E-1, 1.E-2, -1.80315E-1), (-2.95721E-1, 1.E-2, -1.55315E-1), (-2.95721E-1, 1.E-2, 1.03969), (4.279E-3, -3.00001E-1, 3.62686E-1), (1.00007E-1, -3.00001E-1, 3.04688E-1), (8.3027E-2, -3.00001E-1, 3.28596E-1), (6.0242E-2, -3.00001E-1, 3.47055E-1), (3.3332E-2, -3.00001E-1, 3.58705E-1), (-5.1684E-2, -3.00001E-1, 3.47055E-1), (-2.4773E-2, -3.00001E-1, 3.58705E-1), (-7.4469E-2, -3.00001E-1, 3.28596E-1), (8.2767E-2, 0., 3.33176E-1), (1.00407E-1, 0., 3.10187E-1), (8.8275E-2, -3.00001E-1, 3.27251E-1), (5.9779E-2, 0., 3.50815E-1), (6.8145E-2, -3.00001E-1, 3.45472E-1), (3.3008E-2, 0., 3.61904E-1), (4.4194E-2, -3.00001E-1, 3.58261E-1), (1.7855E-2, -3.00001E-1, 3.64853E-1), (-7.4209E-2, 0., 3.33176E-1), (-5.122E-2, 0., 3.50815E-1), (-5.9587E-2, -3.00001E-1, 3.45472E-1), (-2.4449E-2, 0., 3.61904E-1), (-3.5636E-2, -3.00001E-1, 3.58261E-1), (-9.1849E-2, 0., 3.10187E-1), (-7.9717E-2, -3.00001E-1, 3.27251E-1), (1.1228E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, 0., 2.54688E-1), (1.1228E-1, -2.50001E-1, 2.54688E-1), (1.1528E-1, -2.50001E-1, 2.54688E-1), (-1.06721E-1, 0., 2.54688E-1), (-1.02938E-1, 0., 2.83417E-1), (4.279E-3, 0., 3.65686E-1), (1.11497E-1, 0., 2.83417E-1), (1.03379E-1, -3.00001E-1, 3.04688E-1), (-9.1448E-2, -3.00001E-1, 3.04688E-1), (-9.482E-2, -3.00001E-1, 3.04688E-1), (-9.296E-3, -3.00001E-1, 3.64853E-1), (-1.03721E-1, -2.50001E-1, 2.54688E-1), (-1.06719E-1, -2.57292E-1, 2.55169E-1), (-1.03719E-1, -2.57469E-1, 2.55188E-1), (-1.06569E-1, -2.7346E-1, 2.60485E-1), (-1.03563E-1, -2.73543E-1, 2.60528E-1), (-1.03684E-1, -2.66616E-1, 2.57501E-1), (-1.06713E-1, -2.61426E-1, 2.56005E-1), (-1.03712E-1, -2.61584E-1, 2.56044E-1), (-1.06686E-1, -2.66496E-1, 2.57458E-1), (-1.03338E-1, -2.78963E-1, 2.63774E-1), (-1.06039E-1, -2.82935E-1, 2.66973E-1), (-1.03013E-1, -2.82999E-1, 2.67029E-1), (-1.06352E-1, -2.7889E-1, 2.63723E-1), (-1.06721E-1, -2.50001E-1, 2.54688E-1), (-9.7621E-2, -2.99727E-1, 2.98701E-1), (-9.684E-2, -2.98755E-1, 2.92616E-1), (-1.00057E-1, -2.98745E-1, 2.92566E-1), (-9.4331E-2, -2.9973E-1, 2.98731E-1), (-9.897E-2, -2.96832E-1, 2.86364E-1), (-1.02122E-1, -2.96811E-1, 2.86304E-1), (-1.05118E-1, -2.89141E-1, 2.73478E-1), (-1.02062E-1, -2.89191E-1, 2.73541E-1), (-1.03812E-1, -2.93683E-1, 2.79933E-1), (-1.00713E-1, -2.93717E-1, 2.79997E-1), (1.14655E-1, -2.82293E-1, 2.66517E-1), (1.11572E-1, -2.83001E-1, 2.67032E-1), (1.14226E-1, -2.85953E-1, 2.69941E-1), (1.15289E-1, -2.55014E-1, 2.54942E-1), (1.12278E-1, -2.57456E-1, 2.55184E-1), (1.15303E-1, -2.59975E-1, 2.55696E-1), (1.15298E-1, -2.64834E-1, 2.56941E-1), (1.12243E-1, -2.66604E-1, 2.57496E-1), (1.15254E-1, -2.69543E-1, 2.58665E-1), (1.12271E-1, -2.61568E-1, 2.56037E-1), (1.15146E-1, -2.74047E-1, 2.60852E-1), (1.12122E-1, -2.73538E-1, 2.60526E-1), (1.14954E-1, -2.78311E-1, 2.63479E-1), (1.11897E-1, -2.78963E-1, 2.63773E-1), (1.1062E-1, -2.89191E-1, 2.73543E-1), (1.13624E-1, -2.8928E-1, 2.73746E-1), (1.12831E-1, -2.92149E-1, 2.77778E-1), (1.09272E-1, -2.93719E-1, 2.79997E-1), (1.11834E-1, -2.94565E-1, 2.82E-1), (1.10622E-1, -2.96533E-1, 2.86377E-1), (1.07529E-1, -2.96833E-1, 2.86364E-1), (1.09182E-1, -2.98056E-1, 2.9087E-1), (1.05573E-1, -2.99786E-1, 3.00063E-1), (1.05399E-1, -2.98756E-1, 2.92616E-1), (1.0289E-1, -2.9973E-1, 2.98731E-1), (1.07503E-1, -2.99139E-1, 2.95444E-1), (-1.03721E-1, -1.25E-1, 2.54688E-1), (-1.06721E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, -1.25E-1, 2.54688E-1), (4.279E-3, -3.00001E-1, 1.07685E-1), (1.00007E-1, -3.00001E-1, 4.9688E-2), (8.3027E-2, -3.00001E-1, 7.3596E-2), (6.0242E-2, -3.00001E-1, 9.2055E-2), (3.3332E-2, -3.00001E-1, 1.03704E-1), (-5.1684E-2, -3.00001E-1, 9.2055E-2), (-2.4773E-2, -3.00001E-1, 1.03704E-1), (-7.4469E-2, -3.00001E-1, 7.3596E-2), (8.2767E-2, 0., 7.8175E-2), (1.00407E-1, 0., 5.5187E-2), (8.8275E-2, -3.00001E-1, 7.225E-2), (5.9779E-2, 0., 9.5814E-2), (6.8145E-2, -3.00001E-1, 9.0471E-2), (3.3008E-2, 0., 1.06903E-1), (4.4194E-2, -3.00001E-1, 1.0326E-1), (1.7855E-2, -3.00001E-1, 1.09852E-1), (-7.4209E-2, 0., 7.8175E-2), (-5.122E-2, 0., 9.5814E-2), (-5.9587E-2, -3.00001E-1, 9.0471E-2), (-2.4449E-2, 0., 1.06903E-1), (-3.5636E-2, -3.00001E-1, 1.0326E-1), (-9.1849E-2, 0., 5.5187E-2), (-7.9717E-2, -3.00001E-1, 7.225E-2), (1.1228E-1, -1.25E-1, -3.12E-4), (1.1528E-1, 0., -3.12E-4), (1.1228E-1, -2.50001E-1, -3.12E-4), (1.1528E-1, -2.50001E-1, -3.12E-4), (-1.06721E-1, 0., -3.12E-4), (-1.02938E-1, 0., 2.8416E-2), (4.279E-3, 0., 1.10685E-1), (1.11497E-1, 0., 2.8416E-2), (1.03379E-1, -3.00001E-1, 4.9688E-2), (-9.1448E-2, -3.00001E-1, 4.9688E-2), (-9.482E-2, -3.00001E-1, 4.9688E-2), (-9.296E-3, -3.00001E-1, 1.09852E-1), (-1.03721E-1, -2.50001E-1, -3.12E-4), (-1.06719E-1, -2.57292E-1, 1.69E-4), (-1.03719E-1, -2.57469E-1, 1.88E-4), (-1.06569E-1, -2.7346E-1, 5.484E-3), (-1.03563E-1, -2.73543E-1, 5.528E-3), (-1.03684E-1, -2.66616E-1, 2.501E-3), (-1.06713E-1, -2.61426E-1, 1.004E-3), (-1.03712E-1, -2.61584E-1, 1.044E-3), (-1.06686E-1, -2.66496E-1, 2.457E-3), (-1.03338E-1, -2.78963E-1, 8.773E-3), (-1.06039E-1, -2.82935E-1, 1.1973E-2), (-1.03013E-1, -2.82999E-1, 1.2029E-2), (-1.06352E-1, -2.7889E-1, 8.722E-3), (-1.06721E-1, -2.50001E-1, -3.12E-4), (-9.7621E-2, -2.99727E-1, 4.3701E-2), (-9.684E-2, -2.98755E-1, 3.7615E-2), (-1.00057E-1, -2.98745E-1, 3.7566E-2), (-9.4331E-2, -2.9973E-1, 4.373E-2), (-9.897E-2, -2.96832E-1, 3.1364E-2), (-1.02122E-1, -2.96811E-1, 3.1303E-2), (-1.05118E-1, -2.89141E-1, 1.8478E-2), (-1.02062E-1, -2.89191E-1, 1.8541E-2), (-1.03812E-1, -2.93683E-1, 2.4932E-2), (-1.00713E-1, -2.93717E-1, 2.4997E-2), (1.14655E-1, -2.82293E-1, 1.1517E-2), (1.11572E-1, -2.83001E-1, 1.2031E-2), (1.14226E-1, -2.85953E-1, 1.494E-2), (1.15289E-1, -2.55014E-1, -5.9E-5), (1.12278E-1, -2.57456E-1, 1.84E-4), (1.15303E-1, -2.59975E-1, 6.96E-4), (1.15298E-1, -2.64834E-1, 1.94E-3), (1.12243E-1, -2.66604E-1, 2.495E-3), (1.15254E-1, -2.69543E-1, 3.665E-3), (1.12271E-1, -2.61568E-1, 1.037E-3), (1.15146E-1, -2.74047E-1, 5.852E-3), (1.12122E-1, -2.73538E-1, 5.525E-3), (1.14954E-1, -2.78311E-1, 8.478E-3), (1.11897E-1, -2.78963E-1, 8.773E-3), (1.1062E-1, -2.89191E-1, 1.8542E-2), (1.13624E-1, -2.8928E-1, 1.8745E-2), (1.12831E-1, -2.92149E-1, 2.2777E-2), (1.09272E-1, -2.93719E-1, 2.4997E-2), (1.11834E-1, -2.94565E-1, 2.7E-2), (1.10622E-1, -2.96533E-1, 3.1376E-2), (1.07529E-1, -2.96833E-1, 3.1364E-2), (1.09182E-1, -2.98056E-1, 3.587E-2), (1.05573E-1, -2.99786E-1, 4.5062E-2), (1.05399E-1, -2.98756E-1, 3.7615E-2), (1.0289E-1, -2.9973E-1, 4.373E-2), (1.07503E-1, -2.99139E-1, 4.0444E-2), (-1.03721E-1, -1.25E-1, -3.12E-4), (-1.06721E-1, -1.25E-1, -3.12E-4), (1.1528E-1, -1.25E-1, -3.12E-4), (-1.35721E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 2.86001E-1, -1.80315E-1), (1.4428E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 1.E-2, 9.7269E-1), (1.4428E-1, 2.86001E-1, 9.7269E-1)), $); +#194 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#195 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#196 = IFCINDEXEDPOLYGONALFACE((7, 8, 9)); +#197 = IFCINDEXEDPOLYGONALFACE((9, 10, 11)); +#198 = IFCINDEXEDPOLYGONALFACE((11, 12, 13)); +#199 = IFCINDEXEDPOLYGONALFACE((5, 4, 14)); +#200 = IFCINDEXEDPOLYGONALFACE((15, 16, 17)); +#201 = IFCINDEXEDPOLYGONALFACE((18, 14, 16)); +#202 = IFCINDEXEDPOLYGONALFACE((19, 17, 20)); +#203 = IFCINDEXEDPOLYGONALFACE((21, 22, 23)); +#204 = IFCINDEXEDPOLYGONALFACE((24, 21, 25)); +#205 = IFCINDEXEDPOLYGONALFACE((26, 24, 27)); +#206 = IFCINDEXEDPOLYGONALFACE((27, 28, 26)); +#207 = IFCINDEXEDPOLYGONALFACE((29, 30, 31)); +#208 = IFCINDEXEDPOLYGONALFACE((30, 32, 33)); +#209 = IFCINDEXEDPOLYGONALFACE((34, 29, 35)); +#210 = IFCINDEXEDPOLYGONALFACE((36, 37, 38)); +#211 = IFCINDEXEDPOLYGONALFACE((39, 38, 37)); +#212 = IFCINDEXEDPOLYGONALFACE((40, 38, 39)); +#213 = IFCINDEXEDPOLYGONALFACE((38, 36, 41)); +#214 = IFCINDEXEDPOLYGONALFACE((42, 41, 36)); +#215 = IFCINDEXEDPOLYGONALFACE((8, 41, 42)); +#216 = IFCINDEXEDPOLYGONALFACE((22, 41, 8)); +#217 = IFCINDEXEDPOLYGONALFACE((10, 22, 8)); +#218 = IFCINDEXEDPOLYGONALFACE((21, 22, 10)); +#219 = IFCINDEXEDPOLYGONALFACE((12, 21, 10)); +#220 = IFCINDEXEDPOLYGONALFACE((24, 21, 12)); +#221 = IFCINDEXEDPOLYGONALFACE((6, 24, 12)); +#222 = IFCINDEXEDPOLYGONALFACE((26, 24, 6)); +#223 = IFCINDEXEDPOLYGONALFACE((4, 26, 6)); +#224 = IFCINDEXEDPOLYGONALFACE((43, 26, 4)); +#225 = IFCINDEXEDPOLYGONALFACE((44, 45, 46)); +#226 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#227 = IFCINDEXEDPOLYGONALFACE((20, 46, 47)); +#228 = IFCINDEXEDPOLYGONALFACE((34, 20, 47)); +#229 = IFCINDEXEDPOLYGONALFACE((17, 20, 34)); +#230 = IFCINDEXEDPOLYGONALFACE((29, 17, 34)); +#231 = IFCINDEXEDPOLYGONALFACE((16, 17, 29)); +#232 = IFCINDEXEDPOLYGONALFACE((30, 16, 29)); +#233 = IFCINDEXEDPOLYGONALFACE((14, 16, 30)); +#234 = IFCINDEXEDPOLYGONALFACE((32, 14, 30)); +#235 = IFCINDEXEDPOLYGONALFACE((4, 14, 32)); +#236 = IFCINDEXEDPOLYGONALFACE((43, 4, 32)); +#237 = IFCINDEXEDPOLYGONALFACE((48, 7, 23)); +#238 = IFCINDEXEDPOLYGONALFACE((9, 23, 7)); +#239 = IFCINDEXEDPOLYGONALFACE((25, 23, 9)); +#240 = IFCINDEXEDPOLYGONALFACE((11, 25, 9)); +#241 = IFCINDEXEDPOLYGONALFACE((27, 25, 11)); +#242 = IFCINDEXEDPOLYGONALFACE((13, 27, 11)); +#243 = IFCINDEXEDPOLYGONALFACE((28, 27, 13)); +#244 = IFCINDEXEDPOLYGONALFACE((5, 28, 13)); +#245 = IFCINDEXEDPOLYGONALFACE((49, 50, 19)); +#246 = IFCINDEXEDPOLYGONALFACE((35, 19, 50)); +#247 = IFCINDEXEDPOLYGONALFACE((31, 19, 35)); +#248 = IFCINDEXEDPOLYGONALFACE((15, 19, 31)); +#249 = IFCINDEXEDPOLYGONALFACE((33, 15, 31)); +#250 = IFCINDEXEDPOLYGONALFACE((18, 15, 33)); +#251 = IFCINDEXEDPOLYGONALFACE((51, 18, 33)); +#252 = IFCINDEXEDPOLYGONALFACE((5, 18, 51)); +#253 = IFCINDEXEDPOLYGONALFACE((28, 5, 51)); +#254 = IFCINDEXEDPOLYGONALFACE((52, 53, 54)); +#255 = IFCINDEXEDPOLYGONALFACE((55, 56, 57)); +#256 = IFCINDEXEDPOLYGONALFACE((54, 58, 59)); +#257 = IFCINDEXEDPOLYGONALFACE((60, 57, 59)); +#258 = IFCINDEXEDPOLYGONALFACE((61, 62, 63)); +#259 = IFCINDEXEDPOLYGONALFACE((56, 64, 61)); +#260 = IFCINDEXEDPOLYGONALFACE((61, 64, 62)); +#261 = IFCINDEXEDPOLYGONALFACE((53, 52, 65)); +#262 = IFCINDEXEDPOLYGONALFACE((58, 60, 59)); +#263 = IFCINDEXEDPOLYGONALFACE((58, 54, 53)); +#264 = IFCINDEXEDPOLYGONALFACE((57, 60, 55)); +#265 = IFCINDEXEDPOLYGONALFACE((64, 56, 55)); +#266 = IFCINDEXEDPOLYGONALFACE((66, 67, 68)); +#267 = IFCINDEXEDPOLYGONALFACE((67, 66, 69)); +#268 = IFCINDEXEDPOLYGONALFACE((68, 70, 71)); +#269 = IFCINDEXEDPOLYGONALFACE((70, 68, 67)); +#270 = IFCINDEXEDPOLYGONALFACE((66, 50, 69)); +#271 = IFCINDEXEDPOLYGONALFACE((49, 69, 50)); +#272 = IFCINDEXEDPOLYGONALFACE((72, 63, 62)); +#273 = IFCINDEXEDPOLYGONALFACE((73, 72, 74)); +#274 = IFCINDEXEDPOLYGONALFACE((72, 73, 63)); +#275 = IFCINDEXEDPOLYGONALFACE((75, 71, 70)); +#276 = IFCINDEXEDPOLYGONALFACE((74, 75, 73)); +#277 = IFCINDEXEDPOLYGONALFACE((74, 71, 75)); +#278 = IFCINDEXEDPOLYGONALFACE((76, 77, 78)); +#279 = IFCINDEXEDPOLYGONALFACE((40, 39, 79)); +#280 = IFCINDEXEDPOLYGONALFACE((79, 80, 81)); +#281 = IFCINDEXEDPOLYGONALFACE((82, 83, 84)); +#282 = IFCINDEXEDPOLYGONALFACE((81, 85, 82)); +#283 = IFCINDEXEDPOLYGONALFACE((86, 84, 87)); +#284 = IFCINDEXEDPOLYGONALFACE((87, 88, 86)); +#285 = IFCINDEXEDPOLYGONALFACE((89, 76, 88)); +#286 = IFCINDEXEDPOLYGONALFACE((83, 87, 84)); +#287 = IFCINDEXEDPOLYGONALFACE((85, 83, 82)); +#288 = IFCINDEXEDPOLYGONALFACE((79, 39, 80)); +#289 = IFCINDEXEDPOLYGONALFACE((80, 85, 81)); +#290 = IFCINDEXEDPOLYGONALFACE((89, 77, 76)); +#291 = IFCINDEXEDPOLYGONALFACE((87, 89, 88)); +#292 = IFCINDEXEDPOLYGONALFACE((77, 90, 78)); +#293 = IFCINDEXEDPOLYGONALFACE((91, 78, 90)); +#294 = IFCINDEXEDPOLYGONALFACE((92, 90, 93)); +#295 = IFCINDEXEDPOLYGONALFACE((90, 92, 91)); +#296 = IFCINDEXEDPOLYGONALFACE((92, 93, 94)); +#297 = IFCINDEXEDPOLYGONALFACE((95, 94, 93)); +#298 = IFCINDEXEDPOLYGONALFACE((96, 95, 93)); +#299 = IFCINDEXEDPOLYGONALFACE((95, 96, 97)); +#300 = IFCINDEXEDPOLYGONALFACE((98, 99, 100)); +#301 = IFCINDEXEDPOLYGONALFACE((101, 96, 99)); +#302 = IFCINDEXEDPOLYGONALFACE((96, 101, 97)); +#303 = IFCINDEXEDPOLYGONALFACE((101, 99, 98)); +#304 = IFCINDEXEDPOLYGONALFACE((48, 100, 7)); +#305 = IFCINDEXEDPOLYGONALFACE((100, 48, 98)); +#306 = IFCINDEXEDPOLYGONALFACE((37, 87, 83)); +#307 = IFCINDEXEDPOLYGONALFACE((42, 77, 37)); +#308 = IFCINDEXEDPOLYGONALFACE((36, 42, 37)); +#309 = IFCINDEXEDPOLYGONALFACE((39, 37, 83)); +#310 = IFCINDEXEDPOLYGONALFACE((39, 85, 80)); +#311 = IFCINDEXEDPOLYGONALFACE((39, 83, 85)); +#312 = IFCINDEXEDPOLYGONALFACE((8, 100, 42)); +#313 = IFCINDEXEDPOLYGONALFACE((5, 13, 6)); +#314 = IFCINDEXEDPOLYGONALFACE((37, 89, 87)); +#315 = IFCINDEXEDPOLYGONALFACE((99, 96, 42)); +#316 = IFCINDEXEDPOLYGONALFACE((90, 77, 42)); +#317 = IFCINDEXEDPOLYGONALFACE((37, 77, 89)); +#318 = IFCINDEXEDPOLYGONALFACE((90, 42, 93)); +#319 = IFCINDEXEDPOLYGONALFACE((93, 42, 96)); +#320 = IFCINDEXEDPOLYGONALFACE((99, 42, 100)); +#321 = IFCINDEXEDPOLYGONALFACE((8, 10, 9)); +#322 = IFCINDEXEDPOLYGONALFACE((100, 8, 7)); +#323 = IFCINDEXEDPOLYGONALFACE((10, 12, 11)); +#324 = IFCINDEXEDPOLYGONALFACE((12, 6, 13)); +#325 = IFCINDEXEDPOLYGONALFACE((61, 102, 56)); +#326 = IFCINDEXEDPOLYGONALFACE((69, 20, 46)); +#327 = IFCINDEXEDPOLYGONALFACE((46, 102, 63)); +#328 = IFCINDEXEDPOLYGONALFACE((102, 57, 56)); +#329 = IFCINDEXEDPOLYGONALFACE((46, 44, 102)); +#330 = IFCINDEXEDPOLYGONALFACE((102, 52, 57)); +#331 = IFCINDEXEDPOLYGONALFACE((52, 59, 57)); +#332 = IFCINDEXEDPOLYGONALFACE((52, 54, 59)); +#333 = IFCINDEXEDPOLYGONALFACE((5, 14, 18)); +#334 = IFCINDEXEDPOLYGONALFACE((67, 69, 46)); +#335 = IFCINDEXEDPOLYGONALFACE((15, 17, 19)); +#336 = IFCINDEXEDPOLYGONALFACE((18, 16, 15)); +#337 = IFCINDEXEDPOLYGONALFACE((19, 20, 49)); +#338 = IFCINDEXEDPOLYGONALFACE((69, 49, 20)); +#339 = IFCINDEXEDPOLYGONALFACE((46, 70, 67)); +#340 = IFCINDEXEDPOLYGONALFACE((73, 46, 63)); +#341 = IFCINDEXEDPOLYGONALFACE((102, 61, 63)); +#342 = IFCINDEXEDPOLYGONALFACE((70, 46, 75)); +#343 = IFCINDEXEDPOLYGONALFACE((75, 46, 73)); +#344 = IFCINDEXEDPOLYGONALFACE((45, 103, 44)); +#345 = IFCINDEXEDPOLYGONALFACE((65, 44, 103)); +#346 = IFCINDEXEDPOLYGONALFACE((52, 44, 65)); +#347 = IFCINDEXEDPOLYGONALFACE((86, 104, 84)); +#348 = IFCINDEXEDPOLYGONALFACE((79, 81, 40)); +#349 = IFCINDEXEDPOLYGONALFACE((104, 41, 38)); +#350 = IFCINDEXEDPOLYGONALFACE((104, 40, 82)); +#351 = IFCINDEXEDPOLYGONALFACE((82, 40, 81)); +#352 = IFCINDEXEDPOLYGONALFACE((84, 104, 82)); +#353 = IFCINDEXEDPOLYGONALFACE((86, 88, 104)); +#354 = IFCINDEXEDPOLYGONALFACE((101, 22, 41)); +#355 = IFCINDEXEDPOLYGONALFACE((78, 41, 104)); +#356 = IFCINDEXEDPOLYGONALFACE((88, 76, 104)); +#357 = IFCINDEXEDPOLYGONALFACE((104, 76, 78)); +#358 = IFCINDEXEDPOLYGONALFACE((97, 101, 41)); +#359 = IFCINDEXEDPOLYGONALFACE((92, 94, 41)); +#360 = IFCINDEXEDPOLYGONALFACE((78, 91, 41)); +#361 = IFCINDEXEDPOLYGONALFACE((92, 41, 91)); +#362 = IFCINDEXEDPOLYGONALFACE((41, 94, 95)); +#363 = IFCINDEXEDPOLYGONALFACE((41, 95, 97)); +#364 = IFCINDEXEDPOLYGONALFACE((22, 101, 98)); +#365 = IFCINDEXEDPOLYGONALFACE((22, 48, 23)); +#366 = IFCINDEXEDPOLYGONALFACE((22, 98, 48)); +#367 = IFCINDEXEDPOLYGONALFACE((21, 23, 25)); +#368 = IFCINDEXEDPOLYGONALFACE((24, 25, 27)); +#369 = IFCINDEXEDPOLYGONALFACE((28, 43, 26)); +#370 = IFCINDEXEDPOLYGONALFACE((43, 51, 32)); +#371 = IFCINDEXEDPOLYGONALFACE((103, 64, 55)); +#372 = IFCINDEXEDPOLYGONALFACE((34, 66, 47)); +#373 = IFCINDEXEDPOLYGONALFACE((103, 47, 62)); +#374 = IFCINDEXEDPOLYGONALFACE((60, 103, 55)); +#375 = IFCINDEXEDPOLYGONALFACE((45, 47, 103)); +#376 = IFCINDEXEDPOLYGONALFACE((65, 103, 60)); +#377 = IFCINDEXEDPOLYGONALFACE((58, 65, 60)); +#378 = IFCINDEXEDPOLYGONALFACE((53, 65, 58)); +#379 = IFCINDEXEDPOLYGONALFACE((51, 43, 28)); +#380 = IFCINDEXEDPOLYGONALFACE((47, 66, 68)); +#381 = IFCINDEXEDPOLYGONALFACE((51, 33, 32)); +#382 = IFCINDEXEDPOLYGONALFACE((29, 31, 35)); +#383 = IFCINDEXEDPOLYGONALFACE((30, 33, 31)); +#384 = IFCINDEXEDPOLYGONALFACE((34, 35, 50)); +#385 = IFCINDEXEDPOLYGONALFACE((50, 66, 34)); +#386 = IFCINDEXEDPOLYGONALFACE((71, 47, 68)); +#387 = IFCINDEXEDPOLYGONALFACE((47, 72, 62)); +#388 = IFCINDEXEDPOLYGONALFACE((64, 103, 62)); +#389 = IFCINDEXEDPOLYGONALFACE((47, 71, 74)); +#390 = IFCINDEXEDPOLYGONALFACE((47, 74, 72)); +#391 = IFCINDEXEDPOLYGONALFACE((105, 106, 107)); +#392 = IFCINDEXEDPOLYGONALFACE((108, 109, 110)); +#393 = IFCINDEXEDPOLYGONALFACE((110, 111, 112)); +#394 = IFCINDEXEDPOLYGONALFACE((112, 113, 114)); +#395 = IFCINDEXEDPOLYGONALFACE((106, 105, 115)); +#396 = IFCINDEXEDPOLYGONALFACE((116, 117, 118)); +#397 = IFCINDEXEDPOLYGONALFACE((119, 115, 117)); +#398 = IFCINDEXEDPOLYGONALFACE((120, 118, 121)); +#399 = IFCINDEXEDPOLYGONALFACE((122, 123, 124)); +#400 = IFCINDEXEDPOLYGONALFACE((125, 122, 126)); +#401 = IFCINDEXEDPOLYGONALFACE((127, 125, 128)); +#402 = IFCINDEXEDPOLYGONALFACE((128, 129, 127)); +#403 = IFCINDEXEDPOLYGONALFACE((130, 131, 132)); +#404 = IFCINDEXEDPOLYGONALFACE((133, 134, 135)); +#405 = IFCINDEXEDPOLYGONALFACE((134, 130, 136)); +#406 = IFCINDEXEDPOLYGONALFACE((137, 133, 138)); +#407 = IFCINDEXEDPOLYGONALFACE((139, 140, 141)); +#408 = IFCINDEXEDPOLYGONALFACE((142, 141, 140)); +#409 = IFCINDEXEDPOLYGONALFACE((143, 141, 142)); +#410 = IFCINDEXEDPOLYGONALFACE((141, 139, 144)); +#411 = IFCINDEXEDPOLYGONALFACE((145, 144, 139)); +#412 = IFCINDEXEDPOLYGONALFACE((109, 144, 145)); +#413 = IFCINDEXEDPOLYGONALFACE((123, 144, 109)); +#414 = IFCINDEXEDPOLYGONALFACE((111, 123, 109)); +#415 = IFCINDEXEDPOLYGONALFACE((122, 123, 111)); +#416 = IFCINDEXEDPOLYGONALFACE((113, 122, 111)); +#417 = IFCINDEXEDPOLYGONALFACE((125, 122, 113)); +#418 = IFCINDEXEDPOLYGONALFACE((107, 125, 113)); +#419 = IFCINDEXEDPOLYGONALFACE((127, 125, 107)); +#420 = IFCINDEXEDPOLYGONALFACE((105, 127, 107)); +#421 = IFCINDEXEDPOLYGONALFACE((131, 127, 105)); +#422 = IFCINDEXEDPOLYGONALFACE((146, 147, 148)); +#423 = IFCINDEXEDPOLYGONALFACE((149, 148, 147)); +#424 = IFCINDEXEDPOLYGONALFACE((150, 148, 149)); +#425 = IFCINDEXEDPOLYGONALFACE((121, 150, 149)); +#426 = IFCINDEXEDPOLYGONALFACE((137, 121, 149)); +#427 = IFCINDEXEDPOLYGONALFACE((118, 121, 137)); +#428 = IFCINDEXEDPOLYGONALFACE((133, 118, 137)); +#429 = IFCINDEXEDPOLYGONALFACE((117, 118, 133)); +#430 = IFCINDEXEDPOLYGONALFACE((134, 117, 133)); +#431 = IFCINDEXEDPOLYGONALFACE((115, 117, 134)); +#432 = IFCINDEXEDPOLYGONALFACE((130, 115, 134)); +#433 = IFCINDEXEDPOLYGONALFACE((105, 115, 130)); +#434 = IFCINDEXEDPOLYGONALFACE((131, 105, 130)); +#435 = IFCINDEXEDPOLYGONALFACE((151, 108, 124)); +#436 = IFCINDEXEDPOLYGONALFACE((110, 124, 108)); +#437 = IFCINDEXEDPOLYGONALFACE((126, 124, 110)); +#438 = IFCINDEXEDPOLYGONALFACE((112, 126, 110)); +#439 = IFCINDEXEDPOLYGONALFACE((128, 126, 112)); +#440 = IFCINDEXEDPOLYGONALFACE((114, 128, 112)); +#441 = IFCINDEXEDPOLYGONALFACE((129, 128, 114)); +#442 = IFCINDEXEDPOLYGONALFACE((106, 129, 114)); +#443 = IFCINDEXEDPOLYGONALFACE((152, 153, 120)); +#444 = IFCINDEXEDPOLYGONALFACE((138, 120, 153)); +#445 = IFCINDEXEDPOLYGONALFACE((135, 120, 138)); +#446 = IFCINDEXEDPOLYGONALFACE((116, 120, 135)); +#447 = IFCINDEXEDPOLYGONALFACE((136, 116, 135)); +#448 = IFCINDEXEDPOLYGONALFACE((119, 116, 136)); +#449 = IFCINDEXEDPOLYGONALFACE((132, 119, 136)); +#450 = IFCINDEXEDPOLYGONALFACE((106, 119, 132)); +#451 = IFCINDEXEDPOLYGONALFACE((129, 106, 132)); +#452 = IFCINDEXEDPOLYGONALFACE((154, 155, 156)); +#453 = IFCINDEXEDPOLYGONALFACE((157, 158, 159)); +#454 = IFCINDEXEDPOLYGONALFACE((156, 160, 161)); +#455 = IFCINDEXEDPOLYGONALFACE((162, 159, 161)); +#456 = IFCINDEXEDPOLYGONALFACE((163, 164, 165)); +#457 = IFCINDEXEDPOLYGONALFACE((158, 166, 163)); +#458 = IFCINDEXEDPOLYGONALFACE((163, 166, 164)); +#459 = IFCINDEXEDPOLYGONALFACE((155, 154, 167)); +#460 = IFCINDEXEDPOLYGONALFACE((160, 162, 161)); +#461 = IFCINDEXEDPOLYGONALFACE((160, 156, 155)); +#462 = IFCINDEXEDPOLYGONALFACE((159, 162, 157)); +#463 = IFCINDEXEDPOLYGONALFACE((166, 158, 157)); +#464 = IFCINDEXEDPOLYGONALFACE((168, 169, 170)); +#465 = IFCINDEXEDPOLYGONALFACE((169, 168, 171)); +#466 = IFCINDEXEDPOLYGONALFACE((170, 172, 173)); +#467 = IFCINDEXEDPOLYGONALFACE((172, 170, 169)); +#468 = IFCINDEXEDPOLYGONALFACE((168, 153, 171)); +#469 = IFCINDEXEDPOLYGONALFACE((152, 171, 153)); +#470 = IFCINDEXEDPOLYGONALFACE((174, 165, 164)); +#471 = IFCINDEXEDPOLYGONALFACE((175, 174, 176)); +#472 = IFCINDEXEDPOLYGONALFACE((174, 175, 165)); +#473 = IFCINDEXEDPOLYGONALFACE((177, 173, 172)); +#474 = IFCINDEXEDPOLYGONALFACE((176, 177, 175)); +#475 = IFCINDEXEDPOLYGONALFACE((176, 173, 177)); +#476 = IFCINDEXEDPOLYGONALFACE((178, 179, 180)); +#477 = IFCINDEXEDPOLYGONALFACE((143, 142, 181)); +#478 = IFCINDEXEDPOLYGONALFACE((181, 182, 183)); +#479 = IFCINDEXEDPOLYGONALFACE((184, 185, 186)); +#480 = IFCINDEXEDPOLYGONALFACE((183, 187, 184)); +#481 = IFCINDEXEDPOLYGONALFACE((188, 186, 189)); +#482 = IFCINDEXEDPOLYGONALFACE((189, 190, 188)); +#483 = IFCINDEXEDPOLYGONALFACE((191, 178, 190)); +#484 = IFCINDEXEDPOLYGONALFACE((185, 189, 186)); +#485 = IFCINDEXEDPOLYGONALFACE((187, 185, 184)); +#486 = IFCINDEXEDPOLYGONALFACE((181, 142, 182)); +#487 = IFCINDEXEDPOLYGONALFACE((182, 187, 183)); +#488 = IFCINDEXEDPOLYGONALFACE((191, 179, 178)); +#489 = IFCINDEXEDPOLYGONALFACE((189, 191, 190)); +#490 = IFCINDEXEDPOLYGONALFACE((179, 192, 180)); +#491 = IFCINDEXEDPOLYGONALFACE((193, 180, 192)); +#492 = IFCINDEXEDPOLYGONALFACE((194, 192, 195)); +#493 = IFCINDEXEDPOLYGONALFACE((192, 194, 193)); +#494 = IFCINDEXEDPOLYGONALFACE((194, 195, 196)); +#495 = IFCINDEXEDPOLYGONALFACE((197, 196, 195)); +#496 = IFCINDEXEDPOLYGONALFACE((198, 197, 195)); +#497 = IFCINDEXEDPOLYGONALFACE((197, 198, 199)); +#498 = IFCINDEXEDPOLYGONALFACE((200, 201, 202)); +#499 = IFCINDEXEDPOLYGONALFACE((203, 198, 201)); +#500 = IFCINDEXEDPOLYGONALFACE((198, 203, 199)); +#501 = IFCINDEXEDPOLYGONALFACE((203, 201, 200)); +#502 = IFCINDEXEDPOLYGONALFACE((151, 202, 108)); +#503 = IFCINDEXEDPOLYGONALFACE((202, 151, 200)); +#504 = IFCINDEXEDPOLYGONALFACE((140, 189, 185)); +#505 = IFCINDEXEDPOLYGONALFACE((145, 179, 140)); +#506 = IFCINDEXEDPOLYGONALFACE((139, 145, 140)); +#507 = IFCINDEXEDPOLYGONALFACE((142, 140, 185)); +#508 = IFCINDEXEDPOLYGONALFACE((142, 187, 182)); +#509 = IFCINDEXEDPOLYGONALFACE((142, 185, 187)); +#510 = IFCINDEXEDPOLYGONALFACE((109, 202, 145)); +#511 = IFCINDEXEDPOLYGONALFACE((106, 114, 107)); +#512 = IFCINDEXEDPOLYGONALFACE((140, 191, 189)); +#513 = IFCINDEXEDPOLYGONALFACE((201, 198, 145)); +#514 = IFCINDEXEDPOLYGONALFACE((192, 179, 145)); +#515 = IFCINDEXEDPOLYGONALFACE((140, 179, 191)); +#516 = IFCINDEXEDPOLYGONALFACE((192, 145, 195)); +#517 = IFCINDEXEDPOLYGONALFACE((195, 145, 198)); +#518 = IFCINDEXEDPOLYGONALFACE((201, 145, 202)); +#519 = IFCINDEXEDPOLYGONALFACE((109, 111, 110)); +#520 = IFCINDEXEDPOLYGONALFACE((202, 109, 108)); +#521 = IFCINDEXEDPOLYGONALFACE((111, 113, 112)); +#522 = IFCINDEXEDPOLYGONALFACE((113, 107, 114)); +#523 = IFCINDEXEDPOLYGONALFACE((163, 204, 158)); +#524 = IFCINDEXEDPOLYGONALFACE((171, 121, 150)); +#525 = IFCINDEXEDPOLYGONALFACE((150, 204, 165)); +#526 = IFCINDEXEDPOLYGONALFACE((204, 159, 158)); +#527 = IFCINDEXEDPOLYGONALFACE((204, 150, 146)); +#528 = IFCINDEXEDPOLYGONALFACE((148, 146, 150)); +#529 = IFCINDEXEDPOLYGONALFACE((204, 154, 159)); +#530 = IFCINDEXEDPOLYGONALFACE((154, 161, 159)); +#531 = IFCINDEXEDPOLYGONALFACE((154, 156, 161)); +#532 = IFCINDEXEDPOLYGONALFACE((106, 115, 119)); +#533 = IFCINDEXEDPOLYGONALFACE((169, 171, 150)); +#534 = IFCINDEXEDPOLYGONALFACE((116, 118, 120)); +#535 = IFCINDEXEDPOLYGONALFACE((119, 117, 116)); +#536 = IFCINDEXEDPOLYGONALFACE((120, 121, 152)); +#537 = IFCINDEXEDPOLYGONALFACE((171, 152, 121)); +#538 = IFCINDEXEDPOLYGONALFACE((150, 172, 169)); +#539 = IFCINDEXEDPOLYGONALFACE((175, 150, 165)); +#540 = IFCINDEXEDPOLYGONALFACE((204, 163, 165)); +#541 = IFCINDEXEDPOLYGONALFACE((172, 150, 177)); +#542 = IFCINDEXEDPOLYGONALFACE((177, 150, 175)); +#543 = IFCINDEXEDPOLYGONALFACE((147, 205, 146)); +#544 = IFCINDEXEDPOLYGONALFACE((167, 146, 205)); +#545 = IFCINDEXEDPOLYGONALFACE((154, 146, 167)); +#546 = IFCINDEXEDPOLYGONALFACE((188, 206, 186)); +#547 = IFCINDEXEDPOLYGONALFACE((181, 183, 143)); +#548 = IFCINDEXEDPOLYGONALFACE((206, 144, 141)); +#549 = IFCINDEXEDPOLYGONALFACE((206, 143, 184)); +#550 = IFCINDEXEDPOLYGONALFACE((184, 143, 183)); +#551 = IFCINDEXEDPOLYGONALFACE((186, 206, 184)); +#552 = IFCINDEXEDPOLYGONALFACE((188, 190, 206)); +#553 = IFCINDEXEDPOLYGONALFACE((203, 123, 144)); +#554 = IFCINDEXEDPOLYGONALFACE((180, 144, 206)); +#555 = IFCINDEXEDPOLYGONALFACE((190, 178, 206)); +#556 = IFCINDEXEDPOLYGONALFACE((206, 178, 180)); +#557 = IFCINDEXEDPOLYGONALFACE((199, 203, 144)); +#558 = IFCINDEXEDPOLYGONALFACE((194, 196, 144)); +#559 = IFCINDEXEDPOLYGONALFACE((180, 193, 144)); +#560 = IFCINDEXEDPOLYGONALFACE((194, 144, 193)); +#561 = IFCINDEXEDPOLYGONALFACE((144, 196, 197)); +#562 = IFCINDEXEDPOLYGONALFACE((144, 197, 199)); +#563 = IFCINDEXEDPOLYGONALFACE((123, 203, 200)); +#564 = IFCINDEXEDPOLYGONALFACE((123, 151, 124)); +#565 = IFCINDEXEDPOLYGONALFACE((123, 200, 151)); +#566 = IFCINDEXEDPOLYGONALFACE((122, 124, 126)); +#567 = IFCINDEXEDPOLYGONALFACE((125, 126, 128)); +#568 = IFCINDEXEDPOLYGONALFACE((129, 131, 127)); +#569 = IFCINDEXEDPOLYGONALFACE((205, 166, 157)); +#570 = IFCINDEXEDPOLYGONALFACE((137, 168, 149)); +#571 = IFCINDEXEDPOLYGONALFACE((205, 149, 164)); +#572 = IFCINDEXEDPOLYGONALFACE((162, 205, 157)); +#573 = IFCINDEXEDPOLYGONALFACE((147, 149, 205)); +#574 = IFCINDEXEDPOLYGONALFACE((167, 205, 162)); +#575 = IFCINDEXEDPOLYGONALFACE((160, 167, 162)); +#576 = IFCINDEXEDPOLYGONALFACE((155, 167, 160)); +#577 = IFCINDEXEDPOLYGONALFACE((132, 131, 129)); +#578 = IFCINDEXEDPOLYGONALFACE((149, 168, 170)); +#579 = IFCINDEXEDPOLYGONALFACE((130, 132, 136)); +#580 = IFCINDEXEDPOLYGONALFACE((133, 135, 138)); +#581 = IFCINDEXEDPOLYGONALFACE((134, 136, 135)); +#582 = IFCINDEXEDPOLYGONALFACE((137, 138, 153)); +#583 = IFCINDEXEDPOLYGONALFACE((153, 168, 137)); +#584 = IFCINDEXEDPOLYGONALFACE((173, 149, 170)); +#585 = IFCINDEXEDPOLYGONALFACE((149, 174, 164)); +#586 = IFCINDEXEDPOLYGONALFACE((166, 205, 164)); +#587 = IFCINDEXEDPOLYGONALFACE((149, 173, 176)); +#588 = IFCINDEXEDPOLYGONALFACE((149, 176, 174)); +#589 = IFCINDEXEDPOLYGONALFACE((207, 208, 209)); +#590 = IFCINDEXEDPOLYGONALFACE((210, 209, 208)); +#591 = IFCINDEXEDPOLYGONALFACE((211, 209, 212)); +#592 = IFCINDEXEDPOLYGONALFACE((210, 212, 209)); +#593 = IFCINDEXEDPOLYGONALFACE((213, 211, 214)); +#594 = IFCINDEXEDPOLYGONALFACE((212, 214, 211)); +#595 = IFCINDEXEDPOLYGONALFACE((141, 215, 139)); +#596 = IFCINDEXEDPOLYGONALFACE((216, 217, 213)); +#597 = IFCINDEXEDPOLYGONALFACE((218, 213, 217)); +#598 = IFCINDEXEDPOLYGONALFACE((219, 213, 218)); +#599 = IFCINDEXEDPOLYGONALFACE((220, 213, 219)); +#600 = IFCINDEXEDPOLYGONALFACE((221, 213, 220)); +#601 = IFCINDEXEDPOLYGONALFACE((222, 213, 221)); +#602 = IFCINDEXEDPOLYGONALFACE((223, 213, 222)); +#603 = IFCINDEXEDPOLYGONALFACE((211, 213, 223)); +#604 = IFCINDEXEDPOLYGONALFACE((224, 219, 218)); +#605 = IFCINDEXEDPOLYGONALFACE((225, 211, 223)); +#606 = IFCINDEXEDPOLYGONALFACE((226, 211, 225)); +#607 = IFCINDEXEDPOLYGONALFACE((227, 211, 226)); +#608 = IFCINDEXEDPOLYGONALFACE((228, 211, 227)); +#609 = IFCINDEXEDPOLYGONALFACE((229, 211, 228)); +#610 = IFCINDEXEDPOLYGONALFACE((230, 229, 228)); +#611 = IFCINDEXEDPOLYGONALFACE((231, 229, 230)); +#612 = IFCINDEXEDPOLYGONALFACE((232, 231, 230)); +#613 = IFCINDEXEDPOLYGONALFACE((233, 231, 232)); +#614 = IFCINDEXEDPOLYGONALFACE((234, 233, 232)); +#615 = IFCINDEXEDPOLYGONALFACE((235, 233, 234)); +#616 = IFCINDEXEDPOLYGONALFACE((236, 235, 234)); +#617 = IFCINDEXEDPOLYGONALFACE((237, 236, 234)); +#618 = IFCINDEXEDPOLYGONALFACE((238, 211, 229)); +#619 = IFCINDEXEDPOLYGONALFACE((239, 211, 238)); +#620 = IFCINDEXEDPOLYGONALFACE((240, 211, 239)); +#621 = IFCINDEXEDPOLYGONALFACE((241, 211, 240)); +#622 = IFCINDEXEDPOLYGONALFACE((215, 211, 241)); +#623 = IFCINDEXEDPOLYGONALFACE((242, 215, 241)); +#624 = IFCINDEXEDPOLYGONALFACE((243, 215, 242)); +#625 = IFCINDEXEDPOLYGONALFACE((244, 243, 242)); +#626 = IFCINDEXEDPOLYGONALFACE((245, 243, 244)); +#627 = IFCINDEXEDPOLYGONALFACE((246, 245, 244)); +#628 = IFCINDEXEDPOLYGONALFACE((247, 245, 246)); +#629 = IFCINDEXEDPOLYGONALFACE((248, 247, 246)); +#630 = IFCINDEXEDPOLYGONALFACE((249, 248, 246)); +#631 = IFCINDEXEDPOLYGONALFACE((141, 211, 215)); +#632 = IFCINDEXEDPOLYGONALFACE((144, 211, 141)); +#633 = IFCINDEXEDPOLYGONALFACE((123, 211, 144)); +#634 = IFCINDEXEDPOLYGONALFACE((122, 211, 123)); +#635 = IFCINDEXEDPOLYGONALFACE((125, 211, 122)); +#636 = IFCINDEXEDPOLYGONALFACE((250, 211, 125)); +#637 = IFCINDEXEDPOLYGONALFACE((127, 250, 125)); +#638 = IFCINDEXEDPOLYGONALFACE((251, 250, 127)); +#639 = IFCINDEXEDPOLYGONALFACE((131, 251, 127)); +#640 = IFCINDEXEDPOLYGONALFACE((252, 251, 131)); +#641 = IFCINDEXEDPOLYGONALFACE((253, 252, 131)); +#642 = IFCINDEXEDPOLYGONALFACE((254, 253, 131)); +#643 = IFCINDEXEDPOLYGONALFACE((255, 211, 250)); +#644 = IFCINDEXEDPOLYGONALFACE((38, 211, 255)); +#645 = IFCINDEXEDPOLYGONALFACE((41, 211, 38)); +#646 = IFCINDEXEDPOLYGONALFACE((22, 211, 41)); +#647 = IFCINDEXEDPOLYGONALFACE((21, 211, 22)); +#648 = IFCINDEXEDPOLYGONALFACE((24, 211, 21)); +#649 = IFCINDEXEDPOLYGONALFACE((26, 211, 24)); +#650 = IFCINDEXEDPOLYGONALFACE((43, 211, 26)); +#651 = IFCINDEXEDPOLYGONALFACE((256, 257, 218)); +#652 = IFCINDEXEDPOLYGONALFACE((258, 218, 257)); +#653 = IFCINDEXEDPOLYGONALFACE((259, 218, 258)); +#654 = IFCINDEXEDPOLYGONALFACE((260, 218, 259)); +#655 = IFCINDEXEDPOLYGONALFACE((261, 218, 260)); +#656 = IFCINDEXEDPOLYGONALFACE((224, 218, 261)); +#657 = IFCINDEXEDPOLYGONALFACE((262, 257, 256)); +#658 = IFCINDEXEDPOLYGONALFACE((263, 262, 256)); +#659 = IFCINDEXEDPOLYGONALFACE((264, 263, 256)); +#660 = IFCINDEXEDPOLYGONALFACE((265, 264, 256)); +#661 = IFCINDEXEDPOLYGONALFACE((266, 265, 256)); +#662 = IFCINDEXEDPOLYGONALFACE((267, 266, 256)); +#663 = IFCINDEXEDPOLYGONALFACE((268, 266, 267)); +#664 = IFCINDEXEDPOLYGONALFACE((269, 268, 267)); +#665 = IFCINDEXEDPOLYGONALFACE((270, 268, 269)); +#666 = IFCINDEXEDPOLYGONALFACE((271, 270, 269)); +#667 = IFCINDEXEDPOLYGONALFACE((234, 270, 271)); +#668 = IFCINDEXEDPOLYGONALFACE((272, 234, 271)); +#669 = IFCINDEXEDPOLYGONALFACE((273, 234, 272)); +#670 = IFCINDEXEDPOLYGONALFACE((237, 234, 273)); +#671 = IFCINDEXEDPOLYGONALFACE((274, 267, 256)); +#672 = IFCINDEXEDPOLYGONALFACE((275, 274, 256)); +#673 = IFCINDEXEDPOLYGONALFACE((276, 275, 256)); +#674 = IFCINDEXEDPOLYGONALFACE((277, 276, 256)); +#675 = IFCINDEXEDPOLYGONALFACE((278, 277, 256)); +#676 = IFCINDEXEDPOLYGONALFACE((279, 278, 256)); +#677 = IFCINDEXEDPOLYGONALFACE((280, 278, 279)); +#678 = IFCINDEXEDPOLYGONALFACE((281, 280, 279)); +#679 = IFCINDEXEDPOLYGONALFACE((282, 280, 281)); +#680 = IFCINDEXEDPOLYGONALFACE((283, 282, 281)); +#681 = IFCINDEXEDPOLYGONALFACE((246, 282, 283)); +#682 = IFCINDEXEDPOLYGONALFACE((284, 246, 283)); +#683 = IFCINDEXEDPOLYGONALFACE((285, 246, 284)); +#684 = IFCINDEXEDPOLYGONALFACE((249, 246, 285)); +#685 = IFCINDEXEDPOLYGONALFACE((147, 279, 256)); +#686 = IFCINDEXEDPOLYGONALFACE((146, 279, 147)); +#687 = IFCINDEXEDPOLYGONALFACE((149, 147, 256)); +#688 = IFCINDEXEDPOLYGONALFACE((137, 149, 256)); +#689 = IFCINDEXEDPOLYGONALFACE((133, 137, 256)); +#690 = IFCINDEXEDPOLYGONALFACE((134, 133, 256)); +#691 = IFCINDEXEDPOLYGONALFACE((286, 134, 256)); +#692 = IFCINDEXEDPOLYGONALFACE((130, 134, 286)); +#693 = IFCINDEXEDPOLYGONALFACE((287, 130, 286)); +#694 = IFCINDEXEDPOLYGONALFACE((131, 130, 287)); +#695 = IFCINDEXEDPOLYGONALFACE((288, 131, 287)); +#696 = IFCINDEXEDPOLYGONALFACE((289, 131, 288)); +#697 = IFCINDEXEDPOLYGONALFACE((254, 131, 289)); +#698 = IFCINDEXEDPOLYGONALFACE((290, 286, 256)); +#699 = IFCINDEXEDPOLYGONALFACE((45, 290, 256)); +#700 = IFCINDEXEDPOLYGONALFACE((44, 290, 45)); +#701 = IFCINDEXEDPOLYGONALFACE((47, 45, 256)); +#702 = IFCINDEXEDPOLYGONALFACE((34, 47, 256)); +#703 = IFCINDEXEDPOLYGONALFACE((29, 34, 256)); +#704 = IFCINDEXEDPOLYGONALFACE((30, 29, 256)); +#705 = IFCINDEXEDPOLYGONALFACE((32, 30, 256)); +#706 = IFCINDEXEDPOLYGONALFACE((43, 32, 256)); +#707 = IFCINDEXEDPOLYGONALFACE((211, 43, 256)); +#708 = IFCINDEXEDPOLYGONALFACE((209, 211, 256)); +#709 = IFCINDEXEDPOLYGONALFACE((207, 209, 256)); +#710 = IFCINDEXEDPOLYGONALFACE((38, 255, 36)); +#711 = IFCINDEXEDPOLYGONALFACE((291, 292, 293)); +#712 = IFCINDEXEDPOLYGONALFACE((214, 293, 292)); +#713 = IFCINDEXEDPOLYGONALFACE((294, 293, 214)); +#714 = IFCINDEXEDPOLYGONALFACE((212, 294, 214)); +#715 = IFCINDEXEDPOLYGONALFACE((208, 294, 212)); +#716 = IFCINDEXEDPOLYGONALFACE((210, 208, 212)); +#717 = IFCINDEXEDPOLYGONALFACE((292, 216, 214)); +#718 = IFCINDEXEDPOLYGONALFACE((213, 214, 216)); +#719 = IFCINDEXEDPOLYGONALFACE((291, 217, 292)); +#720 = IFCINDEXEDPOLYGONALFACE((216, 292, 217)); +#721 = IFCINDEXEDPOLYGONALFACE((293, 218, 291)); +#722 = IFCINDEXEDPOLYGONALFACE((217, 291, 218)); +#723 = IFCINDEXEDPOLYGONALFACE((218, 293, 256)); +#724 = IFCINDEXEDPOLYGONALFACE((294, 256, 293)); +#725 = IFCINDEXEDPOLYGONALFACE((256, 294, 207)); +#726 = IFCINDEXEDPOLYGONALFACE((208, 207, 294)); +#727 = IFCINDEXEDPOLYGONALFACE((246, 295, 244)); +#728 = IFCINDEXEDPOLYGONALFACE((296, 240, 297)); +#729 = IFCINDEXEDPOLYGONALFACE((297, 241, 298)); +#730 = IFCINDEXEDPOLYGONALFACE((298, 242, 299)); +#731 = IFCINDEXEDPOLYGONALFACE((295, 246, 282)); +#732 = IFCINDEXEDPOLYGONALFACE((300, 280, 278)); +#733 = IFCINDEXEDPOLYGONALFACE((301, 282, 280)); +#734 = IFCINDEXEDPOLYGONALFACE((302, 278, 277)); +#735 = IFCINDEXEDPOLYGONALFACE((303, 304, 305)); +#736 = IFCINDEXEDPOLYGONALFACE((306, 303, 307)); +#737 = IFCINDEXEDPOLYGONALFACE((308, 306, 309)); +#738 = IFCINDEXEDPOLYGONALFACE((309, 310, 308)); +#739 = IFCINDEXEDPOLYGONALFACE((311, 312, 313)); +#740 = IFCINDEXEDPOLYGONALFACE((312, 314, 315)); +#741 = IFCINDEXEDPOLYGONALFACE((316, 311, 317)); +#742 = IFCINDEXEDPOLYGONALFACE((238, 318, 319)); +#743 = IFCINDEXEDPOLYGONALFACE((320, 319, 318)); +#744 = IFCINDEXEDPOLYGONALFACE((321, 319, 320)); +#745 = IFCINDEXEDPOLYGONALFACE((322, 274, 323)); +#746 = IFCINDEXEDPOLYGONALFACE((275, 323, 274)); +#747 = IFCINDEXEDPOLYGONALFACE((276, 323, 275)); +#748 = IFCINDEXEDPOLYGONALFACE((277, 323, 276)); +#749 = IFCINDEXEDPOLYGONALFACE((316, 323, 277)); +#750 = IFCINDEXEDPOLYGONALFACE((278, 316, 277)); +#751 = IFCINDEXEDPOLYGONALFACE((311, 316, 278)); +#752 = IFCINDEXEDPOLYGONALFACE((280, 311, 278)); +#753 = IFCINDEXEDPOLYGONALFACE((312, 311, 280)); +#754 = IFCINDEXEDPOLYGONALFACE((282, 312, 280)); +#755 = IFCINDEXEDPOLYGONALFACE((314, 312, 282)); +#756 = IFCINDEXEDPOLYGONALFACE((246, 314, 282)); +#757 = IFCINDEXEDPOLYGONALFACE((324, 314, 246)); +#758 = IFCINDEXEDPOLYGONALFACE((238, 319, 239)); +#759 = IFCINDEXEDPOLYGONALFACE((325, 239, 319)); +#760 = IFCINDEXEDPOLYGONALFACE((240, 239, 325)); +#761 = IFCINDEXEDPOLYGONALFACE((304, 240, 325)); +#762 = IFCINDEXEDPOLYGONALFACE((241, 240, 304)); +#763 = IFCINDEXEDPOLYGONALFACE((303, 241, 304)); +#764 = IFCINDEXEDPOLYGONALFACE((242, 241, 303)); +#765 = IFCINDEXEDPOLYGONALFACE((306, 242, 303)); +#766 = IFCINDEXEDPOLYGONALFACE((244, 242, 306)); +#767 = IFCINDEXEDPOLYGONALFACE((308, 244, 306)); +#768 = IFCINDEXEDPOLYGONALFACE((246, 244, 308)); +#769 = IFCINDEXEDPOLYGONALFACE((324, 246, 308)); +#770 = IFCINDEXEDPOLYGONALFACE((326, 296, 305)); +#771 = IFCINDEXEDPOLYGONALFACE((297, 305, 296)); +#772 = IFCINDEXEDPOLYGONALFACE((307, 305, 297)); +#773 = IFCINDEXEDPOLYGONALFACE((298, 307, 297)); +#774 = IFCINDEXEDPOLYGONALFACE((309, 307, 298)); +#775 = IFCINDEXEDPOLYGONALFACE((299, 309, 298)); +#776 = IFCINDEXEDPOLYGONALFACE((310, 309, 299)); +#777 = IFCINDEXEDPOLYGONALFACE((295, 310, 299)); +#778 = IFCINDEXEDPOLYGONALFACE((327, 328, 302)); +#779 = IFCINDEXEDPOLYGONALFACE((317, 302, 328)); +#780 = IFCINDEXEDPOLYGONALFACE((313, 302, 317)); +#781 = IFCINDEXEDPOLYGONALFACE((300, 302, 313)); +#782 = IFCINDEXEDPOLYGONALFACE((315, 300, 313)); +#783 = IFCINDEXEDPOLYGONALFACE((301, 300, 315)); +#784 = IFCINDEXEDPOLYGONALFACE((329, 301, 315)); +#785 = IFCINDEXEDPOLYGONALFACE((295, 301, 329)); +#786 = IFCINDEXEDPOLYGONALFACE((310, 295, 329)); +#787 = IFCINDEXEDPOLYGONALFACE((330, 331, 332)); +#788 = IFCINDEXEDPOLYGONALFACE((333, 334, 335)); +#789 = IFCINDEXEDPOLYGONALFACE((332, 336, 337)); +#790 = IFCINDEXEDPOLYGONALFACE((338, 335, 337)); +#791 = IFCINDEXEDPOLYGONALFACE((339, 340, 341)); +#792 = IFCINDEXEDPOLYGONALFACE((334, 342, 339)); +#793 = IFCINDEXEDPOLYGONALFACE((339, 342, 340)); +#794 = IFCINDEXEDPOLYGONALFACE((331, 330, 343)); +#795 = IFCINDEXEDPOLYGONALFACE((336, 338, 337)); +#796 = IFCINDEXEDPOLYGONALFACE((336, 332, 331)); +#797 = IFCINDEXEDPOLYGONALFACE((335, 338, 333)); +#798 = IFCINDEXEDPOLYGONALFACE((342, 334, 333)); +#799 = IFCINDEXEDPOLYGONALFACE((344, 345, 346)); +#800 = IFCINDEXEDPOLYGONALFACE((345, 344, 347)); +#801 = IFCINDEXEDPOLYGONALFACE((346, 348, 349)); +#802 = IFCINDEXEDPOLYGONALFACE((348, 346, 345)); +#803 = IFCINDEXEDPOLYGONALFACE((344, 328, 347)); +#804 = IFCINDEXEDPOLYGONALFACE((327, 347, 328)); +#805 = IFCINDEXEDPOLYGONALFACE((350, 341, 340)); +#806 = IFCINDEXEDPOLYGONALFACE((351, 350, 352)); +#807 = IFCINDEXEDPOLYGONALFACE((350, 351, 341)); +#808 = IFCINDEXEDPOLYGONALFACE((353, 349, 348)); +#809 = IFCINDEXEDPOLYGONALFACE((352, 353, 351)); +#810 = IFCINDEXEDPOLYGONALFACE((352, 349, 353)); +#811 = IFCINDEXEDPOLYGONALFACE((354, 355, 356)); +#812 = IFCINDEXEDPOLYGONALFACE((321, 320, 357)); +#813 = IFCINDEXEDPOLYGONALFACE((357, 358, 359)); +#814 = IFCINDEXEDPOLYGONALFACE((360, 361, 362)); +#815 = IFCINDEXEDPOLYGONALFACE((359, 363, 360)); +#816 = IFCINDEXEDPOLYGONALFACE((364, 362, 365)); +#817 = IFCINDEXEDPOLYGONALFACE((365, 366, 364)); +#818 = IFCINDEXEDPOLYGONALFACE((367, 354, 366)); +#819 = IFCINDEXEDPOLYGONALFACE((361, 365, 362)); +#820 = IFCINDEXEDPOLYGONALFACE((363, 361, 360)); +#821 = IFCINDEXEDPOLYGONALFACE((357, 320, 358)); +#822 = IFCINDEXEDPOLYGONALFACE((358, 363, 359)); +#823 = IFCINDEXEDPOLYGONALFACE((367, 355, 354)); +#824 = IFCINDEXEDPOLYGONALFACE((365, 367, 366)); +#825 = IFCINDEXEDPOLYGONALFACE((355, 368, 356)); +#826 = IFCINDEXEDPOLYGONALFACE((369, 356, 368)); +#827 = IFCINDEXEDPOLYGONALFACE((370, 368, 371)); +#828 = IFCINDEXEDPOLYGONALFACE((368, 370, 369)); +#829 = IFCINDEXEDPOLYGONALFACE((370, 371, 372)); +#830 = IFCINDEXEDPOLYGONALFACE((373, 372, 371)); +#831 = IFCINDEXEDPOLYGONALFACE((374, 373, 371)); +#832 = IFCINDEXEDPOLYGONALFACE((373, 374, 375)); +#833 = IFCINDEXEDPOLYGONALFACE((376, 377, 378)); +#834 = IFCINDEXEDPOLYGONALFACE((379, 374, 377)); +#835 = IFCINDEXEDPOLYGONALFACE((374, 379, 375)); +#836 = IFCINDEXEDPOLYGONALFACE((379, 377, 376)); +#837 = IFCINDEXEDPOLYGONALFACE((326, 378, 296)); +#838 = IFCINDEXEDPOLYGONALFACE((378, 326, 376)); +#839 = IFCINDEXEDPOLYGONALFACE((318, 365, 361)); +#840 = IFCINDEXEDPOLYGONALFACE((239, 355, 318)); +#841 = IFCINDEXEDPOLYGONALFACE((238, 239, 318)); +#842 = IFCINDEXEDPOLYGONALFACE((320, 318, 361)); +#843 = IFCINDEXEDPOLYGONALFACE((320, 363, 358)); +#844 = IFCINDEXEDPOLYGONALFACE((320, 361, 363)); +#845 = IFCINDEXEDPOLYGONALFACE((240, 378, 239)); +#846 = IFCINDEXEDPOLYGONALFACE((295, 299, 244)); +#847 = IFCINDEXEDPOLYGONALFACE((318, 367, 365)); +#848 = IFCINDEXEDPOLYGONALFACE((377, 374, 239)); +#849 = IFCINDEXEDPOLYGONALFACE((368, 355, 239)); +#850 = IFCINDEXEDPOLYGONALFACE((318, 355, 367)); +#851 = IFCINDEXEDPOLYGONALFACE((368, 239, 371)); +#852 = IFCINDEXEDPOLYGONALFACE((371, 239, 374)); +#853 = IFCINDEXEDPOLYGONALFACE((377, 239, 378)); +#854 = IFCINDEXEDPOLYGONALFACE((240, 241, 297)); +#855 = IFCINDEXEDPOLYGONALFACE((378, 240, 296)); +#856 = IFCINDEXEDPOLYGONALFACE((241, 242, 298)); +#857 = IFCINDEXEDPOLYGONALFACE((242, 244, 299)); +#858 = IFCINDEXEDPOLYGONALFACE((339, 380, 334)); +#859 = IFCINDEXEDPOLYGONALFACE((347, 277, 276)); +#860 = IFCINDEXEDPOLYGONALFACE((276, 380, 341)); +#861 = IFCINDEXEDPOLYGONALFACE((380, 335, 334)); +#862 = IFCINDEXEDPOLYGONALFACE((380, 276, 274)); +#863 = IFCINDEXEDPOLYGONALFACE((275, 274, 276)); +#864 = IFCINDEXEDPOLYGONALFACE((380, 330, 335)); +#865 = IFCINDEXEDPOLYGONALFACE((330, 337, 335)); +#866 = IFCINDEXEDPOLYGONALFACE((330, 332, 337)); +#867 = IFCINDEXEDPOLYGONALFACE((295, 282, 301)); +#868 = IFCINDEXEDPOLYGONALFACE((345, 347, 276)); +#869 = IFCINDEXEDPOLYGONALFACE((300, 278, 302)); +#870 = IFCINDEXEDPOLYGONALFACE((301, 280, 300)); +#871 = IFCINDEXEDPOLYGONALFACE((302, 277, 327)); +#872 = IFCINDEXEDPOLYGONALFACE((347, 327, 277)); +#873 = IFCINDEXEDPOLYGONALFACE((276, 348, 345)); +#874 = IFCINDEXEDPOLYGONALFACE((351, 276, 341)); +#875 = IFCINDEXEDPOLYGONALFACE((380, 339, 341)); +#876 = IFCINDEXEDPOLYGONALFACE((348, 276, 353)); +#877 = IFCINDEXEDPOLYGONALFACE((353, 276, 351)); +#878 = IFCINDEXEDPOLYGONALFACE((322, 381, 274)); +#879 = IFCINDEXEDPOLYGONALFACE((343, 274, 381)); +#880 = IFCINDEXEDPOLYGONALFACE((330, 274, 343)); +#881 = IFCINDEXEDPOLYGONALFACE((364, 382, 362)); +#882 = IFCINDEXEDPOLYGONALFACE((357, 359, 321)); +#883 = IFCINDEXEDPOLYGONALFACE((382, 325, 319)); +#884 = IFCINDEXEDPOLYGONALFACE((382, 321, 360)); +#885 = IFCINDEXEDPOLYGONALFACE((360, 321, 359)); +#886 = IFCINDEXEDPOLYGONALFACE((362, 382, 360)); +#887 = IFCINDEXEDPOLYGONALFACE((364, 366, 382)); +#888 = IFCINDEXEDPOLYGONALFACE((379, 304, 325)); +#889 = IFCINDEXEDPOLYGONALFACE((356, 325, 382)); +#890 = IFCINDEXEDPOLYGONALFACE((366, 354, 382)); +#891 = IFCINDEXEDPOLYGONALFACE((382, 354, 356)); +#892 = IFCINDEXEDPOLYGONALFACE((375, 379, 325)); +#893 = IFCINDEXEDPOLYGONALFACE((370, 372, 325)); +#894 = IFCINDEXEDPOLYGONALFACE((356, 369, 325)); +#895 = IFCINDEXEDPOLYGONALFACE((370, 325, 369)); +#896 = IFCINDEXEDPOLYGONALFACE((325, 372, 373)); +#897 = IFCINDEXEDPOLYGONALFACE((325, 373, 375)); +#898 = IFCINDEXEDPOLYGONALFACE((304, 379, 376)); +#899 = IFCINDEXEDPOLYGONALFACE((304, 326, 305)); +#900 = IFCINDEXEDPOLYGONALFACE((304, 376, 326)); +#901 = IFCINDEXEDPOLYGONALFACE((303, 305, 307)); +#902 = IFCINDEXEDPOLYGONALFACE((306, 307, 309)); +#903 = IFCINDEXEDPOLYGONALFACE((310, 324, 308)); +#904 = IFCINDEXEDPOLYGONALFACE((324, 329, 314)); +#905 = IFCINDEXEDPOLYGONALFACE((381, 342, 333)); +#906 = IFCINDEXEDPOLYGONALFACE((316, 344, 323)); +#907 = IFCINDEXEDPOLYGONALFACE((381, 323, 340)); +#908 = IFCINDEXEDPOLYGONALFACE((338, 381, 333)); +#909 = IFCINDEXEDPOLYGONALFACE((322, 323, 381)); +#910 = IFCINDEXEDPOLYGONALFACE((343, 381, 338)); +#911 = IFCINDEXEDPOLYGONALFACE((336, 343, 338)); +#912 = IFCINDEXEDPOLYGONALFACE((331, 343, 336)); +#913 = IFCINDEXEDPOLYGONALFACE((329, 324, 310)); +#914 = IFCINDEXEDPOLYGONALFACE((323, 344, 346)); +#915 = IFCINDEXEDPOLYGONALFACE((329, 315, 314)); +#916 = IFCINDEXEDPOLYGONALFACE((311, 313, 317)); +#917 = IFCINDEXEDPOLYGONALFACE((312, 315, 313)); +#918 = IFCINDEXEDPOLYGONALFACE((316, 317, 328)); +#919 = IFCINDEXEDPOLYGONALFACE((328, 344, 316)); +#920 = IFCINDEXEDPOLYGONALFACE((349, 323, 346)); +#921 = IFCINDEXEDPOLYGONALFACE((323, 350, 340)); +#922 = IFCINDEXEDPOLYGONALFACE((342, 381, 340)); +#923 = IFCINDEXEDPOLYGONALFACE((323, 349, 352)); +#924 = IFCINDEXEDPOLYGONALFACE((323, 352, 350)); +#925 = IFCINDEXEDPOLYGONALFACE((234, 383, 232)); +#926 = IFCINDEXEDPOLYGONALFACE((384, 227, 385)); +#927 = IFCINDEXEDPOLYGONALFACE((385, 228, 386)); +#928 = IFCINDEXEDPOLYGONALFACE((386, 230, 387)); +#929 = IFCINDEXEDPOLYGONALFACE((383, 234, 270)); +#930 = IFCINDEXEDPOLYGONALFACE((388, 268, 266)); +#931 = IFCINDEXEDPOLYGONALFACE((389, 270, 268)); +#932 = IFCINDEXEDPOLYGONALFACE((390, 266, 265)); +#933 = IFCINDEXEDPOLYGONALFACE((391, 392, 393)); +#934 = IFCINDEXEDPOLYGONALFACE((394, 391, 395)); +#935 = IFCINDEXEDPOLYGONALFACE((396, 394, 397)); +#936 = IFCINDEXEDPOLYGONALFACE((397, 398, 396)); +#937 = IFCINDEXEDPOLYGONALFACE((399, 400, 401)); +#938 = IFCINDEXEDPOLYGONALFACE((400, 402, 403)); +#939 = IFCINDEXEDPOLYGONALFACE((404, 399, 405)); +#940 = IFCINDEXEDPOLYGONALFACE((225, 406, 407)); +#941 = IFCINDEXEDPOLYGONALFACE((408, 407, 406)); +#942 = IFCINDEXEDPOLYGONALFACE((409, 407, 408)); +#943 = IFCINDEXEDPOLYGONALFACE((410, 262, 411)); +#944 = IFCINDEXEDPOLYGONALFACE((263, 411, 262)); +#945 = IFCINDEXEDPOLYGONALFACE((264, 411, 263)); +#946 = IFCINDEXEDPOLYGONALFACE((265, 411, 264)); +#947 = IFCINDEXEDPOLYGONALFACE((404, 411, 265)); +#948 = IFCINDEXEDPOLYGONALFACE((266, 404, 265)); +#949 = IFCINDEXEDPOLYGONALFACE((399, 404, 266)); +#950 = IFCINDEXEDPOLYGONALFACE((268, 399, 266)); +#951 = IFCINDEXEDPOLYGONALFACE((400, 399, 268)); +#952 = IFCINDEXEDPOLYGONALFACE((270, 400, 268)); +#953 = IFCINDEXEDPOLYGONALFACE((402, 400, 270)); +#954 = IFCINDEXEDPOLYGONALFACE((234, 402, 270)); +#955 = IFCINDEXEDPOLYGONALFACE((412, 402, 234)); +#956 = IFCINDEXEDPOLYGONALFACE((225, 407, 226)); +#957 = IFCINDEXEDPOLYGONALFACE((413, 226, 407)); +#958 = IFCINDEXEDPOLYGONALFACE((227, 226, 413)); +#959 = IFCINDEXEDPOLYGONALFACE((392, 227, 413)); +#960 = IFCINDEXEDPOLYGONALFACE((228, 227, 392)); +#961 = IFCINDEXEDPOLYGONALFACE((391, 228, 392)); +#962 = IFCINDEXEDPOLYGONALFACE((230, 228, 391)); +#963 = IFCINDEXEDPOLYGONALFACE((394, 230, 391)); +#964 = IFCINDEXEDPOLYGONALFACE((232, 230, 394)); +#965 = IFCINDEXEDPOLYGONALFACE((396, 232, 394)); +#966 = IFCINDEXEDPOLYGONALFACE((234, 232, 396)); +#967 = IFCINDEXEDPOLYGONALFACE((412, 234, 396)); +#968 = IFCINDEXEDPOLYGONALFACE((414, 384, 393)); +#969 = IFCINDEXEDPOLYGONALFACE((385, 393, 384)); +#970 = IFCINDEXEDPOLYGONALFACE((395, 393, 385)); +#971 = IFCINDEXEDPOLYGONALFACE((386, 395, 385)); +#972 = IFCINDEXEDPOLYGONALFACE((397, 395, 386)); +#973 = IFCINDEXEDPOLYGONALFACE((387, 397, 386)); +#974 = IFCINDEXEDPOLYGONALFACE((398, 397, 387)); +#975 = IFCINDEXEDPOLYGONALFACE((383, 398, 387)); +#976 = IFCINDEXEDPOLYGONALFACE((415, 416, 390)); +#977 = IFCINDEXEDPOLYGONALFACE((405, 390, 416)); +#978 = IFCINDEXEDPOLYGONALFACE((401, 390, 405)); +#979 = IFCINDEXEDPOLYGONALFACE((388, 390, 401)); +#980 = IFCINDEXEDPOLYGONALFACE((403, 388, 401)); +#981 = IFCINDEXEDPOLYGONALFACE((389, 388, 403)); +#982 = IFCINDEXEDPOLYGONALFACE((417, 389, 403)); +#983 = IFCINDEXEDPOLYGONALFACE((383, 389, 417)); +#984 = IFCINDEXEDPOLYGONALFACE((398, 383, 417)); +#985 = IFCINDEXEDPOLYGONALFACE((418, 419, 420)); +#986 = IFCINDEXEDPOLYGONALFACE((421, 422, 423)); +#987 = IFCINDEXEDPOLYGONALFACE((420, 424, 425)); +#988 = IFCINDEXEDPOLYGONALFACE((426, 423, 425)); +#989 = IFCINDEXEDPOLYGONALFACE((427, 428, 429)); +#990 = IFCINDEXEDPOLYGONALFACE((422, 430, 427)); +#991 = IFCINDEXEDPOLYGONALFACE((427, 430, 428)); +#992 = IFCINDEXEDPOLYGONALFACE((419, 418, 431)); +#993 = IFCINDEXEDPOLYGONALFACE((424, 426, 425)); +#994 = IFCINDEXEDPOLYGONALFACE((424, 420, 419)); +#995 = IFCINDEXEDPOLYGONALFACE((423, 426, 421)); +#996 = IFCINDEXEDPOLYGONALFACE((430, 422, 421)); +#997 = IFCINDEXEDPOLYGONALFACE((432, 433, 434)); +#998 = IFCINDEXEDPOLYGONALFACE((433, 432, 435)); +#999 = IFCINDEXEDPOLYGONALFACE((434, 436, 437)); +#1000 = IFCINDEXEDPOLYGONALFACE((436, 434, 433)); +#1001 = IFCINDEXEDPOLYGONALFACE((432, 416, 435)); +#1002 = IFCINDEXEDPOLYGONALFACE((415, 435, 416)); +#1003 = IFCINDEXEDPOLYGONALFACE((438, 429, 428)); +#1004 = IFCINDEXEDPOLYGONALFACE((439, 438, 440)); +#1005 = IFCINDEXEDPOLYGONALFACE((438, 439, 429)); +#1006 = IFCINDEXEDPOLYGONALFACE((441, 437, 436)); +#1007 = IFCINDEXEDPOLYGONALFACE((440, 441, 439)); +#1008 = IFCINDEXEDPOLYGONALFACE((440, 437, 441)); +#1009 = IFCINDEXEDPOLYGONALFACE((442, 443, 444)); +#1010 = IFCINDEXEDPOLYGONALFACE((409, 408, 445)); +#1011 = IFCINDEXEDPOLYGONALFACE((445, 446, 447)); +#1012 = IFCINDEXEDPOLYGONALFACE((448, 449, 450)); +#1013 = IFCINDEXEDPOLYGONALFACE((447, 451, 448)); +#1014 = IFCINDEXEDPOLYGONALFACE((452, 450, 453)); +#1015 = IFCINDEXEDPOLYGONALFACE((453, 454, 452)); +#1016 = IFCINDEXEDPOLYGONALFACE((455, 442, 454)); +#1017 = IFCINDEXEDPOLYGONALFACE((449, 453, 450)); +#1018 = IFCINDEXEDPOLYGONALFACE((451, 449, 448)); +#1019 = IFCINDEXEDPOLYGONALFACE((445, 408, 446)); +#1020 = IFCINDEXEDPOLYGONALFACE((446, 451, 447)); +#1021 = IFCINDEXEDPOLYGONALFACE((455, 443, 442)); +#1022 = IFCINDEXEDPOLYGONALFACE((453, 455, 454)); +#1023 = IFCINDEXEDPOLYGONALFACE((443, 456, 444)); +#1024 = IFCINDEXEDPOLYGONALFACE((457, 444, 456)); +#1025 = IFCINDEXEDPOLYGONALFACE((458, 456, 459)); +#1026 = IFCINDEXEDPOLYGONALFACE((456, 458, 457)); +#1027 = IFCINDEXEDPOLYGONALFACE((458, 459, 460)); +#1028 = IFCINDEXEDPOLYGONALFACE((461, 460, 459)); +#1029 = IFCINDEXEDPOLYGONALFACE((462, 461, 459)); +#1030 = IFCINDEXEDPOLYGONALFACE((461, 462, 463)); +#1031 = IFCINDEXEDPOLYGONALFACE((464, 465, 466)); +#1032 = IFCINDEXEDPOLYGONALFACE((467, 462, 465)); +#1033 = IFCINDEXEDPOLYGONALFACE((462, 467, 463)); +#1034 = IFCINDEXEDPOLYGONALFACE((467, 465, 464)); +#1035 = IFCINDEXEDPOLYGONALFACE((414, 466, 384)); +#1036 = IFCINDEXEDPOLYGONALFACE((466, 414, 464)); +#1037 = IFCINDEXEDPOLYGONALFACE((406, 453, 449)); +#1038 = IFCINDEXEDPOLYGONALFACE((226, 443, 406)); +#1039 = IFCINDEXEDPOLYGONALFACE((225, 226, 406)); +#1040 = IFCINDEXEDPOLYGONALFACE((408, 406, 449)); +#1041 = IFCINDEXEDPOLYGONALFACE((408, 451, 446)); +#1042 = IFCINDEXEDPOLYGONALFACE((408, 449, 451)); +#1043 = IFCINDEXEDPOLYGONALFACE((227, 466, 226)); +#1044 = IFCINDEXEDPOLYGONALFACE((383, 387, 232)); +#1045 = IFCINDEXEDPOLYGONALFACE((406, 455, 453)); +#1046 = IFCINDEXEDPOLYGONALFACE((465, 462, 226)); +#1047 = IFCINDEXEDPOLYGONALFACE((456, 443, 226)); +#1048 = IFCINDEXEDPOLYGONALFACE((406, 443, 455)); +#1049 = IFCINDEXEDPOLYGONALFACE((456, 226, 459)); +#1050 = IFCINDEXEDPOLYGONALFACE((459, 226, 462)); +#1051 = IFCINDEXEDPOLYGONALFACE((465, 226, 466)); +#1052 = IFCINDEXEDPOLYGONALFACE((227, 228, 385)); +#1053 = IFCINDEXEDPOLYGONALFACE((466, 227, 384)); +#1054 = IFCINDEXEDPOLYGONALFACE((228, 230, 386)); +#1055 = IFCINDEXEDPOLYGONALFACE((230, 232, 387)); +#1056 = IFCINDEXEDPOLYGONALFACE((427, 468, 422)); +#1057 = IFCINDEXEDPOLYGONALFACE((435, 265, 264)); +#1058 = IFCINDEXEDPOLYGONALFACE((264, 468, 429)); +#1059 = IFCINDEXEDPOLYGONALFACE((468, 423, 422)); +#1060 = IFCINDEXEDPOLYGONALFACE((468, 264, 262)); +#1061 = IFCINDEXEDPOLYGONALFACE((263, 262, 264)); +#1062 = IFCINDEXEDPOLYGONALFACE((468, 418, 423)); +#1063 = IFCINDEXEDPOLYGONALFACE((418, 425, 423)); +#1064 = IFCINDEXEDPOLYGONALFACE((418, 420, 425)); +#1065 = IFCINDEXEDPOLYGONALFACE((383, 270, 389)); +#1066 = IFCINDEXEDPOLYGONALFACE((433, 435, 264)); +#1067 = IFCINDEXEDPOLYGONALFACE((388, 266, 390)); +#1068 = IFCINDEXEDPOLYGONALFACE((389, 268, 388)); +#1069 = IFCINDEXEDPOLYGONALFACE((390, 265, 415)); +#1070 = IFCINDEXEDPOLYGONALFACE((435, 415, 265)); +#1071 = IFCINDEXEDPOLYGONALFACE((264, 436, 433)); +#1072 = IFCINDEXEDPOLYGONALFACE((439, 264, 429)); +#1073 = IFCINDEXEDPOLYGONALFACE((468, 427, 429)); +#1074 = IFCINDEXEDPOLYGONALFACE((436, 264, 441)); +#1075 = IFCINDEXEDPOLYGONALFACE((441, 264, 439)); +#1076 = IFCINDEXEDPOLYGONALFACE((410, 469, 262)); +#1077 = IFCINDEXEDPOLYGONALFACE((431, 262, 469)); +#1078 = IFCINDEXEDPOLYGONALFACE((418, 262, 431)); +#1079 = IFCINDEXEDPOLYGONALFACE((452, 470, 450)); +#1080 = IFCINDEXEDPOLYGONALFACE((445, 447, 409)); +#1081 = IFCINDEXEDPOLYGONALFACE((470, 413, 407)); +#1082 = IFCINDEXEDPOLYGONALFACE((470, 409, 448)); +#1083 = IFCINDEXEDPOLYGONALFACE((448, 409, 447)); +#1084 = IFCINDEXEDPOLYGONALFACE((450, 470, 448)); +#1085 = IFCINDEXEDPOLYGONALFACE((452, 454, 470)); +#1086 = IFCINDEXEDPOLYGONALFACE((467, 392, 413)); +#1087 = IFCINDEXEDPOLYGONALFACE((444, 413, 470)); +#1088 = IFCINDEXEDPOLYGONALFACE((454, 442, 470)); +#1089 = IFCINDEXEDPOLYGONALFACE((470, 442, 444)); +#1090 = IFCINDEXEDPOLYGONALFACE((463, 467, 413)); +#1091 = IFCINDEXEDPOLYGONALFACE((458, 460, 413)); +#1092 = IFCINDEXEDPOLYGONALFACE((444, 457, 413)); +#1093 = IFCINDEXEDPOLYGONALFACE((458, 413, 457)); +#1094 = IFCINDEXEDPOLYGONALFACE((413, 460, 461)); +#1095 = IFCINDEXEDPOLYGONALFACE((413, 461, 463)); +#1096 = IFCINDEXEDPOLYGONALFACE((392, 467, 464)); +#1097 = IFCINDEXEDPOLYGONALFACE((392, 414, 393)); +#1098 = IFCINDEXEDPOLYGONALFACE((392, 464, 414)); +#1099 = IFCINDEXEDPOLYGONALFACE((391, 393, 395)); +#1100 = IFCINDEXEDPOLYGONALFACE((394, 395, 397)); +#1101 = IFCINDEXEDPOLYGONALFACE((398, 412, 396)); +#1102 = IFCINDEXEDPOLYGONALFACE((412, 417, 402)); +#1103 = IFCINDEXEDPOLYGONALFACE((469, 430, 421)); +#1104 = IFCINDEXEDPOLYGONALFACE((404, 432, 411)); +#1105 = IFCINDEXEDPOLYGONALFACE((469, 411, 428)); +#1106 = IFCINDEXEDPOLYGONALFACE((426, 469, 421)); +#1107 = IFCINDEXEDPOLYGONALFACE((410, 411, 469)); +#1108 = IFCINDEXEDPOLYGONALFACE((431, 469, 426)); +#1109 = IFCINDEXEDPOLYGONALFACE((424, 431, 426)); +#1110 = IFCINDEXEDPOLYGONALFACE((419, 431, 424)); +#1111 = IFCINDEXEDPOLYGONALFACE((417, 412, 398)); +#1112 = IFCINDEXEDPOLYGONALFACE((411, 432, 434)); +#1113 = IFCINDEXEDPOLYGONALFACE((417, 403, 402)); +#1114 = IFCINDEXEDPOLYGONALFACE((399, 401, 405)); +#1115 = IFCINDEXEDPOLYGONALFACE((400, 403, 401)); +#1116 = IFCINDEXEDPOLYGONALFACE((404, 405, 416)); +#1117 = IFCINDEXEDPOLYGONALFACE((416, 432, 404)); +#1118 = IFCINDEXEDPOLYGONALFACE((437, 411, 434)); +#1119 = IFCINDEXEDPOLYGONALFACE((411, 438, 428)); +#1120 = IFCINDEXEDPOLYGONALFACE((430, 469, 428)); +#1121 = IFCINDEXEDPOLYGONALFACE((411, 437, 440)); +#1122 = IFCINDEXEDPOLYGONALFACE((411, 440, 438)); +#1123 = IFCINDEXEDPOLYGONALFACE((3, 471, 472)); +#1124 = IFCINDEXEDPOLYGONALFACE((473, 472, 471)); +#1125 = IFCINDEXEDPOLYGONALFACE((2, 1, 474)); +#1126 = IFCINDEXEDPOLYGONALFACE((475, 474, 1)); +#1127 = IFCINDEXEDPOLYGONALFACE((473, 471, 474)); +#1128 = IFCINDEXEDPOLYGONALFACE((2, 474, 471)); +#1129 = IFCINDEXEDPOLYGONALFACE((473, 474, 472)); +#1130 = IFCINDEXEDPOLYGONALFACE((475, 472, 474)); +#1131 = IFCINDEXEDPOLYGONALFACE((3, 472, 1)); +#1132 = IFCINDEXEDPOLYGONALFACE((475, 1, 472)); +#1133 = IFCINDEXEDPOLYGONALFACE((471, 3, 2)); +#1134 = IFCSTYLEDITEM(#192, (#58), $); +#1135 = IFCREPRESENTATIONMAP(#1138, #1139); +#1136 = IFCDIRECTION((0., 0., 1.)); +#1137 = IFCDIRECTION((1., 0., 0.)); +#1138 = IFCAXIS2PLACEMENT3D(#15, #1136, #1137); +#1139 = IFCSHAPEREPRESENTATION(#17, 'Body', 'Tessellation', (#1140, #1155, #1181, #1229, #1255)); +#1140 = IFCPOLYGONALFACESET(#1141, $, (#1142, #1143, #1144, #1145, #1146, #1147, #1148, #1149, #1150, #1151, #1152, #1153), $); +#1141 = IFCCARTESIANPOINTLIST3D(((3.4431E-2, 1.26962E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.50103E-1), (3.4431E-2, 1.26962E-1, -1.50103E-1)), $); +#1142 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1143 = IFCINDEXEDPOLYGONALFACE((4, 3, 5)); +#1144 = IFCINDEXEDPOLYGONALFACE((6, 5, 3)); +#1145 = IFCINDEXEDPOLYGONALFACE((6, 2, 5)); +#1146 = IFCINDEXEDPOLYGONALFACE((7, 5, 2)); +#1147 = IFCINDEXEDPOLYGONALFACE((1, 8, 2)); +#1148 = IFCINDEXEDPOLYGONALFACE((7, 2, 8)); +#1149 = IFCINDEXEDPOLYGONALFACE((1, 3, 8)); +#1150 = IFCINDEXEDPOLYGONALFACE((4, 8, 3)); +#1151 = IFCINDEXEDPOLYGONALFACE((4, 5, 8)); +#1152 = IFCINDEXEDPOLYGONALFACE((7, 8, 5)); +#1153 = IFCINDEXEDPOLYGONALFACE((6, 3, 2)); +#1154 = IFCSTYLEDITEM(#1140, (#22), $); +#1155 = IFCPOLYGONALFACESET(#1156, $, (#1157, #1158, #1159, #1160, #1161, #1162, #1163, #1164, #1165, #1166, #1167, #1168, #1169, #1170, #1171, #1172, #1173, #1174, #1175, #1176, #1177, #1178, #1179), $); +#1156 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (-2.3673E-2, 0., 6.14006E-1), (4.278E-3, 0., 4.01688E-1), (-2.3674E-2, 0., 4.05368E-1), (3.223E-2, 0., 4.05368E-1), (5.8277E-2, 0., 4.16158E-1), (-4.9721E-2, 0., 4.16158E-1), (8.0645E-2, 0., 4.33321E-1), (-7.2089E-2, 0., 4.33321E-1), (9.7808E-2, 0., 4.55688E-1), (-8.9252E-2, 0., 4.55688E-1), (1.08597E-1, 0., 4.81735E-1), (-1.00041E-1, 0., 4.81735E-1), (1.1228E-1, 0., 5.09689E-1), (-1.03721E-1, 0., 5.09689E-1), (1.08599E-1, 0., 5.37641E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.0004E-1, 0., 5.37641E-1), (9.7809E-2, 0., 5.63688E-1), (-8.9251E-2, 0., 5.63688E-1), (8.0646E-2, 0., 5.86055E-1), (-7.2087E-2, 0., 5.86055E-1), (5.8279E-2, 0., 6.03217E-1), (-4.972E-2, 0., 6.03217E-1)), $); +#1157 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1158 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1159 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#1160 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#1161 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#1162 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#1163 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#1164 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#1165 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#1166 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#1167 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#1168 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#1169 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#1170 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#1171 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#1172 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#1173 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#1174 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#1175 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#1176 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#1177 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#1178 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#1179 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#1180 = IFCSTYLEDITEM(#1155, (#31), $); +#1181 = IFCPOLYGONALFACESET(#1182, $, (#1183, #1184, #1185, #1186, #1187, #1188, #1189, #1190, #1191, #1192, #1193, #1194, #1195, #1196, #1197, #1198, #1199, #1200, #1201, #1202, #1203, #1204, #1205, #1206, #1207, #1208, #1209, #1210, #1211, #1212, #1213, #1214, #1215, #1216, #1217, #1218, #1219, #1220, #1221, #1222, #1223, #1224, #1225, #1226, #1227), $); +#1182 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 3.62686E-1), (3.2231E-2, 0., 3.59006E-1), (-2.3673E-2, 0., 3.59006E-1), (4.277E-3, 0., 6.56689E-1), (-2.3675E-2, 0., 6.60369E-1), (3.2229E-2, 0., 6.60368E-1), (5.8277E-2, 0., 6.71157E-1), (-4.9723E-2, 0., 6.71158E-1), (8.0644E-2, 0., 6.8832E-1), (-7.209E-2, 0., 6.88322E-1), (9.7808E-2, 0., 7.10687E-1), (-8.9253E-2, 0., 7.10689E-1), (1.08597E-1, 0., 7.36735E-1), (-1.00042E-1, 0., 7.36737E-1), (1.1228E-1, 0., 7.64689E-1), (-1.03721E-1, 0., 7.64689E-1), (1.08599E-1, 0., 7.92641E-1), (-1.0004E-1, 0., 7.92641E-1), (9.7809E-2, 0., 8.18688E-1), (-8.9251E-2, 0., 8.18688E-1), (8.0646E-2, 0., 8.41055E-1), (-7.2087E-2, 0., 8.41055E-1), (5.8279E-2, 0., 8.58218E-1), (-4.972E-2, 0., 8.58218E-1), (3.2231E-2, 0., 8.69007E-1), (-2.3673E-2, 0., 8.69007E-1), (4.279E-3, 0., 8.72687E-1), (4.278E-3, 0., 1.46688E-1), (-2.3674E-2, 0., 1.50368E-1), (3.223E-2, 0., 1.50368E-1), (5.8277E-2, 0., 1.61157E-1), (-4.9721E-2, 0., 1.61157E-1), (8.0645E-2, 0., 1.7832E-1), (-7.2089E-2, 0., 1.7832E-1), (9.7808E-2, 0., 2.00687E-1), (-8.9252E-2, 0., 2.00687E-1), (1.08597E-1, 0., 2.26735E-1), (-1.00041E-1, 0., 2.26735E-1), (1.1228E-1, 0., 2.54688E-1), (-1.03721E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (-8.9251E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (-7.2087E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (-4.972E-2, 0., 3.48217E-1)), $); +#1183 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1184 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1185 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#1186 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#1187 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#1188 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#1189 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#1190 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#1191 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#1192 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#1193 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#1194 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#1195 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#1196 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#1197 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#1198 = IFCINDEXEDPOLYGONALFACE((20, 19, 18)); +#1199 = IFCINDEXEDPOLYGONALFACE((21, 19, 20)); +#1200 = IFCINDEXEDPOLYGONALFACE((22, 21, 20)); +#1201 = IFCINDEXEDPOLYGONALFACE((23, 21, 22)); +#1202 = IFCINDEXEDPOLYGONALFACE((24, 23, 22)); +#1203 = IFCINDEXEDPOLYGONALFACE((25, 23, 24)); +#1204 = IFCINDEXEDPOLYGONALFACE((26, 25, 24)); +#1205 = IFCINDEXEDPOLYGONALFACE((27, 25, 26)); +#1206 = IFCINDEXEDPOLYGONALFACE((28, 29, 30)); +#1207 = IFCINDEXEDPOLYGONALFACE((31, 30, 29)); +#1208 = IFCINDEXEDPOLYGONALFACE((32, 31, 29)); +#1209 = IFCINDEXEDPOLYGONALFACE((33, 31, 32)); +#1210 = IFCINDEXEDPOLYGONALFACE((34, 33, 32)); +#1211 = IFCINDEXEDPOLYGONALFACE((35, 33, 34)); +#1212 = IFCINDEXEDPOLYGONALFACE((36, 35, 34)); +#1213 = IFCINDEXEDPOLYGONALFACE((37, 35, 36)); +#1214 = IFCINDEXEDPOLYGONALFACE((38, 37, 36)); +#1215 = IFCINDEXEDPOLYGONALFACE((39, 37, 38)); +#1216 = IFCINDEXEDPOLYGONALFACE((40, 39, 38)); +#1217 = IFCINDEXEDPOLYGONALFACE((41, 39, 40)); +#1218 = IFCINDEXEDPOLYGONALFACE((42, 41, 40)); +#1219 = IFCINDEXEDPOLYGONALFACE((43, 41, 42)); +#1220 = IFCINDEXEDPOLYGONALFACE((44, 41, 43)); +#1221 = IFCINDEXEDPOLYGONALFACE((45, 44, 43)); +#1222 = IFCINDEXEDPOLYGONALFACE((46, 44, 45)); +#1223 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#1224 = IFCINDEXEDPOLYGONALFACE((48, 46, 47)); +#1225 = IFCINDEXEDPOLYGONALFACE((49, 48, 47)); +#1226 = IFCINDEXEDPOLYGONALFACE((2, 48, 49)); +#1227 = IFCINDEXEDPOLYGONALFACE((3, 2, 49)); +#1228 = IFCSTYLEDITEM(#1181, (#40), $); +#1229 = IFCPOLYGONALFACESET(#1230, $, (#1231, #1232, #1233, #1234, #1235, #1236, #1237, #1238, #1239, #1240, #1241, #1242, #1243, #1244, #1245, #1246, #1247, #1248, #1249, #1250, #1251, #1252, #1253), $); +#1230 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 1.07685E-1), (3.2231E-2, 0., 1.04005E-1), (-2.3673E-2, 0., 1.04005E-1), (4.278E-3, 0., -1.08313E-1), (-2.3674E-2, 0., -1.04633E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (-4.9721E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (-7.2089E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (-8.9252E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (-1.00041E-1, 0., -2.8266E-2), (1.1228E-1, 0., -3.12E-4), (-1.03721E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (-8.9251E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (-7.2087E-2, 0., 7.6054E-2), (5.8279E-2, 0., 9.3216E-2), (-4.972E-2, 0., 9.3216E-2)), $); +#1231 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1232 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1233 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#1234 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#1235 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#1236 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#1237 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#1238 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#1239 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#1240 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#1241 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#1242 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#1243 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#1244 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#1245 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#1246 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#1247 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#1248 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#1249 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#1250 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#1251 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#1252 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#1253 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#1254 = IFCSTYLEDITEM(#1229, (#49), $); +#1255 = IFCPOLYGONALFACESET(#1256, $, (#1257, #1258, #1259, #1260, #1261, #1262, #1263, #1264, #1265, #1266, #1267, #1268, #1269, #1270, #1271, #1272, #1273, #1274, #1275, #1276, #1277, #1278, #1279, #1280, #1281, #1282, #1283, #1284, #1285, #1286, #1287, #1288, #1289, #1290, #1291, #1292, #1293, #1294, #1295, #1296, #1297, #1298, #1299, #1300, #1301, #1302, #1303, #1304, #1305, #1306, #1307, #1308, #1309, #1310, #1311, #1312, #1313, #1314, #1315, #1316, #1317, #1318, #1319, #1320, #1321, #1322, #1323, #1324, #1325, #1326, #1327, #1328, #1329, #1330, #1331, #1332, #1333, #1334, #1335, #1336, #1337, #1338, #1339, #1340, #1341, #1342, #1343, #1344, #1345, #1346, #1347, #1348, #1349, #1350, #1351, #1352, #1353, #1354, #1355, #1356, #1357, #1358, #1359, #1360, #1361, #1362, #1363, #1364, #1365, #1366, #1367, #1368, #1369, #1370, #1371, #1372, #1373, #1374, #1375, #1376, #1377, #1378, #1379, #1380, #1381, #1382, #1383, #1384, #1385, #1386, #1387, #1388, #1389, #1390, #1391, #1392, #1393, #1394, #1395, #1396, #1397, #1398, #1399, #1400, #1401, #1402, #1403, #1404, #1405, #1406, #1407, #1408, #1409, #1410, #1411, #1412, #1413, #1414, #1415, #1416, #1417, #1418, #1419, #1420, #1421, #1422, #1423, #1424, #1425, #1426, #1427, #1428, #1429, #1430, #1431, #1432, #1433, #1434, #1435, #1436, #1437, #1438, #1439, #1440, #1441, #1442, #1443, #1444, #1445, #1446, #1447, #1448, #1449, #1450, #1451, #1452, #1453, #1454, #1455, #1456, #1457, #1458, #1459, #1460, #1461, #1462, #1463, #1464, #1465, #1466, #1467, #1468, #1469, #1470, #1471, #1472, #1473, #1474, #1475, #1476, #1477, #1478, #1479, #1480, #1481, #1482, #1483, #1484, #1485, #1486, #1487, #1488, #1489, #1490, #1491, #1492, #1493, #1494, #1495, #1496, #1497, #1498, #1499, #1500, #1501, #1502, #1503, #1504, #1505, #1506, #1507, #1508, #1509, #1510, #1511, #1512, #1513, #1514, #1515, #1516, #1517, #1518, #1519, #1520, #1521, #1522, #1523, #1524, #1525, #1526, #1527, #1528, #1529, #1530, #1531, #1532, #1533, #1534, #1535, #1536, #1537, #1538, #1539, #1540, #1541, #1542, #1543, #1544, #1545, #1546, #1547, #1548, #1549, #1550, #1551, #1552, #1553, #1554, #1555, #1556, #1557, #1558, #1559, #1560, #1561, #1562, #1563, #1564, #1565, #1566, #1567, #1568, #1569, #1570, #1571, #1572, #1573, #1574, #1575, #1576, #1577, #1578, #1579, #1580, #1581, #1582, #1583, #1584, #1585, #1586, #1587, #1588, #1589, #1590, #1591, #1592, #1593, #1594, #1595, #1596, #1597, #1598, #1599, #1600, #1601, #1602, #1603, #1604, #1605, #1606, #1607, #1608, #1609, #1610, #1611, #1612, #1613, #1614, #1615, #1616, #1617, #1618, #1619, #1620, #1621, #1622, #1623, #1624, #1625, #1626, #1627, #1628, #1629, #1630, #1631, #1632, #1633, #1634, #1635, #1636, #1637, #1638, #1639, #1640, #1641, #1642, #1643, #1644, #1645, #1646, #1647, #1648, #1649, #1650, #1651, #1652, #1653, #1654, #1655, #1656, #1657, #1658, #1659, #1660, #1661, #1662, #1663, #1664, #1665, #1666, #1667, #1668, #1669, #1670, #1671, #1672, #1673, #1674, #1675, #1676, #1677, #1678, #1679, #1680, #1681, #1682, #1683, #1684, #1685, #1686, #1687, #1688, #1689, #1690, #1691, #1692, #1693, #1694, #1695, #1696, #1697, #1698, #1699, #1700, #1701, #1702, #1703, #1704, #1705, #1706, #1707, #1708, #1709, #1710, #1711, #1712, #1713, #1714, #1715, #1716, #1717, #1718, #1719, #1720, #1721, #1722, #1723, #1724, #1725, #1726, #1727, #1728, #1729, #1730, #1731, #1732, #1733, #1734, #1735, #1736, #1737, #1738, #1739, #1740, #1741, #1742, #1743, #1744, #1745, #1746, #1747, #1748, #1749, #1750, #1751, #1752, #1753, #1754, #1755, #1756, #1757, #1758, #1759, #1760, #1761, #1762, #1763, #1764, #1765, #1766, #1767, #1768, #1769, #1770, #1771, #1772, #1773, #1774, #1775, #1776, #1777, #1778, #1779, #1780, #1781, #1782, #1783, #1784, #1785, #1786, #1787, #1788, #1789, #1790, #1791, #1792, #1793, #1794, #1795, #1796, #1797, #1798, #1799, #1800, #1801, #1802, #1803, #1804, #1805, #1806, #1807, #1808, #1809, #1810, #1811, #1812, #1813, #1814, #1815, #1816, #1817, #1818, #1819, #1820, #1821, #1822, #1823, #1824, #1825, #1826, #1827, #1828, #1829, #1830, #1831, #1832, #1833, #1834, #1835, #1836, #1837, #1838, #1839, #1840, #1841, #1842, #1843, #1844, #1845, #1846, #1847, #1848, #1849, #1850, #1851, #1852, #1853, #1854, #1855, #1856, #1857, #1858, #1859, #1860, #1861, #1862, #1863, #1864, #1865, #1866, #1867, #1868, #1869, #1870, #1871, #1872, #1873, #1874, #1875, #1876, #1877, #1878, #1879, #1880, #1881, #1882, #1883, #1884, #1885, #1886, #1887, #1888, #1889, #1890, #1891, #1892, #1893, #1894, #1895, #1896, #1897, #1898, #1899, #1900, #1901, #1902, #1903, #1904, #1905, #1906, #1907, #1908, #1909, #1910, #1911, #1912, #1913, #1914, #1915, #1916, #1917, #1918, #1919, #1920, #1921, #1922, #1923, #1924, #1925, #1926, #1927, #1928, #1929, #1930, #1931, #1932, #1933, #1934, #1935, #1936, #1937, #1938, #1939, #1940, #1941, #1942, #1943, #1944, #1945, #1946, #1947, #1948, #1949, #1950, #1951, #1952, #1953, #1954, #1955, #1956, #1957, #1958, #1959, #1960, #1961, #1962, #1963, #1964, #1965, #1966, #1967, #1968, #1969, #1970, #1971, #1972, #1973, #1974, #1975, #1976, #1977, #1978, #1979, #1980, #1981, #1982, #1983, #1984, #1985, #1986, #1987, #1988, #1989, #1990, #1991, #1992, #1993, #1994, #1995, #1996, #1997, #1998, #1999, #2000, #2001, #2002, #2003, #2004, #2005, #2006, #2007, #2008, #2009, #2010, #2011, #2012, #2013, #2014, #2015, #2016, #2017, #2018, #2019, #2020, #2021, #2022, #2023, #2024, #2025, #2026, #2027, #2028, #2029, #2030, #2031, #2032, #2033, #2034, #2035, #2036, #2037, #2038, #2039, #2040, #2041, #2042, #2043, #2044, #2045, #2046, #2047, #2048, #2049, #2050, #2051, #2052, #2053, #2054, #2055, #2056, #2057, #2058, #2059, #2060, #2061, #2062, #2063, #2064, #2065, #2066, #2067, #2068, #2069, #2070, #2071, #2072, #2073, #2074, #2075, #2076, #2077, #2078, #2079, #2080, #2081, #2082, #2083, #2084, #2085, #2086, #2087, #2088, #2089, #2090, #2091, #2092, #2093, #2094, #2095, #2096, #2097, #2098, #2099, #2100, #2101, #2102, #2103, #2104, #2105, #2106, #2107, #2108, #2109, #2110, #2111, #2112, #2113, #2114, #2115, #2116, #2117, #2118, #2119, #2120, #2121, #2122, #2123, #2124, #2125, #2126, #2127, #2128, #2129, #2130, #2131, #2132, #2133, #2134, #2135, #2136, #2137, #2138, #2139, #2140, #2141, #2142, #2143, #2144, #2145, #2146, #2147, #2148, #2149, #2150, #2151, #2152, #2153, #2154, #2155, #2156, #2157, #2158, #2159, #2160, #2161, #2162, #2163, #2164, #2165, #2166, #2167, #2168, #2169, #2170, #2171, #2172, #2173, #2174, #2175, #2176, #2177, #2178, #2179, #2180, #2181, #2182, #2183, #2184, #2185, #2186, #2187, #2188, #2189, #2190, #2191, #2192, #2193, #2194, #2195, #2196), $); +#1256 = IFCCARTESIANPOINTLIST3D(((-1.35721E-1, 2.86001E-1, 9.7269E-1), (-1.35721E-1, 1.E-2, 9.7269E-1), (-1.35721E-1, 2.86001E-1, -1.80315E-1), (4.279E-3, 0., 8.72687E-1), (4.279E-3, -3.00001E-1, 8.72687E-1), (3.2231E-2, 0., 8.69007E-1), (1.00007E-1, -3.00001E-1, 8.14689E-1), (9.7809E-2, 0., 8.18688E-1), (8.3027E-2, -3.00001E-1, 8.38597E-1), (8.0646E-2, 0., 8.41055E-1), (6.0242E-2, -3.00001E-1, 8.57056E-1), (5.8279E-2, 0., 8.58218E-1), (3.3332E-2, -3.00001E-1, 8.68706E-1), (-2.3673E-2, 0., 8.69007E-1), (-5.1684E-2, -3.00001E-1, 8.57056E-1), (-4.972E-2, 0., 8.58218E-1), (-7.2087E-2, 0., 8.41055E-1), (-2.4773E-2, -3.00001E-1, 8.68706E-1), (-7.4469E-2, -3.00001E-1, 8.38597E-1), (-8.9251E-2, 0., 8.18688E-1), (8.2767E-2, 0., 8.43176E-1), (1.00407E-1, 0., 8.20188E-1), (8.8275E-2, -3.00001E-1, 8.37252E-1), (5.9779E-2, 0., 8.60816E-1), (6.8145E-2, -3.00001E-1, 8.55473E-1), (3.3008E-2, 0., 8.71905E-1), (4.4194E-2, -3.00001E-1, 8.68262E-1), (1.7855E-2, -3.00001E-1, 8.74853E-1), (-7.4209E-2, 0., 8.43176E-1), (-5.122E-2, 0., 8.60816E-1), (-5.9587E-2, -3.00001E-1, 8.55473E-1), (-2.4449E-2, 0., 8.71905E-1), (-3.5636E-2, -3.00001E-1, 8.68262E-1), (-9.1849E-2, 0., 8.20188E-1), (-7.9717E-2, -3.00001E-1, 8.37252E-1), (1.1228E-1, 0., 7.64689E-1), (1.1228E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, 0., 7.64689E-1), (1.1228E-1, -2.50001E-1, 7.64689E-1), (1.1528E-1, -2.50001E-1, 7.64689E-1), (1.11497E-1, 0., 7.93418E-1), (1.08599E-1, 0., 7.92641E-1), (4.279E-3, 0., 8.75687E-1), (-1.03721E-1, 0., 7.64689E-1), (-1.06721E-1, 0., 7.64689E-1), (-1.0004E-1, 0., 7.92641E-1), (-1.02938E-1, 0., 7.93418E-1), (1.03379E-1, -3.00001E-1, 8.14689E-1), (-9.1448E-2, -3.00001E-1, 8.14689E-1), (-9.482E-2, -3.00001E-1, 8.14689E-1), (-9.296E-3, -3.00001E-1, 8.74853E-1), (-1.03721E-1, -2.50001E-1, 7.64689E-1), (-1.06719E-1, -2.57292E-1, 7.6517E-1), (-1.03719E-1, -2.57469E-1, 7.65189E-1), (-1.06569E-1, -2.7346E-1, 7.70486E-1), (-1.03563E-1, -2.73543E-1, 7.70529E-1), (-1.03684E-1, -2.66616E-1, 7.67502E-1), (-1.06713E-1, -2.61426E-1, 7.66006E-1), (-1.03712E-1, -2.61584E-1, 7.66045E-1), (-1.06686E-1, -2.66496E-1, 7.67459E-1), (-1.03338E-1, -2.78963E-1, 7.73775E-1), (-1.06039E-1, -2.82935E-1, 7.76974E-1), (-1.03013E-1, -2.82999E-1, 7.7703E-1), (-1.06352E-1, -2.7889E-1, 7.73724E-1), (-1.06721E-1, -2.50001E-1, 7.64689E-1), (-9.7621E-2, -2.99727E-1, 8.08702E-1), (-9.684E-2, -2.98755E-1, 8.02617E-1), (-1.00057E-1, -2.98745E-1, 8.02567E-1), (-9.4331E-2, -2.9973E-1, 8.08732E-1), (-9.897E-2, -2.96832E-1, 7.96365E-1), (-1.02122E-1, -2.96811E-1, 7.96305E-1), (-1.05118E-1, -2.89141E-1, 7.83479E-1), (-1.02062E-1, -2.89191E-1, 7.83542E-1), (-1.03812E-1, -2.93683E-1, 7.89934E-1), (-1.00713E-1, -2.93717E-1, 7.89999E-1), (1.14655E-1, -2.82293E-1, 7.76518E-1), (1.11572E-1, -2.83001E-1, 7.77033E-1), (1.14226E-1, -2.85953E-1, 7.79942E-1), (1.15289E-1, -2.55014E-1, 7.64943E-1), (1.12278E-1, -2.57456E-1, 7.65185E-1), (1.15303E-1, -2.59975E-1, 7.65697E-1), (1.15298E-1, -2.64834E-1, 7.66942E-1), (1.12243E-1, -2.66604E-1, 7.67496E-1), (1.15254E-1, -2.69543E-1, 7.68666E-1), (1.12271E-1, -2.61568E-1, 7.66038E-1), (1.15146E-1, -2.74047E-1, 7.70853E-1), (1.12122E-1, -2.73538E-1, 7.70527E-1), (1.14954E-1, -2.78311E-1, 7.7348E-1), (1.11897E-1, -2.78963E-1, 7.73774E-1), (1.1062E-1, -2.89191E-1, 7.83544E-1), (1.13624E-1, -2.8928E-1, 7.83747E-1), (1.12831E-1, -2.92149E-1, 7.87779E-1), (1.09272E-1, -2.93719E-1, 7.89998E-1), (1.11834E-1, -2.94565E-1, 7.92001E-1), (1.10622E-1, -2.96533E-1, 7.96378E-1), (1.07529E-1, -2.96833E-1, 7.96365E-1), (1.09182E-1, -2.98056E-1, 8.00871E-1), (1.05573E-1, -2.99786E-1, 8.10064E-1), (1.05399E-1, -2.98756E-1, 8.02617E-1), (1.0289E-1, -2.9973E-1, 8.08732E-1), (1.07503E-1, -2.99139E-1, 8.05445E-1), (-1.03721E-1, -1.25E-1, 7.64689E-1), (-1.06721E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, -1.25E-1, 7.64689E-1), (4.279E-3, 0., 6.17686E-1), (4.279E-3, -3.00001E-1, 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (1.00007E-1, -3.00001E-1, 5.59689E-1), (9.7809E-2, 0., 5.63688E-1), (8.3027E-2, -3.00001E-1, 5.83597E-1), (8.0646E-2, 0., 5.86055E-1), (6.0242E-2, -3.00001E-1, 6.02056E-1), (5.8279E-2, 0., 6.03217E-1), (3.3332E-2, -3.00001E-1, 6.13705E-1), (-2.3673E-2, 0., 6.14006E-1), (-5.1684E-2, -3.00001E-1, 6.02056E-1), (-4.972E-2, 0., 6.03217E-1), (-7.2087E-2, 0., 5.86055E-1), (-2.4773E-2, -3.00001E-1, 6.13705E-1), (-7.4469E-2, -3.00001E-1, 5.83597E-1), (-8.9251E-2, 0., 5.63688E-1), (8.2767E-2, 0., 5.88176E-1), (1.00407E-1, 0., 5.65188E-1), (8.8275E-2, -3.00001E-1, 5.82252E-1), (5.9779E-2, 0., 6.05816E-1), (6.8145E-2, -3.00001E-1, 6.00472E-1), (3.3008E-2, 0., 6.16904E-1), (4.4194E-2, -3.00001E-1, 6.13261E-1), (1.7855E-2, -3.00001E-1, 6.19853E-1), (-2.4449E-2, 0., 6.16904E-1), (4.279E-3, 0., 6.20686E-1), (-9.296E-3, -3.00001E-1, 6.19853E-1), (-7.4209E-2, 0., 5.88176E-1), (-5.122E-2, 0., 6.05816E-1), (-5.9587E-2, -3.00001E-1, 6.00472E-1), (-3.5636E-2, -3.00001E-1, 6.13261E-1), (-9.1849E-2, 0., 5.65188E-1), (-7.9717E-2, -3.00001E-1, 5.82252E-1), (1.1228E-1, 0., 5.09689E-1), (1.1228E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, 0., 5.09689E-1), (1.1228E-1, -2.50001E-1, 5.09689E-1), (1.1528E-1, -2.50001E-1, 5.09689E-1), (1.11497E-1, 0., 5.38417E-1), (1.08599E-1, 0., 5.37641E-1), (-1.03721E-1, 0., 5.09689E-1), (-1.06721E-1, 0., 5.09689E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.02938E-1, 0., 5.38417E-1), (-1.0004E-1, 0., 5.37641E-1), (1.03379E-1, -3.00001E-1, 5.59689E-1), (-9.1448E-2, -3.00001E-1, 5.59689E-1), (-9.482E-2, -3.00001E-1, 5.59689E-1), (-1.03721E-1, -2.50001E-1, 5.09689E-1), (-1.06719E-1, -2.57292E-1, 5.1017E-1), (-1.03719E-1, -2.57469E-1, 5.10189E-1), (-1.06569E-1, -2.7346E-1, 5.15485E-1), (-1.03563E-1, -2.73543E-1, 5.15529E-1), (-1.03684E-1, -2.66616E-1, 5.12502E-1), (-1.06713E-1, -2.61426E-1, 5.11005E-1), (-1.03712E-1, -2.61584E-1, 5.11045E-1), (-1.06686E-1, -2.66496E-1, 5.12458E-1), (-1.03338E-1, -2.78963E-1, 5.18774E-1), (-1.06039E-1, -2.82935E-1, 5.21974E-1), (-1.03013E-1, -2.82999E-1, 5.2203E-1), (-1.06352E-1, -2.7889E-1, 5.18723E-1), (-1.06721E-1, -2.50001E-1, 5.09689E-1), (-9.7621E-2, -2.99727E-1, 5.53702E-1), (-9.684E-2, -2.98755E-1, 5.47616E-1), (-1.00057E-1, -2.98745E-1, 5.47567E-1), (-9.4331E-2, -2.9973E-1, 5.53731E-1), (-9.897E-2, -2.96832E-1, 5.41365E-1), (-1.02122E-1, -2.96811E-1, 5.41304E-1), (-1.05118E-1, -2.89141E-1, 5.28479E-1), (-1.02062E-1, -2.89191E-1, 5.28542E-1), (-1.03812E-1, -2.93683E-1, 5.34933E-1), (-1.00713E-1, -2.93717E-1, 5.34998E-1), (1.14655E-1, -2.82293E-1, 5.21518E-1), (1.11572E-1, -2.83001E-1, 5.22032E-1), (1.14226E-1, -2.85953E-1, 5.24941E-1), (1.15289E-1, -2.55014E-1, 5.09942E-1), (1.12278E-1, -2.57456E-1, 5.10185E-1), (1.15303E-1, -2.59975E-1, 5.10697E-1), (1.15298E-1, -2.64834E-1, 5.11941E-1), (1.12243E-1, -2.66604E-1, 5.12496E-1), (1.15254E-1, -2.69543E-1, 5.13666E-1), (1.12271E-1, -2.61568E-1, 5.11038E-1), (1.15146E-1, -2.74047E-1, 5.15853E-1), (1.12122E-1, -2.73538E-1, 5.15526E-1), (1.14954E-1, -2.78311E-1, 5.18479E-1), (1.11897E-1, -2.78963E-1, 5.18774E-1), (1.1062E-1, -2.89191E-1, 5.28543E-1), (1.13624E-1, -2.8928E-1, 5.28746E-1), (1.12831E-1, -2.92149E-1, 5.32778E-1), (1.09272E-1, -2.93719E-1, 5.34998E-1), (1.11834E-1, -2.94565E-1, 5.37001E-1), (1.10622E-1, -2.96533E-1, 5.41377E-1), (1.07529E-1, -2.96833E-1, 5.41365E-1), (1.09182E-1, -2.98056E-1, 5.45871E-1), (1.05573E-1, -2.99786E-1, 5.55063E-1), (1.05399E-1, -2.98756E-1, 5.47616E-1), (1.0289E-1, -2.9973E-1, 5.53731E-1), (1.07503E-1, -2.99139E-1, 5.50445E-1), (-1.03721E-1, -1.25E-1, 5.09689E-1), (-1.06721E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, -1.25E-1, 5.09689E-1), (-2.70721E-1, 0., 1.06469), (-2.70721E-1, 1.E-2, 1.06469), (2.7928E-1, 0., 1.06469), (2.7928E-1, 1.E-2, 1.06469), (3.0428E-1, 0., 1.03969), (3.0428E-1, 1.E-2, 1.03969), (3.0428E-1, 0., -1.55315E-1), (3.0428E-1, 1.E-2, -1.55315E-1), (1.08597E-1, 0., 4.81735E-1), (2.7928E-1, 0., -1.80315E-1), (-2.70721E-1, 0., -1.80315E-1), (-2.95721E-1, 0., -1.55315E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (4.278E-3, 0., -1.08313E-1), (1.1228E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (1.08597E-1, 0., 2.26735E-1), (5.8279E-2, 0., 9.3216E-2), (9.7808E-2, 0., 2.00687E-1), (3.2231E-2, 0., 1.04005E-1), (8.0645E-2, 0., 1.7832E-1), (4.279E-3, 0., 1.07685E-1), (5.8277E-2, 0., 1.61157E-1), (3.223E-2, 0., 1.50368E-1), (4.278E-3, 0., 1.46688E-1), (1.1228E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (9.7808E-2, 0., 4.55688E-1), (3.2231E-2, 0., 3.59006E-1), (8.0645E-2, 0., 4.33321E-1), (4.279E-3, 0., 3.62686E-1), (5.8277E-2, 0., 4.16158E-1), (3.223E-2, 0., 4.05368E-1), (4.278E-3, 0., 4.01688E-1), (9.7808E-2, 0., 7.10687E-1), (8.0644E-2, 0., 6.8832E-1), (5.8277E-2, 0., 6.71157E-1), (3.2229E-2, 0., 6.60368E-1), (4.277E-3, 0., 6.56689E-1), (1.08597E-1, 0., 7.36735E-1), (-2.95721E-1, 0., 1.03969), (-1.00041E-1, 0., -2.8266E-2), (-8.9252E-2, 0., -5.4313E-2), (-7.2089E-2, 0., -7.668E-2), (-4.9721E-2, 0., -9.3843E-2), (-2.3674E-2, 0., -1.04633E-1), (-1.03721E-1, 0., -3.12E-4), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (-8.9251E-2, 0., 5.3687E-2), (-7.2087E-2, 0., 7.6054E-2), (-1.00041E-1, 0., 2.26735E-1), (-4.972E-2, 0., 9.3216E-2), (-8.9252E-2, 0., 2.00687E-1), (-2.3673E-2, 0., 1.04005E-1), (-7.2089E-2, 0., 1.7832E-1), (-4.9721E-2, 0., 1.61157E-1), (-2.3674E-2, 0., 1.50368E-1), (-1.03721E-1, 0., 2.54688E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (-8.9251E-2, 0., 3.08687E-1), (-7.2087E-2, 0., 3.31054E-1), (-1.00041E-1, 0., 4.81735E-1), (-4.972E-2, 0., 3.48217E-1), (-8.9252E-2, 0., 4.55688E-1), (-2.3673E-2, 0., 3.59006E-1), (-7.2089E-2, 0., 4.33321E-1), (-4.9721E-2, 0., 4.16158E-1), (-2.3674E-2, 0., 4.05368E-1), (-8.9253E-2, 0., 7.10689E-1), (-7.209E-2, 0., 6.88322E-1), (-4.9723E-2, 0., 6.71158E-1), (-2.3675E-2, 0., 6.60369E-1), (-1.00042E-1, 0., 7.36737E-1), (-2.70721E-1, 1.E-2, -1.80315E-1), (2.7928E-1, 1.E-2, -1.80315E-1), (-2.95721E-1, 1.E-2, -1.55315E-1), (-2.95721E-1, 1.E-2, 1.03969), (4.279E-3, -3.00001E-1, 3.62686E-1), (1.00007E-1, -3.00001E-1, 3.04688E-1), (8.3027E-2, -3.00001E-1, 3.28596E-1), (6.0242E-2, -3.00001E-1, 3.47055E-1), (3.3332E-2, -3.00001E-1, 3.58705E-1), (-5.1684E-2, -3.00001E-1, 3.47055E-1), (-2.4773E-2, -3.00001E-1, 3.58705E-1), (-7.4469E-2, -3.00001E-1, 3.28596E-1), (8.2767E-2, 0., 3.33176E-1), (1.00407E-1, 0., 3.10187E-1), (8.8275E-2, -3.00001E-1, 3.27251E-1), (5.9779E-2, 0., 3.50815E-1), (6.8145E-2, -3.00001E-1, 3.45472E-1), (3.3008E-2, 0., 3.61904E-1), (4.4194E-2, -3.00001E-1, 3.58261E-1), (1.7855E-2, -3.00001E-1, 3.64853E-1), (-7.4209E-2, 0., 3.33176E-1), (-5.122E-2, 0., 3.50815E-1), (-5.9587E-2, -3.00001E-1, 3.45472E-1), (-2.4449E-2, 0., 3.61904E-1), (-3.5636E-2, -3.00001E-1, 3.58261E-1), (-9.1849E-2, 0., 3.10187E-1), (-7.9717E-2, -3.00001E-1, 3.27251E-1), (1.1228E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, 0., 2.54688E-1), (1.1228E-1, -2.50001E-1, 2.54688E-1), (1.1528E-1, -2.50001E-1, 2.54688E-1), (-1.06721E-1, 0., 2.54688E-1), (-1.02938E-1, 0., 2.83417E-1), (4.279E-3, 0., 3.65686E-1), (1.11497E-1, 0., 2.83417E-1), (1.03379E-1, -3.00001E-1, 3.04688E-1), (-9.1448E-2, -3.00001E-1, 3.04688E-1), (-9.482E-2, -3.00001E-1, 3.04688E-1), (-9.296E-3, -3.00001E-1, 3.64853E-1), (-1.03721E-1, -2.50001E-1, 2.54688E-1), (-1.06719E-1, -2.57292E-1, 2.55169E-1), (-1.03719E-1, -2.57469E-1, 2.55188E-1), (-1.06569E-1, -2.7346E-1, 2.60485E-1), (-1.03563E-1, -2.73543E-1, 2.60528E-1), (-1.03684E-1, -2.66616E-1, 2.57501E-1), (-1.06713E-1, -2.61426E-1, 2.56005E-1), (-1.03712E-1, -2.61584E-1, 2.56044E-1), (-1.06686E-1, -2.66496E-1, 2.57458E-1), (-1.03338E-1, -2.78963E-1, 2.63774E-1), (-1.06039E-1, -2.82935E-1, 2.66973E-1), (-1.03013E-1, -2.82999E-1, 2.67029E-1), (-1.06352E-1, -2.7889E-1, 2.63723E-1), (-1.06721E-1, -2.50001E-1, 2.54688E-1), (-9.7621E-2, -2.99727E-1, 2.98701E-1), (-9.684E-2, -2.98755E-1, 2.92616E-1), (-1.00057E-1, -2.98745E-1, 2.92566E-1), (-9.4331E-2, -2.9973E-1, 2.98731E-1), (-9.897E-2, -2.96832E-1, 2.86364E-1), (-1.02122E-1, -2.96811E-1, 2.86304E-1), (-1.05118E-1, -2.89141E-1, 2.73478E-1), (-1.02062E-1, -2.89191E-1, 2.73541E-1), (-1.03812E-1, -2.93683E-1, 2.79933E-1), (-1.00713E-1, -2.93717E-1, 2.79997E-1), (1.14655E-1, -2.82293E-1, 2.66517E-1), (1.11572E-1, -2.83001E-1, 2.67032E-1), (1.14226E-1, -2.85953E-1, 2.69941E-1), (1.15289E-1, -2.55014E-1, 2.54942E-1), (1.12278E-1, -2.57456E-1, 2.55184E-1), (1.15303E-1, -2.59975E-1, 2.55696E-1), (1.15298E-1, -2.64834E-1, 2.56941E-1), (1.12243E-1, -2.66604E-1, 2.57496E-1), (1.15254E-1, -2.69543E-1, 2.58665E-1), (1.12271E-1, -2.61568E-1, 2.56037E-1), (1.15146E-1, -2.74047E-1, 2.60852E-1), (1.12122E-1, -2.73538E-1, 2.60526E-1), (1.14954E-1, -2.78311E-1, 2.63479E-1), (1.11897E-1, -2.78963E-1, 2.63773E-1), (1.1062E-1, -2.89191E-1, 2.73543E-1), (1.13624E-1, -2.8928E-1, 2.73746E-1), (1.12831E-1, -2.92149E-1, 2.77778E-1), (1.09272E-1, -2.93719E-1, 2.79997E-1), (1.11834E-1, -2.94565E-1, 2.82E-1), (1.10622E-1, -2.96533E-1, 2.86377E-1), (1.07529E-1, -2.96833E-1, 2.86364E-1), (1.09182E-1, -2.98056E-1, 2.9087E-1), (1.05573E-1, -2.99786E-1, 3.00063E-1), (1.05399E-1, -2.98756E-1, 2.92616E-1), (1.0289E-1, -2.9973E-1, 2.98731E-1), (1.07503E-1, -2.99139E-1, 2.95444E-1), (-1.03721E-1, -1.25E-1, 2.54688E-1), (-1.06721E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, -1.25E-1, 2.54688E-1), (4.279E-3, -3.00001E-1, 1.07685E-1), (1.00007E-1, -3.00001E-1, 4.9688E-2), (8.3027E-2, -3.00001E-1, 7.3596E-2), (6.0242E-2, -3.00001E-1, 9.2055E-2), (3.3332E-2, -3.00001E-1, 1.03704E-1), (-5.1684E-2, -3.00001E-1, 9.2055E-2), (-2.4773E-2, -3.00001E-1, 1.03704E-1), (-7.4469E-2, -3.00001E-1, 7.3596E-2), (8.2767E-2, 0., 7.8175E-2), (1.00407E-1, 0., 5.5187E-2), (8.8275E-2, -3.00001E-1, 7.225E-2), (5.9779E-2, 0., 9.5814E-2), (6.8145E-2, -3.00001E-1, 9.0471E-2), (3.3008E-2, 0., 1.06903E-1), (4.4194E-2, -3.00001E-1, 1.0326E-1), (1.7855E-2, -3.00001E-1, 1.09852E-1), (-7.4209E-2, 0., 7.8175E-2), (-5.122E-2, 0., 9.5814E-2), (-5.9587E-2, -3.00001E-1, 9.0471E-2), (-2.4449E-2, 0., 1.06903E-1), (-3.5636E-2, -3.00001E-1, 1.0326E-1), (-9.1849E-2, 0., 5.5187E-2), (-7.9717E-2, -3.00001E-1, 7.225E-2), (1.1228E-1, -1.25E-1, -3.12E-4), (1.1528E-1, 0., -3.12E-4), (1.1228E-1, -2.50001E-1, -3.12E-4), (1.1528E-1, -2.50001E-1, -3.12E-4), (-1.06721E-1, 0., -3.12E-4), (-1.02938E-1, 0., 2.8416E-2), (4.279E-3, 0., 1.10685E-1), (1.11497E-1, 0., 2.8416E-2), (1.03379E-1, -3.00001E-1, 4.9688E-2), (-9.1448E-2, -3.00001E-1, 4.9688E-2), (-9.482E-2, -3.00001E-1, 4.9688E-2), (-9.296E-3, -3.00001E-1, 1.09852E-1), (-1.03721E-1, -2.50001E-1, -3.12E-4), (-1.06719E-1, -2.57292E-1, 1.69E-4), (-1.03719E-1, -2.57469E-1, 1.88E-4), (-1.06569E-1, -2.7346E-1, 5.484E-3), (-1.03563E-1, -2.73543E-1, 5.528E-3), (-1.03684E-1, -2.66616E-1, 2.501E-3), (-1.06713E-1, -2.61426E-1, 1.004E-3), (-1.03712E-1, -2.61584E-1, 1.044E-3), (-1.06686E-1, -2.66496E-1, 2.457E-3), (-1.03338E-1, -2.78963E-1, 8.773E-3), (-1.06039E-1, -2.82935E-1, 1.1973E-2), (-1.03013E-1, -2.82999E-1, 1.2029E-2), (-1.06352E-1, -2.7889E-1, 8.722E-3), (-1.06721E-1, -2.50001E-1, -3.12E-4), (-9.7621E-2, -2.99727E-1, 4.3701E-2), (-9.684E-2, -2.98755E-1, 3.7615E-2), (-1.00057E-1, -2.98745E-1, 3.7566E-2), (-9.4331E-2, -2.9973E-1, 4.373E-2), (-9.897E-2, -2.96832E-1, 3.1364E-2), (-1.02122E-1, -2.96811E-1, 3.1303E-2), (-1.05118E-1, -2.89141E-1, 1.8478E-2), (-1.02062E-1, -2.89191E-1, 1.8541E-2), (-1.03812E-1, -2.93683E-1, 2.4932E-2), (-1.00713E-1, -2.93717E-1, 2.4997E-2), (1.14655E-1, -2.82293E-1, 1.1517E-2), (1.11572E-1, -2.83001E-1, 1.2031E-2), (1.14226E-1, -2.85953E-1, 1.494E-2), (1.15289E-1, -2.55014E-1, -5.9E-5), (1.12278E-1, -2.57456E-1, 1.84E-4), (1.15303E-1, -2.59975E-1, 6.96E-4), (1.15298E-1, -2.64834E-1, 1.94E-3), (1.12243E-1, -2.66604E-1, 2.495E-3), (1.15254E-1, -2.69543E-1, 3.665E-3), (1.12271E-1, -2.61568E-1, 1.037E-3), (1.15146E-1, -2.74047E-1, 5.852E-3), (1.12122E-1, -2.73538E-1, 5.525E-3), (1.14954E-1, -2.78311E-1, 8.478E-3), (1.11897E-1, -2.78963E-1, 8.773E-3), (1.1062E-1, -2.89191E-1, 1.8542E-2), (1.13624E-1, -2.8928E-1, 1.8745E-2), (1.12831E-1, -2.92149E-1, 2.2777E-2), (1.09272E-1, -2.93719E-1, 2.4997E-2), (1.11834E-1, -2.94565E-1, 2.7E-2), (1.10622E-1, -2.96533E-1, 3.1376E-2), (1.07529E-1, -2.96833E-1, 3.1364E-2), (1.09182E-1, -2.98056E-1, 3.587E-2), (1.05573E-1, -2.99786E-1, 4.5062E-2), (1.05399E-1, -2.98756E-1, 3.7615E-2), (1.0289E-1, -2.9973E-1, 4.373E-2), (1.07503E-1, -2.99139E-1, 4.0444E-2), (-1.03721E-1, -1.25E-1, -3.12E-4), (-1.06721E-1, -1.25E-1, -3.12E-4), (1.1528E-1, -1.25E-1, -3.12E-4), (-1.35721E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 2.86001E-1, -1.80315E-1), (1.4428E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 1.E-2, 9.7269E-1), (1.4428E-1, 2.86001E-1, 9.7269E-1)), $); +#1257 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1258 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1259 = IFCINDEXEDPOLYGONALFACE((7, 8, 9)); +#1260 = IFCINDEXEDPOLYGONALFACE((9, 10, 11)); +#1261 = IFCINDEXEDPOLYGONALFACE((11, 12, 13)); +#1262 = IFCINDEXEDPOLYGONALFACE((5, 4, 14)); +#1263 = IFCINDEXEDPOLYGONALFACE((15, 16, 17)); +#1264 = IFCINDEXEDPOLYGONALFACE((18, 14, 16)); +#1265 = IFCINDEXEDPOLYGONALFACE((19, 17, 20)); +#1266 = IFCINDEXEDPOLYGONALFACE((21, 22, 23)); +#1267 = IFCINDEXEDPOLYGONALFACE((24, 21, 25)); +#1268 = IFCINDEXEDPOLYGONALFACE((26, 24, 27)); +#1269 = IFCINDEXEDPOLYGONALFACE((27, 28, 26)); +#1270 = IFCINDEXEDPOLYGONALFACE((29, 30, 31)); +#1271 = IFCINDEXEDPOLYGONALFACE((30, 32, 33)); +#1272 = IFCINDEXEDPOLYGONALFACE((34, 29, 35)); +#1273 = IFCINDEXEDPOLYGONALFACE((36, 37, 38)); +#1274 = IFCINDEXEDPOLYGONALFACE((39, 38, 37)); +#1275 = IFCINDEXEDPOLYGONALFACE((40, 38, 39)); +#1276 = IFCINDEXEDPOLYGONALFACE((38, 36, 41)); +#1277 = IFCINDEXEDPOLYGONALFACE((42, 41, 36)); +#1278 = IFCINDEXEDPOLYGONALFACE((8, 41, 42)); +#1279 = IFCINDEXEDPOLYGONALFACE((22, 41, 8)); +#1280 = IFCINDEXEDPOLYGONALFACE((10, 22, 8)); +#1281 = IFCINDEXEDPOLYGONALFACE((21, 22, 10)); +#1282 = IFCINDEXEDPOLYGONALFACE((12, 21, 10)); +#1283 = IFCINDEXEDPOLYGONALFACE((24, 21, 12)); +#1284 = IFCINDEXEDPOLYGONALFACE((6, 24, 12)); +#1285 = IFCINDEXEDPOLYGONALFACE((26, 24, 6)); +#1286 = IFCINDEXEDPOLYGONALFACE((4, 26, 6)); +#1287 = IFCINDEXEDPOLYGONALFACE((43, 26, 4)); +#1288 = IFCINDEXEDPOLYGONALFACE((44, 45, 46)); +#1289 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#1290 = IFCINDEXEDPOLYGONALFACE((20, 46, 47)); +#1291 = IFCINDEXEDPOLYGONALFACE((34, 20, 47)); +#1292 = IFCINDEXEDPOLYGONALFACE((17, 20, 34)); +#1293 = IFCINDEXEDPOLYGONALFACE((29, 17, 34)); +#1294 = IFCINDEXEDPOLYGONALFACE((16, 17, 29)); +#1295 = IFCINDEXEDPOLYGONALFACE((30, 16, 29)); +#1296 = IFCINDEXEDPOLYGONALFACE((14, 16, 30)); +#1297 = IFCINDEXEDPOLYGONALFACE((32, 14, 30)); +#1298 = IFCINDEXEDPOLYGONALFACE((4, 14, 32)); +#1299 = IFCINDEXEDPOLYGONALFACE((43, 4, 32)); +#1300 = IFCINDEXEDPOLYGONALFACE((48, 7, 23)); +#1301 = IFCINDEXEDPOLYGONALFACE((9, 23, 7)); +#1302 = IFCINDEXEDPOLYGONALFACE((25, 23, 9)); +#1303 = IFCINDEXEDPOLYGONALFACE((11, 25, 9)); +#1304 = IFCINDEXEDPOLYGONALFACE((27, 25, 11)); +#1305 = IFCINDEXEDPOLYGONALFACE((13, 27, 11)); +#1306 = IFCINDEXEDPOLYGONALFACE((28, 27, 13)); +#1307 = IFCINDEXEDPOLYGONALFACE((5, 28, 13)); +#1308 = IFCINDEXEDPOLYGONALFACE((49, 50, 19)); +#1309 = IFCINDEXEDPOLYGONALFACE((35, 19, 50)); +#1310 = IFCINDEXEDPOLYGONALFACE((31, 19, 35)); +#1311 = IFCINDEXEDPOLYGONALFACE((15, 19, 31)); +#1312 = IFCINDEXEDPOLYGONALFACE((33, 15, 31)); +#1313 = IFCINDEXEDPOLYGONALFACE((18, 15, 33)); +#1314 = IFCINDEXEDPOLYGONALFACE((51, 18, 33)); +#1315 = IFCINDEXEDPOLYGONALFACE((5, 18, 51)); +#1316 = IFCINDEXEDPOLYGONALFACE((28, 5, 51)); +#1317 = IFCINDEXEDPOLYGONALFACE((52, 53, 54)); +#1318 = IFCINDEXEDPOLYGONALFACE((55, 56, 57)); +#1319 = IFCINDEXEDPOLYGONALFACE((54, 58, 59)); +#1320 = IFCINDEXEDPOLYGONALFACE((60, 57, 59)); +#1321 = IFCINDEXEDPOLYGONALFACE((61, 62, 63)); +#1322 = IFCINDEXEDPOLYGONALFACE((56, 64, 61)); +#1323 = IFCINDEXEDPOLYGONALFACE((61, 64, 62)); +#1324 = IFCINDEXEDPOLYGONALFACE((53, 52, 65)); +#1325 = IFCINDEXEDPOLYGONALFACE((58, 60, 59)); +#1326 = IFCINDEXEDPOLYGONALFACE((58, 54, 53)); +#1327 = IFCINDEXEDPOLYGONALFACE((57, 60, 55)); +#1328 = IFCINDEXEDPOLYGONALFACE((64, 56, 55)); +#1329 = IFCINDEXEDPOLYGONALFACE((66, 67, 68)); +#1330 = IFCINDEXEDPOLYGONALFACE((67, 66, 69)); +#1331 = IFCINDEXEDPOLYGONALFACE((68, 70, 71)); +#1332 = IFCINDEXEDPOLYGONALFACE((70, 68, 67)); +#1333 = IFCINDEXEDPOLYGONALFACE((66, 50, 69)); +#1334 = IFCINDEXEDPOLYGONALFACE((49, 69, 50)); +#1335 = IFCINDEXEDPOLYGONALFACE((72, 63, 62)); +#1336 = IFCINDEXEDPOLYGONALFACE((73, 72, 74)); +#1337 = IFCINDEXEDPOLYGONALFACE((72, 73, 63)); +#1338 = IFCINDEXEDPOLYGONALFACE((75, 71, 70)); +#1339 = IFCINDEXEDPOLYGONALFACE((74, 75, 73)); +#1340 = IFCINDEXEDPOLYGONALFACE((74, 71, 75)); +#1341 = IFCINDEXEDPOLYGONALFACE((76, 77, 78)); +#1342 = IFCINDEXEDPOLYGONALFACE((40, 39, 79)); +#1343 = IFCINDEXEDPOLYGONALFACE((79, 80, 81)); +#1344 = IFCINDEXEDPOLYGONALFACE((82, 83, 84)); +#1345 = IFCINDEXEDPOLYGONALFACE((81, 85, 82)); +#1346 = IFCINDEXEDPOLYGONALFACE((86, 84, 87)); +#1347 = IFCINDEXEDPOLYGONALFACE((87, 88, 86)); +#1348 = IFCINDEXEDPOLYGONALFACE((89, 76, 88)); +#1349 = IFCINDEXEDPOLYGONALFACE((83, 87, 84)); +#1350 = IFCINDEXEDPOLYGONALFACE((85, 83, 82)); +#1351 = IFCINDEXEDPOLYGONALFACE((79, 39, 80)); +#1352 = IFCINDEXEDPOLYGONALFACE((80, 85, 81)); +#1353 = IFCINDEXEDPOLYGONALFACE((89, 77, 76)); +#1354 = IFCINDEXEDPOLYGONALFACE((87, 89, 88)); +#1355 = IFCINDEXEDPOLYGONALFACE((77, 90, 78)); +#1356 = IFCINDEXEDPOLYGONALFACE((91, 78, 90)); +#1357 = IFCINDEXEDPOLYGONALFACE((92, 90, 93)); +#1358 = IFCINDEXEDPOLYGONALFACE((90, 92, 91)); +#1359 = IFCINDEXEDPOLYGONALFACE((92, 93, 94)); +#1360 = IFCINDEXEDPOLYGONALFACE((95, 94, 93)); +#1361 = IFCINDEXEDPOLYGONALFACE((96, 95, 93)); +#1362 = IFCINDEXEDPOLYGONALFACE((95, 96, 97)); +#1363 = IFCINDEXEDPOLYGONALFACE((98, 99, 100)); +#1364 = IFCINDEXEDPOLYGONALFACE((101, 96, 99)); +#1365 = IFCINDEXEDPOLYGONALFACE((96, 101, 97)); +#1366 = IFCINDEXEDPOLYGONALFACE((101, 99, 98)); +#1367 = IFCINDEXEDPOLYGONALFACE((48, 100, 7)); +#1368 = IFCINDEXEDPOLYGONALFACE((100, 48, 98)); +#1369 = IFCINDEXEDPOLYGONALFACE((37, 87, 83)); +#1370 = IFCINDEXEDPOLYGONALFACE((42, 77, 37)); +#1371 = IFCINDEXEDPOLYGONALFACE((36, 42, 37)); +#1372 = IFCINDEXEDPOLYGONALFACE((39, 37, 83)); +#1373 = IFCINDEXEDPOLYGONALFACE((39, 85, 80)); +#1374 = IFCINDEXEDPOLYGONALFACE((39, 83, 85)); +#1375 = IFCINDEXEDPOLYGONALFACE((8, 100, 42)); +#1376 = IFCINDEXEDPOLYGONALFACE((5, 13, 6)); +#1377 = IFCINDEXEDPOLYGONALFACE((37, 89, 87)); +#1378 = IFCINDEXEDPOLYGONALFACE((99, 96, 42)); +#1379 = IFCINDEXEDPOLYGONALFACE((90, 77, 42)); +#1380 = IFCINDEXEDPOLYGONALFACE((37, 77, 89)); +#1381 = IFCINDEXEDPOLYGONALFACE((90, 42, 93)); +#1382 = IFCINDEXEDPOLYGONALFACE((93, 42, 96)); +#1383 = IFCINDEXEDPOLYGONALFACE((99, 42, 100)); +#1384 = IFCINDEXEDPOLYGONALFACE((8, 10, 9)); +#1385 = IFCINDEXEDPOLYGONALFACE((100, 8, 7)); +#1386 = IFCINDEXEDPOLYGONALFACE((10, 12, 11)); +#1387 = IFCINDEXEDPOLYGONALFACE((12, 6, 13)); +#1388 = IFCINDEXEDPOLYGONALFACE((61, 102, 56)); +#1389 = IFCINDEXEDPOLYGONALFACE((69, 20, 46)); +#1390 = IFCINDEXEDPOLYGONALFACE((46, 102, 63)); +#1391 = IFCINDEXEDPOLYGONALFACE((102, 57, 56)); +#1392 = IFCINDEXEDPOLYGONALFACE((46, 44, 102)); +#1393 = IFCINDEXEDPOLYGONALFACE((102, 52, 57)); +#1394 = IFCINDEXEDPOLYGONALFACE((52, 59, 57)); +#1395 = IFCINDEXEDPOLYGONALFACE((52, 54, 59)); +#1396 = IFCINDEXEDPOLYGONALFACE((5, 14, 18)); +#1397 = IFCINDEXEDPOLYGONALFACE((67, 69, 46)); +#1398 = IFCINDEXEDPOLYGONALFACE((15, 17, 19)); +#1399 = IFCINDEXEDPOLYGONALFACE((18, 16, 15)); +#1400 = IFCINDEXEDPOLYGONALFACE((19, 20, 49)); +#1401 = IFCINDEXEDPOLYGONALFACE((69, 49, 20)); +#1402 = IFCINDEXEDPOLYGONALFACE((46, 70, 67)); +#1403 = IFCINDEXEDPOLYGONALFACE((73, 46, 63)); +#1404 = IFCINDEXEDPOLYGONALFACE((102, 61, 63)); +#1405 = IFCINDEXEDPOLYGONALFACE((70, 46, 75)); +#1406 = IFCINDEXEDPOLYGONALFACE((75, 46, 73)); +#1407 = IFCINDEXEDPOLYGONALFACE((45, 103, 44)); +#1408 = IFCINDEXEDPOLYGONALFACE((65, 44, 103)); +#1409 = IFCINDEXEDPOLYGONALFACE((52, 44, 65)); +#1410 = IFCINDEXEDPOLYGONALFACE((86, 104, 84)); +#1411 = IFCINDEXEDPOLYGONALFACE((79, 81, 40)); +#1412 = IFCINDEXEDPOLYGONALFACE((104, 41, 38)); +#1413 = IFCINDEXEDPOLYGONALFACE((104, 40, 82)); +#1414 = IFCINDEXEDPOLYGONALFACE((82, 40, 81)); +#1415 = IFCINDEXEDPOLYGONALFACE((84, 104, 82)); +#1416 = IFCINDEXEDPOLYGONALFACE((86, 88, 104)); +#1417 = IFCINDEXEDPOLYGONALFACE((101, 22, 41)); +#1418 = IFCINDEXEDPOLYGONALFACE((78, 41, 104)); +#1419 = IFCINDEXEDPOLYGONALFACE((88, 76, 104)); +#1420 = IFCINDEXEDPOLYGONALFACE((104, 76, 78)); +#1421 = IFCINDEXEDPOLYGONALFACE((97, 101, 41)); +#1422 = IFCINDEXEDPOLYGONALFACE((92, 94, 41)); +#1423 = IFCINDEXEDPOLYGONALFACE((78, 91, 41)); +#1424 = IFCINDEXEDPOLYGONALFACE((92, 41, 91)); +#1425 = IFCINDEXEDPOLYGONALFACE((41, 94, 95)); +#1426 = IFCINDEXEDPOLYGONALFACE((41, 95, 97)); +#1427 = IFCINDEXEDPOLYGONALFACE((22, 101, 98)); +#1428 = IFCINDEXEDPOLYGONALFACE((22, 48, 23)); +#1429 = IFCINDEXEDPOLYGONALFACE((22, 98, 48)); +#1430 = IFCINDEXEDPOLYGONALFACE((21, 23, 25)); +#1431 = IFCINDEXEDPOLYGONALFACE((24, 25, 27)); +#1432 = IFCINDEXEDPOLYGONALFACE((28, 43, 26)); +#1433 = IFCINDEXEDPOLYGONALFACE((43, 51, 32)); +#1434 = IFCINDEXEDPOLYGONALFACE((103, 64, 55)); +#1435 = IFCINDEXEDPOLYGONALFACE((34, 66, 47)); +#1436 = IFCINDEXEDPOLYGONALFACE((103, 47, 62)); +#1437 = IFCINDEXEDPOLYGONALFACE((60, 103, 55)); +#1438 = IFCINDEXEDPOLYGONALFACE((45, 47, 103)); +#1439 = IFCINDEXEDPOLYGONALFACE((65, 103, 60)); +#1440 = IFCINDEXEDPOLYGONALFACE((58, 65, 60)); +#1441 = IFCINDEXEDPOLYGONALFACE((53, 65, 58)); +#1442 = IFCINDEXEDPOLYGONALFACE((51, 43, 28)); +#1443 = IFCINDEXEDPOLYGONALFACE((47, 66, 68)); +#1444 = IFCINDEXEDPOLYGONALFACE((51, 33, 32)); +#1445 = IFCINDEXEDPOLYGONALFACE((29, 31, 35)); +#1446 = IFCINDEXEDPOLYGONALFACE((30, 33, 31)); +#1447 = IFCINDEXEDPOLYGONALFACE((34, 35, 50)); +#1448 = IFCINDEXEDPOLYGONALFACE((50, 66, 34)); +#1449 = IFCINDEXEDPOLYGONALFACE((71, 47, 68)); +#1450 = IFCINDEXEDPOLYGONALFACE((47, 72, 62)); +#1451 = IFCINDEXEDPOLYGONALFACE((64, 103, 62)); +#1452 = IFCINDEXEDPOLYGONALFACE((47, 71, 74)); +#1453 = IFCINDEXEDPOLYGONALFACE((47, 74, 72)); +#1454 = IFCINDEXEDPOLYGONALFACE((105, 106, 107)); +#1455 = IFCINDEXEDPOLYGONALFACE((108, 109, 110)); +#1456 = IFCINDEXEDPOLYGONALFACE((110, 111, 112)); +#1457 = IFCINDEXEDPOLYGONALFACE((112, 113, 114)); +#1458 = IFCINDEXEDPOLYGONALFACE((106, 105, 115)); +#1459 = IFCINDEXEDPOLYGONALFACE((116, 117, 118)); +#1460 = IFCINDEXEDPOLYGONALFACE((119, 115, 117)); +#1461 = IFCINDEXEDPOLYGONALFACE((120, 118, 121)); +#1462 = IFCINDEXEDPOLYGONALFACE((122, 123, 124)); +#1463 = IFCINDEXEDPOLYGONALFACE((125, 122, 126)); +#1464 = IFCINDEXEDPOLYGONALFACE((127, 125, 128)); +#1465 = IFCINDEXEDPOLYGONALFACE((128, 129, 127)); +#1466 = IFCINDEXEDPOLYGONALFACE((130, 131, 132)); +#1467 = IFCINDEXEDPOLYGONALFACE((133, 134, 135)); +#1468 = IFCINDEXEDPOLYGONALFACE((134, 130, 136)); +#1469 = IFCINDEXEDPOLYGONALFACE((137, 133, 138)); +#1470 = IFCINDEXEDPOLYGONALFACE((139, 140, 141)); +#1471 = IFCINDEXEDPOLYGONALFACE((142, 141, 140)); +#1472 = IFCINDEXEDPOLYGONALFACE((143, 141, 142)); +#1473 = IFCINDEXEDPOLYGONALFACE((141, 139, 144)); +#1474 = IFCINDEXEDPOLYGONALFACE((145, 144, 139)); +#1475 = IFCINDEXEDPOLYGONALFACE((109, 144, 145)); +#1476 = IFCINDEXEDPOLYGONALFACE((123, 144, 109)); +#1477 = IFCINDEXEDPOLYGONALFACE((111, 123, 109)); +#1478 = IFCINDEXEDPOLYGONALFACE((122, 123, 111)); +#1479 = IFCINDEXEDPOLYGONALFACE((113, 122, 111)); +#1480 = IFCINDEXEDPOLYGONALFACE((125, 122, 113)); +#1481 = IFCINDEXEDPOLYGONALFACE((107, 125, 113)); +#1482 = IFCINDEXEDPOLYGONALFACE((127, 125, 107)); +#1483 = IFCINDEXEDPOLYGONALFACE((105, 127, 107)); +#1484 = IFCINDEXEDPOLYGONALFACE((131, 127, 105)); +#1485 = IFCINDEXEDPOLYGONALFACE((146, 147, 148)); +#1486 = IFCINDEXEDPOLYGONALFACE((149, 148, 147)); +#1487 = IFCINDEXEDPOLYGONALFACE((150, 148, 149)); +#1488 = IFCINDEXEDPOLYGONALFACE((121, 150, 149)); +#1489 = IFCINDEXEDPOLYGONALFACE((137, 121, 149)); +#1490 = IFCINDEXEDPOLYGONALFACE((118, 121, 137)); +#1491 = IFCINDEXEDPOLYGONALFACE((133, 118, 137)); +#1492 = IFCINDEXEDPOLYGONALFACE((117, 118, 133)); +#1493 = IFCINDEXEDPOLYGONALFACE((134, 117, 133)); +#1494 = IFCINDEXEDPOLYGONALFACE((115, 117, 134)); +#1495 = IFCINDEXEDPOLYGONALFACE((130, 115, 134)); +#1496 = IFCINDEXEDPOLYGONALFACE((105, 115, 130)); +#1497 = IFCINDEXEDPOLYGONALFACE((131, 105, 130)); +#1498 = IFCINDEXEDPOLYGONALFACE((151, 108, 124)); +#1499 = IFCINDEXEDPOLYGONALFACE((110, 124, 108)); +#1500 = IFCINDEXEDPOLYGONALFACE((126, 124, 110)); +#1501 = IFCINDEXEDPOLYGONALFACE((112, 126, 110)); +#1502 = IFCINDEXEDPOLYGONALFACE((128, 126, 112)); +#1503 = IFCINDEXEDPOLYGONALFACE((114, 128, 112)); +#1504 = IFCINDEXEDPOLYGONALFACE((129, 128, 114)); +#1505 = IFCINDEXEDPOLYGONALFACE((106, 129, 114)); +#1506 = IFCINDEXEDPOLYGONALFACE((152, 153, 120)); +#1507 = IFCINDEXEDPOLYGONALFACE((138, 120, 153)); +#1508 = IFCINDEXEDPOLYGONALFACE((135, 120, 138)); +#1509 = IFCINDEXEDPOLYGONALFACE((116, 120, 135)); +#1510 = IFCINDEXEDPOLYGONALFACE((136, 116, 135)); +#1511 = IFCINDEXEDPOLYGONALFACE((119, 116, 136)); +#1512 = IFCINDEXEDPOLYGONALFACE((132, 119, 136)); +#1513 = IFCINDEXEDPOLYGONALFACE((106, 119, 132)); +#1514 = IFCINDEXEDPOLYGONALFACE((129, 106, 132)); +#1515 = IFCINDEXEDPOLYGONALFACE((154, 155, 156)); +#1516 = IFCINDEXEDPOLYGONALFACE((157, 158, 159)); +#1517 = IFCINDEXEDPOLYGONALFACE((156, 160, 161)); +#1518 = IFCINDEXEDPOLYGONALFACE((162, 159, 161)); +#1519 = IFCINDEXEDPOLYGONALFACE((163, 164, 165)); +#1520 = IFCINDEXEDPOLYGONALFACE((158, 166, 163)); +#1521 = IFCINDEXEDPOLYGONALFACE((163, 166, 164)); +#1522 = IFCINDEXEDPOLYGONALFACE((155, 154, 167)); +#1523 = IFCINDEXEDPOLYGONALFACE((160, 162, 161)); +#1524 = IFCINDEXEDPOLYGONALFACE((160, 156, 155)); +#1525 = IFCINDEXEDPOLYGONALFACE((159, 162, 157)); +#1526 = IFCINDEXEDPOLYGONALFACE((166, 158, 157)); +#1527 = IFCINDEXEDPOLYGONALFACE((168, 169, 170)); +#1528 = IFCINDEXEDPOLYGONALFACE((169, 168, 171)); +#1529 = IFCINDEXEDPOLYGONALFACE((170, 172, 173)); +#1530 = IFCINDEXEDPOLYGONALFACE((172, 170, 169)); +#1531 = IFCINDEXEDPOLYGONALFACE((168, 153, 171)); +#1532 = IFCINDEXEDPOLYGONALFACE((152, 171, 153)); +#1533 = IFCINDEXEDPOLYGONALFACE((174, 165, 164)); +#1534 = IFCINDEXEDPOLYGONALFACE((175, 174, 176)); +#1535 = IFCINDEXEDPOLYGONALFACE((174, 175, 165)); +#1536 = IFCINDEXEDPOLYGONALFACE((177, 173, 172)); +#1537 = IFCINDEXEDPOLYGONALFACE((176, 177, 175)); +#1538 = IFCINDEXEDPOLYGONALFACE((176, 173, 177)); +#1539 = IFCINDEXEDPOLYGONALFACE((178, 179, 180)); +#1540 = IFCINDEXEDPOLYGONALFACE((143, 142, 181)); +#1541 = IFCINDEXEDPOLYGONALFACE((181, 182, 183)); +#1542 = IFCINDEXEDPOLYGONALFACE((184, 185, 186)); +#1543 = IFCINDEXEDPOLYGONALFACE((183, 187, 184)); +#1544 = IFCINDEXEDPOLYGONALFACE((188, 186, 189)); +#1545 = IFCINDEXEDPOLYGONALFACE((189, 190, 188)); +#1546 = IFCINDEXEDPOLYGONALFACE((191, 178, 190)); +#1547 = IFCINDEXEDPOLYGONALFACE((185, 189, 186)); +#1548 = IFCINDEXEDPOLYGONALFACE((187, 185, 184)); +#1549 = IFCINDEXEDPOLYGONALFACE((181, 142, 182)); +#1550 = IFCINDEXEDPOLYGONALFACE((182, 187, 183)); +#1551 = IFCINDEXEDPOLYGONALFACE((191, 179, 178)); +#1552 = IFCINDEXEDPOLYGONALFACE((189, 191, 190)); +#1553 = IFCINDEXEDPOLYGONALFACE((179, 192, 180)); +#1554 = IFCINDEXEDPOLYGONALFACE((193, 180, 192)); +#1555 = IFCINDEXEDPOLYGONALFACE((194, 192, 195)); +#1556 = IFCINDEXEDPOLYGONALFACE((192, 194, 193)); +#1557 = IFCINDEXEDPOLYGONALFACE((194, 195, 196)); +#1558 = IFCINDEXEDPOLYGONALFACE((197, 196, 195)); +#1559 = IFCINDEXEDPOLYGONALFACE((198, 197, 195)); +#1560 = IFCINDEXEDPOLYGONALFACE((197, 198, 199)); +#1561 = IFCINDEXEDPOLYGONALFACE((200, 201, 202)); +#1562 = IFCINDEXEDPOLYGONALFACE((203, 198, 201)); +#1563 = IFCINDEXEDPOLYGONALFACE((198, 203, 199)); +#1564 = IFCINDEXEDPOLYGONALFACE((203, 201, 200)); +#1565 = IFCINDEXEDPOLYGONALFACE((151, 202, 108)); +#1566 = IFCINDEXEDPOLYGONALFACE((202, 151, 200)); +#1567 = IFCINDEXEDPOLYGONALFACE((140, 189, 185)); +#1568 = IFCINDEXEDPOLYGONALFACE((145, 179, 140)); +#1569 = IFCINDEXEDPOLYGONALFACE((139, 145, 140)); +#1570 = IFCINDEXEDPOLYGONALFACE((142, 140, 185)); +#1571 = IFCINDEXEDPOLYGONALFACE((142, 187, 182)); +#1572 = IFCINDEXEDPOLYGONALFACE((142, 185, 187)); +#1573 = IFCINDEXEDPOLYGONALFACE((109, 202, 145)); +#1574 = IFCINDEXEDPOLYGONALFACE((106, 114, 107)); +#1575 = IFCINDEXEDPOLYGONALFACE((140, 191, 189)); +#1576 = IFCINDEXEDPOLYGONALFACE((201, 198, 145)); +#1577 = IFCINDEXEDPOLYGONALFACE((192, 179, 145)); +#1578 = IFCINDEXEDPOLYGONALFACE((140, 179, 191)); +#1579 = IFCINDEXEDPOLYGONALFACE((192, 145, 195)); +#1580 = IFCINDEXEDPOLYGONALFACE((195, 145, 198)); +#1581 = IFCINDEXEDPOLYGONALFACE((201, 145, 202)); +#1582 = IFCINDEXEDPOLYGONALFACE((109, 111, 110)); +#1583 = IFCINDEXEDPOLYGONALFACE((202, 109, 108)); +#1584 = IFCINDEXEDPOLYGONALFACE((111, 113, 112)); +#1585 = IFCINDEXEDPOLYGONALFACE((113, 107, 114)); +#1586 = IFCINDEXEDPOLYGONALFACE((163, 204, 158)); +#1587 = IFCINDEXEDPOLYGONALFACE((171, 121, 150)); +#1588 = IFCINDEXEDPOLYGONALFACE((150, 204, 165)); +#1589 = IFCINDEXEDPOLYGONALFACE((204, 159, 158)); +#1590 = IFCINDEXEDPOLYGONALFACE((204, 150, 146)); +#1591 = IFCINDEXEDPOLYGONALFACE((148, 146, 150)); +#1592 = IFCINDEXEDPOLYGONALFACE((204, 154, 159)); +#1593 = IFCINDEXEDPOLYGONALFACE((154, 161, 159)); +#1594 = IFCINDEXEDPOLYGONALFACE((154, 156, 161)); +#1595 = IFCINDEXEDPOLYGONALFACE((106, 115, 119)); +#1596 = IFCINDEXEDPOLYGONALFACE((169, 171, 150)); +#1597 = IFCINDEXEDPOLYGONALFACE((116, 118, 120)); +#1598 = IFCINDEXEDPOLYGONALFACE((119, 117, 116)); +#1599 = IFCINDEXEDPOLYGONALFACE((120, 121, 152)); +#1600 = IFCINDEXEDPOLYGONALFACE((171, 152, 121)); +#1601 = IFCINDEXEDPOLYGONALFACE((150, 172, 169)); +#1602 = IFCINDEXEDPOLYGONALFACE((175, 150, 165)); +#1603 = IFCINDEXEDPOLYGONALFACE((204, 163, 165)); +#1604 = IFCINDEXEDPOLYGONALFACE((172, 150, 177)); +#1605 = IFCINDEXEDPOLYGONALFACE((177, 150, 175)); +#1606 = IFCINDEXEDPOLYGONALFACE((147, 205, 146)); +#1607 = IFCINDEXEDPOLYGONALFACE((167, 146, 205)); +#1608 = IFCINDEXEDPOLYGONALFACE((154, 146, 167)); +#1609 = IFCINDEXEDPOLYGONALFACE((188, 206, 186)); +#1610 = IFCINDEXEDPOLYGONALFACE((181, 183, 143)); +#1611 = IFCINDEXEDPOLYGONALFACE((206, 144, 141)); +#1612 = IFCINDEXEDPOLYGONALFACE((206, 143, 184)); +#1613 = IFCINDEXEDPOLYGONALFACE((184, 143, 183)); +#1614 = IFCINDEXEDPOLYGONALFACE((186, 206, 184)); +#1615 = IFCINDEXEDPOLYGONALFACE((188, 190, 206)); +#1616 = IFCINDEXEDPOLYGONALFACE((203, 123, 144)); +#1617 = IFCINDEXEDPOLYGONALFACE((180, 144, 206)); +#1618 = IFCINDEXEDPOLYGONALFACE((190, 178, 206)); +#1619 = IFCINDEXEDPOLYGONALFACE((206, 178, 180)); +#1620 = IFCINDEXEDPOLYGONALFACE((199, 203, 144)); +#1621 = IFCINDEXEDPOLYGONALFACE((194, 196, 144)); +#1622 = IFCINDEXEDPOLYGONALFACE((180, 193, 144)); +#1623 = IFCINDEXEDPOLYGONALFACE((194, 144, 193)); +#1624 = IFCINDEXEDPOLYGONALFACE((144, 196, 197)); +#1625 = IFCINDEXEDPOLYGONALFACE((144, 197, 199)); +#1626 = IFCINDEXEDPOLYGONALFACE((123, 203, 200)); +#1627 = IFCINDEXEDPOLYGONALFACE((123, 151, 124)); +#1628 = IFCINDEXEDPOLYGONALFACE((123, 200, 151)); +#1629 = IFCINDEXEDPOLYGONALFACE((122, 124, 126)); +#1630 = IFCINDEXEDPOLYGONALFACE((125, 126, 128)); +#1631 = IFCINDEXEDPOLYGONALFACE((129, 131, 127)); +#1632 = IFCINDEXEDPOLYGONALFACE((205, 166, 157)); +#1633 = IFCINDEXEDPOLYGONALFACE((137, 168, 149)); +#1634 = IFCINDEXEDPOLYGONALFACE((205, 149, 164)); +#1635 = IFCINDEXEDPOLYGONALFACE((162, 205, 157)); +#1636 = IFCINDEXEDPOLYGONALFACE((147, 149, 205)); +#1637 = IFCINDEXEDPOLYGONALFACE((167, 205, 162)); +#1638 = IFCINDEXEDPOLYGONALFACE((160, 167, 162)); +#1639 = IFCINDEXEDPOLYGONALFACE((155, 167, 160)); +#1640 = IFCINDEXEDPOLYGONALFACE((132, 131, 129)); +#1641 = IFCINDEXEDPOLYGONALFACE((149, 168, 170)); +#1642 = IFCINDEXEDPOLYGONALFACE((130, 132, 136)); +#1643 = IFCINDEXEDPOLYGONALFACE((133, 135, 138)); +#1644 = IFCINDEXEDPOLYGONALFACE((134, 136, 135)); +#1645 = IFCINDEXEDPOLYGONALFACE((137, 138, 153)); +#1646 = IFCINDEXEDPOLYGONALFACE((153, 168, 137)); +#1647 = IFCINDEXEDPOLYGONALFACE((173, 149, 170)); +#1648 = IFCINDEXEDPOLYGONALFACE((149, 174, 164)); +#1649 = IFCINDEXEDPOLYGONALFACE((166, 205, 164)); +#1650 = IFCINDEXEDPOLYGONALFACE((149, 173, 176)); +#1651 = IFCINDEXEDPOLYGONALFACE((149, 176, 174)); +#1652 = IFCINDEXEDPOLYGONALFACE((207, 208, 209)); +#1653 = IFCINDEXEDPOLYGONALFACE((210, 209, 208)); +#1654 = IFCINDEXEDPOLYGONALFACE((211, 209, 212)); +#1655 = IFCINDEXEDPOLYGONALFACE((210, 212, 209)); +#1656 = IFCINDEXEDPOLYGONALFACE((213, 211, 214)); +#1657 = IFCINDEXEDPOLYGONALFACE((212, 214, 211)); +#1658 = IFCINDEXEDPOLYGONALFACE((141, 215, 139)); +#1659 = IFCINDEXEDPOLYGONALFACE((216, 217, 213)); +#1660 = IFCINDEXEDPOLYGONALFACE((218, 213, 217)); +#1661 = IFCINDEXEDPOLYGONALFACE((219, 213, 218)); +#1662 = IFCINDEXEDPOLYGONALFACE((220, 213, 219)); +#1663 = IFCINDEXEDPOLYGONALFACE((221, 213, 220)); +#1664 = IFCINDEXEDPOLYGONALFACE((222, 213, 221)); +#1665 = IFCINDEXEDPOLYGONALFACE((223, 213, 222)); +#1666 = IFCINDEXEDPOLYGONALFACE((211, 213, 223)); +#1667 = IFCINDEXEDPOLYGONALFACE((224, 219, 218)); +#1668 = IFCINDEXEDPOLYGONALFACE((225, 211, 223)); +#1669 = IFCINDEXEDPOLYGONALFACE((226, 211, 225)); +#1670 = IFCINDEXEDPOLYGONALFACE((227, 211, 226)); +#1671 = IFCINDEXEDPOLYGONALFACE((228, 211, 227)); +#1672 = IFCINDEXEDPOLYGONALFACE((229, 211, 228)); +#1673 = IFCINDEXEDPOLYGONALFACE((230, 229, 228)); +#1674 = IFCINDEXEDPOLYGONALFACE((231, 229, 230)); +#1675 = IFCINDEXEDPOLYGONALFACE((232, 231, 230)); +#1676 = IFCINDEXEDPOLYGONALFACE((233, 231, 232)); +#1677 = IFCINDEXEDPOLYGONALFACE((234, 233, 232)); +#1678 = IFCINDEXEDPOLYGONALFACE((235, 233, 234)); +#1679 = IFCINDEXEDPOLYGONALFACE((236, 235, 234)); +#1680 = IFCINDEXEDPOLYGONALFACE((237, 236, 234)); +#1681 = IFCINDEXEDPOLYGONALFACE((238, 211, 229)); +#1682 = IFCINDEXEDPOLYGONALFACE((239, 211, 238)); +#1683 = IFCINDEXEDPOLYGONALFACE((240, 211, 239)); +#1684 = IFCINDEXEDPOLYGONALFACE((241, 211, 240)); +#1685 = IFCINDEXEDPOLYGONALFACE((215, 211, 241)); +#1686 = IFCINDEXEDPOLYGONALFACE((242, 215, 241)); +#1687 = IFCINDEXEDPOLYGONALFACE((243, 215, 242)); +#1688 = IFCINDEXEDPOLYGONALFACE((244, 243, 242)); +#1689 = IFCINDEXEDPOLYGONALFACE((245, 243, 244)); +#1690 = IFCINDEXEDPOLYGONALFACE((246, 245, 244)); +#1691 = IFCINDEXEDPOLYGONALFACE((247, 245, 246)); +#1692 = IFCINDEXEDPOLYGONALFACE((248, 247, 246)); +#1693 = IFCINDEXEDPOLYGONALFACE((249, 248, 246)); +#1694 = IFCINDEXEDPOLYGONALFACE((141, 211, 215)); +#1695 = IFCINDEXEDPOLYGONALFACE((144, 211, 141)); +#1696 = IFCINDEXEDPOLYGONALFACE((123, 211, 144)); +#1697 = IFCINDEXEDPOLYGONALFACE((122, 211, 123)); +#1698 = IFCINDEXEDPOLYGONALFACE((125, 211, 122)); +#1699 = IFCINDEXEDPOLYGONALFACE((250, 211, 125)); +#1700 = IFCINDEXEDPOLYGONALFACE((127, 250, 125)); +#1701 = IFCINDEXEDPOLYGONALFACE((251, 250, 127)); +#1702 = IFCINDEXEDPOLYGONALFACE((131, 251, 127)); +#1703 = IFCINDEXEDPOLYGONALFACE((252, 251, 131)); +#1704 = IFCINDEXEDPOLYGONALFACE((253, 252, 131)); +#1705 = IFCINDEXEDPOLYGONALFACE((254, 253, 131)); +#1706 = IFCINDEXEDPOLYGONALFACE((255, 211, 250)); +#1707 = IFCINDEXEDPOLYGONALFACE((38, 211, 255)); +#1708 = IFCINDEXEDPOLYGONALFACE((41, 211, 38)); +#1709 = IFCINDEXEDPOLYGONALFACE((22, 211, 41)); +#1710 = IFCINDEXEDPOLYGONALFACE((21, 211, 22)); +#1711 = IFCINDEXEDPOLYGONALFACE((24, 211, 21)); +#1712 = IFCINDEXEDPOLYGONALFACE((26, 211, 24)); +#1713 = IFCINDEXEDPOLYGONALFACE((43, 211, 26)); +#1714 = IFCINDEXEDPOLYGONALFACE((256, 257, 218)); +#1715 = IFCINDEXEDPOLYGONALFACE((258, 218, 257)); +#1716 = IFCINDEXEDPOLYGONALFACE((259, 218, 258)); +#1717 = IFCINDEXEDPOLYGONALFACE((260, 218, 259)); +#1718 = IFCINDEXEDPOLYGONALFACE((261, 218, 260)); +#1719 = IFCINDEXEDPOLYGONALFACE((224, 218, 261)); +#1720 = IFCINDEXEDPOLYGONALFACE((262, 257, 256)); +#1721 = IFCINDEXEDPOLYGONALFACE((263, 262, 256)); +#1722 = IFCINDEXEDPOLYGONALFACE((264, 263, 256)); +#1723 = IFCINDEXEDPOLYGONALFACE((265, 264, 256)); +#1724 = IFCINDEXEDPOLYGONALFACE((266, 265, 256)); +#1725 = IFCINDEXEDPOLYGONALFACE((267, 266, 256)); +#1726 = IFCINDEXEDPOLYGONALFACE((268, 266, 267)); +#1727 = IFCINDEXEDPOLYGONALFACE((269, 268, 267)); +#1728 = IFCINDEXEDPOLYGONALFACE((270, 268, 269)); +#1729 = IFCINDEXEDPOLYGONALFACE((271, 270, 269)); +#1730 = IFCINDEXEDPOLYGONALFACE((234, 270, 271)); +#1731 = IFCINDEXEDPOLYGONALFACE((272, 234, 271)); +#1732 = IFCINDEXEDPOLYGONALFACE((273, 234, 272)); +#1733 = IFCINDEXEDPOLYGONALFACE((237, 234, 273)); +#1734 = IFCINDEXEDPOLYGONALFACE((274, 267, 256)); +#1735 = IFCINDEXEDPOLYGONALFACE((275, 274, 256)); +#1736 = IFCINDEXEDPOLYGONALFACE((276, 275, 256)); +#1737 = IFCINDEXEDPOLYGONALFACE((277, 276, 256)); +#1738 = IFCINDEXEDPOLYGONALFACE((278, 277, 256)); +#1739 = IFCINDEXEDPOLYGONALFACE((279, 278, 256)); +#1740 = IFCINDEXEDPOLYGONALFACE((280, 278, 279)); +#1741 = IFCINDEXEDPOLYGONALFACE((281, 280, 279)); +#1742 = IFCINDEXEDPOLYGONALFACE((282, 280, 281)); +#1743 = IFCINDEXEDPOLYGONALFACE((283, 282, 281)); +#1744 = IFCINDEXEDPOLYGONALFACE((246, 282, 283)); +#1745 = IFCINDEXEDPOLYGONALFACE((284, 246, 283)); +#1746 = IFCINDEXEDPOLYGONALFACE((285, 246, 284)); +#1747 = IFCINDEXEDPOLYGONALFACE((249, 246, 285)); +#1748 = IFCINDEXEDPOLYGONALFACE((147, 279, 256)); +#1749 = IFCINDEXEDPOLYGONALFACE((146, 279, 147)); +#1750 = IFCINDEXEDPOLYGONALFACE((149, 147, 256)); +#1751 = IFCINDEXEDPOLYGONALFACE((137, 149, 256)); +#1752 = IFCINDEXEDPOLYGONALFACE((133, 137, 256)); +#1753 = IFCINDEXEDPOLYGONALFACE((134, 133, 256)); +#1754 = IFCINDEXEDPOLYGONALFACE((286, 134, 256)); +#1755 = IFCINDEXEDPOLYGONALFACE((130, 134, 286)); +#1756 = IFCINDEXEDPOLYGONALFACE((287, 130, 286)); +#1757 = IFCINDEXEDPOLYGONALFACE((131, 130, 287)); +#1758 = IFCINDEXEDPOLYGONALFACE((288, 131, 287)); +#1759 = IFCINDEXEDPOLYGONALFACE((289, 131, 288)); +#1760 = IFCINDEXEDPOLYGONALFACE((254, 131, 289)); +#1761 = IFCINDEXEDPOLYGONALFACE((290, 286, 256)); +#1762 = IFCINDEXEDPOLYGONALFACE((45, 290, 256)); +#1763 = IFCINDEXEDPOLYGONALFACE((44, 290, 45)); +#1764 = IFCINDEXEDPOLYGONALFACE((47, 45, 256)); +#1765 = IFCINDEXEDPOLYGONALFACE((34, 47, 256)); +#1766 = IFCINDEXEDPOLYGONALFACE((29, 34, 256)); +#1767 = IFCINDEXEDPOLYGONALFACE((30, 29, 256)); +#1768 = IFCINDEXEDPOLYGONALFACE((32, 30, 256)); +#1769 = IFCINDEXEDPOLYGONALFACE((43, 32, 256)); +#1770 = IFCINDEXEDPOLYGONALFACE((211, 43, 256)); +#1771 = IFCINDEXEDPOLYGONALFACE((209, 211, 256)); +#1772 = IFCINDEXEDPOLYGONALFACE((207, 209, 256)); +#1773 = IFCINDEXEDPOLYGONALFACE((38, 255, 36)); +#1774 = IFCINDEXEDPOLYGONALFACE((291, 292, 293)); +#1775 = IFCINDEXEDPOLYGONALFACE((214, 293, 292)); +#1776 = IFCINDEXEDPOLYGONALFACE((294, 293, 214)); +#1777 = IFCINDEXEDPOLYGONALFACE((212, 294, 214)); +#1778 = IFCINDEXEDPOLYGONALFACE((208, 294, 212)); +#1779 = IFCINDEXEDPOLYGONALFACE((210, 208, 212)); +#1780 = IFCINDEXEDPOLYGONALFACE((292, 216, 214)); +#1781 = IFCINDEXEDPOLYGONALFACE((213, 214, 216)); +#1782 = IFCINDEXEDPOLYGONALFACE((291, 217, 292)); +#1783 = IFCINDEXEDPOLYGONALFACE((216, 292, 217)); +#1784 = IFCINDEXEDPOLYGONALFACE((293, 218, 291)); +#1785 = IFCINDEXEDPOLYGONALFACE((217, 291, 218)); +#1786 = IFCINDEXEDPOLYGONALFACE((218, 293, 256)); +#1787 = IFCINDEXEDPOLYGONALFACE((294, 256, 293)); +#1788 = IFCINDEXEDPOLYGONALFACE((256, 294, 207)); +#1789 = IFCINDEXEDPOLYGONALFACE((208, 207, 294)); +#1790 = IFCINDEXEDPOLYGONALFACE((246, 295, 244)); +#1791 = IFCINDEXEDPOLYGONALFACE((296, 240, 297)); +#1792 = IFCINDEXEDPOLYGONALFACE((297, 241, 298)); +#1793 = IFCINDEXEDPOLYGONALFACE((298, 242, 299)); +#1794 = IFCINDEXEDPOLYGONALFACE((295, 246, 282)); +#1795 = IFCINDEXEDPOLYGONALFACE((300, 280, 278)); +#1796 = IFCINDEXEDPOLYGONALFACE((301, 282, 280)); +#1797 = IFCINDEXEDPOLYGONALFACE((302, 278, 277)); +#1798 = IFCINDEXEDPOLYGONALFACE((303, 304, 305)); +#1799 = IFCINDEXEDPOLYGONALFACE((306, 303, 307)); +#1800 = IFCINDEXEDPOLYGONALFACE((308, 306, 309)); +#1801 = IFCINDEXEDPOLYGONALFACE((309, 310, 308)); +#1802 = IFCINDEXEDPOLYGONALFACE((311, 312, 313)); +#1803 = IFCINDEXEDPOLYGONALFACE((312, 314, 315)); +#1804 = IFCINDEXEDPOLYGONALFACE((316, 311, 317)); +#1805 = IFCINDEXEDPOLYGONALFACE((238, 318, 319)); +#1806 = IFCINDEXEDPOLYGONALFACE((320, 319, 318)); +#1807 = IFCINDEXEDPOLYGONALFACE((321, 319, 320)); +#1808 = IFCINDEXEDPOLYGONALFACE((322, 274, 323)); +#1809 = IFCINDEXEDPOLYGONALFACE((275, 323, 274)); +#1810 = IFCINDEXEDPOLYGONALFACE((276, 323, 275)); +#1811 = IFCINDEXEDPOLYGONALFACE((277, 323, 276)); +#1812 = IFCINDEXEDPOLYGONALFACE((316, 323, 277)); +#1813 = IFCINDEXEDPOLYGONALFACE((278, 316, 277)); +#1814 = IFCINDEXEDPOLYGONALFACE((311, 316, 278)); +#1815 = IFCINDEXEDPOLYGONALFACE((280, 311, 278)); +#1816 = IFCINDEXEDPOLYGONALFACE((312, 311, 280)); +#1817 = IFCINDEXEDPOLYGONALFACE((282, 312, 280)); +#1818 = IFCINDEXEDPOLYGONALFACE((314, 312, 282)); +#1819 = IFCINDEXEDPOLYGONALFACE((246, 314, 282)); +#1820 = IFCINDEXEDPOLYGONALFACE((324, 314, 246)); +#1821 = IFCINDEXEDPOLYGONALFACE((238, 319, 239)); +#1822 = IFCINDEXEDPOLYGONALFACE((325, 239, 319)); +#1823 = IFCINDEXEDPOLYGONALFACE((240, 239, 325)); +#1824 = IFCINDEXEDPOLYGONALFACE((304, 240, 325)); +#1825 = IFCINDEXEDPOLYGONALFACE((241, 240, 304)); +#1826 = IFCINDEXEDPOLYGONALFACE((303, 241, 304)); +#1827 = IFCINDEXEDPOLYGONALFACE((242, 241, 303)); +#1828 = IFCINDEXEDPOLYGONALFACE((306, 242, 303)); +#1829 = IFCINDEXEDPOLYGONALFACE((244, 242, 306)); +#1830 = IFCINDEXEDPOLYGONALFACE((308, 244, 306)); +#1831 = IFCINDEXEDPOLYGONALFACE((246, 244, 308)); +#1832 = IFCINDEXEDPOLYGONALFACE((324, 246, 308)); +#1833 = IFCINDEXEDPOLYGONALFACE((326, 296, 305)); +#1834 = IFCINDEXEDPOLYGONALFACE((297, 305, 296)); +#1835 = IFCINDEXEDPOLYGONALFACE((307, 305, 297)); +#1836 = IFCINDEXEDPOLYGONALFACE((298, 307, 297)); +#1837 = IFCINDEXEDPOLYGONALFACE((309, 307, 298)); +#1838 = IFCINDEXEDPOLYGONALFACE((299, 309, 298)); +#1839 = IFCINDEXEDPOLYGONALFACE((310, 309, 299)); +#1840 = IFCINDEXEDPOLYGONALFACE((295, 310, 299)); +#1841 = IFCINDEXEDPOLYGONALFACE((327, 328, 302)); +#1842 = IFCINDEXEDPOLYGONALFACE((317, 302, 328)); +#1843 = IFCINDEXEDPOLYGONALFACE((313, 302, 317)); +#1844 = IFCINDEXEDPOLYGONALFACE((300, 302, 313)); +#1845 = IFCINDEXEDPOLYGONALFACE((315, 300, 313)); +#1846 = IFCINDEXEDPOLYGONALFACE((301, 300, 315)); +#1847 = IFCINDEXEDPOLYGONALFACE((329, 301, 315)); +#1848 = IFCINDEXEDPOLYGONALFACE((295, 301, 329)); +#1849 = IFCINDEXEDPOLYGONALFACE((310, 295, 329)); +#1850 = IFCINDEXEDPOLYGONALFACE((330, 331, 332)); +#1851 = IFCINDEXEDPOLYGONALFACE((333, 334, 335)); +#1852 = IFCINDEXEDPOLYGONALFACE((332, 336, 337)); +#1853 = IFCINDEXEDPOLYGONALFACE((338, 335, 337)); +#1854 = IFCINDEXEDPOLYGONALFACE((339, 340, 341)); +#1855 = IFCINDEXEDPOLYGONALFACE((334, 342, 339)); +#1856 = IFCINDEXEDPOLYGONALFACE((339, 342, 340)); +#1857 = IFCINDEXEDPOLYGONALFACE((331, 330, 343)); +#1858 = IFCINDEXEDPOLYGONALFACE((336, 338, 337)); +#1859 = IFCINDEXEDPOLYGONALFACE((336, 332, 331)); +#1860 = IFCINDEXEDPOLYGONALFACE((335, 338, 333)); +#1861 = IFCINDEXEDPOLYGONALFACE((342, 334, 333)); +#1862 = IFCINDEXEDPOLYGONALFACE((344, 345, 346)); +#1863 = IFCINDEXEDPOLYGONALFACE((345, 344, 347)); +#1864 = IFCINDEXEDPOLYGONALFACE((346, 348, 349)); +#1865 = IFCINDEXEDPOLYGONALFACE((348, 346, 345)); +#1866 = IFCINDEXEDPOLYGONALFACE((344, 328, 347)); +#1867 = IFCINDEXEDPOLYGONALFACE((327, 347, 328)); +#1868 = IFCINDEXEDPOLYGONALFACE((350, 341, 340)); +#1869 = IFCINDEXEDPOLYGONALFACE((351, 350, 352)); +#1870 = IFCINDEXEDPOLYGONALFACE((350, 351, 341)); +#1871 = IFCINDEXEDPOLYGONALFACE((353, 349, 348)); +#1872 = IFCINDEXEDPOLYGONALFACE((352, 353, 351)); +#1873 = IFCINDEXEDPOLYGONALFACE((352, 349, 353)); +#1874 = IFCINDEXEDPOLYGONALFACE((354, 355, 356)); +#1875 = IFCINDEXEDPOLYGONALFACE((321, 320, 357)); +#1876 = IFCINDEXEDPOLYGONALFACE((357, 358, 359)); +#1877 = IFCINDEXEDPOLYGONALFACE((360, 361, 362)); +#1878 = IFCINDEXEDPOLYGONALFACE((359, 363, 360)); +#1879 = IFCINDEXEDPOLYGONALFACE((364, 362, 365)); +#1880 = IFCINDEXEDPOLYGONALFACE((365, 366, 364)); +#1881 = IFCINDEXEDPOLYGONALFACE((367, 354, 366)); +#1882 = IFCINDEXEDPOLYGONALFACE((361, 365, 362)); +#1883 = IFCINDEXEDPOLYGONALFACE((363, 361, 360)); +#1884 = IFCINDEXEDPOLYGONALFACE((357, 320, 358)); +#1885 = IFCINDEXEDPOLYGONALFACE((358, 363, 359)); +#1886 = IFCINDEXEDPOLYGONALFACE((367, 355, 354)); +#1887 = IFCINDEXEDPOLYGONALFACE((365, 367, 366)); +#1888 = IFCINDEXEDPOLYGONALFACE((355, 368, 356)); +#1889 = IFCINDEXEDPOLYGONALFACE((369, 356, 368)); +#1890 = IFCINDEXEDPOLYGONALFACE((370, 368, 371)); +#1891 = IFCINDEXEDPOLYGONALFACE((368, 370, 369)); +#1892 = IFCINDEXEDPOLYGONALFACE((370, 371, 372)); +#1893 = IFCINDEXEDPOLYGONALFACE((373, 372, 371)); +#1894 = IFCINDEXEDPOLYGONALFACE((374, 373, 371)); +#1895 = IFCINDEXEDPOLYGONALFACE((373, 374, 375)); +#1896 = IFCINDEXEDPOLYGONALFACE((376, 377, 378)); +#1897 = IFCINDEXEDPOLYGONALFACE((379, 374, 377)); +#1898 = IFCINDEXEDPOLYGONALFACE((374, 379, 375)); +#1899 = IFCINDEXEDPOLYGONALFACE((379, 377, 376)); +#1900 = IFCINDEXEDPOLYGONALFACE((326, 378, 296)); +#1901 = IFCINDEXEDPOLYGONALFACE((378, 326, 376)); +#1902 = IFCINDEXEDPOLYGONALFACE((318, 365, 361)); +#1903 = IFCINDEXEDPOLYGONALFACE((239, 355, 318)); +#1904 = IFCINDEXEDPOLYGONALFACE((238, 239, 318)); +#1905 = IFCINDEXEDPOLYGONALFACE((320, 318, 361)); +#1906 = IFCINDEXEDPOLYGONALFACE((320, 363, 358)); +#1907 = IFCINDEXEDPOLYGONALFACE((320, 361, 363)); +#1908 = IFCINDEXEDPOLYGONALFACE((240, 378, 239)); +#1909 = IFCINDEXEDPOLYGONALFACE((295, 299, 244)); +#1910 = IFCINDEXEDPOLYGONALFACE((318, 367, 365)); +#1911 = IFCINDEXEDPOLYGONALFACE((377, 374, 239)); +#1912 = IFCINDEXEDPOLYGONALFACE((368, 355, 239)); +#1913 = IFCINDEXEDPOLYGONALFACE((318, 355, 367)); +#1914 = IFCINDEXEDPOLYGONALFACE((368, 239, 371)); +#1915 = IFCINDEXEDPOLYGONALFACE((371, 239, 374)); +#1916 = IFCINDEXEDPOLYGONALFACE((377, 239, 378)); +#1917 = IFCINDEXEDPOLYGONALFACE((240, 241, 297)); +#1918 = IFCINDEXEDPOLYGONALFACE((378, 240, 296)); +#1919 = IFCINDEXEDPOLYGONALFACE((241, 242, 298)); +#1920 = IFCINDEXEDPOLYGONALFACE((242, 244, 299)); +#1921 = IFCINDEXEDPOLYGONALFACE((339, 380, 334)); +#1922 = IFCINDEXEDPOLYGONALFACE((347, 277, 276)); +#1923 = IFCINDEXEDPOLYGONALFACE((276, 380, 341)); +#1924 = IFCINDEXEDPOLYGONALFACE((380, 335, 334)); +#1925 = IFCINDEXEDPOLYGONALFACE((380, 276, 274)); +#1926 = IFCINDEXEDPOLYGONALFACE((275, 274, 276)); +#1927 = IFCINDEXEDPOLYGONALFACE((380, 330, 335)); +#1928 = IFCINDEXEDPOLYGONALFACE((330, 337, 335)); +#1929 = IFCINDEXEDPOLYGONALFACE((330, 332, 337)); +#1930 = IFCINDEXEDPOLYGONALFACE((295, 282, 301)); +#1931 = IFCINDEXEDPOLYGONALFACE((345, 347, 276)); +#1932 = IFCINDEXEDPOLYGONALFACE((300, 278, 302)); +#1933 = IFCINDEXEDPOLYGONALFACE((301, 280, 300)); +#1934 = IFCINDEXEDPOLYGONALFACE((302, 277, 327)); +#1935 = IFCINDEXEDPOLYGONALFACE((347, 327, 277)); +#1936 = IFCINDEXEDPOLYGONALFACE((276, 348, 345)); +#1937 = IFCINDEXEDPOLYGONALFACE((351, 276, 341)); +#1938 = IFCINDEXEDPOLYGONALFACE((380, 339, 341)); +#1939 = IFCINDEXEDPOLYGONALFACE((348, 276, 353)); +#1940 = IFCINDEXEDPOLYGONALFACE((353, 276, 351)); +#1941 = IFCINDEXEDPOLYGONALFACE((322, 381, 274)); +#1942 = IFCINDEXEDPOLYGONALFACE((343, 274, 381)); +#1943 = IFCINDEXEDPOLYGONALFACE((330, 274, 343)); +#1944 = IFCINDEXEDPOLYGONALFACE((364, 382, 362)); +#1945 = IFCINDEXEDPOLYGONALFACE((357, 359, 321)); +#1946 = IFCINDEXEDPOLYGONALFACE((382, 325, 319)); +#1947 = IFCINDEXEDPOLYGONALFACE((382, 321, 360)); +#1948 = IFCINDEXEDPOLYGONALFACE((360, 321, 359)); +#1949 = IFCINDEXEDPOLYGONALFACE((362, 382, 360)); +#1950 = IFCINDEXEDPOLYGONALFACE((364, 366, 382)); +#1951 = IFCINDEXEDPOLYGONALFACE((379, 304, 325)); +#1952 = IFCINDEXEDPOLYGONALFACE((356, 325, 382)); +#1953 = IFCINDEXEDPOLYGONALFACE((366, 354, 382)); +#1954 = IFCINDEXEDPOLYGONALFACE((382, 354, 356)); +#1955 = IFCINDEXEDPOLYGONALFACE((375, 379, 325)); +#1956 = IFCINDEXEDPOLYGONALFACE((370, 372, 325)); +#1957 = IFCINDEXEDPOLYGONALFACE((356, 369, 325)); +#1958 = IFCINDEXEDPOLYGONALFACE((370, 325, 369)); +#1959 = IFCINDEXEDPOLYGONALFACE((325, 372, 373)); +#1960 = IFCINDEXEDPOLYGONALFACE((325, 373, 375)); +#1961 = IFCINDEXEDPOLYGONALFACE((304, 379, 376)); +#1962 = IFCINDEXEDPOLYGONALFACE((304, 326, 305)); +#1963 = IFCINDEXEDPOLYGONALFACE((304, 376, 326)); +#1964 = IFCINDEXEDPOLYGONALFACE((303, 305, 307)); +#1965 = IFCINDEXEDPOLYGONALFACE((306, 307, 309)); +#1966 = IFCINDEXEDPOLYGONALFACE((310, 324, 308)); +#1967 = IFCINDEXEDPOLYGONALFACE((324, 329, 314)); +#1968 = IFCINDEXEDPOLYGONALFACE((381, 342, 333)); +#1969 = IFCINDEXEDPOLYGONALFACE((316, 344, 323)); +#1970 = IFCINDEXEDPOLYGONALFACE((381, 323, 340)); +#1971 = IFCINDEXEDPOLYGONALFACE((338, 381, 333)); +#1972 = IFCINDEXEDPOLYGONALFACE((322, 323, 381)); +#1973 = IFCINDEXEDPOLYGONALFACE((343, 381, 338)); +#1974 = IFCINDEXEDPOLYGONALFACE((336, 343, 338)); +#1975 = IFCINDEXEDPOLYGONALFACE((331, 343, 336)); +#1976 = IFCINDEXEDPOLYGONALFACE((329, 324, 310)); +#1977 = IFCINDEXEDPOLYGONALFACE((323, 344, 346)); +#1978 = IFCINDEXEDPOLYGONALFACE((329, 315, 314)); +#1979 = IFCINDEXEDPOLYGONALFACE((311, 313, 317)); +#1980 = IFCINDEXEDPOLYGONALFACE((312, 315, 313)); +#1981 = IFCINDEXEDPOLYGONALFACE((316, 317, 328)); +#1982 = IFCINDEXEDPOLYGONALFACE((328, 344, 316)); +#1983 = IFCINDEXEDPOLYGONALFACE((349, 323, 346)); +#1984 = IFCINDEXEDPOLYGONALFACE((323, 350, 340)); +#1985 = IFCINDEXEDPOLYGONALFACE((342, 381, 340)); +#1986 = IFCINDEXEDPOLYGONALFACE((323, 349, 352)); +#1987 = IFCINDEXEDPOLYGONALFACE((323, 352, 350)); +#1988 = IFCINDEXEDPOLYGONALFACE((234, 383, 232)); +#1989 = IFCINDEXEDPOLYGONALFACE((384, 227, 385)); +#1990 = IFCINDEXEDPOLYGONALFACE((385, 228, 386)); +#1991 = IFCINDEXEDPOLYGONALFACE((386, 230, 387)); +#1992 = IFCINDEXEDPOLYGONALFACE((383, 234, 270)); +#1993 = IFCINDEXEDPOLYGONALFACE((388, 268, 266)); +#1994 = IFCINDEXEDPOLYGONALFACE((389, 270, 268)); +#1995 = IFCINDEXEDPOLYGONALFACE((390, 266, 265)); +#1996 = IFCINDEXEDPOLYGONALFACE((391, 392, 393)); +#1997 = IFCINDEXEDPOLYGONALFACE((394, 391, 395)); +#1998 = IFCINDEXEDPOLYGONALFACE((396, 394, 397)); +#1999 = IFCINDEXEDPOLYGONALFACE((397, 398, 396)); +#2000 = IFCINDEXEDPOLYGONALFACE((399, 400, 401)); +#2001 = IFCINDEXEDPOLYGONALFACE((400, 402, 403)); +#2002 = IFCINDEXEDPOLYGONALFACE((404, 399, 405)); +#2003 = IFCINDEXEDPOLYGONALFACE((225, 406, 407)); +#2004 = IFCINDEXEDPOLYGONALFACE((408, 407, 406)); +#2005 = IFCINDEXEDPOLYGONALFACE((409, 407, 408)); +#2006 = IFCINDEXEDPOLYGONALFACE((410, 262, 411)); +#2007 = IFCINDEXEDPOLYGONALFACE((263, 411, 262)); +#2008 = IFCINDEXEDPOLYGONALFACE((264, 411, 263)); +#2009 = IFCINDEXEDPOLYGONALFACE((265, 411, 264)); +#2010 = IFCINDEXEDPOLYGONALFACE((404, 411, 265)); +#2011 = IFCINDEXEDPOLYGONALFACE((266, 404, 265)); +#2012 = IFCINDEXEDPOLYGONALFACE((399, 404, 266)); +#2013 = IFCINDEXEDPOLYGONALFACE((268, 399, 266)); +#2014 = IFCINDEXEDPOLYGONALFACE((400, 399, 268)); +#2015 = IFCINDEXEDPOLYGONALFACE((270, 400, 268)); +#2016 = IFCINDEXEDPOLYGONALFACE((402, 400, 270)); +#2017 = IFCINDEXEDPOLYGONALFACE((234, 402, 270)); +#2018 = IFCINDEXEDPOLYGONALFACE((412, 402, 234)); +#2019 = IFCINDEXEDPOLYGONALFACE((225, 407, 226)); +#2020 = IFCINDEXEDPOLYGONALFACE((413, 226, 407)); +#2021 = IFCINDEXEDPOLYGONALFACE((227, 226, 413)); +#2022 = IFCINDEXEDPOLYGONALFACE((392, 227, 413)); +#2023 = IFCINDEXEDPOLYGONALFACE((228, 227, 392)); +#2024 = IFCINDEXEDPOLYGONALFACE((391, 228, 392)); +#2025 = IFCINDEXEDPOLYGONALFACE((230, 228, 391)); +#2026 = IFCINDEXEDPOLYGONALFACE((394, 230, 391)); +#2027 = IFCINDEXEDPOLYGONALFACE((232, 230, 394)); +#2028 = IFCINDEXEDPOLYGONALFACE((396, 232, 394)); +#2029 = IFCINDEXEDPOLYGONALFACE((234, 232, 396)); +#2030 = IFCINDEXEDPOLYGONALFACE((412, 234, 396)); +#2031 = IFCINDEXEDPOLYGONALFACE((414, 384, 393)); +#2032 = IFCINDEXEDPOLYGONALFACE((385, 393, 384)); +#2033 = IFCINDEXEDPOLYGONALFACE((395, 393, 385)); +#2034 = IFCINDEXEDPOLYGONALFACE((386, 395, 385)); +#2035 = IFCINDEXEDPOLYGONALFACE((397, 395, 386)); +#2036 = IFCINDEXEDPOLYGONALFACE((387, 397, 386)); +#2037 = IFCINDEXEDPOLYGONALFACE((398, 397, 387)); +#2038 = IFCINDEXEDPOLYGONALFACE((383, 398, 387)); +#2039 = IFCINDEXEDPOLYGONALFACE((415, 416, 390)); +#2040 = IFCINDEXEDPOLYGONALFACE((405, 390, 416)); +#2041 = IFCINDEXEDPOLYGONALFACE((401, 390, 405)); +#2042 = IFCINDEXEDPOLYGONALFACE((388, 390, 401)); +#2043 = IFCINDEXEDPOLYGONALFACE((403, 388, 401)); +#2044 = IFCINDEXEDPOLYGONALFACE((389, 388, 403)); +#2045 = IFCINDEXEDPOLYGONALFACE((417, 389, 403)); +#2046 = IFCINDEXEDPOLYGONALFACE((383, 389, 417)); +#2047 = IFCINDEXEDPOLYGONALFACE((398, 383, 417)); +#2048 = IFCINDEXEDPOLYGONALFACE((418, 419, 420)); +#2049 = IFCINDEXEDPOLYGONALFACE((421, 422, 423)); +#2050 = IFCINDEXEDPOLYGONALFACE((420, 424, 425)); +#2051 = IFCINDEXEDPOLYGONALFACE((426, 423, 425)); +#2052 = IFCINDEXEDPOLYGONALFACE((427, 428, 429)); +#2053 = IFCINDEXEDPOLYGONALFACE((422, 430, 427)); +#2054 = IFCINDEXEDPOLYGONALFACE((427, 430, 428)); +#2055 = IFCINDEXEDPOLYGONALFACE((419, 418, 431)); +#2056 = IFCINDEXEDPOLYGONALFACE((424, 426, 425)); +#2057 = IFCINDEXEDPOLYGONALFACE((424, 420, 419)); +#2058 = IFCINDEXEDPOLYGONALFACE((423, 426, 421)); +#2059 = IFCINDEXEDPOLYGONALFACE((430, 422, 421)); +#2060 = IFCINDEXEDPOLYGONALFACE((432, 433, 434)); +#2061 = IFCINDEXEDPOLYGONALFACE((433, 432, 435)); +#2062 = IFCINDEXEDPOLYGONALFACE((434, 436, 437)); +#2063 = IFCINDEXEDPOLYGONALFACE((436, 434, 433)); +#2064 = IFCINDEXEDPOLYGONALFACE((432, 416, 435)); +#2065 = IFCINDEXEDPOLYGONALFACE((415, 435, 416)); +#2066 = IFCINDEXEDPOLYGONALFACE((438, 429, 428)); +#2067 = IFCINDEXEDPOLYGONALFACE((439, 438, 440)); +#2068 = IFCINDEXEDPOLYGONALFACE((438, 439, 429)); +#2069 = IFCINDEXEDPOLYGONALFACE((441, 437, 436)); +#2070 = IFCINDEXEDPOLYGONALFACE((440, 441, 439)); +#2071 = IFCINDEXEDPOLYGONALFACE((440, 437, 441)); +#2072 = IFCINDEXEDPOLYGONALFACE((442, 443, 444)); +#2073 = IFCINDEXEDPOLYGONALFACE((409, 408, 445)); +#2074 = IFCINDEXEDPOLYGONALFACE((445, 446, 447)); +#2075 = IFCINDEXEDPOLYGONALFACE((448, 449, 450)); +#2076 = IFCINDEXEDPOLYGONALFACE((447, 451, 448)); +#2077 = IFCINDEXEDPOLYGONALFACE((452, 450, 453)); +#2078 = IFCINDEXEDPOLYGONALFACE((453, 454, 452)); +#2079 = IFCINDEXEDPOLYGONALFACE((455, 442, 454)); +#2080 = IFCINDEXEDPOLYGONALFACE((449, 453, 450)); +#2081 = IFCINDEXEDPOLYGONALFACE((451, 449, 448)); +#2082 = IFCINDEXEDPOLYGONALFACE((445, 408, 446)); +#2083 = IFCINDEXEDPOLYGONALFACE((446, 451, 447)); +#2084 = IFCINDEXEDPOLYGONALFACE((455, 443, 442)); +#2085 = IFCINDEXEDPOLYGONALFACE((453, 455, 454)); +#2086 = IFCINDEXEDPOLYGONALFACE((443, 456, 444)); +#2087 = IFCINDEXEDPOLYGONALFACE((457, 444, 456)); +#2088 = IFCINDEXEDPOLYGONALFACE((458, 456, 459)); +#2089 = IFCINDEXEDPOLYGONALFACE((456, 458, 457)); +#2090 = IFCINDEXEDPOLYGONALFACE((458, 459, 460)); +#2091 = IFCINDEXEDPOLYGONALFACE((461, 460, 459)); +#2092 = IFCINDEXEDPOLYGONALFACE((462, 461, 459)); +#2093 = IFCINDEXEDPOLYGONALFACE((461, 462, 463)); +#2094 = IFCINDEXEDPOLYGONALFACE((464, 465, 466)); +#2095 = IFCINDEXEDPOLYGONALFACE((467, 462, 465)); +#2096 = IFCINDEXEDPOLYGONALFACE((462, 467, 463)); +#2097 = IFCINDEXEDPOLYGONALFACE((467, 465, 464)); +#2098 = IFCINDEXEDPOLYGONALFACE((414, 466, 384)); +#2099 = IFCINDEXEDPOLYGONALFACE((466, 414, 464)); +#2100 = IFCINDEXEDPOLYGONALFACE((406, 453, 449)); +#2101 = IFCINDEXEDPOLYGONALFACE((226, 443, 406)); +#2102 = IFCINDEXEDPOLYGONALFACE((225, 226, 406)); +#2103 = IFCINDEXEDPOLYGONALFACE((408, 406, 449)); +#2104 = IFCINDEXEDPOLYGONALFACE((408, 451, 446)); +#2105 = IFCINDEXEDPOLYGONALFACE((408, 449, 451)); +#2106 = IFCINDEXEDPOLYGONALFACE((227, 466, 226)); +#2107 = IFCINDEXEDPOLYGONALFACE((383, 387, 232)); +#2108 = IFCINDEXEDPOLYGONALFACE((406, 455, 453)); +#2109 = IFCINDEXEDPOLYGONALFACE((465, 462, 226)); +#2110 = IFCINDEXEDPOLYGONALFACE((456, 443, 226)); +#2111 = IFCINDEXEDPOLYGONALFACE((406, 443, 455)); +#2112 = IFCINDEXEDPOLYGONALFACE((456, 226, 459)); +#2113 = IFCINDEXEDPOLYGONALFACE((459, 226, 462)); +#2114 = IFCINDEXEDPOLYGONALFACE((465, 226, 466)); +#2115 = IFCINDEXEDPOLYGONALFACE((227, 228, 385)); +#2116 = IFCINDEXEDPOLYGONALFACE((466, 227, 384)); +#2117 = IFCINDEXEDPOLYGONALFACE((228, 230, 386)); +#2118 = IFCINDEXEDPOLYGONALFACE((230, 232, 387)); +#2119 = IFCINDEXEDPOLYGONALFACE((427, 468, 422)); +#2120 = IFCINDEXEDPOLYGONALFACE((435, 265, 264)); +#2121 = IFCINDEXEDPOLYGONALFACE((264, 468, 429)); +#2122 = IFCINDEXEDPOLYGONALFACE((468, 423, 422)); +#2123 = IFCINDEXEDPOLYGONALFACE((468, 264, 262)); +#2124 = IFCINDEXEDPOLYGONALFACE((263, 262, 264)); +#2125 = IFCINDEXEDPOLYGONALFACE((468, 418, 423)); +#2126 = IFCINDEXEDPOLYGONALFACE((418, 425, 423)); +#2127 = IFCINDEXEDPOLYGONALFACE((418, 420, 425)); +#2128 = IFCINDEXEDPOLYGONALFACE((383, 270, 389)); +#2129 = IFCINDEXEDPOLYGONALFACE((433, 435, 264)); +#2130 = IFCINDEXEDPOLYGONALFACE((388, 266, 390)); +#2131 = IFCINDEXEDPOLYGONALFACE((389, 268, 388)); +#2132 = IFCINDEXEDPOLYGONALFACE((390, 265, 415)); +#2133 = IFCINDEXEDPOLYGONALFACE((435, 415, 265)); +#2134 = IFCINDEXEDPOLYGONALFACE((264, 436, 433)); +#2135 = IFCINDEXEDPOLYGONALFACE((439, 264, 429)); +#2136 = IFCINDEXEDPOLYGONALFACE((468, 427, 429)); +#2137 = IFCINDEXEDPOLYGONALFACE((436, 264, 441)); +#2138 = IFCINDEXEDPOLYGONALFACE((441, 264, 439)); +#2139 = IFCINDEXEDPOLYGONALFACE((410, 469, 262)); +#2140 = IFCINDEXEDPOLYGONALFACE((431, 262, 469)); +#2141 = IFCINDEXEDPOLYGONALFACE((418, 262, 431)); +#2142 = IFCINDEXEDPOLYGONALFACE((452, 470, 450)); +#2143 = IFCINDEXEDPOLYGONALFACE((445, 447, 409)); +#2144 = IFCINDEXEDPOLYGONALFACE((470, 413, 407)); +#2145 = IFCINDEXEDPOLYGONALFACE((470, 409, 448)); +#2146 = IFCINDEXEDPOLYGONALFACE((448, 409, 447)); +#2147 = IFCINDEXEDPOLYGONALFACE((450, 470, 448)); +#2148 = IFCINDEXEDPOLYGONALFACE((452, 454, 470)); +#2149 = IFCINDEXEDPOLYGONALFACE((467, 392, 413)); +#2150 = IFCINDEXEDPOLYGONALFACE((444, 413, 470)); +#2151 = IFCINDEXEDPOLYGONALFACE((454, 442, 470)); +#2152 = IFCINDEXEDPOLYGONALFACE((470, 442, 444)); +#2153 = IFCINDEXEDPOLYGONALFACE((463, 467, 413)); +#2154 = IFCINDEXEDPOLYGONALFACE((458, 460, 413)); +#2155 = IFCINDEXEDPOLYGONALFACE((444, 457, 413)); +#2156 = IFCINDEXEDPOLYGONALFACE((458, 413, 457)); +#2157 = IFCINDEXEDPOLYGONALFACE((413, 460, 461)); +#2158 = IFCINDEXEDPOLYGONALFACE((413, 461, 463)); +#2159 = IFCINDEXEDPOLYGONALFACE((392, 467, 464)); +#2160 = IFCINDEXEDPOLYGONALFACE((392, 414, 393)); +#2161 = IFCINDEXEDPOLYGONALFACE((392, 464, 414)); +#2162 = IFCINDEXEDPOLYGONALFACE((391, 393, 395)); +#2163 = IFCINDEXEDPOLYGONALFACE((394, 395, 397)); +#2164 = IFCINDEXEDPOLYGONALFACE((398, 412, 396)); +#2165 = IFCINDEXEDPOLYGONALFACE((412, 417, 402)); +#2166 = IFCINDEXEDPOLYGONALFACE((469, 430, 421)); +#2167 = IFCINDEXEDPOLYGONALFACE((404, 432, 411)); +#2168 = IFCINDEXEDPOLYGONALFACE((469, 411, 428)); +#2169 = IFCINDEXEDPOLYGONALFACE((426, 469, 421)); +#2170 = IFCINDEXEDPOLYGONALFACE((410, 411, 469)); +#2171 = IFCINDEXEDPOLYGONALFACE((431, 469, 426)); +#2172 = IFCINDEXEDPOLYGONALFACE((424, 431, 426)); +#2173 = IFCINDEXEDPOLYGONALFACE((419, 431, 424)); +#2174 = IFCINDEXEDPOLYGONALFACE((417, 412, 398)); +#2175 = IFCINDEXEDPOLYGONALFACE((411, 432, 434)); +#2176 = IFCINDEXEDPOLYGONALFACE((417, 403, 402)); +#2177 = IFCINDEXEDPOLYGONALFACE((399, 401, 405)); +#2178 = IFCINDEXEDPOLYGONALFACE((400, 403, 401)); +#2179 = IFCINDEXEDPOLYGONALFACE((404, 405, 416)); +#2180 = IFCINDEXEDPOLYGONALFACE((416, 432, 404)); +#2181 = IFCINDEXEDPOLYGONALFACE((437, 411, 434)); +#2182 = IFCINDEXEDPOLYGONALFACE((411, 438, 428)); +#2183 = IFCINDEXEDPOLYGONALFACE((430, 469, 428)); +#2184 = IFCINDEXEDPOLYGONALFACE((411, 437, 440)); +#2185 = IFCINDEXEDPOLYGONALFACE((411, 440, 438)); +#2186 = IFCINDEXEDPOLYGONALFACE((3, 471, 472)); +#2187 = IFCINDEXEDPOLYGONALFACE((473, 472, 471)); +#2188 = IFCINDEXEDPOLYGONALFACE((2, 1, 474)); +#2189 = IFCINDEXEDPOLYGONALFACE((475, 474, 1)); +#2190 = IFCINDEXEDPOLYGONALFACE((473, 471, 474)); +#2191 = IFCINDEXEDPOLYGONALFACE((2, 474, 471)); +#2192 = IFCINDEXEDPOLYGONALFACE((473, 474, 472)); +#2193 = IFCINDEXEDPOLYGONALFACE((475, 472, 474)); +#2194 = IFCINDEXEDPOLYGONALFACE((3, 472, 1)); +#2195 = IFCINDEXEDPOLYGONALFACE((475, 1, 472)); +#2196 = IFCINDEXEDPOLYGONALFACE((471, 3, 2)); +#2197 = IFCSTYLEDITEM(#1255, (#58), $); +#2198 = IFCREPRESENTATIONMAP(#2201, #2202); +#2199 = IFCDIRECTION((0., 0., 1.)); +#2200 = IFCDIRECTION((1., 0., 0.)); +#2201 = IFCAXIS2PLACEMENT3D(#15, #2199, #2200); +#2202 = IFCSHAPEREPRESENTATION(#17, 'Body', 'Tessellation', (#2203)); +#2203 = IFCPOLYGONALFACESET(#2204, $, (#2205, #2206, #2207, #2208, #2209, #2210, #2211, #2212, #2213, #2214, #2215, #2216, #2217, #2218, #2219, #2220, #2221, #2222, #2223, #2224, #2225, #2226, #2227, #2228, #2229, #2230, #2231, #2232, #2233, #2234, #2235, #2236, #2237, #2238, #2239, #2240, #2241, #2242, #2243, #2244, #2245, #2246, #2247, #2248, #2249, #2250, #2251, #2252, #2253, #2254, #2255, #2256, #2257, #2258, #2259, #2260, #2261, #2262, #2263, #2264, #2265, #2266), $); +#2204 = IFCCARTESIANPOINTLIST3D(((-4.87725026905537E-2, -2.45196521282196E-1, 7.4999988079071E-1), (7.36632572580763E-10, -6.29793260126673E-7, 9.4432017760937E-11), (-2.65319103286255E-9, -2.50000029939481E-1, 7.49999999954281E-1), (-9.56707522273064E-2, -2.30969995260239E-1, 7.49999940395355E-1), (6.11767719978466E-9, -6.17105534264386E-7, -4.06395400665005E-9), (-4.87724990158196E-2, -2.45196506547695E-1, 7.49999940337582E-1), (2.5E-1, -3.48468165434213E-9, 7.49997675418854E-1), (2.45196253061295E-1, 4.87724989652634E-2, 7.49997258186353E-1), (2.45196253061295E-1, -4.87727522850037E-2, 7.49998152256E-1), (2.45196253061295E-1, 4.87724989652634E-2, 7.4999725818634E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49998569488488E-1), (2.45196253061295E-1, -4.87727522850037E-2, 7.49998152255987E-1), (2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349199E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49998569488469E-1), (2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349182E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49998927116304E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49998569488452E-1), (2.07867503166199E-1, 1.38892501592636E-1, 7.49996364116674E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49998927116368E-1), (2.07867503166199E-1, 1.38892501592636E-1, 7.49996364116669E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.49999344348869E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49998927116362E-1), (1.76776766777039E-1, 1.76776498556137E-1, 7.4999606609345E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.49999344348853E-1), (1.76776766777039E-1, 1.76776498556137E-1, 7.49996066093445E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.49999582767422E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.49999344348848E-1), (1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070212E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.4999964237224E-1), (1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070221E-1), (9.56707522273064E-2, -2.30969995260239E-1, 7.49999880790833E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.49999642372249E-1), (9.56707522273064E-2, 2.30969771742821E-1, 7.49995529651633E-1), (9.56707522273064E-2, -2.30969995260239E-1, 7.4999988079085E-1), (9.56707522273064E-2, 2.30969771742821E-1, 7.49995589256287E-1), (4.87725026904591E-2, -2.45196521281635E-1, 7.50000000000154E-1), (9.56707522272118E-2, -2.30969995259677E-1, 7.49999940395503E-1), (4.87725026905537E-2, 2.45196253061295E-1, 7.49995470047E-1), (4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395278E-1), (4.87725026905537E-2, 2.45196253061295E-1, 7.49995470046997E-1), (-2.62661655374354E-20, -2.5E-1, 7.49999999999919E-1), (4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395275E-1), (1.412280386667E-22, 2.5E-1, 7.49995410442352E-1), (1.412280386667E-22, -2.5E-1, 7.5E-1), (1.25789888894693E-20, 2.5E-1, 7.49995410442352E-1), (-4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395355E-1), (0., -2.5E-1, 7.5E-1), (-4.87725026905537E-2, 2.45196253061295E-1, 7.49995470046996E-1), (-4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395274E-1), (-4.87725026905537E-2, 2.45196253061295E-1, 7.49995410442352E-1), (-9.56707522273954E-2, -2.30969995260782E-1, 7.49999821185988E-1), (-4.87725026906427E-2, -2.45196521282739E-1, 7.4999988079063E-1), (-9.56707522273064E-2, 2.30969771742821E-1, 7.49995529651646E-1), (-9.56707522273064E-2, -2.30969995260239E-1, 7.49999880790863E-1), (-9.56707522273064E-2, 2.30969771742821E-1, 7.49995589256287E-1), (-1.38892501592747E-1, -2.07867503165637E-1, 7.49999642372273E-1), (-9.56707522274173E-2, -2.30969995259677E-1, 7.49999940395503E-1), (-1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070227E-1), (-1.38892501592636E-1, -2.07867503166199E-1, 7.49999642372255E-1), (-1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070221E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.49999344349016E-1), (-1.38892501592636E-1, -2.07867503166199E-1, 7.49999642372249E-1), (-1.76776766777039E-1, 1.76776736974716E-1, 7.49996066093436E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.49999344348799E-1), (-1.76776766777039E-1, 1.76776736974716E-1, 7.49996066093445E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.4999898672095E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.49999344348808E-1), (-2.07867249846458E-1, 1.38892501592636E-1, 7.49996364116684E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.49998927116515E-1), (-2.07867249846458E-1, 1.38892501592636E-1, 7.49996364116669E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.49998569488496E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.4999892711636E-1), (-2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349175E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.4999856948849E-1), (-2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349182E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49998092651374E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.49998569488536E-1), (-2.45196253061295E-1, 4.87724989652634E-2, 7.49997258186327E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49998152255974E-1), (-2.45196253061295E-1, 4.87724989652634E-2, 7.4999725818634E-1), (-2.5E-1, -3.48468165446017E-9, 7.49997675418841E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49998152255987E-1), (-1.38892501592636E-1, -2.07867503166199E-1, 7.49999940395355E-1), (2.03746908443922E-8, -5.99154304599339E-7, 3.21216098164712E-9), (-9.56707522562009E-2, -2.30969995314296E-1, 7.49999940375022E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.4999988079071E-1), (9.52770787462098E-10, -6.3611171091109E-7, 2.60054100476026E-9), (-1.38892516418067E-1, -2.07867532876244E-1, 7.49999940434955E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.49999761581421E-1), (8.85724627364723E-9, -6.30003821017253E-7, 2.99190117125647E-11), (-1.76776736736134E-1, -1.76776781482401E-1, 7.49999880893095E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.49999701976776E-1), (1.00599530379405E-8, -6.31895579608947E-7, 3.21586202112201E-9), (-2.07867502327527E-1, -1.38892501144358E-1, 7.49999761896881E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49999582767487E-1), (2.11045533997832E-9, -6.3663244680836E-7, 3.94399013448066E-10), (-2.30969770978928E-1, -9.56709978647402E-2, 7.49999702241583E-1), (-2.5E-1, -3.47763395858181E-9, 7.49999463558197E-1), (9.66304198509219E-9, -6.3632099010785E-7, 1.76171022214788E-10), (-2.4519625305747E-1, -4.87727522846269E-2, 7.49999582768762E-1), (-2.45196253061295E-1, 4.87724989652634E-2, 7.49999403953552E-1), (1.10176602961002E-8, -6.3835785583501E-7, 4.52399784300894E-11), (-2.5000000001495E-1, -3.31988045961035E-9, 7.49999463553214E-1), (-2.30969995260239E-1, 9.56707522273064E-2, 7.49999284744263E-1), (-4.53071167376952E-9, -6.35898315715193E-7, -3.73229003258757E-10), (-2.45196237908702E-1, 4.87724914384131E-2, 7.49999404040712E-1), (-2.07867249846458E-1, 1.38892501592636E-1, 7.49999225139618E-1), (2.20537455188225E-8, -6.4906076968024E-7, 4.96768015612048E-10), (-2.30969994707129E-1, 9.56707519316603E-2, 7.49999284952312E-1), (-1.76776766777039E-1, 1.76776736974716E-1, 7.49999165534973E-1), (3.05355835805818E-8, -6.62332387569594E-7, 2.77915701563103E-9), (-2.07867249145998E-1, 1.3889250101779E-1, 7.49999225440212E-1), (-1.38892501592636E-1, 2.07867234945297E-1, 7.49999046325684E-1), (2.74538845959376E-9, -6.40617966265419E-7, -6.00195004807347E-10), (-1.76776767080674E-1, 1.767767373447E-1, 7.49999165376199E-1), (-9.56707522273064E-2, 2.30969771742821E-1, 7.49998986721039E-1), (-5.64738358932896E-9, -6.26707202800038E-7, -3.71325498127462E-9), (-1.3889251642572E-1, 2.07867249719094E-1, 7.49999046373591E-1), (-4.87725026905537E-2, 2.45196253061295E-1, 7.49999046325684E-1), (-4.12357529713809E-9, -6.23679178099591E-7, 7.82118980691138E-10), (-9.56707523053987E-2, 2.30969772000256E-1, 7.49999046236442E-1), (-1.67699534814325E-11, 2.5E-1, 7.49998986721039E-1), (-1.14407892447372E-9, -6.25656930298097E-7, -2.98049901426012E-9), (-4.87725026739289E-2, 2.45196237991342E-1, 7.49998986777303E-1), (4.87725026905537E-2, 2.45196253061295E-1, 7.49998986721039E-1), (4.02865793645992E-9, -5.96369878139934E-7, -3.39479999666992E-9), (1.46348153091777E-9, 2.50000029590329E-1, 7.49998986791704E-1), (9.56707522273064E-2, 2.30969771742821E-1, 7.49998986721039E-1), (9.39049863777309E-9, -6.06316453562562E-7, -3.22713200606728E-9), (4.87725026124613E-2, 2.45196252803859E-1, 7.4999898681028E-1), (1.38892501592636E-1, 2.07867234945297E-1, 7.49999046325684E-1), (-1.14260060958762E-8, -6.58649267697517E-7, 1.77388992383953E-10), (9.5670744754548E-2, 2.30969756800168E-1, 7.4999904634129E-1), (1.76776766777039E-1, 1.76776498556137E-1, 7.49999105930328E-1), (1.5231981018768E-8, -6.18712473774933E-7, -2.74580902459576E-9), (1.38892516481675E-1, 2.07867249831687E-1, 7.49999046332023E-1), (2.07867503166199E-1, 1.38892501592636E-1, 7.49999225139618E-1), (5.9962052169999E-9, -6.32351743350701E-7, 3.52271989356723E-10), (1.7677676548266E-1, 1.76776497493864E-1, 7.49999166090443E-1), (2.30969995260239E-1, 9.56707522273064E-2, 7.49999284744263E-1), (1.17849037626593E-8, -6.30973570389041E-7, -4.7040199513404E-10), (2.07867503427609E-1, 1.38892501732362E-1, 7.4999922504129E-1), (2.45196253061295E-1, 4.87724989652634E-2, 7.49999403953552E-1), (-1.50243601270676E-8, -6.41830216527002E-7, 4.31891022945052E-10), (2.30970010237651E-1, 9.56707522504364E-2, 7.4999928471783E-1), (2.5E-1, -3.47443207537879E-9, 7.49999463558197E-1), (-1.10601364025578E-8, -6.38362040349122E-7, 1.20770060618725E-11), (2.45196253032892E-1, 4.87724989624659E-2, 7.4999940396302E-1), (2.45196253061295E-1, -4.87727522850037E-2, 7.49999582767487E-1), (-9.61099372285321E-9, -6.3632612355809E-7, 3.20971027534256E-10), (2.49999999964488E-1, -3.92177221341787E-9, 7.49999463570034E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49999701976776E-1), (-6.50303073984784E-9, -6.35300034582305E-7, -2.0263501987472E-10), (2.45196238833124E-1, -4.87727487638607E-2, 7.49999582534191E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49999701976776E-1), (1.01435285188188E-8, -6.42694589431292E-7, 7.12234993205385E-10), (2.30970009891505E-1, -9.5671005402785E-2, 7.49999702078295E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.4999988079071E-1), (-2.55843315689538E-9, -6.35173031683256E-7, 3.82293302569892E-9), (2.07867503041959E-1, -1.38892769711576E-1, 7.49999761634737E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.4999988079071E-1), (-1.55144173158294E-8, -6.18368260564781E-7, -2.71790101535885E-9), (1.76776735908426E-1, -1.76776765477759E-1, 7.4999988134828E-1), (9.56707522273064E-2, -2.30969995260239E-1, 7.4999988079071E-1), (-1.51564518045977E-8, -6.08916931067365E-7, -3.1186497828628E-10), (1.38892501196194E-1, -2.07867502424507E-1, 7.49999940674337E-1), (4.87725026905537E-2, -2.45196521282196E-1, 7.4999988079071E-1), (-5.95210905836167E-9, -6.1765129551854E-7, -3.80130898980369E-9), (9.56707521567859E-2, -2.30970009928927E-1, 7.49999940475943E-1), (-2.55203462529163E-11, -2.5E-1, 7.5E-1), (-3.54490967813828E-9, -6.01279198489973E-7, 4.378135021188E-9), (4.87724989579243E-2, -2.45196506306516E-1, 7.49999940420195E-1)), $); +#2205 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#2206 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#2207 = IFCINDEXEDPOLYGONALFACE((7, 8, 9)); +#2208 = IFCINDEXEDPOLYGONALFACE((10, 11, 12)); +#2209 = IFCINDEXEDPOLYGONALFACE((10, 13, 14)); +#2210 = IFCINDEXEDPOLYGONALFACE((15, 16, 17)); +#2211 = IFCINDEXEDPOLYGONALFACE((15, 18, 19)); +#2212 = IFCINDEXEDPOLYGONALFACE((20, 21, 22)); +#2213 = IFCINDEXEDPOLYGONALFACE((20, 23, 24)); +#2214 = IFCINDEXEDPOLYGONALFACE((25, 26, 27)); +#2215 = IFCINDEXEDPOLYGONALFACE((25, 28, 29)); +#2216 = IFCINDEXEDPOLYGONALFACE((30, 31, 32)); +#2217 = IFCINDEXEDPOLYGONALFACE((30, 33, 34)); +#2218 = IFCINDEXEDPOLYGONALFACE((35, 36, 37)); +#2219 = IFCINDEXEDPOLYGONALFACE((35, 38, 39)); +#2220 = IFCINDEXEDPOLYGONALFACE((40, 41, 42)); +#2221 = IFCINDEXEDPOLYGONALFACE((40, 43, 44)); +#2222 = IFCINDEXEDPOLYGONALFACE((45, 46, 47)); +#2223 = IFCINDEXEDPOLYGONALFACE((45, 48, 49)); +#2224 = IFCINDEXEDPOLYGONALFACE((50, 51, 52)); +#2225 = IFCINDEXEDPOLYGONALFACE((50, 53, 54)); +#2226 = IFCINDEXEDPOLYGONALFACE((55, 56, 57)); +#2227 = IFCINDEXEDPOLYGONALFACE((55, 58, 59)); +#2228 = IFCINDEXEDPOLYGONALFACE((60, 61, 62)); +#2229 = IFCINDEXEDPOLYGONALFACE((60, 63, 64)); +#2230 = IFCINDEXEDPOLYGONALFACE((65, 66, 67)); +#2231 = IFCINDEXEDPOLYGONALFACE((65, 68, 69)); +#2232 = IFCINDEXEDPOLYGONALFACE((70, 71, 72)); +#2233 = IFCINDEXEDPOLYGONALFACE((70, 73, 74)); +#2234 = IFCINDEXEDPOLYGONALFACE((75, 76, 77)); +#2235 = IFCINDEXEDPOLYGONALFACE((75, 78, 79)); +#2236 = IFCINDEXEDPOLYGONALFACE((80, 81, 82)); +#2237 = IFCINDEXEDPOLYGONALFACE((83, 84, 85)); +#2238 = IFCINDEXEDPOLYGONALFACE((86, 87, 88)); +#2239 = IFCINDEXEDPOLYGONALFACE((89, 90, 91)); +#2240 = IFCINDEXEDPOLYGONALFACE((92, 93, 94)); +#2241 = IFCINDEXEDPOLYGONALFACE((95, 96, 97)); +#2242 = IFCINDEXEDPOLYGONALFACE((98, 99, 100)); +#2243 = IFCINDEXEDPOLYGONALFACE((101, 102, 103)); +#2244 = IFCINDEXEDPOLYGONALFACE((104, 105, 106)); +#2245 = IFCINDEXEDPOLYGONALFACE((107, 108, 109)); +#2246 = IFCINDEXEDPOLYGONALFACE((110, 111, 112)); +#2247 = IFCINDEXEDPOLYGONALFACE((113, 114, 115)); +#2248 = IFCINDEXEDPOLYGONALFACE((116, 117, 118)); +#2249 = IFCINDEXEDPOLYGONALFACE((119, 120, 121)); +#2250 = IFCINDEXEDPOLYGONALFACE((122, 123, 124)); +#2251 = IFCINDEXEDPOLYGONALFACE((125, 126, 127)); +#2252 = IFCINDEXEDPOLYGONALFACE((128, 129, 130)); +#2253 = IFCINDEXEDPOLYGONALFACE((131, 132, 133)); +#2254 = IFCINDEXEDPOLYGONALFACE((134, 135, 136)); +#2255 = IFCINDEXEDPOLYGONALFACE((137, 138, 139)); +#2256 = IFCINDEXEDPOLYGONALFACE((140, 141, 142)); +#2257 = IFCINDEXEDPOLYGONALFACE((143, 144, 145)); +#2258 = IFCINDEXEDPOLYGONALFACE((146, 147, 148)); +#2259 = IFCINDEXEDPOLYGONALFACE((149, 150, 151)); +#2260 = IFCINDEXEDPOLYGONALFACE((152, 153, 154)); +#2261 = IFCINDEXEDPOLYGONALFACE((155, 156, 157)); +#2262 = IFCINDEXEDPOLYGONALFACE((158, 159, 160)); +#2263 = IFCINDEXEDPOLYGONALFACE((161, 162, 163)); +#2264 = IFCINDEXEDPOLYGONALFACE((164, 165, 166)); +#2265 = IFCINDEXEDPOLYGONALFACE((167, 168, 169)); +#2266 = IFCINDEXEDPOLYGONALFACE((170, 171, 172)); +#2267 = IFCSTYLEDITEM(#2203, (#67), $); +#2268 = IFCSITE('0RX$Ll4DT2Mu_tepecO2Cl', #1, 'Default Site Name', $, $, #2269, $, $, .ELEMENT., $, $, $, $, $); +#2269 = IFCLOCALPLACEMENT($, #2272); +#2270 = IFCDIRECTION((0., 0., 1.)); +#2271 = IFCDIRECTION((1., 0., 0.)); +#2272 = IFCAXIS2PLACEMENT3D(#15, #2270, #2271); +#2273 = IFCRAILWAY('382GLQs9z2x9xXxKh7gZqf', #1, 'Default Railway Name', $, $, #2274, $, $, .ELEMENT., .NOTDEFINED.); +#2274 = IFCLOCALPLACEMENT(#2269, #2277); +#2275 = IFCDIRECTION((0., 0., 1.)); +#2276 = IFCDIRECTION((1., 0., 0.)); +#2277 = IFCAXIS2PLACEMENT3D(#15, #2275, #2276); +#2278 = IFCALIGNMENT('0jJsLoidn8SB_UvO4H9xXU', #1, 'Track alignment', $, 'Railway track alignment', #2279, #2695, .USERDEFINED.); +#2279 = IFCLOCALPLACEMENT(#2274, #2282); +#2280 = IFCDIRECTION((0., 0., 1.)); +#2281 = IFCDIRECTION((1., 0., 0.)); +#2282 = IFCAXIS2PLACEMENT3D(#15, #2280, #2281); +#2283 = IFCALIGNMENTHORIZONTAL('2cZ1gNoAz1yBknx1uuxxZ4', #1, 'H1', $, $, #2284, $); +#2284 = IFCLOCALPLACEMENT(#2279, #2287); +#2285 = IFCDIRECTION((0., 0., 1.)); +#2286 = IFCDIRECTION((1., 0., 0.)); +#2287 = IFCAXIS2PLACEMENT3D(#15, #2285, #2286); +#2288 = IFCALIGNMENTSEGMENT('3FHEGq6711TulOKVgmhD$$', #1, 'h1', $, $, #2289, #2458, #2293); +#2289 = IFCLOCALPLACEMENT(#2284, #2292); +#2290 = IFCDIRECTION((0., 0., 1.)); +#2291 = IFCDIRECTION((1., 0., 0.)); +#2292 = IFCAXIS2PLACEMENT3D(#15, #2290, #2291); +#2293 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2294, 3.49924145684616E-1, 0., 0., 387.723276296965, $, .LINE.); +#2294 = IFCCARTESIANPOINT((452270.188250964, 4539403.94736217)); +#2295 = IFCALIGNMENTSEGMENT('2NHsvN8xnFnetsLAyLgoE6', #1, 'h2', $, $, #2296, #2469, #2300); +#2296 = IFCLOCALPLACEMENT(#2284, #2299); +#2297 = IFCDIRECTION((0., 0., 1.)); +#2298 = IFCDIRECTION((1., 0., 0.)); +#2299 = IFCAXIS2PLACEMENT3D(#15, #2297, #2298); +#2300 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2301, 3.49924145666035E-1, 0., 1000.00000000019, 39.9999999999925, $, .CLOTHOID.); +#2301 = IFCCARTESIANPOINT((452634.4150006, 4539536.86919573)); +#2302 = IFCALIGNMENTSEGMENT('1$forlm9r0XeFCaEQu3k18', #1, 'h3', $, $, #2303, #2479, #2307); +#2303 = IFCLOCALPLACEMENT(#2284, #2306); +#2304 = IFCDIRECTION((0., 0., 1.)); +#2305 = IFCDIRECTION((1., 0., 0.)); +#2306 = IFCAXIS2PLACEMENT3D(#15, #2304, #2305); +#2307 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2308, 3.69924145685261E-1, 1000.00000000019, 1000.00000000019, 193.4644708377, $, .CIRCULARARC.); +#2308 = IFCCARTESIANPOINT((452671.898028605, 4539550.83220842)); +#2309 = IFCALIGNMENTSEGMENT('3gVJrcRzD8yPNgP0ikTfG9', #1, 'h4', $, $, #2310, #2489, #2314); +#2310 = IFCLOCALPLACEMENT(#2284, #2313); +#2311 = IFCDIRECTION((0., 0., 1.)); +#2312 = IFCDIRECTION((1., 0., 0.)); +#2313 = IFCAXIS2PLACEMENT3D(#15, #2311, #2312); +#2314 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2315, 5.63388616520267E-1, 1000.00000000019, 0., 39.9999999999925, $, .CLOTHOID.); +#2315 = IFCCARTESIANPOINT((452844.407484098, 4539637.7367177)); +#2316 = IFCALIGNMENTSEGMENT('1xJTpJ_Pf4MgsRIKvPi5gn', #1, 'h5', $, $, #2317, #2499, #2321); +#2317 = IFCLOCALPLACEMENT(#2284, #2320); +#2318 = IFCDIRECTION((0., 0., 1.)); +#2319 = IFCDIRECTION((1., 0., 0.)); +#2320 = IFCAXIS2PLACEMENT3D(#15, #2318, #2319); +#2321 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2322, 5.83388616530347E-1, 0., 0., 38.9815155434665, $, .LINE.); +#2322 = IFCCARTESIANPOINT((452877.937071617, 4539659.54749193)); +#2323 = IFCALIGNMENTSEGMENT('2$60n12oX9EvMg5EOU4ipN', #1, 'h6', $, $, #2324, #2509, #2328); +#2324 = IFCLOCALPLACEMENT(#2284, #2327); +#2325 = IFCDIRECTION((0., 0., 1.)); +#2326 = IFCDIRECTION((1., 0., 0.)); +#2327 = IFCAXIS2PLACEMENT3D(#15, #2325, #2326); +#2328 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2329, 5.83388616540598E-1, -999.999999999704, -999.999999999704, 40.0000000000119, $, .CIRCULARARC.); +#2329 = IFCCARTESIANPOINT((452910.471075989, 4539681.02066388)); +#2330 = IFCALIGNMENTSEGMENT('3Du4AHHdjBNv5lUaO5EO$X', #1, 'h7', $, $, #2331, #2519, #2335); +#2331 = IFCLOCALPLACEMENT(#2284, #2334); +#2332 = IFCDIRECTION((0., 0., 1.)); +#2333 = IFCDIRECTION((1., 0., 0.)); +#2334 = IFCAXIS2PLACEMENT3D(#15, #2332, #2333); +#2335 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2336, 5.63388616525506E-1, -999.999999999703, -999.999999999703, 109.431749924283, $, .CIRCULARARC.); +#2336 = IFCCARTESIANPOINT((452944.000663509, 4539702.83143812)); +#2337 = IFCALIGNMENTSEGMENT('34wk308Ir2uhVEZ4bCKB5y', #1, 'h8', $, $, #2338, #2529, #2342); +#2338 = IFCLOCALPLACEMENT(#2284, #2341); +#2339 = IFCDIRECTION((0., 0., 1.)); +#2340 = IFCDIRECTION((1., 0., 0.)); +#2341 = IFCAXIS2PLACEMENT3D(#15, #2339, #2340); +#2342 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2343, 4.53956866538193E-1, -999.999999999704, 0., 40.0000000000119, $, .CLOTHOID.); +#2343 = IFCCARTESIANPOINT((453039.529760076, 4539756.10013158)); +#2344 = IFCALIGNMENTSEGMENT('3jQmXjgSLEDBBjEuIhHqVc', #1, 'h9', $, $, #2345, #2539, #2349); +#2345 = IFCLOCALPLACEMENT(#2284, #2348); +#2346 = IFCDIRECTION((0., 0., 1.)); +#2347 = IFCDIRECTION((1., 0., 0.)); +#2348 = IFCAXIS2PLACEMENT3D(#15, #2346, #2347); +#2349 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2350, 4.33956866598294E-1, 0., 0., 139.771058670099, $, .LINE.); +#2350 = IFCCARTESIANPOINT((453075.708553277, 4539773.15996848)); +#2351 = IFCRELNESTS('1ilXC31gv24RsD7vxgiNrJ', #1, 'Linear Element Nesting', $, #2283, (#2288, #2295, #2302, #2309, #2316, #2323, #2330, #2337, #2344, #4001)); +#2352 = IFCALIGNMENTVERTICAL('25dN6gw198hQN0Ig1Sg$Ew', #1, 'V1', $, $, #2353, $); +#2353 = IFCLOCALPLACEMENT(#2279, #2356); +#2354 = IFCDIRECTION((0., 0., 1.)); +#2355 = IFCDIRECTION((1., 0., 0.)); +#2356 = IFCAXIS2PLACEMENT3D(#15, #2354, #2355); +#2357 = IFCALIGNMENTSEGMENT('0t59UGHs9DHxT45UBjGnHV', #1, 'v1', $, $, #2358, #2552, #2362); +#2358 = IFCLOCALPLACEMENT(#2353, #2361); +#2359 = IFCDIRECTION((0., 0., 1.)); +#2360 = IFCDIRECTION((1., 0., 0.)); +#2361 = IFCAXIS2PLACEMENT3D(#15, #2359, #2360); +#2362 = IFCALIGNMENTVERTICALSEGMENT($, $, 0., 478.004489216701, 5., 8.82874350307952E-17, 8.82874350307952E-17, $, .CONSTANTGRADIENT.); +#2363 = IFCALIGNMENTSEGMENT('1bYDE0qKX12RvlDsUHCZ52', #1, 'v2', $, $, #2364, #2562, #2368); +#2364 = IFCLOCALPLACEMENT(#2353, #2367); +#2365 = IFCDIRECTION((0., 0., 1.)); +#2366 = IFCDIRECTION((1., 0., 0.)); +#2367 = IFCAXIS2PLACEMENT3D(#15, #2365, #2366); +#2368 = IFCALIGNMENTVERTICALSEGMENT($, $, 478.004489216701, 49.997500186954, 5.00000000000004, 8.82874350307952E-17, -9.99999999989088E-3, -5000., .CIRCULARARC.); +#2369 = IFCALIGNMENTSEGMENT('23QkxxVZf1PxMYKIUbyiOF', #1, 'v3', $, $, #2370, #2572, #2374); +#2370 = IFCLOCALPLACEMENT(#2353, #2373); +#2371 = IFCDIRECTION((0., 0., 1.)); +#2372 = IFCDIRECTION((1., 0., 0.)); +#2373 = IFCAXIS2PLACEMENT3D(#15, #2371, #2372); +#2374 = IFCALIGNMENTVERTICALSEGMENT($, $, 528.001989403655, 250.003749691421, 4.75001874844306, -9.99999999989088E-3, -9.99999999989088E-3, $, .CONSTANTGRADIENT.); +#2375 = IFCALIGNMENTSEGMENT('1pvHuJqhL6MOqlkuT5Ir26', #1, 'v4', $, $, #2376, #2582, #2380); +#2376 = IFCLOCALPLACEMENT(#2353, #2379); +#2377 = IFCDIRECTION((0., 0., 1.)); +#2378 = IFCDIRECTION((1., 0., 0.)); +#2379 = IFCAXIS2PLACEMENT3D(#15, #2377, #2378); +#2380 = IFCALIGNMENTVERTICALSEGMENT($, $, 778.005739095076, 49.9975001869751, 2.24998125155613, -9.99999999989088E-3, 4.24043141700466E-15, 5000., .CIRCULARARC.); +#2381 = IFCALIGNMENTSEGMENT('2qy7e2h$X209837c8g$Nh5', #1, 'v5', $, $, #2382, #2592, #2386); +#2382 = IFCLOCALPLACEMENT(#2353, #2385); +#2383 = IFCDIRECTION((0., 0., 1.)); +#2384 = IFCDIRECTION((1., 0., 0.)); +#2385 = IFCAXIS2PLACEMENT3D(#15, #2383, #2384); +#2386 = IFCALIGNMENTVERTICALSEGMENT($, $, 828.003239282051, 201.368824969034, 1.99999999999915, 4.24043141700466E-15, 4.24043141700466E-15, $, .CONSTANTGRADIENT.); +#2387 = IFCRELNESTS('04$gGfdYrFxRq$sBq6_Ma1', #1, 'Linear Element Nesting', $, #2352, (#2357, #2363, #2369, #2375, #2381, #5001)); +#2388 = IFCALIGNMENTCANT('0kwyzC0yb8ehcYFOVppIP9', #1, 'C1', $, $, #2389, $, 1.435); +#2389 = IFCLOCALPLACEMENT(#2279, #2392); +#2390 = IFCDIRECTION((0., 0., 1.)); +#2391 = IFCDIRECTION((1., 0., 0.)); +#2392 = IFCAXIS2PLACEMENT3D(#15, #2390, #2391); +#2393 = IFCALIGNMENTSEGMENT('0o7VCJvavDdA9xYwz5oBRK', #1, 'c1', $, $, #2394, #2603, #2398); +#2394 = IFCLOCALPLACEMENT(#2389, #2397); +#2395 = IFCDIRECTION((0., 0., 1.)); +#2396 = IFCDIRECTION((1., 0., 0.)); +#2397 = IFCAXIS2PLACEMENT3D(#15, #2395, #2396); +#2398 = IFCALIGNMENTCANTSEGMENT($, $, 0., 387.723276296965, 0., 0., 0., 0., .CONSTANTCANT.); +#2399 = IFCALIGNMENTSEGMENT('2pwzDsynP3ggq3OBYyg7wr', #1, 'c2', $, $, #2400, #2614, #2404); +#2400 = IFCLOCALPLACEMENT(#2389, #2403); +#2401 = IFCDIRECTION((0., 0., 1.)); +#2402 = IFCDIRECTION((1., 0., 0.)); +#2403 = IFCAXIS2PLACEMENT3D(#15, #2401, #2402); +#2404 = IFCALIGNMENTCANTSEGMENT($, $, 387.723276296965, 39.9999999999926, 0., -3.E-2, 0., 3.E-2, .LINEARTRANSITION.); +#2405 = IFCALIGNMENTSEGMENT('2tLO9I_A1DbQwnSyol1_P8', #1, 'c3', $, $, #2406, #2625, #2410); +#2406 = IFCLOCALPLACEMENT(#2389, #2409); +#2407 = IFCDIRECTION((0., 0., 1.)); +#2408 = IFCDIRECTION((1., 0., 0.)); +#2409 = IFCAXIS2PLACEMENT3D(#15, #2407, #2408); +#2410 = IFCALIGNMENTCANTSEGMENT($, $, 427.723276296957, 193.4644708377, -3.E-2, -3.E-2, 3.E-2, 3.E-2, .CONSTANTCANT.); +#2411 = IFCALIGNMENTSEGMENT('1CWfkLVFXCo8JV8zZdrLfo', #1, 'c4', $, $, #2412, #2636, #2416); +#2412 = IFCLOCALPLACEMENT(#2389, #2415); +#2413 = IFCDIRECTION((0., 0., 1.)); +#2414 = IFCDIRECTION((1., 0., 0.)); +#2415 = IFCAXIS2PLACEMENT3D(#15, #2413, #2414); +#2416 = IFCALIGNMENTCANTSEGMENT($, $, 621.187747134657, 39.9999999999925, -3.E-2, 0., 3.E-2, 0., .LINEARTRANSITION.); +#2417 = IFCALIGNMENTSEGMENT('08LKrvnvj079Xxjd3KbIy9', #1, 'c5', $, $, #2418, #2647, #2422); +#2418 = IFCLOCALPLACEMENT(#2389, #2421); +#2419 = IFCDIRECTION((0., 0., 1.)); +#2420 = IFCDIRECTION((1., 0., 0.)); +#2421 = IFCAXIS2PLACEMENT3D(#15, #2419, #2420); +#2422 = IFCALIGNMENTCANTSEGMENT($, $, 661.18774713465, 38.9815155434666, 0., 0., 0., 0., .CONSTANTCANT.); +#2423 = IFCALIGNMENTSEGMENT('1_39nu3q10EgiUF2uuPA6u', #1, 'c6', $, $, #2424, #2658, #2428); +#2424 = IFCLOCALPLACEMENT(#2389, #2427); +#2425 = IFCDIRECTION((0., 0., 1.)); +#2426 = IFCDIRECTION((1., 0., 0.)); +#2427 = IFCAXIS2PLACEMENT3D(#15, #2425, #2426); +#2428 = IFCALIGNMENTCANTSEGMENT($, $, 700.169262678116, 40.0000000000118, 0., 3.E-2, 0., -3.E-2, .LINEARTRANSITION.); +#2429 = IFCALIGNMENTSEGMENT('2e6W3TPHX9jAKv_l1faiaw', #1, 'c7', $, $, #2430, #2669, #2434); +#2430 = IFCLOCALPLACEMENT(#2389, #2433); +#2431 = IFCDIRECTION((0., 0., 1.)); +#2432 = IFCDIRECTION((1., 0., 0.)); +#2433 = IFCAXIS2PLACEMENT3D(#15, #2431, #2432); +#2434 = IFCALIGNMENTCANTSEGMENT($, $, 740.169262678128, 109.431749924283, 3.E-2, 3.E-2, -3.E-2, -3.E-2, .CONSTANTCANT.); +#2435 = IFCALIGNMENTSEGMENT('33RHONOYr9mBgFO3_aTR9K', #1, 'c8', $, $, #2436, #2680, #2440); +#2436 = IFCLOCALPLACEMENT(#2389, #2439); +#2437 = IFCDIRECTION((0., 0., 1.)); +#2438 = IFCDIRECTION((1., 0., 0.)); +#2439 = IFCAXIS2PLACEMENT3D(#15, #2437, #2438); +#2440 = IFCALIGNMENTCANTSEGMENT($, $, 849.601012602411, 40.0000000000117, 3.E-2, 0., -3.E-2, 0., .LINEARTRANSITION.); +#2441 = IFCALIGNMENTSEGMENT('0v2fCSQ8H1qejZRDkDUoz1', #1, 'c9', $, $, #2442, #2691, #2446); +#2442 = IFCLOCALPLACEMENT(#2389, #2445); +#2443 = IFCDIRECTION((0., 0., 1.)); +#2444 = IFCDIRECTION((1., 0., 0.)); +#2445 = IFCAXIS2PLACEMENT3D(#15, #2443, #2444); +#2446 = IFCALIGNMENTCANTSEGMENT($, $, 889.601012602423, 139.771058670099, 0., 0., 0., 0., .CONSTANTCANT.); +#2447 = IFCRELNESTS('3SJW0HLK1AbhvrM4yf9rnX', #1, 'Linear Element Nesting', $, #2388, (#2393, #2399, #2405, #2411, #2417, #2423, #2429, #2435, #2441, #6001)); +#2448 = IFCRELNESTS('1P8GkOGRn8ihS6H_8pZ38p', #1, 'Alignment Nesting', $, #2278, (#2283, #2352, #2388)); +#2449 = IFCCOMPOSITECURVE((#2450, #2461, #2471, #2481, #2491, #2501, #2511, #2521, #2531, #4201), .U.); +#2450 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2453, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(387.723276296965), #2454); +#2451 = IFCCARTESIANPOINT((452270.188250964, 4539403.94736217)); +#2452 = IFCDIRECTION((9.39398720423267E-1, 3.42826550995001E-1)); +#2453 = IFCAXIS2PLACEMENT2D(#2451, #2452); +#2454 = IFCLINE(#2455, #2456); +#2455 = IFCCARTESIANPOINT((0., 0.)); +#2456 = IFCVECTOR(#2457, 1.); +#2457 = IFCDIRECTION((9.39398720423267E-1, 3.42826550995001E-1)); +#2458 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2460)); +#2459 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#2460 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2450)); +#2461 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2464, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(39.9999999999925), #2465); +#2462 = IFCCARTESIANPOINT((452634.4150006, 4539536.86919573)); +#2463 = IFCDIRECTION((9.39398720429637E-1, 3.42826550977546E-1)); +#2464 = IFCAXIS2PLACEMENT2D(#2462, #2463); +#2465 = IFCCLOTHOID(#2468, 200.); +#2466 = IFCCARTESIANPOINT((0., 0.)); +#2467 = IFCDIRECTION((1., 0.)); +#2468 = IFCAXIS2PLACEMENT2D(#2466, #2467); +#2469 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2470)); +#2470 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2461)); +#2471 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2474, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(193.4644708377), #2475); +#2472 = IFCCARTESIANPOINT((452671.898028605, 4539550.83220842)); +#2473 = IFCDIRECTION((9.3235477301455E-1, 3.61544709872771E-1)); +#2474 = IFCAXIS2PLACEMENT2D(#2472, #2473); +#2475 = IFCCIRCLE(#2478, 1000.00000000019); +#2476 = IFCCARTESIANPOINT((-361.544709872839, 932.354773014725)); +#2477 = IFCDIRECTION((3.61544709872771E-1, -9.3235477301455E-1)); +#2478 = IFCAXIS2PLACEMENT2D(#2476, #2477); +#2479 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2480)); +#2480 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2471)); +#2481 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2484, IFCLENGTHMEASURE(-39.9999999999925), IFCLENGTHMEASURE(39.9999999999925), #2485); +#2482 = IFCCARTESIANPOINT((452844.407484098, 4539637.7367177)); +#2483 = IFCDIRECTION((8.45450263739829E-1, 5.3405416536364E-1)); +#2484 = IFCAXIS2PLACEMENT2D(#2482, #2483); +#2485 = IFCCLOTHOID(#2488, -200.); +#2486 = IFCCARTESIANPOINT((0., 0.)); +#2487 = IFCDIRECTION((1., 0.)); +#2488 = IFCAXIS2PLACEMENT2D(#2486, #2487); +#2489 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2490)); +#2490 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2481)); +#2491 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2494, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(38.9815155434665), #2495); +#2492 = IFCCARTESIANPOINT((452877.937071617, 4539659.54749193)); +#2493 = IFCDIRECTION((8.34600808068494E-1, 5.50855236129617E-1)); +#2494 = IFCAXIS2PLACEMENT2D(#2492, #2493); +#2495 = IFCLINE(#2496, #2497); +#2496 = IFCCARTESIANPOINT((0., 0.)); +#2497 = IFCVECTOR(#2498, 1.); +#2498 = IFCDIRECTION((8.34600808068494E-1, 5.50855236129617E-1)); +#2499 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2500)); +#2500 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2491)); +#2501 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2504, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(40.0000000000119), #2505); +#2502 = IFCCARTESIANPOINT((452910.471075989, 4539681.02066388)); +#2503 = IFCDIRECTION((8.34600808062847E-1, 5.50855236138173E-1)); +#2504 = IFCAXIS2PLACEMENT2D(#2502, #2503); +#2505 = IFCCLOTHOID(#2508, -200.); +#2506 = IFCCARTESIANPOINT((0., 0.)); +#2507 = IFCDIRECTION((1., 0.)); +#2508 = IFCAXIS2PLACEMENT2D(#2506, #2507); +#2509 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2510)); +#2510 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2501)); +#2511 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2514, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(-109.431749924), #2515); +#2512 = IFCCARTESIANPOINT((452944.000663509, 4539702.83143812)); +#2513 = IFCDIRECTION((8.45450263737031E-1, 5.34054165368069E-1)); +#2514 = IFCAXIS2PLACEMENT2D(#2512, #2513); +#2515 = IFCCIRCLE(#2518, 999.999999999703); +#2516 = IFCCARTESIANPOINT((534.054165367911, -845.45026373678)); +#2517 = IFCDIRECTION((-5.34054165368069E-1, 8.45450263737031E-1)); +#2518 = IFCAXIS2PLACEMENT2D(#2516, #2517); +#2519 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2520)); +#2520 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2511)); +#2521 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2524, IFCLENGTHMEASURE(-40.0000000000119), IFCLENGTHMEASURE(40.0000000000119), #2525); +#2522 = IFCCARTESIANPOINT((453039.529760076, 4539756.10013158)); +#2523 = IFCDIRECTION((8.98718957228976E-1, 4.38525068744379E-1)); +#2524 = IFCAXIS2PLACEMENT2D(#2522, #2523); +#2525 = IFCCLOTHOID(#2528, 200.); +#2526 = IFCCARTESIANPOINT((0., 0.)); +#2527 = IFCDIRECTION((1., 0.)); +#2528 = IFCAXIS2PLACEMENT2D(#2526, #2527); +#2529 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2530)); +#2530 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2521)); +#2531 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2534, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(139.771058670099), #2535); +#2532 = IFCCARTESIANPOINT((453075.708553277, 4539773.15996848)); +#2533 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); +#2534 = IFCAXIS2PLACEMENT2D(#2532, #2533); +#2535 = IFCLINE(#2536, #2537); +#2536 = IFCCARTESIANPOINT((0., 0.)); +#2537 = IFCVECTOR(#2538, 1.); +#2538 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); +#2539 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2540)); +#2540 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2531)); +#2543 = IFCGRADIENTCURVE((#2544, #2554, #2564, #2574, #2584, #5201), .U., #2449, $); +#2544 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2547, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(478.004489216701), #2548); +#2545 = IFCCARTESIANPOINT((0., 5.)); +#2546 = IFCDIRECTION((1., 8.82874350307952E-17)); +#2547 = IFCAXIS2PLACEMENT2D(#2545, #2546); +#2548 = IFCLINE(#2549, #2550); +#2549 = IFCCARTESIANPOINT((0., 0.)); +#2550 = IFCVECTOR(#2551, 1.); +#2551 = IFCDIRECTION((1., 8.82874350307952E-17)); +#2552 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2553)); +#2553 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2544)); +#2554 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2557, IFCLENGTHMEASURE(7853.98163398), IFCLENGTHMEASURE(-49.9983334328), #2558); +#2555 = IFCCARTESIANPOINT((478.004489216701, 5.00000000000004)); +#2556 = IFCDIRECTION((1., 8.82874350307952E-17)); +#2557 = IFCAXIS2PLACEMENT2D(#2555, #2556); +#2558 = IFCCIRCLE(#2561, 5000.00000000147); +#2559 = IFCCARTESIANPOINT((-3.06161699786929E-13, -5000.00000000147)); +#2560 = IFCDIRECTION((1., 0.)); +#2561 = IFCAXIS2PLACEMENT2D(#2559, #2560); +#2562 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2563)); +#2563 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2554)); +#2564 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2567, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(250.016249566416), #2568); +#2565 = IFCCARTESIANPOINT((528.001989403655, 4.75001874844306)); +#2566 = IFCDIRECTION((9.99950003749689E-1, -9.99950003738777E-3)); +#2567 = IFCAXIS2PLACEMENT2D(#2565, #2566); +#2568 = IFCLINE(#2569, #2570); +#2569 = IFCCARTESIANPOINT((0., 0.)); +#2570 = IFCVECTOR(#2571, 1.); +#2571 = IFCDIRECTION((9.99950003749689E-1, -9.99950003738777E-3)); +#2572 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2573)); +#2573 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2564)); +#2574 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2577, IFCLENGTHMEASURE(23511.9465684978), IFCLENGTHMEASURE(49.9983334328186), #2578); +#2575 = IFCCARTESIANPOINT((778.005739095076, 2.24998125155613)); +#2576 = IFCDIRECTION((9.99950003749689E-1, -9.99950003738777E-3)); +#2577 = IFCAXIS2PLACEMENT2D(#2575, #2576); +#2578 = IFCCIRCLE(#2581, 5000.00000000151); +#2579 = IFCCARTESIANPOINT((49.9975001869539, 4999.75001874995)); +#2580 = IFCDIRECTION((1., 0.)); +#2581 = IFCAXIS2PLACEMENT2D(#2579, #2580); +#2582 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2583)); +#2583 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2574)); +#2584 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2587, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(201.368824969034), #2588); +#2585 = IFCCARTESIANPOINT((828.003239282051, 1.99999999999915)); +#2586 = IFCDIRECTION((1., 4.24043141700466E-15)); +#2587 = IFCAXIS2PLACEMENT2D(#2585, #2586); +#2588 = IFCLINE(#2589, #2590); +#2589 = IFCCARTESIANPOINT((0., 0.)); +#2590 = IFCVECTOR(#2591, 1.); +#2591 = IFCDIRECTION((1., 4.24043141700466E-15)); +#2592 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2593)); +#2593 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2584)); +#2594 = IFCSEGMENTEDREFERENCECURVE((#2595, #2605, #2616, #2627, #2638, #2649, #2660, #2671, #2682, #6201), .U., #2543, $); +#2595 = IFCCURVESEGMENT(.CONTINUOUS., #2598, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(387.723276296965), #2599); +#2596 = IFCDIRECTION((0., 0., 1.)); +#2597 = IFCDIRECTION((1., 0., 0.)); +#2598 = IFCAXIS2PLACEMENT3D(#15, #2596, #2597); +#2599 = IFCLINE(#2600, #2601); +#2600 = IFCCARTESIANPOINT((0., 0.)); +#2601 = IFCVECTOR(#2602, 1.); +#2602 = IFCDIRECTION((1., 0.)); +#2603 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2604)); +#2604 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2595)); +#2605 = IFCCURVESEGMENT(.CONTINUOUS., #2609, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(39.9999999999926), #2599); +#2606 = IFCCARTESIANPOINT((387.723276296965, 0., 0.)); +#2607 = IFCDIRECTION((0., 0., 1.)); +#2608 = IFCDIRECTION((1., 0., 0.)); +#2609 = IFCAXIS2PLACEMENT3D(#2606, #2607, #2608); +#2610 = IFCCLOTHOID(#2613, 39.9999999999926); +#2611 = IFCCARTESIANPOINT((0., 0.)); +#2612 = IFCDIRECTION((1., 0.)); +#2613 = IFCAXIS2PLACEMENT2D(#2611, #2612); +#2614 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2615)); +#2615 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2605)); +#2616 = IFCCURVESEGMENT(.CONTINUOUS., #2620, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(193.4644708377), #2621); +#2617 = IFCCARTESIANPOINT((427.723276296957, 0., 0.)); +#2618 = IFCDIRECTION((-0., 4.17753461681079E-2, 9.99127029187247E-1)); +#2619 = IFCDIRECTION((1., 0., 0.)); +#2620 = IFCAXIS2PLACEMENT3D(#2617, #2618, #2619); +#2621 = IFCLINE(#2622, #2623); +#2622 = IFCCARTESIANPOINT((0., 0.)); +#2623 = IFCVECTOR(#2624, 1.); +#2624 = IFCDIRECTION((1., 0.)); +#2625 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2626)); +#2626 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2616)); +#2627 = IFCCURVESEGMENT(.CONTINUOUS., #2631, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(39.9999999999925), #2621); +#2628 = IFCCARTESIANPOINT((621.187747134657, 0., 0.)); +#2629 = IFCDIRECTION((-0., 4.17753461681079E-2, 9.99127029187247E-1)); +#2630 = IFCDIRECTION((1., 0., 0.)); +#2631 = IFCAXIS2PLACEMENT3D(#2628, #2629, #2630); +#2632 = IFCCLOTHOID(#2635, 39.9999999999925); +#2633 = IFCCARTESIANPOINT((0., 0.)); +#2634 = IFCDIRECTION((1., 0.)); +#2635 = IFCAXIS2PLACEMENT2D(#2633, #2634); +#2636 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2637)); +#2637 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2627)); +#2638 = IFCCURVESEGMENT(.CONTINUOUS., #2642, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(38.9815155434666), #2643); +#2639 = IFCCARTESIANPOINT((661.18774713465, 0., 0.)); +#2640 = IFCDIRECTION((0., 0., 1.)); +#2641 = IFCDIRECTION((1., 0., 0.)); +#2642 = IFCAXIS2PLACEMENT3D(#2639, #2640, #2641); +#2643 = IFCLINE(#2644, #2645); +#2644 = IFCCARTESIANPOINT((0., 0.)); +#2645 = IFCVECTOR(#2646, 1.); +#2646 = IFCDIRECTION((1., 0.)); +#2647 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2648)); +#2648 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2638)); +#2649 = IFCCURVESEGMENT(.CONTINUOUS., #2653, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(40.0000000000118), #2643); +#2650 = IFCCARTESIANPOINT((700.169262678116, 0., 0.)); +#2651 = IFCDIRECTION((0., 0., 1.)); +#2652 = IFCDIRECTION((1., 0., 0.)); +#2653 = IFCAXIS2PLACEMENT3D(#2650, #2651, #2652); +#2654 = IFCCLOTHOID(#2657, 40.0000000000118); +#2655 = IFCCARTESIANPOINT((0., 0.)); +#2656 = IFCDIRECTION((1., 0.)); +#2657 = IFCAXIS2PLACEMENT2D(#2655, #2656); +#2658 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2659)); +#2659 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2649)); +#2660 = IFCCURVESEGMENT(.CONTINUOUS., #2664, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(109.431749924283), #2665); +#2661 = IFCCARTESIANPOINT((740.169262678128, 0., 0.)); +#2662 = IFCDIRECTION((0., -4.17753461681079E-2, 9.99127029187247E-1)); +#2663 = IFCDIRECTION((1., 0., 0.)); +#2664 = IFCAXIS2PLACEMENT3D(#2661, #2662, #2663); +#2665 = IFCLINE(#2666, #2667); +#2666 = IFCCARTESIANPOINT((0., 0.)); +#2667 = IFCVECTOR(#2668, 1.); +#2668 = IFCDIRECTION((1., 0.)); +#2669 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2670)); +#2670 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2660)); +#2671 = IFCCURVESEGMENT(.CONTINUOUS., #2675, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(40.0000000000117), #2665); +#2672 = IFCCARTESIANPOINT((849.601012602411, 0., 0.)); +#2673 = IFCDIRECTION((0., -4.17753461681079E-2, 9.99127029187247E-1)); +#2674 = IFCDIRECTION((1., 0., 0.)); +#2675 = IFCAXIS2PLACEMENT3D(#2672, #2673, #2674); +#2676 = IFCCLOTHOID(#2679, 40.0000000000117); +#2677 = IFCCARTESIANPOINT((0., 0.)); +#2678 = IFCDIRECTION((1., 0.)); +#2679 = IFCAXIS2PLACEMENT2D(#2677, #2678); +#2680 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2681)); +#2681 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2671)); +#2682 = IFCCURVESEGMENT(.CONTINUOUS., #2686, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(139.771058670099), #2687); +#2683 = IFCCARTESIANPOINT((889.601012602423, 0., 0.)); +#2684 = IFCDIRECTION((0., 0., 1.)); +#2685 = IFCDIRECTION((1., 0., 0.)); +#2686 = IFCAXIS2PLACEMENT3D(#2683, #2684, #2685); +#2687 = IFCLINE(#2688, #2689); +#2688 = IFCCARTESIANPOINT((0., 0.)); +#2689 = IFCVECTOR(#2690, 1.); +#2690 = IFCDIRECTION((1., 0.)); +#2691 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2692)); +#2692 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2682)); +#2695 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2696, #2697)); +#2696 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Curve3D', (#2594)); +#2697 = IFCSHAPEREPRESENTATION(#2459, 'FootPrint', 'Curve2D', (#2449)); +#2698 = IFCREFERENT('3t_W_rZgvCfQ$zs2L2Bu$9', #1, 'StaStation', $, $, #2702, #2705, .STATION.); +#2699 = IFCPROPERTYSET('0xvU3QpS5ENwl0rIpcuXAI', #1, 'Pset_Stationing', $, (#2700)); +#2700 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-153.1), $); +#2701 = IFCRELDEFINESBYPROPERTIES('2Bjmd6iZnFueQWNGcZluMM', #1, 'Object to Properties', 'Object to Properties Relation', (#2698), #2699); +#2702 = IFCLINEARPLACEMENT(#2279, #2703, $); +#2703 = IFCAXIS2PLACEMENTLINEAR(#2704, $, $); +#2704 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.), 0., 0., 0., #2543); +#2705 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2711)); +#2706 = IFCMAPPEDITEM(#2198, #2707); +#2707 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2708, #2709, #15, 1., #2710, 1., 1.); +#2708 = IFCDIRECTION((0., 1., 0.)); +#2709 = IFCDIRECTION((-1., 0., 0.)); +#2710 = IFCDIRECTION((0., 0., 1.)); +#2711 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2706)); +#2712 = IFCREFERENT('0RxJw6xFX5KxYTCwMMyShP', #1, 'End', $, $, #2716, #2719, .REFERENCEMARKER.); +#2713 = IFCPROPERTYSET('3xcBgZuJX43Q00yUCRC9aq', #1, 'Pset_Stationing', $, (#2714)); +#2714 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(876.2720713), $); +#2715 = IFCRELDEFINESBYPROPERTIES('3jDLE3VjXErBi29wD5I895', #1, 'Object to Properties', 'Object to Properties Relation', (#2712), #2713); +#2716 = IFCLINEARPLACEMENT(#2279, #2717, $); +#2717 = IFCAXIS2PLACEMENTLINEAR(#2718, $, $); +#2718 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(1029.3720713), 0., 0., 0., #2543); +#2719 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2725)); +#2720 = IFCMAPPEDITEM(#2198, #2721); +#2721 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2722, #2723, #15, 1., #2724, 1., 1.); +#2722 = IFCDIRECTION((0., 1., 0.)); +#2723 = IFCDIRECTION((-1., 0., 0.)); +#2724 = IFCDIRECTION((0., 0., 1.)); +#2725 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2720)); +#2726 = IFCREFERENT('0kzVgaRYL4aO638jhHf3nw', #1, 'Referent_001', $, $, #2730, #2733, .REFERENCEMARKER.); +#2727 = IFCPROPERTYSET('3eaixnvJ15gh10KKDtwcdH', #1, 'Pset_Stationing', $, (#2728)); +#2728 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-150.), $); +#2729 = IFCRELDEFINESBYPROPERTIES('0M8B1WIh53jByB4T5ZWRWd', #1, 'Object to Properties', 'Object to Properties Relation', (#2726), #2727); +#2730 = IFCLINEARPLACEMENT(#2279, #2731, $); +#2731 = IFCAXIS2PLACEMENTLINEAR(#2732, $, $); +#2732 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(3.09999999999999), 0., 0., 0., #2543); +#2733 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2739)); +#2734 = IFCMAPPEDITEM(#2198, #2735); +#2735 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2736, #2737, #15, 1., #2738, 1., 1.); +#2736 = IFCDIRECTION((0., 1., 0.)); +#2737 = IFCDIRECTION((-1., 0., 0.)); +#2738 = IFCDIRECTION((0., 0., 1.)); +#2739 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2734)); +#2740 = IFCREFERENT('1BzM8NVcr3vRgvNyQpCaX0', #1, 'Referent_002', $, $, #2744, #2747, .REFERENCEMARKER.); +#2741 = IFCPROPERTYSET('2z2M3P9$53dPUtfGTHHbQl', #1, 'Pset_Stationing', $, (#2742)); +#2742 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-100.), $); +#2743 = IFCRELDEFINESBYPROPERTIES('1hSqUGxgr2Ne1t4HexnbzD', #1, 'Object to Properties', 'Object to Properties Relation', (#2740), #2741); +#2744 = IFCLINEARPLACEMENT(#2279, #2745, $); +#2745 = IFCAXIS2PLACEMENTLINEAR(#2746, $, $); +#2746 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(53.1), 0., 0., 0., #2543); +#2747 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2753)); +#2748 = IFCMAPPEDITEM(#2198, #2749); +#2749 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2750, #2751, #15, 1., #2752, 1., 1.); +#2750 = IFCDIRECTION((0., 1., 0.)); +#2751 = IFCDIRECTION((-1., 0., 0.)); +#2752 = IFCDIRECTION((0., 0., 1.)); +#2753 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2748)); +#2754 = IFCREFERENT('3ElY5TBDT4Xem7HDziuunX', #1, 'Referent_003', $, $, #2758, #2761, .REFERENCEMARKER.); +#2755 = IFCPROPERTYSET('0K_0nw97X6phpepAR83JJT', #1, 'Pset_Stationing', $, (#2756)); +#2756 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-50.), $); +#2757 = IFCRELDEFINESBYPROPERTIES('2sM8iB1nvCDQnWf$FkQf$t', #1, 'Object to Properties', 'Object to Properties Relation', (#2754), #2755); +#2758 = IFCLINEARPLACEMENT(#2279, #2759, $); +#2759 = IFCAXIS2PLACEMENTLINEAR(#2760, $, $); +#2760 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(103.1), 0., 0., 0., #2543); +#2761 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2767)); +#2762 = IFCMAPPEDITEM(#2198, #2763); +#2763 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2764, #2765, #15, 1., #2766, 1., 1.); +#2764 = IFCDIRECTION((0., 1., 0.)); +#2765 = IFCDIRECTION((-1., 0., 0.)); +#2766 = IFCDIRECTION((0., 0., 1.)); +#2767 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2762)); +#2768 = IFCREFERENT('33zeD6dy98BwsgexDioffz', #1, 'Referent_004', $, $, #2772, #2775, .REFERENCEMARKER.); +#2769 = IFCPROPERTYSET('3gjIKjpTr4CAN5TyOKKNbt', #1, 'Pset_Stationing', $, (#2770)); +#2770 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(0.), $); +#2771 = IFCRELDEFINESBYPROPERTIES('2ayBHxJG14NA3R7LxGJrJc', #1, 'Object to Properties', 'Object to Properties Relation', (#2768), #2769); +#2772 = IFCLINEARPLACEMENT(#2279, #2773, $); +#2773 = IFCAXIS2PLACEMENTLINEAR(#2774, $, $); +#2774 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(153.1), 0., 0., 0., #2543); +#2775 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2781)); +#2776 = IFCMAPPEDITEM(#2198, #2777); +#2777 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2778, #2779, #15, 1., #2780, 1., 1.); +#2778 = IFCDIRECTION((0., 1., 0.)); +#2779 = IFCDIRECTION((-1., 0., 0.)); +#2780 = IFCDIRECTION((0., 0., 1.)); +#2781 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2776)); +#2782 = IFCREFERENT('1pZw_b2bP2gBYWPablJgV1', #1, 'Referent_005', $, $, #2786, #2789, .REFERENCEMARKER.); +#2783 = IFCPROPERTYSET('3i9$1Ef6zF2wl9gQd1gUVK', #1, 'Pset_Stationing', $, (#2784)); +#2784 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(50.), $); +#2785 = IFCRELDEFINESBYPROPERTIES('2OZRnOl_H66v2DColUgODm', #1, 'Object to Properties', 'Object to Properties Relation', (#2782), #2783); +#2786 = IFCLINEARPLACEMENT(#2279, #2787, $); +#2787 = IFCAXIS2PLACEMENTLINEAR(#2788, $, $); +#2788 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(203.1), 0., 0., 0., #2543); +#2789 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2795)); +#2790 = IFCMAPPEDITEM(#2198, #2791); +#2791 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2792, #2793, #15, 1., #2794, 1., 1.); +#2792 = IFCDIRECTION((0., 1., 0.)); +#2793 = IFCDIRECTION((-1., 0., 0.)); +#2794 = IFCDIRECTION((0., 0., 1.)); +#2795 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2790)); +#2796 = IFCREFERENT('1A4BCznijFwBz5Vm6aTkLC', #1, 'Referent_006', $, $, #2800, #2803, .REFERENCEMARKER.); +#2797 = IFCPROPERTYSET('13_o95_ET1CuqCI4RDq836', #1, 'Pset_Stationing', $, (#2798)); +#2798 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(100.), $); +#2799 = IFCRELDEFINESBYPROPERTIES('3$IWz3Eo12LwoMweHevGak', #1, 'Object to Properties', 'Object to Properties Relation', (#2796), #2797); +#2800 = IFCLINEARPLACEMENT(#2279, #2801, $); +#2801 = IFCAXIS2PLACEMENTLINEAR(#2802, $, $); +#2802 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(253.1), 0., 0., 0., #2543); +#2803 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2809)); +#2804 = IFCMAPPEDITEM(#2198, #2805); +#2805 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2806, #2807, #15, 1., #2808, 1., 1.); +#2806 = IFCDIRECTION((0., 1., 0.)); +#2807 = IFCDIRECTION((-1., 0., 0.)); +#2808 = IFCDIRECTION((0., 0., 1.)); +#2809 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2804)); +#2810 = IFCREFERENT('0rXwWr3sXDc90XPvBzlnmu', #1, 'Referent_007', $, $, #2814, #2817, .REFERENCEMARKER.); +#2811 = IFCPROPERTYSET('00VzeA61n5j9iD3PlPExBy', #1, 'Pset_Stationing', $, (#2812)); +#2812 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(150.), $); +#2813 = IFCRELDEFINESBYPROPERTIES('3Uz7OhU9j9E8fujugfOpiz', #1, 'Object to Properties', 'Object to Properties Relation', (#2810), #2811); +#2814 = IFCLINEARPLACEMENT(#2279, #2815, $); +#2815 = IFCAXIS2PLACEMENTLINEAR(#2816, $, $); +#2816 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(303.1), 0., 0., 0., #2543); +#2817 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2823)); +#2818 = IFCMAPPEDITEM(#2198, #2819); +#2819 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2820, #2821, #15, 1., #2822, 1., 1.); +#2820 = IFCDIRECTION((0., 1., 0.)); +#2821 = IFCDIRECTION((-1., 0., 0.)); +#2822 = IFCDIRECTION((0., 0., 1.)); +#2823 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2818)); +#2824 = IFCREFERENT('2gAWJoPkr4lvso9LksKZ$$', #1, 'Referent_008', $, $, #2828, #2831, .REFERENCEMARKER.); +#2825 = IFCPROPERTYSET('1oA0cn1$vAKAnjainFXGhw', #1, 'Pset_Stationing', $, (#2826)); +#2826 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(200.), $); +#2827 = IFCRELDEFINESBYPROPERTIES('3gNfghsifFeuv$fF5XEQFn', #1, 'Object to Properties', 'Object to Properties Relation', (#2824), #2825); +#2828 = IFCLINEARPLACEMENT(#2279, #2829, $); +#2829 = IFCAXIS2PLACEMENTLINEAR(#2830, $, $); +#2830 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(353.1), 0., 0., 0., #2543); +#2831 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2837)); +#2832 = IFCMAPPEDITEM(#2198, #2833); +#2833 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2834, #2835, #15, 1., #2836, 1., 1.); +#2834 = IFCDIRECTION((0., 1., 0.)); +#2835 = IFCDIRECTION((-1., 0., 0.)); +#2836 = IFCDIRECTION((0., 0., 1.)); +#2837 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2832)); +#2838 = IFCREFERENT('2qa7BUFY54zhnu0L$HoC0V', #1, 'Referent_009', $, $, #2842, #2845, .REFERENCEMARKER.); +#2839 = IFCPROPERTYSET('1gVtH3Wkj6o9t51U6pZR7R', #1, 'Pset_Stationing', $, (#2840)); +#2840 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(250.), $); +#2841 = IFCRELDEFINESBYPROPERTIES('0P5320X9nCbxuiY2V0V4OB', #1, 'Object to Properties', 'Object to Properties Relation', (#2838), #2839); +#2842 = IFCLINEARPLACEMENT(#2279, #2843, $); +#2843 = IFCAXIS2PLACEMENTLINEAR(#2844, $, $); +#2844 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(403.1), 0., 0., 0., #2543); +#2845 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2851)); +#2846 = IFCMAPPEDITEM(#2198, #2847); +#2847 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2848, #2849, #15, 1., #2850, 1., 1.); +#2848 = IFCDIRECTION((0., 1., 0.)); +#2849 = IFCDIRECTION((-1., 0., 0.)); +#2850 = IFCDIRECTION((0., 0., 1.)); +#2851 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2846)); +#2852 = IFCREFERENT('2jDQ6rZsXClPCsXXukyvUt', #1, 'Referent_010', $, $, #2856, #2859, .REFERENCEMARKER.); +#2853 = IFCPROPERTYSET('1sGsRdZCP27RxReAH42szO', #1, 'Pset_Stationing', $, (#2854)); +#2854 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(300.), $); +#2855 = IFCRELDEFINESBYPROPERTIES('07zPMx4VL1$fV$qY7Ng3bi', #1, 'Object to Properties', 'Object to Properties Relation', (#2852), #2853); +#2856 = IFCLINEARPLACEMENT(#2279, #2857, $); +#2857 = IFCAXIS2PLACEMENTLINEAR(#2858, $, $); +#2858 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(453.1), 0., 0., 0., #2543); +#2859 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2865)); +#2860 = IFCMAPPEDITEM(#2198, #2861); +#2861 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2862, #2863, #15, 1., #2864, 1., 1.); +#2862 = IFCDIRECTION((0., 1., 0.)); +#2863 = IFCDIRECTION((-1., 0., 0.)); +#2864 = IFCDIRECTION((0., 0., 1.)); +#2865 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2860)); +#2866 = IFCREFERENT('0s$Sj6JW198BDi36Diny4l', #1, 'Referent_011', $, $, #2870, #2873, .REFERENCEMARKER.); +#2867 = IFCPROPERTYSET('0kFKrb90f18hqoLK_H5P4Q', #1, 'Pset_Stationing', $, (#2868)); +#2868 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(350.), $); +#2869 = IFCRELDEFINESBYPROPERTIES('1ivJtPi6f6VBYNLE6R02kc', #1, 'Object to Properties', 'Object to Properties Relation', (#2866), #2867); +#2870 = IFCLINEARPLACEMENT(#2279, #2871, $); +#2871 = IFCAXIS2PLACEMENTLINEAR(#2872, $, $); +#2872 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(503.1), 0., 0., 0., #2543); +#2873 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2879)); +#2874 = IFCMAPPEDITEM(#2198, #2875); +#2875 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2876, #2877, #15, 1., #2878, 1., 1.); +#2876 = IFCDIRECTION((0., 1., 0.)); +#2877 = IFCDIRECTION((-1., 0., 0.)); +#2878 = IFCDIRECTION((0., 0., 1.)); +#2879 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2874)); +#2880 = IFCREFERENT('21$awjvPj8uvNoDaMZ_sP8', #1, 'Referent_012', $, $, #2884, #2887, .REFERENCEMARKER.); +#2881 = IFCPROPERTYSET('3p$5cqdjz1wvz3V6nUx6p$', #1, 'Pset_Stationing', $, (#2882)); +#2882 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(400.), $); +#2883 = IFCRELDEFINESBYPROPERTIES('1$gb5ssrTCIRpvVzgk2XkO', #1, 'Object to Properties', 'Object to Properties Relation', (#2880), #2881); +#2884 = IFCLINEARPLACEMENT(#2279, #2885, $); +#2885 = IFCAXIS2PLACEMENTLINEAR(#2886, $, $); +#2886 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(553.1), 0., 0., 0., #2543); +#2887 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2893)); +#2888 = IFCMAPPEDITEM(#2198, #2889); +#2889 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2890, #2891, #15, 1., #2892, 1., 1.); +#2890 = IFCDIRECTION((0., 1., 0.)); +#2891 = IFCDIRECTION((-1., 0., 0.)); +#2892 = IFCDIRECTION((0., 0., 1.)); +#2893 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2888)); +#2894 = IFCREFERENT('3V3gHEo518aOCL5gm$yg1H', #1, 'Referent_013', $, $, #2898, #2901, .REFERENCEMARKER.); +#2895 = IFCPROPERTYSET('3k61N0uMH0cex1sgEspd2d', #1, 'Pset_Stationing', $, (#2896)); +#2896 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(450.), $); +#2897 = IFCRELDEFINESBYPROPERTIES('2oQZDbf2HFV8yflw4_YzKf', #1, 'Object to Properties', 'Object to Properties Relation', (#2894), #2895); +#2898 = IFCLINEARPLACEMENT(#2279, #2899, $); +#2899 = IFCAXIS2PLACEMENTLINEAR(#2900, $, $); +#2900 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(603.1), 0., 0., 0., #2543); +#2901 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2907)); +#2902 = IFCMAPPEDITEM(#2198, #2903); +#2903 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2904, #2905, #15, 1., #2906, 1., 1.); +#2904 = IFCDIRECTION((0., 1., 0.)); +#2905 = IFCDIRECTION((-1., 0., 0.)); +#2906 = IFCDIRECTION((0., 0., 1.)); +#2907 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2902)); +#2908 = IFCREFERENT('3xjBcYCIP5qvcT4pmPJuhy', #1, 'Referent_014', $, $, #2912, #2915, .REFERENCEMARKER.); +#2909 = IFCPROPERTYSET('2BK7an5Z5FuPyNbAUfBorU', #1, 'Pset_Stationing', $, (#2910)); +#2910 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(500.), $); +#2911 = IFCRELDEFINESBYPROPERTIES('2Hc1ITPJLFHfeG$n20J3ms', #1, 'Object to Properties', 'Object to Properties Relation', (#2908), #2909); +#2912 = IFCLINEARPLACEMENT(#2279, #2913, $); +#2913 = IFCAXIS2PLACEMENTLINEAR(#2914, $, $); +#2914 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(653.1), 0., 0., 0., #2543); +#2915 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2921)); +#2916 = IFCMAPPEDITEM(#2198, #2917); +#2917 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2918, #2919, #15, 1., #2920, 1., 1.); +#2918 = IFCDIRECTION((0., 1., 0.)); +#2919 = IFCDIRECTION((-1., 0., 0.)); +#2920 = IFCDIRECTION((0., 0., 1.)); +#2921 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2916)); +#2922 = IFCREFERENT('2ixGYkaFvAlBGLNbckK63l', #1, 'Referent_015', $, $, #2926, #2929, .REFERENCEMARKER.); +#2923 = IFCPROPERTYSET('3NrUpBBk1DfPksCr73yOzD', #1, 'Pset_Stationing', $, (#2924)); +#2924 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(550.), $); +#2925 = IFCRELDEFINESBYPROPERTIES('1Ek9OBT1bBSut8$RD$5iiU', #1, 'Object to Properties', 'Object to Properties Relation', (#2922), #2923); +#2926 = IFCLINEARPLACEMENT(#2279, #2927, $); +#2927 = IFCAXIS2PLACEMENTLINEAR(#2928, $, $); +#2928 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(703.1), 0., 0., 0., #2543); +#2929 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2935)); +#2930 = IFCMAPPEDITEM(#2198, #2931); +#2931 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2932, #2933, #15, 1., #2934, 1., 1.); +#2932 = IFCDIRECTION((0., 1., 0.)); +#2933 = IFCDIRECTION((-1., 0., 0.)); +#2934 = IFCDIRECTION((0., 0., 1.)); +#2935 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2930)); +#2936 = IFCREFERENT('1v8yi7yZv4qv_6NLZxAkdg', #1, 'Referent_016', $, $, #2940, #2943, .REFERENCEMARKER.); +#2937 = IFCPROPERTYSET('1FtH$MjuP0GQkf6cfrVkDq', #1, 'Pset_Stationing', $, (#2938)); +#2938 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(600.), $); +#2939 = IFCRELDEFINESBYPROPERTIES('3tyHRTrkrCjPW8eZAxhRNH', #1, 'Object to Properties', 'Object to Properties Relation', (#2936), #2937); +#2940 = IFCLINEARPLACEMENT(#2279, #2941, $); +#2941 = IFCAXIS2PLACEMENTLINEAR(#2942, $, $); +#2942 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(753.1), 0., 0., 0., #2543); +#2943 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2949)); +#2944 = IFCMAPPEDITEM(#2198, #2945); +#2945 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2946, #2947, #15, 1., #2948, 1., 1.); +#2946 = IFCDIRECTION((0., 1., 0.)); +#2947 = IFCDIRECTION((-1., 0., 0.)); +#2948 = IFCDIRECTION((0., 0., 1.)); +#2949 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2944)); +#2950 = IFCREFERENT('32c_BlT4D7NuGUft80yR8P', #1, 'Referent_017', $, $, #2954, #2957, .REFERENCEMARKER.); +#2951 = IFCPROPERTYSET('2GYJf2XHn9R96OI9FmTZF8', #1, 'Pset_Stationing', $, (#2952)); +#2952 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(650.), $); +#2953 = IFCRELDEFINESBYPROPERTIES('32sHPD4LXDmf1nQczvB7fZ', #1, 'Object to Properties', 'Object to Properties Relation', (#2950), #2951); +#2954 = IFCLINEARPLACEMENT(#2279, #2955, $); +#2955 = IFCAXIS2PLACEMENTLINEAR(#2956, $, $); +#2956 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(803.1), 0., 0., 0., #2543); +#2957 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2963)); +#2958 = IFCMAPPEDITEM(#2198, #2959); +#2959 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2960, #2961, #15, 1., #2962, 1., 1.); +#2960 = IFCDIRECTION((0., 1., 0.)); +#2961 = IFCDIRECTION((-1., 0., 0.)); +#2962 = IFCDIRECTION((0., 0., 1.)); +#2963 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2958)); +#2964 = IFCREFERENT('1kY5i2zwb2c9GvII_vMnfU', #1, 'Referent_018', $, $, #2968, #2971, .REFERENCEMARKER.); +#2965 = IFCPROPERTYSET('0EzYb6fCP3fx9WbLzUNuYY', #1, 'Pset_Stationing', $, (#2966)); +#2966 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(700.), $); +#2967 = IFCRELDEFINESBYPROPERTIES('1G1fgdB918TABUTnNEeo5w', #1, 'Object to Properties', 'Object to Properties Relation', (#2964), #2965); +#2968 = IFCLINEARPLACEMENT(#2279, #2969, $); +#2969 = IFCAXIS2PLACEMENTLINEAR(#2970, $, $); +#2970 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(853.1), 0., 0., 0., #2543); +#2971 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2977)); +#2972 = IFCMAPPEDITEM(#2198, #2973); +#2973 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2974, #2975, #15, 1., #2976, 1., 1.); +#2974 = IFCDIRECTION((0., 1., 0.)); +#2975 = IFCDIRECTION((-1., 0., 0.)); +#2976 = IFCDIRECTION((0., 0., 1.)); +#2977 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2972)); +#2978 = IFCREFERENT('1R7FNYmGfFxwhfxyC1t_Vj', #1, 'Referent_019', $, $, #2982, #2985, .REFERENCEMARKER.); +#2979 = IFCPROPERTYSET('3tQzlOY3j0buA1f9WgQFos', #1, 'Pset_Stationing', $, (#2980)); +#2980 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(750.), $); +#2981 = IFCRELDEFINESBYPROPERTIES('0jd5QPXabCbOUL9ePpU2xW', #1, 'Object to Properties', 'Object to Properties Relation', (#2978), #2979); +#2982 = IFCLINEARPLACEMENT(#2279, #2983, $); +#2983 = IFCAXIS2PLACEMENTLINEAR(#2984, $, $); +#2984 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(903.1), 0., 0., 0., #2543); +#2985 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2991)); +#2986 = IFCMAPPEDITEM(#2198, #2987); +#2987 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2988, #2989, #15, 1., #2990, 1., 1.); +#2988 = IFCDIRECTION((0., 1., 0.)); +#2989 = IFCDIRECTION((-1., 0., 0.)); +#2990 = IFCDIRECTION((0., 0., 1.)); +#2991 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2986)); +#2992 = IFCREFERENT('30GC8E6EPFIf4UuXFw681l', #1, 'Referent_020', $, $, #2996, #2999, .REFERENCEMARKER.); +#2993 = IFCPROPERTYSET('34o7UpK4XDeRXWvZvg3zzo', #1, 'Pset_Stationing', $, (#2994)); +#2994 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(800.), $); +#2995 = IFCRELDEFINESBYPROPERTIES('1XBzcaP5f5M8fsTAkv1_mG', #1, 'Object to Properties', 'Object to Properties Relation', (#2992), #2993); +#2996 = IFCLINEARPLACEMENT(#2279, #2997, $); +#2997 = IFCAXIS2PLACEMENTLINEAR(#2998, $, $); +#2998 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(953.1), 0., 0., 0., #2543); +#2999 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3005)); +#3000 = IFCMAPPEDITEM(#2198, #3001); +#3001 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3002, #3003, #15, 1., #3004, 1., 1.); +#3002 = IFCDIRECTION((0., 1., 0.)); +#3003 = IFCDIRECTION((-1., 0., 0.)); +#3004 = IFCDIRECTION((0., 0., 1.)); +#3005 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3000)); +#3006 = IFCREFERENT('0bMgYuaXPEzQaXrua7SOvk', #1, 'Referent_021', $, $, #3010, #3013, .REFERENCEMARKER.); +#3007 = IFCPROPERTYSET('3alForBQLAZfF_Ye88U_gB', #1, 'Pset_Stationing', $, (#3008)); +#3008 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(850.), $); +#3009 = IFCRELDEFINESBYPROPERTIES('20G98ZEUD4x8fPxiceY9d5', #1, 'Object to Properties', 'Object to Properties Relation', (#3006), #3007); +#3010 = IFCLINEARPLACEMENT(#2279, #3011, $); +#3011 = IFCAXIS2PLACEMENTLINEAR(#3012, $, $); +#3012 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(1003.1), 0., 0., 0., #2543); +#3013 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3019)); +#3014 = IFCMAPPEDITEM(#2198, #3015); +#3015 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3016, #3017, #15, 1., #3018, 1., 1.); +#3016 = IFCDIRECTION((0., 1., 0.)); +#3017 = IFCDIRECTION((-1., 0., 0.)); +#3018 = IFCDIRECTION((0., 0., 1.)); +#3019 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3014)); +#3020 = IFCSIGNAL('0t_GtwGFT0nPszZsjyA9w4', #1, 'Route Indicator_01', $, $, #3021, #3024, $, .VISUAL.); +#3021 = IFCLINEARPLACEMENT(#2279, #3022, $); +#3022 = IFCAXIS2PLACEMENTLINEAR(#3023, $, $); +#3023 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(353.1), 3., 2.5, 0., #2543); +#3024 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3030)); +#3025 = IFCMAPPEDITEM(#1135, #3026); +#3026 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3027, #3028, #15, 1., #3029, 1., 1.); +#3027 = IFCDIRECTION((0., -1., 0.)); +#3028 = IFCDIRECTION((1., 0., 0.)); +#3029 = IFCDIRECTION((0., 0., 1.)); +#3030 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3025)); +#3031 = IFCSIGNAL('1gnEPB6qvEY89wQ0JBMc5c', #1, 'Route Indicator_02', $, $, #3032, #3035, $, .VISUAL.); +#3032 = IFCLINEARPLACEMENT(#2279, #3033, $); +#3033 = IFCAXIS2PLACEMENTLINEAR(#3034, $, $); +#3034 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(853.1), -3., 2.5, 0., #2543); +#3035 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3041)); +#3036 = IFCMAPPEDITEM(#72, #3037); +#3037 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3038, #3039, #15, 1., #3040, 1., 1.); +#3038 = IFCDIRECTION((0., 1., 0.)); +#3039 = IFCDIRECTION((-1., 0., 0.)); +#3040 = IFCDIRECTION((0., 0., 1.)); +#3041 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3036)); +#3042 = IFCRELCONTAINEDINSPATIALSTRUCTURE('1gTy5qBVD2feFB2dOfpt6y', #1, $, $, (#2278, #2698, #2712, #2726, #2740, #2754, #2768, #2782, #2796, #2810, #2824, #2838, #2852, #2866, #2880, #2894, #2908, #2922, #2936, #2950, #2964, #2978, #2992, #3006, #3020, #3031), #2273); +#3043 = IFCRELAGGREGATES('3lyGQu2fX1YwBtYmqC00fR', #1, 'Spatial Structure Element Container', 'Spatial Structure Element to Facilities', #2268, (#2273)); +#3044 = IFCRELAGGREGATES('2C2gCe8fLBH8qUI6jpQ98v', #1, 'Project Container', 'Project to Spatial Element', #7, (#2268)); +#3045 = IFCSIGNALTYPE('08tHBMWRHDiBAH7pFrGVfm', #1, 'Default Signal Type', $, $, $, $, $, $, .VISUAL.); +#3046 = IFCRELDEFINESBYTYPE('3HRtYOGRf1twGzmyWPnzwc', #1, 'Type Object Relation', 'Type Object Relation', (#3020, #3031), #3045); +#3048 = IFCRELPOSITIONS('2JQ3DklALExh2$UBCF3cky', #1, 'Positions', $, #2278, (#3020, #3031, #2698, #2712, #2726, #2740, #2754, #2768, #2782, #2796, #2810, #2824, #2838, #2852, #2866, #2880, #2894, #2908, #2922, #2936, #2950, #2964, #2978, #2992, #3006)); +#3049 = IFCRELAGGREGATES('2g_hsY2CXBBuc8$0aOd5Mi', #1, 'Project aggregation', $, #7, (#2278)); +#3050 = IFCMAPCONVERSION(#13, #3051, 0., 0., 0., 1., 0., 1.); +#3051 = IFCPROJECTEDCRS('EPSG:3065', 'Istituto Geografico Militare 1995 (IGM95)', 'EPSG:4670', 'EPSG:5214', 'UTM', '33N', $); + +#4001 = IFCALIGNMENTSEGMENT('4jQmXjgSLEDBBjEuIhHqVd', #1, 'hA', $, $, #2345, #4101, #4011); +#4011 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #4012, 4.33956866598294E-1, 0., 0., 0., $, .LINE.); +#4012 = IFCCARTESIANPOINT((453202.524112, 4539831.92869)); + +#4101 = IFCPRODUCTDEFINITIONSHAPE($, $, (#4102)); +#4102 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#4201)); + +#4201 = IFCCURVESEGMENT(.DISCONTINUOUS., #4204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #4205); +#4202 = IFCCARTESIANPOINT((453202.524112, 4539831.92869)); +#4203 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); +#4204 = IFCAXIS2PLACEMENT2D(#4202, #4203); +#4205 = IFCLINE(#4206, #4207); +#4206 = IFCCARTESIANPOINT((0., 0.)); +#4207 = IFCVECTOR(#4208, 1.); +#4208 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); + +#5001 = IFCALIGNMENTSEGMENT('3qy7e2h$X209837c8g$Nh6', #1, 'v6', $, $, #2382, #5101, #5011); +#5011 = IFCALIGNMENTVERTICALSEGMENT($, $, 1029.37206425, 0., 1.99999999999915, 4.24043141700466E-15, 4.24043141700466E-15, $, .CONSTANTGRADIENT.); + +#5101 = IFCPRODUCTDEFINITIONSHAPE($, $, (#5102)); +#5102 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#5201)); + +#5201 = IFCCURVESEGMENT(.DISCONTINUOUS., #5204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #5205); +#5202 = IFCCARTESIANPOINT((1029.37206425, 1.99999999999915)); +#5203 = IFCDIRECTION((1., 4.24043141700466E-15)); +#5204 = IFCAXIS2PLACEMENT2D(#5202, #5203); +#5205 = IFCLINE(#5206, #5207); +#5206 = IFCCARTESIANPOINT((0., 0.)); +#5207 = IFCVECTOR(#5208, 1.); +#5208 = IFCDIRECTION((1., 4.24043141700466E-15)); + +#6001 = IFCALIGNMENTSEGMENT('1v2fCSQ8H1qejZRDkDUoz2', #1, 'cA', $, $, #2442, #6101, #6011); +#6011 = IFCALIGNMENTCANTSEGMENT($, $, 1029.37207127, 0., 0., 0., 0., 0., .CONSTANTCANT.); + +#6101 = IFCPRODUCTDEFINITIONSHAPE($, $, (#6102)); +#6102 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#6201)); + +#6201 = IFCCURVESEGMENT(.DISCONTINUOUS., #6205, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #6206); +#6202 = IFCCARTESIANPOINT((1029.37207127, 0., 0.)); +#6203 = IFCDIRECTION((0., 0., 1.)); +#6204 = IFCDIRECTION((1., 0., 0.)); +#6205 = IFCAXIS2PLACEMENT3D(#6202, #6203, #6204); +#6206 = IFCLINE(#6207, #6208); +#6207 = IFCCARTESIANPOINT((0., 0.)); +#6208 = IFCVECTOR(#6209, 1.); +#6209 = IFCDIRECTION((1., 0.)); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/alb010/pass-alb010-alignments_nesting_referents.ifc b/test/files/alb010/pass-alb010-alignments_nesting_referents.ifc new file mode 100644 index 00000000..a2cc53b4 --- /dev/null +++ b/test/files/alb010/pass-alb010-alignments_nesting_referents.ifc @@ -0,0 +1,3104 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); +FILE_NAME ('pass-alb010-alignments_nesting_referents.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_SCHEMA (('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1 = IFCOWNERHISTORY(#2, #6, .READWRITE., .NOCHANGE., $, $, $, 1689070570); +#2 = IFCPERSONANDORGANIZATION(#3, #4, $); +#3 = IFCPERSON($, 'redacted', 'redacted', $, $, $, $, $); +#4 = IFCORGANIZATION($, 'redacted', $, $, $); +#5 = IFCORGANIZATION($, 'redacted', $, $, $); +#6 = IFCAPPLICATION(#5, 'redacted', 'redacted', 'redacted'); +#7 = IFCPROJECT('2psIfWyGD3J8pNMMJLOYZy', #1, 'Stationing', 'Default Project Description', $, $, $, (#13), #8); +#8 = IFCUNITASSIGNMENT((#9, #10, #11, #12)); +#9 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#10 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#11 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#12 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#13 = IFCGEOMETRICREPRESENTATIONCONTEXT('3D', 'Model', 3, 1.E-4, #14, #16); +#14 = IFCAXIS2PLACEMENT3D(#15, $, $); +#15 = IFCCARTESIANPOINT((0., 0., 0.)); +#16 = IFCDIRECTION((0., 1.)); +#17 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#18 = IFCMATERIAL('(123, 130, 135, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#19 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#20), #18); +#20 = IFCSTYLEDREPRESENTATION(#13, $, $, (#21)); +#21 = IFCSTYLEDITEM($, (#22), $); +#22 = IFCSURFACESTYLE('(123, 130, 135, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#23)); +#23 = IFCSURFACESTYLERENDERING(#24, 0., #25, $, $, $, #26, $, .NOTDEFINED.); +#24 = IFCCOLOURRGB($, 4.82352941176471E-1, 5.09803921568627E-1, 5.29411764705882E-1); +#25 = IFCCOLOURRGB($, 0., 0., 0.); +#26 = IFCCOLOURRGB($, 0., 0., 0.); +#27 = IFCMATERIAL('(18, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#28 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#29), #27); +#29 = IFCSTYLEDREPRESENTATION(#13, $, $, (#30)); +#30 = IFCSTYLEDITEM($, (#31), $); +#31 = IFCSURFACESTYLE('(18, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#32)); +#32 = IFCSURFACESTYLERENDERING(#33, 0., #34, $, $, $, #35, $, .NOTDEFINED.); +#33 = IFCCOLOURRGB($, 7.05882352941176E-2, 3.25490196078431E-1, 0.); +#34 = IFCCOLOURRGB($, 0., 0., 0.); +#35 = IFCCOLOURRGB($, 0., 0., 0.); +#36 = IFCMATERIAL('(83, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#37 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#38), #36); +#38 = IFCSTYLEDREPRESENTATION(#13, $, $, (#39)); +#39 = IFCSTYLEDITEM($, (#40), $); +#40 = IFCSURFACESTYLE('(83, 83, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#41)); +#41 = IFCSURFACESTYLERENDERING(#42, 0., #43, $, $, $, #44, $, .NOTDEFINED.); +#42 = IFCCOLOURRGB($, 3.25490196078431E-1, 3.25490196078431E-1, 0.); +#43 = IFCCOLOURRGB($, 0., 0., 0.); +#44 = IFCCOLOURRGB($, 0., 0., 0.); +#45 = IFCMATERIAL('(83, 0, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#46 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#47), #45); +#47 = IFCSTYLEDREPRESENTATION(#13, $, $, (#48)); +#48 = IFCSTYLEDITEM($, (#49), $); +#49 = IFCSURFACESTYLE('(83, 0, 0, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#50)); +#50 = IFCSURFACESTYLERENDERING(#51, 0., #52, $, $, $, #53, $, .NOTDEFINED.); +#51 = IFCCOLOURRGB($, 3.25490196078431E-1, 0., 0.); +#52 = IFCCOLOURRGB($, 0., 0., 0.); +#53 = IFCCOLOURRGB($, 0., 0., 0.); +#54 = IFCMATERIAL('(2, 2, 2, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', $, $); +#55 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#56), #54); +#56 = IFCSTYLEDREPRESENTATION(#13, $, $, (#57)); +#57 = IFCSTYLEDITEM($, (#58), $); +#58 = IFCSURFACESTYLE('(2, 2, 2, 255) (0, 0, 0, 255) (0, 0, 0, 255) (255)', .BOTH., (#59)); +#59 = IFCSURFACESTYLERENDERING(#60, 0., #61, $, $, $, #62, $, .NOTDEFINED.); +#60 = IFCCOLOURRGB($, 7.84313725490196E-3, 7.84313725490196E-3, 7.84313725490196E-3); +#61 = IFCCOLOURRGB($, 0., 0., 0.); +#62 = IFCCOLOURRGB($, 0., 0., 0.); +#63 = IFCMATERIAL('(128, 128, 128, 255) (128, 128, 128, 255) (0, 0, 0, 255) (255)', $, $); +#64 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#65), #63); +#65 = IFCSTYLEDREPRESENTATION(#13, $, $, (#66)); +#66 = IFCSTYLEDITEM($, (#67), $); +#67 = IFCSURFACESTYLE('(128, 128, 128, 255) (128, 128, 128, 255) (0, 0, 0, 255) (255)', .BOTH., (#68)); +#68 = IFCSURFACESTYLERENDERING(#69, 0., #70, $, $, $, #71, $, .NOTDEFINED.); +#69 = IFCCOLOURRGB($, 5.01960784313725E-1, 5.01960784313725E-1, 5.01960784313725E-1); +#70 = IFCCOLOURRGB($, 5.01960784313725E-1, 5.01960784313725E-1, 5.01960784313725E-1); +#71 = IFCCOLOURRGB($, 0., 0., 0.); +#72 = IFCREPRESENTATIONMAP(#75, #76); +#73 = IFCDIRECTION((0., 0., 1.)); +#74 = IFCDIRECTION((1., 0., 0.)); +#75 = IFCAXIS2PLACEMENT3D(#15, #73, #74); +#76 = IFCSHAPEREPRESENTATION(#17, 'Body', 'Tessellation', (#77, #92, #118, #166, #192)); +#77 = IFCPOLYGONALFACESET(#78, $, (#79, #80, #81, #82, #83, #84, #85, #86, #87, #88, #89, #90), $); +#78 = IFCCARTESIANPOINTLIST3D(((3.4431E-2, 1.26962E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.50103E-1), (3.4431E-2, 1.26962E-1, -1.50103E-1)), $); +#79 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#80 = IFCINDEXEDPOLYGONALFACE((4, 3, 5)); +#81 = IFCINDEXEDPOLYGONALFACE((6, 5, 3)); +#82 = IFCINDEXEDPOLYGONALFACE((6, 2, 5)); +#83 = IFCINDEXEDPOLYGONALFACE((7, 5, 2)); +#84 = IFCINDEXEDPOLYGONALFACE((1, 8, 2)); +#85 = IFCINDEXEDPOLYGONALFACE((7, 2, 8)); +#86 = IFCINDEXEDPOLYGONALFACE((1, 3, 8)); +#87 = IFCINDEXEDPOLYGONALFACE((4, 8, 3)); +#88 = IFCINDEXEDPOLYGONALFACE((4, 5, 8)); +#89 = IFCINDEXEDPOLYGONALFACE((7, 8, 5)); +#90 = IFCINDEXEDPOLYGONALFACE((6, 3, 2)); +#91 = IFCSTYLEDITEM(#77, (#22), $); +#92 = IFCPOLYGONALFACESET(#93, $, (#94, #95, #96, #97, #98, #99, #100, #101, #102, #103, #104, #105, #106, #107, #108, #109, #110, #111, #112, #113, #114, #115, #116), $); +#93 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (-2.3673E-2, 0., 6.14006E-1), (4.278E-3, 0., 4.01688E-1), (-2.3674E-2, 0., 4.05368E-1), (3.223E-2, 0., 4.05368E-1), (5.8277E-2, 0., 4.16158E-1), (-4.9721E-2, 0., 4.16158E-1), (8.0645E-2, 0., 4.33321E-1), (-7.2089E-2, 0., 4.33321E-1), (9.7808E-2, 0., 4.55688E-1), (-8.9252E-2, 0., 4.55688E-1), (1.08597E-1, 0., 4.81735E-1), (-1.00041E-1, 0., 4.81735E-1), (1.1228E-1, 0., 5.09689E-1), (-1.03721E-1, 0., 5.09689E-1), (1.08599E-1, 0., 5.37641E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.0004E-1, 0., 5.37641E-1), (9.7809E-2, 0., 5.63688E-1), (-8.9251E-2, 0., 5.63688E-1), (8.0646E-2, 0., 5.86055E-1), (-7.2087E-2, 0., 5.86055E-1), (5.8279E-2, 0., 6.03217E-1), (-4.972E-2, 0., 6.03217E-1)), $); +#94 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#95 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#96 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#97 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#98 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#99 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#100 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#101 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#102 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#103 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#104 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#105 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#106 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#107 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#108 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#109 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#110 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#111 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#112 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#113 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#114 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#115 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#116 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#117 = IFCSTYLEDITEM(#92, (#31), $); +#118 = IFCPOLYGONALFACESET(#119, $, (#120, #121, #122, #123, #124, #125, #126, #127, #128, #129, #130, #131, #132, #133, #134, #135, #136, #137, #138, #139, #140, #141, #142, #143, #144, #145, #146, #147, #148, #149, #150, #151, #152, #153, #154, #155, #156, #157, #158, #159, #160, #161, #162, #163, #164), $); +#119 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 3.62686E-1), (3.2231E-2, 0., 3.59006E-1), (-2.3673E-2, 0., 3.59006E-1), (4.277E-3, 0., 6.56689E-1), (-2.3675E-2, 0., 6.60369E-1), (3.2229E-2, 0., 6.60368E-1), (5.8277E-2, 0., 6.71157E-1), (-4.9723E-2, 0., 6.71158E-1), (8.0644E-2, 0., 6.8832E-1), (-7.209E-2, 0., 6.88322E-1), (9.7808E-2, 0., 7.10687E-1), (-8.9253E-2, 0., 7.10689E-1), (1.08597E-1, 0., 7.36735E-1), (-1.00042E-1, 0., 7.36737E-1), (1.1228E-1, 0., 7.64689E-1), (-1.03721E-1, 0., 7.64689E-1), (1.08599E-1, 0., 7.92641E-1), (-1.0004E-1, 0., 7.92641E-1), (9.7809E-2, 0., 8.18688E-1), (-8.9251E-2, 0., 8.18688E-1), (8.0646E-2, 0., 8.41055E-1), (-7.2087E-2, 0., 8.41055E-1), (5.8279E-2, 0., 8.58218E-1), (-4.972E-2, 0., 8.58218E-1), (3.2231E-2, 0., 8.69007E-1), (-2.3673E-2, 0., 8.69007E-1), (4.279E-3, 0., 8.72687E-1), (4.278E-3, 0., 1.46688E-1), (-2.3674E-2, 0., 1.50368E-1), (3.223E-2, 0., 1.50368E-1), (5.8277E-2, 0., 1.61157E-1), (-4.9721E-2, 0., 1.61157E-1), (8.0645E-2, 0., 1.7832E-1), (-7.2089E-2, 0., 1.7832E-1), (9.7808E-2, 0., 2.00687E-1), (-8.9252E-2, 0., 2.00687E-1), (1.08597E-1, 0., 2.26735E-1), (-1.00041E-1, 0., 2.26735E-1), (1.1228E-1, 0., 2.54688E-1), (-1.03721E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (-8.9251E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (-7.2087E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (-4.972E-2, 0., 3.48217E-1)), $); +#120 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#121 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#122 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#123 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#124 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#125 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#126 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#127 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#128 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#129 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#130 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#131 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#132 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#133 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#134 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#135 = IFCINDEXEDPOLYGONALFACE((20, 19, 18)); +#136 = IFCINDEXEDPOLYGONALFACE((21, 19, 20)); +#137 = IFCINDEXEDPOLYGONALFACE((22, 21, 20)); +#138 = IFCINDEXEDPOLYGONALFACE((23, 21, 22)); +#139 = IFCINDEXEDPOLYGONALFACE((24, 23, 22)); +#140 = IFCINDEXEDPOLYGONALFACE((25, 23, 24)); +#141 = IFCINDEXEDPOLYGONALFACE((26, 25, 24)); +#142 = IFCINDEXEDPOLYGONALFACE((27, 25, 26)); +#143 = IFCINDEXEDPOLYGONALFACE((28, 29, 30)); +#144 = IFCINDEXEDPOLYGONALFACE((31, 30, 29)); +#145 = IFCINDEXEDPOLYGONALFACE((32, 31, 29)); +#146 = IFCINDEXEDPOLYGONALFACE((33, 31, 32)); +#147 = IFCINDEXEDPOLYGONALFACE((34, 33, 32)); +#148 = IFCINDEXEDPOLYGONALFACE((35, 33, 34)); +#149 = IFCINDEXEDPOLYGONALFACE((36, 35, 34)); +#150 = IFCINDEXEDPOLYGONALFACE((37, 35, 36)); +#151 = IFCINDEXEDPOLYGONALFACE((38, 37, 36)); +#152 = IFCINDEXEDPOLYGONALFACE((39, 37, 38)); +#153 = IFCINDEXEDPOLYGONALFACE((40, 39, 38)); +#154 = IFCINDEXEDPOLYGONALFACE((41, 39, 40)); +#155 = IFCINDEXEDPOLYGONALFACE((42, 41, 40)); +#156 = IFCINDEXEDPOLYGONALFACE((43, 41, 42)); +#157 = IFCINDEXEDPOLYGONALFACE((44, 41, 43)); +#158 = IFCINDEXEDPOLYGONALFACE((45, 44, 43)); +#159 = IFCINDEXEDPOLYGONALFACE((46, 44, 45)); +#160 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#161 = IFCINDEXEDPOLYGONALFACE((48, 46, 47)); +#162 = IFCINDEXEDPOLYGONALFACE((49, 48, 47)); +#163 = IFCINDEXEDPOLYGONALFACE((2, 48, 49)); +#164 = IFCINDEXEDPOLYGONALFACE((3, 2, 49)); +#165 = IFCSTYLEDITEM(#118, (#40), $); +#166 = IFCPOLYGONALFACESET(#167, $, (#168, #169, #170, #171, #172, #173, #174, #175, #176, #177, #178, #179, #180, #181, #182, #183, #184, #185, #186, #187, #188, #189, #190), $); +#167 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 1.07685E-1), (3.2231E-2, 0., 1.04005E-1), (-2.3673E-2, 0., 1.04005E-1), (4.278E-3, 0., -1.08313E-1), (-2.3674E-2, 0., -1.04633E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (-4.9721E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (-7.2089E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (-8.9252E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (-1.00041E-1, 0., -2.8266E-2), (1.1228E-1, 0., -3.12E-4), (-1.03721E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (-8.9251E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (-7.2087E-2, 0., 7.6054E-2), (5.8279E-2, 0., 9.3216E-2), (-4.972E-2, 0., 9.3216E-2)), $); +#168 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#169 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#170 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#171 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#172 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#173 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#174 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#175 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#176 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#177 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#178 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#179 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#180 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#181 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#182 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#183 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#184 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#185 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#186 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#187 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#188 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#189 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#190 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#191 = IFCSTYLEDITEM(#166, (#49), $); +#192 = IFCPOLYGONALFACESET(#193, $, (#194, #195, #196, #197, #198, #199, #200, #201, #202, #203, #204, #205, #206, #207, #208, #209, #210, #211, #212, #213, #214, #215, #216, #217, #218, #219, #220, #221, #222, #223, #224, #225, #226, #227, #228, #229, #230, #231, #232, #233, #234, #235, #236, #237, #238, #239, #240, #241, #242, #243, #244, #245, #246, #247, #248, #249, #250, #251, #252, #253, #254, #255, #256, #257, #258, #259, #260, #261, #262, #263, #264, #265, #266, #267, #268, #269, #270, #271, #272, #273, #274, #275, #276, #277, #278, #279, #280, #281, #282, #283, #284, #285, #286, #287, #288, #289, #290, #291, #292, #293, #294, #295, #296, #297, #298, #299, #300, #301, #302, #303, #304, #305, #306, #307, #308, #309, #310, #311, #312, #313, #314, #315, #316, #317, #318, #319, #320, #321, #322, #323, #324, #325, #326, #327, #328, #329, #330, #331, #332, #333, #334, #335, #336, #337, #338, #339, #340, #341, #342, #343, #344, #345, #346, #347, #348, #349, #350, #351, #352, #353, #354, #355, #356, #357, #358, #359, #360, #361, #362, #363, #364, #365, #366, #367, #368, #369, #370, #371, #372, #373, #374, #375, #376, #377, #378, #379, #380, #381, #382, #383, #384, #385, #386, #387, #388, #389, #390, #391, #392, #393, #394, #395, #396, #397, #398, #399, #400, #401, #402, #403, #404, #405, #406, #407, #408, #409, #410, #411, #412, #413, #414, #415, #416, #417, #418, #419, #420, #421, #422, #423, #424, #425, #426, #427, #428, #429, #430, #431, #432, #433, #434, #435, #436, #437, #438, #439, #440, #441, #442, #443, #444, #445, #446, #447, #448, #449, #450, #451, #452, #453, #454, #455, #456, #457, #458, #459, #460, #461, #462, #463, #464, #465, #466, #467, #468, #469, #470, #471, #472, #473, #474, #475, #476, #477, #478, #479, #480, #481, #482, #483, #484, #485, #486, #487, #488, #489, #490, #491, #492, #493, #494, #495, #496, #497, #498, #499, #500, #501, #502, #503, #504, #505, #506, #507, #508, #509, #510, #511, #512, #513, #514, #515, #516, #517, #518, #519, #520, #521, #522, #523, #524, #525, #526, #527, #528, #529, #530, #531, #532, #533, #534, #535, #536, #537, #538, #539, #540, #541, #542, #543, #544, #545, #546, #547, #548, #549, #550, #551, #552, #553, #554, #555, #556, #557, #558, #559, #560, #561, #562, #563, #564, #565, #566, #567, #568, #569, #570, #571, #572, #573, #574, #575, #576, #577, #578, #579, #580, #581, #582, #583, #584, #585, #586, #587, #588, #589, #590, #591, #592, #593, #594, #595, #596, #597, #598, #599, #600, #601, #602, #603, #604, #605, #606, #607, #608, #609, #610, #611, #612, #613, #614, #615, #616, #617, #618, #619, #620, #621, #622, #623, #624, #625, #626, #627, #628, #629, #630, #631, #632, #633, #634, #635, #636, #637, #638, #639, #640, #641, #642, #643, #644, #645, #646, #647, #648, #649, #650, #651, #652, #653, #654, #655, #656, #657, #658, #659, #660, #661, #662, #663, #664, #665, #666, #667, #668, #669, #670, #671, #672, #673, #674, #675, #676, #677, #678, #679, #680, #681, #682, #683, #684, #685, #686, #687, #688, #689, #690, #691, #692, #693, #694, #695, #696, #697, #698, #699, #700, #701, #702, #703, #704, #705, #706, #707, #708, #709, #710, #711, #712, #713, #714, #715, #716, #717, #718, #719, #720, #721, #722, #723, #724, #725, #726, #727, #728, #729, #730, #731, #732, #733, #734, #735, #736, #737, #738, #739, #740, #741, #742, #743, #744, #745, #746, #747, #748, #749, #750, #751, #752, #753, #754, #755, #756, #757, #758, #759, #760, #761, #762, #763, #764, #765, #766, #767, #768, #769, #770, #771, #772, #773, #774, #775, #776, #777, #778, #779, #780, #781, #782, #783, #784, #785, #786, #787, #788, #789, #790, #791, #792, #793, #794, #795, #796, #797, #798, #799, #800, #801, #802, #803, #804, #805, #806, #807, #808, #809, #810, #811, #812, #813, #814, #815, #816, #817, #818, #819, #820, #821, #822, #823, #824, #825, #826, #827, #828, #829, #830, #831, #832, #833, #834, #835, #836, #837, #838, #839, #840, #841, #842, #843, #844, #845, #846, #847, #848, #849, #850, #851, #852, #853, #854, #855, #856, #857, #858, #859, #860, #861, #862, #863, #864, #865, #866, #867, #868, #869, #870, #871, #872, #873, #874, #875, #876, #877, #878, #879, #880, #881, #882, #883, #884, #885, #886, #887, #888, #889, #890, #891, #892, #893, #894, #895, #896, #897, #898, #899, #900, #901, #902, #903, #904, #905, #906, #907, #908, #909, #910, #911, #912, #913, #914, #915, #916, #917, #918, #919, #920, #921, #922, #923, #924, #925, #926, #927, #928, #929, #930, #931, #932, #933, #934, #935, #936, #937, #938, #939, #940, #941, #942, #943, #944, #945, #946, #947, #948, #949, #950, #951, #952, #953, #954, #955, #956, #957, #958, #959, #960, #961, #962, #963, #964, #965, #966, #967, #968, #969, #970, #971, #972, #973, #974, #975, #976, #977, #978, #979, #980, #981, #982, #983, #984, #985, #986, #987, #988, #989, #990, #991, #992, #993, #994, #995, #996, #997, #998, #999, #1000, #1001, #1002, #1003, #1004, #1005, #1006, #1007, #1008, #1009, #1010, #1011, #1012, #1013, #1014, #1015, #1016, #1017, #1018, #1019, #1020, #1021, #1022, #1023, #1024, #1025, #1026, #1027, #1028, #1029, #1030, #1031, #1032, #1033, #1034, #1035, #1036, #1037, #1038, #1039, #1040, #1041, #1042, #1043, #1044, #1045, #1046, #1047, #1048, #1049, #1050, #1051, #1052, #1053, #1054, #1055, #1056, #1057, #1058, #1059, #1060, #1061, #1062, #1063, #1064, #1065, #1066, #1067, #1068, #1069, #1070, #1071, #1072, #1073, #1074, #1075, #1076, #1077, #1078, #1079, #1080, #1081, #1082, #1083, #1084, #1085, #1086, #1087, #1088, #1089, #1090, #1091, #1092, #1093, #1094, #1095, #1096, #1097, #1098, #1099, #1100, #1101, #1102, #1103, #1104, #1105, #1106, #1107, #1108, #1109, #1110, #1111, #1112, #1113, #1114, #1115, #1116, #1117, #1118, #1119, #1120, #1121, #1122, #1123, #1124, #1125, #1126, #1127, #1128, #1129, #1130, #1131, #1132, #1133), $); +#193 = IFCCARTESIANPOINTLIST3D(((-1.35721E-1, 2.86001E-1, 9.7269E-1), (-1.35721E-1, 1.E-2, 9.7269E-1), (-1.35721E-1, 2.86001E-1, -1.80315E-1), (4.279E-3, 0., 8.72687E-1), (4.279E-3, -3.00001E-1, 8.72687E-1), (3.2231E-2, 0., 8.69007E-1), (1.00007E-1, -3.00001E-1, 8.14689E-1), (9.7809E-2, 0., 8.18688E-1), (8.3027E-2, -3.00001E-1, 8.38597E-1), (8.0646E-2, 0., 8.41055E-1), (6.0242E-2, -3.00001E-1, 8.57056E-1), (5.8279E-2, 0., 8.58218E-1), (3.3332E-2, -3.00001E-1, 8.68706E-1), (-2.3673E-2, 0., 8.69007E-1), (-5.1684E-2, -3.00001E-1, 8.57056E-1), (-4.972E-2, 0., 8.58218E-1), (-7.2087E-2, 0., 8.41055E-1), (-2.4773E-2, -3.00001E-1, 8.68706E-1), (-7.4469E-2, -3.00001E-1, 8.38597E-1), (-8.9251E-2, 0., 8.18688E-1), (8.2767E-2, 0., 8.43176E-1), (1.00407E-1, 0., 8.20188E-1), (8.8275E-2, -3.00001E-1, 8.37252E-1), (5.9779E-2, 0., 8.60816E-1), (6.8145E-2, -3.00001E-1, 8.55473E-1), (3.3008E-2, 0., 8.71905E-1), (4.4194E-2, -3.00001E-1, 8.68262E-1), (1.7855E-2, -3.00001E-1, 8.74853E-1), (-7.4209E-2, 0., 8.43176E-1), (-5.122E-2, 0., 8.60816E-1), (-5.9587E-2, -3.00001E-1, 8.55473E-1), (-2.4449E-2, 0., 8.71905E-1), (-3.5636E-2, -3.00001E-1, 8.68262E-1), (-9.1849E-2, 0., 8.20188E-1), (-7.9717E-2, -3.00001E-1, 8.37252E-1), (1.1228E-1, 0., 7.64689E-1), (1.1228E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, 0., 7.64689E-1), (1.1228E-1, -2.50001E-1, 7.64689E-1), (1.1528E-1, -2.50001E-1, 7.64689E-1), (1.11497E-1, 0., 7.93418E-1), (1.08599E-1, 0., 7.92641E-1), (4.279E-3, 0., 8.75687E-1), (-1.03721E-1, 0., 7.64689E-1), (-1.06721E-1, 0., 7.64689E-1), (-1.0004E-1, 0., 7.92641E-1), (-1.02938E-1, 0., 7.93418E-1), (1.03379E-1, -3.00001E-1, 8.14689E-1), (-9.1448E-2, -3.00001E-1, 8.14689E-1), (-9.482E-2, -3.00001E-1, 8.14689E-1), (-9.296E-3, -3.00001E-1, 8.74853E-1), (-1.03721E-1, -2.50001E-1, 7.64689E-1), (-1.06719E-1, -2.57292E-1, 7.6517E-1), (-1.03719E-1, -2.57469E-1, 7.65189E-1), (-1.06569E-1, -2.7346E-1, 7.70486E-1), (-1.03563E-1, -2.73543E-1, 7.70529E-1), (-1.03684E-1, -2.66616E-1, 7.67502E-1), (-1.06713E-1, -2.61426E-1, 7.66006E-1), (-1.03712E-1, -2.61584E-1, 7.66045E-1), (-1.06686E-1, -2.66496E-1, 7.67459E-1), (-1.03338E-1, -2.78963E-1, 7.73775E-1), (-1.06039E-1, -2.82935E-1, 7.76974E-1), (-1.03013E-1, -2.82999E-1, 7.7703E-1), (-1.06352E-1, -2.7889E-1, 7.73724E-1), (-1.06721E-1, -2.50001E-1, 7.64689E-1), (-9.7621E-2, -2.99727E-1, 8.08702E-1), (-9.684E-2, -2.98755E-1, 8.02617E-1), (-1.00057E-1, -2.98745E-1, 8.02567E-1), (-9.4331E-2, -2.9973E-1, 8.08732E-1), (-9.897E-2, -2.96832E-1, 7.96365E-1), (-1.02122E-1, -2.96811E-1, 7.96305E-1), (-1.05118E-1, -2.89141E-1, 7.83479E-1), (-1.02062E-1, -2.89191E-1, 7.83542E-1), (-1.03812E-1, -2.93683E-1, 7.89934E-1), (-1.00713E-1, -2.93717E-1, 7.89999E-1), (1.14655E-1, -2.82293E-1, 7.76518E-1), (1.11572E-1, -2.83001E-1, 7.77033E-1), (1.14226E-1, -2.85953E-1, 7.79942E-1), (1.15289E-1, -2.55014E-1, 7.64943E-1), (1.12278E-1, -2.57456E-1, 7.65185E-1), (1.15303E-1, -2.59975E-1, 7.65697E-1), (1.15298E-1, -2.64834E-1, 7.66942E-1), (1.12243E-1, -2.66604E-1, 7.67496E-1), (1.15254E-1, -2.69543E-1, 7.68666E-1), (1.12271E-1, -2.61568E-1, 7.66038E-1), (1.15146E-1, -2.74047E-1, 7.70853E-1), (1.12122E-1, -2.73538E-1, 7.70527E-1), (1.14954E-1, -2.78311E-1, 7.7348E-1), (1.11897E-1, -2.78963E-1, 7.73774E-1), (1.1062E-1, -2.89191E-1, 7.83544E-1), (1.13624E-1, -2.8928E-1, 7.83747E-1), (1.12831E-1, -2.92149E-1, 7.87779E-1), (1.09272E-1, -2.93719E-1, 7.89998E-1), (1.11834E-1, -2.94565E-1, 7.92001E-1), (1.10622E-1, -2.96533E-1, 7.96378E-1), (1.07529E-1, -2.96833E-1, 7.96365E-1), (1.09182E-1, -2.98056E-1, 8.00871E-1), (1.05573E-1, -2.99786E-1, 8.10064E-1), (1.05399E-1, -2.98756E-1, 8.02617E-1), (1.0289E-1, -2.9973E-1, 8.08732E-1), (1.07503E-1, -2.99139E-1, 8.05445E-1), (-1.03721E-1, -1.25E-1, 7.64689E-1), (-1.06721E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, -1.25E-1, 7.64689E-1), (4.279E-3, 0., 6.17686E-1), (4.279E-3, -3.00001E-1, 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (1.00007E-1, -3.00001E-1, 5.59689E-1), (9.7809E-2, 0., 5.63688E-1), (8.3027E-2, -3.00001E-1, 5.83597E-1), (8.0646E-2, 0., 5.86055E-1), (6.0242E-2, -3.00001E-1, 6.02056E-1), (5.8279E-2, 0., 6.03217E-1), (3.3332E-2, -3.00001E-1, 6.13705E-1), (-2.3673E-2, 0., 6.14006E-1), (-5.1684E-2, -3.00001E-1, 6.02056E-1), (-4.972E-2, 0., 6.03217E-1), (-7.2087E-2, 0., 5.86055E-1), (-2.4773E-2, -3.00001E-1, 6.13705E-1), (-7.4469E-2, -3.00001E-1, 5.83597E-1), (-8.9251E-2, 0., 5.63688E-1), (8.2767E-2, 0., 5.88176E-1), (1.00407E-1, 0., 5.65188E-1), (8.8275E-2, -3.00001E-1, 5.82252E-1), (5.9779E-2, 0., 6.05816E-1), (6.8145E-2, -3.00001E-1, 6.00472E-1), (3.3008E-2, 0., 6.16904E-1), (4.4194E-2, -3.00001E-1, 6.13261E-1), (1.7855E-2, -3.00001E-1, 6.19853E-1), (-2.4449E-2, 0., 6.16904E-1), (4.279E-3, 0., 6.20686E-1), (-9.296E-3, -3.00001E-1, 6.19853E-1), (-7.4209E-2, 0., 5.88176E-1), (-5.122E-2, 0., 6.05816E-1), (-5.9587E-2, -3.00001E-1, 6.00472E-1), (-3.5636E-2, -3.00001E-1, 6.13261E-1), (-9.1849E-2, 0., 5.65188E-1), (-7.9717E-2, -3.00001E-1, 5.82252E-1), (1.1228E-1, 0., 5.09689E-1), (1.1228E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, 0., 5.09689E-1), (1.1228E-1, -2.50001E-1, 5.09689E-1), (1.1528E-1, -2.50001E-1, 5.09689E-1), (1.11497E-1, 0., 5.38417E-1), (1.08599E-1, 0., 5.37641E-1), (-1.03721E-1, 0., 5.09689E-1), (-1.06721E-1, 0., 5.09689E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.02938E-1, 0., 5.38417E-1), (-1.0004E-1, 0., 5.37641E-1), (1.03379E-1, -3.00001E-1, 5.59689E-1), (-9.1448E-2, -3.00001E-1, 5.59689E-1), (-9.482E-2, -3.00001E-1, 5.59689E-1), (-1.03721E-1, -2.50001E-1, 5.09689E-1), (-1.06719E-1, -2.57292E-1, 5.1017E-1), (-1.03719E-1, -2.57469E-1, 5.10189E-1), (-1.06569E-1, -2.7346E-1, 5.15485E-1), (-1.03563E-1, -2.73543E-1, 5.15529E-1), (-1.03684E-1, -2.66616E-1, 5.12502E-1), (-1.06713E-1, -2.61426E-1, 5.11005E-1), (-1.03712E-1, -2.61584E-1, 5.11045E-1), (-1.06686E-1, -2.66496E-1, 5.12458E-1), (-1.03338E-1, -2.78963E-1, 5.18774E-1), (-1.06039E-1, -2.82935E-1, 5.21974E-1), (-1.03013E-1, -2.82999E-1, 5.2203E-1), (-1.06352E-1, -2.7889E-1, 5.18723E-1), (-1.06721E-1, -2.50001E-1, 5.09689E-1), (-9.7621E-2, -2.99727E-1, 5.53702E-1), (-9.684E-2, -2.98755E-1, 5.47616E-1), (-1.00057E-1, -2.98745E-1, 5.47567E-1), (-9.4331E-2, -2.9973E-1, 5.53731E-1), (-9.897E-2, -2.96832E-1, 5.41365E-1), (-1.02122E-1, -2.96811E-1, 5.41304E-1), (-1.05118E-1, -2.89141E-1, 5.28479E-1), (-1.02062E-1, -2.89191E-1, 5.28542E-1), (-1.03812E-1, -2.93683E-1, 5.34933E-1), (-1.00713E-1, -2.93717E-1, 5.34998E-1), (1.14655E-1, -2.82293E-1, 5.21518E-1), (1.11572E-1, -2.83001E-1, 5.22032E-1), (1.14226E-1, -2.85953E-1, 5.24941E-1), (1.15289E-1, -2.55014E-1, 5.09942E-1), (1.12278E-1, -2.57456E-1, 5.10185E-1), (1.15303E-1, -2.59975E-1, 5.10697E-1), (1.15298E-1, -2.64834E-1, 5.11941E-1), (1.12243E-1, -2.66604E-1, 5.12496E-1), (1.15254E-1, -2.69543E-1, 5.13666E-1), (1.12271E-1, -2.61568E-1, 5.11038E-1), (1.15146E-1, -2.74047E-1, 5.15853E-1), (1.12122E-1, -2.73538E-1, 5.15526E-1), (1.14954E-1, -2.78311E-1, 5.18479E-1), (1.11897E-1, -2.78963E-1, 5.18774E-1), (1.1062E-1, -2.89191E-1, 5.28543E-1), (1.13624E-1, -2.8928E-1, 5.28746E-1), (1.12831E-1, -2.92149E-1, 5.32778E-1), (1.09272E-1, -2.93719E-1, 5.34998E-1), (1.11834E-1, -2.94565E-1, 5.37001E-1), (1.10622E-1, -2.96533E-1, 5.41377E-1), (1.07529E-1, -2.96833E-1, 5.41365E-1), (1.09182E-1, -2.98056E-1, 5.45871E-1), (1.05573E-1, -2.99786E-1, 5.55063E-1), (1.05399E-1, -2.98756E-1, 5.47616E-1), (1.0289E-1, -2.9973E-1, 5.53731E-1), (1.07503E-1, -2.99139E-1, 5.50445E-1), (-1.03721E-1, -1.25E-1, 5.09689E-1), (-1.06721E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, -1.25E-1, 5.09689E-1), (-2.70721E-1, 0., 1.06469), (-2.70721E-1, 1.E-2, 1.06469), (2.7928E-1, 0., 1.06469), (2.7928E-1, 1.E-2, 1.06469), (3.0428E-1, 0., 1.03969), (3.0428E-1, 1.E-2, 1.03969), (3.0428E-1, 0., -1.55315E-1), (3.0428E-1, 1.E-2, -1.55315E-1), (1.08597E-1, 0., 4.81735E-1), (2.7928E-1, 0., -1.80315E-1), (-2.70721E-1, 0., -1.80315E-1), (-2.95721E-1, 0., -1.55315E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (4.278E-3, 0., -1.08313E-1), (1.1228E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (1.08597E-1, 0., 2.26735E-1), (5.8279E-2, 0., 9.3216E-2), (9.7808E-2, 0., 2.00687E-1), (3.2231E-2, 0., 1.04005E-1), (8.0645E-2, 0., 1.7832E-1), (4.279E-3, 0., 1.07685E-1), (5.8277E-2, 0., 1.61157E-1), (3.223E-2, 0., 1.50368E-1), (4.278E-3, 0., 1.46688E-1), (1.1228E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (9.7808E-2, 0., 4.55688E-1), (3.2231E-2, 0., 3.59006E-1), (8.0645E-2, 0., 4.33321E-1), (4.279E-3, 0., 3.62686E-1), (5.8277E-2, 0., 4.16158E-1), (3.223E-2, 0., 4.05368E-1), (4.278E-3, 0., 4.01688E-1), (9.7808E-2, 0., 7.10687E-1), (8.0644E-2, 0., 6.8832E-1), (5.8277E-2, 0., 6.71157E-1), (3.2229E-2, 0., 6.60368E-1), (4.277E-3, 0., 6.56689E-1), (1.08597E-1, 0., 7.36735E-1), (-2.95721E-1, 0., 1.03969), (-1.00041E-1, 0., -2.8266E-2), (-8.9252E-2, 0., -5.4313E-2), (-7.2089E-2, 0., -7.668E-2), (-4.9721E-2, 0., -9.3843E-2), (-2.3674E-2, 0., -1.04633E-1), (-1.03721E-1, 0., -3.12E-4), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (-8.9251E-2, 0., 5.3687E-2), (-7.2087E-2, 0., 7.6054E-2), (-1.00041E-1, 0., 2.26735E-1), (-4.972E-2, 0., 9.3216E-2), (-8.9252E-2, 0., 2.00687E-1), (-2.3673E-2, 0., 1.04005E-1), (-7.2089E-2, 0., 1.7832E-1), (-4.9721E-2, 0., 1.61157E-1), (-2.3674E-2, 0., 1.50368E-1), (-1.03721E-1, 0., 2.54688E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (-8.9251E-2, 0., 3.08687E-1), (-7.2087E-2, 0., 3.31054E-1), (-1.00041E-1, 0., 4.81735E-1), (-4.972E-2, 0., 3.48217E-1), (-8.9252E-2, 0., 4.55688E-1), (-2.3673E-2, 0., 3.59006E-1), (-7.2089E-2, 0., 4.33321E-1), (-4.9721E-2, 0., 4.16158E-1), (-2.3674E-2, 0., 4.05368E-1), (-8.9253E-2, 0., 7.10689E-1), (-7.209E-2, 0., 6.88322E-1), (-4.9723E-2, 0., 6.71158E-1), (-2.3675E-2, 0., 6.60369E-1), (-1.00042E-1, 0., 7.36737E-1), (-2.70721E-1, 1.E-2, -1.80315E-1), (2.7928E-1, 1.E-2, -1.80315E-1), (-2.95721E-1, 1.E-2, -1.55315E-1), (-2.95721E-1, 1.E-2, 1.03969), (4.279E-3, -3.00001E-1, 3.62686E-1), (1.00007E-1, -3.00001E-1, 3.04688E-1), (8.3027E-2, -3.00001E-1, 3.28596E-1), (6.0242E-2, -3.00001E-1, 3.47055E-1), (3.3332E-2, -3.00001E-1, 3.58705E-1), (-5.1684E-2, -3.00001E-1, 3.47055E-1), (-2.4773E-2, -3.00001E-1, 3.58705E-1), (-7.4469E-2, -3.00001E-1, 3.28596E-1), (8.2767E-2, 0., 3.33176E-1), (1.00407E-1, 0., 3.10187E-1), (8.8275E-2, -3.00001E-1, 3.27251E-1), (5.9779E-2, 0., 3.50815E-1), (6.8145E-2, -3.00001E-1, 3.45472E-1), (3.3008E-2, 0., 3.61904E-1), (4.4194E-2, -3.00001E-1, 3.58261E-1), (1.7855E-2, -3.00001E-1, 3.64853E-1), (-7.4209E-2, 0., 3.33176E-1), (-5.122E-2, 0., 3.50815E-1), (-5.9587E-2, -3.00001E-1, 3.45472E-1), (-2.4449E-2, 0., 3.61904E-1), (-3.5636E-2, -3.00001E-1, 3.58261E-1), (-9.1849E-2, 0., 3.10187E-1), (-7.9717E-2, -3.00001E-1, 3.27251E-1), (1.1228E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, 0., 2.54688E-1), (1.1228E-1, -2.50001E-1, 2.54688E-1), (1.1528E-1, -2.50001E-1, 2.54688E-1), (-1.06721E-1, 0., 2.54688E-1), (-1.02938E-1, 0., 2.83417E-1), (4.279E-3, 0., 3.65686E-1), (1.11497E-1, 0., 2.83417E-1), (1.03379E-1, -3.00001E-1, 3.04688E-1), (-9.1448E-2, -3.00001E-1, 3.04688E-1), (-9.482E-2, -3.00001E-1, 3.04688E-1), (-9.296E-3, -3.00001E-1, 3.64853E-1), (-1.03721E-1, -2.50001E-1, 2.54688E-1), (-1.06719E-1, -2.57292E-1, 2.55169E-1), (-1.03719E-1, -2.57469E-1, 2.55188E-1), (-1.06569E-1, -2.7346E-1, 2.60485E-1), (-1.03563E-1, -2.73543E-1, 2.60528E-1), (-1.03684E-1, -2.66616E-1, 2.57501E-1), (-1.06713E-1, -2.61426E-1, 2.56005E-1), (-1.03712E-1, -2.61584E-1, 2.56044E-1), (-1.06686E-1, -2.66496E-1, 2.57458E-1), (-1.03338E-1, -2.78963E-1, 2.63774E-1), (-1.06039E-1, -2.82935E-1, 2.66973E-1), (-1.03013E-1, -2.82999E-1, 2.67029E-1), (-1.06352E-1, -2.7889E-1, 2.63723E-1), (-1.06721E-1, -2.50001E-1, 2.54688E-1), (-9.7621E-2, -2.99727E-1, 2.98701E-1), (-9.684E-2, -2.98755E-1, 2.92616E-1), (-1.00057E-1, -2.98745E-1, 2.92566E-1), (-9.4331E-2, -2.9973E-1, 2.98731E-1), (-9.897E-2, -2.96832E-1, 2.86364E-1), (-1.02122E-1, -2.96811E-1, 2.86304E-1), (-1.05118E-1, -2.89141E-1, 2.73478E-1), (-1.02062E-1, -2.89191E-1, 2.73541E-1), (-1.03812E-1, -2.93683E-1, 2.79933E-1), (-1.00713E-1, -2.93717E-1, 2.79997E-1), (1.14655E-1, -2.82293E-1, 2.66517E-1), (1.11572E-1, -2.83001E-1, 2.67032E-1), (1.14226E-1, -2.85953E-1, 2.69941E-1), (1.15289E-1, -2.55014E-1, 2.54942E-1), (1.12278E-1, -2.57456E-1, 2.55184E-1), (1.15303E-1, -2.59975E-1, 2.55696E-1), (1.15298E-1, -2.64834E-1, 2.56941E-1), (1.12243E-1, -2.66604E-1, 2.57496E-1), (1.15254E-1, -2.69543E-1, 2.58665E-1), (1.12271E-1, -2.61568E-1, 2.56037E-1), (1.15146E-1, -2.74047E-1, 2.60852E-1), (1.12122E-1, -2.73538E-1, 2.60526E-1), (1.14954E-1, -2.78311E-1, 2.63479E-1), (1.11897E-1, -2.78963E-1, 2.63773E-1), (1.1062E-1, -2.89191E-1, 2.73543E-1), (1.13624E-1, -2.8928E-1, 2.73746E-1), (1.12831E-1, -2.92149E-1, 2.77778E-1), (1.09272E-1, -2.93719E-1, 2.79997E-1), (1.11834E-1, -2.94565E-1, 2.82E-1), (1.10622E-1, -2.96533E-1, 2.86377E-1), (1.07529E-1, -2.96833E-1, 2.86364E-1), (1.09182E-1, -2.98056E-1, 2.9087E-1), (1.05573E-1, -2.99786E-1, 3.00063E-1), (1.05399E-1, -2.98756E-1, 2.92616E-1), (1.0289E-1, -2.9973E-1, 2.98731E-1), (1.07503E-1, -2.99139E-1, 2.95444E-1), (-1.03721E-1, -1.25E-1, 2.54688E-1), (-1.06721E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, -1.25E-1, 2.54688E-1), (4.279E-3, -3.00001E-1, 1.07685E-1), (1.00007E-1, -3.00001E-1, 4.9688E-2), (8.3027E-2, -3.00001E-1, 7.3596E-2), (6.0242E-2, -3.00001E-1, 9.2055E-2), (3.3332E-2, -3.00001E-1, 1.03704E-1), (-5.1684E-2, -3.00001E-1, 9.2055E-2), (-2.4773E-2, -3.00001E-1, 1.03704E-1), (-7.4469E-2, -3.00001E-1, 7.3596E-2), (8.2767E-2, 0., 7.8175E-2), (1.00407E-1, 0., 5.5187E-2), (8.8275E-2, -3.00001E-1, 7.225E-2), (5.9779E-2, 0., 9.5814E-2), (6.8145E-2, -3.00001E-1, 9.0471E-2), (3.3008E-2, 0., 1.06903E-1), (4.4194E-2, -3.00001E-1, 1.0326E-1), (1.7855E-2, -3.00001E-1, 1.09852E-1), (-7.4209E-2, 0., 7.8175E-2), (-5.122E-2, 0., 9.5814E-2), (-5.9587E-2, -3.00001E-1, 9.0471E-2), (-2.4449E-2, 0., 1.06903E-1), (-3.5636E-2, -3.00001E-1, 1.0326E-1), (-9.1849E-2, 0., 5.5187E-2), (-7.9717E-2, -3.00001E-1, 7.225E-2), (1.1228E-1, -1.25E-1, -3.12E-4), (1.1528E-1, 0., -3.12E-4), (1.1228E-1, -2.50001E-1, -3.12E-4), (1.1528E-1, -2.50001E-1, -3.12E-4), (-1.06721E-1, 0., -3.12E-4), (-1.02938E-1, 0., 2.8416E-2), (4.279E-3, 0., 1.10685E-1), (1.11497E-1, 0., 2.8416E-2), (1.03379E-1, -3.00001E-1, 4.9688E-2), (-9.1448E-2, -3.00001E-1, 4.9688E-2), (-9.482E-2, -3.00001E-1, 4.9688E-2), (-9.296E-3, -3.00001E-1, 1.09852E-1), (-1.03721E-1, -2.50001E-1, -3.12E-4), (-1.06719E-1, -2.57292E-1, 1.69E-4), (-1.03719E-1, -2.57469E-1, 1.88E-4), (-1.06569E-1, -2.7346E-1, 5.484E-3), (-1.03563E-1, -2.73543E-1, 5.528E-3), (-1.03684E-1, -2.66616E-1, 2.501E-3), (-1.06713E-1, -2.61426E-1, 1.004E-3), (-1.03712E-1, -2.61584E-1, 1.044E-3), (-1.06686E-1, -2.66496E-1, 2.457E-3), (-1.03338E-1, -2.78963E-1, 8.773E-3), (-1.06039E-1, -2.82935E-1, 1.1973E-2), (-1.03013E-1, -2.82999E-1, 1.2029E-2), (-1.06352E-1, -2.7889E-1, 8.722E-3), (-1.06721E-1, -2.50001E-1, -3.12E-4), (-9.7621E-2, -2.99727E-1, 4.3701E-2), (-9.684E-2, -2.98755E-1, 3.7615E-2), (-1.00057E-1, -2.98745E-1, 3.7566E-2), (-9.4331E-2, -2.9973E-1, 4.373E-2), (-9.897E-2, -2.96832E-1, 3.1364E-2), (-1.02122E-1, -2.96811E-1, 3.1303E-2), (-1.05118E-1, -2.89141E-1, 1.8478E-2), (-1.02062E-1, -2.89191E-1, 1.8541E-2), (-1.03812E-1, -2.93683E-1, 2.4932E-2), (-1.00713E-1, -2.93717E-1, 2.4997E-2), (1.14655E-1, -2.82293E-1, 1.1517E-2), (1.11572E-1, -2.83001E-1, 1.2031E-2), (1.14226E-1, -2.85953E-1, 1.494E-2), (1.15289E-1, -2.55014E-1, -5.9E-5), (1.12278E-1, -2.57456E-1, 1.84E-4), (1.15303E-1, -2.59975E-1, 6.96E-4), (1.15298E-1, -2.64834E-1, 1.94E-3), (1.12243E-1, -2.66604E-1, 2.495E-3), (1.15254E-1, -2.69543E-1, 3.665E-3), (1.12271E-1, -2.61568E-1, 1.037E-3), (1.15146E-1, -2.74047E-1, 5.852E-3), (1.12122E-1, -2.73538E-1, 5.525E-3), (1.14954E-1, -2.78311E-1, 8.478E-3), (1.11897E-1, -2.78963E-1, 8.773E-3), (1.1062E-1, -2.89191E-1, 1.8542E-2), (1.13624E-1, -2.8928E-1, 1.8745E-2), (1.12831E-1, -2.92149E-1, 2.2777E-2), (1.09272E-1, -2.93719E-1, 2.4997E-2), (1.11834E-1, -2.94565E-1, 2.7E-2), (1.10622E-1, -2.96533E-1, 3.1376E-2), (1.07529E-1, -2.96833E-1, 3.1364E-2), (1.09182E-1, -2.98056E-1, 3.587E-2), (1.05573E-1, -2.99786E-1, 4.5062E-2), (1.05399E-1, -2.98756E-1, 3.7615E-2), (1.0289E-1, -2.9973E-1, 4.373E-2), (1.07503E-1, -2.99139E-1, 4.0444E-2), (-1.03721E-1, -1.25E-1, -3.12E-4), (-1.06721E-1, -1.25E-1, -3.12E-4), (1.1528E-1, -1.25E-1, -3.12E-4), (-1.35721E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 2.86001E-1, -1.80315E-1), (1.4428E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 1.E-2, 9.7269E-1), (1.4428E-1, 2.86001E-1, 9.7269E-1)), $); +#194 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#195 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#196 = IFCINDEXEDPOLYGONALFACE((7, 8, 9)); +#197 = IFCINDEXEDPOLYGONALFACE((9, 10, 11)); +#198 = IFCINDEXEDPOLYGONALFACE((11, 12, 13)); +#199 = IFCINDEXEDPOLYGONALFACE((5, 4, 14)); +#200 = IFCINDEXEDPOLYGONALFACE((15, 16, 17)); +#201 = IFCINDEXEDPOLYGONALFACE((18, 14, 16)); +#202 = IFCINDEXEDPOLYGONALFACE((19, 17, 20)); +#203 = IFCINDEXEDPOLYGONALFACE((21, 22, 23)); +#204 = IFCINDEXEDPOLYGONALFACE((24, 21, 25)); +#205 = IFCINDEXEDPOLYGONALFACE((26, 24, 27)); +#206 = IFCINDEXEDPOLYGONALFACE((27, 28, 26)); +#207 = IFCINDEXEDPOLYGONALFACE((29, 30, 31)); +#208 = IFCINDEXEDPOLYGONALFACE((30, 32, 33)); +#209 = IFCINDEXEDPOLYGONALFACE((34, 29, 35)); +#210 = IFCINDEXEDPOLYGONALFACE((36, 37, 38)); +#211 = IFCINDEXEDPOLYGONALFACE((39, 38, 37)); +#212 = IFCINDEXEDPOLYGONALFACE((40, 38, 39)); +#213 = IFCINDEXEDPOLYGONALFACE((38, 36, 41)); +#214 = IFCINDEXEDPOLYGONALFACE((42, 41, 36)); +#215 = IFCINDEXEDPOLYGONALFACE((8, 41, 42)); +#216 = IFCINDEXEDPOLYGONALFACE((22, 41, 8)); +#217 = IFCINDEXEDPOLYGONALFACE((10, 22, 8)); +#218 = IFCINDEXEDPOLYGONALFACE((21, 22, 10)); +#219 = IFCINDEXEDPOLYGONALFACE((12, 21, 10)); +#220 = IFCINDEXEDPOLYGONALFACE((24, 21, 12)); +#221 = IFCINDEXEDPOLYGONALFACE((6, 24, 12)); +#222 = IFCINDEXEDPOLYGONALFACE((26, 24, 6)); +#223 = IFCINDEXEDPOLYGONALFACE((4, 26, 6)); +#224 = IFCINDEXEDPOLYGONALFACE((43, 26, 4)); +#225 = IFCINDEXEDPOLYGONALFACE((44, 45, 46)); +#226 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#227 = IFCINDEXEDPOLYGONALFACE((20, 46, 47)); +#228 = IFCINDEXEDPOLYGONALFACE((34, 20, 47)); +#229 = IFCINDEXEDPOLYGONALFACE((17, 20, 34)); +#230 = IFCINDEXEDPOLYGONALFACE((29, 17, 34)); +#231 = IFCINDEXEDPOLYGONALFACE((16, 17, 29)); +#232 = IFCINDEXEDPOLYGONALFACE((30, 16, 29)); +#233 = IFCINDEXEDPOLYGONALFACE((14, 16, 30)); +#234 = IFCINDEXEDPOLYGONALFACE((32, 14, 30)); +#235 = IFCINDEXEDPOLYGONALFACE((4, 14, 32)); +#236 = IFCINDEXEDPOLYGONALFACE((43, 4, 32)); +#237 = IFCINDEXEDPOLYGONALFACE((48, 7, 23)); +#238 = IFCINDEXEDPOLYGONALFACE((9, 23, 7)); +#239 = IFCINDEXEDPOLYGONALFACE((25, 23, 9)); +#240 = IFCINDEXEDPOLYGONALFACE((11, 25, 9)); +#241 = IFCINDEXEDPOLYGONALFACE((27, 25, 11)); +#242 = IFCINDEXEDPOLYGONALFACE((13, 27, 11)); +#243 = IFCINDEXEDPOLYGONALFACE((28, 27, 13)); +#244 = IFCINDEXEDPOLYGONALFACE((5, 28, 13)); +#245 = IFCINDEXEDPOLYGONALFACE((49, 50, 19)); +#246 = IFCINDEXEDPOLYGONALFACE((35, 19, 50)); +#247 = IFCINDEXEDPOLYGONALFACE((31, 19, 35)); +#248 = IFCINDEXEDPOLYGONALFACE((15, 19, 31)); +#249 = IFCINDEXEDPOLYGONALFACE((33, 15, 31)); +#250 = IFCINDEXEDPOLYGONALFACE((18, 15, 33)); +#251 = IFCINDEXEDPOLYGONALFACE((51, 18, 33)); +#252 = IFCINDEXEDPOLYGONALFACE((5, 18, 51)); +#253 = IFCINDEXEDPOLYGONALFACE((28, 5, 51)); +#254 = IFCINDEXEDPOLYGONALFACE((52, 53, 54)); +#255 = IFCINDEXEDPOLYGONALFACE((55, 56, 57)); +#256 = IFCINDEXEDPOLYGONALFACE((54, 58, 59)); +#257 = IFCINDEXEDPOLYGONALFACE((60, 57, 59)); +#258 = IFCINDEXEDPOLYGONALFACE((61, 62, 63)); +#259 = IFCINDEXEDPOLYGONALFACE((56, 64, 61)); +#260 = IFCINDEXEDPOLYGONALFACE((61, 64, 62)); +#261 = IFCINDEXEDPOLYGONALFACE((53, 52, 65)); +#262 = IFCINDEXEDPOLYGONALFACE((58, 60, 59)); +#263 = IFCINDEXEDPOLYGONALFACE((58, 54, 53)); +#264 = IFCINDEXEDPOLYGONALFACE((57, 60, 55)); +#265 = IFCINDEXEDPOLYGONALFACE((64, 56, 55)); +#266 = IFCINDEXEDPOLYGONALFACE((66, 67, 68)); +#267 = IFCINDEXEDPOLYGONALFACE((67, 66, 69)); +#268 = IFCINDEXEDPOLYGONALFACE((68, 70, 71)); +#269 = IFCINDEXEDPOLYGONALFACE((70, 68, 67)); +#270 = IFCINDEXEDPOLYGONALFACE((66, 50, 69)); +#271 = IFCINDEXEDPOLYGONALFACE((49, 69, 50)); +#272 = IFCINDEXEDPOLYGONALFACE((72, 63, 62)); +#273 = IFCINDEXEDPOLYGONALFACE((73, 72, 74)); +#274 = IFCINDEXEDPOLYGONALFACE((72, 73, 63)); +#275 = IFCINDEXEDPOLYGONALFACE((75, 71, 70)); +#276 = IFCINDEXEDPOLYGONALFACE((74, 75, 73)); +#277 = IFCINDEXEDPOLYGONALFACE((74, 71, 75)); +#278 = IFCINDEXEDPOLYGONALFACE((76, 77, 78)); +#279 = IFCINDEXEDPOLYGONALFACE((40, 39, 79)); +#280 = IFCINDEXEDPOLYGONALFACE((79, 80, 81)); +#281 = IFCINDEXEDPOLYGONALFACE((82, 83, 84)); +#282 = IFCINDEXEDPOLYGONALFACE((81, 85, 82)); +#283 = IFCINDEXEDPOLYGONALFACE((86, 84, 87)); +#284 = IFCINDEXEDPOLYGONALFACE((87, 88, 86)); +#285 = IFCINDEXEDPOLYGONALFACE((89, 76, 88)); +#286 = IFCINDEXEDPOLYGONALFACE((83, 87, 84)); +#287 = IFCINDEXEDPOLYGONALFACE((85, 83, 82)); +#288 = IFCINDEXEDPOLYGONALFACE((79, 39, 80)); +#289 = IFCINDEXEDPOLYGONALFACE((80, 85, 81)); +#290 = IFCINDEXEDPOLYGONALFACE((89, 77, 76)); +#291 = IFCINDEXEDPOLYGONALFACE((87, 89, 88)); +#292 = IFCINDEXEDPOLYGONALFACE((77, 90, 78)); +#293 = IFCINDEXEDPOLYGONALFACE((91, 78, 90)); +#294 = IFCINDEXEDPOLYGONALFACE((92, 90, 93)); +#295 = IFCINDEXEDPOLYGONALFACE((90, 92, 91)); +#296 = IFCINDEXEDPOLYGONALFACE((92, 93, 94)); +#297 = IFCINDEXEDPOLYGONALFACE((95, 94, 93)); +#298 = IFCINDEXEDPOLYGONALFACE((96, 95, 93)); +#299 = IFCINDEXEDPOLYGONALFACE((95, 96, 97)); +#300 = IFCINDEXEDPOLYGONALFACE((98, 99, 100)); +#301 = IFCINDEXEDPOLYGONALFACE((101, 96, 99)); +#302 = IFCINDEXEDPOLYGONALFACE((96, 101, 97)); +#303 = IFCINDEXEDPOLYGONALFACE((101, 99, 98)); +#304 = IFCINDEXEDPOLYGONALFACE((48, 100, 7)); +#305 = IFCINDEXEDPOLYGONALFACE((100, 48, 98)); +#306 = IFCINDEXEDPOLYGONALFACE((37, 87, 83)); +#307 = IFCINDEXEDPOLYGONALFACE((42, 77, 37)); +#308 = IFCINDEXEDPOLYGONALFACE((36, 42, 37)); +#309 = IFCINDEXEDPOLYGONALFACE((39, 37, 83)); +#310 = IFCINDEXEDPOLYGONALFACE((39, 85, 80)); +#311 = IFCINDEXEDPOLYGONALFACE((39, 83, 85)); +#312 = IFCINDEXEDPOLYGONALFACE((8, 100, 42)); +#313 = IFCINDEXEDPOLYGONALFACE((5, 13, 6)); +#314 = IFCINDEXEDPOLYGONALFACE((37, 89, 87)); +#315 = IFCINDEXEDPOLYGONALFACE((99, 96, 42)); +#316 = IFCINDEXEDPOLYGONALFACE((90, 77, 42)); +#317 = IFCINDEXEDPOLYGONALFACE((37, 77, 89)); +#318 = IFCINDEXEDPOLYGONALFACE((90, 42, 93)); +#319 = IFCINDEXEDPOLYGONALFACE((93, 42, 96)); +#320 = IFCINDEXEDPOLYGONALFACE((99, 42, 100)); +#321 = IFCINDEXEDPOLYGONALFACE((8, 10, 9)); +#322 = IFCINDEXEDPOLYGONALFACE((100, 8, 7)); +#323 = IFCINDEXEDPOLYGONALFACE((10, 12, 11)); +#324 = IFCINDEXEDPOLYGONALFACE((12, 6, 13)); +#325 = IFCINDEXEDPOLYGONALFACE((61, 102, 56)); +#326 = IFCINDEXEDPOLYGONALFACE((69, 20, 46)); +#327 = IFCINDEXEDPOLYGONALFACE((46, 102, 63)); +#328 = IFCINDEXEDPOLYGONALFACE((102, 57, 56)); +#329 = IFCINDEXEDPOLYGONALFACE((46, 44, 102)); +#330 = IFCINDEXEDPOLYGONALFACE((102, 52, 57)); +#331 = IFCINDEXEDPOLYGONALFACE((52, 59, 57)); +#332 = IFCINDEXEDPOLYGONALFACE((52, 54, 59)); +#333 = IFCINDEXEDPOLYGONALFACE((5, 14, 18)); +#334 = IFCINDEXEDPOLYGONALFACE((67, 69, 46)); +#335 = IFCINDEXEDPOLYGONALFACE((15, 17, 19)); +#336 = IFCINDEXEDPOLYGONALFACE((18, 16, 15)); +#337 = IFCINDEXEDPOLYGONALFACE((19, 20, 49)); +#338 = IFCINDEXEDPOLYGONALFACE((69, 49, 20)); +#339 = IFCINDEXEDPOLYGONALFACE((46, 70, 67)); +#340 = IFCINDEXEDPOLYGONALFACE((73, 46, 63)); +#341 = IFCINDEXEDPOLYGONALFACE((102, 61, 63)); +#342 = IFCINDEXEDPOLYGONALFACE((70, 46, 75)); +#343 = IFCINDEXEDPOLYGONALFACE((75, 46, 73)); +#344 = IFCINDEXEDPOLYGONALFACE((45, 103, 44)); +#345 = IFCINDEXEDPOLYGONALFACE((65, 44, 103)); +#346 = IFCINDEXEDPOLYGONALFACE((52, 44, 65)); +#347 = IFCINDEXEDPOLYGONALFACE((86, 104, 84)); +#348 = IFCINDEXEDPOLYGONALFACE((79, 81, 40)); +#349 = IFCINDEXEDPOLYGONALFACE((104, 41, 38)); +#350 = IFCINDEXEDPOLYGONALFACE((104, 40, 82)); +#351 = IFCINDEXEDPOLYGONALFACE((82, 40, 81)); +#352 = IFCINDEXEDPOLYGONALFACE((84, 104, 82)); +#353 = IFCINDEXEDPOLYGONALFACE((86, 88, 104)); +#354 = IFCINDEXEDPOLYGONALFACE((101, 22, 41)); +#355 = IFCINDEXEDPOLYGONALFACE((78, 41, 104)); +#356 = IFCINDEXEDPOLYGONALFACE((88, 76, 104)); +#357 = IFCINDEXEDPOLYGONALFACE((104, 76, 78)); +#358 = IFCINDEXEDPOLYGONALFACE((97, 101, 41)); +#359 = IFCINDEXEDPOLYGONALFACE((92, 94, 41)); +#360 = IFCINDEXEDPOLYGONALFACE((78, 91, 41)); +#361 = IFCINDEXEDPOLYGONALFACE((92, 41, 91)); +#362 = IFCINDEXEDPOLYGONALFACE((41, 94, 95)); +#363 = IFCINDEXEDPOLYGONALFACE((41, 95, 97)); +#364 = IFCINDEXEDPOLYGONALFACE((22, 101, 98)); +#365 = IFCINDEXEDPOLYGONALFACE((22, 48, 23)); +#366 = IFCINDEXEDPOLYGONALFACE((22, 98, 48)); +#367 = IFCINDEXEDPOLYGONALFACE((21, 23, 25)); +#368 = IFCINDEXEDPOLYGONALFACE((24, 25, 27)); +#369 = IFCINDEXEDPOLYGONALFACE((28, 43, 26)); +#370 = IFCINDEXEDPOLYGONALFACE((43, 51, 32)); +#371 = IFCINDEXEDPOLYGONALFACE((103, 64, 55)); +#372 = IFCINDEXEDPOLYGONALFACE((34, 66, 47)); +#373 = IFCINDEXEDPOLYGONALFACE((103, 47, 62)); +#374 = IFCINDEXEDPOLYGONALFACE((60, 103, 55)); +#375 = IFCINDEXEDPOLYGONALFACE((45, 47, 103)); +#376 = IFCINDEXEDPOLYGONALFACE((65, 103, 60)); +#377 = IFCINDEXEDPOLYGONALFACE((58, 65, 60)); +#378 = IFCINDEXEDPOLYGONALFACE((53, 65, 58)); +#379 = IFCINDEXEDPOLYGONALFACE((51, 43, 28)); +#380 = IFCINDEXEDPOLYGONALFACE((47, 66, 68)); +#381 = IFCINDEXEDPOLYGONALFACE((51, 33, 32)); +#382 = IFCINDEXEDPOLYGONALFACE((29, 31, 35)); +#383 = IFCINDEXEDPOLYGONALFACE((30, 33, 31)); +#384 = IFCINDEXEDPOLYGONALFACE((34, 35, 50)); +#385 = IFCINDEXEDPOLYGONALFACE((50, 66, 34)); +#386 = IFCINDEXEDPOLYGONALFACE((71, 47, 68)); +#387 = IFCINDEXEDPOLYGONALFACE((47, 72, 62)); +#388 = IFCINDEXEDPOLYGONALFACE((64, 103, 62)); +#389 = IFCINDEXEDPOLYGONALFACE((47, 71, 74)); +#390 = IFCINDEXEDPOLYGONALFACE((47, 74, 72)); +#391 = IFCINDEXEDPOLYGONALFACE((105, 106, 107)); +#392 = IFCINDEXEDPOLYGONALFACE((108, 109, 110)); +#393 = IFCINDEXEDPOLYGONALFACE((110, 111, 112)); +#394 = IFCINDEXEDPOLYGONALFACE((112, 113, 114)); +#395 = IFCINDEXEDPOLYGONALFACE((106, 105, 115)); +#396 = IFCINDEXEDPOLYGONALFACE((116, 117, 118)); +#397 = IFCINDEXEDPOLYGONALFACE((119, 115, 117)); +#398 = IFCINDEXEDPOLYGONALFACE((120, 118, 121)); +#399 = IFCINDEXEDPOLYGONALFACE((122, 123, 124)); +#400 = IFCINDEXEDPOLYGONALFACE((125, 122, 126)); +#401 = IFCINDEXEDPOLYGONALFACE((127, 125, 128)); +#402 = IFCINDEXEDPOLYGONALFACE((128, 129, 127)); +#403 = IFCINDEXEDPOLYGONALFACE((130, 131, 132)); +#404 = IFCINDEXEDPOLYGONALFACE((133, 134, 135)); +#405 = IFCINDEXEDPOLYGONALFACE((134, 130, 136)); +#406 = IFCINDEXEDPOLYGONALFACE((137, 133, 138)); +#407 = IFCINDEXEDPOLYGONALFACE((139, 140, 141)); +#408 = IFCINDEXEDPOLYGONALFACE((142, 141, 140)); +#409 = IFCINDEXEDPOLYGONALFACE((143, 141, 142)); +#410 = IFCINDEXEDPOLYGONALFACE((141, 139, 144)); +#411 = IFCINDEXEDPOLYGONALFACE((145, 144, 139)); +#412 = IFCINDEXEDPOLYGONALFACE((109, 144, 145)); +#413 = IFCINDEXEDPOLYGONALFACE((123, 144, 109)); +#414 = IFCINDEXEDPOLYGONALFACE((111, 123, 109)); +#415 = IFCINDEXEDPOLYGONALFACE((122, 123, 111)); +#416 = IFCINDEXEDPOLYGONALFACE((113, 122, 111)); +#417 = IFCINDEXEDPOLYGONALFACE((125, 122, 113)); +#418 = IFCINDEXEDPOLYGONALFACE((107, 125, 113)); +#419 = IFCINDEXEDPOLYGONALFACE((127, 125, 107)); +#420 = IFCINDEXEDPOLYGONALFACE((105, 127, 107)); +#421 = IFCINDEXEDPOLYGONALFACE((131, 127, 105)); +#422 = IFCINDEXEDPOLYGONALFACE((146, 147, 148)); +#423 = IFCINDEXEDPOLYGONALFACE((149, 148, 147)); +#424 = IFCINDEXEDPOLYGONALFACE((150, 148, 149)); +#425 = IFCINDEXEDPOLYGONALFACE((121, 150, 149)); +#426 = IFCINDEXEDPOLYGONALFACE((137, 121, 149)); +#427 = IFCINDEXEDPOLYGONALFACE((118, 121, 137)); +#428 = IFCINDEXEDPOLYGONALFACE((133, 118, 137)); +#429 = IFCINDEXEDPOLYGONALFACE((117, 118, 133)); +#430 = IFCINDEXEDPOLYGONALFACE((134, 117, 133)); +#431 = IFCINDEXEDPOLYGONALFACE((115, 117, 134)); +#432 = IFCINDEXEDPOLYGONALFACE((130, 115, 134)); +#433 = IFCINDEXEDPOLYGONALFACE((105, 115, 130)); +#434 = IFCINDEXEDPOLYGONALFACE((131, 105, 130)); +#435 = IFCINDEXEDPOLYGONALFACE((151, 108, 124)); +#436 = IFCINDEXEDPOLYGONALFACE((110, 124, 108)); +#437 = IFCINDEXEDPOLYGONALFACE((126, 124, 110)); +#438 = IFCINDEXEDPOLYGONALFACE((112, 126, 110)); +#439 = IFCINDEXEDPOLYGONALFACE((128, 126, 112)); +#440 = IFCINDEXEDPOLYGONALFACE((114, 128, 112)); +#441 = IFCINDEXEDPOLYGONALFACE((129, 128, 114)); +#442 = IFCINDEXEDPOLYGONALFACE((106, 129, 114)); +#443 = IFCINDEXEDPOLYGONALFACE((152, 153, 120)); +#444 = IFCINDEXEDPOLYGONALFACE((138, 120, 153)); +#445 = IFCINDEXEDPOLYGONALFACE((135, 120, 138)); +#446 = IFCINDEXEDPOLYGONALFACE((116, 120, 135)); +#447 = IFCINDEXEDPOLYGONALFACE((136, 116, 135)); +#448 = IFCINDEXEDPOLYGONALFACE((119, 116, 136)); +#449 = IFCINDEXEDPOLYGONALFACE((132, 119, 136)); +#450 = IFCINDEXEDPOLYGONALFACE((106, 119, 132)); +#451 = IFCINDEXEDPOLYGONALFACE((129, 106, 132)); +#452 = IFCINDEXEDPOLYGONALFACE((154, 155, 156)); +#453 = IFCINDEXEDPOLYGONALFACE((157, 158, 159)); +#454 = IFCINDEXEDPOLYGONALFACE((156, 160, 161)); +#455 = IFCINDEXEDPOLYGONALFACE((162, 159, 161)); +#456 = IFCINDEXEDPOLYGONALFACE((163, 164, 165)); +#457 = IFCINDEXEDPOLYGONALFACE((158, 166, 163)); +#458 = IFCINDEXEDPOLYGONALFACE((163, 166, 164)); +#459 = IFCINDEXEDPOLYGONALFACE((155, 154, 167)); +#460 = IFCINDEXEDPOLYGONALFACE((160, 162, 161)); +#461 = IFCINDEXEDPOLYGONALFACE((160, 156, 155)); +#462 = IFCINDEXEDPOLYGONALFACE((159, 162, 157)); +#463 = IFCINDEXEDPOLYGONALFACE((166, 158, 157)); +#464 = IFCINDEXEDPOLYGONALFACE((168, 169, 170)); +#465 = IFCINDEXEDPOLYGONALFACE((169, 168, 171)); +#466 = IFCINDEXEDPOLYGONALFACE((170, 172, 173)); +#467 = IFCINDEXEDPOLYGONALFACE((172, 170, 169)); +#468 = IFCINDEXEDPOLYGONALFACE((168, 153, 171)); +#469 = IFCINDEXEDPOLYGONALFACE((152, 171, 153)); +#470 = IFCINDEXEDPOLYGONALFACE((174, 165, 164)); +#471 = IFCINDEXEDPOLYGONALFACE((175, 174, 176)); +#472 = IFCINDEXEDPOLYGONALFACE((174, 175, 165)); +#473 = IFCINDEXEDPOLYGONALFACE((177, 173, 172)); +#474 = IFCINDEXEDPOLYGONALFACE((176, 177, 175)); +#475 = IFCINDEXEDPOLYGONALFACE((176, 173, 177)); +#476 = IFCINDEXEDPOLYGONALFACE((178, 179, 180)); +#477 = IFCINDEXEDPOLYGONALFACE((143, 142, 181)); +#478 = IFCINDEXEDPOLYGONALFACE((181, 182, 183)); +#479 = IFCINDEXEDPOLYGONALFACE((184, 185, 186)); +#480 = IFCINDEXEDPOLYGONALFACE((183, 187, 184)); +#481 = IFCINDEXEDPOLYGONALFACE((188, 186, 189)); +#482 = IFCINDEXEDPOLYGONALFACE((189, 190, 188)); +#483 = IFCINDEXEDPOLYGONALFACE((191, 178, 190)); +#484 = IFCINDEXEDPOLYGONALFACE((185, 189, 186)); +#485 = IFCINDEXEDPOLYGONALFACE((187, 185, 184)); +#486 = IFCINDEXEDPOLYGONALFACE((181, 142, 182)); +#487 = IFCINDEXEDPOLYGONALFACE((182, 187, 183)); +#488 = IFCINDEXEDPOLYGONALFACE((191, 179, 178)); +#489 = IFCINDEXEDPOLYGONALFACE((189, 191, 190)); +#490 = IFCINDEXEDPOLYGONALFACE((179, 192, 180)); +#491 = IFCINDEXEDPOLYGONALFACE((193, 180, 192)); +#492 = IFCINDEXEDPOLYGONALFACE((194, 192, 195)); +#493 = IFCINDEXEDPOLYGONALFACE((192, 194, 193)); +#494 = IFCINDEXEDPOLYGONALFACE((194, 195, 196)); +#495 = IFCINDEXEDPOLYGONALFACE((197, 196, 195)); +#496 = IFCINDEXEDPOLYGONALFACE((198, 197, 195)); +#497 = IFCINDEXEDPOLYGONALFACE((197, 198, 199)); +#498 = IFCINDEXEDPOLYGONALFACE((200, 201, 202)); +#499 = IFCINDEXEDPOLYGONALFACE((203, 198, 201)); +#500 = IFCINDEXEDPOLYGONALFACE((198, 203, 199)); +#501 = IFCINDEXEDPOLYGONALFACE((203, 201, 200)); +#502 = IFCINDEXEDPOLYGONALFACE((151, 202, 108)); +#503 = IFCINDEXEDPOLYGONALFACE((202, 151, 200)); +#504 = IFCINDEXEDPOLYGONALFACE((140, 189, 185)); +#505 = IFCINDEXEDPOLYGONALFACE((145, 179, 140)); +#506 = IFCINDEXEDPOLYGONALFACE((139, 145, 140)); +#507 = IFCINDEXEDPOLYGONALFACE((142, 140, 185)); +#508 = IFCINDEXEDPOLYGONALFACE((142, 187, 182)); +#509 = IFCINDEXEDPOLYGONALFACE((142, 185, 187)); +#510 = IFCINDEXEDPOLYGONALFACE((109, 202, 145)); +#511 = IFCINDEXEDPOLYGONALFACE((106, 114, 107)); +#512 = IFCINDEXEDPOLYGONALFACE((140, 191, 189)); +#513 = IFCINDEXEDPOLYGONALFACE((201, 198, 145)); +#514 = IFCINDEXEDPOLYGONALFACE((192, 179, 145)); +#515 = IFCINDEXEDPOLYGONALFACE((140, 179, 191)); +#516 = IFCINDEXEDPOLYGONALFACE((192, 145, 195)); +#517 = IFCINDEXEDPOLYGONALFACE((195, 145, 198)); +#518 = IFCINDEXEDPOLYGONALFACE((201, 145, 202)); +#519 = IFCINDEXEDPOLYGONALFACE((109, 111, 110)); +#520 = IFCINDEXEDPOLYGONALFACE((202, 109, 108)); +#521 = IFCINDEXEDPOLYGONALFACE((111, 113, 112)); +#522 = IFCINDEXEDPOLYGONALFACE((113, 107, 114)); +#523 = IFCINDEXEDPOLYGONALFACE((163, 204, 158)); +#524 = IFCINDEXEDPOLYGONALFACE((171, 121, 150)); +#525 = IFCINDEXEDPOLYGONALFACE((150, 204, 165)); +#526 = IFCINDEXEDPOLYGONALFACE((204, 159, 158)); +#527 = IFCINDEXEDPOLYGONALFACE((204, 150, 146)); +#528 = IFCINDEXEDPOLYGONALFACE((148, 146, 150)); +#529 = IFCINDEXEDPOLYGONALFACE((204, 154, 159)); +#530 = IFCINDEXEDPOLYGONALFACE((154, 161, 159)); +#531 = IFCINDEXEDPOLYGONALFACE((154, 156, 161)); +#532 = IFCINDEXEDPOLYGONALFACE((106, 115, 119)); +#533 = IFCINDEXEDPOLYGONALFACE((169, 171, 150)); +#534 = IFCINDEXEDPOLYGONALFACE((116, 118, 120)); +#535 = IFCINDEXEDPOLYGONALFACE((119, 117, 116)); +#536 = IFCINDEXEDPOLYGONALFACE((120, 121, 152)); +#537 = IFCINDEXEDPOLYGONALFACE((171, 152, 121)); +#538 = IFCINDEXEDPOLYGONALFACE((150, 172, 169)); +#539 = IFCINDEXEDPOLYGONALFACE((175, 150, 165)); +#540 = IFCINDEXEDPOLYGONALFACE((204, 163, 165)); +#541 = IFCINDEXEDPOLYGONALFACE((172, 150, 177)); +#542 = IFCINDEXEDPOLYGONALFACE((177, 150, 175)); +#543 = IFCINDEXEDPOLYGONALFACE((147, 205, 146)); +#544 = IFCINDEXEDPOLYGONALFACE((167, 146, 205)); +#545 = IFCINDEXEDPOLYGONALFACE((154, 146, 167)); +#546 = IFCINDEXEDPOLYGONALFACE((188, 206, 186)); +#547 = IFCINDEXEDPOLYGONALFACE((181, 183, 143)); +#548 = IFCINDEXEDPOLYGONALFACE((206, 144, 141)); +#549 = IFCINDEXEDPOLYGONALFACE((206, 143, 184)); +#550 = IFCINDEXEDPOLYGONALFACE((184, 143, 183)); +#551 = IFCINDEXEDPOLYGONALFACE((186, 206, 184)); +#552 = IFCINDEXEDPOLYGONALFACE((188, 190, 206)); +#553 = IFCINDEXEDPOLYGONALFACE((203, 123, 144)); +#554 = IFCINDEXEDPOLYGONALFACE((180, 144, 206)); +#555 = IFCINDEXEDPOLYGONALFACE((190, 178, 206)); +#556 = IFCINDEXEDPOLYGONALFACE((206, 178, 180)); +#557 = IFCINDEXEDPOLYGONALFACE((199, 203, 144)); +#558 = IFCINDEXEDPOLYGONALFACE((194, 196, 144)); +#559 = IFCINDEXEDPOLYGONALFACE((180, 193, 144)); +#560 = IFCINDEXEDPOLYGONALFACE((194, 144, 193)); +#561 = IFCINDEXEDPOLYGONALFACE((144, 196, 197)); +#562 = IFCINDEXEDPOLYGONALFACE((144, 197, 199)); +#563 = IFCINDEXEDPOLYGONALFACE((123, 203, 200)); +#564 = IFCINDEXEDPOLYGONALFACE((123, 151, 124)); +#565 = IFCINDEXEDPOLYGONALFACE((123, 200, 151)); +#566 = IFCINDEXEDPOLYGONALFACE((122, 124, 126)); +#567 = IFCINDEXEDPOLYGONALFACE((125, 126, 128)); +#568 = IFCINDEXEDPOLYGONALFACE((129, 131, 127)); +#569 = IFCINDEXEDPOLYGONALFACE((205, 166, 157)); +#570 = IFCINDEXEDPOLYGONALFACE((137, 168, 149)); +#571 = IFCINDEXEDPOLYGONALFACE((205, 149, 164)); +#572 = IFCINDEXEDPOLYGONALFACE((162, 205, 157)); +#573 = IFCINDEXEDPOLYGONALFACE((147, 149, 205)); +#574 = IFCINDEXEDPOLYGONALFACE((167, 205, 162)); +#575 = IFCINDEXEDPOLYGONALFACE((160, 167, 162)); +#576 = IFCINDEXEDPOLYGONALFACE((155, 167, 160)); +#577 = IFCINDEXEDPOLYGONALFACE((132, 131, 129)); +#578 = IFCINDEXEDPOLYGONALFACE((149, 168, 170)); +#579 = IFCINDEXEDPOLYGONALFACE((130, 132, 136)); +#580 = IFCINDEXEDPOLYGONALFACE((133, 135, 138)); +#581 = IFCINDEXEDPOLYGONALFACE((134, 136, 135)); +#582 = IFCINDEXEDPOLYGONALFACE((137, 138, 153)); +#583 = IFCINDEXEDPOLYGONALFACE((153, 168, 137)); +#584 = IFCINDEXEDPOLYGONALFACE((173, 149, 170)); +#585 = IFCINDEXEDPOLYGONALFACE((149, 174, 164)); +#586 = IFCINDEXEDPOLYGONALFACE((166, 205, 164)); +#587 = IFCINDEXEDPOLYGONALFACE((149, 173, 176)); +#588 = IFCINDEXEDPOLYGONALFACE((149, 176, 174)); +#589 = IFCINDEXEDPOLYGONALFACE((207, 208, 209)); +#590 = IFCINDEXEDPOLYGONALFACE((210, 209, 208)); +#591 = IFCINDEXEDPOLYGONALFACE((211, 209, 212)); +#592 = IFCINDEXEDPOLYGONALFACE((210, 212, 209)); +#593 = IFCINDEXEDPOLYGONALFACE((213, 211, 214)); +#594 = IFCINDEXEDPOLYGONALFACE((212, 214, 211)); +#595 = IFCINDEXEDPOLYGONALFACE((141, 215, 139)); +#596 = IFCINDEXEDPOLYGONALFACE((216, 217, 213)); +#597 = IFCINDEXEDPOLYGONALFACE((218, 213, 217)); +#598 = IFCINDEXEDPOLYGONALFACE((219, 213, 218)); +#599 = IFCINDEXEDPOLYGONALFACE((220, 213, 219)); +#600 = IFCINDEXEDPOLYGONALFACE((221, 213, 220)); +#601 = IFCINDEXEDPOLYGONALFACE((222, 213, 221)); +#602 = IFCINDEXEDPOLYGONALFACE((223, 213, 222)); +#603 = IFCINDEXEDPOLYGONALFACE((211, 213, 223)); +#604 = IFCINDEXEDPOLYGONALFACE((224, 219, 218)); +#605 = IFCINDEXEDPOLYGONALFACE((225, 211, 223)); +#606 = IFCINDEXEDPOLYGONALFACE((226, 211, 225)); +#607 = IFCINDEXEDPOLYGONALFACE((227, 211, 226)); +#608 = IFCINDEXEDPOLYGONALFACE((228, 211, 227)); +#609 = IFCINDEXEDPOLYGONALFACE((229, 211, 228)); +#610 = IFCINDEXEDPOLYGONALFACE((230, 229, 228)); +#611 = IFCINDEXEDPOLYGONALFACE((231, 229, 230)); +#612 = IFCINDEXEDPOLYGONALFACE((232, 231, 230)); +#613 = IFCINDEXEDPOLYGONALFACE((233, 231, 232)); +#614 = IFCINDEXEDPOLYGONALFACE((234, 233, 232)); +#615 = IFCINDEXEDPOLYGONALFACE((235, 233, 234)); +#616 = IFCINDEXEDPOLYGONALFACE((236, 235, 234)); +#617 = IFCINDEXEDPOLYGONALFACE((237, 236, 234)); +#618 = IFCINDEXEDPOLYGONALFACE((238, 211, 229)); +#619 = IFCINDEXEDPOLYGONALFACE((239, 211, 238)); +#620 = IFCINDEXEDPOLYGONALFACE((240, 211, 239)); +#621 = IFCINDEXEDPOLYGONALFACE((241, 211, 240)); +#622 = IFCINDEXEDPOLYGONALFACE((215, 211, 241)); +#623 = IFCINDEXEDPOLYGONALFACE((242, 215, 241)); +#624 = IFCINDEXEDPOLYGONALFACE((243, 215, 242)); +#625 = IFCINDEXEDPOLYGONALFACE((244, 243, 242)); +#626 = IFCINDEXEDPOLYGONALFACE((245, 243, 244)); +#627 = IFCINDEXEDPOLYGONALFACE((246, 245, 244)); +#628 = IFCINDEXEDPOLYGONALFACE((247, 245, 246)); +#629 = IFCINDEXEDPOLYGONALFACE((248, 247, 246)); +#630 = IFCINDEXEDPOLYGONALFACE((249, 248, 246)); +#631 = IFCINDEXEDPOLYGONALFACE((141, 211, 215)); +#632 = IFCINDEXEDPOLYGONALFACE((144, 211, 141)); +#633 = IFCINDEXEDPOLYGONALFACE((123, 211, 144)); +#634 = IFCINDEXEDPOLYGONALFACE((122, 211, 123)); +#635 = IFCINDEXEDPOLYGONALFACE((125, 211, 122)); +#636 = IFCINDEXEDPOLYGONALFACE((250, 211, 125)); +#637 = IFCINDEXEDPOLYGONALFACE((127, 250, 125)); +#638 = IFCINDEXEDPOLYGONALFACE((251, 250, 127)); +#639 = IFCINDEXEDPOLYGONALFACE((131, 251, 127)); +#640 = IFCINDEXEDPOLYGONALFACE((252, 251, 131)); +#641 = IFCINDEXEDPOLYGONALFACE((253, 252, 131)); +#642 = IFCINDEXEDPOLYGONALFACE((254, 253, 131)); +#643 = IFCINDEXEDPOLYGONALFACE((255, 211, 250)); +#644 = IFCINDEXEDPOLYGONALFACE((38, 211, 255)); +#645 = IFCINDEXEDPOLYGONALFACE((41, 211, 38)); +#646 = IFCINDEXEDPOLYGONALFACE((22, 211, 41)); +#647 = IFCINDEXEDPOLYGONALFACE((21, 211, 22)); +#648 = IFCINDEXEDPOLYGONALFACE((24, 211, 21)); +#649 = IFCINDEXEDPOLYGONALFACE((26, 211, 24)); +#650 = IFCINDEXEDPOLYGONALFACE((43, 211, 26)); +#651 = IFCINDEXEDPOLYGONALFACE((256, 257, 218)); +#652 = IFCINDEXEDPOLYGONALFACE((258, 218, 257)); +#653 = IFCINDEXEDPOLYGONALFACE((259, 218, 258)); +#654 = IFCINDEXEDPOLYGONALFACE((260, 218, 259)); +#655 = IFCINDEXEDPOLYGONALFACE((261, 218, 260)); +#656 = IFCINDEXEDPOLYGONALFACE((224, 218, 261)); +#657 = IFCINDEXEDPOLYGONALFACE((262, 257, 256)); +#658 = IFCINDEXEDPOLYGONALFACE((263, 262, 256)); +#659 = IFCINDEXEDPOLYGONALFACE((264, 263, 256)); +#660 = IFCINDEXEDPOLYGONALFACE((265, 264, 256)); +#661 = IFCINDEXEDPOLYGONALFACE((266, 265, 256)); +#662 = IFCINDEXEDPOLYGONALFACE((267, 266, 256)); +#663 = IFCINDEXEDPOLYGONALFACE((268, 266, 267)); +#664 = IFCINDEXEDPOLYGONALFACE((269, 268, 267)); +#665 = IFCINDEXEDPOLYGONALFACE((270, 268, 269)); +#666 = IFCINDEXEDPOLYGONALFACE((271, 270, 269)); +#667 = IFCINDEXEDPOLYGONALFACE((234, 270, 271)); +#668 = IFCINDEXEDPOLYGONALFACE((272, 234, 271)); +#669 = IFCINDEXEDPOLYGONALFACE((273, 234, 272)); +#670 = IFCINDEXEDPOLYGONALFACE((237, 234, 273)); +#671 = IFCINDEXEDPOLYGONALFACE((274, 267, 256)); +#672 = IFCINDEXEDPOLYGONALFACE((275, 274, 256)); +#673 = IFCINDEXEDPOLYGONALFACE((276, 275, 256)); +#674 = IFCINDEXEDPOLYGONALFACE((277, 276, 256)); +#675 = IFCINDEXEDPOLYGONALFACE((278, 277, 256)); +#676 = IFCINDEXEDPOLYGONALFACE((279, 278, 256)); +#677 = IFCINDEXEDPOLYGONALFACE((280, 278, 279)); +#678 = IFCINDEXEDPOLYGONALFACE((281, 280, 279)); +#679 = IFCINDEXEDPOLYGONALFACE((282, 280, 281)); +#680 = IFCINDEXEDPOLYGONALFACE((283, 282, 281)); +#681 = IFCINDEXEDPOLYGONALFACE((246, 282, 283)); +#682 = IFCINDEXEDPOLYGONALFACE((284, 246, 283)); +#683 = IFCINDEXEDPOLYGONALFACE((285, 246, 284)); +#684 = IFCINDEXEDPOLYGONALFACE((249, 246, 285)); +#685 = IFCINDEXEDPOLYGONALFACE((147, 279, 256)); +#686 = IFCINDEXEDPOLYGONALFACE((146, 279, 147)); +#687 = IFCINDEXEDPOLYGONALFACE((149, 147, 256)); +#688 = IFCINDEXEDPOLYGONALFACE((137, 149, 256)); +#689 = IFCINDEXEDPOLYGONALFACE((133, 137, 256)); +#690 = IFCINDEXEDPOLYGONALFACE((134, 133, 256)); +#691 = IFCINDEXEDPOLYGONALFACE((286, 134, 256)); +#692 = IFCINDEXEDPOLYGONALFACE((130, 134, 286)); +#693 = IFCINDEXEDPOLYGONALFACE((287, 130, 286)); +#694 = IFCINDEXEDPOLYGONALFACE((131, 130, 287)); +#695 = IFCINDEXEDPOLYGONALFACE((288, 131, 287)); +#696 = IFCINDEXEDPOLYGONALFACE((289, 131, 288)); +#697 = IFCINDEXEDPOLYGONALFACE((254, 131, 289)); +#698 = IFCINDEXEDPOLYGONALFACE((290, 286, 256)); +#699 = IFCINDEXEDPOLYGONALFACE((45, 290, 256)); +#700 = IFCINDEXEDPOLYGONALFACE((44, 290, 45)); +#701 = IFCINDEXEDPOLYGONALFACE((47, 45, 256)); +#702 = IFCINDEXEDPOLYGONALFACE((34, 47, 256)); +#703 = IFCINDEXEDPOLYGONALFACE((29, 34, 256)); +#704 = IFCINDEXEDPOLYGONALFACE((30, 29, 256)); +#705 = IFCINDEXEDPOLYGONALFACE((32, 30, 256)); +#706 = IFCINDEXEDPOLYGONALFACE((43, 32, 256)); +#707 = IFCINDEXEDPOLYGONALFACE((211, 43, 256)); +#708 = IFCINDEXEDPOLYGONALFACE((209, 211, 256)); +#709 = IFCINDEXEDPOLYGONALFACE((207, 209, 256)); +#710 = IFCINDEXEDPOLYGONALFACE((38, 255, 36)); +#711 = IFCINDEXEDPOLYGONALFACE((291, 292, 293)); +#712 = IFCINDEXEDPOLYGONALFACE((214, 293, 292)); +#713 = IFCINDEXEDPOLYGONALFACE((294, 293, 214)); +#714 = IFCINDEXEDPOLYGONALFACE((212, 294, 214)); +#715 = IFCINDEXEDPOLYGONALFACE((208, 294, 212)); +#716 = IFCINDEXEDPOLYGONALFACE((210, 208, 212)); +#717 = IFCINDEXEDPOLYGONALFACE((292, 216, 214)); +#718 = IFCINDEXEDPOLYGONALFACE((213, 214, 216)); +#719 = IFCINDEXEDPOLYGONALFACE((291, 217, 292)); +#720 = IFCINDEXEDPOLYGONALFACE((216, 292, 217)); +#721 = IFCINDEXEDPOLYGONALFACE((293, 218, 291)); +#722 = IFCINDEXEDPOLYGONALFACE((217, 291, 218)); +#723 = IFCINDEXEDPOLYGONALFACE((218, 293, 256)); +#724 = IFCINDEXEDPOLYGONALFACE((294, 256, 293)); +#725 = IFCINDEXEDPOLYGONALFACE((256, 294, 207)); +#726 = IFCINDEXEDPOLYGONALFACE((208, 207, 294)); +#727 = IFCINDEXEDPOLYGONALFACE((246, 295, 244)); +#728 = IFCINDEXEDPOLYGONALFACE((296, 240, 297)); +#729 = IFCINDEXEDPOLYGONALFACE((297, 241, 298)); +#730 = IFCINDEXEDPOLYGONALFACE((298, 242, 299)); +#731 = IFCINDEXEDPOLYGONALFACE((295, 246, 282)); +#732 = IFCINDEXEDPOLYGONALFACE((300, 280, 278)); +#733 = IFCINDEXEDPOLYGONALFACE((301, 282, 280)); +#734 = IFCINDEXEDPOLYGONALFACE((302, 278, 277)); +#735 = IFCINDEXEDPOLYGONALFACE((303, 304, 305)); +#736 = IFCINDEXEDPOLYGONALFACE((306, 303, 307)); +#737 = IFCINDEXEDPOLYGONALFACE((308, 306, 309)); +#738 = IFCINDEXEDPOLYGONALFACE((309, 310, 308)); +#739 = IFCINDEXEDPOLYGONALFACE((311, 312, 313)); +#740 = IFCINDEXEDPOLYGONALFACE((312, 314, 315)); +#741 = IFCINDEXEDPOLYGONALFACE((316, 311, 317)); +#742 = IFCINDEXEDPOLYGONALFACE((238, 318, 319)); +#743 = IFCINDEXEDPOLYGONALFACE((320, 319, 318)); +#744 = IFCINDEXEDPOLYGONALFACE((321, 319, 320)); +#745 = IFCINDEXEDPOLYGONALFACE((322, 274, 323)); +#746 = IFCINDEXEDPOLYGONALFACE((275, 323, 274)); +#747 = IFCINDEXEDPOLYGONALFACE((276, 323, 275)); +#748 = IFCINDEXEDPOLYGONALFACE((277, 323, 276)); +#749 = IFCINDEXEDPOLYGONALFACE((316, 323, 277)); +#750 = IFCINDEXEDPOLYGONALFACE((278, 316, 277)); +#751 = IFCINDEXEDPOLYGONALFACE((311, 316, 278)); +#752 = IFCINDEXEDPOLYGONALFACE((280, 311, 278)); +#753 = IFCINDEXEDPOLYGONALFACE((312, 311, 280)); +#754 = IFCINDEXEDPOLYGONALFACE((282, 312, 280)); +#755 = IFCINDEXEDPOLYGONALFACE((314, 312, 282)); +#756 = IFCINDEXEDPOLYGONALFACE((246, 314, 282)); +#757 = IFCINDEXEDPOLYGONALFACE((324, 314, 246)); +#758 = IFCINDEXEDPOLYGONALFACE((238, 319, 239)); +#759 = IFCINDEXEDPOLYGONALFACE((325, 239, 319)); +#760 = IFCINDEXEDPOLYGONALFACE((240, 239, 325)); +#761 = IFCINDEXEDPOLYGONALFACE((304, 240, 325)); +#762 = IFCINDEXEDPOLYGONALFACE((241, 240, 304)); +#763 = IFCINDEXEDPOLYGONALFACE((303, 241, 304)); +#764 = IFCINDEXEDPOLYGONALFACE((242, 241, 303)); +#765 = IFCINDEXEDPOLYGONALFACE((306, 242, 303)); +#766 = IFCINDEXEDPOLYGONALFACE((244, 242, 306)); +#767 = IFCINDEXEDPOLYGONALFACE((308, 244, 306)); +#768 = IFCINDEXEDPOLYGONALFACE((246, 244, 308)); +#769 = IFCINDEXEDPOLYGONALFACE((324, 246, 308)); +#770 = IFCINDEXEDPOLYGONALFACE((326, 296, 305)); +#771 = IFCINDEXEDPOLYGONALFACE((297, 305, 296)); +#772 = IFCINDEXEDPOLYGONALFACE((307, 305, 297)); +#773 = IFCINDEXEDPOLYGONALFACE((298, 307, 297)); +#774 = IFCINDEXEDPOLYGONALFACE((309, 307, 298)); +#775 = IFCINDEXEDPOLYGONALFACE((299, 309, 298)); +#776 = IFCINDEXEDPOLYGONALFACE((310, 309, 299)); +#777 = IFCINDEXEDPOLYGONALFACE((295, 310, 299)); +#778 = IFCINDEXEDPOLYGONALFACE((327, 328, 302)); +#779 = IFCINDEXEDPOLYGONALFACE((317, 302, 328)); +#780 = IFCINDEXEDPOLYGONALFACE((313, 302, 317)); +#781 = IFCINDEXEDPOLYGONALFACE((300, 302, 313)); +#782 = IFCINDEXEDPOLYGONALFACE((315, 300, 313)); +#783 = IFCINDEXEDPOLYGONALFACE((301, 300, 315)); +#784 = IFCINDEXEDPOLYGONALFACE((329, 301, 315)); +#785 = IFCINDEXEDPOLYGONALFACE((295, 301, 329)); +#786 = IFCINDEXEDPOLYGONALFACE((310, 295, 329)); +#787 = IFCINDEXEDPOLYGONALFACE((330, 331, 332)); +#788 = IFCINDEXEDPOLYGONALFACE((333, 334, 335)); +#789 = IFCINDEXEDPOLYGONALFACE((332, 336, 337)); +#790 = IFCINDEXEDPOLYGONALFACE((338, 335, 337)); +#791 = IFCINDEXEDPOLYGONALFACE((339, 340, 341)); +#792 = IFCINDEXEDPOLYGONALFACE((334, 342, 339)); +#793 = IFCINDEXEDPOLYGONALFACE((339, 342, 340)); +#794 = IFCINDEXEDPOLYGONALFACE((331, 330, 343)); +#795 = IFCINDEXEDPOLYGONALFACE((336, 338, 337)); +#796 = IFCINDEXEDPOLYGONALFACE((336, 332, 331)); +#797 = IFCINDEXEDPOLYGONALFACE((335, 338, 333)); +#798 = IFCINDEXEDPOLYGONALFACE((342, 334, 333)); +#799 = IFCINDEXEDPOLYGONALFACE((344, 345, 346)); +#800 = IFCINDEXEDPOLYGONALFACE((345, 344, 347)); +#801 = IFCINDEXEDPOLYGONALFACE((346, 348, 349)); +#802 = IFCINDEXEDPOLYGONALFACE((348, 346, 345)); +#803 = IFCINDEXEDPOLYGONALFACE((344, 328, 347)); +#804 = IFCINDEXEDPOLYGONALFACE((327, 347, 328)); +#805 = IFCINDEXEDPOLYGONALFACE((350, 341, 340)); +#806 = IFCINDEXEDPOLYGONALFACE((351, 350, 352)); +#807 = IFCINDEXEDPOLYGONALFACE((350, 351, 341)); +#808 = IFCINDEXEDPOLYGONALFACE((353, 349, 348)); +#809 = IFCINDEXEDPOLYGONALFACE((352, 353, 351)); +#810 = IFCINDEXEDPOLYGONALFACE((352, 349, 353)); +#811 = IFCINDEXEDPOLYGONALFACE((354, 355, 356)); +#812 = IFCINDEXEDPOLYGONALFACE((321, 320, 357)); +#813 = IFCINDEXEDPOLYGONALFACE((357, 358, 359)); +#814 = IFCINDEXEDPOLYGONALFACE((360, 361, 362)); +#815 = IFCINDEXEDPOLYGONALFACE((359, 363, 360)); +#816 = IFCINDEXEDPOLYGONALFACE((364, 362, 365)); +#817 = IFCINDEXEDPOLYGONALFACE((365, 366, 364)); +#818 = IFCINDEXEDPOLYGONALFACE((367, 354, 366)); +#819 = IFCINDEXEDPOLYGONALFACE((361, 365, 362)); +#820 = IFCINDEXEDPOLYGONALFACE((363, 361, 360)); +#821 = IFCINDEXEDPOLYGONALFACE((357, 320, 358)); +#822 = IFCINDEXEDPOLYGONALFACE((358, 363, 359)); +#823 = IFCINDEXEDPOLYGONALFACE((367, 355, 354)); +#824 = IFCINDEXEDPOLYGONALFACE((365, 367, 366)); +#825 = IFCINDEXEDPOLYGONALFACE((355, 368, 356)); +#826 = IFCINDEXEDPOLYGONALFACE((369, 356, 368)); +#827 = IFCINDEXEDPOLYGONALFACE((370, 368, 371)); +#828 = IFCINDEXEDPOLYGONALFACE((368, 370, 369)); +#829 = IFCINDEXEDPOLYGONALFACE((370, 371, 372)); +#830 = IFCINDEXEDPOLYGONALFACE((373, 372, 371)); +#831 = IFCINDEXEDPOLYGONALFACE((374, 373, 371)); +#832 = IFCINDEXEDPOLYGONALFACE((373, 374, 375)); +#833 = IFCINDEXEDPOLYGONALFACE((376, 377, 378)); +#834 = IFCINDEXEDPOLYGONALFACE((379, 374, 377)); +#835 = IFCINDEXEDPOLYGONALFACE((374, 379, 375)); +#836 = IFCINDEXEDPOLYGONALFACE((379, 377, 376)); +#837 = IFCINDEXEDPOLYGONALFACE((326, 378, 296)); +#838 = IFCINDEXEDPOLYGONALFACE((378, 326, 376)); +#839 = IFCINDEXEDPOLYGONALFACE((318, 365, 361)); +#840 = IFCINDEXEDPOLYGONALFACE((239, 355, 318)); +#841 = IFCINDEXEDPOLYGONALFACE((238, 239, 318)); +#842 = IFCINDEXEDPOLYGONALFACE((320, 318, 361)); +#843 = IFCINDEXEDPOLYGONALFACE((320, 363, 358)); +#844 = IFCINDEXEDPOLYGONALFACE((320, 361, 363)); +#845 = IFCINDEXEDPOLYGONALFACE((240, 378, 239)); +#846 = IFCINDEXEDPOLYGONALFACE((295, 299, 244)); +#847 = IFCINDEXEDPOLYGONALFACE((318, 367, 365)); +#848 = IFCINDEXEDPOLYGONALFACE((377, 374, 239)); +#849 = IFCINDEXEDPOLYGONALFACE((368, 355, 239)); +#850 = IFCINDEXEDPOLYGONALFACE((318, 355, 367)); +#851 = IFCINDEXEDPOLYGONALFACE((368, 239, 371)); +#852 = IFCINDEXEDPOLYGONALFACE((371, 239, 374)); +#853 = IFCINDEXEDPOLYGONALFACE((377, 239, 378)); +#854 = IFCINDEXEDPOLYGONALFACE((240, 241, 297)); +#855 = IFCINDEXEDPOLYGONALFACE((378, 240, 296)); +#856 = IFCINDEXEDPOLYGONALFACE((241, 242, 298)); +#857 = IFCINDEXEDPOLYGONALFACE((242, 244, 299)); +#858 = IFCINDEXEDPOLYGONALFACE((339, 380, 334)); +#859 = IFCINDEXEDPOLYGONALFACE((347, 277, 276)); +#860 = IFCINDEXEDPOLYGONALFACE((276, 380, 341)); +#861 = IFCINDEXEDPOLYGONALFACE((380, 335, 334)); +#862 = IFCINDEXEDPOLYGONALFACE((380, 276, 274)); +#863 = IFCINDEXEDPOLYGONALFACE((275, 274, 276)); +#864 = IFCINDEXEDPOLYGONALFACE((380, 330, 335)); +#865 = IFCINDEXEDPOLYGONALFACE((330, 337, 335)); +#866 = IFCINDEXEDPOLYGONALFACE((330, 332, 337)); +#867 = IFCINDEXEDPOLYGONALFACE((295, 282, 301)); +#868 = IFCINDEXEDPOLYGONALFACE((345, 347, 276)); +#869 = IFCINDEXEDPOLYGONALFACE((300, 278, 302)); +#870 = IFCINDEXEDPOLYGONALFACE((301, 280, 300)); +#871 = IFCINDEXEDPOLYGONALFACE((302, 277, 327)); +#872 = IFCINDEXEDPOLYGONALFACE((347, 327, 277)); +#873 = IFCINDEXEDPOLYGONALFACE((276, 348, 345)); +#874 = IFCINDEXEDPOLYGONALFACE((351, 276, 341)); +#875 = IFCINDEXEDPOLYGONALFACE((380, 339, 341)); +#876 = IFCINDEXEDPOLYGONALFACE((348, 276, 353)); +#877 = IFCINDEXEDPOLYGONALFACE((353, 276, 351)); +#878 = IFCINDEXEDPOLYGONALFACE((322, 381, 274)); +#879 = IFCINDEXEDPOLYGONALFACE((343, 274, 381)); +#880 = IFCINDEXEDPOLYGONALFACE((330, 274, 343)); +#881 = IFCINDEXEDPOLYGONALFACE((364, 382, 362)); +#882 = IFCINDEXEDPOLYGONALFACE((357, 359, 321)); +#883 = IFCINDEXEDPOLYGONALFACE((382, 325, 319)); +#884 = IFCINDEXEDPOLYGONALFACE((382, 321, 360)); +#885 = IFCINDEXEDPOLYGONALFACE((360, 321, 359)); +#886 = IFCINDEXEDPOLYGONALFACE((362, 382, 360)); +#887 = IFCINDEXEDPOLYGONALFACE((364, 366, 382)); +#888 = IFCINDEXEDPOLYGONALFACE((379, 304, 325)); +#889 = IFCINDEXEDPOLYGONALFACE((356, 325, 382)); +#890 = IFCINDEXEDPOLYGONALFACE((366, 354, 382)); +#891 = IFCINDEXEDPOLYGONALFACE((382, 354, 356)); +#892 = IFCINDEXEDPOLYGONALFACE((375, 379, 325)); +#893 = IFCINDEXEDPOLYGONALFACE((370, 372, 325)); +#894 = IFCINDEXEDPOLYGONALFACE((356, 369, 325)); +#895 = IFCINDEXEDPOLYGONALFACE((370, 325, 369)); +#896 = IFCINDEXEDPOLYGONALFACE((325, 372, 373)); +#897 = IFCINDEXEDPOLYGONALFACE((325, 373, 375)); +#898 = IFCINDEXEDPOLYGONALFACE((304, 379, 376)); +#899 = IFCINDEXEDPOLYGONALFACE((304, 326, 305)); +#900 = IFCINDEXEDPOLYGONALFACE((304, 376, 326)); +#901 = IFCINDEXEDPOLYGONALFACE((303, 305, 307)); +#902 = IFCINDEXEDPOLYGONALFACE((306, 307, 309)); +#903 = IFCINDEXEDPOLYGONALFACE((310, 324, 308)); +#904 = IFCINDEXEDPOLYGONALFACE((324, 329, 314)); +#905 = IFCINDEXEDPOLYGONALFACE((381, 342, 333)); +#906 = IFCINDEXEDPOLYGONALFACE((316, 344, 323)); +#907 = IFCINDEXEDPOLYGONALFACE((381, 323, 340)); +#908 = IFCINDEXEDPOLYGONALFACE((338, 381, 333)); +#909 = IFCINDEXEDPOLYGONALFACE((322, 323, 381)); +#910 = IFCINDEXEDPOLYGONALFACE((343, 381, 338)); +#911 = IFCINDEXEDPOLYGONALFACE((336, 343, 338)); +#912 = IFCINDEXEDPOLYGONALFACE((331, 343, 336)); +#913 = IFCINDEXEDPOLYGONALFACE((329, 324, 310)); +#914 = IFCINDEXEDPOLYGONALFACE((323, 344, 346)); +#915 = IFCINDEXEDPOLYGONALFACE((329, 315, 314)); +#916 = IFCINDEXEDPOLYGONALFACE((311, 313, 317)); +#917 = IFCINDEXEDPOLYGONALFACE((312, 315, 313)); +#918 = IFCINDEXEDPOLYGONALFACE((316, 317, 328)); +#919 = IFCINDEXEDPOLYGONALFACE((328, 344, 316)); +#920 = IFCINDEXEDPOLYGONALFACE((349, 323, 346)); +#921 = IFCINDEXEDPOLYGONALFACE((323, 350, 340)); +#922 = IFCINDEXEDPOLYGONALFACE((342, 381, 340)); +#923 = IFCINDEXEDPOLYGONALFACE((323, 349, 352)); +#924 = IFCINDEXEDPOLYGONALFACE((323, 352, 350)); +#925 = IFCINDEXEDPOLYGONALFACE((234, 383, 232)); +#926 = IFCINDEXEDPOLYGONALFACE((384, 227, 385)); +#927 = IFCINDEXEDPOLYGONALFACE((385, 228, 386)); +#928 = IFCINDEXEDPOLYGONALFACE((386, 230, 387)); +#929 = IFCINDEXEDPOLYGONALFACE((383, 234, 270)); +#930 = IFCINDEXEDPOLYGONALFACE((388, 268, 266)); +#931 = IFCINDEXEDPOLYGONALFACE((389, 270, 268)); +#932 = IFCINDEXEDPOLYGONALFACE((390, 266, 265)); +#933 = IFCINDEXEDPOLYGONALFACE((391, 392, 393)); +#934 = IFCINDEXEDPOLYGONALFACE((394, 391, 395)); +#935 = IFCINDEXEDPOLYGONALFACE((396, 394, 397)); +#936 = IFCINDEXEDPOLYGONALFACE((397, 398, 396)); +#937 = IFCINDEXEDPOLYGONALFACE((399, 400, 401)); +#938 = IFCINDEXEDPOLYGONALFACE((400, 402, 403)); +#939 = IFCINDEXEDPOLYGONALFACE((404, 399, 405)); +#940 = IFCINDEXEDPOLYGONALFACE((225, 406, 407)); +#941 = IFCINDEXEDPOLYGONALFACE((408, 407, 406)); +#942 = IFCINDEXEDPOLYGONALFACE((409, 407, 408)); +#943 = IFCINDEXEDPOLYGONALFACE((410, 262, 411)); +#944 = IFCINDEXEDPOLYGONALFACE((263, 411, 262)); +#945 = IFCINDEXEDPOLYGONALFACE((264, 411, 263)); +#946 = IFCINDEXEDPOLYGONALFACE((265, 411, 264)); +#947 = IFCINDEXEDPOLYGONALFACE((404, 411, 265)); +#948 = IFCINDEXEDPOLYGONALFACE((266, 404, 265)); +#949 = IFCINDEXEDPOLYGONALFACE((399, 404, 266)); +#950 = IFCINDEXEDPOLYGONALFACE((268, 399, 266)); +#951 = IFCINDEXEDPOLYGONALFACE((400, 399, 268)); +#952 = IFCINDEXEDPOLYGONALFACE((270, 400, 268)); +#953 = IFCINDEXEDPOLYGONALFACE((402, 400, 270)); +#954 = IFCINDEXEDPOLYGONALFACE((234, 402, 270)); +#955 = IFCINDEXEDPOLYGONALFACE((412, 402, 234)); +#956 = IFCINDEXEDPOLYGONALFACE((225, 407, 226)); +#957 = IFCINDEXEDPOLYGONALFACE((413, 226, 407)); +#958 = IFCINDEXEDPOLYGONALFACE((227, 226, 413)); +#959 = IFCINDEXEDPOLYGONALFACE((392, 227, 413)); +#960 = IFCINDEXEDPOLYGONALFACE((228, 227, 392)); +#961 = IFCINDEXEDPOLYGONALFACE((391, 228, 392)); +#962 = IFCINDEXEDPOLYGONALFACE((230, 228, 391)); +#963 = IFCINDEXEDPOLYGONALFACE((394, 230, 391)); +#964 = IFCINDEXEDPOLYGONALFACE((232, 230, 394)); +#965 = IFCINDEXEDPOLYGONALFACE((396, 232, 394)); +#966 = IFCINDEXEDPOLYGONALFACE((234, 232, 396)); +#967 = IFCINDEXEDPOLYGONALFACE((412, 234, 396)); +#968 = IFCINDEXEDPOLYGONALFACE((414, 384, 393)); +#969 = IFCINDEXEDPOLYGONALFACE((385, 393, 384)); +#970 = IFCINDEXEDPOLYGONALFACE((395, 393, 385)); +#971 = IFCINDEXEDPOLYGONALFACE((386, 395, 385)); +#972 = IFCINDEXEDPOLYGONALFACE((397, 395, 386)); +#973 = IFCINDEXEDPOLYGONALFACE((387, 397, 386)); +#974 = IFCINDEXEDPOLYGONALFACE((398, 397, 387)); +#975 = IFCINDEXEDPOLYGONALFACE((383, 398, 387)); +#976 = IFCINDEXEDPOLYGONALFACE((415, 416, 390)); +#977 = IFCINDEXEDPOLYGONALFACE((405, 390, 416)); +#978 = IFCINDEXEDPOLYGONALFACE((401, 390, 405)); +#979 = IFCINDEXEDPOLYGONALFACE((388, 390, 401)); +#980 = IFCINDEXEDPOLYGONALFACE((403, 388, 401)); +#981 = IFCINDEXEDPOLYGONALFACE((389, 388, 403)); +#982 = IFCINDEXEDPOLYGONALFACE((417, 389, 403)); +#983 = IFCINDEXEDPOLYGONALFACE((383, 389, 417)); +#984 = IFCINDEXEDPOLYGONALFACE((398, 383, 417)); +#985 = IFCINDEXEDPOLYGONALFACE((418, 419, 420)); +#986 = IFCINDEXEDPOLYGONALFACE((421, 422, 423)); +#987 = IFCINDEXEDPOLYGONALFACE((420, 424, 425)); +#988 = IFCINDEXEDPOLYGONALFACE((426, 423, 425)); +#989 = IFCINDEXEDPOLYGONALFACE((427, 428, 429)); +#990 = IFCINDEXEDPOLYGONALFACE((422, 430, 427)); +#991 = IFCINDEXEDPOLYGONALFACE((427, 430, 428)); +#992 = IFCINDEXEDPOLYGONALFACE((419, 418, 431)); +#993 = IFCINDEXEDPOLYGONALFACE((424, 426, 425)); +#994 = IFCINDEXEDPOLYGONALFACE((424, 420, 419)); +#995 = IFCINDEXEDPOLYGONALFACE((423, 426, 421)); +#996 = IFCINDEXEDPOLYGONALFACE((430, 422, 421)); +#997 = IFCINDEXEDPOLYGONALFACE((432, 433, 434)); +#998 = IFCINDEXEDPOLYGONALFACE((433, 432, 435)); +#999 = IFCINDEXEDPOLYGONALFACE((434, 436, 437)); +#1000 = IFCINDEXEDPOLYGONALFACE((436, 434, 433)); +#1001 = IFCINDEXEDPOLYGONALFACE((432, 416, 435)); +#1002 = IFCINDEXEDPOLYGONALFACE((415, 435, 416)); +#1003 = IFCINDEXEDPOLYGONALFACE((438, 429, 428)); +#1004 = IFCINDEXEDPOLYGONALFACE((439, 438, 440)); +#1005 = IFCINDEXEDPOLYGONALFACE((438, 439, 429)); +#1006 = IFCINDEXEDPOLYGONALFACE((441, 437, 436)); +#1007 = IFCINDEXEDPOLYGONALFACE((440, 441, 439)); +#1008 = IFCINDEXEDPOLYGONALFACE((440, 437, 441)); +#1009 = IFCINDEXEDPOLYGONALFACE((442, 443, 444)); +#1010 = IFCINDEXEDPOLYGONALFACE((409, 408, 445)); +#1011 = IFCINDEXEDPOLYGONALFACE((445, 446, 447)); +#1012 = IFCINDEXEDPOLYGONALFACE((448, 449, 450)); +#1013 = IFCINDEXEDPOLYGONALFACE((447, 451, 448)); +#1014 = IFCINDEXEDPOLYGONALFACE((452, 450, 453)); +#1015 = IFCINDEXEDPOLYGONALFACE((453, 454, 452)); +#1016 = IFCINDEXEDPOLYGONALFACE((455, 442, 454)); +#1017 = IFCINDEXEDPOLYGONALFACE((449, 453, 450)); +#1018 = IFCINDEXEDPOLYGONALFACE((451, 449, 448)); +#1019 = IFCINDEXEDPOLYGONALFACE((445, 408, 446)); +#1020 = IFCINDEXEDPOLYGONALFACE((446, 451, 447)); +#1021 = IFCINDEXEDPOLYGONALFACE((455, 443, 442)); +#1022 = IFCINDEXEDPOLYGONALFACE((453, 455, 454)); +#1023 = IFCINDEXEDPOLYGONALFACE((443, 456, 444)); +#1024 = IFCINDEXEDPOLYGONALFACE((457, 444, 456)); +#1025 = IFCINDEXEDPOLYGONALFACE((458, 456, 459)); +#1026 = IFCINDEXEDPOLYGONALFACE((456, 458, 457)); +#1027 = IFCINDEXEDPOLYGONALFACE((458, 459, 460)); +#1028 = IFCINDEXEDPOLYGONALFACE((461, 460, 459)); +#1029 = IFCINDEXEDPOLYGONALFACE((462, 461, 459)); +#1030 = IFCINDEXEDPOLYGONALFACE((461, 462, 463)); +#1031 = IFCINDEXEDPOLYGONALFACE((464, 465, 466)); +#1032 = IFCINDEXEDPOLYGONALFACE((467, 462, 465)); +#1033 = IFCINDEXEDPOLYGONALFACE((462, 467, 463)); +#1034 = IFCINDEXEDPOLYGONALFACE((467, 465, 464)); +#1035 = IFCINDEXEDPOLYGONALFACE((414, 466, 384)); +#1036 = IFCINDEXEDPOLYGONALFACE((466, 414, 464)); +#1037 = IFCINDEXEDPOLYGONALFACE((406, 453, 449)); +#1038 = IFCINDEXEDPOLYGONALFACE((226, 443, 406)); +#1039 = IFCINDEXEDPOLYGONALFACE((225, 226, 406)); +#1040 = IFCINDEXEDPOLYGONALFACE((408, 406, 449)); +#1041 = IFCINDEXEDPOLYGONALFACE((408, 451, 446)); +#1042 = IFCINDEXEDPOLYGONALFACE((408, 449, 451)); +#1043 = IFCINDEXEDPOLYGONALFACE((227, 466, 226)); +#1044 = IFCINDEXEDPOLYGONALFACE((383, 387, 232)); +#1045 = IFCINDEXEDPOLYGONALFACE((406, 455, 453)); +#1046 = IFCINDEXEDPOLYGONALFACE((465, 462, 226)); +#1047 = IFCINDEXEDPOLYGONALFACE((456, 443, 226)); +#1048 = IFCINDEXEDPOLYGONALFACE((406, 443, 455)); +#1049 = IFCINDEXEDPOLYGONALFACE((456, 226, 459)); +#1050 = IFCINDEXEDPOLYGONALFACE((459, 226, 462)); +#1051 = IFCINDEXEDPOLYGONALFACE((465, 226, 466)); +#1052 = IFCINDEXEDPOLYGONALFACE((227, 228, 385)); +#1053 = IFCINDEXEDPOLYGONALFACE((466, 227, 384)); +#1054 = IFCINDEXEDPOLYGONALFACE((228, 230, 386)); +#1055 = IFCINDEXEDPOLYGONALFACE((230, 232, 387)); +#1056 = IFCINDEXEDPOLYGONALFACE((427, 468, 422)); +#1057 = IFCINDEXEDPOLYGONALFACE((435, 265, 264)); +#1058 = IFCINDEXEDPOLYGONALFACE((264, 468, 429)); +#1059 = IFCINDEXEDPOLYGONALFACE((468, 423, 422)); +#1060 = IFCINDEXEDPOLYGONALFACE((468, 264, 262)); +#1061 = IFCINDEXEDPOLYGONALFACE((263, 262, 264)); +#1062 = IFCINDEXEDPOLYGONALFACE((468, 418, 423)); +#1063 = IFCINDEXEDPOLYGONALFACE((418, 425, 423)); +#1064 = IFCINDEXEDPOLYGONALFACE((418, 420, 425)); +#1065 = IFCINDEXEDPOLYGONALFACE((383, 270, 389)); +#1066 = IFCINDEXEDPOLYGONALFACE((433, 435, 264)); +#1067 = IFCINDEXEDPOLYGONALFACE((388, 266, 390)); +#1068 = IFCINDEXEDPOLYGONALFACE((389, 268, 388)); +#1069 = IFCINDEXEDPOLYGONALFACE((390, 265, 415)); +#1070 = IFCINDEXEDPOLYGONALFACE((435, 415, 265)); +#1071 = IFCINDEXEDPOLYGONALFACE((264, 436, 433)); +#1072 = IFCINDEXEDPOLYGONALFACE((439, 264, 429)); +#1073 = IFCINDEXEDPOLYGONALFACE((468, 427, 429)); +#1074 = IFCINDEXEDPOLYGONALFACE((436, 264, 441)); +#1075 = IFCINDEXEDPOLYGONALFACE((441, 264, 439)); +#1076 = IFCINDEXEDPOLYGONALFACE((410, 469, 262)); +#1077 = IFCINDEXEDPOLYGONALFACE((431, 262, 469)); +#1078 = IFCINDEXEDPOLYGONALFACE((418, 262, 431)); +#1079 = IFCINDEXEDPOLYGONALFACE((452, 470, 450)); +#1080 = IFCINDEXEDPOLYGONALFACE((445, 447, 409)); +#1081 = IFCINDEXEDPOLYGONALFACE((470, 413, 407)); +#1082 = IFCINDEXEDPOLYGONALFACE((470, 409, 448)); +#1083 = IFCINDEXEDPOLYGONALFACE((448, 409, 447)); +#1084 = IFCINDEXEDPOLYGONALFACE((450, 470, 448)); +#1085 = IFCINDEXEDPOLYGONALFACE((452, 454, 470)); +#1086 = IFCINDEXEDPOLYGONALFACE((467, 392, 413)); +#1087 = IFCINDEXEDPOLYGONALFACE((444, 413, 470)); +#1088 = IFCINDEXEDPOLYGONALFACE((454, 442, 470)); +#1089 = IFCINDEXEDPOLYGONALFACE((470, 442, 444)); +#1090 = IFCINDEXEDPOLYGONALFACE((463, 467, 413)); +#1091 = IFCINDEXEDPOLYGONALFACE((458, 460, 413)); +#1092 = IFCINDEXEDPOLYGONALFACE((444, 457, 413)); +#1093 = IFCINDEXEDPOLYGONALFACE((458, 413, 457)); +#1094 = IFCINDEXEDPOLYGONALFACE((413, 460, 461)); +#1095 = IFCINDEXEDPOLYGONALFACE((413, 461, 463)); +#1096 = IFCINDEXEDPOLYGONALFACE((392, 467, 464)); +#1097 = IFCINDEXEDPOLYGONALFACE((392, 414, 393)); +#1098 = IFCINDEXEDPOLYGONALFACE((392, 464, 414)); +#1099 = IFCINDEXEDPOLYGONALFACE((391, 393, 395)); +#1100 = IFCINDEXEDPOLYGONALFACE((394, 395, 397)); +#1101 = IFCINDEXEDPOLYGONALFACE((398, 412, 396)); +#1102 = IFCINDEXEDPOLYGONALFACE((412, 417, 402)); +#1103 = IFCINDEXEDPOLYGONALFACE((469, 430, 421)); +#1104 = IFCINDEXEDPOLYGONALFACE((404, 432, 411)); +#1105 = IFCINDEXEDPOLYGONALFACE((469, 411, 428)); +#1106 = IFCINDEXEDPOLYGONALFACE((426, 469, 421)); +#1107 = IFCINDEXEDPOLYGONALFACE((410, 411, 469)); +#1108 = IFCINDEXEDPOLYGONALFACE((431, 469, 426)); +#1109 = IFCINDEXEDPOLYGONALFACE((424, 431, 426)); +#1110 = IFCINDEXEDPOLYGONALFACE((419, 431, 424)); +#1111 = IFCINDEXEDPOLYGONALFACE((417, 412, 398)); +#1112 = IFCINDEXEDPOLYGONALFACE((411, 432, 434)); +#1113 = IFCINDEXEDPOLYGONALFACE((417, 403, 402)); +#1114 = IFCINDEXEDPOLYGONALFACE((399, 401, 405)); +#1115 = IFCINDEXEDPOLYGONALFACE((400, 403, 401)); +#1116 = IFCINDEXEDPOLYGONALFACE((404, 405, 416)); +#1117 = IFCINDEXEDPOLYGONALFACE((416, 432, 404)); +#1118 = IFCINDEXEDPOLYGONALFACE((437, 411, 434)); +#1119 = IFCINDEXEDPOLYGONALFACE((411, 438, 428)); +#1120 = IFCINDEXEDPOLYGONALFACE((430, 469, 428)); +#1121 = IFCINDEXEDPOLYGONALFACE((411, 437, 440)); +#1122 = IFCINDEXEDPOLYGONALFACE((411, 440, 438)); +#1123 = IFCINDEXEDPOLYGONALFACE((3, 471, 472)); +#1124 = IFCINDEXEDPOLYGONALFACE((473, 472, 471)); +#1125 = IFCINDEXEDPOLYGONALFACE((2, 1, 474)); +#1126 = IFCINDEXEDPOLYGONALFACE((475, 474, 1)); +#1127 = IFCINDEXEDPOLYGONALFACE((473, 471, 474)); +#1128 = IFCINDEXEDPOLYGONALFACE((2, 474, 471)); +#1129 = IFCINDEXEDPOLYGONALFACE((473, 474, 472)); +#1130 = IFCINDEXEDPOLYGONALFACE((475, 472, 474)); +#1131 = IFCINDEXEDPOLYGONALFACE((3, 472, 1)); +#1132 = IFCINDEXEDPOLYGONALFACE((475, 1, 472)); +#1133 = IFCINDEXEDPOLYGONALFACE((471, 3, 2)); +#1134 = IFCSTYLEDITEM(#192, (#58), $); +#1135 = IFCREPRESENTATIONMAP(#1138, #1139); +#1136 = IFCDIRECTION((0., 0., 1.)); +#1137 = IFCDIRECTION((1., 0., 0.)); +#1138 = IFCAXIS2PLACEMENT3D(#15, #1136, #1137); +#1139 = IFCSHAPEREPRESENTATION(#17, 'Body', 'Tessellation', (#1140, #1155, #1181, #1229, #1255)); +#1140 = IFCPOLYGONALFACESET(#1141, $, (#1142, #1143, #1144, #1145, #1146, #1147, #1148, #1149, #1150, #1151, #1152, #1153), $); +#1141 = IFCCARTESIANPOINTLIST3D(((3.4431E-2, 1.26962E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.420106), (-1.6369E-2, 1.26962E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.50103E-1), (-1.6369E-2, 1.77762E-1, -1.420106), (3.4431E-2, 1.77762E-1, -1.50103E-1), (3.4431E-2, 1.26962E-1, -1.50103E-1)), $); +#1142 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1143 = IFCINDEXEDPOLYGONALFACE((4, 3, 5)); +#1144 = IFCINDEXEDPOLYGONALFACE((6, 5, 3)); +#1145 = IFCINDEXEDPOLYGONALFACE((6, 2, 5)); +#1146 = IFCINDEXEDPOLYGONALFACE((7, 5, 2)); +#1147 = IFCINDEXEDPOLYGONALFACE((1, 8, 2)); +#1148 = IFCINDEXEDPOLYGONALFACE((7, 2, 8)); +#1149 = IFCINDEXEDPOLYGONALFACE((1, 3, 8)); +#1150 = IFCINDEXEDPOLYGONALFACE((4, 8, 3)); +#1151 = IFCINDEXEDPOLYGONALFACE((4, 5, 8)); +#1152 = IFCINDEXEDPOLYGONALFACE((7, 8, 5)); +#1153 = IFCINDEXEDPOLYGONALFACE((6, 3, 2)); +#1154 = IFCSTYLEDITEM(#1140, (#22), $); +#1155 = IFCPOLYGONALFACESET(#1156, $, (#1157, #1158, #1159, #1160, #1161, #1162, #1163, #1164, #1165, #1166, #1167, #1168, #1169, #1170, #1171, #1172, #1173, #1174, #1175, #1176, #1177, #1178, #1179), $); +#1156 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (-2.3673E-2, 0., 6.14006E-1), (4.278E-3, 0., 4.01688E-1), (-2.3674E-2, 0., 4.05368E-1), (3.223E-2, 0., 4.05368E-1), (5.8277E-2, 0., 4.16158E-1), (-4.9721E-2, 0., 4.16158E-1), (8.0645E-2, 0., 4.33321E-1), (-7.2089E-2, 0., 4.33321E-1), (9.7808E-2, 0., 4.55688E-1), (-8.9252E-2, 0., 4.55688E-1), (1.08597E-1, 0., 4.81735E-1), (-1.00041E-1, 0., 4.81735E-1), (1.1228E-1, 0., 5.09689E-1), (-1.03721E-1, 0., 5.09689E-1), (1.08599E-1, 0., 5.37641E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.0004E-1, 0., 5.37641E-1), (9.7809E-2, 0., 5.63688E-1), (-8.9251E-2, 0., 5.63688E-1), (8.0646E-2, 0., 5.86055E-1), (-7.2087E-2, 0., 5.86055E-1), (5.8279E-2, 0., 6.03217E-1), (-4.972E-2, 0., 6.03217E-1)), $); +#1157 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1158 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1159 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#1160 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#1161 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#1162 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#1163 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#1164 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#1165 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#1166 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#1167 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#1168 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#1169 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#1170 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#1171 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#1172 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#1173 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#1174 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#1175 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#1176 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#1177 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#1178 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#1179 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#1180 = IFCSTYLEDITEM(#1155, (#31), $); +#1181 = IFCPOLYGONALFACESET(#1182, $, (#1183, #1184, #1185, #1186, #1187, #1188, #1189, #1190, #1191, #1192, #1193, #1194, #1195, #1196, #1197, #1198, #1199, #1200, #1201, #1202, #1203, #1204, #1205, #1206, #1207, #1208, #1209, #1210, #1211, #1212, #1213, #1214, #1215, #1216, #1217, #1218, #1219, #1220, #1221, #1222, #1223, #1224, #1225, #1226, #1227), $); +#1182 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 3.62686E-1), (3.2231E-2, 0., 3.59006E-1), (-2.3673E-2, 0., 3.59006E-1), (4.277E-3, 0., 6.56689E-1), (-2.3675E-2, 0., 6.60369E-1), (3.2229E-2, 0., 6.60368E-1), (5.8277E-2, 0., 6.71157E-1), (-4.9723E-2, 0., 6.71158E-1), (8.0644E-2, 0., 6.8832E-1), (-7.209E-2, 0., 6.88322E-1), (9.7808E-2, 0., 7.10687E-1), (-8.9253E-2, 0., 7.10689E-1), (1.08597E-1, 0., 7.36735E-1), (-1.00042E-1, 0., 7.36737E-1), (1.1228E-1, 0., 7.64689E-1), (-1.03721E-1, 0., 7.64689E-1), (1.08599E-1, 0., 7.92641E-1), (-1.0004E-1, 0., 7.92641E-1), (9.7809E-2, 0., 8.18688E-1), (-8.9251E-2, 0., 8.18688E-1), (8.0646E-2, 0., 8.41055E-1), (-7.2087E-2, 0., 8.41055E-1), (5.8279E-2, 0., 8.58218E-1), (-4.972E-2, 0., 8.58218E-1), (3.2231E-2, 0., 8.69007E-1), (-2.3673E-2, 0., 8.69007E-1), (4.279E-3, 0., 8.72687E-1), (4.278E-3, 0., 1.46688E-1), (-2.3674E-2, 0., 1.50368E-1), (3.223E-2, 0., 1.50368E-1), (5.8277E-2, 0., 1.61157E-1), (-4.9721E-2, 0., 1.61157E-1), (8.0645E-2, 0., 1.7832E-1), (-7.2089E-2, 0., 1.7832E-1), (9.7808E-2, 0., 2.00687E-1), (-8.9252E-2, 0., 2.00687E-1), (1.08597E-1, 0., 2.26735E-1), (-1.00041E-1, 0., 2.26735E-1), (1.1228E-1, 0., 2.54688E-1), (-1.03721E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (-8.9251E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (-7.2087E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (-4.972E-2, 0., 3.48217E-1)), $); +#1183 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1184 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1185 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#1186 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#1187 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#1188 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#1189 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#1190 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#1191 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#1192 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#1193 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#1194 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#1195 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#1196 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#1197 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#1198 = IFCINDEXEDPOLYGONALFACE((20, 19, 18)); +#1199 = IFCINDEXEDPOLYGONALFACE((21, 19, 20)); +#1200 = IFCINDEXEDPOLYGONALFACE((22, 21, 20)); +#1201 = IFCINDEXEDPOLYGONALFACE((23, 21, 22)); +#1202 = IFCINDEXEDPOLYGONALFACE((24, 23, 22)); +#1203 = IFCINDEXEDPOLYGONALFACE((25, 23, 24)); +#1204 = IFCINDEXEDPOLYGONALFACE((26, 25, 24)); +#1205 = IFCINDEXEDPOLYGONALFACE((27, 25, 26)); +#1206 = IFCINDEXEDPOLYGONALFACE((28, 29, 30)); +#1207 = IFCINDEXEDPOLYGONALFACE((31, 30, 29)); +#1208 = IFCINDEXEDPOLYGONALFACE((32, 31, 29)); +#1209 = IFCINDEXEDPOLYGONALFACE((33, 31, 32)); +#1210 = IFCINDEXEDPOLYGONALFACE((34, 33, 32)); +#1211 = IFCINDEXEDPOLYGONALFACE((35, 33, 34)); +#1212 = IFCINDEXEDPOLYGONALFACE((36, 35, 34)); +#1213 = IFCINDEXEDPOLYGONALFACE((37, 35, 36)); +#1214 = IFCINDEXEDPOLYGONALFACE((38, 37, 36)); +#1215 = IFCINDEXEDPOLYGONALFACE((39, 37, 38)); +#1216 = IFCINDEXEDPOLYGONALFACE((40, 39, 38)); +#1217 = IFCINDEXEDPOLYGONALFACE((41, 39, 40)); +#1218 = IFCINDEXEDPOLYGONALFACE((42, 41, 40)); +#1219 = IFCINDEXEDPOLYGONALFACE((43, 41, 42)); +#1220 = IFCINDEXEDPOLYGONALFACE((44, 41, 43)); +#1221 = IFCINDEXEDPOLYGONALFACE((45, 44, 43)); +#1222 = IFCINDEXEDPOLYGONALFACE((46, 44, 45)); +#1223 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#1224 = IFCINDEXEDPOLYGONALFACE((48, 46, 47)); +#1225 = IFCINDEXEDPOLYGONALFACE((49, 48, 47)); +#1226 = IFCINDEXEDPOLYGONALFACE((2, 48, 49)); +#1227 = IFCINDEXEDPOLYGONALFACE((3, 2, 49)); +#1228 = IFCSTYLEDITEM(#1181, (#40), $); +#1229 = IFCPOLYGONALFACESET(#1230, $, (#1231, #1232, #1233, #1234, #1235, #1236, #1237, #1238, #1239, #1240, #1241, #1242, #1243, #1244, #1245, #1246, #1247, #1248, #1249, #1250, #1251, #1252, #1253), $); +#1230 = IFCCARTESIANPOINTLIST3D(((4.279E-3, 0., 1.07685E-1), (3.2231E-2, 0., 1.04005E-1), (-2.3673E-2, 0., 1.04005E-1), (4.278E-3, 0., -1.08313E-1), (-2.3674E-2, 0., -1.04633E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (-4.9721E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (-7.2089E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (-8.9252E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (-1.00041E-1, 0., -2.8266E-2), (1.1228E-1, 0., -3.12E-4), (-1.03721E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (-8.9251E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (-7.2087E-2, 0., 7.6054E-2), (5.8279E-2, 0., 9.3216E-2), (-4.972E-2, 0., 9.3216E-2)), $); +#1231 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1232 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1233 = IFCINDEXEDPOLYGONALFACE((7, 6, 5)); +#1234 = IFCINDEXEDPOLYGONALFACE((8, 7, 5)); +#1235 = IFCINDEXEDPOLYGONALFACE((9, 7, 8)); +#1236 = IFCINDEXEDPOLYGONALFACE((10, 9, 8)); +#1237 = IFCINDEXEDPOLYGONALFACE((11, 9, 10)); +#1238 = IFCINDEXEDPOLYGONALFACE((12, 11, 10)); +#1239 = IFCINDEXEDPOLYGONALFACE((13, 11, 12)); +#1240 = IFCINDEXEDPOLYGONALFACE((14, 13, 12)); +#1241 = IFCINDEXEDPOLYGONALFACE((15, 13, 14)); +#1242 = IFCINDEXEDPOLYGONALFACE((16, 15, 14)); +#1243 = IFCINDEXEDPOLYGONALFACE((17, 15, 16)); +#1244 = IFCINDEXEDPOLYGONALFACE((18, 17, 16)); +#1245 = IFCINDEXEDPOLYGONALFACE((19, 17, 18)); +#1246 = IFCINDEXEDPOLYGONALFACE((20, 17, 19)); +#1247 = IFCINDEXEDPOLYGONALFACE((21, 20, 19)); +#1248 = IFCINDEXEDPOLYGONALFACE((22, 20, 21)); +#1249 = IFCINDEXEDPOLYGONALFACE((23, 22, 21)); +#1250 = IFCINDEXEDPOLYGONALFACE((24, 22, 23)); +#1251 = IFCINDEXEDPOLYGONALFACE((25, 24, 23)); +#1252 = IFCINDEXEDPOLYGONALFACE((2, 24, 25)); +#1253 = IFCINDEXEDPOLYGONALFACE((3, 2, 25)); +#1254 = IFCSTYLEDITEM(#1229, (#49), $); +#1255 = IFCPOLYGONALFACESET(#1256, $, (#1257, #1258, #1259, #1260, #1261, #1262, #1263, #1264, #1265, #1266, #1267, #1268, #1269, #1270, #1271, #1272, #1273, #1274, #1275, #1276, #1277, #1278, #1279, #1280, #1281, #1282, #1283, #1284, #1285, #1286, #1287, #1288, #1289, #1290, #1291, #1292, #1293, #1294, #1295, #1296, #1297, #1298, #1299, #1300, #1301, #1302, #1303, #1304, #1305, #1306, #1307, #1308, #1309, #1310, #1311, #1312, #1313, #1314, #1315, #1316, #1317, #1318, #1319, #1320, #1321, #1322, #1323, #1324, #1325, #1326, #1327, #1328, #1329, #1330, #1331, #1332, #1333, #1334, #1335, #1336, #1337, #1338, #1339, #1340, #1341, #1342, #1343, #1344, #1345, #1346, #1347, #1348, #1349, #1350, #1351, #1352, #1353, #1354, #1355, #1356, #1357, #1358, #1359, #1360, #1361, #1362, #1363, #1364, #1365, #1366, #1367, #1368, #1369, #1370, #1371, #1372, #1373, #1374, #1375, #1376, #1377, #1378, #1379, #1380, #1381, #1382, #1383, #1384, #1385, #1386, #1387, #1388, #1389, #1390, #1391, #1392, #1393, #1394, #1395, #1396, #1397, #1398, #1399, #1400, #1401, #1402, #1403, #1404, #1405, #1406, #1407, #1408, #1409, #1410, #1411, #1412, #1413, #1414, #1415, #1416, #1417, #1418, #1419, #1420, #1421, #1422, #1423, #1424, #1425, #1426, #1427, #1428, #1429, #1430, #1431, #1432, #1433, #1434, #1435, #1436, #1437, #1438, #1439, #1440, #1441, #1442, #1443, #1444, #1445, #1446, #1447, #1448, #1449, #1450, #1451, #1452, #1453, #1454, #1455, #1456, #1457, #1458, #1459, #1460, #1461, #1462, #1463, #1464, #1465, #1466, #1467, #1468, #1469, #1470, #1471, #1472, #1473, #1474, #1475, #1476, #1477, #1478, #1479, #1480, #1481, #1482, #1483, #1484, #1485, #1486, #1487, #1488, #1489, #1490, #1491, #1492, #1493, #1494, #1495, #1496, #1497, #1498, #1499, #1500, #1501, #1502, #1503, #1504, #1505, #1506, #1507, #1508, #1509, #1510, #1511, #1512, #1513, #1514, #1515, #1516, #1517, #1518, #1519, #1520, #1521, #1522, #1523, #1524, #1525, #1526, #1527, #1528, #1529, #1530, #1531, #1532, #1533, #1534, #1535, #1536, #1537, #1538, #1539, #1540, #1541, #1542, #1543, #1544, #1545, #1546, #1547, #1548, #1549, #1550, #1551, #1552, #1553, #1554, #1555, #1556, #1557, #1558, #1559, #1560, #1561, #1562, #1563, #1564, #1565, #1566, #1567, #1568, #1569, #1570, #1571, #1572, #1573, #1574, #1575, #1576, #1577, #1578, #1579, #1580, #1581, #1582, #1583, #1584, #1585, #1586, #1587, #1588, #1589, #1590, #1591, #1592, #1593, #1594, #1595, #1596, #1597, #1598, #1599, #1600, #1601, #1602, #1603, #1604, #1605, #1606, #1607, #1608, #1609, #1610, #1611, #1612, #1613, #1614, #1615, #1616, #1617, #1618, #1619, #1620, #1621, #1622, #1623, #1624, #1625, #1626, #1627, #1628, #1629, #1630, #1631, #1632, #1633, #1634, #1635, #1636, #1637, #1638, #1639, #1640, #1641, #1642, #1643, #1644, #1645, #1646, #1647, #1648, #1649, #1650, #1651, #1652, #1653, #1654, #1655, #1656, #1657, #1658, #1659, #1660, #1661, #1662, #1663, #1664, #1665, #1666, #1667, #1668, #1669, #1670, #1671, #1672, #1673, #1674, #1675, #1676, #1677, #1678, #1679, #1680, #1681, #1682, #1683, #1684, #1685, #1686, #1687, #1688, #1689, #1690, #1691, #1692, #1693, #1694, #1695, #1696, #1697, #1698, #1699, #1700, #1701, #1702, #1703, #1704, #1705, #1706, #1707, #1708, #1709, #1710, #1711, #1712, #1713, #1714, #1715, #1716, #1717, #1718, #1719, #1720, #1721, #1722, #1723, #1724, #1725, #1726, #1727, #1728, #1729, #1730, #1731, #1732, #1733, #1734, #1735, #1736, #1737, #1738, #1739, #1740, #1741, #1742, #1743, #1744, #1745, #1746, #1747, #1748, #1749, #1750, #1751, #1752, #1753, #1754, #1755, #1756, #1757, #1758, #1759, #1760, #1761, #1762, #1763, #1764, #1765, #1766, #1767, #1768, #1769, #1770, #1771, #1772, #1773, #1774, #1775, #1776, #1777, #1778, #1779, #1780, #1781, #1782, #1783, #1784, #1785, #1786, #1787, #1788, #1789, #1790, #1791, #1792, #1793, #1794, #1795, #1796, #1797, #1798, #1799, #1800, #1801, #1802, #1803, #1804, #1805, #1806, #1807, #1808, #1809, #1810, #1811, #1812, #1813, #1814, #1815, #1816, #1817, #1818, #1819, #1820, #1821, #1822, #1823, #1824, #1825, #1826, #1827, #1828, #1829, #1830, #1831, #1832, #1833, #1834, #1835, #1836, #1837, #1838, #1839, #1840, #1841, #1842, #1843, #1844, #1845, #1846, #1847, #1848, #1849, #1850, #1851, #1852, #1853, #1854, #1855, #1856, #1857, #1858, #1859, #1860, #1861, #1862, #1863, #1864, #1865, #1866, #1867, #1868, #1869, #1870, #1871, #1872, #1873, #1874, #1875, #1876, #1877, #1878, #1879, #1880, #1881, #1882, #1883, #1884, #1885, #1886, #1887, #1888, #1889, #1890, #1891, #1892, #1893, #1894, #1895, #1896, #1897, #1898, #1899, #1900, #1901, #1902, #1903, #1904, #1905, #1906, #1907, #1908, #1909, #1910, #1911, #1912, #1913, #1914, #1915, #1916, #1917, #1918, #1919, #1920, #1921, #1922, #1923, #1924, #1925, #1926, #1927, #1928, #1929, #1930, #1931, #1932, #1933, #1934, #1935, #1936, #1937, #1938, #1939, #1940, #1941, #1942, #1943, #1944, #1945, #1946, #1947, #1948, #1949, #1950, #1951, #1952, #1953, #1954, #1955, #1956, #1957, #1958, #1959, #1960, #1961, #1962, #1963, #1964, #1965, #1966, #1967, #1968, #1969, #1970, #1971, #1972, #1973, #1974, #1975, #1976, #1977, #1978, #1979, #1980, #1981, #1982, #1983, #1984, #1985, #1986, #1987, #1988, #1989, #1990, #1991, #1992, #1993, #1994, #1995, #1996, #1997, #1998, #1999, #2000, #2001, #2002, #2003, #2004, #2005, #2006, #2007, #2008, #2009, #2010, #2011, #2012, #2013, #2014, #2015, #2016, #2017, #2018, #2019, #2020, #2021, #2022, #2023, #2024, #2025, #2026, #2027, #2028, #2029, #2030, #2031, #2032, #2033, #2034, #2035, #2036, #2037, #2038, #2039, #2040, #2041, #2042, #2043, #2044, #2045, #2046, #2047, #2048, #2049, #2050, #2051, #2052, #2053, #2054, #2055, #2056, #2057, #2058, #2059, #2060, #2061, #2062, #2063, #2064, #2065, #2066, #2067, #2068, #2069, #2070, #2071, #2072, #2073, #2074, #2075, #2076, #2077, #2078, #2079, #2080, #2081, #2082, #2083, #2084, #2085, #2086, #2087, #2088, #2089, #2090, #2091, #2092, #2093, #2094, #2095, #2096, #2097, #2098, #2099, #2100, #2101, #2102, #2103, #2104, #2105, #2106, #2107, #2108, #2109, #2110, #2111, #2112, #2113, #2114, #2115, #2116, #2117, #2118, #2119, #2120, #2121, #2122, #2123, #2124, #2125, #2126, #2127, #2128, #2129, #2130, #2131, #2132, #2133, #2134, #2135, #2136, #2137, #2138, #2139, #2140, #2141, #2142, #2143, #2144, #2145, #2146, #2147, #2148, #2149, #2150, #2151, #2152, #2153, #2154, #2155, #2156, #2157, #2158, #2159, #2160, #2161, #2162, #2163, #2164, #2165, #2166, #2167, #2168, #2169, #2170, #2171, #2172, #2173, #2174, #2175, #2176, #2177, #2178, #2179, #2180, #2181, #2182, #2183, #2184, #2185, #2186, #2187, #2188, #2189, #2190, #2191, #2192, #2193, #2194, #2195, #2196), $); +#1256 = IFCCARTESIANPOINTLIST3D(((-1.35721E-1, 2.86001E-1, 9.7269E-1), (-1.35721E-1, 1.E-2, 9.7269E-1), (-1.35721E-1, 2.86001E-1, -1.80315E-1), (4.279E-3, 0., 8.72687E-1), (4.279E-3, -3.00001E-1, 8.72687E-1), (3.2231E-2, 0., 8.69007E-1), (1.00007E-1, -3.00001E-1, 8.14689E-1), (9.7809E-2, 0., 8.18688E-1), (8.3027E-2, -3.00001E-1, 8.38597E-1), (8.0646E-2, 0., 8.41055E-1), (6.0242E-2, -3.00001E-1, 8.57056E-1), (5.8279E-2, 0., 8.58218E-1), (3.3332E-2, -3.00001E-1, 8.68706E-1), (-2.3673E-2, 0., 8.69007E-1), (-5.1684E-2, -3.00001E-1, 8.57056E-1), (-4.972E-2, 0., 8.58218E-1), (-7.2087E-2, 0., 8.41055E-1), (-2.4773E-2, -3.00001E-1, 8.68706E-1), (-7.4469E-2, -3.00001E-1, 8.38597E-1), (-8.9251E-2, 0., 8.18688E-1), (8.2767E-2, 0., 8.43176E-1), (1.00407E-1, 0., 8.20188E-1), (8.8275E-2, -3.00001E-1, 8.37252E-1), (5.9779E-2, 0., 8.60816E-1), (6.8145E-2, -3.00001E-1, 8.55473E-1), (3.3008E-2, 0., 8.71905E-1), (4.4194E-2, -3.00001E-1, 8.68262E-1), (1.7855E-2, -3.00001E-1, 8.74853E-1), (-7.4209E-2, 0., 8.43176E-1), (-5.122E-2, 0., 8.60816E-1), (-5.9587E-2, -3.00001E-1, 8.55473E-1), (-2.4449E-2, 0., 8.71905E-1), (-3.5636E-2, -3.00001E-1, 8.68262E-1), (-9.1849E-2, 0., 8.20188E-1), (-7.9717E-2, -3.00001E-1, 8.37252E-1), (1.1228E-1, 0., 7.64689E-1), (1.1228E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, 0., 7.64689E-1), (1.1228E-1, -2.50001E-1, 7.64689E-1), (1.1528E-1, -2.50001E-1, 7.64689E-1), (1.11497E-1, 0., 7.93418E-1), (1.08599E-1, 0., 7.92641E-1), (4.279E-3, 0., 8.75687E-1), (-1.03721E-1, 0., 7.64689E-1), (-1.06721E-1, 0., 7.64689E-1), (-1.0004E-1, 0., 7.92641E-1), (-1.02938E-1, 0., 7.93418E-1), (1.03379E-1, -3.00001E-1, 8.14689E-1), (-9.1448E-2, -3.00001E-1, 8.14689E-1), (-9.482E-2, -3.00001E-1, 8.14689E-1), (-9.296E-3, -3.00001E-1, 8.74853E-1), (-1.03721E-1, -2.50001E-1, 7.64689E-1), (-1.06719E-1, -2.57292E-1, 7.6517E-1), (-1.03719E-1, -2.57469E-1, 7.65189E-1), (-1.06569E-1, -2.7346E-1, 7.70486E-1), (-1.03563E-1, -2.73543E-1, 7.70529E-1), (-1.03684E-1, -2.66616E-1, 7.67502E-1), (-1.06713E-1, -2.61426E-1, 7.66006E-1), (-1.03712E-1, -2.61584E-1, 7.66045E-1), (-1.06686E-1, -2.66496E-1, 7.67459E-1), (-1.03338E-1, -2.78963E-1, 7.73775E-1), (-1.06039E-1, -2.82935E-1, 7.76974E-1), (-1.03013E-1, -2.82999E-1, 7.7703E-1), (-1.06352E-1, -2.7889E-1, 7.73724E-1), (-1.06721E-1, -2.50001E-1, 7.64689E-1), (-9.7621E-2, -2.99727E-1, 8.08702E-1), (-9.684E-2, -2.98755E-1, 8.02617E-1), (-1.00057E-1, -2.98745E-1, 8.02567E-1), (-9.4331E-2, -2.9973E-1, 8.08732E-1), (-9.897E-2, -2.96832E-1, 7.96365E-1), (-1.02122E-1, -2.96811E-1, 7.96305E-1), (-1.05118E-1, -2.89141E-1, 7.83479E-1), (-1.02062E-1, -2.89191E-1, 7.83542E-1), (-1.03812E-1, -2.93683E-1, 7.89934E-1), (-1.00713E-1, -2.93717E-1, 7.89999E-1), (1.14655E-1, -2.82293E-1, 7.76518E-1), (1.11572E-1, -2.83001E-1, 7.77033E-1), (1.14226E-1, -2.85953E-1, 7.79942E-1), (1.15289E-1, -2.55014E-1, 7.64943E-1), (1.12278E-1, -2.57456E-1, 7.65185E-1), (1.15303E-1, -2.59975E-1, 7.65697E-1), (1.15298E-1, -2.64834E-1, 7.66942E-1), (1.12243E-1, -2.66604E-1, 7.67496E-1), (1.15254E-1, -2.69543E-1, 7.68666E-1), (1.12271E-1, -2.61568E-1, 7.66038E-1), (1.15146E-1, -2.74047E-1, 7.70853E-1), (1.12122E-1, -2.73538E-1, 7.70527E-1), (1.14954E-1, -2.78311E-1, 7.7348E-1), (1.11897E-1, -2.78963E-1, 7.73774E-1), (1.1062E-1, -2.89191E-1, 7.83544E-1), (1.13624E-1, -2.8928E-1, 7.83747E-1), (1.12831E-1, -2.92149E-1, 7.87779E-1), (1.09272E-1, -2.93719E-1, 7.89998E-1), (1.11834E-1, -2.94565E-1, 7.92001E-1), (1.10622E-1, -2.96533E-1, 7.96378E-1), (1.07529E-1, -2.96833E-1, 7.96365E-1), (1.09182E-1, -2.98056E-1, 8.00871E-1), (1.05573E-1, -2.99786E-1, 8.10064E-1), (1.05399E-1, -2.98756E-1, 8.02617E-1), (1.0289E-1, -2.9973E-1, 8.08732E-1), (1.07503E-1, -2.99139E-1, 8.05445E-1), (-1.03721E-1, -1.25E-1, 7.64689E-1), (-1.06721E-1, -1.25E-1, 7.64689E-1), (1.1528E-1, -1.25E-1, 7.64689E-1), (4.279E-3, 0., 6.17686E-1), (4.279E-3, -3.00001E-1, 6.17686E-1), (3.2231E-2, 0., 6.14006E-1), (1.00007E-1, -3.00001E-1, 5.59689E-1), (9.7809E-2, 0., 5.63688E-1), (8.3027E-2, -3.00001E-1, 5.83597E-1), (8.0646E-2, 0., 5.86055E-1), (6.0242E-2, -3.00001E-1, 6.02056E-1), (5.8279E-2, 0., 6.03217E-1), (3.3332E-2, -3.00001E-1, 6.13705E-1), (-2.3673E-2, 0., 6.14006E-1), (-5.1684E-2, -3.00001E-1, 6.02056E-1), (-4.972E-2, 0., 6.03217E-1), (-7.2087E-2, 0., 5.86055E-1), (-2.4773E-2, -3.00001E-1, 6.13705E-1), (-7.4469E-2, -3.00001E-1, 5.83597E-1), (-8.9251E-2, 0., 5.63688E-1), (8.2767E-2, 0., 5.88176E-1), (1.00407E-1, 0., 5.65188E-1), (8.8275E-2, -3.00001E-1, 5.82252E-1), (5.9779E-2, 0., 6.05816E-1), (6.8145E-2, -3.00001E-1, 6.00472E-1), (3.3008E-2, 0., 6.16904E-1), (4.4194E-2, -3.00001E-1, 6.13261E-1), (1.7855E-2, -3.00001E-1, 6.19853E-1), (-2.4449E-2, 0., 6.16904E-1), (4.279E-3, 0., 6.20686E-1), (-9.296E-3, -3.00001E-1, 6.19853E-1), (-7.4209E-2, 0., 5.88176E-1), (-5.122E-2, 0., 6.05816E-1), (-5.9587E-2, -3.00001E-1, 6.00472E-1), (-3.5636E-2, -3.00001E-1, 6.13261E-1), (-9.1849E-2, 0., 5.65188E-1), (-7.9717E-2, -3.00001E-1, 5.82252E-1), (1.1228E-1, 0., 5.09689E-1), (1.1228E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, 0., 5.09689E-1), (1.1228E-1, -2.50001E-1, 5.09689E-1), (1.1528E-1, -2.50001E-1, 5.09689E-1), (1.11497E-1, 0., 5.38417E-1), (1.08599E-1, 0., 5.37641E-1), (-1.03721E-1, 0., 5.09689E-1), (-1.06721E-1, 0., 5.09689E-1), (-1.0269E-1, 0., 5.1752E-1), (-1.02938E-1, 0., 5.38417E-1), (-1.0004E-1, 0., 5.37641E-1), (1.03379E-1, -3.00001E-1, 5.59689E-1), (-9.1448E-2, -3.00001E-1, 5.59689E-1), (-9.482E-2, -3.00001E-1, 5.59689E-1), (-1.03721E-1, -2.50001E-1, 5.09689E-1), (-1.06719E-1, -2.57292E-1, 5.1017E-1), (-1.03719E-1, -2.57469E-1, 5.10189E-1), (-1.06569E-1, -2.7346E-1, 5.15485E-1), (-1.03563E-1, -2.73543E-1, 5.15529E-1), (-1.03684E-1, -2.66616E-1, 5.12502E-1), (-1.06713E-1, -2.61426E-1, 5.11005E-1), (-1.03712E-1, -2.61584E-1, 5.11045E-1), (-1.06686E-1, -2.66496E-1, 5.12458E-1), (-1.03338E-1, -2.78963E-1, 5.18774E-1), (-1.06039E-1, -2.82935E-1, 5.21974E-1), (-1.03013E-1, -2.82999E-1, 5.2203E-1), (-1.06352E-1, -2.7889E-1, 5.18723E-1), (-1.06721E-1, -2.50001E-1, 5.09689E-1), (-9.7621E-2, -2.99727E-1, 5.53702E-1), (-9.684E-2, -2.98755E-1, 5.47616E-1), (-1.00057E-1, -2.98745E-1, 5.47567E-1), (-9.4331E-2, -2.9973E-1, 5.53731E-1), (-9.897E-2, -2.96832E-1, 5.41365E-1), (-1.02122E-1, -2.96811E-1, 5.41304E-1), (-1.05118E-1, -2.89141E-1, 5.28479E-1), (-1.02062E-1, -2.89191E-1, 5.28542E-1), (-1.03812E-1, -2.93683E-1, 5.34933E-1), (-1.00713E-1, -2.93717E-1, 5.34998E-1), (1.14655E-1, -2.82293E-1, 5.21518E-1), (1.11572E-1, -2.83001E-1, 5.22032E-1), (1.14226E-1, -2.85953E-1, 5.24941E-1), (1.15289E-1, -2.55014E-1, 5.09942E-1), (1.12278E-1, -2.57456E-1, 5.10185E-1), (1.15303E-1, -2.59975E-1, 5.10697E-1), (1.15298E-1, -2.64834E-1, 5.11941E-1), (1.12243E-1, -2.66604E-1, 5.12496E-1), (1.15254E-1, -2.69543E-1, 5.13666E-1), (1.12271E-1, -2.61568E-1, 5.11038E-1), (1.15146E-1, -2.74047E-1, 5.15853E-1), (1.12122E-1, -2.73538E-1, 5.15526E-1), (1.14954E-1, -2.78311E-1, 5.18479E-1), (1.11897E-1, -2.78963E-1, 5.18774E-1), (1.1062E-1, -2.89191E-1, 5.28543E-1), (1.13624E-1, -2.8928E-1, 5.28746E-1), (1.12831E-1, -2.92149E-1, 5.32778E-1), (1.09272E-1, -2.93719E-1, 5.34998E-1), (1.11834E-1, -2.94565E-1, 5.37001E-1), (1.10622E-1, -2.96533E-1, 5.41377E-1), (1.07529E-1, -2.96833E-1, 5.41365E-1), (1.09182E-1, -2.98056E-1, 5.45871E-1), (1.05573E-1, -2.99786E-1, 5.55063E-1), (1.05399E-1, -2.98756E-1, 5.47616E-1), (1.0289E-1, -2.9973E-1, 5.53731E-1), (1.07503E-1, -2.99139E-1, 5.50445E-1), (-1.03721E-1, -1.25E-1, 5.09689E-1), (-1.06721E-1, -1.25E-1, 5.09689E-1), (1.1528E-1, -1.25E-1, 5.09689E-1), (-2.70721E-1, 0., 1.06469), (-2.70721E-1, 1.E-2, 1.06469), (2.7928E-1, 0., 1.06469), (2.7928E-1, 1.E-2, 1.06469), (3.0428E-1, 0., 1.03969), (3.0428E-1, 1.E-2, 1.03969), (3.0428E-1, 0., -1.55315E-1), (3.0428E-1, 1.E-2, -1.55315E-1), (1.08597E-1, 0., 4.81735E-1), (2.7928E-1, 0., -1.80315E-1), (-2.70721E-1, 0., -1.80315E-1), (-2.95721E-1, 0., -1.55315E-1), (3.223E-2, 0., -1.04633E-1), (5.8277E-2, 0., -9.3843E-2), (8.0645E-2, 0., -7.668E-2), (9.7808E-2, 0., -5.4313E-2), (1.08597E-1, 0., -2.8266E-2), (4.278E-3, 0., -1.08313E-1), (1.1228E-1, 0., -3.12E-4), (1.08599E-1, 0., 2.764E-2), (9.7809E-2, 0., 5.3687E-2), (8.0646E-2, 0., 7.6054E-2), (1.08597E-1, 0., 2.26735E-1), (5.8279E-2, 0., 9.3216E-2), (9.7808E-2, 0., 2.00687E-1), (3.2231E-2, 0., 1.04005E-1), (8.0645E-2, 0., 1.7832E-1), (4.279E-3, 0., 1.07685E-1), (5.8277E-2, 0., 1.61157E-1), (3.223E-2, 0., 1.50368E-1), (4.278E-3, 0., 1.46688E-1), (1.1228E-1, 0., 2.54688E-1), (1.08599E-1, 0., 2.8264E-1), (9.7809E-2, 0., 3.08687E-1), (8.0646E-2, 0., 3.31054E-1), (5.8279E-2, 0., 3.48217E-1), (9.7808E-2, 0., 4.55688E-1), (3.2231E-2, 0., 3.59006E-1), (8.0645E-2, 0., 4.33321E-1), (4.279E-3, 0., 3.62686E-1), (5.8277E-2, 0., 4.16158E-1), (3.223E-2, 0., 4.05368E-1), (4.278E-3, 0., 4.01688E-1), (9.7808E-2, 0., 7.10687E-1), (8.0644E-2, 0., 6.8832E-1), (5.8277E-2, 0., 6.71157E-1), (3.2229E-2, 0., 6.60368E-1), (4.277E-3, 0., 6.56689E-1), (1.08597E-1, 0., 7.36735E-1), (-2.95721E-1, 0., 1.03969), (-1.00041E-1, 0., -2.8266E-2), (-8.9252E-2, 0., -5.4313E-2), (-7.2089E-2, 0., -7.668E-2), (-4.9721E-2, 0., -9.3843E-2), (-2.3674E-2, 0., -1.04633E-1), (-1.03721E-1, 0., -3.12E-4), (-1.0269E-1, 0., 7.519E-3), (-1.0004E-1, 0., 2.764E-2), (-8.9251E-2, 0., 5.3687E-2), (-7.2087E-2, 0., 7.6054E-2), (-1.00041E-1, 0., 2.26735E-1), (-4.972E-2, 0., 9.3216E-2), (-8.9252E-2, 0., 2.00687E-1), (-2.3673E-2, 0., 1.04005E-1), (-7.2089E-2, 0., 1.7832E-1), (-4.9721E-2, 0., 1.61157E-1), (-2.3674E-2, 0., 1.50368E-1), (-1.03721E-1, 0., 2.54688E-1), (-1.0269E-1, 0., 2.62519E-1), (-1.0004E-1, 0., 2.8264E-1), (-8.9251E-2, 0., 3.08687E-1), (-7.2087E-2, 0., 3.31054E-1), (-1.00041E-1, 0., 4.81735E-1), (-4.972E-2, 0., 3.48217E-1), (-8.9252E-2, 0., 4.55688E-1), (-2.3673E-2, 0., 3.59006E-1), (-7.2089E-2, 0., 4.33321E-1), (-4.9721E-2, 0., 4.16158E-1), (-2.3674E-2, 0., 4.05368E-1), (-8.9253E-2, 0., 7.10689E-1), (-7.209E-2, 0., 6.88322E-1), (-4.9723E-2, 0., 6.71158E-1), (-2.3675E-2, 0., 6.60369E-1), (-1.00042E-1, 0., 7.36737E-1), (-2.70721E-1, 1.E-2, -1.80315E-1), (2.7928E-1, 1.E-2, -1.80315E-1), (-2.95721E-1, 1.E-2, -1.55315E-1), (-2.95721E-1, 1.E-2, 1.03969), (4.279E-3, -3.00001E-1, 3.62686E-1), (1.00007E-1, -3.00001E-1, 3.04688E-1), (8.3027E-2, -3.00001E-1, 3.28596E-1), (6.0242E-2, -3.00001E-1, 3.47055E-1), (3.3332E-2, -3.00001E-1, 3.58705E-1), (-5.1684E-2, -3.00001E-1, 3.47055E-1), (-2.4773E-2, -3.00001E-1, 3.58705E-1), (-7.4469E-2, -3.00001E-1, 3.28596E-1), (8.2767E-2, 0., 3.33176E-1), (1.00407E-1, 0., 3.10187E-1), (8.8275E-2, -3.00001E-1, 3.27251E-1), (5.9779E-2, 0., 3.50815E-1), (6.8145E-2, -3.00001E-1, 3.45472E-1), (3.3008E-2, 0., 3.61904E-1), (4.4194E-2, -3.00001E-1, 3.58261E-1), (1.7855E-2, -3.00001E-1, 3.64853E-1), (-7.4209E-2, 0., 3.33176E-1), (-5.122E-2, 0., 3.50815E-1), (-5.9587E-2, -3.00001E-1, 3.45472E-1), (-2.4449E-2, 0., 3.61904E-1), (-3.5636E-2, -3.00001E-1, 3.58261E-1), (-9.1849E-2, 0., 3.10187E-1), (-7.9717E-2, -3.00001E-1, 3.27251E-1), (1.1228E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, 0., 2.54688E-1), (1.1228E-1, -2.50001E-1, 2.54688E-1), (1.1528E-1, -2.50001E-1, 2.54688E-1), (-1.06721E-1, 0., 2.54688E-1), (-1.02938E-1, 0., 2.83417E-1), (4.279E-3, 0., 3.65686E-1), (1.11497E-1, 0., 2.83417E-1), (1.03379E-1, -3.00001E-1, 3.04688E-1), (-9.1448E-2, -3.00001E-1, 3.04688E-1), (-9.482E-2, -3.00001E-1, 3.04688E-1), (-9.296E-3, -3.00001E-1, 3.64853E-1), (-1.03721E-1, -2.50001E-1, 2.54688E-1), (-1.06719E-1, -2.57292E-1, 2.55169E-1), (-1.03719E-1, -2.57469E-1, 2.55188E-1), (-1.06569E-1, -2.7346E-1, 2.60485E-1), (-1.03563E-1, -2.73543E-1, 2.60528E-1), (-1.03684E-1, -2.66616E-1, 2.57501E-1), (-1.06713E-1, -2.61426E-1, 2.56005E-1), (-1.03712E-1, -2.61584E-1, 2.56044E-1), (-1.06686E-1, -2.66496E-1, 2.57458E-1), (-1.03338E-1, -2.78963E-1, 2.63774E-1), (-1.06039E-1, -2.82935E-1, 2.66973E-1), (-1.03013E-1, -2.82999E-1, 2.67029E-1), (-1.06352E-1, -2.7889E-1, 2.63723E-1), (-1.06721E-1, -2.50001E-1, 2.54688E-1), (-9.7621E-2, -2.99727E-1, 2.98701E-1), (-9.684E-2, -2.98755E-1, 2.92616E-1), (-1.00057E-1, -2.98745E-1, 2.92566E-1), (-9.4331E-2, -2.9973E-1, 2.98731E-1), (-9.897E-2, -2.96832E-1, 2.86364E-1), (-1.02122E-1, -2.96811E-1, 2.86304E-1), (-1.05118E-1, -2.89141E-1, 2.73478E-1), (-1.02062E-1, -2.89191E-1, 2.73541E-1), (-1.03812E-1, -2.93683E-1, 2.79933E-1), (-1.00713E-1, -2.93717E-1, 2.79997E-1), (1.14655E-1, -2.82293E-1, 2.66517E-1), (1.11572E-1, -2.83001E-1, 2.67032E-1), (1.14226E-1, -2.85953E-1, 2.69941E-1), (1.15289E-1, -2.55014E-1, 2.54942E-1), (1.12278E-1, -2.57456E-1, 2.55184E-1), (1.15303E-1, -2.59975E-1, 2.55696E-1), (1.15298E-1, -2.64834E-1, 2.56941E-1), (1.12243E-1, -2.66604E-1, 2.57496E-1), (1.15254E-1, -2.69543E-1, 2.58665E-1), (1.12271E-1, -2.61568E-1, 2.56037E-1), (1.15146E-1, -2.74047E-1, 2.60852E-1), (1.12122E-1, -2.73538E-1, 2.60526E-1), (1.14954E-1, -2.78311E-1, 2.63479E-1), (1.11897E-1, -2.78963E-1, 2.63773E-1), (1.1062E-1, -2.89191E-1, 2.73543E-1), (1.13624E-1, -2.8928E-1, 2.73746E-1), (1.12831E-1, -2.92149E-1, 2.77778E-1), (1.09272E-1, -2.93719E-1, 2.79997E-1), (1.11834E-1, -2.94565E-1, 2.82E-1), (1.10622E-1, -2.96533E-1, 2.86377E-1), (1.07529E-1, -2.96833E-1, 2.86364E-1), (1.09182E-1, -2.98056E-1, 2.9087E-1), (1.05573E-1, -2.99786E-1, 3.00063E-1), (1.05399E-1, -2.98756E-1, 2.92616E-1), (1.0289E-1, -2.9973E-1, 2.98731E-1), (1.07503E-1, -2.99139E-1, 2.95444E-1), (-1.03721E-1, -1.25E-1, 2.54688E-1), (-1.06721E-1, -1.25E-1, 2.54688E-1), (1.1528E-1, -1.25E-1, 2.54688E-1), (4.279E-3, -3.00001E-1, 1.07685E-1), (1.00007E-1, -3.00001E-1, 4.9688E-2), (8.3027E-2, -3.00001E-1, 7.3596E-2), (6.0242E-2, -3.00001E-1, 9.2055E-2), (3.3332E-2, -3.00001E-1, 1.03704E-1), (-5.1684E-2, -3.00001E-1, 9.2055E-2), (-2.4773E-2, -3.00001E-1, 1.03704E-1), (-7.4469E-2, -3.00001E-1, 7.3596E-2), (8.2767E-2, 0., 7.8175E-2), (1.00407E-1, 0., 5.5187E-2), (8.8275E-2, -3.00001E-1, 7.225E-2), (5.9779E-2, 0., 9.5814E-2), (6.8145E-2, -3.00001E-1, 9.0471E-2), (3.3008E-2, 0., 1.06903E-1), (4.4194E-2, -3.00001E-1, 1.0326E-1), (1.7855E-2, -3.00001E-1, 1.09852E-1), (-7.4209E-2, 0., 7.8175E-2), (-5.122E-2, 0., 9.5814E-2), (-5.9587E-2, -3.00001E-1, 9.0471E-2), (-2.4449E-2, 0., 1.06903E-1), (-3.5636E-2, -3.00001E-1, 1.0326E-1), (-9.1849E-2, 0., 5.5187E-2), (-7.9717E-2, -3.00001E-1, 7.225E-2), (1.1228E-1, -1.25E-1, -3.12E-4), (1.1528E-1, 0., -3.12E-4), (1.1228E-1, -2.50001E-1, -3.12E-4), (1.1528E-1, -2.50001E-1, -3.12E-4), (-1.06721E-1, 0., -3.12E-4), (-1.02938E-1, 0., 2.8416E-2), (4.279E-3, 0., 1.10685E-1), (1.11497E-1, 0., 2.8416E-2), (1.03379E-1, -3.00001E-1, 4.9688E-2), (-9.1448E-2, -3.00001E-1, 4.9688E-2), (-9.482E-2, -3.00001E-1, 4.9688E-2), (-9.296E-3, -3.00001E-1, 1.09852E-1), (-1.03721E-1, -2.50001E-1, -3.12E-4), (-1.06719E-1, -2.57292E-1, 1.69E-4), (-1.03719E-1, -2.57469E-1, 1.88E-4), (-1.06569E-1, -2.7346E-1, 5.484E-3), (-1.03563E-1, -2.73543E-1, 5.528E-3), (-1.03684E-1, -2.66616E-1, 2.501E-3), (-1.06713E-1, -2.61426E-1, 1.004E-3), (-1.03712E-1, -2.61584E-1, 1.044E-3), (-1.06686E-1, -2.66496E-1, 2.457E-3), (-1.03338E-1, -2.78963E-1, 8.773E-3), (-1.06039E-1, -2.82935E-1, 1.1973E-2), (-1.03013E-1, -2.82999E-1, 1.2029E-2), (-1.06352E-1, -2.7889E-1, 8.722E-3), (-1.06721E-1, -2.50001E-1, -3.12E-4), (-9.7621E-2, -2.99727E-1, 4.3701E-2), (-9.684E-2, -2.98755E-1, 3.7615E-2), (-1.00057E-1, -2.98745E-1, 3.7566E-2), (-9.4331E-2, -2.9973E-1, 4.373E-2), (-9.897E-2, -2.96832E-1, 3.1364E-2), (-1.02122E-1, -2.96811E-1, 3.1303E-2), (-1.05118E-1, -2.89141E-1, 1.8478E-2), (-1.02062E-1, -2.89191E-1, 1.8541E-2), (-1.03812E-1, -2.93683E-1, 2.4932E-2), (-1.00713E-1, -2.93717E-1, 2.4997E-2), (1.14655E-1, -2.82293E-1, 1.1517E-2), (1.11572E-1, -2.83001E-1, 1.2031E-2), (1.14226E-1, -2.85953E-1, 1.494E-2), (1.15289E-1, -2.55014E-1, -5.9E-5), (1.12278E-1, -2.57456E-1, 1.84E-4), (1.15303E-1, -2.59975E-1, 6.96E-4), (1.15298E-1, -2.64834E-1, 1.94E-3), (1.12243E-1, -2.66604E-1, 2.495E-3), (1.15254E-1, -2.69543E-1, 3.665E-3), (1.12271E-1, -2.61568E-1, 1.037E-3), (1.15146E-1, -2.74047E-1, 5.852E-3), (1.12122E-1, -2.73538E-1, 5.525E-3), (1.14954E-1, -2.78311E-1, 8.478E-3), (1.11897E-1, -2.78963E-1, 8.773E-3), (1.1062E-1, -2.89191E-1, 1.8542E-2), (1.13624E-1, -2.8928E-1, 1.8745E-2), (1.12831E-1, -2.92149E-1, 2.2777E-2), (1.09272E-1, -2.93719E-1, 2.4997E-2), (1.11834E-1, -2.94565E-1, 2.7E-2), (1.10622E-1, -2.96533E-1, 3.1376E-2), (1.07529E-1, -2.96833E-1, 3.1364E-2), (1.09182E-1, -2.98056E-1, 3.587E-2), (1.05573E-1, -2.99786E-1, 4.5062E-2), (1.05399E-1, -2.98756E-1, 3.7615E-2), (1.0289E-1, -2.9973E-1, 4.373E-2), (1.07503E-1, -2.99139E-1, 4.0444E-2), (-1.03721E-1, -1.25E-1, -3.12E-4), (-1.06721E-1, -1.25E-1, -3.12E-4), (1.1528E-1, -1.25E-1, -3.12E-4), (-1.35721E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 2.86001E-1, -1.80315E-1), (1.4428E-1, 1.E-2, -1.80315E-1), (1.4428E-1, 1.E-2, 9.7269E-1), (1.4428E-1, 2.86001E-1, 9.7269E-1)), $); +#1257 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#1258 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#1259 = IFCINDEXEDPOLYGONALFACE((7, 8, 9)); +#1260 = IFCINDEXEDPOLYGONALFACE((9, 10, 11)); +#1261 = IFCINDEXEDPOLYGONALFACE((11, 12, 13)); +#1262 = IFCINDEXEDPOLYGONALFACE((5, 4, 14)); +#1263 = IFCINDEXEDPOLYGONALFACE((15, 16, 17)); +#1264 = IFCINDEXEDPOLYGONALFACE((18, 14, 16)); +#1265 = IFCINDEXEDPOLYGONALFACE((19, 17, 20)); +#1266 = IFCINDEXEDPOLYGONALFACE((21, 22, 23)); +#1267 = IFCINDEXEDPOLYGONALFACE((24, 21, 25)); +#1268 = IFCINDEXEDPOLYGONALFACE((26, 24, 27)); +#1269 = IFCINDEXEDPOLYGONALFACE((27, 28, 26)); +#1270 = IFCINDEXEDPOLYGONALFACE((29, 30, 31)); +#1271 = IFCINDEXEDPOLYGONALFACE((30, 32, 33)); +#1272 = IFCINDEXEDPOLYGONALFACE((34, 29, 35)); +#1273 = IFCINDEXEDPOLYGONALFACE((36, 37, 38)); +#1274 = IFCINDEXEDPOLYGONALFACE((39, 38, 37)); +#1275 = IFCINDEXEDPOLYGONALFACE((40, 38, 39)); +#1276 = IFCINDEXEDPOLYGONALFACE((38, 36, 41)); +#1277 = IFCINDEXEDPOLYGONALFACE((42, 41, 36)); +#1278 = IFCINDEXEDPOLYGONALFACE((8, 41, 42)); +#1279 = IFCINDEXEDPOLYGONALFACE((22, 41, 8)); +#1280 = IFCINDEXEDPOLYGONALFACE((10, 22, 8)); +#1281 = IFCINDEXEDPOLYGONALFACE((21, 22, 10)); +#1282 = IFCINDEXEDPOLYGONALFACE((12, 21, 10)); +#1283 = IFCINDEXEDPOLYGONALFACE((24, 21, 12)); +#1284 = IFCINDEXEDPOLYGONALFACE((6, 24, 12)); +#1285 = IFCINDEXEDPOLYGONALFACE((26, 24, 6)); +#1286 = IFCINDEXEDPOLYGONALFACE((4, 26, 6)); +#1287 = IFCINDEXEDPOLYGONALFACE((43, 26, 4)); +#1288 = IFCINDEXEDPOLYGONALFACE((44, 45, 46)); +#1289 = IFCINDEXEDPOLYGONALFACE((47, 46, 45)); +#1290 = IFCINDEXEDPOLYGONALFACE((20, 46, 47)); +#1291 = IFCINDEXEDPOLYGONALFACE((34, 20, 47)); +#1292 = IFCINDEXEDPOLYGONALFACE((17, 20, 34)); +#1293 = IFCINDEXEDPOLYGONALFACE((29, 17, 34)); +#1294 = IFCINDEXEDPOLYGONALFACE((16, 17, 29)); +#1295 = IFCINDEXEDPOLYGONALFACE((30, 16, 29)); +#1296 = IFCINDEXEDPOLYGONALFACE((14, 16, 30)); +#1297 = IFCINDEXEDPOLYGONALFACE((32, 14, 30)); +#1298 = IFCINDEXEDPOLYGONALFACE((4, 14, 32)); +#1299 = IFCINDEXEDPOLYGONALFACE((43, 4, 32)); +#1300 = IFCINDEXEDPOLYGONALFACE((48, 7, 23)); +#1301 = IFCINDEXEDPOLYGONALFACE((9, 23, 7)); +#1302 = IFCINDEXEDPOLYGONALFACE((25, 23, 9)); +#1303 = IFCINDEXEDPOLYGONALFACE((11, 25, 9)); +#1304 = IFCINDEXEDPOLYGONALFACE((27, 25, 11)); +#1305 = IFCINDEXEDPOLYGONALFACE((13, 27, 11)); +#1306 = IFCINDEXEDPOLYGONALFACE((28, 27, 13)); +#1307 = IFCINDEXEDPOLYGONALFACE((5, 28, 13)); +#1308 = IFCINDEXEDPOLYGONALFACE((49, 50, 19)); +#1309 = IFCINDEXEDPOLYGONALFACE((35, 19, 50)); +#1310 = IFCINDEXEDPOLYGONALFACE((31, 19, 35)); +#1311 = IFCINDEXEDPOLYGONALFACE((15, 19, 31)); +#1312 = IFCINDEXEDPOLYGONALFACE((33, 15, 31)); +#1313 = IFCINDEXEDPOLYGONALFACE((18, 15, 33)); +#1314 = IFCINDEXEDPOLYGONALFACE((51, 18, 33)); +#1315 = IFCINDEXEDPOLYGONALFACE((5, 18, 51)); +#1316 = IFCINDEXEDPOLYGONALFACE((28, 5, 51)); +#1317 = IFCINDEXEDPOLYGONALFACE((52, 53, 54)); +#1318 = IFCINDEXEDPOLYGONALFACE((55, 56, 57)); +#1319 = IFCINDEXEDPOLYGONALFACE((54, 58, 59)); +#1320 = IFCINDEXEDPOLYGONALFACE((60, 57, 59)); +#1321 = IFCINDEXEDPOLYGONALFACE((61, 62, 63)); +#1322 = IFCINDEXEDPOLYGONALFACE((56, 64, 61)); +#1323 = IFCINDEXEDPOLYGONALFACE((61, 64, 62)); +#1324 = IFCINDEXEDPOLYGONALFACE((53, 52, 65)); +#1325 = IFCINDEXEDPOLYGONALFACE((58, 60, 59)); +#1326 = IFCINDEXEDPOLYGONALFACE((58, 54, 53)); +#1327 = IFCINDEXEDPOLYGONALFACE((57, 60, 55)); +#1328 = IFCINDEXEDPOLYGONALFACE((64, 56, 55)); +#1329 = IFCINDEXEDPOLYGONALFACE((66, 67, 68)); +#1330 = IFCINDEXEDPOLYGONALFACE((67, 66, 69)); +#1331 = IFCINDEXEDPOLYGONALFACE((68, 70, 71)); +#1332 = IFCINDEXEDPOLYGONALFACE((70, 68, 67)); +#1333 = IFCINDEXEDPOLYGONALFACE((66, 50, 69)); +#1334 = IFCINDEXEDPOLYGONALFACE((49, 69, 50)); +#1335 = IFCINDEXEDPOLYGONALFACE((72, 63, 62)); +#1336 = IFCINDEXEDPOLYGONALFACE((73, 72, 74)); +#1337 = IFCINDEXEDPOLYGONALFACE((72, 73, 63)); +#1338 = IFCINDEXEDPOLYGONALFACE((75, 71, 70)); +#1339 = IFCINDEXEDPOLYGONALFACE((74, 75, 73)); +#1340 = IFCINDEXEDPOLYGONALFACE((74, 71, 75)); +#1341 = IFCINDEXEDPOLYGONALFACE((76, 77, 78)); +#1342 = IFCINDEXEDPOLYGONALFACE((40, 39, 79)); +#1343 = IFCINDEXEDPOLYGONALFACE((79, 80, 81)); +#1344 = IFCINDEXEDPOLYGONALFACE((82, 83, 84)); +#1345 = IFCINDEXEDPOLYGONALFACE((81, 85, 82)); +#1346 = IFCINDEXEDPOLYGONALFACE((86, 84, 87)); +#1347 = IFCINDEXEDPOLYGONALFACE((87, 88, 86)); +#1348 = IFCINDEXEDPOLYGONALFACE((89, 76, 88)); +#1349 = IFCINDEXEDPOLYGONALFACE((83, 87, 84)); +#1350 = IFCINDEXEDPOLYGONALFACE((85, 83, 82)); +#1351 = IFCINDEXEDPOLYGONALFACE((79, 39, 80)); +#1352 = IFCINDEXEDPOLYGONALFACE((80, 85, 81)); +#1353 = IFCINDEXEDPOLYGONALFACE((89, 77, 76)); +#1354 = IFCINDEXEDPOLYGONALFACE((87, 89, 88)); +#1355 = IFCINDEXEDPOLYGONALFACE((77, 90, 78)); +#1356 = IFCINDEXEDPOLYGONALFACE((91, 78, 90)); +#1357 = IFCINDEXEDPOLYGONALFACE((92, 90, 93)); +#1358 = IFCINDEXEDPOLYGONALFACE((90, 92, 91)); +#1359 = IFCINDEXEDPOLYGONALFACE((92, 93, 94)); +#1360 = IFCINDEXEDPOLYGONALFACE((95, 94, 93)); +#1361 = IFCINDEXEDPOLYGONALFACE((96, 95, 93)); +#1362 = IFCINDEXEDPOLYGONALFACE((95, 96, 97)); +#1363 = IFCINDEXEDPOLYGONALFACE((98, 99, 100)); +#1364 = IFCINDEXEDPOLYGONALFACE((101, 96, 99)); +#1365 = IFCINDEXEDPOLYGONALFACE((96, 101, 97)); +#1366 = IFCINDEXEDPOLYGONALFACE((101, 99, 98)); +#1367 = IFCINDEXEDPOLYGONALFACE((48, 100, 7)); +#1368 = IFCINDEXEDPOLYGONALFACE((100, 48, 98)); +#1369 = IFCINDEXEDPOLYGONALFACE((37, 87, 83)); +#1370 = IFCINDEXEDPOLYGONALFACE((42, 77, 37)); +#1371 = IFCINDEXEDPOLYGONALFACE((36, 42, 37)); +#1372 = IFCINDEXEDPOLYGONALFACE((39, 37, 83)); +#1373 = IFCINDEXEDPOLYGONALFACE((39, 85, 80)); +#1374 = IFCINDEXEDPOLYGONALFACE((39, 83, 85)); +#1375 = IFCINDEXEDPOLYGONALFACE((8, 100, 42)); +#1376 = IFCINDEXEDPOLYGONALFACE((5, 13, 6)); +#1377 = IFCINDEXEDPOLYGONALFACE((37, 89, 87)); +#1378 = IFCINDEXEDPOLYGONALFACE((99, 96, 42)); +#1379 = IFCINDEXEDPOLYGONALFACE((90, 77, 42)); +#1380 = IFCINDEXEDPOLYGONALFACE((37, 77, 89)); +#1381 = IFCINDEXEDPOLYGONALFACE((90, 42, 93)); +#1382 = IFCINDEXEDPOLYGONALFACE((93, 42, 96)); +#1383 = IFCINDEXEDPOLYGONALFACE((99, 42, 100)); +#1384 = IFCINDEXEDPOLYGONALFACE((8, 10, 9)); +#1385 = IFCINDEXEDPOLYGONALFACE((100, 8, 7)); +#1386 = IFCINDEXEDPOLYGONALFACE((10, 12, 11)); +#1387 = IFCINDEXEDPOLYGONALFACE((12, 6, 13)); +#1388 = IFCINDEXEDPOLYGONALFACE((61, 102, 56)); +#1389 = IFCINDEXEDPOLYGONALFACE((69, 20, 46)); +#1390 = IFCINDEXEDPOLYGONALFACE((46, 102, 63)); +#1391 = IFCINDEXEDPOLYGONALFACE((102, 57, 56)); +#1392 = IFCINDEXEDPOLYGONALFACE((46, 44, 102)); +#1393 = IFCINDEXEDPOLYGONALFACE((102, 52, 57)); +#1394 = IFCINDEXEDPOLYGONALFACE((52, 59, 57)); +#1395 = IFCINDEXEDPOLYGONALFACE((52, 54, 59)); +#1396 = IFCINDEXEDPOLYGONALFACE((5, 14, 18)); +#1397 = IFCINDEXEDPOLYGONALFACE((67, 69, 46)); +#1398 = IFCINDEXEDPOLYGONALFACE((15, 17, 19)); +#1399 = IFCINDEXEDPOLYGONALFACE((18, 16, 15)); +#1400 = IFCINDEXEDPOLYGONALFACE((19, 20, 49)); +#1401 = IFCINDEXEDPOLYGONALFACE((69, 49, 20)); +#1402 = IFCINDEXEDPOLYGONALFACE((46, 70, 67)); +#1403 = IFCINDEXEDPOLYGONALFACE((73, 46, 63)); +#1404 = IFCINDEXEDPOLYGONALFACE((102, 61, 63)); +#1405 = IFCINDEXEDPOLYGONALFACE((70, 46, 75)); +#1406 = IFCINDEXEDPOLYGONALFACE((75, 46, 73)); +#1407 = IFCINDEXEDPOLYGONALFACE((45, 103, 44)); +#1408 = IFCINDEXEDPOLYGONALFACE((65, 44, 103)); +#1409 = IFCINDEXEDPOLYGONALFACE((52, 44, 65)); +#1410 = IFCINDEXEDPOLYGONALFACE((86, 104, 84)); +#1411 = IFCINDEXEDPOLYGONALFACE((79, 81, 40)); +#1412 = IFCINDEXEDPOLYGONALFACE((104, 41, 38)); +#1413 = IFCINDEXEDPOLYGONALFACE((104, 40, 82)); +#1414 = IFCINDEXEDPOLYGONALFACE((82, 40, 81)); +#1415 = IFCINDEXEDPOLYGONALFACE((84, 104, 82)); +#1416 = IFCINDEXEDPOLYGONALFACE((86, 88, 104)); +#1417 = IFCINDEXEDPOLYGONALFACE((101, 22, 41)); +#1418 = IFCINDEXEDPOLYGONALFACE((78, 41, 104)); +#1419 = IFCINDEXEDPOLYGONALFACE((88, 76, 104)); +#1420 = IFCINDEXEDPOLYGONALFACE((104, 76, 78)); +#1421 = IFCINDEXEDPOLYGONALFACE((97, 101, 41)); +#1422 = IFCINDEXEDPOLYGONALFACE((92, 94, 41)); +#1423 = IFCINDEXEDPOLYGONALFACE((78, 91, 41)); +#1424 = IFCINDEXEDPOLYGONALFACE((92, 41, 91)); +#1425 = IFCINDEXEDPOLYGONALFACE((41, 94, 95)); +#1426 = IFCINDEXEDPOLYGONALFACE((41, 95, 97)); +#1427 = IFCINDEXEDPOLYGONALFACE((22, 101, 98)); +#1428 = IFCINDEXEDPOLYGONALFACE((22, 48, 23)); +#1429 = IFCINDEXEDPOLYGONALFACE((22, 98, 48)); +#1430 = IFCINDEXEDPOLYGONALFACE((21, 23, 25)); +#1431 = IFCINDEXEDPOLYGONALFACE((24, 25, 27)); +#1432 = IFCINDEXEDPOLYGONALFACE((28, 43, 26)); +#1433 = IFCINDEXEDPOLYGONALFACE((43, 51, 32)); +#1434 = IFCINDEXEDPOLYGONALFACE((103, 64, 55)); +#1435 = IFCINDEXEDPOLYGONALFACE((34, 66, 47)); +#1436 = IFCINDEXEDPOLYGONALFACE((103, 47, 62)); +#1437 = IFCINDEXEDPOLYGONALFACE((60, 103, 55)); +#1438 = IFCINDEXEDPOLYGONALFACE((45, 47, 103)); +#1439 = IFCINDEXEDPOLYGONALFACE((65, 103, 60)); +#1440 = IFCINDEXEDPOLYGONALFACE((58, 65, 60)); +#1441 = IFCINDEXEDPOLYGONALFACE((53, 65, 58)); +#1442 = IFCINDEXEDPOLYGONALFACE((51, 43, 28)); +#1443 = IFCINDEXEDPOLYGONALFACE((47, 66, 68)); +#1444 = IFCINDEXEDPOLYGONALFACE((51, 33, 32)); +#1445 = IFCINDEXEDPOLYGONALFACE((29, 31, 35)); +#1446 = IFCINDEXEDPOLYGONALFACE((30, 33, 31)); +#1447 = IFCINDEXEDPOLYGONALFACE((34, 35, 50)); +#1448 = IFCINDEXEDPOLYGONALFACE((50, 66, 34)); +#1449 = IFCINDEXEDPOLYGONALFACE((71, 47, 68)); +#1450 = IFCINDEXEDPOLYGONALFACE((47, 72, 62)); +#1451 = IFCINDEXEDPOLYGONALFACE((64, 103, 62)); +#1452 = IFCINDEXEDPOLYGONALFACE((47, 71, 74)); +#1453 = IFCINDEXEDPOLYGONALFACE((47, 74, 72)); +#1454 = IFCINDEXEDPOLYGONALFACE((105, 106, 107)); +#1455 = IFCINDEXEDPOLYGONALFACE((108, 109, 110)); +#1456 = IFCINDEXEDPOLYGONALFACE((110, 111, 112)); +#1457 = IFCINDEXEDPOLYGONALFACE((112, 113, 114)); +#1458 = IFCINDEXEDPOLYGONALFACE((106, 105, 115)); +#1459 = IFCINDEXEDPOLYGONALFACE((116, 117, 118)); +#1460 = IFCINDEXEDPOLYGONALFACE((119, 115, 117)); +#1461 = IFCINDEXEDPOLYGONALFACE((120, 118, 121)); +#1462 = IFCINDEXEDPOLYGONALFACE((122, 123, 124)); +#1463 = IFCINDEXEDPOLYGONALFACE((125, 122, 126)); +#1464 = IFCINDEXEDPOLYGONALFACE((127, 125, 128)); +#1465 = IFCINDEXEDPOLYGONALFACE((128, 129, 127)); +#1466 = IFCINDEXEDPOLYGONALFACE((130, 131, 132)); +#1467 = IFCINDEXEDPOLYGONALFACE((133, 134, 135)); +#1468 = IFCINDEXEDPOLYGONALFACE((134, 130, 136)); +#1469 = IFCINDEXEDPOLYGONALFACE((137, 133, 138)); +#1470 = IFCINDEXEDPOLYGONALFACE((139, 140, 141)); +#1471 = IFCINDEXEDPOLYGONALFACE((142, 141, 140)); +#1472 = IFCINDEXEDPOLYGONALFACE((143, 141, 142)); +#1473 = IFCINDEXEDPOLYGONALFACE((141, 139, 144)); +#1474 = IFCINDEXEDPOLYGONALFACE((145, 144, 139)); +#1475 = IFCINDEXEDPOLYGONALFACE((109, 144, 145)); +#1476 = IFCINDEXEDPOLYGONALFACE((123, 144, 109)); +#1477 = IFCINDEXEDPOLYGONALFACE((111, 123, 109)); +#1478 = IFCINDEXEDPOLYGONALFACE((122, 123, 111)); +#1479 = IFCINDEXEDPOLYGONALFACE((113, 122, 111)); +#1480 = IFCINDEXEDPOLYGONALFACE((125, 122, 113)); +#1481 = IFCINDEXEDPOLYGONALFACE((107, 125, 113)); +#1482 = IFCINDEXEDPOLYGONALFACE((127, 125, 107)); +#1483 = IFCINDEXEDPOLYGONALFACE((105, 127, 107)); +#1484 = IFCINDEXEDPOLYGONALFACE((131, 127, 105)); +#1485 = IFCINDEXEDPOLYGONALFACE((146, 147, 148)); +#1486 = IFCINDEXEDPOLYGONALFACE((149, 148, 147)); +#1487 = IFCINDEXEDPOLYGONALFACE((150, 148, 149)); +#1488 = IFCINDEXEDPOLYGONALFACE((121, 150, 149)); +#1489 = IFCINDEXEDPOLYGONALFACE((137, 121, 149)); +#1490 = IFCINDEXEDPOLYGONALFACE((118, 121, 137)); +#1491 = IFCINDEXEDPOLYGONALFACE((133, 118, 137)); +#1492 = IFCINDEXEDPOLYGONALFACE((117, 118, 133)); +#1493 = IFCINDEXEDPOLYGONALFACE((134, 117, 133)); +#1494 = IFCINDEXEDPOLYGONALFACE((115, 117, 134)); +#1495 = IFCINDEXEDPOLYGONALFACE((130, 115, 134)); +#1496 = IFCINDEXEDPOLYGONALFACE((105, 115, 130)); +#1497 = IFCINDEXEDPOLYGONALFACE((131, 105, 130)); +#1498 = IFCINDEXEDPOLYGONALFACE((151, 108, 124)); +#1499 = IFCINDEXEDPOLYGONALFACE((110, 124, 108)); +#1500 = IFCINDEXEDPOLYGONALFACE((126, 124, 110)); +#1501 = IFCINDEXEDPOLYGONALFACE((112, 126, 110)); +#1502 = IFCINDEXEDPOLYGONALFACE((128, 126, 112)); +#1503 = IFCINDEXEDPOLYGONALFACE((114, 128, 112)); +#1504 = IFCINDEXEDPOLYGONALFACE((129, 128, 114)); +#1505 = IFCINDEXEDPOLYGONALFACE((106, 129, 114)); +#1506 = IFCINDEXEDPOLYGONALFACE((152, 153, 120)); +#1507 = IFCINDEXEDPOLYGONALFACE((138, 120, 153)); +#1508 = IFCINDEXEDPOLYGONALFACE((135, 120, 138)); +#1509 = IFCINDEXEDPOLYGONALFACE((116, 120, 135)); +#1510 = IFCINDEXEDPOLYGONALFACE((136, 116, 135)); +#1511 = IFCINDEXEDPOLYGONALFACE((119, 116, 136)); +#1512 = IFCINDEXEDPOLYGONALFACE((132, 119, 136)); +#1513 = IFCINDEXEDPOLYGONALFACE((106, 119, 132)); +#1514 = IFCINDEXEDPOLYGONALFACE((129, 106, 132)); +#1515 = IFCINDEXEDPOLYGONALFACE((154, 155, 156)); +#1516 = IFCINDEXEDPOLYGONALFACE((157, 158, 159)); +#1517 = IFCINDEXEDPOLYGONALFACE((156, 160, 161)); +#1518 = IFCINDEXEDPOLYGONALFACE((162, 159, 161)); +#1519 = IFCINDEXEDPOLYGONALFACE((163, 164, 165)); +#1520 = IFCINDEXEDPOLYGONALFACE((158, 166, 163)); +#1521 = IFCINDEXEDPOLYGONALFACE((163, 166, 164)); +#1522 = IFCINDEXEDPOLYGONALFACE((155, 154, 167)); +#1523 = IFCINDEXEDPOLYGONALFACE((160, 162, 161)); +#1524 = IFCINDEXEDPOLYGONALFACE((160, 156, 155)); +#1525 = IFCINDEXEDPOLYGONALFACE((159, 162, 157)); +#1526 = IFCINDEXEDPOLYGONALFACE((166, 158, 157)); +#1527 = IFCINDEXEDPOLYGONALFACE((168, 169, 170)); +#1528 = IFCINDEXEDPOLYGONALFACE((169, 168, 171)); +#1529 = IFCINDEXEDPOLYGONALFACE((170, 172, 173)); +#1530 = IFCINDEXEDPOLYGONALFACE((172, 170, 169)); +#1531 = IFCINDEXEDPOLYGONALFACE((168, 153, 171)); +#1532 = IFCINDEXEDPOLYGONALFACE((152, 171, 153)); +#1533 = IFCINDEXEDPOLYGONALFACE((174, 165, 164)); +#1534 = IFCINDEXEDPOLYGONALFACE((175, 174, 176)); +#1535 = IFCINDEXEDPOLYGONALFACE((174, 175, 165)); +#1536 = IFCINDEXEDPOLYGONALFACE((177, 173, 172)); +#1537 = IFCINDEXEDPOLYGONALFACE((176, 177, 175)); +#1538 = IFCINDEXEDPOLYGONALFACE((176, 173, 177)); +#1539 = IFCINDEXEDPOLYGONALFACE((178, 179, 180)); +#1540 = IFCINDEXEDPOLYGONALFACE((143, 142, 181)); +#1541 = IFCINDEXEDPOLYGONALFACE((181, 182, 183)); +#1542 = IFCINDEXEDPOLYGONALFACE((184, 185, 186)); +#1543 = IFCINDEXEDPOLYGONALFACE((183, 187, 184)); +#1544 = IFCINDEXEDPOLYGONALFACE((188, 186, 189)); +#1545 = IFCINDEXEDPOLYGONALFACE((189, 190, 188)); +#1546 = IFCINDEXEDPOLYGONALFACE((191, 178, 190)); +#1547 = IFCINDEXEDPOLYGONALFACE((185, 189, 186)); +#1548 = IFCINDEXEDPOLYGONALFACE((187, 185, 184)); +#1549 = IFCINDEXEDPOLYGONALFACE((181, 142, 182)); +#1550 = IFCINDEXEDPOLYGONALFACE((182, 187, 183)); +#1551 = IFCINDEXEDPOLYGONALFACE((191, 179, 178)); +#1552 = IFCINDEXEDPOLYGONALFACE((189, 191, 190)); +#1553 = IFCINDEXEDPOLYGONALFACE((179, 192, 180)); +#1554 = IFCINDEXEDPOLYGONALFACE((193, 180, 192)); +#1555 = IFCINDEXEDPOLYGONALFACE((194, 192, 195)); +#1556 = IFCINDEXEDPOLYGONALFACE((192, 194, 193)); +#1557 = IFCINDEXEDPOLYGONALFACE((194, 195, 196)); +#1558 = IFCINDEXEDPOLYGONALFACE((197, 196, 195)); +#1559 = IFCINDEXEDPOLYGONALFACE((198, 197, 195)); +#1560 = IFCINDEXEDPOLYGONALFACE((197, 198, 199)); +#1561 = IFCINDEXEDPOLYGONALFACE((200, 201, 202)); +#1562 = IFCINDEXEDPOLYGONALFACE((203, 198, 201)); +#1563 = IFCINDEXEDPOLYGONALFACE((198, 203, 199)); +#1564 = IFCINDEXEDPOLYGONALFACE((203, 201, 200)); +#1565 = IFCINDEXEDPOLYGONALFACE((151, 202, 108)); +#1566 = IFCINDEXEDPOLYGONALFACE((202, 151, 200)); +#1567 = IFCINDEXEDPOLYGONALFACE((140, 189, 185)); +#1568 = IFCINDEXEDPOLYGONALFACE((145, 179, 140)); +#1569 = IFCINDEXEDPOLYGONALFACE((139, 145, 140)); +#1570 = IFCINDEXEDPOLYGONALFACE((142, 140, 185)); +#1571 = IFCINDEXEDPOLYGONALFACE((142, 187, 182)); +#1572 = IFCINDEXEDPOLYGONALFACE((142, 185, 187)); +#1573 = IFCINDEXEDPOLYGONALFACE((109, 202, 145)); +#1574 = IFCINDEXEDPOLYGONALFACE((106, 114, 107)); +#1575 = IFCINDEXEDPOLYGONALFACE((140, 191, 189)); +#1576 = IFCINDEXEDPOLYGONALFACE((201, 198, 145)); +#1577 = IFCINDEXEDPOLYGONALFACE((192, 179, 145)); +#1578 = IFCINDEXEDPOLYGONALFACE((140, 179, 191)); +#1579 = IFCINDEXEDPOLYGONALFACE((192, 145, 195)); +#1580 = IFCINDEXEDPOLYGONALFACE((195, 145, 198)); +#1581 = IFCINDEXEDPOLYGONALFACE((201, 145, 202)); +#1582 = IFCINDEXEDPOLYGONALFACE((109, 111, 110)); +#1583 = IFCINDEXEDPOLYGONALFACE((202, 109, 108)); +#1584 = IFCINDEXEDPOLYGONALFACE((111, 113, 112)); +#1585 = IFCINDEXEDPOLYGONALFACE((113, 107, 114)); +#1586 = IFCINDEXEDPOLYGONALFACE((163, 204, 158)); +#1587 = IFCINDEXEDPOLYGONALFACE((171, 121, 150)); +#1588 = IFCINDEXEDPOLYGONALFACE((150, 204, 165)); +#1589 = IFCINDEXEDPOLYGONALFACE((204, 159, 158)); +#1590 = IFCINDEXEDPOLYGONALFACE((204, 150, 146)); +#1591 = IFCINDEXEDPOLYGONALFACE((148, 146, 150)); +#1592 = IFCINDEXEDPOLYGONALFACE((204, 154, 159)); +#1593 = IFCINDEXEDPOLYGONALFACE((154, 161, 159)); +#1594 = IFCINDEXEDPOLYGONALFACE((154, 156, 161)); +#1595 = IFCINDEXEDPOLYGONALFACE((106, 115, 119)); +#1596 = IFCINDEXEDPOLYGONALFACE((169, 171, 150)); +#1597 = IFCINDEXEDPOLYGONALFACE((116, 118, 120)); +#1598 = IFCINDEXEDPOLYGONALFACE((119, 117, 116)); +#1599 = IFCINDEXEDPOLYGONALFACE((120, 121, 152)); +#1600 = IFCINDEXEDPOLYGONALFACE((171, 152, 121)); +#1601 = IFCINDEXEDPOLYGONALFACE((150, 172, 169)); +#1602 = IFCINDEXEDPOLYGONALFACE((175, 150, 165)); +#1603 = IFCINDEXEDPOLYGONALFACE((204, 163, 165)); +#1604 = IFCINDEXEDPOLYGONALFACE((172, 150, 177)); +#1605 = IFCINDEXEDPOLYGONALFACE((177, 150, 175)); +#1606 = IFCINDEXEDPOLYGONALFACE((147, 205, 146)); +#1607 = IFCINDEXEDPOLYGONALFACE((167, 146, 205)); +#1608 = IFCINDEXEDPOLYGONALFACE((154, 146, 167)); +#1609 = IFCINDEXEDPOLYGONALFACE((188, 206, 186)); +#1610 = IFCINDEXEDPOLYGONALFACE((181, 183, 143)); +#1611 = IFCINDEXEDPOLYGONALFACE((206, 144, 141)); +#1612 = IFCINDEXEDPOLYGONALFACE((206, 143, 184)); +#1613 = IFCINDEXEDPOLYGONALFACE((184, 143, 183)); +#1614 = IFCINDEXEDPOLYGONALFACE((186, 206, 184)); +#1615 = IFCINDEXEDPOLYGONALFACE((188, 190, 206)); +#1616 = IFCINDEXEDPOLYGONALFACE((203, 123, 144)); +#1617 = IFCINDEXEDPOLYGONALFACE((180, 144, 206)); +#1618 = IFCINDEXEDPOLYGONALFACE((190, 178, 206)); +#1619 = IFCINDEXEDPOLYGONALFACE((206, 178, 180)); +#1620 = IFCINDEXEDPOLYGONALFACE((199, 203, 144)); +#1621 = IFCINDEXEDPOLYGONALFACE((194, 196, 144)); +#1622 = IFCINDEXEDPOLYGONALFACE((180, 193, 144)); +#1623 = IFCINDEXEDPOLYGONALFACE((194, 144, 193)); +#1624 = IFCINDEXEDPOLYGONALFACE((144, 196, 197)); +#1625 = IFCINDEXEDPOLYGONALFACE((144, 197, 199)); +#1626 = IFCINDEXEDPOLYGONALFACE((123, 203, 200)); +#1627 = IFCINDEXEDPOLYGONALFACE((123, 151, 124)); +#1628 = IFCINDEXEDPOLYGONALFACE((123, 200, 151)); +#1629 = IFCINDEXEDPOLYGONALFACE((122, 124, 126)); +#1630 = IFCINDEXEDPOLYGONALFACE((125, 126, 128)); +#1631 = IFCINDEXEDPOLYGONALFACE((129, 131, 127)); +#1632 = IFCINDEXEDPOLYGONALFACE((205, 166, 157)); +#1633 = IFCINDEXEDPOLYGONALFACE((137, 168, 149)); +#1634 = IFCINDEXEDPOLYGONALFACE((205, 149, 164)); +#1635 = IFCINDEXEDPOLYGONALFACE((162, 205, 157)); +#1636 = IFCINDEXEDPOLYGONALFACE((147, 149, 205)); +#1637 = IFCINDEXEDPOLYGONALFACE((167, 205, 162)); +#1638 = IFCINDEXEDPOLYGONALFACE((160, 167, 162)); +#1639 = IFCINDEXEDPOLYGONALFACE((155, 167, 160)); +#1640 = IFCINDEXEDPOLYGONALFACE((132, 131, 129)); +#1641 = IFCINDEXEDPOLYGONALFACE((149, 168, 170)); +#1642 = IFCINDEXEDPOLYGONALFACE((130, 132, 136)); +#1643 = IFCINDEXEDPOLYGONALFACE((133, 135, 138)); +#1644 = IFCINDEXEDPOLYGONALFACE((134, 136, 135)); +#1645 = IFCINDEXEDPOLYGONALFACE((137, 138, 153)); +#1646 = IFCINDEXEDPOLYGONALFACE((153, 168, 137)); +#1647 = IFCINDEXEDPOLYGONALFACE((173, 149, 170)); +#1648 = IFCINDEXEDPOLYGONALFACE((149, 174, 164)); +#1649 = IFCINDEXEDPOLYGONALFACE((166, 205, 164)); +#1650 = IFCINDEXEDPOLYGONALFACE((149, 173, 176)); +#1651 = IFCINDEXEDPOLYGONALFACE((149, 176, 174)); +#1652 = IFCINDEXEDPOLYGONALFACE((207, 208, 209)); +#1653 = IFCINDEXEDPOLYGONALFACE((210, 209, 208)); +#1654 = IFCINDEXEDPOLYGONALFACE((211, 209, 212)); +#1655 = IFCINDEXEDPOLYGONALFACE((210, 212, 209)); +#1656 = IFCINDEXEDPOLYGONALFACE((213, 211, 214)); +#1657 = IFCINDEXEDPOLYGONALFACE((212, 214, 211)); +#1658 = IFCINDEXEDPOLYGONALFACE((141, 215, 139)); +#1659 = IFCINDEXEDPOLYGONALFACE((216, 217, 213)); +#1660 = IFCINDEXEDPOLYGONALFACE((218, 213, 217)); +#1661 = IFCINDEXEDPOLYGONALFACE((219, 213, 218)); +#1662 = IFCINDEXEDPOLYGONALFACE((220, 213, 219)); +#1663 = IFCINDEXEDPOLYGONALFACE((221, 213, 220)); +#1664 = IFCINDEXEDPOLYGONALFACE((222, 213, 221)); +#1665 = IFCINDEXEDPOLYGONALFACE((223, 213, 222)); +#1666 = IFCINDEXEDPOLYGONALFACE((211, 213, 223)); +#1667 = IFCINDEXEDPOLYGONALFACE((224, 219, 218)); +#1668 = IFCINDEXEDPOLYGONALFACE((225, 211, 223)); +#1669 = IFCINDEXEDPOLYGONALFACE((226, 211, 225)); +#1670 = IFCINDEXEDPOLYGONALFACE((227, 211, 226)); +#1671 = IFCINDEXEDPOLYGONALFACE((228, 211, 227)); +#1672 = IFCINDEXEDPOLYGONALFACE((229, 211, 228)); +#1673 = IFCINDEXEDPOLYGONALFACE((230, 229, 228)); +#1674 = IFCINDEXEDPOLYGONALFACE((231, 229, 230)); +#1675 = IFCINDEXEDPOLYGONALFACE((232, 231, 230)); +#1676 = IFCINDEXEDPOLYGONALFACE((233, 231, 232)); +#1677 = IFCINDEXEDPOLYGONALFACE((234, 233, 232)); +#1678 = IFCINDEXEDPOLYGONALFACE((235, 233, 234)); +#1679 = IFCINDEXEDPOLYGONALFACE((236, 235, 234)); +#1680 = IFCINDEXEDPOLYGONALFACE((237, 236, 234)); +#1681 = IFCINDEXEDPOLYGONALFACE((238, 211, 229)); +#1682 = IFCINDEXEDPOLYGONALFACE((239, 211, 238)); +#1683 = IFCINDEXEDPOLYGONALFACE((240, 211, 239)); +#1684 = IFCINDEXEDPOLYGONALFACE((241, 211, 240)); +#1685 = IFCINDEXEDPOLYGONALFACE((215, 211, 241)); +#1686 = IFCINDEXEDPOLYGONALFACE((242, 215, 241)); +#1687 = IFCINDEXEDPOLYGONALFACE((243, 215, 242)); +#1688 = IFCINDEXEDPOLYGONALFACE((244, 243, 242)); +#1689 = IFCINDEXEDPOLYGONALFACE((245, 243, 244)); +#1690 = IFCINDEXEDPOLYGONALFACE((246, 245, 244)); +#1691 = IFCINDEXEDPOLYGONALFACE((247, 245, 246)); +#1692 = IFCINDEXEDPOLYGONALFACE((248, 247, 246)); +#1693 = IFCINDEXEDPOLYGONALFACE((249, 248, 246)); +#1694 = IFCINDEXEDPOLYGONALFACE((141, 211, 215)); +#1695 = IFCINDEXEDPOLYGONALFACE((144, 211, 141)); +#1696 = IFCINDEXEDPOLYGONALFACE((123, 211, 144)); +#1697 = IFCINDEXEDPOLYGONALFACE((122, 211, 123)); +#1698 = IFCINDEXEDPOLYGONALFACE((125, 211, 122)); +#1699 = IFCINDEXEDPOLYGONALFACE((250, 211, 125)); +#1700 = IFCINDEXEDPOLYGONALFACE((127, 250, 125)); +#1701 = IFCINDEXEDPOLYGONALFACE((251, 250, 127)); +#1702 = IFCINDEXEDPOLYGONALFACE((131, 251, 127)); +#1703 = IFCINDEXEDPOLYGONALFACE((252, 251, 131)); +#1704 = IFCINDEXEDPOLYGONALFACE((253, 252, 131)); +#1705 = IFCINDEXEDPOLYGONALFACE((254, 253, 131)); +#1706 = IFCINDEXEDPOLYGONALFACE((255, 211, 250)); +#1707 = IFCINDEXEDPOLYGONALFACE((38, 211, 255)); +#1708 = IFCINDEXEDPOLYGONALFACE((41, 211, 38)); +#1709 = IFCINDEXEDPOLYGONALFACE((22, 211, 41)); +#1710 = IFCINDEXEDPOLYGONALFACE((21, 211, 22)); +#1711 = IFCINDEXEDPOLYGONALFACE((24, 211, 21)); +#1712 = IFCINDEXEDPOLYGONALFACE((26, 211, 24)); +#1713 = IFCINDEXEDPOLYGONALFACE((43, 211, 26)); +#1714 = IFCINDEXEDPOLYGONALFACE((256, 257, 218)); +#1715 = IFCINDEXEDPOLYGONALFACE((258, 218, 257)); +#1716 = IFCINDEXEDPOLYGONALFACE((259, 218, 258)); +#1717 = IFCINDEXEDPOLYGONALFACE((260, 218, 259)); +#1718 = IFCINDEXEDPOLYGONALFACE((261, 218, 260)); +#1719 = IFCINDEXEDPOLYGONALFACE((224, 218, 261)); +#1720 = IFCINDEXEDPOLYGONALFACE((262, 257, 256)); +#1721 = IFCINDEXEDPOLYGONALFACE((263, 262, 256)); +#1722 = IFCINDEXEDPOLYGONALFACE((264, 263, 256)); +#1723 = IFCINDEXEDPOLYGONALFACE((265, 264, 256)); +#1724 = IFCINDEXEDPOLYGONALFACE((266, 265, 256)); +#1725 = IFCINDEXEDPOLYGONALFACE((267, 266, 256)); +#1726 = IFCINDEXEDPOLYGONALFACE((268, 266, 267)); +#1727 = IFCINDEXEDPOLYGONALFACE((269, 268, 267)); +#1728 = IFCINDEXEDPOLYGONALFACE((270, 268, 269)); +#1729 = IFCINDEXEDPOLYGONALFACE((271, 270, 269)); +#1730 = IFCINDEXEDPOLYGONALFACE((234, 270, 271)); +#1731 = IFCINDEXEDPOLYGONALFACE((272, 234, 271)); +#1732 = IFCINDEXEDPOLYGONALFACE((273, 234, 272)); +#1733 = IFCINDEXEDPOLYGONALFACE((237, 234, 273)); +#1734 = IFCINDEXEDPOLYGONALFACE((274, 267, 256)); +#1735 = IFCINDEXEDPOLYGONALFACE((275, 274, 256)); +#1736 = IFCINDEXEDPOLYGONALFACE((276, 275, 256)); +#1737 = IFCINDEXEDPOLYGONALFACE((277, 276, 256)); +#1738 = IFCINDEXEDPOLYGONALFACE((278, 277, 256)); +#1739 = IFCINDEXEDPOLYGONALFACE((279, 278, 256)); +#1740 = IFCINDEXEDPOLYGONALFACE((280, 278, 279)); +#1741 = IFCINDEXEDPOLYGONALFACE((281, 280, 279)); +#1742 = IFCINDEXEDPOLYGONALFACE((282, 280, 281)); +#1743 = IFCINDEXEDPOLYGONALFACE((283, 282, 281)); +#1744 = IFCINDEXEDPOLYGONALFACE((246, 282, 283)); +#1745 = IFCINDEXEDPOLYGONALFACE((284, 246, 283)); +#1746 = IFCINDEXEDPOLYGONALFACE((285, 246, 284)); +#1747 = IFCINDEXEDPOLYGONALFACE((249, 246, 285)); +#1748 = IFCINDEXEDPOLYGONALFACE((147, 279, 256)); +#1749 = IFCINDEXEDPOLYGONALFACE((146, 279, 147)); +#1750 = IFCINDEXEDPOLYGONALFACE((149, 147, 256)); +#1751 = IFCINDEXEDPOLYGONALFACE((137, 149, 256)); +#1752 = IFCINDEXEDPOLYGONALFACE((133, 137, 256)); +#1753 = IFCINDEXEDPOLYGONALFACE((134, 133, 256)); +#1754 = IFCINDEXEDPOLYGONALFACE((286, 134, 256)); +#1755 = IFCINDEXEDPOLYGONALFACE((130, 134, 286)); +#1756 = IFCINDEXEDPOLYGONALFACE((287, 130, 286)); +#1757 = IFCINDEXEDPOLYGONALFACE((131, 130, 287)); +#1758 = IFCINDEXEDPOLYGONALFACE((288, 131, 287)); +#1759 = IFCINDEXEDPOLYGONALFACE((289, 131, 288)); +#1760 = IFCINDEXEDPOLYGONALFACE((254, 131, 289)); +#1761 = IFCINDEXEDPOLYGONALFACE((290, 286, 256)); +#1762 = IFCINDEXEDPOLYGONALFACE((45, 290, 256)); +#1763 = IFCINDEXEDPOLYGONALFACE((44, 290, 45)); +#1764 = IFCINDEXEDPOLYGONALFACE((47, 45, 256)); +#1765 = IFCINDEXEDPOLYGONALFACE((34, 47, 256)); +#1766 = IFCINDEXEDPOLYGONALFACE((29, 34, 256)); +#1767 = IFCINDEXEDPOLYGONALFACE((30, 29, 256)); +#1768 = IFCINDEXEDPOLYGONALFACE((32, 30, 256)); +#1769 = IFCINDEXEDPOLYGONALFACE((43, 32, 256)); +#1770 = IFCINDEXEDPOLYGONALFACE((211, 43, 256)); +#1771 = IFCINDEXEDPOLYGONALFACE((209, 211, 256)); +#1772 = IFCINDEXEDPOLYGONALFACE((207, 209, 256)); +#1773 = IFCINDEXEDPOLYGONALFACE((38, 255, 36)); +#1774 = IFCINDEXEDPOLYGONALFACE((291, 292, 293)); +#1775 = IFCINDEXEDPOLYGONALFACE((214, 293, 292)); +#1776 = IFCINDEXEDPOLYGONALFACE((294, 293, 214)); +#1777 = IFCINDEXEDPOLYGONALFACE((212, 294, 214)); +#1778 = IFCINDEXEDPOLYGONALFACE((208, 294, 212)); +#1779 = IFCINDEXEDPOLYGONALFACE((210, 208, 212)); +#1780 = IFCINDEXEDPOLYGONALFACE((292, 216, 214)); +#1781 = IFCINDEXEDPOLYGONALFACE((213, 214, 216)); +#1782 = IFCINDEXEDPOLYGONALFACE((291, 217, 292)); +#1783 = IFCINDEXEDPOLYGONALFACE((216, 292, 217)); +#1784 = IFCINDEXEDPOLYGONALFACE((293, 218, 291)); +#1785 = IFCINDEXEDPOLYGONALFACE((217, 291, 218)); +#1786 = IFCINDEXEDPOLYGONALFACE((218, 293, 256)); +#1787 = IFCINDEXEDPOLYGONALFACE((294, 256, 293)); +#1788 = IFCINDEXEDPOLYGONALFACE((256, 294, 207)); +#1789 = IFCINDEXEDPOLYGONALFACE((208, 207, 294)); +#1790 = IFCINDEXEDPOLYGONALFACE((246, 295, 244)); +#1791 = IFCINDEXEDPOLYGONALFACE((296, 240, 297)); +#1792 = IFCINDEXEDPOLYGONALFACE((297, 241, 298)); +#1793 = IFCINDEXEDPOLYGONALFACE((298, 242, 299)); +#1794 = IFCINDEXEDPOLYGONALFACE((295, 246, 282)); +#1795 = IFCINDEXEDPOLYGONALFACE((300, 280, 278)); +#1796 = IFCINDEXEDPOLYGONALFACE((301, 282, 280)); +#1797 = IFCINDEXEDPOLYGONALFACE((302, 278, 277)); +#1798 = IFCINDEXEDPOLYGONALFACE((303, 304, 305)); +#1799 = IFCINDEXEDPOLYGONALFACE((306, 303, 307)); +#1800 = IFCINDEXEDPOLYGONALFACE((308, 306, 309)); +#1801 = IFCINDEXEDPOLYGONALFACE((309, 310, 308)); +#1802 = IFCINDEXEDPOLYGONALFACE((311, 312, 313)); +#1803 = IFCINDEXEDPOLYGONALFACE((312, 314, 315)); +#1804 = IFCINDEXEDPOLYGONALFACE((316, 311, 317)); +#1805 = IFCINDEXEDPOLYGONALFACE((238, 318, 319)); +#1806 = IFCINDEXEDPOLYGONALFACE((320, 319, 318)); +#1807 = IFCINDEXEDPOLYGONALFACE((321, 319, 320)); +#1808 = IFCINDEXEDPOLYGONALFACE((322, 274, 323)); +#1809 = IFCINDEXEDPOLYGONALFACE((275, 323, 274)); +#1810 = IFCINDEXEDPOLYGONALFACE((276, 323, 275)); +#1811 = IFCINDEXEDPOLYGONALFACE((277, 323, 276)); +#1812 = IFCINDEXEDPOLYGONALFACE((316, 323, 277)); +#1813 = IFCINDEXEDPOLYGONALFACE((278, 316, 277)); +#1814 = IFCINDEXEDPOLYGONALFACE((311, 316, 278)); +#1815 = IFCINDEXEDPOLYGONALFACE((280, 311, 278)); +#1816 = IFCINDEXEDPOLYGONALFACE((312, 311, 280)); +#1817 = IFCINDEXEDPOLYGONALFACE((282, 312, 280)); +#1818 = IFCINDEXEDPOLYGONALFACE((314, 312, 282)); +#1819 = IFCINDEXEDPOLYGONALFACE((246, 314, 282)); +#1820 = IFCINDEXEDPOLYGONALFACE((324, 314, 246)); +#1821 = IFCINDEXEDPOLYGONALFACE((238, 319, 239)); +#1822 = IFCINDEXEDPOLYGONALFACE((325, 239, 319)); +#1823 = IFCINDEXEDPOLYGONALFACE((240, 239, 325)); +#1824 = IFCINDEXEDPOLYGONALFACE((304, 240, 325)); +#1825 = IFCINDEXEDPOLYGONALFACE((241, 240, 304)); +#1826 = IFCINDEXEDPOLYGONALFACE((303, 241, 304)); +#1827 = IFCINDEXEDPOLYGONALFACE((242, 241, 303)); +#1828 = IFCINDEXEDPOLYGONALFACE((306, 242, 303)); +#1829 = IFCINDEXEDPOLYGONALFACE((244, 242, 306)); +#1830 = IFCINDEXEDPOLYGONALFACE((308, 244, 306)); +#1831 = IFCINDEXEDPOLYGONALFACE((246, 244, 308)); +#1832 = IFCINDEXEDPOLYGONALFACE((324, 246, 308)); +#1833 = IFCINDEXEDPOLYGONALFACE((326, 296, 305)); +#1834 = IFCINDEXEDPOLYGONALFACE((297, 305, 296)); +#1835 = IFCINDEXEDPOLYGONALFACE((307, 305, 297)); +#1836 = IFCINDEXEDPOLYGONALFACE((298, 307, 297)); +#1837 = IFCINDEXEDPOLYGONALFACE((309, 307, 298)); +#1838 = IFCINDEXEDPOLYGONALFACE((299, 309, 298)); +#1839 = IFCINDEXEDPOLYGONALFACE((310, 309, 299)); +#1840 = IFCINDEXEDPOLYGONALFACE((295, 310, 299)); +#1841 = IFCINDEXEDPOLYGONALFACE((327, 328, 302)); +#1842 = IFCINDEXEDPOLYGONALFACE((317, 302, 328)); +#1843 = IFCINDEXEDPOLYGONALFACE((313, 302, 317)); +#1844 = IFCINDEXEDPOLYGONALFACE((300, 302, 313)); +#1845 = IFCINDEXEDPOLYGONALFACE((315, 300, 313)); +#1846 = IFCINDEXEDPOLYGONALFACE((301, 300, 315)); +#1847 = IFCINDEXEDPOLYGONALFACE((329, 301, 315)); +#1848 = IFCINDEXEDPOLYGONALFACE((295, 301, 329)); +#1849 = IFCINDEXEDPOLYGONALFACE((310, 295, 329)); +#1850 = IFCINDEXEDPOLYGONALFACE((330, 331, 332)); +#1851 = IFCINDEXEDPOLYGONALFACE((333, 334, 335)); +#1852 = IFCINDEXEDPOLYGONALFACE((332, 336, 337)); +#1853 = IFCINDEXEDPOLYGONALFACE((338, 335, 337)); +#1854 = IFCINDEXEDPOLYGONALFACE((339, 340, 341)); +#1855 = IFCINDEXEDPOLYGONALFACE((334, 342, 339)); +#1856 = IFCINDEXEDPOLYGONALFACE((339, 342, 340)); +#1857 = IFCINDEXEDPOLYGONALFACE((331, 330, 343)); +#1858 = IFCINDEXEDPOLYGONALFACE((336, 338, 337)); +#1859 = IFCINDEXEDPOLYGONALFACE((336, 332, 331)); +#1860 = IFCINDEXEDPOLYGONALFACE((335, 338, 333)); +#1861 = IFCINDEXEDPOLYGONALFACE((342, 334, 333)); +#1862 = IFCINDEXEDPOLYGONALFACE((344, 345, 346)); +#1863 = IFCINDEXEDPOLYGONALFACE((345, 344, 347)); +#1864 = IFCINDEXEDPOLYGONALFACE((346, 348, 349)); +#1865 = IFCINDEXEDPOLYGONALFACE((348, 346, 345)); +#1866 = IFCINDEXEDPOLYGONALFACE((344, 328, 347)); +#1867 = IFCINDEXEDPOLYGONALFACE((327, 347, 328)); +#1868 = IFCINDEXEDPOLYGONALFACE((350, 341, 340)); +#1869 = IFCINDEXEDPOLYGONALFACE((351, 350, 352)); +#1870 = IFCINDEXEDPOLYGONALFACE((350, 351, 341)); +#1871 = IFCINDEXEDPOLYGONALFACE((353, 349, 348)); +#1872 = IFCINDEXEDPOLYGONALFACE((352, 353, 351)); +#1873 = IFCINDEXEDPOLYGONALFACE((352, 349, 353)); +#1874 = IFCINDEXEDPOLYGONALFACE((354, 355, 356)); +#1875 = IFCINDEXEDPOLYGONALFACE((321, 320, 357)); +#1876 = IFCINDEXEDPOLYGONALFACE((357, 358, 359)); +#1877 = IFCINDEXEDPOLYGONALFACE((360, 361, 362)); +#1878 = IFCINDEXEDPOLYGONALFACE((359, 363, 360)); +#1879 = IFCINDEXEDPOLYGONALFACE((364, 362, 365)); +#1880 = IFCINDEXEDPOLYGONALFACE((365, 366, 364)); +#1881 = IFCINDEXEDPOLYGONALFACE((367, 354, 366)); +#1882 = IFCINDEXEDPOLYGONALFACE((361, 365, 362)); +#1883 = IFCINDEXEDPOLYGONALFACE((363, 361, 360)); +#1884 = IFCINDEXEDPOLYGONALFACE((357, 320, 358)); +#1885 = IFCINDEXEDPOLYGONALFACE((358, 363, 359)); +#1886 = IFCINDEXEDPOLYGONALFACE((367, 355, 354)); +#1887 = IFCINDEXEDPOLYGONALFACE((365, 367, 366)); +#1888 = IFCINDEXEDPOLYGONALFACE((355, 368, 356)); +#1889 = IFCINDEXEDPOLYGONALFACE((369, 356, 368)); +#1890 = IFCINDEXEDPOLYGONALFACE((370, 368, 371)); +#1891 = IFCINDEXEDPOLYGONALFACE((368, 370, 369)); +#1892 = IFCINDEXEDPOLYGONALFACE((370, 371, 372)); +#1893 = IFCINDEXEDPOLYGONALFACE((373, 372, 371)); +#1894 = IFCINDEXEDPOLYGONALFACE((374, 373, 371)); +#1895 = IFCINDEXEDPOLYGONALFACE((373, 374, 375)); +#1896 = IFCINDEXEDPOLYGONALFACE((376, 377, 378)); +#1897 = IFCINDEXEDPOLYGONALFACE((379, 374, 377)); +#1898 = IFCINDEXEDPOLYGONALFACE((374, 379, 375)); +#1899 = IFCINDEXEDPOLYGONALFACE((379, 377, 376)); +#1900 = IFCINDEXEDPOLYGONALFACE((326, 378, 296)); +#1901 = IFCINDEXEDPOLYGONALFACE((378, 326, 376)); +#1902 = IFCINDEXEDPOLYGONALFACE((318, 365, 361)); +#1903 = IFCINDEXEDPOLYGONALFACE((239, 355, 318)); +#1904 = IFCINDEXEDPOLYGONALFACE((238, 239, 318)); +#1905 = IFCINDEXEDPOLYGONALFACE((320, 318, 361)); +#1906 = IFCINDEXEDPOLYGONALFACE((320, 363, 358)); +#1907 = IFCINDEXEDPOLYGONALFACE((320, 361, 363)); +#1908 = IFCINDEXEDPOLYGONALFACE((240, 378, 239)); +#1909 = IFCINDEXEDPOLYGONALFACE((295, 299, 244)); +#1910 = IFCINDEXEDPOLYGONALFACE((318, 367, 365)); +#1911 = IFCINDEXEDPOLYGONALFACE((377, 374, 239)); +#1912 = IFCINDEXEDPOLYGONALFACE((368, 355, 239)); +#1913 = IFCINDEXEDPOLYGONALFACE((318, 355, 367)); +#1914 = IFCINDEXEDPOLYGONALFACE((368, 239, 371)); +#1915 = IFCINDEXEDPOLYGONALFACE((371, 239, 374)); +#1916 = IFCINDEXEDPOLYGONALFACE((377, 239, 378)); +#1917 = IFCINDEXEDPOLYGONALFACE((240, 241, 297)); +#1918 = IFCINDEXEDPOLYGONALFACE((378, 240, 296)); +#1919 = IFCINDEXEDPOLYGONALFACE((241, 242, 298)); +#1920 = IFCINDEXEDPOLYGONALFACE((242, 244, 299)); +#1921 = IFCINDEXEDPOLYGONALFACE((339, 380, 334)); +#1922 = IFCINDEXEDPOLYGONALFACE((347, 277, 276)); +#1923 = IFCINDEXEDPOLYGONALFACE((276, 380, 341)); +#1924 = IFCINDEXEDPOLYGONALFACE((380, 335, 334)); +#1925 = IFCINDEXEDPOLYGONALFACE((380, 276, 274)); +#1926 = IFCINDEXEDPOLYGONALFACE((275, 274, 276)); +#1927 = IFCINDEXEDPOLYGONALFACE((380, 330, 335)); +#1928 = IFCINDEXEDPOLYGONALFACE((330, 337, 335)); +#1929 = IFCINDEXEDPOLYGONALFACE((330, 332, 337)); +#1930 = IFCINDEXEDPOLYGONALFACE((295, 282, 301)); +#1931 = IFCINDEXEDPOLYGONALFACE((345, 347, 276)); +#1932 = IFCINDEXEDPOLYGONALFACE((300, 278, 302)); +#1933 = IFCINDEXEDPOLYGONALFACE((301, 280, 300)); +#1934 = IFCINDEXEDPOLYGONALFACE((302, 277, 327)); +#1935 = IFCINDEXEDPOLYGONALFACE((347, 327, 277)); +#1936 = IFCINDEXEDPOLYGONALFACE((276, 348, 345)); +#1937 = IFCINDEXEDPOLYGONALFACE((351, 276, 341)); +#1938 = IFCINDEXEDPOLYGONALFACE((380, 339, 341)); +#1939 = IFCINDEXEDPOLYGONALFACE((348, 276, 353)); +#1940 = IFCINDEXEDPOLYGONALFACE((353, 276, 351)); +#1941 = IFCINDEXEDPOLYGONALFACE((322, 381, 274)); +#1942 = IFCINDEXEDPOLYGONALFACE((343, 274, 381)); +#1943 = IFCINDEXEDPOLYGONALFACE((330, 274, 343)); +#1944 = IFCINDEXEDPOLYGONALFACE((364, 382, 362)); +#1945 = IFCINDEXEDPOLYGONALFACE((357, 359, 321)); +#1946 = IFCINDEXEDPOLYGONALFACE((382, 325, 319)); +#1947 = IFCINDEXEDPOLYGONALFACE((382, 321, 360)); +#1948 = IFCINDEXEDPOLYGONALFACE((360, 321, 359)); +#1949 = IFCINDEXEDPOLYGONALFACE((362, 382, 360)); +#1950 = IFCINDEXEDPOLYGONALFACE((364, 366, 382)); +#1951 = IFCINDEXEDPOLYGONALFACE((379, 304, 325)); +#1952 = IFCINDEXEDPOLYGONALFACE((356, 325, 382)); +#1953 = IFCINDEXEDPOLYGONALFACE((366, 354, 382)); +#1954 = IFCINDEXEDPOLYGONALFACE((382, 354, 356)); +#1955 = IFCINDEXEDPOLYGONALFACE((375, 379, 325)); +#1956 = IFCINDEXEDPOLYGONALFACE((370, 372, 325)); +#1957 = IFCINDEXEDPOLYGONALFACE((356, 369, 325)); +#1958 = IFCINDEXEDPOLYGONALFACE((370, 325, 369)); +#1959 = IFCINDEXEDPOLYGONALFACE((325, 372, 373)); +#1960 = IFCINDEXEDPOLYGONALFACE((325, 373, 375)); +#1961 = IFCINDEXEDPOLYGONALFACE((304, 379, 376)); +#1962 = IFCINDEXEDPOLYGONALFACE((304, 326, 305)); +#1963 = IFCINDEXEDPOLYGONALFACE((304, 376, 326)); +#1964 = IFCINDEXEDPOLYGONALFACE((303, 305, 307)); +#1965 = IFCINDEXEDPOLYGONALFACE((306, 307, 309)); +#1966 = IFCINDEXEDPOLYGONALFACE((310, 324, 308)); +#1967 = IFCINDEXEDPOLYGONALFACE((324, 329, 314)); +#1968 = IFCINDEXEDPOLYGONALFACE((381, 342, 333)); +#1969 = IFCINDEXEDPOLYGONALFACE((316, 344, 323)); +#1970 = IFCINDEXEDPOLYGONALFACE((381, 323, 340)); +#1971 = IFCINDEXEDPOLYGONALFACE((338, 381, 333)); +#1972 = IFCINDEXEDPOLYGONALFACE((322, 323, 381)); +#1973 = IFCINDEXEDPOLYGONALFACE((343, 381, 338)); +#1974 = IFCINDEXEDPOLYGONALFACE((336, 343, 338)); +#1975 = IFCINDEXEDPOLYGONALFACE((331, 343, 336)); +#1976 = IFCINDEXEDPOLYGONALFACE((329, 324, 310)); +#1977 = IFCINDEXEDPOLYGONALFACE((323, 344, 346)); +#1978 = IFCINDEXEDPOLYGONALFACE((329, 315, 314)); +#1979 = IFCINDEXEDPOLYGONALFACE((311, 313, 317)); +#1980 = IFCINDEXEDPOLYGONALFACE((312, 315, 313)); +#1981 = IFCINDEXEDPOLYGONALFACE((316, 317, 328)); +#1982 = IFCINDEXEDPOLYGONALFACE((328, 344, 316)); +#1983 = IFCINDEXEDPOLYGONALFACE((349, 323, 346)); +#1984 = IFCINDEXEDPOLYGONALFACE((323, 350, 340)); +#1985 = IFCINDEXEDPOLYGONALFACE((342, 381, 340)); +#1986 = IFCINDEXEDPOLYGONALFACE((323, 349, 352)); +#1987 = IFCINDEXEDPOLYGONALFACE((323, 352, 350)); +#1988 = IFCINDEXEDPOLYGONALFACE((234, 383, 232)); +#1989 = IFCINDEXEDPOLYGONALFACE((384, 227, 385)); +#1990 = IFCINDEXEDPOLYGONALFACE((385, 228, 386)); +#1991 = IFCINDEXEDPOLYGONALFACE((386, 230, 387)); +#1992 = IFCINDEXEDPOLYGONALFACE((383, 234, 270)); +#1993 = IFCINDEXEDPOLYGONALFACE((388, 268, 266)); +#1994 = IFCINDEXEDPOLYGONALFACE((389, 270, 268)); +#1995 = IFCINDEXEDPOLYGONALFACE((390, 266, 265)); +#1996 = IFCINDEXEDPOLYGONALFACE((391, 392, 393)); +#1997 = IFCINDEXEDPOLYGONALFACE((394, 391, 395)); +#1998 = IFCINDEXEDPOLYGONALFACE((396, 394, 397)); +#1999 = IFCINDEXEDPOLYGONALFACE((397, 398, 396)); +#2000 = IFCINDEXEDPOLYGONALFACE((399, 400, 401)); +#2001 = IFCINDEXEDPOLYGONALFACE((400, 402, 403)); +#2002 = IFCINDEXEDPOLYGONALFACE((404, 399, 405)); +#2003 = IFCINDEXEDPOLYGONALFACE((225, 406, 407)); +#2004 = IFCINDEXEDPOLYGONALFACE((408, 407, 406)); +#2005 = IFCINDEXEDPOLYGONALFACE((409, 407, 408)); +#2006 = IFCINDEXEDPOLYGONALFACE((410, 262, 411)); +#2007 = IFCINDEXEDPOLYGONALFACE((263, 411, 262)); +#2008 = IFCINDEXEDPOLYGONALFACE((264, 411, 263)); +#2009 = IFCINDEXEDPOLYGONALFACE((265, 411, 264)); +#2010 = IFCINDEXEDPOLYGONALFACE((404, 411, 265)); +#2011 = IFCINDEXEDPOLYGONALFACE((266, 404, 265)); +#2012 = IFCINDEXEDPOLYGONALFACE((399, 404, 266)); +#2013 = IFCINDEXEDPOLYGONALFACE((268, 399, 266)); +#2014 = IFCINDEXEDPOLYGONALFACE((400, 399, 268)); +#2015 = IFCINDEXEDPOLYGONALFACE((270, 400, 268)); +#2016 = IFCINDEXEDPOLYGONALFACE((402, 400, 270)); +#2017 = IFCINDEXEDPOLYGONALFACE((234, 402, 270)); +#2018 = IFCINDEXEDPOLYGONALFACE((412, 402, 234)); +#2019 = IFCINDEXEDPOLYGONALFACE((225, 407, 226)); +#2020 = IFCINDEXEDPOLYGONALFACE((413, 226, 407)); +#2021 = IFCINDEXEDPOLYGONALFACE((227, 226, 413)); +#2022 = IFCINDEXEDPOLYGONALFACE((392, 227, 413)); +#2023 = IFCINDEXEDPOLYGONALFACE((228, 227, 392)); +#2024 = IFCINDEXEDPOLYGONALFACE((391, 228, 392)); +#2025 = IFCINDEXEDPOLYGONALFACE((230, 228, 391)); +#2026 = IFCINDEXEDPOLYGONALFACE((394, 230, 391)); +#2027 = IFCINDEXEDPOLYGONALFACE((232, 230, 394)); +#2028 = IFCINDEXEDPOLYGONALFACE((396, 232, 394)); +#2029 = IFCINDEXEDPOLYGONALFACE((234, 232, 396)); +#2030 = IFCINDEXEDPOLYGONALFACE((412, 234, 396)); +#2031 = IFCINDEXEDPOLYGONALFACE((414, 384, 393)); +#2032 = IFCINDEXEDPOLYGONALFACE((385, 393, 384)); +#2033 = IFCINDEXEDPOLYGONALFACE((395, 393, 385)); +#2034 = IFCINDEXEDPOLYGONALFACE((386, 395, 385)); +#2035 = IFCINDEXEDPOLYGONALFACE((397, 395, 386)); +#2036 = IFCINDEXEDPOLYGONALFACE((387, 397, 386)); +#2037 = IFCINDEXEDPOLYGONALFACE((398, 397, 387)); +#2038 = IFCINDEXEDPOLYGONALFACE((383, 398, 387)); +#2039 = IFCINDEXEDPOLYGONALFACE((415, 416, 390)); +#2040 = IFCINDEXEDPOLYGONALFACE((405, 390, 416)); +#2041 = IFCINDEXEDPOLYGONALFACE((401, 390, 405)); +#2042 = IFCINDEXEDPOLYGONALFACE((388, 390, 401)); +#2043 = IFCINDEXEDPOLYGONALFACE((403, 388, 401)); +#2044 = IFCINDEXEDPOLYGONALFACE((389, 388, 403)); +#2045 = IFCINDEXEDPOLYGONALFACE((417, 389, 403)); +#2046 = IFCINDEXEDPOLYGONALFACE((383, 389, 417)); +#2047 = IFCINDEXEDPOLYGONALFACE((398, 383, 417)); +#2048 = IFCINDEXEDPOLYGONALFACE((418, 419, 420)); +#2049 = IFCINDEXEDPOLYGONALFACE((421, 422, 423)); +#2050 = IFCINDEXEDPOLYGONALFACE((420, 424, 425)); +#2051 = IFCINDEXEDPOLYGONALFACE((426, 423, 425)); +#2052 = IFCINDEXEDPOLYGONALFACE((427, 428, 429)); +#2053 = IFCINDEXEDPOLYGONALFACE((422, 430, 427)); +#2054 = IFCINDEXEDPOLYGONALFACE((427, 430, 428)); +#2055 = IFCINDEXEDPOLYGONALFACE((419, 418, 431)); +#2056 = IFCINDEXEDPOLYGONALFACE((424, 426, 425)); +#2057 = IFCINDEXEDPOLYGONALFACE((424, 420, 419)); +#2058 = IFCINDEXEDPOLYGONALFACE((423, 426, 421)); +#2059 = IFCINDEXEDPOLYGONALFACE((430, 422, 421)); +#2060 = IFCINDEXEDPOLYGONALFACE((432, 433, 434)); +#2061 = IFCINDEXEDPOLYGONALFACE((433, 432, 435)); +#2062 = IFCINDEXEDPOLYGONALFACE((434, 436, 437)); +#2063 = IFCINDEXEDPOLYGONALFACE((436, 434, 433)); +#2064 = IFCINDEXEDPOLYGONALFACE((432, 416, 435)); +#2065 = IFCINDEXEDPOLYGONALFACE((415, 435, 416)); +#2066 = IFCINDEXEDPOLYGONALFACE((438, 429, 428)); +#2067 = IFCINDEXEDPOLYGONALFACE((439, 438, 440)); +#2068 = IFCINDEXEDPOLYGONALFACE((438, 439, 429)); +#2069 = IFCINDEXEDPOLYGONALFACE((441, 437, 436)); +#2070 = IFCINDEXEDPOLYGONALFACE((440, 441, 439)); +#2071 = IFCINDEXEDPOLYGONALFACE((440, 437, 441)); +#2072 = IFCINDEXEDPOLYGONALFACE((442, 443, 444)); +#2073 = IFCINDEXEDPOLYGONALFACE((409, 408, 445)); +#2074 = IFCINDEXEDPOLYGONALFACE((445, 446, 447)); +#2075 = IFCINDEXEDPOLYGONALFACE((448, 449, 450)); +#2076 = IFCINDEXEDPOLYGONALFACE((447, 451, 448)); +#2077 = IFCINDEXEDPOLYGONALFACE((452, 450, 453)); +#2078 = IFCINDEXEDPOLYGONALFACE((453, 454, 452)); +#2079 = IFCINDEXEDPOLYGONALFACE((455, 442, 454)); +#2080 = IFCINDEXEDPOLYGONALFACE((449, 453, 450)); +#2081 = IFCINDEXEDPOLYGONALFACE((451, 449, 448)); +#2082 = IFCINDEXEDPOLYGONALFACE((445, 408, 446)); +#2083 = IFCINDEXEDPOLYGONALFACE((446, 451, 447)); +#2084 = IFCINDEXEDPOLYGONALFACE((455, 443, 442)); +#2085 = IFCINDEXEDPOLYGONALFACE((453, 455, 454)); +#2086 = IFCINDEXEDPOLYGONALFACE((443, 456, 444)); +#2087 = IFCINDEXEDPOLYGONALFACE((457, 444, 456)); +#2088 = IFCINDEXEDPOLYGONALFACE((458, 456, 459)); +#2089 = IFCINDEXEDPOLYGONALFACE((456, 458, 457)); +#2090 = IFCINDEXEDPOLYGONALFACE((458, 459, 460)); +#2091 = IFCINDEXEDPOLYGONALFACE((461, 460, 459)); +#2092 = IFCINDEXEDPOLYGONALFACE((462, 461, 459)); +#2093 = IFCINDEXEDPOLYGONALFACE((461, 462, 463)); +#2094 = IFCINDEXEDPOLYGONALFACE((464, 465, 466)); +#2095 = IFCINDEXEDPOLYGONALFACE((467, 462, 465)); +#2096 = IFCINDEXEDPOLYGONALFACE((462, 467, 463)); +#2097 = IFCINDEXEDPOLYGONALFACE((467, 465, 464)); +#2098 = IFCINDEXEDPOLYGONALFACE((414, 466, 384)); +#2099 = IFCINDEXEDPOLYGONALFACE((466, 414, 464)); +#2100 = IFCINDEXEDPOLYGONALFACE((406, 453, 449)); +#2101 = IFCINDEXEDPOLYGONALFACE((226, 443, 406)); +#2102 = IFCINDEXEDPOLYGONALFACE((225, 226, 406)); +#2103 = IFCINDEXEDPOLYGONALFACE((408, 406, 449)); +#2104 = IFCINDEXEDPOLYGONALFACE((408, 451, 446)); +#2105 = IFCINDEXEDPOLYGONALFACE((408, 449, 451)); +#2106 = IFCINDEXEDPOLYGONALFACE((227, 466, 226)); +#2107 = IFCINDEXEDPOLYGONALFACE((383, 387, 232)); +#2108 = IFCINDEXEDPOLYGONALFACE((406, 455, 453)); +#2109 = IFCINDEXEDPOLYGONALFACE((465, 462, 226)); +#2110 = IFCINDEXEDPOLYGONALFACE((456, 443, 226)); +#2111 = IFCINDEXEDPOLYGONALFACE((406, 443, 455)); +#2112 = IFCINDEXEDPOLYGONALFACE((456, 226, 459)); +#2113 = IFCINDEXEDPOLYGONALFACE((459, 226, 462)); +#2114 = IFCINDEXEDPOLYGONALFACE((465, 226, 466)); +#2115 = IFCINDEXEDPOLYGONALFACE((227, 228, 385)); +#2116 = IFCINDEXEDPOLYGONALFACE((466, 227, 384)); +#2117 = IFCINDEXEDPOLYGONALFACE((228, 230, 386)); +#2118 = IFCINDEXEDPOLYGONALFACE((230, 232, 387)); +#2119 = IFCINDEXEDPOLYGONALFACE((427, 468, 422)); +#2120 = IFCINDEXEDPOLYGONALFACE((435, 265, 264)); +#2121 = IFCINDEXEDPOLYGONALFACE((264, 468, 429)); +#2122 = IFCINDEXEDPOLYGONALFACE((468, 423, 422)); +#2123 = IFCINDEXEDPOLYGONALFACE((468, 264, 262)); +#2124 = IFCINDEXEDPOLYGONALFACE((263, 262, 264)); +#2125 = IFCINDEXEDPOLYGONALFACE((468, 418, 423)); +#2126 = IFCINDEXEDPOLYGONALFACE((418, 425, 423)); +#2127 = IFCINDEXEDPOLYGONALFACE((418, 420, 425)); +#2128 = IFCINDEXEDPOLYGONALFACE((383, 270, 389)); +#2129 = IFCINDEXEDPOLYGONALFACE((433, 435, 264)); +#2130 = IFCINDEXEDPOLYGONALFACE((388, 266, 390)); +#2131 = IFCINDEXEDPOLYGONALFACE((389, 268, 388)); +#2132 = IFCINDEXEDPOLYGONALFACE((390, 265, 415)); +#2133 = IFCINDEXEDPOLYGONALFACE((435, 415, 265)); +#2134 = IFCINDEXEDPOLYGONALFACE((264, 436, 433)); +#2135 = IFCINDEXEDPOLYGONALFACE((439, 264, 429)); +#2136 = IFCINDEXEDPOLYGONALFACE((468, 427, 429)); +#2137 = IFCINDEXEDPOLYGONALFACE((436, 264, 441)); +#2138 = IFCINDEXEDPOLYGONALFACE((441, 264, 439)); +#2139 = IFCINDEXEDPOLYGONALFACE((410, 469, 262)); +#2140 = IFCINDEXEDPOLYGONALFACE((431, 262, 469)); +#2141 = IFCINDEXEDPOLYGONALFACE((418, 262, 431)); +#2142 = IFCINDEXEDPOLYGONALFACE((452, 470, 450)); +#2143 = IFCINDEXEDPOLYGONALFACE((445, 447, 409)); +#2144 = IFCINDEXEDPOLYGONALFACE((470, 413, 407)); +#2145 = IFCINDEXEDPOLYGONALFACE((470, 409, 448)); +#2146 = IFCINDEXEDPOLYGONALFACE((448, 409, 447)); +#2147 = IFCINDEXEDPOLYGONALFACE((450, 470, 448)); +#2148 = IFCINDEXEDPOLYGONALFACE((452, 454, 470)); +#2149 = IFCINDEXEDPOLYGONALFACE((467, 392, 413)); +#2150 = IFCINDEXEDPOLYGONALFACE((444, 413, 470)); +#2151 = IFCINDEXEDPOLYGONALFACE((454, 442, 470)); +#2152 = IFCINDEXEDPOLYGONALFACE((470, 442, 444)); +#2153 = IFCINDEXEDPOLYGONALFACE((463, 467, 413)); +#2154 = IFCINDEXEDPOLYGONALFACE((458, 460, 413)); +#2155 = IFCINDEXEDPOLYGONALFACE((444, 457, 413)); +#2156 = IFCINDEXEDPOLYGONALFACE((458, 413, 457)); +#2157 = IFCINDEXEDPOLYGONALFACE((413, 460, 461)); +#2158 = IFCINDEXEDPOLYGONALFACE((413, 461, 463)); +#2159 = IFCINDEXEDPOLYGONALFACE((392, 467, 464)); +#2160 = IFCINDEXEDPOLYGONALFACE((392, 414, 393)); +#2161 = IFCINDEXEDPOLYGONALFACE((392, 464, 414)); +#2162 = IFCINDEXEDPOLYGONALFACE((391, 393, 395)); +#2163 = IFCINDEXEDPOLYGONALFACE((394, 395, 397)); +#2164 = IFCINDEXEDPOLYGONALFACE((398, 412, 396)); +#2165 = IFCINDEXEDPOLYGONALFACE((412, 417, 402)); +#2166 = IFCINDEXEDPOLYGONALFACE((469, 430, 421)); +#2167 = IFCINDEXEDPOLYGONALFACE((404, 432, 411)); +#2168 = IFCINDEXEDPOLYGONALFACE((469, 411, 428)); +#2169 = IFCINDEXEDPOLYGONALFACE((426, 469, 421)); +#2170 = IFCINDEXEDPOLYGONALFACE((410, 411, 469)); +#2171 = IFCINDEXEDPOLYGONALFACE((431, 469, 426)); +#2172 = IFCINDEXEDPOLYGONALFACE((424, 431, 426)); +#2173 = IFCINDEXEDPOLYGONALFACE((419, 431, 424)); +#2174 = IFCINDEXEDPOLYGONALFACE((417, 412, 398)); +#2175 = IFCINDEXEDPOLYGONALFACE((411, 432, 434)); +#2176 = IFCINDEXEDPOLYGONALFACE((417, 403, 402)); +#2177 = IFCINDEXEDPOLYGONALFACE((399, 401, 405)); +#2178 = IFCINDEXEDPOLYGONALFACE((400, 403, 401)); +#2179 = IFCINDEXEDPOLYGONALFACE((404, 405, 416)); +#2180 = IFCINDEXEDPOLYGONALFACE((416, 432, 404)); +#2181 = IFCINDEXEDPOLYGONALFACE((437, 411, 434)); +#2182 = IFCINDEXEDPOLYGONALFACE((411, 438, 428)); +#2183 = IFCINDEXEDPOLYGONALFACE((430, 469, 428)); +#2184 = IFCINDEXEDPOLYGONALFACE((411, 437, 440)); +#2185 = IFCINDEXEDPOLYGONALFACE((411, 440, 438)); +#2186 = IFCINDEXEDPOLYGONALFACE((3, 471, 472)); +#2187 = IFCINDEXEDPOLYGONALFACE((473, 472, 471)); +#2188 = IFCINDEXEDPOLYGONALFACE((2, 1, 474)); +#2189 = IFCINDEXEDPOLYGONALFACE((475, 474, 1)); +#2190 = IFCINDEXEDPOLYGONALFACE((473, 471, 474)); +#2191 = IFCINDEXEDPOLYGONALFACE((2, 474, 471)); +#2192 = IFCINDEXEDPOLYGONALFACE((473, 474, 472)); +#2193 = IFCINDEXEDPOLYGONALFACE((475, 472, 474)); +#2194 = IFCINDEXEDPOLYGONALFACE((3, 472, 1)); +#2195 = IFCINDEXEDPOLYGONALFACE((475, 1, 472)); +#2196 = IFCINDEXEDPOLYGONALFACE((471, 3, 2)); +#2197 = IFCSTYLEDITEM(#1255, (#58), $); +#2198 = IFCREPRESENTATIONMAP(#2201, #2202); +#2199 = IFCDIRECTION((0., 0., 1.)); +#2200 = IFCDIRECTION((1., 0., 0.)); +#2201 = IFCAXIS2PLACEMENT3D(#15, #2199, #2200); +#2202 = IFCSHAPEREPRESENTATION(#17, 'Body', 'Tessellation', (#2203)); +#2203 = IFCPOLYGONALFACESET(#2204, $, (#2205, #2206, #2207, #2208, #2209, #2210, #2211, #2212, #2213, #2214, #2215, #2216, #2217, #2218, #2219, #2220, #2221, #2222, #2223, #2224, #2225, #2226, #2227, #2228, #2229, #2230, #2231, #2232, #2233, #2234, #2235, #2236, #2237, #2238, #2239, #2240, #2241, #2242, #2243, #2244, #2245, #2246, #2247, #2248, #2249, #2250, #2251, #2252, #2253, #2254, #2255, #2256, #2257, #2258, #2259, #2260, #2261, #2262, #2263, #2264, #2265, #2266), $); +#2204 = IFCCARTESIANPOINTLIST3D(((-4.87725026905537E-2, -2.45196521282196E-1, 7.4999988079071E-1), (7.36632572580763E-10, -6.29793260126673E-7, 9.4432017760937E-11), (-2.65319103286255E-9, -2.50000029939481E-1, 7.49999999954281E-1), (-9.56707522273064E-2, -2.30969995260239E-1, 7.49999940395355E-1), (6.11767719978466E-9, -6.17105534264386E-7, -4.06395400665005E-9), (-4.87724990158196E-2, -2.45196506547695E-1, 7.49999940337582E-1), (2.5E-1, -3.48468165434213E-9, 7.49997675418854E-1), (2.45196253061295E-1, 4.87724989652634E-2, 7.49997258186353E-1), (2.45196253061295E-1, -4.87727522850037E-2, 7.49998152256E-1), (2.45196253061295E-1, 4.87724989652634E-2, 7.4999725818634E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49998569488488E-1), (2.45196253061295E-1, -4.87727522850037E-2, 7.49998152255987E-1), (2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349199E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49998569488469E-1), (2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349182E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49998927116304E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49998569488452E-1), (2.07867503166199E-1, 1.38892501592636E-1, 7.49996364116674E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49998927116368E-1), (2.07867503166199E-1, 1.38892501592636E-1, 7.49996364116669E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.49999344348869E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49998927116362E-1), (1.76776766777039E-1, 1.76776498556137E-1, 7.4999606609345E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.49999344348853E-1), (1.76776766777039E-1, 1.76776498556137E-1, 7.49996066093445E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.49999582767422E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.49999344348848E-1), (1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070212E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.4999964237224E-1), (1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070221E-1), (9.56707522273064E-2, -2.30969995260239E-1, 7.49999880790833E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.49999642372249E-1), (9.56707522273064E-2, 2.30969771742821E-1, 7.49995529651633E-1), (9.56707522273064E-2, -2.30969995260239E-1, 7.4999988079085E-1), (9.56707522273064E-2, 2.30969771742821E-1, 7.49995589256287E-1), (4.87725026904591E-2, -2.45196521281635E-1, 7.50000000000154E-1), (9.56707522272118E-2, -2.30969995259677E-1, 7.49999940395503E-1), (4.87725026905537E-2, 2.45196253061295E-1, 7.49995470047E-1), (4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395278E-1), (4.87725026905537E-2, 2.45196253061295E-1, 7.49995470046997E-1), (-2.62661655374354E-20, -2.5E-1, 7.49999999999919E-1), (4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395275E-1), (1.412280386667E-22, 2.5E-1, 7.49995410442352E-1), (1.412280386667E-22, -2.5E-1, 7.5E-1), (1.25789888894693E-20, 2.5E-1, 7.49995410442352E-1), (-4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395355E-1), (0., -2.5E-1, 7.5E-1), (-4.87725026905537E-2, 2.45196253061295E-1, 7.49995470046996E-1), (-4.87725026905537E-2, -2.45196521282196E-1, 7.49999940395274E-1), (-4.87725026905537E-2, 2.45196253061295E-1, 7.49995410442352E-1), (-9.56707522273954E-2, -2.30969995260782E-1, 7.49999821185988E-1), (-4.87725026906427E-2, -2.45196521282739E-1, 7.4999988079063E-1), (-9.56707522273064E-2, 2.30969771742821E-1, 7.49995529651646E-1), (-9.56707522273064E-2, -2.30969995260239E-1, 7.49999880790863E-1), (-9.56707522273064E-2, 2.30969771742821E-1, 7.49995589256287E-1), (-1.38892501592747E-1, -2.07867503165637E-1, 7.49999642372273E-1), (-9.56707522274173E-2, -2.30969995259677E-1, 7.49999940395503E-1), (-1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070227E-1), (-1.38892501592636E-1, -2.07867503166199E-1, 7.49999642372255E-1), (-1.38892501592636E-1, 2.07867234945297E-1, 7.49995768070221E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.49999344349016E-1), (-1.38892501592636E-1, -2.07867503166199E-1, 7.49999642372249E-1), (-1.76776766777039E-1, 1.76776736974716E-1, 7.49996066093436E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.49999344348799E-1), (-1.76776766777039E-1, 1.76776736974716E-1, 7.49996066093445E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.4999898672095E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.49999344348808E-1), (-2.07867249846458E-1, 1.38892501592636E-1, 7.49996364116684E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.49998927116515E-1), (-2.07867249846458E-1, 1.38892501592636E-1, 7.49996364116669E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.49998569488496E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.4999892711636E-1), (-2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349175E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.4999856948849E-1), (-2.30969995260239E-1, 9.56707522273064E-2, 7.49996781349182E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49998092651374E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.49998569488536E-1), (-2.45196253061295E-1, 4.87724989652634E-2, 7.49997258186327E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49998152255974E-1), (-2.45196253061295E-1, 4.87724989652634E-2, 7.4999725818634E-1), (-2.5E-1, -3.48468165446017E-9, 7.49997675418841E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49998152255987E-1), (-1.38892501592636E-1, -2.07867503166199E-1, 7.49999940395355E-1), (2.03746908443922E-8, -5.99154304599339E-7, 3.21216098164712E-9), (-9.56707522562009E-2, -2.30969995314296E-1, 7.49999940375022E-1), (-1.76776766777039E-1, -1.767767816782E-1, 7.4999988079071E-1), (9.52770787462098E-10, -6.3611171091109E-7, 2.60054100476026E-9), (-1.38892516418067E-1, -2.07867532876244E-1, 7.49999940434955E-1), (-2.07867503166199E-1, -1.38892501592636E-1, 7.49999761581421E-1), (8.85724627364723E-9, -6.30003821017253E-7, 2.99190117125647E-11), (-1.76776736736134E-1, -1.76776781482401E-1, 7.49999880893095E-1), (-2.30969771742821E-1, -9.56709980964661E-2, 7.49999701976776E-1), (1.00599530379405E-8, -6.31895579608947E-7, 3.21586202112201E-9), (-2.07867502327527E-1, -1.38892501144358E-1, 7.49999761896881E-1), (-2.45196253061295E-1, -4.87727522850037E-2, 7.49999582767487E-1), (2.11045533997832E-9, -6.3663244680836E-7, 3.94399013448066E-10), (-2.30969770978928E-1, -9.56709978647402E-2, 7.49999702241583E-1), (-2.5E-1, -3.47763395858181E-9, 7.49999463558197E-1), (9.66304198509219E-9, -6.3632099010785E-7, 1.76171022214788E-10), (-2.4519625305747E-1, -4.87727522846269E-2, 7.49999582768762E-1), (-2.45196253061295E-1, 4.87724989652634E-2, 7.49999403953552E-1), (1.10176602961002E-8, -6.3835785583501E-7, 4.52399784300894E-11), (-2.5000000001495E-1, -3.31988045961035E-9, 7.49999463553214E-1), (-2.30969995260239E-1, 9.56707522273064E-2, 7.49999284744263E-1), (-4.53071167376952E-9, -6.35898315715193E-7, -3.73229003258757E-10), (-2.45196237908702E-1, 4.87724914384131E-2, 7.49999404040712E-1), (-2.07867249846458E-1, 1.38892501592636E-1, 7.49999225139618E-1), (2.20537455188225E-8, -6.4906076968024E-7, 4.96768015612048E-10), (-2.30969994707129E-1, 9.56707519316603E-2, 7.49999284952312E-1), (-1.76776766777039E-1, 1.76776736974716E-1, 7.49999165534973E-1), (3.05355835805818E-8, -6.62332387569594E-7, 2.77915701563103E-9), (-2.07867249145998E-1, 1.3889250101779E-1, 7.49999225440212E-1), (-1.38892501592636E-1, 2.07867234945297E-1, 7.49999046325684E-1), (2.74538845959376E-9, -6.40617966265419E-7, -6.00195004807347E-10), (-1.76776767080674E-1, 1.767767373447E-1, 7.49999165376199E-1), (-9.56707522273064E-2, 2.30969771742821E-1, 7.49998986721039E-1), (-5.64738358932896E-9, -6.26707202800038E-7, -3.71325498127462E-9), (-1.3889251642572E-1, 2.07867249719094E-1, 7.49999046373591E-1), (-4.87725026905537E-2, 2.45196253061295E-1, 7.49999046325684E-1), (-4.12357529713809E-9, -6.23679178099591E-7, 7.82118980691138E-10), (-9.56707523053987E-2, 2.30969772000256E-1, 7.49999046236442E-1), (-1.67699534814325E-11, 2.5E-1, 7.49998986721039E-1), (-1.14407892447372E-9, -6.25656930298097E-7, -2.98049901426012E-9), (-4.87725026739289E-2, 2.45196237991342E-1, 7.49998986777303E-1), (4.87725026905537E-2, 2.45196253061295E-1, 7.49998986721039E-1), (4.02865793645992E-9, -5.96369878139934E-7, -3.39479999666992E-9), (1.46348153091777E-9, 2.50000029590329E-1, 7.49998986791704E-1), (9.56707522273064E-2, 2.30969771742821E-1, 7.49998986721039E-1), (9.39049863777309E-9, -6.06316453562562E-7, -3.22713200606728E-9), (4.87725026124613E-2, 2.45196252803859E-1, 7.4999898681028E-1), (1.38892501592636E-1, 2.07867234945297E-1, 7.49999046325684E-1), (-1.14260060958762E-8, -6.58649267697517E-7, 1.77388992383953E-10), (9.5670744754548E-2, 2.30969756800168E-1, 7.4999904634129E-1), (1.76776766777039E-1, 1.76776498556137E-1, 7.49999105930328E-1), (1.5231981018768E-8, -6.18712473774933E-7, -2.74580902459576E-9), (1.38892516481675E-1, 2.07867249831687E-1, 7.49999046332023E-1), (2.07867503166199E-1, 1.38892501592636E-1, 7.49999225139618E-1), (5.9962052169999E-9, -6.32351743350701E-7, 3.52271989356723E-10), (1.7677676548266E-1, 1.76776497493864E-1, 7.49999166090443E-1), (2.30969995260239E-1, 9.56707522273064E-2, 7.49999284744263E-1), (1.17849037626593E-8, -6.30973570389041E-7, -4.7040199513404E-10), (2.07867503427609E-1, 1.38892501732362E-1, 7.4999922504129E-1), (2.45196253061295E-1, 4.87724989652634E-2, 7.49999403953552E-1), (-1.50243601270676E-8, -6.41830216527002E-7, 4.31891022945052E-10), (2.30970010237651E-1, 9.56707522504364E-2, 7.4999928471783E-1), (2.5E-1, -3.47443207537879E-9, 7.49999463558197E-1), (-1.10601364025578E-8, -6.38362040349122E-7, 1.20770060618725E-11), (2.45196253032892E-1, 4.87724989624659E-2, 7.4999940396302E-1), (2.45196253061295E-1, -4.87727522850037E-2, 7.49999582767487E-1), (-9.61099372285321E-9, -6.3632612355809E-7, 3.20971027534256E-10), (2.49999999964488E-1, -3.92177221341787E-9, 7.49999463570034E-1), (2.30969995260239E-1, -9.56709980964661E-2, 7.49999701976776E-1), (-6.50303073984784E-9, -6.35300034582305E-7, -2.0263501987472E-10), (2.45196238833124E-1, -4.87727487638607E-2, 7.49999582534191E-1), (2.07867503166199E-1, -1.38892769813538E-1, 7.49999701976776E-1), (1.01435285188188E-8, -6.42694589431292E-7, 7.12234993205385E-10), (2.30970009891505E-1, -9.5671005402785E-2, 7.49999702078295E-1), (1.76776766777039E-1, -1.767767816782E-1, 7.4999988079071E-1), (-2.55843315689538E-9, -6.35173031683256E-7, 3.82293302569892E-9), (2.07867503041959E-1, -1.38892769711576E-1, 7.49999761634737E-1), (1.38892501592636E-1, -2.07867503166199E-1, 7.4999988079071E-1), (-1.55144173158294E-8, -6.18368260564781E-7, -2.71790101535885E-9), (1.76776735908426E-1, -1.76776765477759E-1, 7.4999988134828E-1), (9.56707522273064E-2, -2.30969995260239E-1, 7.4999988079071E-1), (-1.51564518045977E-8, -6.08916931067365E-7, -3.1186497828628E-10), (1.38892501196194E-1, -2.07867502424507E-1, 7.49999940674337E-1), (4.87725026905537E-2, -2.45196521282196E-1, 7.4999988079071E-1), (-5.95210905836167E-9, -6.1765129551854E-7, -3.80130898980369E-9), (9.56707521567859E-2, -2.30970009928927E-1, 7.49999940475943E-1), (-2.55203462529163E-11, -2.5E-1, 7.5E-1), (-3.54490967813828E-9, -6.01279198489973E-7, 4.378135021188E-9), (4.87724989579243E-2, -2.45196506306516E-1, 7.49999940420195E-1)), $); +#2205 = IFCINDEXEDPOLYGONALFACE((1, 2, 3)); +#2206 = IFCINDEXEDPOLYGONALFACE((4, 5, 6)); +#2207 = IFCINDEXEDPOLYGONALFACE((7, 8, 9)); +#2208 = IFCINDEXEDPOLYGONALFACE((10, 11, 12)); +#2209 = IFCINDEXEDPOLYGONALFACE((10, 13, 14)); +#2210 = IFCINDEXEDPOLYGONALFACE((15, 16, 17)); +#2211 = IFCINDEXEDPOLYGONALFACE((15, 18, 19)); +#2212 = IFCINDEXEDPOLYGONALFACE((20, 21, 22)); +#2213 = IFCINDEXEDPOLYGONALFACE((20, 23, 24)); +#2214 = IFCINDEXEDPOLYGONALFACE((25, 26, 27)); +#2215 = IFCINDEXEDPOLYGONALFACE((25, 28, 29)); +#2216 = IFCINDEXEDPOLYGONALFACE((30, 31, 32)); +#2217 = IFCINDEXEDPOLYGONALFACE((30, 33, 34)); +#2218 = IFCINDEXEDPOLYGONALFACE((35, 36, 37)); +#2219 = IFCINDEXEDPOLYGONALFACE((35, 38, 39)); +#2220 = IFCINDEXEDPOLYGONALFACE((40, 41, 42)); +#2221 = IFCINDEXEDPOLYGONALFACE((40, 43, 44)); +#2222 = IFCINDEXEDPOLYGONALFACE((45, 46, 47)); +#2223 = IFCINDEXEDPOLYGONALFACE((45, 48, 49)); +#2224 = IFCINDEXEDPOLYGONALFACE((50, 51, 52)); +#2225 = IFCINDEXEDPOLYGONALFACE((50, 53, 54)); +#2226 = IFCINDEXEDPOLYGONALFACE((55, 56, 57)); +#2227 = IFCINDEXEDPOLYGONALFACE((55, 58, 59)); +#2228 = IFCINDEXEDPOLYGONALFACE((60, 61, 62)); +#2229 = IFCINDEXEDPOLYGONALFACE((60, 63, 64)); +#2230 = IFCINDEXEDPOLYGONALFACE((65, 66, 67)); +#2231 = IFCINDEXEDPOLYGONALFACE((65, 68, 69)); +#2232 = IFCINDEXEDPOLYGONALFACE((70, 71, 72)); +#2233 = IFCINDEXEDPOLYGONALFACE((70, 73, 74)); +#2234 = IFCINDEXEDPOLYGONALFACE((75, 76, 77)); +#2235 = IFCINDEXEDPOLYGONALFACE((75, 78, 79)); +#2236 = IFCINDEXEDPOLYGONALFACE((80, 81, 82)); +#2237 = IFCINDEXEDPOLYGONALFACE((83, 84, 85)); +#2238 = IFCINDEXEDPOLYGONALFACE((86, 87, 88)); +#2239 = IFCINDEXEDPOLYGONALFACE((89, 90, 91)); +#2240 = IFCINDEXEDPOLYGONALFACE((92, 93, 94)); +#2241 = IFCINDEXEDPOLYGONALFACE((95, 96, 97)); +#2242 = IFCINDEXEDPOLYGONALFACE((98, 99, 100)); +#2243 = IFCINDEXEDPOLYGONALFACE((101, 102, 103)); +#2244 = IFCINDEXEDPOLYGONALFACE((104, 105, 106)); +#2245 = IFCINDEXEDPOLYGONALFACE((107, 108, 109)); +#2246 = IFCINDEXEDPOLYGONALFACE((110, 111, 112)); +#2247 = IFCINDEXEDPOLYGONALFACE((113, 114, 115)); +#2248 = IFCINDEXEDPOLYGONALFACE((116, 117, 118)); +#2249 = IFCINDEXEDPOLYGONALFACE((119, 120, 121)); +#2250 = IFCINDEXEDPOLYGONALFACE((122, 123, 124)); +#2251 = IFCINDEXEDPOLYGONALFACE((125, 126, 127)); +#2252 = IFCINDEXEDPOLYGONALFACE((128, 129, 130)); +#2253 = IFCINDEXEDPOLYGONALFACE((131, 132, 133)); +#2254 = IFCINDEXEDPOLYGONALFACE((134, 135, 136)); +#2255 = IFCINDEXEDPOLYGONALFACE((137, 138, 139)); +#2256 = IFCINDEXEDPOLYGONALFACE((140, 141, 142)); +#2257 = IFCINDEXEDPOLYGONALFACE((143, 144, 145)); +#2258 = IFCINDEXEDPOLYGONALFACE((146, 147, 148)); +#2259 = IFCINDEXEDPOLYGONALFACE((149, 150, 151)); +#2260 = IFCINDEXEDPOLYGONALFACE((152, 153, 154)); +#2261 = IFCINDEXEDPOLYGONALFACE((155, 156, 157)); +#2262 = IFCINDEXEDPOLYGONALFACE((158, 159, 160)); +#2263 = IFCINDEXEDPOLYGONALFACE((161, 162, 163)); +#2264 = IFCINDEXEDPOLYGONALFACE((164, 165, 166)); +#2265 = IFCINDEXEDPOLYGONALFACE((167, 168, 169)); +#2266 = IFCINDEXEDPOLYGONALFACE((170, 171, 172)); +#2267 = IFCSTYLEDITEM(#2203, (#67), $); +#2268 = IFCSITE('0RX$Ll4DT2Mu_tepecO2Cl', #1, 'Default Site Name', $, $, #2269, $, $, .ELEMENT., $, $, $, $, $); +#2269 = IFCLOCALPLACEMENT($, #2272); +#2270 = IFCDIRECTION((0., 0., 1.)); +#2271 = IFCDIRECTION((1., 0., 0.)); +#2272 = IFCAXIS2PLACEMENT3D(#15, #2270, #2271); +#2273 = IFCRAILWAY('382GLQs9z2x9xXxKh7gZqf', #1, 'Default Railway Name', $, $, #2274, $, $, .ELEMENT., .NOTDEFINED.); +#2274 = IFCLOCALPLACEMENT(#2269, #2277); +#2275 = IFCDIRECTION((0., 0., 1.)); +#2276 = IFCDIRECTION((1., 0., 0.)); +#2277 = IFCAXIS2PLACEMENT3D(#15, #2275, #2276); +#2278 = IFCALIGNMENT('0jJsLoidn8SB_UvO4H9xXU', #1, 'Track alignment', $, 'Railway track alignment', #2279, #2695, .USERDEFINED.); +#2279 = IFCLOCALPLACEMENT(#2274, #2282); +#2280 = IFCDIRECTION((0., 0., 1.)); +#2281 = IFCDIRECTION((1., 0., 0.)); +#2282 = IFCAXIS2PLACEMENT3D(#15, #2280, #2281); +#2283 = IFCALIGNMENTHORIZONTAL('2cZ1gNoAz1yBknx1uuxxZ4', #1, 'H1', $, $, #2284, $); +#2284 = IFCLOCALPLACEMENT(#2279, #2287); +#2285 = IFCDIRECTION((0., 0., 1.)); +#2286 = IFCDIRECTION((1., 0., 0.)); +#2287 = IFCAXIS2PLACEMENT3D(#15, #2285, #2286); +#2288 = IFCALIGNMENTSEGMENT('3FHEGq6711TulOKVgmhD$$', #1, 'h1', $, $, #2289, #2458, #2293); +#2289 = IFCLOCALPLACEMENT(#2284, #2292); +#2290 = IFCDIRECTION((0., 0., 1.)); +#2291 = IFCDIRECTION((1., 0., 0.)); +#2292 = IFCAXIS2PLACEMENT3D(#15, #2290, #2291); +#2293 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2294, 3.49924145684616E-1, 0., 0., 387.723276296965, $, .LINE.); +#2294 = IFCCARTESIANPOINT((452270.188250964, 4539403.94736217)); +#2295 = IFCALIGNMENTSEGMENT('2NHsvN8xnFnetsLAyLgoE6', #1, 'h2', $, $, #2296, #2469, #2300); +#2296 = IFCLOCALPLACEMENT(#2284, #2299); +#2297 = IFCDIRECTION((0., 0., 1.)); +#2298 = IFCDIRECTION((1., 0., 0.)); +#2299 = IFCAXIS2PLACEMENT3D(#15, #2297, #2298); +#2300 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2301, 3.49924145666035E-1, 0., 1000.00000000019, 39.9999999999925, $, .CLOTHOID.); +#2301 = IFCCARTESIANPOINT((452634.4150006, 4539536.86919573)); +#2302 = IFCALIGNMENTSEGMENT('1$forlm9r0XeFCaEQu3k18', #1, 'h3', $, $, #2303, #2479, #2307); +#2303 = IFCLOCALPLACEMENT(#2284, #2306); +#2304 = IFCDIRECTION((0., 0., 1.)); +#2305 = IFCDIRECTION((1., 0., 0.)); +#2306 = IFCAXIS2PLACEMENT3D(#15, #2304, #2305); +#2307 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2308, 3.69924145685261E-1, 1000.00000000019, 1000.00000000019, 193.4644708377, $, .CIRCULARARC.); +#2308 = IFCCARTESIANPOINT((452671.898028605, 4539550.83220842)); +#2309 = IFCALIGNMENTSEGMENT('3gVJrcRzD8yPNgP0ikTfG9', #1, 'h4', $, $, #2310, #2489, #2314); +#2310 = IFCLOCALPLACEMENT(#2284, #2313); +#2311 = IFCDIRECTION((0., 0., 1.)); +#2312 = IFCDIRECTION((1., 0., 0.)); +#2313 = IFCAXIS2PLACEMENT3D(#15, #2311, #2312); +#2314 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2315, 5.63388616520267E-1, 1000.00000000019, 0., 39.9999999999925, $, .CLOTHOID.); +#2315 = IFCCARTESIANPOINT((452844.407484098, 4539637.7367177)); +#2316 = IFCALIGNMENTSEGMENT('1xJTpJ_Pf4MgsRIKvPi5gn', #1, 'h5', $, $, #2317, #2499, #2321); +#2317 = IFCLOCALPLACEMENT(#2284, #2320); +#2318 = IFCDIRECTION((0., 0., 1.)); +#2319 = IFCDIRECTION((1., 0., 0.)); +#2320 = IFCAXIS2PLACEMENT3D(#15, #2318, #2319); +#2321 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2322, 5.83388616530347E-1, 0., 0., 38.9815155434665, $, .LINE.); +#2322 = IFCCARTESIANPOINT((452877.937071617, 4539659.54749193)); +#2323 = IFCALIGNMENTSEGMENT('2$60n12oX9EvMg5EOU4ipN', #1, 'h6', $, $, #2324, #2509, #2328); +#2324 = IFCLOCALPLACEMENT(#2284, #2327); +#2325 = IFCDIRECTION((0., 0., 1.)); +#2326 = IFCDIRECTION((1., 0., 0.)); +#2327 = IFCAXIS2PLACEMENT3D(#15, #2325, #2326); +#2328 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2329, 5.83388616540598E-1, -999.999999999704, -999.999999999704, 40.0000000000119, $, .CIRCULARARC.); +#2329 = IFCCARTESIANPOINT((452910.471075989, 4539681.02066388)); +#2330 = IFCALIGNMENTSEGMENT('3Du4AHHdjBNv5lUaO5EO$X', #1, 'h7', $, $, #2331, #2519, #2335); +#2331 = IFCLOCALPLACEMENT(#2284, #2334); +#2332 = IFCDIRECTION((0., 0., 1.)); +#2333 = IFCDIRECTION((1., 0., 0.)); +#2334 = IFCAXIS2PLACEMENT3D(#15, #2332, #2333); +#2335 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2336, 5.63388616525506E-1, -999.999999999703, -999.999999999703, 109.431749924283, $, .CIRCULARARC.); +#2336 = IFCCARTESIANPOINT((452944.000663509, 4539702.83143812)); +#2337 = IFCALIGNMENTSEGMENT('34wk308Ir2uhVEZ4bCKB5y', #1, 'h8', $, $, #2338, #2529, #2342); +#2338 = IFCLOCALPLACEMENT(#2284, #2341); +#2339 = IFCDIRECTION((0., 0., 1.)); +#2340 = IFCDIRECTION((1., 0., 0.)); +#2341 = IFCAXIS2PLACEMENT3D(#15, #2339, #2340); +#2342 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2343, 4.53956866538193E-1, -999.999999999704, 0., 40.0000000000119, $, .CLOTHOID.); +#2343 = IFCCARTESIANPOINT((453039.529760076, 4539756.10013158)); +#2344 = IFCALIGNMENTSEGMENT('3jQmXjgSLEDBBjEuIhHqVc', #1, 'h9', $, $, #2345, #2539, #2349); +#2345 = IFCLOCALPLACEMENT(#2284, #2348); +#2346 = IFCDIRECTION((0., 0., 1.)); +#2347 = IFCDIRECTION((1., 0., 0.)); +#2348 = IFCAXIS2PLACEMENT3D(#15, #2346, #2347); +#2349 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #2350, 4.33956866598294E-1, 0., 0., 139.771058670099, $, .LINE.); +#2350 = IFCCARTESIANPOINT((453075.708553277, 4539773.15996848)); +#2351 = IFCRELNESTS('1ilXC31gv24RsD7vxgiNrJ', #1, 'Linear Element Nesting', $, #2283, (#2288, #2295, #2302, #2309, #2316, #2323, #2330, #2337, #2344, #4001)); +#2352 = IFCALIGNMENTVERTICAL('25dN6gw198hQN0Ig1Sg$Ew', #1, 'V1', $, $, #2353, $); +#2353 = IFCLOCALPLACEMENT(#2279, #2356); +#2354 = IFCDIRECTION((0., 0., 1.)); +#2355 = IFCDIRECTION((1., 0., 0.)); +#2356 = IFCAXIS2PLACEMENT3D(#15, #2354, #2355); +#2357 = IFCALIGNMENTSEGMENT('0t59UGHs9DHxT45UBjGnHV', #1, 'v1', $, $, #2358, #2552, #2362); +#2358 = IFCLOCALPLACEMENT(#2353, #2361); +#2359 = IFCDIRECTION((0., 0., 1.)); +#2360 = IFCDIRECTION((1., 0., 0.)); +#2361 = IFCAXIS2PLACEMENT3D(#15, #2359, #2360); +#2362 = IFCALIGNMENTVERTICALSEGMENT($, $, 0., 478.004489216701, 5., 8.82874350307952E-17, 8.82874350307952E-17, $, .CONSTANTGRADIENT.); +#2363 = IFCALIGNMENTSEGMENT('1bYDE0qKX12RvlDsUHCZ52', #1, 'v2', $, $, #2364, #2562, #2368); +#2364 = IFCLOCALPLACEMENT(#2353, #2367); +#2365 = IFCDIRECTION((0., 0., 1.)); +#2366 = IFCDIRECTION((1., 0., 0.)); +#2367 = IFCAXIS2PLACEMENT3D(#15, #2365, #2366); +#2368 = IFCALIGNMENTVERTICALSEGMENT($, $, 478.004489216701, 49.997500186954, 5.00000000000004, 8.82874350307952E-17, -9.99999999989088E-3, -5000., .CIRCULARARC.); +#2369 = IFCALIGNMENTSEGMENT('23QkxxVZf1PxMYKIUbyiOF', #1, 'v3', $, $, #2370, #2572, #2374); +#2370 = IFCLOCALPLACEMENT(#2353, #2373); +#2371 = IFCDIRECTION((0., 0., 1.)); +#2372 = IFCDIRECTION((1., 0., 0.)); +#2373 = IFCAXIS2PLACEMENT3D(#15, #2371, #2372); +#2374 = IFCALIGNMENTVERTICALSEGMENT($, $, 528.001989403655, 250.003749691421, 4.75001874844306, -9.99999999989088E-3, -9.99999999989088E-3, $, .CONSTANTGRADIENT.); +#2375 = IFCALIGNMENTSEGMENT('1pvHuJqhL6MOqlkuT5Ir26', #1, 'v4', $, $, #2376, #2582, #2380); +#2376 = IFCLOCALPLACEMENT(#2353, #2379); +#2377 = IFCDIRECTION((0., 0., 1.)); +#2378 = IFCDIRECTION((1., 0., 0.)); +#2379 = IFCAXIS2PLACEMENT3D(#15, #2377, #2378); +#2380 = IFCALIGNMENTVERTICALSEGMENT($, $, 778.005739095076, 49.9975001869751, 2.24998125155613, -9.99999999989088E-3, 4.24043141700466E-15, 5000., .CIRCULARARC.); +#2381 = IFCALIGNMENTSEGMENT('2qy7e2h$X209837c8g$Nh5', #1, 'v5', $, $, #2382, #2592, #2386); +#2382 = IFCLOCALPLACEMENT(#2353, #2385); +#2383 = IFCDIRECTION((0., 0., 1.)); +#2384 = IFCDIRECTION((1., 0., 0.)); +#2385 = IFCAXIS2PLACEMENT3D(#15, #2383, #2384); +#2386 = IFCALIGNMENTVERTICALSEGMENT($, $, 828.003239282051, 201.368824969034, 1.99999999999915, 4.24043141700466E-15, 4.24043141700466E-15, $, .CONSTANTGRADIENT.); +#2387 = IFCRELNESTS('04$gGfdYrFxRq$sBq6_Ma1', #1, 'Linear Element Nesting', $, #2352, (#2357, #2363, #2369, #2375, #2381, #5001)); +#2388 = IFCALIGNMENTCANT('0kwyzC0yb8ehcYFOVppIP9', #1, 'C1', $, $, #2389, $, 1.435); +#2389 = IFCLOCALPLACEMENT(#2279, #2392); +#2390 = IFCDIRECTION((0., 0., 1.)); +#2391 = IFCDIRECTION((1., 0., 0.)); +#2392 = IFCAXIS2PLACEMENT3D(#15, #2390, #2391); +#2393 = IFCALIGNMENTSEGMENT('0o7VCJvavDdA9xYwz5oBRK', #1, 'c1', $, $, #2394, #2603, #2398); +#2394 = IFCLOCALPLACEMENT(#2389, #2397); +#2395 = IFCDIRECTION((0., 0., 1.)); +#2396 = IFCDIRECTION((1., 0., 0.)); +#2397 = IFCAXIS2PLACEMENT3D(#15, #2395, #2396); +#2398 = IFCALIGNMENTCANTSEGMENT($, $, 0., 387.723276296965, 0., 0., 0., 0., .CONSTANTCANT.); +#2399 = IFCALIGNMENTSEGMENT('2pwzDsynP3ggq3OBYyg7wr', #1, 'c2', $, $, #2400, #2614, #2404); +#2400 = IFCLOCALPLACEMENT(#2389, #2403); +#2401 = IFCDIRECTION((0., 0., 1.)); +#2402 = IFCDIRECTION((1., 0., 0.)); +#2403 = IFCAXIS2PLACEMENT3D(#15, #2401, #2402); +#2404 = IFCALIGNMENTCANTSEGMENT($, $, 387.723276296965, 39.9999999999926, 0., -3.E-2, 0., 3.E-2, .LINEARTRANSITION.); +#2405 = IFCALIGNMENTSEGMENT('2tLO9I_A1DbQwnSyol1_P8', #1, 'c3', $, $, #2406, #2625, #2410); +#2406 = IFCLOCALPLACEMENT(#2389, #2409); +#2407 = IFCDIRECTION((0., 0., 1.)); +#2408 = IFCDIRECTION((1., 0., 0.)); +#2409 = IFCAXIS2PLACEMENT3D(#15, #2407, #2408); +#2410 = IFCALIGNMENTCANTSEGMENT($, $, 427.723276296957, 193.4644708377, -3.E-2, -3.E-2, 3.E-2, 3.E-2, .CONSTANTCANT.); +#2411 = IFCALIGNMENTSEGMENT('1CWfkLVFXCo8JV8zZdrLfo', #1, 'c4', $, $, #2412, #2636, #2416); +#2412 = IFCLOCALPLACEMENT(#2389, #2415); +#2413 = IFCDIRECTION((0., 0., 1.)); +#2414 = IFCDIRECTION((1., 0., 0.)); +#2415 = IFCAXIS2PLACEMENT3D(#15, #2413, #2414); +#2416 = IFCALIGNMENTCANTSEGMENT($, $, 621.187747134657, 39.9999999999925, -3.E-2, 0., 3.E-2, 0., .LINEARTRANSITION.); +#2417 = IFCALIGNMENTSEGMENT('08LKrvnvj079Xxjd3KbIy9', #1, 'c5', $, $, #2418, #2647, #2422); +#2418 = IFCLOCALPLACEMENT(#2389, #2421); +#2419 = IFCDIRECTION((0., 0., 1.)); +#2420 = IFCDIRECTION((1., 0., 0.)); +#2421 = IFCAXIS2PLACEMENT3D(#15, #2419, #2420); +#2422 = IFCALIGNMENTCANTSEGMENT($, $, 661.18774713465, 38.9815155434666, 0., 0., 0., 0., .CONSTANTCANT.); +#2423 = IFCALIGNMENTSEGMENT('1_39nu3q10EgiUF2uuPA6u', #1, 'c6', $, $, #2424, #2658, #2428); +#2424 = IFCLOCALPLACEMENT(#2389, #2427); +#2425 = IFCDIRECTION((0., 0., 1.)); +#2426 = IFCDIRECTION((1., 0., 0.)); +#2427 = IFCAXIS2PLACEMENT3D(#15, #2425, #2426); +#2428 = IFCALIGNMENTCANTSEGMENT($, $, 700.169262678116, 40.0000000000118, 0., 3.E-2, 0., -3.E-2, .LINEARTRANSITION.); +#2429 = IFCALIGNMENTSEGMENT('2e6W3TPHX9jAKv_l1faiaw', #1, 'c7', $, $, #2430, #2669, #2434); +#2430 = IFCLOCALPLACEMENT(#2389, #2433); +#2431 = IFCDIRECTION((0., 0., 1.)); +#2432 = IFCDIRECTION((1., 0., 0.)); +#2433 = IFCAXIS2PLACEMENT3D(#15, #2431, #2432); +#2434 = IFCALIGNMENTCANTSEGMENT($, $, 740.169262678128, 109.431749924283, 3.E-2, 3.E-2, -3.E-2, -3.E-2, .CONSTANTCANT.); +#2435 = IFCALIGNMENTSEGMENT('33RHONOYr9mBgFO3_aTR9K', #1, 'c8', $, $, #2436, #2680, #2440); +#2436 = IFCLOCALPLACEMENT(#2389, #2439); +#2437 = IFCDIRECTION((0., 0., 1.)); +#2438 = IFCDIRECTION((1., 0., 0.)); +#2439 = IFCAXIS2PLACEMENT3D(#15, #2437, #2438); +#2440 = IFCALIGNMENTCANTSEGMENT($, $, 849.601012602411, 40.0000000000117, 3.E-2, 0., -3.E-2, 0., .LINEARTRANSITION.); +#2441 = IFCALIGNMENTSEGMENT('0v2fCSQ8H1qejZRDkDUoz1', #1, 'c9', $, $, #2442, #2691, #2446); +#2442 = IFCLOCALPLACEMENT(#2389, #2445); +#2443 = IFCDIRECTION((0., 0., 1.)); +#2444 = IFCDIRECTION((1., 0., 0.)); +#2445 = IFCAXIS2PLACEMENT3D(#15, #2443, #2444); +#2446 = IFCALIGNMENTCANTSEGMENT($, $, 889.601012602423, 139.771058670099, 0., 0., 0., 0., .CONSTANTCANT.); +#2447 = IFCRELNESTS('3SJW0HLK1AbhvrM4yf9rnX', #1, 'Linear Element Nesting', $, #2388, (#2393, #2399, #2405, #2411, #2417, #2423, #2429, #2435, #2441, #6001)); +#2448 = IFCRELNESTS('1P8GkOGRn8ihS6H_8pZ38p', #1, 'Alignment Nesting', $, #2278, (#2283, #2352, #2388)); +#2449 = IFCCOMPOSITECURVE((#2450, #2461, #2471, #2481, #2491, #2501, #2511, #2521, #2531, #4201), .U.); +#2450 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2453, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(387.723276296965), #2454); +#2451 = IFCCARTESIANPOINT((452270.188250964, 4539403.94736217)); +#2452 = IFCDIRECTION((9.39398720423267E-1, 3.42826550995001E-1)); +#2453 = IFCAXIS2PLACEMENT2D(#2451, #2452); +#2454 = IFCLINE(#2455, #2456); +#2455 = IFCCARTESIANPOINT((0., 0.)); +#2456 = IFCVECTOR(#2457, 1.); +#2457 = IFCDIRECTION((9.39398720423267E-1, 3.42826550995001E-1)); +#2458 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2460)); +#2459 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#2460 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2450)); +#2461 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2464, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(39.9999999999925), #2465); +#2462 = IFCCARTESIANPOINT((452634.4150006, 4539536.86919573)); +#2463 = IFCDIRECTION((9.39398720429637E-1, 3.42826550977546E-1)); +#2464 = IFCAXIS2PLACEMENT2D(#2462, #2463); +#2465 = IFCCLOTHOID(#2468, 200.); +#2466 = IFCCARTESIANPOINT((0., 0.)); +#2467 = IFCDIRECTION((1., 0.)); +#2468 = IFCAXIS2PLACEMENT2D(#2466, #2467); +#2469 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2470)); +#2470 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2461)); +#2471 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2474, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(193.4644708377), #2475); +#2472 = IFCCARTESIANPOINT((452671.898028605, 4539550.83220842)); +#2473 = IFCDIRECTION((9.3235477301455E-1, 3.61544709872771E-1)); +#2474 = IFCAXIS2PLACEMENT2D(#2472, #2473); +#2475 = IFCCIRCLE(#2478, 1000.00000000019); +#2476 = IFCCARTESIANPOINT((-361.544709872839, 932.354773014725)); +#2477 = IFCDIRECTION((3.61544709872771E-1, -9.3235477301455E-1)); +#2478 = IFCAXIS2PLACEMENT2D(#2476, #2477); +#2479 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2480)); +#2480 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2471)); +#2481 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2484, IFCLENGTHMEASURE(-39.9999999999925), IFCLENGTHMEASURE(39.9999999999925), #2485); +#2482 = IFCCARTESIANPOINT((452844.407484098, 4539637.7367177)); +#2483 = IFCDIRECTION((8.45450263739829E-1, 5.3405416536364E-1)); +#2484 = IFCAXIS2PLACEMENT2D(#2482, #2483); +#2485 = IFCCLOTHOID(#2488, -200.); +#2486 = IFCCARTESIANPOINT((0., 0.)); +#2487 = IFCDIRECTION((1., 0.)); +#2488 = IFCAXIS2PLACEMENT2D(#2486, #2487); +#2489 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2490)); +#2490 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2481)); +#2491 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2494, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(38.9815155434665), #2495); +#2492 = IFCCARTESIANPOINT((452877.937071617, 4539659.54749193)); +#2493 = IFCDIRECTION((8.34600808068494E-1, 5.50855236129617E-1)); +#2494 = IFCAXIS2PLACEMENT2D(#2492, #2493); +#2495 = IFCLINE(#2496, #2497); +#2496 = IFCCARTESIANPOINT((0., 0.)); +#2497 = IFCVECTOR(#2498, 1.); +#2498 = IFCDIRECTION((8.34600808068494E-1, 5.50855236129617E-1)); +#2499 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2500)); +#2500 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2491)); +#2501 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2504, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(40.0000000000119), #2505); +#2502 = IFCCARTESIANPOINT((452910.471075989, 4539681.02066388)); +#2503 = IFCDIRECTION((8.34600808062847E-1, 5.50855236138173E-1)); +#2504 = IFCAXIS2PLACEMENT2D(#2502, #2503); +#2505 = IFCCLOTHOID(#2508, -200.); +#2506 = IFCCARTESIANPOINT((0., 0.)); +#2507 = IFCDIRECTION((1., 0.)); +#2508 = IFCAXIS2PLACEMENT2D(#2506, #2507); +#2509 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2510)); +#2510 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2501)); +#2511 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2514, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(-109.431749924), #2515); +#2512 = IFCCARTESIANPOINT((452944.000663509, 4539702.83143812)); +#2513 = IFCDIRECTION((8.45450263737031E-1, 5.34054165368069E-1)); +#2514 = IFCAXIS2PLACEMENT2D(#2512, #2513); +#2515 = IFCCIRCLE(#2518, 999.999999999703); +#2516 = IFCCARTESIANPOINT((534.054165367911, -845.45026373678)); +#2517 = IFCDIRECTION((-5.34054165368069E-1, 8.45450263737031E-1)); +#2518 = IFCAXIS2PLACEMENT2D(#2516, #2517); +#2519 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2520)); +#2520 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2511)); +#2521 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2524, IFCLENGTHMEASURE(-40.0000000000119), IFCLENGTHMEASURE(40.0000000000119), #2525); +#2522 = IFCCARTESIANPOINT((453039.529760076, 4539756.10013158)); +#2523 = IFCDIRECTION((8.98718957228976E-1, 4.38525068744379E-1)); +#2524 = IFCAXIS2PLACEMENT2D(#2522, #2523); +#2525 = IFCCLOTHOID(#2528, 200.); +#2526 = IFCCARTESIANPOINT((0., 0.)); +#2527 = IFCDIRECTION((1., 0.)); +#2528 = IFCAXIS2PLACEMENT2D(#2526, #2527); +#2529 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2530)); +#2530 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2521)); +#2531 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2534, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(139.771058670099), #2535); +#2532 = IFCCARTESIANPOINT((453075.708553277, 4539773.15996848)); +#2533 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); +#2534 = IFCAXIS2PLACEMENT2D(#2532, #2533); +#2535 = IFCLINE(#2536, #2537); +#2536 = IFCCARTESIANPOINT((0., 0.)); +#2537 = IFCVECTOR(#2538, 1.); +#2538 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); +#2539 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2540)); +#2540 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2531)); +#2543 = IFCGRADIENTCURVE((#2544, #2554, #2564, #2574, #2584, #5201), .U., #2449, $); +#2544 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2547, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(478.004489216701), #2548); +#2545 = IFCCARTESIANPOINT((0., 5.)); +#2546 = IFCDIRECTION((1., 8.82874350307952E-17)); +#2547 = IFCAXIS2PLACEMENT2D(#2545, #2546); +#2548 = IFCLINE(#2549, #2550); +#2549 = IFCCARTESIANPOINT((0., 0.)); +#2550 = IFCVECTOR(#2551, 1.); +#2551 = IFCDIRECTION((1., 8.82874350307952E-17)); +#2552 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2553)); +#2553 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2544)); +#2554 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2557, IFCLENGTHMEASURE(7853.98163398), IFCLENGTHMEASURE(-49.9983334328), #2558); +#2555 = IFCCARTESIANPOINT((478.004489216701, 5.00000000000004)); +#2556 = IFCDIRECTION((1., 8.82874350307952E-17)); +#2557 = IFCAXIS2PLACEMENT2D(#2555, #2556); +#2558 = IFCCIRCLE(#2561, 5000.00000000147); +#2559 = IFCCARTESIANPOINT((-3.06161699786929E-13, -5000.00000000147)); +#2560 = IFCDIRECTION((1., 0.)); +#2561 = IFCAXIS2PLACEMENT2D(#2559, #2560); +#2562 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2563)); +#2563 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2554)); +#2564 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2567, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(250.016249566416), #2568); +#2565 = IFCCARTESIANPOINT((528.001989403655, 4.75001874844306)); +#2566 = IFCDIRECTION((9.99950003749689E-1, -9.99950003738777E-3)); +#2567 = IFCAXIS2PLACEMENT2D(#2565, #2566); +#2568 = IFCLINE(#2569, #2570); +#2569 = IFCCARTESIANPOINT((0., 0.)); +#2570 = IFCVECTOR(#2571, 1.); +#2571 = IFCDIRECTION((9.99950003749689E-1, -9.99950003738777E-3)); +#2572 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2573)); +#2573 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2564)); +#2574 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2577, IFCLENGTHMEASURE(23511.9465684978), IFCLENGTHMEASURE(49.9983334328186), #2578); +#2575 = IFCCARTESIANPOINT((778.005739095076, 2.24998125155613)); +#2576 = IFCDIRECTION((9.99950003749689E-1, -9.99950003738777E-3)); +#2577 = IFCAXIS2PLACEMENT2D(#2575, #2576); +#2578 = IFCCIRCLE(#2581, 5000.00000000151); +#2579 = IFCCARTESIANPOINT((49.9975001869539, 4999.75001874995)); +#2580 = IFCDIRECTION((1., 0.)); +#2581 = IFCAXIS2PLACEMENT2D(#2579, #2580); +#2582 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2583)); +#2583 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2574)); +#2584 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #2587, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(201.368824969034), #2588); +#2585 = IFCCARTESIANPOINT((828.003239282051, 1.99999999999915)); +#2586 = IFCDIRECTION((1., 4.24043141700466E-15)); +#2587 = IFCAXIS2PLACEMENT2D(#2585, #2586); +#2588 = IFCLINE(#2589, #2590); +#2589 = IFCCARTESIANPOINT((0., 0.)); +#2590 = IFCVECTOR(#2591, 1.); +#2591 = IFCDIRECTION((1., 4.24043141700466E-15)); +#2592 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2593)); +#2593 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2584)); +#2594 = IFCSEGMENTEDREFERENCECURVE((#2595, #2605, #2616, #2627, #2638, #2649, #2660, #2671, #2682, #6201), .U., #2543, $); +#2595 = IFCCURVESEGMENT(.CONTINUOUS., #2598, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(387.723276296965), #2599); +#2596 = IFCDIRECTION((0., 0., 1.)); +#2597 = IFCDIRECTION((1., 0., 0.)); +#2598 = IFCAXIS2PLACEMENT3D(#15, #2596, #2597); +#2599 = IFCLINE(#2600, #2601); +#2600 = IFCCARTESIANPOINT((0., 0.)); +#2601 = IFCVECTOR(#2602, 1.); +#2602 = IFCDIRECTION((1., 0.)); +#2603 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2604)); +#2604 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2595)); +#2605 = IFCCURVESEGMENT(.CONTINUOUS., #2609, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(39.9999999999926), #2599); +#2606 = IFCCARTESIANPOINT((387.723276296965, 0., 0.)); +#2607 = IFCDIRECTION((0., 0., 1.)); +#2608 = IFCDIRECTION((1., 0., 0.)); +#2609 = IFCAXIS2PLACEMENT3D(#2606, #2607, #2608); +#2610 = IFCCLOTHOID(#2613, 39.9999999999926); +#2611 = IFCCARTESIANPOINT((0., 0.)); +#2612 = IFCDIRECTION((1., 0.)); +#2613 = IFCAXIS2PLACEMENT2D(#2611, #2612); +#2614 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2615)); +#2615 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2605)); +#2616 = IFCCURVESEGMENT(.CONTINUOUS., #2620, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(193.4644708377), #2621); +#2617 = IFCCARTESIANPOINT((427.723276296957, 0., 0.)); +#2618 = IFCDIRECTION((-0., 4.17753461681079E-2, 9.99127029187247E-1)); +#2619 = IFCDIRECTION((1., 0., 0.)); +#2620 = IFCAXIS2PLACEMENT3D(#2617, #2618, #2619); +#2621 = IFCLINE(#2622, #2623); +#2622 = IFCCARTESIANPOINT((0., 0.)); +#2623 = IFCVECTOR(#2624, 1.); +#2624 = IFCDIRECTION((1., 0.)); +#2625 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2626)); +#2626 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2616)); +#2627 = IFCCURVESEGMENT(.CONTINUOUS., #2631, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(39.9999999999925), #2621); +#2628 = IFCCARTESIANPOINT((621.187747134657, 0., 0.)); +#2629 = IFCDIRECTION((-0., 4.17753461681079E-2, 9.99127029187247E-1)); +#2630 = IFCDIRECTION((1., 0., 0.)); +#2631 = IFCAXIS2PLACEMENT3D(#2628, #2629, #2630); +#2632 = IFCCLOTHOID(#2635, 39.9999999999925); +#2633 = IFCCARTESIANPOINT((0., 0.)); +#2634 = IFCDIRECTION((1., 0.)); +#2635 = IFCAXIS2PLACEMENT2D(#2633, #2634); +#2636 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2637)); +#2637 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2627)); +#2638 = IFCCURVESEGMENT(.CONTINUOUS., #2642, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(38.9815155434666), #2643); +#2639 = IFCCARTESIANPOINT((661.18774713465, 0., 0.)); +#2640 = IFCDIRECTION((0., 0., 1.)); +#2641 = IFCDIRECTION((1., 0., 0.)); +#2642 = IFCAXIS2PLACEMENT3D(#2639, #2640, #2641); +#2643 = IFCLINE(#2644, #2645); +#2644 = IFCCARTESIANPOINT((0., 0.)); +#2645 = IFCVECTOR(#2646, 1.); +#2646 = IFCDIRECTION((1., 0.)); +#2647 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2648)); +#2648 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2638)); +#2649 = IFCCURVESEGMENT(.CONTINUOUS., #2653, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(40.0000000000118), #2643); +#2650 = IFCCARTESIANPOINT((700.169262678116, 0., 0.)); +#2651 = IFCDIRECTION((0., 0., 1.)); +#2652 = IFCDIRECTION((1., 0., 0.)); +#2653 = IFCAXIS2PLACEMENT3D(#2650, #2651, #2652); +#2654 = IFCCLOTHOID(#2657, 40.0000000000118); +#2655 = IFCCARTESIANPOINT((0., 0.)); +#2656 = IFCDIRECTION((1., 0.)); +#2657 = IFCAXIS2PLACEMENT2D(#2655, #2656); +#2658 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2659)); +#2659 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2649)); +#2660 = IFCCURVESEGMENT(.CONTINUOUS., #2664, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(109.431749924283), #2665); +#2661 = IFCCARTESIANPOINT((740.169262678128, 0., 0.)); +#2662 = IFCDIRECTION((0., -4.17753461681079E-2, 9.99127029187247E-1)); +#2663 = IFCDIRECTION((1., 0., 0.)); +#2664 = IFCAXIS2PLACEMENT3D(#2661, #2662, #2663); +#2665 = IFCLINE(#2666, #2667); +#2666 = IFCCARTESIANPOINT((0., 0.)); +#2667 = IFCVECTOR(#2668, 1.); +#2668 = IFCDIRECTION((1., 0.)); +#2669 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2670)); +#2670 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2660)); +#2671 = IFCCURVESEGMENT(.CONTINUOUS., #2675, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(40.0000000000117), #2665); +#2672 = IFCCARTESIANPOINT((849.601012602411, 0., 0.)); +#2673 = IFCDIRECTION((0., -4.17753461681079E-2, 9.99127029187247E-1)); +#2674 = IFCDIRECTION((1., 0., 0.)); +#2675 = IFCAXIS2PLACEMENT3D(#2672, #2673, #2674); +#2676 = IFCCLOTHOID(#2679, 40.0000000000117); +#2677 = IFCCARTESIANPOINT((0., 0.)); +#2678 = IFCDIRECTION((1., 0.)); +#2679 = IFCAXIS2PLACEMENT2D(#2677, #2678); +#2680 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2681)); +#2681 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2671)); +#2682 = IFCCURVESEGMENT(.CONTINUOUS., #2686, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(139.771058670099), #2687); +#2683 = IFCCARTESIANPOINT((889.601012602423, 0., 0.)); +#2684 = IFCDIRECTION((0., 0., 1.)); +#2685 = IFCDIRECTION((1., 0., 0.)); +#2686 = IFCAXIS2PLACEMENT3D(#2683, #2684, #2685); +#2687 = IFCLINE(#2688, #2689); +#2688 = IFCCARTESIANPOINT((0., 0.)); +#2689 = IFCVECTOR(#2690, 1.); +#2690 = IFCDIRECTION((1., 0.)); +#2691 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2692)); +#2692 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#2682)); +#2695 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2696, #2697)); +#2696 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Curve3D', (#2594)); +#2697 = IFCSHAPEREPRESENTATION(#2459, 'FootPrint', 'Curve2D', (#2449)); +#2698 = IFCREFERENT('3t_W_rZgvCfQ$zs2L2Bu$9', #1, 'StaStation', $, $, #2702, #2705, .STATION.); +#2699 = IFCPROPERTYSET('0xvU3QpS5ENwl0rIpcuXAI', #1, 'Pset_Stationing', $, (#2700)); +#2700 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-153.1), $); +#2701 = IFCRELDEFINESBYPROPERTIES('2Bjmd6iZnFueQWNGcZluMM', #1, 'Object to Properties', 'Object to Properties Relation', (#2698), #2699); +#2702 = IFCLINEARPLACEMENT(#2279, #2703, $); +#2703 = IFCAXIS2PLACEMENTLINEAR(#2704, $, $); +#2704 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.), 0., 0., 0., #2543); +#2705 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2711)); +#2706 = IFCMAPPEDITEM(#2198, #2707); +#2707 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2708, #2709, #15, 1., #2710, 1., 1.); +#2708 = IFCDIRECTION((0., 1., 0.)); +#2709 = IFCDIRECTION((-1., 0., 0.)); +#2710 = IFCDIRECTION((0., 0., 1.)); +#2711 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2706)); +#2712 = IFCREFERENT('0RxJw6xFX5KxYTCwMMyShP', #1, 'End', $, $, #2716, #2719, .REFERENCEMARKER.); +#2713 = IFCPROPERTYSET('3xcBgZuJX43Q00yUCRC9aq', #1, 'Pset_Stationing', $, (#2714)); +#2714 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(876.2720713), $); +#2715 = IFCRELDEFINESBYPROPERTIES('3jDLE3VjXErBi29wD5I895', #1, 'Object to Properties', 'Object to Properties Relation', (#2712), #2713); +#2716 = IFCLINEARPLACEMENT(#2279, #2717, $); +#2717 = IFCAXIS2PLACEMENTLINEAR(#2718, $, $); +#2718 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(1029.3720713), 0., 0., 0., #2543); +#2719 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2725)); +#2720 = IFCMAPPEDITEM(#2198, #2721); +#2721 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2722, #2723, #15, 1., #2724, 1., 1.); +#2722 = IFCDIRECTION((0., 1., 0.)); +#2723 = IFCDIRECTION((-1., 0., 0.)); +#2724 = IFCDIRECTION((0., 0., 1.)); +#2725 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2720)); +#2726 = IFCREFERENT('0kzVgaRYL4aO638jhHf3nw', #1, 'Referent_001', $, $, #2730, #2733, .REFERENCEMARKER.); +#2727 = IFCPROPERTYSET('3eaixnvJ15gh10KKDtwcdH', #1, 'Pset_Stationing', $, (#2728)); +#2728 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-150.), $); +#2729 = IFCRELDEFINESBYPROPERTIES('0M8B1WIh53jByB4T5ZWRWd', #1, 'Object to Properties', 'Object to Properties Relation', (#2726), #2727); +#2730 = IFCLINEARPLACEMENT(#2279, #2731, $); +#2731 = IFCAXIS2PLACEMENTLINEAR(#2732, $, $); +#2732 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(3.09999999999999), 0., 0., 0., #2543); +#2733 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2739)); +#2734 = IFCMAPPEDITEM(#2198, #2735); +#2735 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2736, #2737, #15, 1., #2738, 1., 1.); +#2736 = IFCDIRECTION((0., 1., 0.)); +#2737 = IFCDIRECTION((-1., 0., 0.)); +#2738 = IFCDIRECTION((0., 0., 1.)); +#2739 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2734)); +#2740 = IFCREFERENT('1BzM8NVcr3vRgvNyQpCaX0', #1, 'Referent_002', $, $, #2744, #2747, .REFERENCEMARKER.); +#2741 = IFCPROPERTYSET('2z2M3P9$53dPUtfGTHHbQl', #1, 'Pset_Stationing', $, (#2742)); +#2742 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-100.), $); +#2743 = IFCRELDEFINESBYPROPERTIES('1hSqUGxgr2Ne1t4HexnbzD', #1, 'Object to Properties', 'Object to Properties Relation', (#2740), #2741); +#2744 = IFCLINEARPLACEMENT(#2279, #2745, $); +#2745 = IFCAXIS2PLACEMENTLINEAR(#2746, $, $); +#2746 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(53.1), 0., 0., 0., #2543); +#2747 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2753)); +#2748 = IFCMAPPEDITEM(#2198, #2749); +#2749 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2750, #2751, #15, 1., #2752, 1., 1.); +#2750 = IFCDIRECTION((0., 1., 0.)); +#2751 = IFCDIRECTION((-1., 0., 0.)); +#2752 = IFCDIRECTION((0., 0., 1.)); +#2753 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2748)); +#2754 = IFCREFERENT('3ElY5TBDT4Xem7HDziuunX', #1, 'Referent_003', $, $, #2758, #2761, .REFERENCEMARKER.); +#2755 = IFCPROPERTYSET('0K_0nw97X6phpepAR83JJT', #1, 'Pset_Stationing', $, (#2756)); +#2756 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(-50.), $); +#2757 = IFCRELDEFINESBYPROPERTIES('2sM8iB1nvCDQnWf$FkQf$t', #1, 'Object to Properties', 'Object to Properties Relation', (#2754), #2755); +#2758 = IFCLINEARPLACEMENT(#2279, #2759, $); +#2759 = IFCAXIS2PLACEMENTLINEAR(#2760, $, $); +#2760 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(103.1), 0., 0., 0., #2543); +#2761 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2767)); +#2762 = IFCMAPPEDITEM(#2198, #2763); +#2763 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2764, #2765, #15, 1., #2766, 1., 1.); +#2764 = IFCDIRECTION((0., 1., 0.)); +#2765 = IFCDIRECTION((-1., 0., 0.)); +#2766 = IFCDIRECTION((0., 0., 1.)); +#2767 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2762)); +#2768 = IFCREFERENT('33zeD6dy98BwsgexDioffz', #1, 'Referent_004', $, $, #2772, #2775, .REFERENCEMARKER.); +#2769 = IFCPROPERTYSET('3gjIKjpTr4CAN5TyOKKNbt', #1, 'Pset_Stationing', $, (#2770)); +#2770 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(0.), $); +#2771 = IFCRELDEFINESBYPROPERTIES('2ayBHxJG14NA3R7LxGJrJc', #1, 'Object to Properties', 'Object to Properties Relation', (#2768), #2769); +#2772 = IFCLINEARPLACEMENT(#2279, #2773, $); +#2773 = IFCAXIS2PLACEMENTLINEAR(#2774, $, $); +#2774 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(153.1), 0., 0., 0., #2543); +#2775 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2781)); +#2776 = IFCMAPPEDITEM(#2198, #2777); +#2777 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2778, #2779, #15, 1., #2780, 1., 1.); +#2778 = IFCDIRECTION((0., 1., 0.)); +#2779 = IFCDIRECTION((-1., 0., 0.)); +#2780 = IFCDIRECTION((0., 0., 1.)); +#2781 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2776)); +#2782 = IFCREFERENT('1pZw_b2bP2gBYWPablJgV1', #1, 'Referent_005', $, $, #2786, #2789, .REFERENCEMARKER.); +#2783 = IFCPROPERTYSET('3i9$1Ef6zF2wl9gQd1gUVK', #1, 'Pset_Stationing', $, (#2784)); +#2784 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(50.), $); +#2785 = IFCRELDEFINESBYPROPERTIES('2OZRnOl_H66v2DColUgODm', #1, 'Object to Properties', 'Object to Properties Relation', (#2782), #2783); +#2786 = IFCLINEARPLACEMENT(#2279, #2787, $); +#2787 = IFCAXIS2PLACEMENTLINEAR(#2788, $, $); +#2788 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(203.1), 0., 0., 0., #2543); +#2789 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2795)); +#2790 = IFCMAPPEDITEM(#2198, #2791); +#2791 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2792, #2793, #15, 1., #2794, 1., 1.); +#2792 = IFCDIRECTION((0., 1., 0.)); +#2793 = IFCDIRECTION((-1., 0., 0.)); +#2794 = IFCDIRECTION((0., 0., 1.)); +#2795 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2790)); +#2796 = IFCREFERENT('1A4BCznijFwBz5Vm6aTkLC', #1, 'Referent_006', $, $, #2800, #2803, .REFERENCEMARKER.); +#2797 = IFCPROPERTYSET('13_o95_ET1CuqCI4RDq836', #1, 'Pset_Stationing', $, (#2798)); +#2798 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(100.), $); +#2799 = IFCRELDEFINESBYPROPERTIES('3$IWz3Eo12LwoMweHevGak', #1, 'Object to Properties', 'Object to Properties Relation', (#2796), #2797); +#2800 = IFCLINEARPLACEMENT(#2279, #2801, $); +#2801 = IFCAXIS2PLACEMENTLINEAR(#2802, $, $); +#2802 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(253.1), 0., 0., 0., #2543); +#2803 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2809)); +#2804 = IFCMAPPEDITEM(#2198, #2805); +#2805 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2806, #2807, #15, 1., #2808, 1., 1.); +#2806 = IFCDIRECTION((0., 1., 0.)); +#2807 = IFCDIRECTION((-1., 0., 0.)); +#2808 = IFCDIRECTION((0., 0., 1.)); +#2809 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2804)); +#2810 = IFCREFERENT('0rXwWr3sXDc90XPvBzlnmu', #1, 'Referent_007', $, $, #2814, #2817, .REFERENCEMARKER.); +#2811 = IFCPROPERTYSET('00VzeA61n5j9iD3PlPExBy', #1, 'Pset_Stationing', $, (#2812)); +#2812 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(150.), $); +#2813 = IFCRELDEFINESBYPROPERTIES('3Uz7OhU9j9E8fujugfOpiz', #1, 'Object to Properties', 'Object to Properties Relation', (#2810), #2811); +#2814 = IFCLINEARPLACEMENT(#2279, #2815, $); +#2815 = IFCAXIS2PLACEMENTLINEAR(#2816, $, $); +#2816 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(303.1), 0., 0., 0., #2543); +#2817 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2823)); +#2818 = IFCMAPPEDITEM(#2198, #2819); +#2819 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2820, #2821, #15, 1., #2822, 1., 1.); +#2820 = IFCDIRECTION((0., 1., 0.)); +#2821 = IFCDIRECTION((-1., 0., 0.)); +#2822 = IFCDIRECTION((0., 0., 1.)); +#2823 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2818)); +#2824 = IFCREFERENT('2gAWJoPkr4lvso9LksKZ$$', #1, 'Referent_008', $, $, #2828, #2831, .REFERENCEMARKER.); +#2825 = IFCPROPERTYSET('1oA0cn1$vAKAnjainFXGhw', #1, 'Pset_Stationing', $, (#2826)); +#2826 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(200.), $); +#2827 = IFCRELDEFINESBYPROPERTIES('3gNfghsifFeuv$fF5XEQFn', #1, 'Object to Properties', 'Object to Properties Relation', (#2824), #2825); +#2828 = IFCLINEARPLACEMENT(#2279, #2829, $); +#2829 = IFCAXIS2PLACEMENTLINEAR(#2830, $, $); +#2830 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(353.1), 0., 0., 0., #2543); +#2831 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2837)); +#2832 = IFCMAPPEDITEM(#2198, #2833); +#2833 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2834, #2835, #15, 1., #2836, 1., 1.); +#2834 = IFCDIRECTION((0., 1., 0.)); +#2835 = IFCDIRECTION((-1., 0., 0.)); +#2836 = IFCDIRECTION((0., 0., 1.)); +#2837 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2832)); +#2838 = IFCREFERENT('2qa7BUFY54zhnu0L$HoC0V', #1, 'Referent_009', $, $, #2842, #2845, .REFERENCEMARKER.); +#2839 = IFCPROPERTYSET('1gVtH3Wkj6o9t51U6pZR7R', #1, 'Pset_Stationing', $, (#2840)); +#2840 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(250.), $); +#2841 = IFCRELDEFINESBYPROPERTIES('0P5320X9nCbxuiY2V0V4OB', #1, 'Object to Properties', 'Object to Properties Relation', (#2838), #2839); +#2842 = IFCLINEARPLACEMENT(#2279, #2843, $); +#2843 = IFCAXIS2PLACEMENTLINEAR(#2844, $, $); +#2844 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(403.1), 0., 0., 0., #2543); +#2845 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2851)); +#2846 = IFCMAPPEDITEM(#2198, #2847); +#2847 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2848, #2849, #15, 1., #2850, 1., 1.); +#2848 = IFCDIRECTION((0., 1., 0.)); +#2849 = IFCDIRECTION((-1., 0., 0.)); +#2850 = IFCDIRECTION((0., 0., 1.)); +#2851 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2846)); +#2852 = IFCREFERENT('2jDQ6rZsXClPCsXXukyvUt', #1, 'Referent_010', $, $, #2856, #2859, .REFERENCEMARKER.); +#2853 = IFCPROPERTYSET('1sGsRdZCP27RxReAH42szO', #1, 'Pset_Stationing', $, (#2854)); +#2854 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(300.), $); +#2855 = IFCRELDEFINESBYPROPERTIES('07zPMx4VL1$fV$qY7Ng3bi', #1, 'Object to Properties', 'Object to Properties Relation', (#2852), #2853); +#2856 = IFCLINEARPLACEMENT(#2279, #2857, $); +#2857 = IFCAXIS2PLACEMENTLINEAR(#2858, $, $); +#2858 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(453.1), 0., 0., 0., #2543); +#2859 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2865)); +#2860 = IFCMAPPEDITEM(#2198, #2861); +#2861 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2862, #2863, #15, 1., #2864, 1., 1.); +#2862 = IFCDIRECTION((0., 1., 0.)); +#2863 = IFCDIRECTION((-1., 0., 0.)); +#2864 = IFCDIRECTION((0., 0., 1.)); +#2865 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2860)); +#2866 = IFCREFERENT('0s$Sj6JW198BDi36Diny4l', #1, 'Referent_011', $, $, #2870, #2873, .REFERENCEMARKER.); +#2867 = IFCPROPERTYSET('0kFKrb90f18hqoLK_H5P4Q', #1, 'Pset_Stationing', $, (#2868)); +#2868 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(350.), $); +#2869 = IFCRELDEFINESBYPROPERTIES('1ivJtPi6f6VBYNLE6R02kc', #1, 'Object to Properties', 'Object to Properties Relation', (#2866), #2867); +#2870 = IFCLINEARPLACEMENT(#2279, #2871, $); +#2871 = IFCAXIS2PLACEMENTLINEAR(#2872, $, $); +#2872 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(503.1), 0., 0., 0., #2543); +#2873 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2879)); +#2874 = IFCMAPPEDITEM(#2198, #2875); +#2875 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2876, #2877, #15, 1., #2878, 1., 1.); +#2876 = IFCDIRECTION((0., 1., 0.)); +#2877 = IFCDIRECTION((-1., 0., 0.)); +#2878 = IFCDIRECTION((0., 0., 1.)); +#2879 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2874)); +#2880 = IFCREFERENT('21$awjvPj8uvNoDaMZ_sP8', #1, 'Referent_012', $, $, #2884, #2887, .REFERENCEMARKER.); +#2881 = IFCPROPERTYSET('3p$5cqdjz1wvz3V6nUx6p$', #1, 'Pset_Stationing', $, (#2882)); +#2882 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(400.), $); +#2883 = IFCRELDEFINESBYPROPERTIES('1$gb5ssrTCIRpvVzgk2XkO', #1, 'Object to Properties', 'Object to Properties Relation', (#2880), #2881); +#2884 = IFCLINEARPLACEMENT(#2279, #2885, $); +#2885 = IFCAXIS2PLACEMENTLINEAR(#2886, $, $); +#2886 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(553.1), 0., 0., 0., #2543); +#2887 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2893)); +#2888 = IFCMAPPEDITEM(#2198, #2889); +#2889 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2890, #2891, #15, 1., #2892, 1., 1.); +#2890 = IFCDIRECTION((0., 1., 0.)); +#2891 = IFCDIRECTION((-1., 0., 0.)); +#2892 = IFCDIRECTION((0., 0., 1.)); +#2893 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2888)); +#2894 = IFCREFERENT('3V3gHEo518aOCL5gm$yg1H', #1, 'Referent_013', $, $, #2898, #2901, .REFERENCEMARKER.); +#2895 = IFCPROPERTYSET('3k61N0uMH0cex1sgEspd2d', #1, 'Pset_Stationing', $, (#2896)); +#2896 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(450.), $); +#2897 = IFCRELDEFINESBYPROPERTIES('2oQZDbf2HFV8yflw4_YzKf', #1, 'Object to Properties', 'Object to Properties Relation', (#2894), #2895); +#2898 = IFCLINEARPLACEMENT(#2279, #2899, $); +#2899 = IFCAXIS2PLACEMENTLINEAR(#2900, $, $); +#2900 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(603.1), 0., 0., 0., #2543); +#2901 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2907)); +#2902 = IFCMAPPEDITEM(#2198, #2903); +#2903 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2904, #2905, #15, 1., #2906, 1., 1.); +#2904 = IFCDIRECTION((0., 1., 0.)); +#2905 = IFCDIRECTION((-1., 0., 0.)); +#2906 = IFCDIRECTION((0., 0., 1.)); +#2907 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2902)); +#2908 = IFCREFERENT('3xjBcYCIP5qvcT4pmPJuhy', #1, 'Referent_014', $, $, #2912, #2915, .REFERENCEMARKER.); +#2909 = IFCPROPERTYSET('2BK7an5Z5FuPyNbAUfBorU', #1, 'Pset_Stationing', $, (#2910)); +#2910 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(500.), $); +#2911 = IFCRELDEFINESBYPROPERTIES('2Hc1ITPJLFHfeG$n20J3ms', #1, 'Object to Properties', 'Object to Properties Relation', (#2908), #2909); +#2912 = IFCLINEARPLACEMENT(#2279, #2913, $); +#2913 = IFCAXIS2PLACEMENTLINEAR(#2914, $, $); +#2914 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(653.1), 0., 0., 0., #2543); +#2915 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2921)); +#2916 = IFCMAPPEDITEM(#2198, #2917); +#2917 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2918, #2919, #15, 1., #2920, 1., 1.); +#2918 = IFCDIRECTION((0., 1., 0.)); +#2919 = IFCDIRECTION((-1., 0., 0.)); +#2920 = IFCDIRECTION((0., 0., 1.)); +#2921 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2916)); +#2922 = IFCREFERENT('2ixGYkaFvAlBGLNbckK63l', #1, 'Referent_015', $, $, #2926, #2929, .REFERENCEMARKER.); +#2923 = IFCPROPERTYSET('3NrUpBBk1DfPksCr73yOzD', #1, 'Pset_Stationing', $, (#2924)); +#2924 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(550.), $); +#2925 = IFCRELDEFINESBYPROPERTIES('1Ek9OBT1bBSut8$RD$5iiU', #1, 'Object to Properties', 'Object to Properties Relation', (#2922), #2923); +#2926 = IFCLINEARPLACEMENT(#2279, #2927, $); +#2927 = IFCAXIS2PLACEMENTLINEAR(#2928, $, $); +#2928 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(703.1), 0., 0., 0., #2543); +#2929 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2935)); +#2930 = IFCMAPPEDITEM(#2198, #2931); +#2931 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2932, #2933, #15, 1., #2934, 1., 1.); +#2932 = IFCDIRECTION((0., 1., 0.)); +#2933 = IFCDIRECTION((-1., 0., 0.)); +#2934 = IFCDIRECTION((0., 0., 1.)); +#2935 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2930)); +#2936 = IFCREFERENT('1v8yi7yZv4qv_6NLZxAkdg', #1, 'Referent_016', $, $, #2940, #2943, .REFERENCEMARKER.); +#2937 = IFCPROPERTYSET('1FtH$MjuP0GQkf6cfrVkDq', #1, 'Pset_Stationing', $, (#2938)); +#2938 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(600.), $); +#2939 = IFCRELDEFINESBYPROPERTIES('3tyHRTrkrCjPW8eZAxhRNH', #1, 'Object to Properties', 'Object to Properties Relation', (#2936), #2937); +#2940 = IFCLINEARPLACEMENT(#2279, #2941, $); +#2941 = IFCAXIS2PLACEMENTLINEAR(#2942, $, $); +#2942 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(753.1), 0., 0., 0., #2543); +#2943 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2949)); +#2944 = IFCMAPPEDITEM(#2198, #2945); +#2945 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2946, #2947, #15, 1., #2948, 1., 1.); +#2946 = IFCDIRECTION((0., 1., 0.)); +#2947 = IFCDIRECTION((-1., 0., 0.)); +#2948 = IFCDIRECTION((0., 0., 1.)); +#2949 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2944)); +#2950 = IFCREFERENT('32c_BlT4D7NuGUft80yR8P', #1, 'Referent_017', $, $, #2954, #2957, .REFERENCEMARKER.); +#2951 = IFCPROPERTYSET('2GYJf2XHn9R96OI9FmTZF8', #1, 'Pset_Stationing', $, (#2952)); +#2952 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(650.), $); +#2953 = IFCRELDEFINESBYPROPERTIES('32sHPD4LXDmf1nQczvB7fZ', #1, 'Object to Properties', 'Object to Properties Relation', (#2950), #2951); +#2954 = IFCLINEARPLACEMENT(#2279, #2955, $); +#2955 = IFCAXIS2PLACEMENTLINEAR(#2956, $, $); +#2956 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(803.1), 0., 0., 0., #2543); +#2957 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2963)); +#2958 = IFCMAPPEDITEM(#2198, #2959); +#2959 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2960, #2961, #15, 1., #2962, 1., 1.); +#2960 = IFCDIRECTION((0., 1., 0.)); +#2961 = IFCDIRECTION((-1., 0., 0.)); +#2962 = IFCDIRECTION((0., 0., 1.)); +#2963 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2958)); +#2964 = IFCREFERENT('1kY5i2zwb2c9GvII_vMnfU', #1, 'Referent_018', $, $, #2968, #2971, .REFERENCEMARKER.); +#2965 = IFCPROPERTYSET('0EzYb6fCP3fx9WbLzUNuYY', #1, 'Pset_Stationing', $, (#2966)); +#2966 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(700.), $); +#2967 = IFCRELDEFINESBYPROPERTIES('1G1fgdB918TABUTnNEeo5w', #1, 'Object to Properties', 'Object to Properties Relation', (#2964), #2965); +#2968 = IFCLINEARPLACEMENT(#2279, #2969, $); +#2969 = IFCAXIS2PLACEMENTLINEAR(#2970, $, $); +#2970 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(853.1), 0., 0., 0., #2543); +#2971 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2977)); +#2972 = IFCMAPPEDITEM(#2198, #2973); +#2973 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2974, #2975, #15, 1., #2976, 1., 1.); +#2974 = IFCDIRECTION((0., 1., 0.)); +#2975 = IFCDIRECTION((-1., 0., 0.)); +#2976 = IFCDIRECTION((0., 0., 1.)); +#2977 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2972)); +#2978 = IFCREFERENT('1R7FNYmGfFxwhfxyC1t_Vj', #1, 'Referent_019', $, $, #2982, #2985, .REFERENCEMARKER.); +#2979 = IFCPROPERTYSET('3tQzlOY3j0buA1f9WgQFos', #1, 'Pset_Stationing', $, (#2980)); +#2980 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(750.), $); +#2981 = IFCRELDEFINESBYPROPERTIES('0jd5QPXabCbOUL9ePpU2xW', #1, 'Object to Properties', 'Object to Properties Relation', (#2978), #2979); +#2982 = IFCLINEARPLACEMENT(#2279, #2983, $); +#2983 = IFCAXIS2PLACEMENTLINEAR(#2984, $, $); +#2984 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(903.1), 0., 0., 0., #2543); +#2985 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2991)); +#2986 = IFCMAPPEDITEM(#2198, #2987); +#2987 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#2988, #2989, #15, 1., #2990, 1., 1.); +#2988 = IFCDIRECTION((0., 1., 0.)); +#2989 = IFCDIRECTION((-1., 0., 0.)); +#2990 = IFCDIRECTION((0., 0., 1.)); +#2991 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#2986)); +#2992 = IFCREFERENT('30GC8E6EPFIf4UuXFw681l', #1, 'Referent_020', $, $, #2996, #2999, .REFERENCEMARKER.); +#2993 = IFCPROPERTYSET('34o7UpK4XDeRXWvZvg3zzo', #1, 'Pset_Stationing', $, (#2994)); +#2994 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(800.), $); +#2995 = IFCRELDEFINESBYPROPERTIES('1XBzcaP5f5M8fsTAkv1_mG', #1, 'Object to Properties', 'Object to Properties Relation', (#2992), #2993); +#2996 = IFCLINEARPLACEMENT(#2279, #2997, $); +#2997 = IFCAXIS2PLACEMENTLINEAR(#2998, $, $); +#2998 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(953.1), 0., 0., 0., #2543); +#2999 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3005)); +#3000 = IFCMAPPEDITEM(#2198, #3001); +#3001 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3002, #3003, #15, 1., #3004, 1., 1.); +#3002 = IFCDIRECTION((0., 1., 0.)); +#3003 = IFCDIRECTION((-1., 0., 0.)); +#3004 = IFCDIRECTION((0., 0., 1.)); +#3005 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3000)); +#3006 = IFCREFERENT('0bMgYuaXPEzQaXrua7SOvk', #1, 'Referent_021', $, $, #3010, #3013, .REFERENCEMARKER.); +#3007 = IFCPROPERTYSET('3alForBQLAZfF_Ye88U_gB', #1, 'Pset_Stationing', $, (#3008)); +#3008 = IFCPROPERTYSINGLEVALUE('Station', $, IFCLENGTHMEASURE(850.), $); +#3009 = IFCRELDEFINESBYPROPERTIES('20G98ZEUD4x8fPxiceY9d5', #1, 'Object to Properties', 'Object to Properties Relation', (#3006), #3007); +#3010 = IFCLINEARPLACEMENT(#2279, #3011, $); +#3011 = IFCAXIS2PLACEMENTLINEAR(#3012, $, $); +#3012 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(1003.1), 0., 0., 0., #2543); +#3013 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3019)); +#3014 = IFCMAPPEDITEM(#2198, #3015); +#3015 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3016, #3017, #15, 1., #3018, 1., 1.); +#3016 = IFCDIRECTION((0., 1., 0.)); +#3017 = IFCDIRECTION((-1., 0., 0.)); +#3018 = IFCDIRECTION((0., 0., 1.)); +#3019 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3014)); +#3020 = IFCSIGNAL('0t_GtwGFT0nPszZsjyA9w4', #1, 'Route Indicator_01', $, $, #3021, #3024, $, .VISUAL.); +#3021 = IFCLINEARPLACEMENT(#2279, #3022, $); +#3022 = IFCAXIS2PLACEMENTLINEAR(#3023, $, $); +#3023 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(353.1), 3., 2.5, 0., #2543); +#3024 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3030)); +#3025 = IFCMAPPEDITEM(#1135, #3026); +#3026 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3027, #3028, #15, 1., #3029, 1., 1.); +#3027 = IFCDIRECTION((0., -1., 0.)); +#3028 = IFCDIRECTION((1., 0., 0.)); +#3029 = IFCDIRECTION((0., 0., 1.)); +#3030 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3025)); +#3031 = IFCSIGNAL('1gnEPB6qvEY89wQ0JBMc5c', #1, 'Route Indicator_02', $, $, #3032, #3035, $, .VISUAL.); +#3032 = IFCLINEARPLACEMENT(#2279, #3033, $); +#3033 = IFCAXIS2PLACEMENTLINEAR(#3034, $, $); +#3034 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(853.1), -3., 2.5, 0., #2543); +#3035 = IFCPRODUCTDEFINITIONSHAPE($, $, (#3041)); +#3036 = IFCMAPPEDITEM(#72, #3037); +#3037 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#3038, #3039, #15, 1., #3040, 1., 1.); +#3038 = IFCDIRECTION((0., 1., 0.)); +#3039 = IFCDIRECTION((-1., 0., 0.)); +#3040 = IFCDIRECTION((0., 0., 1.)); +#3041 = IFCSHAPEREPRESENTATION(#17, 'Body', 'MappedRepresentation', (#3036)); +#3042 = IFCRELCONTAINEDINSPATIALSTRUCTURE('1gTy5qBVD2feFB2dOfpt6y', #1, $, $, (#2278, #2698, #2712, #2726, #2740, #2754, #2768, #2782, #2796, #2810, #2824, #2838, #2852, #2866, #2880, #2894, #2908, #2922, #2936, #2950, #2964, #2978, #2992, #3006, #3020, #3031), #2273); +#3043 = IFCRELAGGREGATES('3lyGQu2fX1YwBtYmqC00fR', #1, 'Spatial Structure Element Container', 'Spatial Structure Element to Facilities', #2268, (#2273)); +#3044 = IFCRELAGGREGATES('2C2gCe8fLBH8qUI6jpQ98v', #1, 'Project Container', 'Project to Spatial Element', #7, (#2268)); +#3045 = IFCSIGNALTYPE('08tHBMWRHDiBAH7pFrGVfm', #1, 'Default Signal Type', $, $, $, $, $, $, .VISUAL.); +#3046 = IFCRELDEFINESBYTYPE('3HRtYOGRf1twGzmyWPnzwc', #1, 'Type Object Relation', 'Type Object Relation', (#3020, #3031), #3045); +#3047 = IFCRELNESTS('1wV_u4EpX2eRQmudiG$MZe', #1, 'Nests', $, #2278, (#2698, #2712, #2726, #2740, #2754, #2768, #2782, #2796, #2810, #2824, #2838, #2852, #2866, #2880, #2894, #2908, #2922, #2936, #2950, #2964, #2978, #2992, #3006)); +#3048 = IFCRELPOSITIONS('2JQ3DklALExh2$UBCF3cky', #1, 'Positions', $, #2278, (#3020, #3031, #2698, #2712, #2726, #2740, #2754, #2768, #2782, #2796, #2810, #2824, #2838, #2852, #2866, #2880, #2894, #2908, #2922, #2936, #2950, #2964, #2978, #2992, #3006)); +#3049 = IFCRELAGGREGATES('2g_hsY2CXBBuc8$0aOd5Mi', #1, 'Project aggregation', $, #7, (#2278)); +#3050 = IFCMAPCONVERSION(#13, #3051, 0., 0., 0., 1., 0., 1.); +#3051 = IFCPROJECTEDCRS('EPSG:3065', 'Istituto Geografico Militare 1995 (IGM95)', 'EPSG:4670', 'EPSG:5214', 'UTM', '33N', $); + +#4001 = IFCALIGNMENTSEGMENT('4jQmXjgSLEDBBjEuIhHqVd', #1, 'hA', $, $, #2345, #4101, #4011); +#4011 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #4012, 4.33956866598294E-1, 0., 0., 0., $, .LINE.); +#4012 = IFCCARTESIANPOINT((453202.524112, 4539831.92869)); + +#4101 = IFCPRODUCTDEFINITIONSHAPE($, $, (#4102)); +#4102 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#4201)); + +#4201 = IFCCURVESEGMENT(.DISCONTINUOUS., #4204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #4205); +#4202 = IFCCARTESIANPOINT((453202.524112, 4539831.92869)); +#4203 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); +#4204 = IFCAXIS2PLACEMENT2D(#4202, #4203); +#4205 = IFCLINE(#4206, #4207); +#4206 = IFCCARTESIANPOINT((0., 0.)); +#4207 = IFCVECTOR(#4208, 1.); +#4208 = IFCDIRECTION((9.0730913609013E-1, 4.20464185832019E-1)); + +#5001 = IFCALIGNMENTSEGMENT('3qy7e2h$X209837c8g$Nh6', #1, 'v6', $, $, #2382, #5101, #5011); +#5011 = IFCALIGNMENTVERTICALSEGMENT($, $, 1029.37206425, 0., 1.99999999999915, 4.24043141700466E-15, 4.24043141700466E-15, $, .CONSTANTGRADIENT.); + +#5101 = IFCPRODUCTDEFINITIONSHAPE($, $, (#5102)); +#5102 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#5201)); + +#5201 = IFCCURVESEGMENT(.DISCONTINUOUS., #5204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #5205); +#5202 = IFCCARTESIANPOINT((1029.37206425, 1.99999999999915)); +#5203 = IFCDIRECTION((1., 4.24043141700466E-15)); +#5204 = IFCAXIS2PLACEMENT2D(#5202, #5203); +#5205 = IFCLINE(#5206, #5207); +#5206 = IFCCARTESIANPOINT((0., 0.)); +#5207 = IFCVECTOR(#5208, 1.); +#5208 = IFCDIRECTION((1., 4.24043141700466E-15)); + +#6001 = IFCALIGNMENTSEGMENT('1v2fCSQ8H1qejZRDkDUoz2', #1, 'cA', $, $, #2442, #6101, #6011); +#6011 = IFCALIGNMENTCANTSEGMENT($, $, 1029.37207127, 0., 0., 0., 0., 0., .CONSTANTCANT.); + +#6101 = IFCPRODUCTDEFINITIONSHAPE($, $, (#6102)); +#6102 = IFCSHAPEREPRESENTATION(#2459, 'Axis', 'Segment', (#6201)); + +#6201 = IFCCURVESEGMENT(.DISCONTINUOUS., #6205, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #6206); +#6202 = IFCCARTESIANPOINT((1029.37207127, 0., 0.)); +#6203 = IFCDIRECTION((0., 0., 1.)); +#6204 = IFCDIRECTION((1., 0., 0.)); +#6205 = IFCAXIS2PLACEMENT3D(#6202, #6203, #6204); +#6206 = IFCLINE(#6207, #6208); +#6207 = IFCCARTESIANPOINT((0., 0.)); +#6208 = IFCVECTOR(#6209, 1.); +#6209 = IFCDIRECTION((1., 0.)); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/alb021/README.md b/test/files/alb021/README.md new file mode 100644 index 00000000..821fdf13 --- /dev/null +++ b/test/files/alb021/README.md @@ -0,0 +1,18 @@ + + +| File name | Expected result | Description | +|--------------------------------------------------------| --- | --- | +| pass-alb021-polyline\_order\_3.ifc | pass | NaN | +| pass-alb021-gradient\_curve.ifc | pass | NaN | +| pass-alb021-composite\_curve.ifc | pass | NaN | +| pass-alb021-polycurve\_arcs\_order\_2.ifc | pass | NaN | +| pass-alb021-segmented\_reference\_curve.ifc | pass | NaN | +| pass-alb021-polycurve\_linear\_order\_3.ifc | pass | NaN | +| pass-alb021-polyline\_order\_2.ifc | pass | NaN | +| fail-alb021-scenario06-gradient\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'A representation by IfcGradientCurve requires the absence of IfcAlignmentCant in the business logic', 'Observed': 'entity: IfcAlignmentCant'} | +| fail-alb021-scenario04-polyline\_order\_3.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentVertical', 'Observed': ''} | +| fail-alb021-scenario05-composite\_curve\_axis.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'A representation by IfcCompositeCurve as Axis requires the absence of IfcAlignmentVertical and IfcAlignmentCant in the business logic', 'Observed': '\\value\\: IfcAlignmentVertical\\ \\IfcAlignmentCant'} | +| fail-alb021-scenario01-segmented\_reference\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentCant', 'Observed': ''} | +| fail-alb021-scenario02-gradient\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentVertical', 'Observed': ''} | +| fail-alb021-scenario03-polycurve\_linear\_order\_3.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'entity: IfcAlignmentVertical', 'Observed': ''} | + diff --git a/test/files/ala001/fail-ala001-scenario01-segmented_reference_curve.ifc b/test/files/alb021/fail-alb021-scenario01-segmented_reference_curve.ifc similarity index 99% rename from test/files/ala001/fail-ala001-scenario01-segmented_reference_curve.ifc rename to test/files/alb021/fail-alb021-scenario01-segmented_reference_curve.ifc index b3bf9ed9..6a04ad35 100644 --- a/test/files/ala001/fail-ala001-scenario01-segmented_reference_curve.ifc +++ b/test/files/alb021/fail-alb021-scenario01-segmented_reference_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb021-scenario01-segmented_reference_curve.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala001/fail-ala001-scenario02-gradient_curve.ifc b/test/files/alb021/fail-alb021-scenario02-gradient_curve.ifc similarity index 99% rename from test/files/ala001/fail-ala001-scenario02-gradient_curve.ifc rename to test/files/alb021/fail-alb021-scenario02-gradient_curve.ifc index 0aaac06c..833cbdf5 100644 --- a/test/files/ala001/fail-ala001-scenario02-gradient_curve.ifc +++ b/test/files/alb021/fail-alb021-scenario02-gradient_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb021-scenario02-gradient_curve.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/alb021/fail-alb021-scenario03-polycurve_linear_order_3.ifc b/test/files/alb021/fail-alb021-scenario03-polycurve_linear_order_3.ifc new file mode 100644 index 00000000..ed3319ab --- /dev/null +++ b/test/files/alb021/fail-alb021-scenario03-polycurve_linear_order_3.ifc @@ -0,0 +1,768 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); +FILE_NAME('fail-alb021-scenario03-polycurve_linear_order_3.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16', 'Civil 3D 2023 IfcInfra Plugin v13.5.60.0', 'None'); +FILE_SCHEMA (('IFC4X3_ADD2')); +ENDSEC; + +DATA; +#1= IFCORGANIZATION($,'Autodesk',$,$,$); +#2= IFCAPPLICATION(#1,'Civil 3D 2023','Civil 3D','Civil 3D 2023 IfcInfra Plugin v13.5.60.0'); +#3= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#4= IFCAXIS2PLACEMENT3D(#3,$,$); +#5= IFCLOCALPLACEMENT($,#29); +#6= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#7= IFCAXIS2PLACEMENT3D(#6,$,$); +#9= IFCROAD('2uCeAKMvXA0AYCHiMPq4Gk',$,'UnknownName',$,$,#5,$,$,$,.NOTDEFINED.); +#12= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#13= IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(0.3048),#12); +#14= IFCCONVERSIONBASEDUNIT(#15,.LENGTHUNIT.,'foot',#13); +#15= IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0); +#16= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#17= IFCMEASUREWITHUNIT(IFCAREAMEASURE(0.0929),#16); +#18= IFCCONVERSIONBASEDUNIT(#19,.AREAUNIT.,'square foot',#17); +#19= IFCDIMENSIONALEXPONENTS(2,0,0,0,0,0,0); +#20= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#21= IFCMEASUREWITHUNIT(IFCVOLUMEMEASURE(0.02832),#20); +#22= IFCCONVERSIONBASEDUNIT(#23,.VOLUMEUNIT.,'cubic foot',#21); +#23= IFCDIMENSIONALEXPONENTS(3,0,0,0,0,0,0); +#24= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#25= IFCPROJECT('3WDIqgkabBcB3Ubw1QWcFe',$,'Unknown',$,$,$,$,(#198,#333),#26); +#26= IFCUNITASSIGNMENT((#14,#18,#22,#24)); +#27= IFCRELAGGREGATES('32mtCdW1_bWqorpXbgPNAY',$,$,$,#25,(#9)); +#28= IFCCARTESIANPOINT((41371.0,62385.0,0.0)); +#29= IFCAXIS2PLACEMENT3D(#28,$,$); +#30= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#31= IFCAXIS2PLACEMENT3D(#30,$,$); +#32= IFCLOCALPLACEMENT(#5,#31); +#33= IFCSITE('1WDO_i6$53p9mAZtiXr8i5',$,'Site',$,$,#32,$,$,$,$,$,$,$,$); +#34= IFCRELAGGREGATES('3EItsi9XS5GH5ByHj4UXj0',$,$,$,#9,(#33,#104)); +#35= IFCPROPERTYSET('3DbeTQiYfDAPy34OG_JZ9j',$,'Properties',$,(#37,#38,#39,#40,#41,#42,#43,#44,#45,#46,#47,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#58,#59,#60,#61,#62,#63,#64,#65,#66,#67,#68,#69,#70)); +#36= IFCRELDEFINESBYPROPERTIES('2OrWnSdyv8Lxc3fxab7ZA1',$,$,$,(#33),#35); +#37= IFCPROPERTYSINGLEVALUE('UDPClassificationName',$,IFCLABEL(''),$); +#38= IFCPROPERTYSINGLEVALUE('Description',$,IFCLABEL(''),$); +#39= IFCPROPERTYSINGLEVALUE('DisplayName',$,IFCLABEL('Parcel'),$); +#40= IFCPROPERTYSINGLEVALUE('FingerPrint',$,IFCINTEGER(0),$); +#41= IFCPROPERTYSINGLEVALUE('IsReferenceObject',$,IFCBOOLEAN(.F.),$); +#42= IFCPROPERTYSINGLEVALUE('IsReferenceStale',$,IFCBOOLEAN(.F.),$); +#43= IFCPROPERTYSINGLEVALUE('IsReferenceSubObject',$,IFCBOOLEAN(.F.),$); +#44= IFCPROPERTYSINGLEVALUE('IsReferenceValid',$,IFCBOOLEAN(.F.),$); +#45= IFCPROPERTYSINGLEVALUE('IsUsed',$,IFCBOOLEAN(.F.),$); +#46= IFCPROPERTYSINGLEVALUE('Name',$,IFCLABEL('Site'),$); +#47= IFCPROPERTYSINGLEVALUE('ShowToolTip',$,IFCBOOLEAN(.T.),$); +#48= IFCPROPERTYSINGLEVALUE('StyleName',$,IFCLABEL('G_PROP_NO_Fill_By_Layer (USACE)'),$); +#49= IFCPROPERTYSINGLEVALUE('CloneMeForDragging',$,IFCBOOLEAN(.T.),$); +#50= IFCPROPERTYSINGLEVALUE('ForceAnnoAllVisible',$,IFCBOOLEAN(.T.),$); +#51= IFCPROPERTYSINGLEVALUE('HasSaveVersionOverride',$,IFCBOOLEAN(.F.),$); +#52= IFCPROPERTYSINGLEVALUE('IsCancelling',$,IFCBOOLEAN(.F.),$); +#53= IFCPROPERTYSINGLEVALUE('IsErased',$,IFCBOOLEAN(.F.),$); +#54= IFCPROPERTYSINGLEVALUE('IsEraseStatusToggled',$,IFCBOOLEAN(.F.),$); +#55= IFCPROPERTYSINGLEVALUE('IsModified',$,IFCBOOLEAN(.F.),$); +#56= IFCPROPERTYSINGLEVALUE('IsModifiedGraphics',$,IFCBOOLEAN(.F.),$); +#57= IFCPROPERTYSINGLEVALUE('IsModifiedXData',$,IFCBOOLEAN(.F.),$); +#58= IFCPROPERTYSINGLEVALUE('IsNewObject',$,IFCBOOLEAN(.F.),$); +#59= IFCPROPERTYSINGLEVALUE('IsNotifyEnabled',$,IFCBOOLEAN(.F.),$); +#60= IFCPROPERTYSINGLEVALUE('IsNotifying',$,IFCBOOLEAN(.F.),$); +#61= IFCPROPERTYSINGLEVALUE('IsObjectIdsInFlux',$,IFCBOOLEAN(.F.),$); +#62= IFCPROPERTYSINGLEVALUE('IsPersistent',$,IFCBOOLEAN(.T.),$); +#63= IFCPROPERTYSINGLEVALUE('IsReadEnabled',$,IFCBOOLEAN(.T.),$); +#64= IFCPROPERTYSINGLEVALUE('IsReallyClosing',$,IFCBOOLEAN(.F.),$); +#65= IFCPROPERTYSINGLEVALUE('IsTransactionResident',$,IFCBOOLEAN(.T.),$); +#66= IFCPROPERTYSINGLEVALUE('IsUndoing',$,IFCBOOLEAN(.F.),$); +#67= IFCPROPERTYSINGLEVALUE('IsWriteEnabled',$,IFCBOOLEAN(.T.),$); +#68= IFCPROPERTYSINGLEVALUE('Bounds',$,IFCLABEL('((0,0,0),(0,0,0))'),$); +#69= IFCPROPERTYSINGLEVALUE('AutoDelete',$,IFCBOOLEAN(.F.),$); +#70= IFCPROPERTYSINGLEVALUE('IsDisposed',$,IFCBOOLEAN(.F.),$); +#71= IFCPROPERTYSET('2TLNASjdP22xCLuypnKOx4',$,'Miscellaneous',$,(#73,#74,#75,#76,#77,#78)); +#72= IFCRELDEFINESBYPROPERTIES('0gs_xFqvL6MgdAkielx8B7',$,$,$,(#33),#71); +#73= IFCPROPERTYSINGLEVALUE('IsHighlighting',$,IFCBOOLEAN(.F.),$); +#74= IFCPROPERTYSINGLEVALUE('NeedsPromoting',$,IFCBOOLEAN(.F.),$); +#75= IFCPROPERTYSINGLEVALUE('SupportsBaseCurveCommands',$,IFCBOOLEAN(.F.),$); +#76= IFCPROPERTYSINGLEVALUE('SupportsProfileCommands',$,IFCBOOLEAN(.F.),$); +#77= IFCPROPERTYSINGLEVALUE('SwappingReferences',$,IFCBOOLEAN(.F.),$); +#78= IFCPROPERTYSINGLEVALUE('TypeIcon',$,IFCLABEL('(Icon)'),$); +#79= IFCPROPERTYSET('2jlYQ1SXTEju1Qmt6WggLK',$,'General',$,(#81,#82,#83,#84,#85,#86,#87)); +#80= IFCRELDEFINESBYPROPERTIES('2h8bXaiVrFKRA_aFmlb6RX',$,$,$,(#33),#79); +#81= IFCPROPERTYSINGLEVALUE('LayerKey',$,IFCLABEL(''),$); +#82= IFCPROPERTYSINGLEVALUE('ColorIndex',$,IFCINTEGER(256),$); +#83= IFCPROPERTYSINGLEVALUE('Layer',$,IFCLABEL('0'),$); +#84= IFCPROPERTYSINGLEVALUE('Linetype',$,IFCLABEL('ByLayer'),$); +#85= IFCPROPERTYSINGLEVALUE('LinetypeScale',$,IFCREAL(1.0),$); +#86= IFCPROPERTYSINGLEVALUE('PlotStyleName',$,IFCLABEL('ByLayer'),$); +#87= IFCPROPERTYSINGLEVALUE('Visible',$,IFCBOOLEAN(.T.),$); +#88= IFCPROPERTYSET('3SzkROCTz6exZBbDu4aEJA',$,'Geometry',$,(#90,#91,#92)); +#89= IFCRELDEFINESBYPROPERTIES('13xB2v61j4T8Ww79uZQspP',$,$,$,(#33),#88); +#90= IFCPROPERTYSINGLEVALUE('Closed',$,IFCBOOLEAN(.F.),$); +#91= IFCPROPERTYSINGLEVALUE('IsPeriodic',$,IFCBOOLEAN(.F.),$); +#92= IFCPROPERTYSINGLEVALUE('IsPlanar',$,IFCBOOLEAN(.F.),$); +#93= IFCPROPERTYSET('2bE_Xmcj97PhfAf6JLWfuT',$,'Misc',$,(#95,#96,#97,#98)); +#94= IFCRELDEFINESBYPROPERTIES('20dZO5Unj6r8QXNW$Snp8W',$,$,$,(#33),#93); +#95= IFCPROPERTYSINGLEVALUE('BlockName',$,IFCLABEL('*Model_Space'),$); +#96= IFCPROPERTYSINGLEVALUE('ClassID',$,IFCLABEL('e932013f-0087-4186-8df9-3d5372b7dc57'),$); +#97= IFCPROPERTYSINGLEVALUE('HasFields',$,IFCBOOLEAN(.F.),$); +#98= IFCPROPERTYSINGLEVALUE('IsAProxy',$,IFCBOOLEAN(.F.),$); +#99= IFCPROPERTYSET('3m1Dr9OSb84P1CXPrFbe4d',$,'3D Visualization',$,(#101,#102,#103)); +#100= IFCRELDEFINESBYPROPERTIES('25SeLJh2HF$Pv8BBw4XkyE',$,$,$,(#33),#99); +#101= IFCPROPERTYSINGLEVALUE('CastShadows',$,IFCBOOLEAN(.T.),$); +#102= IFCPROPERTYSINGLEVALUE('Material',$,IFCLABEL('ByLayer'),$); +#103= IFCPROPERTYSINGLEVALUE('ReceiveShadows',$,IFCBOOLEAN(.T.),$); +#104= IFCSITE('1QFVyLBTfBW8mSkQ0DjX24',$,'Survey Site',$,$,#32,$,$,$,$,$,$,$,$); +#105= IFCPROPERTYSET('0eRiKhOx15cguiXT_$1$ER',$,'Properties',$,(#37,#38,#39,#40,#41,#42,#43,#44,#45,#47,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#58,#59,#60,#61,#62,#63,#64,#65,#66,#67,#68,#69,#70,#107)); +#106= IFCRELDEFINESBYPROPERTIES('1bk6FofIn7UwZ38ETRUQ36',$,$,$,(#104),#105); +#107= IFCPROPERTYSINGLEVALUE('Name',$,IFCLABEL('Survey Site'),$); +#108= IFCPROPERTYSET('3npx8mcPf9thqloUyH8qaN',$,'Miscellaneous',$,(#73,#74,#75,#76,#77,#78)); +#109= IFCRELDEFINESBYPROPERTIES('3Vsxx8SWDDfP15f3UHmJPF',$,$,$,(#104),#108); +#110= IFCPROPERTYSET('06_s9I1g5DtO$LiW7wpLOR',$,'General',$,(#81,#82,#83,#84,#85,#86,#87)); +#111= IFCRELDEFINESBYPROPERTIES('2lyg7oIj95HftQaFvF_EYJ',$,$,$,(#104),#110); +#112= IFCPROPERTYSET('31_bIVSlHEuhbWnyeWTsJc',$,'Geometry',$,(#90,#91,#92)); +#113= IFCRELDEFINESBYPROPERTIES('2D3CoJVbv88x7eBt47al2t',$,$,$,(#104),#112); +#114= IFCPROPERTYSET('3Dn0nzmnP3UBT_fGt22IQb',$,'Misc',$,(#95,#96,#97,#98)); +#115= IFCRELDEFINESBYPROPERTIES('0eGQPTHi11yfoIYl1Jjtik',$,$,$,(#104),#114); +#116= IFCPROPERTYSET('2lgz61xSXBf9tsWEBRv4xs',$,'3D Visualization',$,(#101,#102,#103)); +#117= IFCRELDEFINESBYPROPERTIES('3m5KvapTr2pwQqk2M$h6MY',$,$,$,(#104),#116); +#118= IFCALIGNMENT('0CW1agKAf8KPzACZKSrPvw',$,'GCHC',$,'Centerline',#5,#239,.USERDEFINED.); +#119= IFCRELCONTAINEDINSPATIALSTRUCTURE('0svzomgwd7c2Dj_QVGB9xQ',$,$,' Container for Elements',(#118),#9); +#121= IFCPROPERTYSET('1FvxUo0I55c9xMJTR1V3pI',$,'Properties',$,(#38,#40,#41,#42,#43,#44,#47,#49,#50,#51,#52,#53,#54,#55,#56,#57,#58,#59,#60,#61,#62,#63,#64,#65,#66,#67,#69,#70,#123,#124,#125,#126,#127,#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,#144)); +#122= IFCRELDEFINESBYPROPERTIES('2_Jktrl$f0rfB4zZ4vyQw8',$,$,$,(#118),#121); +#123= IFCPROPERTYSINGLEVALUE('CriteriaFileName',$,IFCLABEL(''),$); +#124= IFCPROPERTYSINGLEVALUE('DesignCheckSetName',$,IFCLABEL(''),$); +#125= IFCPROPERTYSINGLEVALUE('EndingStation',$,IFCREAL(387911.758642978),$); +#126= IFCPROPERTYSINGLEVALUE('EndingStationWithEquations',$,IFCREAL(387911.758642978),$); +#127= IFCPROPERTYSINGLEVALUE('HasRoundabout',$,IFCBOOLEAN(.F.),$); +#128= IFCPROPERTYSINGLEVALUE('IsConnectedAlignment',$,IFCBOOLEAN(.F.),$); +#129= IFCPROPERTYSINGLEVALUE('IsOffsetAlignment',$,IFCBOOLEAN(.F.),$); +#130= IFCPROPERTYSINGLEVALUE('IsSiteless',$,IFCBOOLEAN(.T.),$); +#131= IFCPROPERTYSINGLEVALUE('Length',$,IFCREAL(3691.6886429778),$); +#132= IFCPROPERTYSINGLEVALUE('ReferencePointStation',$,IFCREAL(384220.07),$); +#133= IFCPROPERTYSINGLEVALUE('SiteName',$,IFCLABEL(''),$); +#134= IFCPROPERTYSINGLEVALUE('StartingStation',$,IFCREAL(384220.07),$); +#135= IFCPROPERTYSINGLEVALUE('StationIndexIncrement',$,IFCREAL(100.0),$); +#136= IFCPROPERTYSINGLEVALUE('UseDesignCheckSet',$,IFCBOOLEAN(.F.),$); +#137= IFCPROPERTYSINGLEVALUE('UseDesignCriteriaFile',$,IFCBOOLEAN(.F.),$); +#138= IFCPROPERTYSINGLEVALUE('UseDesignSpeed',$,IFCBOOLEAN(.F.),$); +#139= IFCPROPERTYSINGLEVALUE('IsEditable',$,IFCBOOLEAN(.T.),$); +#140= IFCPROPERTYSINGLEVALUE('DisplayName',$,IFCLABEL('Alignment'),$); +#141= IFCPROPERTYSINGLEVALUE('IsUsed',$,IFCBOOLEAN(.T.),$); +#142= IFCPROPERTYSINGLEVALUE('Name',$,IFCLABEL('GCHC'),$); +#143= IFCPROPERTYSINGLEVALUE('StyleName',$,IFCLABEL('C_ALGN_CL (USACE)'),$); +#144= IFCPROPERTYSINGLEVALUE('Bounds',$,IFCLABEL('((41371.2699919405,62385.9830286665,0),(42931.1328109073,63854.0822149697,0))'),$); +#145= IFCPROPERTYSET('3aeX94nmL29evBLs6IoJUA',$,'Miscellaneous',$,(#73,#74,#75,#76,#77,#78)); +#146= IFCRELDEFINESBYPROPERTIES('3mgrWZmxT8DQ_ybA3eQkIk',$,$,$,(#118),#145); +#147= IFCPROPERTYSET('21G6ws5d16YRV7d1QfCP$1',$,'General',$,(#81,#82,#84,#85,#86,#87,#149)); +#148= IFCRELDEFINESBYPROPERTIES('3DMXHgFyX8VQbtik2qGJvf',$,$,$,(#118),#147); +#149= IFCPROPERTYSINGLEVALUE('Layer',$,IFCLABEL('C-ALGN-GCHC'),$); +#150= IFCPROPERTYSET('2Dj7SSWHb0tRAxiGoTCiZg',$,'Geometry',$,(#90,#91,#152)); +#151= IFCRELDEFINESBYPROPERTIES('3eUF_ETgzBpPedQU622vwt',$,$,$,(#118),#150); +#152= IFCPROPERTYSINGLEVALUE('IsPlanar',$,IFCBOOLEAN(.T.),$); +#153= IFCPROPERTYSET('1myM$63a135ew4Pmt_hJ1L',$,'Misc',$,(#95,#97,#98,#155)); +#154= IFCRELDEFINESBYPROPERTIES('15ZhArJxr5a8mMtDmzIdmw',$,$,$,(#118),#153); +#155= IFCPROPERTYSINGLEVALUE('ClassID',$,IFCLABEL('e9320102-0087-4186-8df9-3d5372b7dc57'),$); +#156= IFCPROPERTYSET('03U_174z57KBcCILpbOihP',$,'3D Visualization',$,(#101,#102,#103)); +#157= IFCRELDEFINESBYPROPERTIES('3cRAF_Hq19W9h8D5tJybnn',$,$,$,(#118),#156); +#158= IFCPROPERTYSET('3WCdqLZ6vFbwEL$YQiDIGN',$,'Imported LandXML File [AeccDbAlignment]',$,(#160,#161,#162,#163,#164)); +#159= IFCRELDEFINESBYPROPERTIES('234AS3ZwHCQwJl0ypYXkKi',$,$,$,(#118),#158); +#160= IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2023-06-30 17:36:07'),$); +#161= IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('4REN0.xml'),$); +#162= IFCPROPERTYSINGLEVALUE('[LandXML::File path]',$,IFCLABEL('C:\\WinProjects\\ALG\\'),$); +#163= IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2023-10-21 13:40:07'),$); +#164= IFCPROPERTYSINGLEVALUE('[LandXML::Version]',$,IFCLABEL('1.2'),$); +#165= IFCPROPERTYSET('2mkr5D7sX5n9VnTmOBoW$J',$,'LandXML Attributes [AeccDbAlignment]',$,(#167,#168,#169,#170)); +#166= IFCRELDEFINESBYPROPERTIES('3FJryPzBnDOh35gEE8ZB80',$,$,$,(#118),#165); +#167= IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('3691.688643'),$); +#168= IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCHC'),$); +#169= IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('384220.070000'),$); +#170= IFCPROPERTYSINGLEVALUE('[Alignment::state]',$,IFCLABEL('proposed'),$); +#171= IFCALIGNMENTHORIZONTAL('3$M$nzDVu5s7w59w4um1GK',$,'GCHC',$,$,#5,$); +#172= IFCRELNESTS('3YxO1BimyR2Cy4JHQkTDwm',$,$,$,#118,(#171)); +#173= IFCCARTESIANPOINT((0.26999,1291.93357)); +#174= IFCALIGNMENTHORIZONTALSEGMENT($,$,#173,-0.742491459713325,-888.0,-888.0,484.31607,$,.CIRCULARARC.); +#175= IFCALIGNMENTSEGMENT('01sYLrZIEWnxCa4fAT7GFj',$,$,$,$,#5,#204,#174); +#176= IFCRELNESTS('23YN4lY70c3pptlikA7WEk',$,$,$,#171,(#175,#179,#182,#185,#188,#191)); +#177= IFCCARTESIANPOINT((252.57139,885.54833)); +#178= IFCALIGNMENTHORIZONTALSEGMENT($,$,#177,-1.2878924392028,0.0,0.0,470.76594,$,.LINE.); +#179= IFCALIGNMENTSEGMENT('15xtHfS08b2xUEricZ9Poo',$,$,$,$,#5,#213,#178); +#180= IFCCARTESIANPOINT((383.98348,433.49586)); +#181= IFCALIGNMENTHORIZONTALSEGMENT($,$,#180,-1.28789243920279,600.0,600.0,2142.65595,$,.CIRCULARARC.); +#182= IFCALIGNMENTSEGMENT('3by8aUiXMZsPNxCLZMEIJj',$,$,$,$,#5,#219,#181); +#183= IFCCARTESIANPOINT((1414.20823,993.17624)); +#184= IFCALIGNMENTHORIZONTALSEGMENT($,$,#183,-3.99998449035001,0.0,0.0,354.60322,$,.LINE.); +#185= IFCALIGNMENTSEGMENT('2Peb04_4WKAlDeMXFljvxa',$,$,$,$,#5,#224,#184); +#186= IFCCARTESIANPOINT((1182.41993,1261.53725)); +#187= IFCALIGNMENTHORIZONTALSEGMENT($,$,#186,-3.99998449034999,-589.0,-589.0,239.34745,$,.CIRCULARARC.); +#188= IFCALIGNMENTSEGMENT('1Q1bPggFYFJ0Hx_KjJIOGX',$,$,$,$,#5,#230,#187); +#189= IFCCARTESIANPOINT((1066.53939,1469.08221)); +#190= IFCALIGNMENTHORIZONTALSEGMENT($,$,#189,-4.40634689265299,-589.0,-589.0,0.0,$,.CIRCULARARC.); +#191= IFCALIGNMENTSEGMENT('0Hm6K$nJb6b003nMTBNyaN',$,$,$,$,#5,#236,#190); +#192= IFCAXIS2PLACEMENT2D(#173,#193); +#193= IFCDIRECTION((0.73678631,-0.67612568)); +#194= IFCCARTESIANPOINT((0.0,0.0)); +#195= IFCAXIS2PLACEMENT2D(#194,$); +#196= IFCCIRCLE(#195,888.0); + +#198= IFCGEOMETRICREPRESENTATIONCONTEXT('3D','Model',3,0.0001,#200,#201); +#199= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#200= IFCAXIS2PLACEMENT3D(#199,$,$); +#201= IFCDIRECTION((0.0,1.0)); +#202= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#198,$,.GRAPH_VIEW.,$); + +#204= IFCPRODUCTDEFINITIONSHAPE($,$,(#203)); +#205= IFCAXIS2PLACEMENT2D(#177,#206); +#206= IFCDIRECTION((0.27914528,-0.96024888)); +#207= IFCCARTESIANPOINT((0.0,0.0)); +#208= IFCDIRECTION((1.0,0.0)); +#209= IFCVECTOR(#208,1.0); +#210= IFCLINE(#207,#209); +#211= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#205,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(470.765939775292),#210); +#212= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#211)); +#213= IFCPRODUCTDEFINITIONSHAPE($,$,(#212)); +#214= IFCAXIS2PLACEMENT2D(#180,#215); +#215= IFCDIRECTION((0.27914528,-0.96024888)); +#216= IFCCIRCLE(#195,600.0); +#217= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#214,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(2142.6559536194),#216); +#218= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#217)); +#219= IFCPRODUCTDEFINITIONSHAPE($,$,(#218)); +#220= IFCAXIS2PLACEMENT2D(#183,#221); +#221= IFCDIRECTION((-0.65365536,0.75679236)); +#222= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#220,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(354.603224839993),#210); +#223= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#222)); +#224= IFCPRODUCTDEFINITIONSHAPE($,$,(#223)); +#225= IFCAXIS2PLACEMENT2D(#186,#226); +#226= IFCDIRECTION((-0.65365536,0.75679236)); +#227= IFCCIRCLE(#195,589.0); +#228= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#225,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.40636240230299),#227); +#229= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#228)); +#230= IFCPRODUCTDEFINITIONSHAPE($,$,(#229)); +#231= IFCAXIS2PLACEMENT2D(#189,#232); +#232= IFCDIRECTION((-0.301287,0.9535335)); +#233= IFCCIRCLE(#195,589.0); +#234= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#231,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0),#233); +#235= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#234)); +#236= IFCPRODUCTDEFINITIONSHAPE($,$,(#235)); +#239= IFCPRODUCTDEFINITIONSHAPE($,$,(#238,#937)); +#240= IFCPROPERTYSET('38bWE1n8TFguz5FVq1HxAq',$,'Properties',$,(#38,#40,#41,#42,#43,#44,#47,#49,#50,#51,#52,#53,#54,#55,#56,#57,#58,#59,#60,#61,#62,#63,#64,#65,#66,#67,#69,#70,#123,#124,#125,#126,#127,#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,#144)); +#241= IFCRELDEFINESBYPROPERTIES('2HgN7ZFmn4neswQvG$VJ0e',$,$,$,(#171),#240); +#242= IFCPROPERTYSET('10iJMG5jH6WuixxEFoAJZX',$,'Miscellaneous',$,(#73,#74,#75,#76,#77,#78)); +#243= IFCRELDEFINESBYPROPERTIES('2A6pjZBXvEK8tVAAss6BLk',$,$,$,(#171),#242); +#244= IFCPROPERTYSET('3GtBquLov7NAFUijo1Jg3P',$,'General',$,(#81,#82,#84,#85,#86,#87,#149)); +#245= IFCRELDEFINESBYPROPERTIES('2q6__dLYj3PgbHjxq9OJuc',$,$,$,(#171),#244); +#246= IFCPROPERTYSET('2e$QpxItj37A4W9pFu5g74',$,'Geometry',$,(#90,#91,#152)); +#247= IFCRELDEFINESBYPROPERTIES('1VfnNPwPL7phlZ1JswRZ2F',$,$,$,(#171),#246); +#248= IFCPROPERTYSET('3jDdYenfDF78VyL8IraWlu',$,'Misc',$,(#95,#97,#98,#155)); +#249= IFCRELDEFINESBYPROPERTIES('2hsANbBin4VxWRlx6IORTN',$,$,$,(#171),#248); +#250= IFCPROPERTYSET('120WaqqX5ALAhiNsiK8xOR',$,'3D Visualization',$,(#101,#102,#103)); +#251= IFCRELDEFINESBYPROPERTIES('0AtxAy$ivAtf0vDD8cFc9B',$,$,$,(#171),#250); +#252= IFCPROPERTYSET('1hIttWImv759w29Zann0jQ',$,'Imported LandXML File [AeccDbAlignment]',$,(#160,#161,#162,#163,#164)); +#253= IFCRELDEFINESBYPROPERTIES('2IpSqre8r7qRX6RzUS9iD6',$,$,$,(#171),#252); +#254= IFCPROPERTYSET('12ffD2Kzf2YR52u9jh6F0N',$,'LandXML Attributes [AeccDbAlignment]',$,(#167,#168,#169,#170)); +#255= IFCRELDEFINESBYPROPERTIES('1_$vd19$987Qpx38BpxS$w',$,$,$,(#171),#254); + +#263= IFCPROPERTYSET('3jNCVL6ADDOgR3MiDIz1vV',$,'Pset_Stationing',$,(#265)); +#264= IFCRELDEFINESBYPROPERTIES('3GgnQbvavCHQxC9i$75CK7',$,$,$,(#261),#263); +#265= IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(384220.07),$); + +#291= IFCCARTESIANPOINT((44.024,46.12497,0.0)); +#292= IFCDIRECTION((0.67612568,0.73678631,0.0)); +#293= IFCAXIS2PLACEMENT3D(#291,#259,#292); +#294= IFCPLANAREXTENT(49.4679399727149,5.10914051841746); +#295= IFCTEXTLITERALWITHEXTENT('BP: 3842+20.07',#293,.LEFT.,#294,'top-right'); +#296= IFCCARTESIANPOINT((61.5648,16.5952,0.0)); +#297= IFCDIRECTION((0.96024888,0.27914528,0.0)); +#298= IFCAXIS2PLACEMENT3D(#296,#259,#297); +#299= IFCPLANAREXTENT(49.0586630286494,5.10914051841746); +#300= IFCTEXTLITERALWITHEXTENT('PT: 3847+04.39',#298,.LEFT.,#299,'top-right'); +#301= IFCCARTESIANPOINT((61.5648,16.5952,0.0)); +#302= IFCDIRECTION((0.96024888,0.27914528,0.0)); +#303= IFCAXIS2PLACEMENT3D(#301,#259,#302); +#304= IFCPLANAREXTENT(49.8635743519782,5.17394270122783); +#305= IFCTEXTLITERALWITHEXTENT('PC: 3851+75.15',#303,.LEFT.,#304,'top-right'); +#306= IFCCARTESIANPOINT((-49.06258,-40.72454,0.0)); +#307= IFCDIRECTION((0.75679236,0.65365536,0.0)); +#308= IFCAXIS2PLACEMENT3D(#306,#259,#307); +#309= IFCPLANAREXTENT(48.0832196452933,5.10914051841746); +#310= IFCTEXTLITERALWITHEXTENT('PT: 3873+17.81',#308,.LEFT.,#309,'center'); +#311= IFCCARTESIANPOINT((-49.06258,-40.72454,0.0)); +#312= IFCDIRECTION((0.75679236,0.65365536,0.0)); +#313= IFCAXIS2PLACEMENT3D(#311,#259,#312); +#314= IFCPLANAREXTENT(48.8608458390177,5.17394270122783); +#315= IFCTEXTLITERALWITHEXTENT('PC: 3876+72.41',#313,.LEFT.,#314,'center'); +#316= IFCCARTESIANPOINT((-61.16437,-18.01513,0.0)); +#317= IFCDIRECTION((0.9535335,0.301287,0.0)); +#318= IFCAXIS2PLACEMENT3D(#316,#259,#317); +#319= IFCPLANAREXTENT(49.4236016371078,5.10914051841746); +#320= IFCTEXTLITERALWITHEXTENT('EP: 3879+11.76',#318,.LEFT.,#319,'center'); +#321= IFCCARTESIANPOINTLIST3D(((1.69031,1.84197,0.0),(43.94817,47.89111,0.0)),$); +#322= IFCINDEXEDPOLYCURVE(#321,$,.U.); +#323= IFCCARTESIANPOINTLIST3D(((2.40062,0.69786,0.0),(62.41618,18.14444,0.0)),$); +#324= IFCINDEXEDPOLYCURVE(#323,$,.U.); +#325= IFCCARTESIANPOINTLIST3D(((2.40062,0.69786,0.0),(62.41618,18.14444,0.0)),$); +#326= IFCINDEXEDPOLYCURVE(#325,$,.U.); +#327= IFCCARTESIANPOINTLIST3D(((-1.89198,-1.63414,0.0),(-49.1915,-42.4876,0.0)),$); +#328= IFCINDEXEDPOLYCURVE(#327,$,.U.); +#329= IFCCARTESIANPOINTLIST3D(((-1.89198,-1.63414,0.0),(-49.1915,-42.4876,0.0)),$); +#330= IFCINDEXEDPOLYCURVE(#329,$,.U.); +#331= IFCCARTESIANPOINTLIST3D(((-2.38383,-0.75322,0.0),(-61.97968,-19.58366,0.0)),$); +#332= IFCINDEXEDPOLYCURVE(#331,$,.U.); +#333= IFCGEOMETRICREPRESENTATIONCONTEXT('2D','Plan',2,0.0001,#335,#336); +#334= IFCCARTESIANPOINT((0.0,0.0)); +#335= IFCAXIS2PLACEMENT2D(#334,$); +#336= IFCDIRECTION((0.0,1.0)); +#337= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',*,*,*,*,#333,$,.PLAN_VIEW.,$); +#338= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#295,#322)); +#339= IFCPRODUCTDEFINITIONSHAPE($,$,(#338)); +#340= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#300,#324)); +#341= IFCPRODUCTDEFINITIONSHAPE($,$,(#340)); +#342= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#305,#326)); +#343= IFCPRODUCTDEFINITIONSHAPE($,$,(#342)); +#344= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#310,#328)); +#345= IFCPRODUCTDEFINITIONSHAPE($,$,(#344)); +#346= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#315,#330)); +#347= IFCPRODUCTDEFINITIONSHAPE($,$,(#346)); +#348= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#320,#332)); +#349= IFCPRODUCTDEFINITIONSHAPE($,$,(#348)); +#352= IFCAXIS2PLACEMENTLINEAR(#351,#259,#258); +#353= IFCLINEARPLACEMENT(#5,#352,$); + +#507= IFCCARTESIANPOINT((4.22579,4.60491,0.0)); +#508= IFCDIRECTION((0.73678631,-0.67612568,0.0)); +#509= IFCAXIS2PLACEMENT3D(#507,#259,#508); +#510= IFCPLANAREXTENT(36.4870395634379,5.10914051841746); +#511= IFCTEXTLITERALWITHEXTENT('3842+20.07',#509,.LEFT.,#510,'center'); +#512= IFCCARTESIANPOINT((4.62261,4.20642,0.0)); +#513= IFCDIRECTION((0.67302681,-0.73961808,0.0)); +#514= IFCAXIS2PLACEMENT3D(#512,#259,#513); +#515= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#516= IFCTEXTLITERALWITHEXTENT('3843+00',#514,.LEFT.,#515,'center'); +#517= IFCCARTESIANPOINT((5.06603,3.66031,0.0)); +#518= IFCDIRECTION((0.5856494,-0.81056448,0.0)); +#519= IFCAXIS2PLACEMENT3D(#517,#259,#518); +#520= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#521= IFCTEXTLITERALWITHEXTENT('3844+00',#519,.LEFT.,#520,'center'); +#522= IFCCARTESIANPOINT((5.44527,3.06783,0.0)); +#523= IFCDIRECTION((0.49085286,-0.87124249,0.0)); +#524= IFCAXIS2PLACEMENT3D(#522,#259,#523); +#525= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#526= IFCTEXTLITERALWITHEXTENT('3845+00',#524,.LEFT.,#525,'center'); +#527= IFCCARTESIANPOINT((5.75552,2.43649,0.0)); +#528= IFCDIRECTION((0.38983809,-0.92088341,0.0)); +#529= IFCAXIS2PLACEMENT3D(#527,#259,#528); +#530= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#531= IFCTEXTLITERALWITHEXTENT('3846+00',#529,.LEFT.,#530,'center'); +#532= IFCCARTESIANPOINT((5.99287,1.77428,0.0)); +#533= IFCDIRECTION((-0.28388478,0.9588584,0.0)); +#534= IFCAXIS2PLACEMENT3D(#532,#259,#533); +#535= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#536= IFCTEXTLITERALWITHEXTENT('3847+00',#534,.LEFT.,#535,'top-middle'); +#537= IFCCARTESIANPOINT((6.00156,1.74466,0.0)); +#538= IFCDIRECTION((-0.27914528,0.96024888,0.0)); +#539= IFCAXIS2PLACEMENT3D(#537,#259,#538); +#540= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#541= IFCTEXTLITERALWITHEXTENT('3848+00',#539,.LEFT.,#540,'top-middle'); +#542= IFCCARTESIANPOINT((6.00156,1.74466,0.0)); +#543= IFCDIRECTION((-0.27914528,0.96024888,0.0)); +#544= IFCAXIS2PLACEMENT3D(#542,#259,#543); +#545= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#546= IFCTEXTLITERALWITHEXTENT('3849+00',#544,.LEFT.,#545,'top-middle'); +#547= IFCCARTESIANPOINT((6.00156,1.74466,0.0)); +#548= IFCDIRECTION((-0.27914528,0.96024888,0.0)); +#549= IFCAXIS2PLACEMENT3D(#547,#259,#548); +#550= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#551= IFCTEXTLITERALWITHEXTENT('3850+00',#549,.LEFT.,#550,'top-middle'); +#552= IFCCARTESIANPOINT((6.00156,1.74466,0.0)); +#553= IFCDIRECTION((-0.27914528,0.96024888,0.0)); +#554= IFCAXIS2PLACEMENT3D(#552,#259,#553); +#555= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#556= IFCTEXTLITERALWITHEXTENT('3851+00',#554,.LEFT.,#555,'top-middle'); +#557= IFCCARTESIANPOINT((5.92418,1.99164,0.0)); +#558= IFCDIRECTION((-0.31866166,0.94786853,0.0)); +#559= IFCAXIS2PLACEMENT3D(#557,#259,#558); +#560= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#561= IFCTEXTLITERALWITHEXTENT('3852+00',#559,.LEFT.,#560,'top-middle'); +#562= IFCCARTESIANPOINT((5.51168,2.94684,0.0)); +#563= IFCDIRECTION((0.47149376,-0.8818694,0.0)); +#564= IFCAXIS2PLACEMENT3D(#562,#259,#563); +#565= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#566= IFCTEXTLITERALWITHEXTENT('3853+00',#564,.LEFT.,#565,'center'); +#567= IFCCARTESIANPOINT((4.94644,3.82037,0.0)); +#568= IFCDIRECTION((0.61125911,-0.79143054,0.0)); +#569= IFCAXIS2PLACEMENT3D(#567,#259,#568); +#570= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#571= IFCTEXTLITERALWITHEXTENT('3854+00',#569,.LEFT.,#570,'center'); +#572= IFCCARTESIANPOINT((4.24411,4.58803,0.0)); +#573= IFCDIRECTION((0.7340843,-0.67905835,0.0)); +#574= IFCAXIS2PLACEMENT3D(#572,#259,#573); +#575= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#576= IFCTEXTLITERALWITHEXTENT('3855+00',#574,.LEFT.,#575,'center'); +#577= IFCCARTESIANPOINT((3.42417,5.22853,0.0)); +#578= IFCDIRECTION((0.83656541,-0.54786705,0.0)); +#579= IFCAXIS2PLACEMENT3D(#577,#259,#578); +#580= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#581= IFCTEXTLITERALWITHEXTENT('3856+00',#579,.LEFT.,#580,'center'); +#582= IFCCARTESIANPOINT((2.50933,5.72414,0.0)); +#583= IFCDIRECTION((0.91586235,-0.40149242,0.0)); +#584= IFCAXIS2PLACEMENT3D(#582,#259,#583); +#585= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#586= IFCTEXTLITERALWITHEXTENT('3857+00',#584,.LEFT.,#585,'center'); +#587= IFCCARTESIANPOINT((1.52494,6.06111,0.0)); +#588= IFCDIRECTION((0.96977749,-0.24399101,0.0)); +#589= IFCAXIS2PLACEMENT3D(#587,#259,#588); +#590= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#591= IFCTEXTLITERALWITHEXTENT('3858+00',#589,.LEFT.,#590,'center'); +#592= IFCCARTESIANPOINT((0.4983,6.2301,0.0)); +#593= IFCDIRECTION((0.99681668,-0.07972775,0.0)); +#594= IFCAXIS2PLACEMENT3D(#592,#259,#593); +#595= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#596= IFCTEXTLITERALWITHEXTENT('3859+00',#594,.LEFT.,#595,'center'); +#597= IFCCARTESIANPOINT((-0.54216,6.22644,0.0)); +#598= IFCDIRECTION((0.99623054,0.08674505,0.0)); +#599= IFCAXIS2PLACEMENT3D(#597,#259,#598); +#600= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#601= IFCTEXTLITERALWITHEXTENT('3860+00',#599,.LEFT.,#600,'center'); +#602= IFCCARTESIANPOINT((-1.56759,6.05022,0.0)); +#603= IFCDIRECTION((0.96803534,0.25081384,0.0)); +#604= IFCAXIS2PLACEMENT3D(#602,#259,#603); +#605= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#606= IFCTEXTLITERALWITHEXTENT('3861+00',#604,.LEFT.,#605,'center'); +#607= IFCCARTESIANPOINT((-2.54957,5.70633,0.0)); +#608= IFCDIRECTION((0.91301245,0.40793169,0.0)); +#609= IFCAXIS2PLACEMENT3D(#607,#259,#608); +#610= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#611= IFCTEXTLITERALWITHEXTENT('3862+00',#609,.LEFT.,#610,'center'); +#612= IFCCARTESIANPOINT((-3.4609,5.20429,0.0)); +#613= IFCDIRECTION((0.83268676,0.55374431,0.0)); +#614= IFCAXIS2PLACEMENT3D(#612,#259,#613); +#615= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#616= IFCTEXTLITERALWITHEXTENT('3863+00',#614,.LEFT.,#615,'center'); +#617= IFCCARTESIANPOINT((-4.27632,4.55803,0.0)); +#618= IFCDIRECTION((0.72928437,0.68421072,0.0)); +#619= IFCAXIS2PLACEMENT3D(#617,#259,#618); +#620= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#621= IFCTEXTLITERALWITHEXTENT('3864+00',#619,.LEFT.,#620,'center'); +#622= IFCCARTESIANPOINT((-4.97322,3.78544,0.0)); +#623= IFCDIRECTION((0.60567093,0.79571522,0.0)); +#624= IFCAXIS2PLACEMENT3D(#622,#259,#623); +#625= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#626= IFCTEXTLITERALWITHEXTENT('3865+00',#624,.LEFT.,#625,'center'); +#627= IFCCARTESIANPOINT((-5.5323,2.90795,0.0)); +#628= IFCDIRECTION((0.46527221,0.88516765,0.0)); +#629= IFCAXIS2PLACEMENT3D(#627,#259,#628); +#630= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#631= IFCTEXTLITERALWITHEXTENT('3866+00',#629,.LEFT.,#630,'center'); +#632= IFCCARTESIANPOINT((-5.93806,1.94987,0.0)); +#633= IFCDIRECTION((0.31197916,0.95008895,0.0)); +#634= IFCAXIS2PLACEMENT3D(#632,#259,#633); +#635= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#636= IFCTEXTLITERALWITHEXTENT('3867+00',#634,.LEFT.,#635,'center'); +#637= IFCCARTESIANPOINT((-6.17925,0.93775,0.0)); +#638= IFCDIRECTION((0.15004005,0.98867992,0.0)); +#639= IFCAXIS2PLACEMENT3D(#637,#259,#638); +#640= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#641= IFCTEXTLITERALWITHEXTENT('3868+00',#639,.LEFT.,#640,'center'); +#642= IFCCARTESIANPOINT((-6.24919,-0.10036,0.0)); +#643= IFCDIRECTION((-0.01605719,0.99987107,0.0)); +#644= IFCAXIS2PLACEMENT3D(#642,#259,#643); +#645= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#646= IFCTEXTLITERALWITHEXTENT('3869+00',#644,.LEFT.,#645,'center'); +#647= IFCCARTESIANPOINT((-6.14595,-1.13568,0.0)); +#648= IFCDIRECTION((-0.18170944,0.98335227,0.0)); +#649= IFCAXIS2PLACEMENT3D(#647,#259,#648); +#650= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#651= IFCTEXTLITERALWITHEXTENT('3870+00',#649,.LEFT.,#650,'center'); +#652= IFCCARTESIANPOINT((-5.87238,-2.13954,0.0)); +#653= IFCDIRECTION((0.34232587,-0.93958129,0.0)); +#654= IFCAXIS2PLACEMENT3D(#652,#259,#653); +#655= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#656= IFCTEXTLITERALWITHEXTENT('3871+00',#654,.LEFT.,#655,'top-middle'); +#657= IFCCARTESIANPOINT((-5.43607,-3.0841,0.0)); +#658= IFCDIRECTION((0.49345524,-0.86977119,0.0)); +#659= IFCAXIS2PLACEMENT3D(#657,#259,#658); +#660= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#661= IFCTEXTLITERALWITHEXTENT('3872+00',#659,.LEFT.,#660,'top-middle'); +#662= IFCCARTESIANPOINT((-4.8491,-3.94318,0.0)); +#663= IFCDIRECTION((0.63090922,-0.77585666,0.0)); +#664= IFCAXIS2PLACEMENT3D(#662,#259,#663); +#665= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#666= IFCTEXTLITERALWITHEXTENT('3873+00',#664,.LEFT.,#665,'top-middle'); +#667= IFCCARTESIANPOINT((-4.72995,-4.08535,0.0)); +#668= IFCDIRECTION((0.65365536,-0.75679236,0.0)); +#669= IFCAXIS2PLACEMENT3D(#667,#259,#668); +#670= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#671= IFCTEXTLITERALWITHEXTENT('3874+00',#669,.LEFT.,#670,'top-middle'); +#672= IFCCARTESIANPOINT((-4.72995,-4.08535,0.0)); +#673= IFCDIRECTION((0.65365536,-0.75679236,0.0)); +#674= IFCAXIS2PLACEMENT3D(#672,#259,#673); +#675= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#676= IFCTEXTLITERALWITHEXTENT('3875+00',#674,.LEFT.,#675,'top-middle'); +#677= IFCCARTESIANPOINT((-4.72995,-4.08535,0.0)); +#678= IFCDIRECTION((0.65365536,-0.75679236,0.0)); +#679= IFCAXIS2PLACEMENT3D(#677,#259,#678); +#680= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#681= IFCTEXTLITERALWITHEXTENT('3876+00',#679,.LEFT.,#680,'top-middle'); +#682= IFCCARTESIANPOINT((-4.91605,-3.85939,0.0)); +#683= IFCDIRECTION((0.61750317,-0.78656839,0.0)); +#684= IFCAXIS2PLACEMENT3D(#682,#259,#683); +#685= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#686= IFCTEXTLITERALWITHEXTENT('3877+00',#684,.LEFT.,#685,'top-middle'); +#687= IFCCARTESIANPOINT((-5.49747,-2.97326,0.0)); +#688= IFCDIRECTION((0.47572238,-0.87959548,0.0)); +#689= IFCAXIS2PLACEMENT3D(#687,#259,#688); +#690= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#691= IFCTEXTLITERALWITHEXTENT('3878+00',#689,.LEFT.,#690,'top-middle'); +#692= IFCCARTESIANPOINT((-5.92081,-2.00164,0.0)); +#693= IFCDIRECTION((-0.3202618,0.94732908,0.0)); +#694= IFCAXIS2PLACEMENT3D(#692,#259,#693); +#695= IFCPLANAREXTENT(26.7598908594816,5.10914051841746); +#696= IFCTEXTLITERALWITHEXTENT('3879+00',#694,.LEFT.,#695,'center'); +#697= IFCCARTESIANPOINT((-5.95958,-1.88304,0.0)); +#698= IFCDIRECTION((-0.301287,0.9535335,0.0)); +#699= IFCAXIS2PLACEMENT3D(#697,#259,#698); +#700= IFCPLANAREXTENT(36.4836289222374,5.10914051841746); +#701= IFCTEXTLITERALWITHEXTENT('3879+11.76',#699,.LEFT.,#700,'center'); +#702= IFCCARTESIANPOINTLIST3D(((-1.69031,-1.84197,0.0),(1.69031,1.84197,0.0)),$); +#703= IFCINDEXEDPOLYCURVE(#702,$,.U.); +#704= IFCCARTESIANPOINTLIST3D(((-1.84905,-1.68257,0.0),(1.84905,1.68257,0.0)),$); +#705= IFCINDEXEDPOLYCURVE(#704,$,.U.); +#706= IFCCARTESIANPOINTLIST3D(((-2.02641,-1.46412,0.0),(2.02641,1.46412,0.0)),$); +#707= IFCINDEXEDPOLYCURVE(#706,$,.U.); +#708= IFCCARTESIANPOINTLIST3D(((-2.17811,-1.22713,0.0),(2.17811,1.22713,0.0)),$); +#709= IFCINDEXEDPOLYCURVE(#708,$,.U.); +#710= IFCCARTESIANPOINTLIST3D(((-2.30221,-0.9746,0.0),(2.30221,0.9746,0.0)),$); +#711= IFCINDEXEDPOLYCURVE(#710,$,.U.); +#712= IFCCARTESIANPOINTLIST3D(((-2.39715,-0.70971,0.0),(2.39715,0.70971,0.0)),$); +#713= IFCINDEXEDPOLYCURVE(#712,$,.U.); +#714= IFCCARTESIANPOINTLIST3D(((-2.40062,-0.69786,0.0),(2.40062,0.69786,0.0)),$); +#715= IFCINDEXEDPOLYCURVE(#714,$,.U.); +#716= IFCCARTESIANPOINTLIST3D(((-2.40062,-0.69786,0.0),(2.40062,0.69786,0.0)),$); +#717= IFCINDEXEDPOLYCURVE(#716,$,.U.); +#718= IFCCARTESIANPOINTLIST3D(((-2.40062,-0.69786,0.0),(2.40062,0.69786,0.0)),$); +#719= IFCINDEXEDPOLYCURVE(#718,$,.U.); +#720= IFCCARTESIANPOINTLIST3D(((-2.40062,-0.69786,0.0),(2.40062,0.69786,0.0)),$); +#721= IFCINDEXEDPOLYCURVE(#720,$,.U.); +#722= IFCCARTESIANPOINTLIST3D(((-2.36967,-0.79665,0.0),(2.36967,0.79665,0.0)),$); +#723= IFCINDEXEDPOLYCURVE(#722,$,.U.); +#724= IFCCARTESIANPOINTLIST3D(((-2.20467,-1.17873,0.0),(2.20467,1.17873,0.0)),$); +#725= IFCINDEXEDPOLYCURVE(#724,$,.U.); +#726= IFCCARTESIANPOINTLIST3D(((-1.97858,-1.52815,0.0),(1.97858,1.52815,0.0)),$); +#727= IFCINDEXEDPOLYCURVE(#726,$,.U.); +#728= IFCCARTESIANPOINTLIST3D(((-1.69765,-1.83521,0.0),(1.69765,1.83521,0.0)),$); +#729= IFCINDEXEDPOLYCURVE(#728,$,.U.); +#730= IFCCARTESIANPOINTLIST3D(((-1.36967,-2.09141,0.0),(1.36967,2.09141,0.0)),$); +#731= IFCINDEXEDPOLYCURVE(#730,$,.U.); +#732= IFCCARTESIANPOINTLIST3D(((-1.00373,-2.28966,0.0),(1.00373,2.28966,0.0)),$); +#733= IFCINDEXEDPOLYCURVE(#732,$,.U.); +#734= IFCCARTESIANPOINTLIST3D(((-0.60998,-2.42444,0.0),(0.60998,2.42444,0.0)),$); +#735= IFCINDEXEDPOLYCURVE(#734,$,.U.); +#736= IFCCARTESIANPOINTLIST3D(((-0.19932,-2.49204,0.0),(0.19932,2.49204,0.0)),$); +#737= IFCINDEXEDPOLYCURVE(#736,$,.U.); +#738= IFCCARTESIANPOINTLIST3D(((0.21686,-2.49058,0.0),(-0.21686,2.49058,0.0)),$); +#739= IFCINDEXEDPOLYCURVE(#738,$,.U.); +#740= IFCCARTESIANPOINTLIST3D(((0.62703,-2.42009,0.0),(-0.62703,2.42009,0.0)),$); +#741= IFCINDEXEDPOLYCURVE(#740,$,.U.); +#742= IFCCARTESIANPOINTLIST3D(((1.01983,-2.28253,0.0),(-1.01983,2.28253,0.0)),$); +#743= IFCINDEXEDPOLYCURVE(#742,$,.U.); +#744= IFCCARTESIANPOINTLIST3D(((1.38436,-2.08172,0.0),(-1.38436,2.08172,0.0)),$); +#745= IFCINDEXEDPOLYCURVE(#744,$,.U.); +#746= IFCCARTESIANPOINTLIST3D(((1.71053,-1.82321,0.0),(-1.71053,1.82321,0.0)),$); +#747= IFCINDEXEDPOLYCURVE(#746,$,.U.); +#748= IFCCARTESIANPOINTLIST3D(((1.98929,-1.51418,0.0),(-1.98929,1.51418,0.0)),$); +#749= IFCINDEXEDPOLYCURVE(#748,$,.U.); +#750= IFCCARTESIANPOINTLIST3D(((2.21292,-1.16318,0.0),(-2.21292,1.16318,0.0)),$); +#751= IFCINDEXEDPOLYCURVE(#750,$,.U.); +#752= IFCCARTESIANPOINTLIST3D(((2.37522,-0.77995,0.0),(-2.37522,0.77995,0.0)),$); +#753= IFCINDEXEDPOLYCURVE(#752,$,.U.); +#754= IFCCARTESIANPOINTLIST3D(((2.4717,-0.3751,0.0),(-2.4717,0.3751,0.0)),$); +#755= IFCINDEXEDPOLYCURVE(#754,$,.U.); +#756= IFCCARTESIANPOINTLIST3D(((2.49968,0.04014,0.0),(-2.49968,-0.04014,0.0)),$); +#757= IFCINDEXEDPOLYCURVE(#756,$,.U.); +#758= IFCCARTESIANPOINTLIST3D(((2.45838,0.45427,0.0),(-2.45838,-0.45427,0.0)),$); +#759= IFCINDEXEDPOLYCURVE(#758,$,.U.); +#760= IFCCARTESIANPOINTLIST3D(((2.34895,0.85581,0.0),(-2.34895,-0.85581,0.0)),$); +#761= IFCINDEXEDPOLYCURVE(#760,$,.U.); +#762= IFCCARTESIANPOINTLIST3D(((2.17443,1.23364,0.0),(-2.17443,-1.23364,0.0)),$); +#763= IFCINDEXEDPOLYCURVE(#762,$,.U.); +#764= IFCCARTESIANPOINTLIST3D(((1.93964,1.57727,0.0),(-1.93964,-1.57727,0.0)),$); +#765= IFCINDEXEDPOLYCURVE(#764,$,.U.); +#766= IFCCARTESIANPOINTLIST3D(((1.89198,1.63414,0.0),(-1.89198,-1.63414,0.0)),$); +#767= IFCINDEXEDPOLYCURVE(#766,$,.U.); +#768= IFCCARTESIANPOINTLIST3D(((1.89198,1.63414,0.0),(-1.89198,-1.63414,0.0)),$); +#769= IFCINDEXEDPOLYCURVE(#768,$,.U.); +#770= IFCCARTESIANPOINTLIST3D(((1.89198,1.63414,0.0),(-1.89198,-1.63414,0.0)),$); +#771= IFCINDEXEDPOLYCURVE(#770,$,.U.); +#772= IFCCARTESIANPOINTLIST3D(((1.96642,1.54376,0.0),(-1.96642,-1.54376,0.0)),$); +#773= IFCINDEXEDPOLYCURVE(#772,$,.U.); +#774= IFCCARTESIANPOINTLIST3D(((2.19899,1.18931,0.0),(-2.19899,-1.18931,0.0)),$); +#775= IFCINDEXEDPOLYCURVE(#774,$,.U.); +#776= IFCCARTESIANPOINTLIST3D(((2.36832,0.80065,0.0),(-2.36832,-0.80065,0.0)),$); +#777= IFCINDEXEDPOLYCURVE(#776,$,.U.); +#778= IFCCARTESIANPOINTLIST3D(((2.38383,0.75322,0.0),(-2.38383,-0.75322,0.0)),$); +#779= IFCINDEXEDPOLYCURVE(#778,$,.U.); +#780= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#511,#703)); +#781= IFCPRODUCTDEFINITIONSHAPE($,$,(#780)); +#782= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#516,#705)); +#783= IFCPRODUCTDEFINITIONSHAPE($,$,(#782)); +#784= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#521,#707)); +#785= IFCPRODUCTDEFINITIONSHAPE($,$,(#784)); +#786= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#526,#709)); +#787= IFCPRODUCTDEFINITIONSHAPE($,$,(#786)); +#788= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#531,#711)); +#789= IFCPRODUCTDEFINITIONSHAPE($,$,(#788)); +#790= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#536,#713)); +#791= IFCPRODUCTDEFINITIONSHAPE($,$,(#790)); +#792= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#541,#715)); +#793= IFCPRODUCTDEFINITIONSHAPE($,$,(#792)); +#794= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#546,#717)); +#795= IFCPRODUCTDEFINITIONSHAPE($,$,(#794)); +#796= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#551,#719)); +#797= IFCPRODUCTDEFINITIONSHAPE($,$,(#796)); +#798= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#556,#721)); +#799= IFCPRODUCTDEFINITIONSHAPE($,$,(#798)); +#800= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#561,#723)); +#801= IFCPRODUCTDEFINITIONSHAPE($,$,(#800)); +#802= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#566,#725)); +#803= IFCPRODUCTDEFINITIONSHAPE($,$,(#802)); +#804= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#571,#727)); +#805= IFCPRODUCTDEFINITIONSHAPE($,$,(#804)); +#806= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#576,#729)); +#807= IFCPRODUCTDEFINITIONSHAPE($,$,(#806)); +#808= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#581,#731)); +#809= IFCPRODUCTDEFINITIONSHAPE($,$,(#808)); +#810= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#586,#733)); +#811= IFCPRODUCTDEFINITIONSHAPE($,$,(#810)); +#812= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#591,#735)); +#813= IFCPRODUCTDEFINITIONSHAPE($,$,(#812)); +#814= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#596,#737)); +#815= IFCPRODUCTDEFINITIONSHAPE($,$,(#814)); +#816= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#601,#739)); +#817= IFCPRODUCTDEFINITIONSHAPE($,$,(#816)); +#818= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#606,#741)); +#819= IFCPRODUCTDEFINITIONSHAPE($,$,(#818)); +#820= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#611,#743)); +#821= IFCPRODUCTDEFINITIONSHAPE($,$,(#820)); +#822= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#616,#745)); +#823= IFCPRODUCTDEFINITIONSHAPE($,$,(#822)); +#824= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#621,#747)); +#825= IFCPRODUCTDEFINITIONSHAPE($,$,(#824)); +#826= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#626,#749)); +#827= IFCPRODUCTDEFINITIONSHAPE($,$,(#826)); +#828= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#631,#751)); +#829= IFCPRODUCTDEFINITIONSHAPE($,$,(#828)); +#830= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#636,#753)); +#831= IFCPRODUCTDEFINITIONSHAPE($,$,(#830)); +#832= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#641,#755)); +#833= IFCPRODUCTDEFINITIONSHAPE($,$,(#832)); +#834= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#646,#757)); +#835= IFCPRODUCTDEFINITIONSHAPE($,$,(#834)); +#836= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#651,#759)); +#837= IFCPRODUCTDEFINITIONSHAPE($,$,(#836)); +#838= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#656,#761)); +#839= IFCPRODUCTDEFINITIONSHAPE($,$,(#838)); +#840= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#661,#763)); +#841= IFCPRODUCTDEFINITIONSHAPE($,$,(#840)); +#842= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#666,#765)); +#843= IFCPRODUCTDEFINITIONSHAPE($,$,(#842)); +#844= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#671,#767)); +#845= IFCPRODUCTDEFINITIONSHAPE($,$,(#844)); +#846= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#676,#769)); +#847= IFCPRODUCTDEFINITIONSHAPE($,$,(#846)); +#848= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#681,#771)); +#849= IFCPRODUCTDEFINITIONSHAPE($,$,(#848)); +#850= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#686,#773)); +#851= IFCPRODUCTDEFINITIONSHAPE($,$,(#850)); +#852= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#691,#775)); +#853= IFCPRODUCTDEFINITIONSHAPE($,$,(#852)); +#854= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#696,#777)); +#855= IFCPRODUCTDEFINITIONSHAPE($,$,(#854)); +#856= IFCSHAPEREPRESENTATION(#337,'Annotation','Annotation2D',(#701,#779)); +#857= IFCPRODUCTDEFINITIONSHAPE($,$,(#856)); + +#878= IFCCARTESIANPOINT((-0.00002,753.74663)); +#879= IFCDIRECTION((0.9996697,-0.02569998)); +#880= IFCAXIS2PLACEMENT2D(#878,#879); +#881= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#880,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(405.063816950595),#210); +#882= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#881)); +#883= IFCPRODUCTDEFINITIONSHAPE($,$,(#882)); +#884= IFCCARTESIANPOINT((404.93,743.3365)); +#885= IFCDIRECTION((0.9996697,-0.02569998)); +#886= IFCAXIS2PLACEMENT2D(#884,#885); +#887= IFCPOLYNOMIALCURVE(#195,(0.0,1.0),(743.336496858572,-0.025708472964367,0.00005126516791202),$); +#888= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#886,IFCPARAMETERVALUE(0.0),IFCPARAMETERVALUE(700.0),#887); +#889= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#888)); +#890= IFCPRODUCTDEFINITIONSHAPE($,$,(#889)); +#891= IFCCARTESIANPOINT((1104.93,750.4605)); +#892= IFCDIRECTION((0.9989408,0.04601397)); +#893= IFCAXIS2PLACEMENT2D(#891,#892); +#894= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#893,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(640.678609203308),#210); +#895= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#894)); +#896= IFCPRODUCTDEFINITIONSHAPE($,$,(#895)); +#897= IFCCARTESIANPOINT((1744.93,779.94067)); +#898= IFCDIRECTION((0.9989408,0.04601397)); +#899= IFCAXIS2PLACEMENT2D(#897,#898); +#900= IFCPOLYNOMIALCURVE(#195,(0.0,1.0),(779.940665812384,0.0460627621124687,-0.00004809037839767),$); +#901= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#899,IFCPARAMETERVALUE(0.0),IFCPARAMETERVALUE(900.0),#900); +#902= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#901)); +#903= IFCPRODUCTDEFINITIONSHAPE($,$,(#902)); +#904= IFCCARTESIANPOINT((2644.93,782.44395)); +#905= IFCDIRECTION((0.99918089,-0.04046674)); +#906= IFCAXIS2PLACEMENT2D(#904,#905); +#907= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#906,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(380.311518564231),#210); +#908= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#907)); +#909= IFCPRODUCTDEFINITIONSHAPE($,$,(#908)); +#910= IFCCARTESIANPOINT((3024.93,767.05398)); +#911= IFCDIRECTION((0.99918089,-0.04046674)); +#912= IFCAXIS2PLACEMENT2D(#910,#911); +#913= IFCPOLYNOMIALCURVE(#195,(0.0,1.0),(767.053975990229,-0.0404999190033301,0.00002726393282061),$); +#914= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#912,IFCPARAMETERVALUE(0.0),IFCPARAMETERVALUE(430.0),#913); +#915= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#914)); +#916= IFCPRODUCTDEFINITIONSHAPE($,$,(#915)); +#917= IFCCARTESIANPOINT((3454.93,754.68011)); +#918= IFCDIRECTION((0.99985463,-0.01705046)); +#919= IFCAXIS2PLACEMENT2D(#917,#918); +#920= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#919,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(15.0022308685998),#210); +#921= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#920)); +#922= IFCPRODUCTDEFINITIONSHAPE($,$,(#921)); +#923= IFCCARTESIANPOINT((3469.93005,754.42432)); +#924= IFCDIRECTION((0.99985463,-0.01705046)); +#925= IFCAXIS2PLACEMENT2D(#923,#924); +#926= IFCPOLYNOMIALCURVE(#195,(0.0,1.0),(754.424317093019,-0.0170529367775977,0.00006179737906899),$); +#927= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#925,IFCPARAMETERVALUE(0.0),IFCPARAMETERVALUE(219.999900000053),#926); +#928= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#927)); +#929= IFCPRODUCTDEFINITIONSHAPE($,$,(#928)); +#930= IFCCARTESIANPOINT((3689.92995,753.66366)); +#931= IFCDIRECTION((0.99994862,0.01013738)); +#932= IFCAXIS2PLACEMENT2D(#930,#931); +#933= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#932,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(1.7587880479315),#210); +#934= IFCSHAPEREPRESENTATION(#202,'Axis','Segment',(#933)); +#935= IFCPRODUCTDEFINITIONSHAPE($,$,(#934)); +#936= IFCGRADIENTCURVE((#881,#888,#894,#901,#907,#914,#920,#927,#933),.U.,#237,$); +#937= IFCSHAPEREPRESENTATION(#202,'Axis','Curve3D',(#133701)); +#938= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#198,$,.MODEL_VIEW.,$); +#939= IFCPROPERTYSET('2RSaYHnxH4Ww0aWUrBMtbK',$,'Properties',$,(#38,#40,#41,#42,#43,#44,#47,#49,#50,#51,#52,#53,#54,#55,#56,#57,#58,#59,#60,#61,#62,#63,#64,#65,#66,#67,#69,#70,#136,#137,#139,#141,#142,#941,#942,#943,#944,#945,#946,#947,#948,#949,#950)); +#940= IFCRELDEFINESBYPROPERTIES('1QdurdUt9EegMzHQI$BUsy',$,$,$,(#858),#939); +#941= IFCPROPERTYSINGLEVALUE('DesignSpeedBased',$,IFCBOOLEAN(.F.),$); +#942= IFCPROPERTYSINGLEVALUE('ElevationMax',$,IFCREAL(790.970824672253),$); +#943= IFCPROPERTYSINGLEVALUE('ElevationMin',$,IFCREAL(740.11342352692),$); +#944= IFCPROPERTYSINGLEVALUE('EndingStation',$,IFCREAL(387911.758647673),$); +#945= IFCPROPERTYSINGLEVALUE('Length',$,IFCREAL(3691.68867242092),$); +#946= IFCPROPERTYSINGLEVALUE('Offset',$,IFCREAL(0.0),$); +#947= IFCPROPERTYSINGLEVALUE('Plinegen',$,IFCBOOLEAN(.T.),$); +#948= IFCPROPERTYSINGLEVALUE('StartingStation',$,IFCREAL(384220.069975253),$); +#949= IFCPROPERTYSINGLEVALUE('DisplayName',$,IFCLABEL('Profile'),$); +#950= IFCPROPERTYSINGLEVALUE('StyleName',$,IFCLABEL('C_PROF_Grade (USACE)'),$); +#951= IFCPROPERTYSET('2gLCAvgY97bB8Fw0e2tXTo',$,'Miscellaneous',$,(#73,#74,#75,#76,#77,#78)); +#952= IFCRELDEFINESBYPROPERTIES('2C8g_Jyhr6XgduifKztPzE',$,$,$,(#858),#951); +#953= IFCPROPERTYSET('2srxYhbrL8je0tdScyxaej',$,'General',$,(#81,#82,#84,#85,#86,#87,#955)); +#954= IFCRELDEFINESBYPROPERTIES('0RrecFyPT8eQRrdpfxujoa',$,$,$,(#858),#953); +#955= IFCPROPERTYSINGLEVALUE('Layer',$,IFCLABEL('C-PROF'),$); +#956= IFCPROPERTYSET('0$eYHS2oXBBv8JhujJAkYd',$,'Geometry',$,(#90,#91,#152)); +#957= IFCRELDEFINESBYPROPERTIES('392zo3BzL9$fTPUavxiybP',$,$,$,(#858),#956); +#958= IFCPROPERTYSET('0JMwfv0vr8UvUji5U5JUmN',$,'Misc',$,(#95,#97,#98,#960)); +#959= IFCRELDEFINESBYPROPERTIES('3RiotOUmzAqAgtxOQxck8k',$,$,$,(#858),#958); +#960= IFCPROPERTYSINGLEVALUE('ClassID',$,IFCLABEL('e932012a-0087-4186-8df9-3d5372b7dc57'),$); +#961= IFCPROPERTYSET('25tXx4BY19AQQTReZqXnnu',$,'3D Visualization',$,(#101,#102,#103)); +#962= IFCRELDEFINESBYPROPERTIES('0SwRwR3GX73emb1o4pByD_',$,$,$,(#858),#961); +#963= IFCORGANIZATION($,'Unknown',$,$,$); + +#133700=IFCCARTESIANPOINTLIST3D(((0.269999999996799,1291.9336,753.7466),(252.571400000001,885.548300000002,741.6187),(252.571400000001,885.548300000002,741.6187),(383.983500000002,433.495900000002,744.7092),(383.983500000002,433.495900000002,744.7092),(1414.2082,993.176200000002,764.2498),(1414.2082,993.176200000002,764.2498),(1182.4199,1261.5373,754.7244),(1182.4199,1261.5373,754.7244),(1066.5394,1469.0822,753.6815),(21.9767999999967,1271.3294,752.9772),(56.6512000000002,1235.3151,751.6918),(89.2439999999988,1197.4066,750.4063),(119.651599999997,1157.724,749.1209),(147.777999999998,1116.393,747.8355),(173.5337,1073.5447,746.5501),(196.837299999999,1029.3148,745.2646),(217.6149,983.8436,743.9792),(235.800499999998,937.275099999999,742.7258),(251.336600000002,889.756999999998,741.6967),(265.304300000003,841.747600000002,740.924),(279.261599999998,793.735200000003,740.4075),(293.218800000002,745.722699999998,740.1474),(307.176099999997,697.710299999999,740.1436),(321.133399999999,649.697800000002,740.3961),(335.090600000003,601.685400000002,740.905),(349.047899999998,553.672899999998,741.6702),(363.0052,505.660499999998,742.6917),(376.962399999997,457.648099999999,743.9695),(391.411699999997,409.786,745.5037),(409.299899999998,363.1109,747.2942),(431.011200000001,318.086799999997,749.341),(456.394800000002,275.025999999998,751.6121),(485.2745,234.227599999998,753.9152),(517.4499,195.974499999997,756.2183),(552.697800000002,160.532500000001,758.5215),(590.773399999998,128.147299999997,760.8246),(631.412600000003,99.0437999999995,763.1278),(674.333200000001,73.4239999999991,765.4309),(719.237399999998,51.4656000000032,767.734),(765.813499999997,33.3211999999985,770.0372),(813.7382,19.1164999999964,772.3403),(862.678999999996,8.95029999999679,774.6434),(912.296199999997,2.89299999999639,776.9466),(962.245300000002,0.986700000001292,779.2497),(1012.1798,3.24470000000292,781.494),(1061.7531,9.65120000000024,783.5085),(1110.6211,20.1618000000017,785.2827),(1158.4447,34.7036000000007,786.8164),(1204.8918,53.1756000000023,788.1096),(1249.6403,75.4495999999999,789.1624),(1292.3794,101.370999999999,789.9747),(1332.8126,130.759899999997,790.5466),(1370.6592,163.412400000001,790.8781),(1405.6567,199.101799999997,790.969),(1437.5619,237.580499999996,790.8196),(1466.1537,278.581299999998,790.4297),(1491.2334,321.8197,789.7993),(1512.6271,366.995600000002,788.9285),(1530.1862,413.7955,787.8172),(1543.7889,461.8946,786.4654),(1553.3408,510.959000000003,784.8733),(1558.7755,560.648200000003,783.0406),(1560.0555,610.617299999998,781.0264),(1557.1717,660.5196,779.0015),(1550.1442,710.008699999998,776.9765),(1539.0217,758.741099999999,774.9515),(1523.8816,806.378599999996,772.9265),(1504.8288,852.590499999998,770.9015),(1481.9955,897.056199999999,768.8765),(1455.5403,939.466999999997,766.8522),(1425.6468,979.528599999998,764.909),(1393.1657,1017.5389,763.1021),(1360.483,1055.3785,761.4315),(1327.8002,1093.2182,759.8973),(1295.1174,1131.0578,758.4993),(1262.4347,1168.8974,757.2377),(1229.7519,1206.737,756.1124),(1197.0691,1244.5766,755.1235),(1164.8818,1282.8309,754.26),(1135.712,1323.4218,753.6236),(1110.0889,1366.3398,753.2962),(1088.1969,1411.2757,753.2779),(1070.1938,1457.9061,753.5685)),$); +#133701=IFCINDEXEDPOLYCURVE(#133700,$,.F.); +ENDSEC; + +END-ISO-10303-21; diff --git a/test/files/ala001/fail-ala001-scenario04-polyline_order_3.ifc b/test/files/alb021/fail-alb021-scenario04-polyline_order_3.ifc similarity index 99% rename from test/files/ala001/fail-ala001-scenario04-polyline_order_3.ifc rename to test/files/alb021/fail-alb021-scenario04-polyline_order_3.ifc index 73160482..3a54c410 100644 --- a/test/files/ala001/fail-ala001-scenario04-polyline_order_3.ifc +++ b/test/files/alb021/fail-alb021-scenario04-polyline_order_3.ifc @@ -1,12 +1,12 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); -FILE_NAME('2023-10-21T13:41:35',('redacted'),('Unknown'),'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16','Civil 3D 2023 IfcInfra Plugin v13.5.60.0','None',$); +FILE_NAME('fail-alb021-scenario04-polyline_order_3.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'redacted', 'redacted', 'None'); FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; -#1=IFCORGANIZATION($,'Autodesk',$,$,$); -#2=IFCAPPLICATION(#1,'Civil 3D 2023','Civil 3D','Civil 3D 2023 IfcInfra Plugin v13.5.60.0'); +#1=IFCORGANIZATION($,'redacted',$,$,$); +#2=IFCAPPLICATION(#1,'redacted','redacted','redacted'); #3=IFCCARTESIANPOINT((0.0,0.0,0.0)); #4=IFCAXIS2PLACEMENT3D(#3,$,$); #5=IFCLOCALPLACEMENT($,#29); diff --git a/test/files/ala001/fail-ala001-scenario05-composite_curve_axis.ifc b/test/files/alb021/fail-alb021-scenario05-composite_curve_axis.ifc similarity index 99% rename from test/files/ala001/fail-ala001-scenario05-composite_curve_axis.ifc rename to test/files/alb021/fail-alb021-scenario05-composite_curve_axis.ifc index 514bef42..91df452c 100644 --- a/test/files/ala001/fail-ala001-scenario05-composite_curve_axis.ifc +++ b/test/files/alb021/fail-alb021-scenario05-composite_curve_axis.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb021-scenario05-composite_curve_axis.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala001/fail-ala001-scenario06-gradient_curve.ifc b/test/files/alb021/fail-alb021-scenario06-gradient_curve.ifc similarity index 99% rename from test/files/ala001/fail-ala001-scenario06-gradient_curve.ifc rename to test/files/alb021/fail-alb021-scenario06-gradient_curve.ifc index 57ac0031..42bf815f 100644 --- a/test/files/ala001/fail-ala001-scenario06-gradient_curve.ifc +++ b/test/files/alb021/fail-alb021-scenario06-gradient_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb021-scenario06-gradient_curve.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/pass-ala002-segment_count_h.ifc b/test/files/alb021/pass-alb021-composite_curve.ifc similarity index 99% rename from test/files/ala002/pass-ala002-segment_count_h.ifc rename to test/files/alb021/pass-alb021-composite_curve.ifc index 21564871..d7c750ba 100644 --- a/test/files/ala002/pass-ala002-segment_count_h.ifc +++ b/test/files/alb021/pass-alb021-composite_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb021-composite_curve.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/pass-ala002-segment_count_h+v.ifc b/test/files/alb021/pass-alb021-gradient_curve.ifc similarity index 99% rename from test/files/ala002/pass-ala002-segment_count_h+v.ifc rename to test/files/alb021/pass-alb021-gradient_curve.ifc index 27816c86..a9326423 100644 --- a/test/files/ala002/pass-ala002-segment_count_h+v.ifc +++ b/test/files/alb021/pass-alb021-gradient_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb021-gradient_curve.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala001/pass-ala001-polycurve_arcs_order_2.ifc b/test/files/alb021/pass-alb021-polycurve_arcs_order_2.ifc similarity index 99% rename from test/files/ala001/pass-ala001-polycurve_arcs_order_2.ifc rename to test/files/alb021/pass-alb021-polycurve_arcs_order_2.ifc index 07db26b6..ab731b59 100644 --- a/test/files/ala001/pass-ala001-polycurve_arcs_order_2.ifc +++ b/test/files/alb021/pass-alb021-polycurve_arcs_order_2.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); -FILE_NAME('redacted.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16', 'Civil 3D 2023 IfcInfra Plugin v13.5.60.0', 'None'); +FILE_NAME('pass-alb021-polycurve_arcs_order_2.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16', 'Civil 3D 2023 IfcInfra Plugin v13.5.60.0', 'None'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; diff --git a/test/files/ala001/pass-ala001-polycurve_linear_order_3.ifc b/test/files/alb021/pass-alb021-polycurve_linear_order_3.ifc similarity index 99% rename from test/files/ala001/pass-ala001-polycurve_linear_order_3.ifc rename to test/files/alb021/pass-alb021-polycurve_linear_order_3.ifc index 1d91b67f..fcaa3c06 100644 --- a/test/files/ala001/pass-ala001-polycurve_linear_order_3.ifc +++ b/test/files/alb021/pass-alb021-polycurve_linear_order_3.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); -FILE_NAME( 'redacted.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16', 'Civil 3D 2023 IfcInfra Plugin v13.5.60.0', 'None'); +FILE_NAME( 'pass-alb021-polycurve_linear_order_3.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16', 'Civil 3D 2023 IfcInfra Plugin v13.5.60.0', 'None'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; diff --git a/test/files/ala001/pass-ala001-polyline_order_2.ifc b/test/files/alb021/pass-alb021-polyline_order_2.ifc similarity index 99% rename from test/files/ala001/pass-ala001-polyline_order_2.ifc rename to test/files/alb021/pass-alb021-polyline_order_2.ifc index e19829ff..aee5ba70 100644 --- a/test/files/ala001/pass-ala001-polyline_order_2.ifc +++ b/test/files/alb021/pass-alb021-polyline_order_2.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); -FILE_NAME('2023-10-21T13:41:35',('redacted'),('Unknown'),'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16','Civil 3D 2023 IfcInfra Plugin v13.5.60.0','None',$); +FILE_NAME( 'pass-alb021-polyline_order_2.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16', 'Civil 3D 2023 IfcInfra Plugin v13.5.60.0', 'None'); FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala001/pass-ala001-polyline-order-3.ifc b/test/files/alb021/pass-alb021-polyline_order_3.ifc similarity index 99% rename from test/files/ala001/pass-ala001-polyline-order-3.ifc rename to test/files/alb021/pass-alb021-polyline_order_3.ifc index 70869976..cc5521c2 100644 --- a/test/files/ala001/pass-ala001-polyline-order-3.ifc +++ b/test/files/alb021/pass-alb021-polyline_order_3.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); -FILE_NAME('2023-10-21T13:41:35',('redacted'),('Unknown'),'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16','Civil 3D 2023 IfcInfra Plugin v13.5.60.0','None',$); +FILE_NAME( 'pass-alb021-polyline_order_3.ifc', '2023-10-21T13:41:35', ('redacted'), ('Unknown'), 'GeometryGymIFCcore v0.2.19.0 by Geometry Gym Pty Ltd built 2023-09-25T03:29:16', 'Civil 3D 2023 IfcInfra Plugin v13.5.60.0', 'None'); FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/pass-ala002-segment_count_h+v+c.ifc b/test/files/alb021/pass-alb021-segmented_reference_curve.ifc similarity index 99% rename from test/files/ala002/pass-ala002-segment_count_h+v+c.ifc rename to test/files/alb021/pass-alb021-segmented_reference_curve.ifc index fe0c5a8e..98398ead 100644 --- a/test/files/ala002/pass-ala002-segment_count_h+v+c.ifc +++ b/test/files/alb021/pass-alb021-segmented_reference_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb021-segmented_reference_curve.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/README.md b/test/files/alb022/README.md similarity index 61% rename from test/files/ala002/README.md rename to test/files/alb022/README.md index 77567786..299af503 100644 --- a/test/files/ala002/README.md +++ b/test/files/alb022/README.md @@ -2,17 +2,17 @@ | File name | Expected result | Description | | --- | --- | --- | -| pass-ala002-segment\_count\_h+v+c.ifc | pass | NaN | -| pass-ala002-business\_logic\_only.ifc | pass | NaN | -| pass-ala002-representation\_only.ifc | pass | NaN | -| pass-ala002-helmert\_curve.ifc | pass | NaN | -| pass-ala002-segment\_count\_h.ifc | pass | NaN | -| pass-ala002-segment\_count\_h+v.ifc | pass | NaN | -| fail-ala002-scenario01-segment\_count\_horizontal\_logic.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 8 segments in business logic and 10 segments in representation'} | -| fail-ala002-scenario02-segment\_count\_vertical\_logic.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 4 segments in business logic and 6 segments in representation'} | -| fail-ala002-scenario01-segment\_count\_horizontal\_geometry.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 10 segments in business logic and 8 segments in representation'} | -| fail-ala002-scenario01-helmert\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 3 segments in business logic and 2 segments in representation'} | -| fail-ala002-scenario03-segment\_count\_cant\_geometry.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 10 segments in business logic and 8 segments in representation'} | -| fail-ala002-scenario03-segment\_count\_cant\_logic.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 7 segments in business logic and 10 segments in representation'} | -| fail-ala002-scenario02-segment\_count\_vertical\_geometry.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 6 segments in business logic and 4 segments in representation'} | +| pass-alb022-segment\_count\_h+v+c.ifc | pass | NaN | +| pass-alb022-business\_logic\_only.ifc | pass | NaN | +| pass-alb022-representation\_only.ifc | pass | NaN | +| pass-alb022-helmert\_curve.ifc | pass | NaN | +| pass-alb022-segment\_count\_h.ifc | pass | NaN | +| pass-alb022-segment\_count\_h+v.ifc | pass | NaN | +| fail-alb022-scenario01-segment\_count\_horizontal\_logic.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 8 segments in business logic and 10 segments in representation'} | +| fail-alb022-scenario02-segment\_count\_vertical\_logic.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 4 segments in business logic and 6 segments in representation'} | +| fail-alb022-scenario01-segment\_count\_horizontal\_geometry.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 10 segments in business logic and 8 segments in representation'} | +| fail-alb022-scenario01-helmert\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 3 segments in business logic and 2 segments in representation'} | +| fail-alb022-scenario03-segment\_count\_cant\_geometry.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 10 segments in business logic and 8 segments in representation'} | +| fail-alb022-scenario03-segment\_count\_cant\_logic.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 7 segments in business logic and 10 segments in representation'} | +| fail-alb022-scenario02-segment\_count\_vertical\_geometry.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: same count of segments', 'Observed': 'value: 6 segments in business logic and 4 segments in representation'} | diff --git a/test/files/ala002/fail-ala002-scenario01-helmert_curve.ifc b/test/files/alb022/fail-alb022-scenario01-helmert_curve.ifc similarity index 99% rename from test/files/ala002/fail-ala002-scenario01-helmert_curve.ifc rename to test/files/alb022/fail-alb022-scenario01-helmert_curve.ifc index 203bb3cc..bf411b34 100755 --- a/test/files/ala002/fail-ala002-scenario01-helmert_curve.ifc +++ b/test/files/alb022/fail-alb022-scenario01-helmert_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [CoordinationView]'), '2;1'); -FILE_NAME ('fail-ala002-helmert_curve.ifc', '2024-03-14T:00:00', ('redacted'), ('redacted'), 'redacted', 'redacted', ''); +FILE_NAME ('fail-alb022-helmert_curve.ifc', '2024-03-14T:00:00', ('redacted'), ('redacted'), 'redacted', 'redacted', ''); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/fail-ala002-scenario01-segment_count_horizontal_geometry.ifc b/test/files/alb022/fail-alb022-scenario01-segment_count_horizontal_geometry.ifc similarity index 99% rename from test/files/ala002/fail-ala002-scenario01-segment_count_horizontal_geometry.ifc rename to test/files/alb022/fail-alb022-scenario01-segment_count_horizontal_geometry.ifc index 77a177b2..b17c347e 100644 --- a/test/files/ala002/fail-ala002-scenario01-segment_count_horizontal_geometry.ifc +++ b/test/files/alb022/fail-alb022-scenario01-segment_count_horizontal_geometry.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-abl022-scenario01-segment_count_horizontal_geometry.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/fail-ala002-scenario01-segment_count_horizontal_logic.ifc b/test/files/alb022/fail-alb022-scenario01-segment_count_horizontal_logic.ifc similarity index 99% rename from test/files/ala002/fail-ala002-scenario01-segment_count_horizontal_logic.ifc rename to test/files/alb022/fail-alb022-scenario01-segment_count_horizontal_logic.ifc index b2cbe47a..fd0572c8 100644 --- a/test/files/ala002/fail-ala002-scenario01-segment_count_horizontal_logic.ifc +++ b/test/files/alb022/fail-alb022-scenario01-segment_count_horizontal_logic.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb022-scenario01-segment_count_horizontal_logic.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/fail-ala002-scenario02-segment_count_vertical_geometry.ifc b/test/files/alb022/fail-alb022-scenario02-segment_count_vertical_geometry.ifc similarity index 99% rename from test/files/ala002/fail-ala002-scenario02-segment_count_vertical_geometry.ifc rename to test/files/alb022/fail-alb022-scenario02-segment_count_vertical_geometry.ifc index 5811a925..b1b0fed7 100644 --- a/test/files/ala002/fail-ala002-scenario02-segment_count_vertical_geometry.ifc +++ b/test/files/alb022/fail-alb022-scenario02-segment_count_vertical_geometry.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb022-scenario02-segment_count_vertical_geometry.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/fail-ala002-scenario02-segment_count_vertical_logic.ifc b/test/files/alb022/fail-alb022-scenario02-segment_count_vertical_logic.ifc similarity index 99% rename from test/files/ala002/fail-ala002-scenario02-segment_count_vertical_logic.ifc rename to test/files/alb022/fail-alb022-scenario02-segment_count_vertical_logic.ifc index 05d4f3a2..987ba58b 100644 --- a/test/files/ala002/fail-ala002-scenario02-segment_count_vertical_logic.ifc +++ b/test/files/alb022/fail-alb022-scenario02-segment_count_vertical_logic.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb022-scenario02-segment_count_vertical_logic.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/fail-ala002-scenario03-segment_count_cant_geometry.ifc b/test/files/alb022/fail-alb022-scenario03-segment_count_cant_geometry.ifc similarity index 99% rename from test/files/ala002/fail-ala002-scenario03-segment_count_cant_geometry.ifc rename to test/files/alb022/fail-alb022-scenario03-segment_count_cant_geometry.ifc index 185e963e..1db42eaa 100644 --- a/test/files/ala002/fail-ala002-scenario03-segment_count_cant_geometry.ifc +++ b/test/files/alb022/fail-alb022-scenario03-segment_count_cant_geometry.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb022-scenario03-segment_count_cant_geometry.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/fail-ala002-scenario03-segment_count_cant_logic.ifc b/test/files/alb022/fail-alb022-scenario03-segment_count_cant_logic.ifc similarity index 99% rename from test/files/ala002/fail-ala002-scenario03-segment_count_cant_logic.ifc rename to test/files/alb022/fail-alb022-scenario03-segment_count_cant_logic.ifc index ad2415f0..b6fc2257 100644 --- a/test/files/ala002/fail-ala002-scenario03-segment_count_cant_logic.ifc +++ b/test/files/alb022/fail-alb022-scenario03-segment_count_cant_logic.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb022-scenario03-segment_count_cant_logic.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/pass-ala003-representation_only.ifc b/test/files/alb022/na-alb022-representation_only.ifc similarity index 99% rename from test/files/ala003/pass-ala003-representation_only.ifc rename to test/files/alb022/na-alb022-representation_only.ifc index a7a2ade3..0fef24a2 100644 --- a/test/files/ala003/pass-ala003-representation_only.ifc +++ b/test/files/alb022/na-alb022-representation_only.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('na-alb022-representation_only.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/pass-ala002-business_logic_only.ifc b/test/files/alb022/pass-alb022-business_logic_only.ifc similarity index 99% rename from test/files/ala002/pass-ala002-business_logic_only.ifc rename to test/files/alb022/pass-alb022-business_logic_only.ifc index 9cb11ff7..52da48b7 100644 --- a/test/files/ala002/pass-ala002-business_logic_only.ifc +++ b/test/files/alb022/pass-alb022-business_logic_only.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb022-business_logic_only.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala002/pass-ala002-helmert_curve.ifc b/test/files/alb022/pass-alb022-helmert_curve.ifc similarity index 94% rename from test/files/ala002/pass-ala002-helmert_curve.ifc rename to test/files/alb022/pass-alb022-helmert_curve.ifc index 14be0b63..42ad3a47 100755 --- a/test/files/ala002/pass-ala002-helmert_curve.ifc +++ b/test/files/alb022/pass-alb022-helmert_curve.ifc @@ -1,15 +1,15 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [CoordinationView]'), '2;1'); -FILE_NAME ('example-single-transition-curve.ifc', '2022-02-22T22:00:00', ('IFC Rail Technical Services'), ('buildingSMART International RailwayRoom'), 'RDF Ltd. (https://rdf.bg/)', '2019.1.1995.0', ''); +FILE_NAME ('pass-alb022-helmert_curve.ifc', '2022-02-22T22:00:00', ('redacted'), ('redacted'), 'redacted', 'redacted', ''); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; #1 = IFCPROJECT('1FNFy8AJeHwwz7wDZHIYIu', #3, 'IFC Rail Referencedata', 'Rail alignment sample', $, 'Longname', 'Design', $, #9); -#2 = IFCAPPLICATION(#5, '2019.1.1995.0', 'IFCRAIL', 'https://rdf.bg/'); +#2 = IFCAPPLICATION(#5, 'redacted', 'redacted', 'redacted'); #3 = IFCOWNERHISTORY(#6, #2, $, .ADDED., 1320688800, $, $, 1320688800); -#4 = IFCPERSON('TS', 'IFC Rail Technical Services', $, $, $, $, $, $); -#5 = IFCORGANIZATION('bsI RWR', 'buildingSmart International Railway Room', $, $, $); +#4 = IFCPERSON('TS', 'redacted', $, $, $, $, $, $); +#5 = IFCORGANIZATION('redacted', 'redacted', $, $, $); #6 = IFCPERSONANDORGANIZATION(#4, #5, $); #7 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); #8 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); diff --git a/test/files/ala001/pass-ala001-segmented_reference_curve.ifc b/test/files/alb022/pass-alb022-segment_count_h+v+c.ifc similarity index 99% rename from test/files/ala001/pass-ala001-segmented_reference_curve.ifc rename to test/files/alb022/pass-alb022-segment_count_h+v+c.ifc index fe0c5a8e..101f2f4b 100644 --- a/test/files/ala001/pass-ala001-segmented_reference_curve.ifc +++ b/test/files/alb022/pass-alb022-segment_count_h+v+c.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb022-segment_count_h+v+c.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala001/pass-ala001-gradient_curve.ifc b/test/files/alb022/pass-alb022-segment_count_h+v.ifc similarity index 99% rename from test/files/ala001/pass-ala001-gradient_curve.ifc rename to test/files/alb022/pass-alb022-segment_count_h+v.ifc index 27816c86..7c8c472a 100644 --- a/test/files/ala001/pass-ala001-gradient_curve.ifc +++ b/test/files/alb022/pass-alb022-segment_count_h+v.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb022-segment_count_h+v.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala001/pass-ala001-composite_curve.ifc b/test/files/alb022/pass-alb022-segment_count_h.ifc similarity index 99% rename from test/files/ala001/pass-ala001-composite_curve.ifc rename to test/files/alb022/pass-alb022-segment_count_h.ifc index 21564871..b552623c 100644 --- a/test/files/ala001/pass-ala001-composite_curve.ifc +++ b/test/files/alb022/pass-alb022-segment_count_h.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb022-segment_count_h.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/README.md b/test/files/alb023/README.md similarity index 52% rename from test/files/ala003/README.md rename to test/files/alb023/README.md index 4265cb50..0f23dba5 100644 --- a/test/files/ala003/README.md +++ b/test/files/alb023/README.md @@ -2,15 +2,15 @@ | File name | Expected result | Description | | --- | --- | --- | -| pass-ala003-without\_segmented\_reference\_curve.ifc | pass | NaN | -| pass-ala003-multiple\_alignments.ifc | pass | NaN | -| pass-ala003-helmert\_curve.ifc | pass | NaN | -| pass-ala003-business\_logic\_only.ifc | pass | NaN | -| pass-ala003-same\_segment\_geometry\_types.ifc | pass | NaN | -| pass-ala003-representation\_only.ifc | pass | NaN | -| fail-ala003-scenario05-different\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCTHIRDORDERPOLYNOMIALSPIRAL', 'Observed': 'value: IFCLINE'} | -| fail-ala003-scenario04-different\_cant\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCLINE', 'Observed': 'value: IFCCLOTHOID'} | -| fail-ala003-scenario01-helmert\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCLINE', 'Observed': 'value: IFCSECONDORDERPOLYNOMIALSPIRAL| -| fail-ala003-scenario03-different\_vertical\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'Each segment must have the same geometry type as its corresponding alignment segment', 'Observed': 'value: IFCCIRCLE'} | -| fail-ala003-scenario02-different\_horizontal\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCCIRCLE', 'Observed': 'value: IFCCLOTHOID'} | +| pass-alb023-without\_segmented\_reference\_curve.ifc | pass | NaN | +| pass-alb023-multiple\_alignments.ifc | pass | NaN | +| pass-alb023-helmert\_curve.ifc | pass | NaN | +| pass-alb023-business\_logic\_only.ifc | pass | NaN | +| pass-alb023-same\_segment\_geometry\_types.ifc | pass | NaN | +| pass-alb023-representation\_only.ifc | pass | NaN | +| fail-alb023-scenario05-different\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCTHIRDORDERPOLYNOMIALSPIRAL', 'Observed': 'value: IFCLINE'} | +| fail-alb023-scenario04-different\_cant\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCLINE', 'Observed': 'value: IFCCLOTHOID'} | +| fail-alb023-scenario01-helmert\_curve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCLINE', 'Observed': 'value: IFCSECONDORDERPOLYNOMIALSPIRAL| +| fail-alb023-scenario03-different\_vertical\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'Each segment must have the same geometry type as its corresponding alignment segment', 'Observed': 'value: IFCCIRCLE'} | +| fail-alb023-scenario02-different\_horizontal\_segment\_geometry\_types.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': 'value: IFCCIRCLE', 'Observed': 'value: IFCCLOTHOID'} | diff --git a/test/files/ala003/fail-ala003-scenario01-helmert_curve.ifc b/test/files/alb023/fail-alb023-scenario01-helmert_curve.ifc similarity index 99% rename from test/files/ala003/fail-ala003-scenario01-helmert_curve.ifc rename to test/files/alb023/fail-alb023-scenario01-helmert_curve.ifc index 9d2d7706..a9c3b08b 100755 --- a/test/files/ala003/fail-ala003-scenario01-helmert_curve.ifc +++ b/test/files/alb023/fail-alb023-scenario01-helmert_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [CoordinationView]'), '2;1'); -FILE_NAME ('fail-ala003-scenario01-helmert_curve.ifc', '2022-02-22T22:00:00', ('redacted'), ('redacted'), 'redacted', 'redacted', ''); +FILE_NAME ('fail-alb023-scenario01-helmert_curve.ifc', '2022-02-22T22:00:00', ('redacted'), ('redacted'), 'redacted', 'redacted', ''); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/fail-ala003-scenario02-different_horizontal_segment_geometry_types.ifc b/test/files/alb023/fail-alb023-scenario02-different_horizontal_segment_geometry_types.ifc similarity index 99% rename from test/files/ala003/fail-ala003-scenario02-different_horizontal_segment_geometry_types.ifc rename to test/files/alb023/fail-alb023-scenario02-different_horizontal_segment_geometry_types.ifc index 1da04b11..7ab05db4 100644 --- a/test/files/ala003/fail-ala003-scenario02-different_horizontal_segment_geometry_types.ifc +++ b/test/files/alb023/fail-alb023-scenario02-different_horizontal_segment_geometry_types.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('fail-ala003-scenario01-different_horizontal_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb023-scenario01-different_horizontal_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/fail-ala003-scenario03-different_vertical_segment_geometry_types.ifc b/test/files/alb023/fail-alb023-scenario03-different_vertical_segment_geometry_types.ifc similarity index 99% rename from test/files/ala003/fail-ala003-scenario03-different_vertical_segment_geometry_types.ifc rename to test/files/alb023/fail-alb023-scenario03-different_vertical_segment_geometry_types.ifc index 9f9578cf..6b896a0f 100755 --- a/test/files/ala003/fail-ala003-scenario03-different_vertical_segment_geometry_types.ifc +++ b/test/files/alb023/fail-alb023-scenario03-different_vertical_segment_geometry_types.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('fail-ala003-scenario02-different_vertical_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb023-scenario03-different_vertical_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/fail-ala003-scenario04-different_cant_segment_geometry_types.ifc b/test/files/alb023/fail-alb023-scenario04-different_cant_segment_geometry_types.ifc similarity index 99% rename from test/files/ala003/fail-ala003-scenario04-different_cant_segment_geometry_types.ifc rename to test/files/alb023/fail-alb023-scenario04-different_cant_segment_geometry_types.ifc index 251d98dc..eea954ab 100755 --- a/test/files/ala003/fail-ala003-scenario04-different_cant_segment_geometry_types.ifc +++ b/test/files/alb023/fail-alb023-scenario04-different_cant_segment_geometry_types.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('pass-ala003-same_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb023-scenario04-different_cant_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/fail-ala003-scenario05-different_segment_geometry_types.ifc b/test/files/alb023/fail-alb023-scenario05-different_segment_geometry_types.ifc similarity index 99% rename from test/files/ala003/fail-ala003-scenario05-different_segment_geometry_types.ifc rename to test/files/alb023/fail-alb023-scenario05-different_segment_geometry_types.ifc index 5041a02c..1cbddb8c 100755 --- a/test/files/ala003/fail-ala003-scenario05-different_segment_geometry_types.ifc +++ b/test/files/alb023/fail-alb023-scenario05-different_segment_geometry_types.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('fail-ala003-scenario05-different_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('fail-alb023-scenario05-different_segment_geometry_types.ifc', '2023-12-31T23:59:59', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/pass-ala003-business_logic_only.ifc b/test/files/alb023/pass-alb023-business_logic_only.ifc similarity index 99% rename from test/files/ala003/pass-ala003-business_logic_only.ifc rename to test/files/alb023/pass-alb023-business_logic_only.ifc index 9cb11ff7..8aaae36d 100644 --- a/test/files/ala003/pass-ala003-business_logic_only.ifc +++ b/test/files/alb023/pass-alb023-business_logic_only.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb023-business_logic_only.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/pass-ala003-helmert_curve.ifc b/test/files/alb023/pass-alb023-helmert_curve.ifc similarity index 97% rename from test/files/ala003/pass-ala003-helmert_curve.ifc rename to test/files/alb023/pass-alb023-helmert_curve.ifc index 4e81bbde..347bc04e 100755 --- a/test/files/ala003/pass-ala003-helmert_curve.ifc +++ b/test/files/alb023/pass-alb023-helmert_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [CoordinationView]'), '2;1'); -FILE_NAME ('example-single-transition-curve.ifc', '2022-02-22T22:00:00', ('IFC Rail Technical Services'), ('buildingSMART International RailwayRoom'), 'RDF Ltd. (https://rdf.bg/)', '2019.1.1995.0', ''); +FILE_NAME ('pass-alb023-helmert_curve.ifc', '2022-02-22T22:00:00', ('IFC Rail Technical Services'), ('buildingSMART International RailwayRoom'), 'RDF Ltd. (https://rdf.bg/)', '2019.1.1995.0', ''); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/pass-ala003-multiple_alignments.ifc b/test/files/alb023/pass-alb023-multiple_alignments.ifc similarity index 99% rename from test/files/ala003/pass-ala003-multiple_alignments.ifc rename to test/files/alb023/pass-alb023-multiple_alignments.ifc index ffff6198..ecc7f05a 100755 --- a/test/files/ala003/pass-ala003-multiple_alignments.ifc +++ b/test/files/alb023/pass-alb023-multiple_alignments.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); -FILE_NAME('pass-ala003-multiple_alignments.ifc','2024-03-25T21:51:20',('redacted'),('Unknown'),'GeometryGymIFCcore v0.2.13.0 by Geometry Gym Pty Ltd built 2023-02-23T01:21:04','Civil 3D 2023 IfcInfra Plugin v13.5.35.0','None'); +FILE_NAME('pass-alb023-multiple_alignments.ifc','2024-03-25T21:51:20',('redacted'),('Unknown'),'redacted','redacted','None'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; diff --git a/test/files/ala002/na-ala002-representation_only.ifc b/test/files/alb023/pass-alb023-representation_only.ifc similarity index 99% rename from test/files/ala002/na-ala002-representation_only.ifc rename to test/files/alb023/pass-alb023-representation_only.ifc index a7a2ade3..e033d2d6 100644 --- a/test/files/ala002/na-ala002-representation_only.ifc +++ b/test/files/alb023/pass-alb023-representation_only.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('linear-placement-of-signal.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); +FILE_NAME ('pass-alb023-representation_only.ifc', '2023-07-11T10:16:10', ('redacted'), ('redacted'), 'redacted', 'redacted', 'redacted'); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/pass-ala003-same_segment_geometry_types.ifc b/test/files/alb023/pass-alb023-same_segment_geometry_types.ifc similarity index 99% rename from test/files/ala003/pass-ala003-same_segment_geometry_types.ifc rename to test/files/alb023/pass-alb023-same_segment_geometry_types.ifc index 0e459dc2..1f9b7caa 100755 --- a/test/files/ala003/pass-ala003-same_segment_geometry_types.ifc +++ b/test/files/alb023/pass-alb023-same_segment_geometry_types.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('pass-als003-same_segment_geometry_types.ifc', '2024-06-13T10:24:35', (), (), 'redacted', 'redacted', $); +FILE_NAME ('pass-alb023-same_segment_geometry_types.ifc', '2024-06-13T10:24:35', (), (), 'redacted', 'redacted', $); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/pass-ala003-without_segmented_reference_curve.ifc b/test/files/alb023/pass-alb023-without_segmented_reference_curve.ifc similarity index 99% rename from test/files/ala003/pass-ala003-without_segmented_reference_curve.ifc rename to test/files/alb023/pass-alb023-without_segmented_reference_curve.ifc index 74518d79..28b28c45 100644 --- a/test/files/ala003/pass-ala003-without_segmented_reference_curve.ifc +++ b/test/files/alb023/pass-alb023-without_segmented_reference_curve.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION (('ViewDefinition [Alignment-basedReferenceView]'), '2;1'); -FILE_NAME ('pass-als003-without_segmented_reference_curve.ifc', '2024-06-13T10:24:35', (), (), 'redacted', 'redacted', $); +FILE_NAME ('pass-alb023-without_segmented_reference_curve.ifc', '2024-06-13T10:24:35', (), (), 'redacted', 'redacted', $); FILE_SCHEMA (('IFC4X3_ADD2')); ENDSEC; DATA; diff --git a/test/files/ala003/segment_type_mapping.md b/test/files/alb023/segment_type_mapping.md similarity index 100% rename from test/files/ala003/segment_type_mapping.md rename to test/files/alb023/segment_type_mapping.md diff --git a/test/files/als005/fail-als005-scenario01-wrong_representationidentifier_value.ifc b/test/files/als005/fail-als005-scenario01-wrong_representationidentifier_value.ifc index a8e8ae78..2531bad3 100644 --- a/test/files/als005/fail-als005-scenario01-wrong_representationidentifier_value.ifc +++ b/test/files/als005/fail-als005-scenario01-wrong_representationidentifier_value.ifc @@ -154,7 +154,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als005/fail-als005-scenario02-wrong_representationtype_value.ifc b/test/files/als005/fail-als005-scenario02-wrong_representationtype_value.ifc index cfbd1859..a5e8f682 100644 --- a/test/files/als005/fail-als005-scenario02-wrong_representationtype_value.ifc +++ b/test/files/als005/fail-als005-scenario02-wrong_representationtype_value.ifc @@ -154,7 +154,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als005/fail-als005-scenario03-wrong_representationtype_value.ifc b/test/files/als005/fail-als005-scenario03-wrong_representationtype_value.ifc index ba1c4b08..fc060792 100644 --- a/test/files/als005/fail-als005-scenario03-wrong_representationtype_value.ifc +++ b/test/files/als005/fail-als005-scenario03-wrong_representationtype_value.ifc @@ -154,7 +154,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als005/fail-als005-scenario04-wrong_items_type.ifc b/test/files/als005/fail-als005-scenario04-wrong_items_type.ifc index 48f1ce1a..0fd06070 100644 --- a/test/files/als005/fail-als005-scenario04-wrong_items_type.ifc +++ b/test/files/als005/fail-als005-scenario04-wrong_items_type.ifc @@ -154,7 +154,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als006/fail-als006-scenario01-wrong_representationidentifier_value.ifc b/test/files/als006/fail-als006-scenario01-wrong_representationidentifier_value.ifc index a76c6e4c..7f60217f 100644 --- a/test/files/als006/fail-als006-scenario01-wrong_representationidentifier_value.ifc +++ b/test/files/als006/fail-als006-scenario01-wrong_representationidentifier_value.ifc @@ -156,7 +156,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als006/fail-als006-scenario01-wrong_representationtype_value.ifc b/test/files/als006/fail-als006-scenario01-wrong_representationtype_value.ifc index 75a85e35..e774fdbe 100644 --- a/test/files/als006/fail-als006-scenario01-wrong_representationtype_value.ifc +++ b/test/files/als006/fail-als006-scenario01-wrong_representationtype_value.ifc @@ -156,7 +156,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als006/fail-als006-scenario02-wrong_items_type.ifc b/test/files/als006/fail-als006-scenario02-wrong_items_type.ifc index 5ecd18d5..b2d824fc 100644 --- a/test/files/als006/fail-als006-scenario02-wrong_items_type.ifc +++ b/test/files/als006/fail-als006-scenario02-wrong_items_type.ifc @@ -156,7 +156,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als006/pass-als006-alignment_horizontal_shape_representation.ifc b/test/files/als006/pass-als006-alignment_horizontal_shape_representation.ifc index 2d3f2812..49cfc9f8 100644 --- a/test/files/als006/pass-als006-alignment_horizontal_shape_representation.ifc +++ b/test/files/als006/pass-als006-alignment_horizontal_shape_representation.ifc @@ -159,7 +159,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als007/fail-als007-scenario01-wrong_representationidentifier_value.ifc b/test/files/als007/fail-als007-scenario01-wrong_representationidentifier_value.ifc index bdf2617c..bb8a6619 100644 --- a/test/files/als007/fail-als007-scenario01-wrong_representationidentifier_value.ifc +++ b/test/files/als007/fail-als007-scenario01-wrong_representationidentifier_value.ifc @@ -159,7 +159,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als007/fail-als007-scenario02-wrong_representationtype_value.ifc b/test/files/als007/fail-als007-scenario02-wrong_representationtype_value.ifc index d6def5c8..c5fa9305 100644 --- a/test/files/als007/fail-als007-scenario02-wrong_representationtype_value.ifc +++ b/test/files/als007/fail-als007-scenario02-wrong_representationtype_value.ifc @@ -159,7 +159,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als007/fail-als007-scenario03-wrong_items_type.ifc b/test/files/als007/fail-als007-scenario03-wrong_items_type.ifc index 82e841e4..53c3003a 100644 --- a/test/files/als007/fail-als007-scenario03-wrong_items_type.ifc +++ b/test/files/als007/fail-als007-scenario03-wrong_items_type.ifc @@ -159,7 +159,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/als007/pass-als007-alignment_vertical_representation.ifc b/test/files/als007/pass-als007-alignment_vertical_representation.ifc index 2d3f2812..49cfc9f8 100644 --- a/test/files/als007/pass-als007-alignment_vertical_representation.ifc +++ b/test/files/als007/pass-als007-alignment_vertical_representation.ifc @@ -159,7 +159,7 @@ DATA; #1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); #1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); -#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2001 = IFCALIGNMENTSEGMENT('29fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); #2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); #2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); diff --git a/test/files/blt002/README.md b/test/files/blt002/README.md new file mode 100644 index 00000000..63cfca03 --- /dev/null +++ b/test/files/blt002/README.md @@ -0,0 +1,10 @@ +| File name | Expected result | Description | +| --- | --- | --- | +| pass-blt002-scenario01\_correct\_partitioning\_type.ifc | pass | NaN | +| pass-blt002-scenario01-no\_user\_defined\_partitioning\_type.ifc | pass | NaN | +| pass-blt002-scenario02-window\_type\_no\_own\_partitioning\_type.ifc | pass | NaN | +| fail-blt002-scenario01-operation\_type\_double\_panel\_horizontal.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': ' value : USERDEFINED ', 'Observed': ' value : SINGLE\_SWING\_RIGHT '} | +| fail-blt002-scenario01-operation\_type\_swing\_fixed\_right.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': ' value : USERDEFINED ', 'Observed': ' value : SWING\_FIXED\_RIGHT '} | +| fail-blt002-scenario01-operation\_type\_single\_swing\_window\_type.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': ' value : USERDEFINED ', 'Observed': ' value : () '} | +| fail-blt002-scenario02-window\_type\_own\_partitioning\_type.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': ' value : () ', 'Observed': ' value : SLIDING\_TO\_RIGHT '} | + diff --git a/test/files/blt002/fail-blt002-scenario01-Partitioning_type_double_panel_horizontal.ifc b/test/files/blt002/fail-blt002-scenario01-Partitioning_type_double_panel_horizontal.ifc new file mode 100644 index 00000000..c9b33b32 --- /dev/null +++ b/test/files/blt002/fail-blt002-scenario01-Partitioning_type_double_panel_horizontal.ifc @@ -0,0 +1,35 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2024-09-23T14:37:04',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727102224); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1X9d_Gpw1CJhN$n47L1jKv',#5,'',$,$,$,$,(#11),#19); +#21=IFCPERSON($,$,'',$,$,$,$,$); +#22=IFCORGANIZATION($,'',$,$,$); +#23=IFCPERSONANDORGANIZATION(#21,#22,$); +#24=IFCAPPLICATION(#22,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#25=IFCOWNERHISTORY(#23,#24,$,.NOTDEFINED.,$,#23,#24,1727102224); +#26=IFCWINDOW('2$N4CP2PTBhvxCPRkLGgcO',#5,$,$,$,$,$,$,$,$,$,.DOUBLE_PANEL_HORIZONTAL.,'TestWindow'); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/blt002/fail-blt002-scenario01-Partitioning_type_triple_panel_left.ifc b/test/files/blt002/fail-blt002-scenario01-Partitioning_type_triple_panel_left.ifc new file mode 100644 index 00000000..d119f5a7 --- /dev/null +++ b/test/files/blt002/fail-blt002-scenario01-Partitioning_type_triple_panel_left.ifc @@ -0,0 +1,35 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2024-09-23T14:37:04',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727102224); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('19BqebN8rD59EKTs$W0Opj',#5,'',$,$,$,$,(#11),#19); +#21=IFCPERSON($,$,'',$,$,$,$,$); +#22=IFCORGANIZATION($,'',$,$,$); +#23=IFCPERSONANDORGANIZATION(#21,#22,$); +#24=IFCAPPLICATION(#22,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#25=IFCOWNERHISTORY(#23,#24,$,.NOTDEFINED.,$,#23,#24,1727102224); +#26=IFCWINDOW('2upDrgKm50xvp0W7SPUIUI',#5,$,$,$,$,$,$,$,$,$,.TRIPLE_PANEL_LEFT.,'TestWindow'); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/blt002/fail-blt002-scenario02-Window_type_own_Partitioning_type.ifc b/test/files/blt002/fail-blt002-scenario02-Window_type_own_Partitioning_type.ifc new file mode 100644 index 00000000..30daf4c0 --- /dev/null +++ b/test/files/blt002/fail-blt002-scenario02-Window_type_own_Partitioning_type.ifc @@ -0,0 +1,37 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2024-09-23T14:37:04',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727102224); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('2sOSx6Qh95f95$hNhWhL46',#5,'',$,$,$,$,(#11),#19); +#21=IFCPERSON($,$,'',$,$,$,$,$); +#22=IFCORGANIZATION($,'',$,$,$); +#23=IFCPERSONANDORGANIZATION(#21,#22,$); +#24=IFCAPPLICATION(#22,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#25=IFCOWNERHISTORY(#23,#24,$,.NOTDEFINED.,$,#23,#24,1727102224); +#26=IFCWINDOWTYPE('3zQtsDxgb6GRZreRQxq4Z0',#5,'TestWindowType',$,$,$,$,$,$,.WINDOW.,.DOUBLE_PANEL_HORIZONTAL.,$,$); +#27=IFCWINDOW('1J_Rv5lz57WvgKmk$3vz7i',#5,$,$,$,$,$,$,$,$,.WINDOW.,.TRIPLE_PANEL_VERTICAL.,$); +#28=IFCRELDEFINESBYTYPE('3OOM1fWVbCLBCRBVFhv1hp',$,$,$,(#27),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/blt002/generate.py b/test/files/blt002/generate.py new file mode 100644 index 00000000..1dc83568 --- /dev/null +++ b/test/files/blt002/generate.py @@ -0,0 +1,72 @@ +import ifcopenshell +import ifcopenshell.template +import os + +cwd = os.path.dirname(os.path.abspath(__file__)) + +file = ifcopenshell.template.create(schema_identifier='IFC4X3_ADD2') +owner = file.by_type("IfcOwnerHistory")[0] + +file.createIfcWindow(ifcopenshell.guid.new()) + +def write(fn): + file.write(os.path.join(cwd, fn)) + +write('na-blt002-scenario01-no_user_defined_Partitioning_type.ifc') + +file = ifcopenshell.template.create(schema_identifier='IFC4X3_ADD2') + +file.createIfcWindow(ifcopenshell.guid.new(), + OwnerHistory = owner, + UserDefinedPartitioningType = 'TestWindow', + PartitioningType = 'USERDEFINED') + +write('pass-blt002-scenario01_correct_Partitioning_type.ifc') + + +for i in ['double_panel_horizontal', 'triple_panel_left']: + file = ifcopenshell.template.create(schema_identifier='IFC4X3_ADD2') + file.createIfcWindow( + ifcopenshell.guid.new(), + OwnerHistory = owner, + UserDefinedPartitioningType = 'TestWindow', + PartitioningType = i.upper()) + write(f'fail-blt002-scenario01-Partitioning_type_{i}.ifc') + + +file = ifcopenshell.template.create(schema_identifier='IFC4X3_ADD2') + +file.createIfcRelDefinesByType( + ifcopenshell.guid.new(), + RelatingType = file.createIfcWindowType(ifcopenshell.guid.new(), + Name = 'TestWindowType', + OwnerHistory = owner, + PredefinedType = 'WINDOW', + PartitioningType = 'DOUBLE_PANEL_HORIZONTAL' + ), + RelatedObjects = [file.createIfcWindow( + ifcopenshell.guid.new(), + OwnerHistory = owner, + )] +) + +write('pass-blt002-scenario02-window_type_no_own_Partitioning_type.ifc') + +file = ifcopenshell.template.create(schema_identifier='IFC4X3_ADD2') + +file.createIfcRelDefinesByType( + ifcopenshell.guid.new(), + RelatingType = file.createIfcWindowType(ifcopenshell.guid.new(), + Name = 'TestWindowType', + OwnerHistory = owner, + PredefinedType = 'WINDOW', + PartitioningType = 'DOUBLE_PANEL_HORIZONTAL'), + RelatedObjects = [file.createIfcWindow( + ifcopenshell.guid.new(), + OwnerHistory = owner, + PartitioningType = 'TRIPLE_PANEL_VERTICAL', + PredefinedType = 'WINDOW' + )] +) + +write('fail-blt002-scenario02-Window_type_own_Partitioning_type.ifc') diff --git a/test/files/blt002/na-blt002-scenario01-no_user_defined_Partitioning_type.ifc b/test/files/blt002/na-blt002-scenario01-no_user_defined_Partitioning_type.ifc new file mode 100644 index 00000000..ddbfb866 --- /dev/null +++ b/test/files/blt002/na-blt002-scenario01-no_user_defined_Partitioning_type.ifc @@ -0,0 +1,30 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2024-09-23T14:37:04',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727102224); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0azhy3JZjD5wrWEwO9UE59',#5,'',$,$,$,$,(#11),#19); +#21=IFCWINDOW('3TFWFLdZj1fwsle0NCWYSK',$,$,$,$,$,$,$,$,$,$,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/blt002/pass-blt002-scenario01_correct_Partitioning_type.ifc b/test/files/blt002/pass-blt002-scenario01_correct_Partitioning_type.ifc new file mode 100644 index 00000000..6881ee60 --- /dev/null +++ b/test/files/blt002/pass-blt002-scenario01_correct_Partitioning_type.ifc @@ -0,0 +1,35 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2024-09-23T14:37:04',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727102224); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0TaT0gKSDDXu4OA0Uj3FNa',#5,'',$,$,$,$,(#11),#19); +#21=IFCPERSON($,$,'',$,$,$,$,$); +#22=IFCORGANIZATION($,'',$,$,$); +#23=IFCPERSONANDORGANIZATION(#21,#22,$); +#24=IFCAPPLICATION(#22,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#25=IFCOWNERHISTORY(#23,#24,$,.NOTDEFINED.,$,#23,#24,1727102224); +#26=IFCWINDOW('1Qm9GPEHnA5QdR6EKG8KW$',#5,$,$,$,$,$,$,$,$,$,.USERDEFINED.,'TestWindow'); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/blt002/pass-blt002-scenario02-window_type_no_own_Partitioning_type.ifc b/test/files/blt002/pass-blt002-scenario02-window_type_no_own_Partitioning_type.ifc new file mode 100644 index 00000000..a1743259 --- /dev/null +++ b/test/files/blt002/pass-blt002-scenario02-window_type_no_own_Partitioning_type.ifc @@ -0,0 +1,37 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2024-09-23T14:37:04',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727102224); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3EO_PlUPn7vfPel3sE1JlM',#5,'',$,$,$,$,(#11),#19); +#21=IFCPERSON($,$,'',$,$,$,$,$); +#22=IFCORGANIZATION($,'',$,$,$); +#23=IFCPERSONANDORGANIZATION(#21,#22,$); +#24=IFCAPPLICATION(#22,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#25=IFCOWNERHISTORY(#23,#24,$,.NOTDEFINED.,$,#23,#24,1727102224); +#26=IFCWINDOWTYPE('31ZrIQdG16vxi3Zc7sRJW$',#5,'TestWindowType',$,$,$,$,$,$,.WINDOW.,.DOUBLE_PANEL_HORIZONTAL.,$,$); +#27=IFCWINDOW('2BEtHoAQv5hwP5rf$XRYnI',#5,$,$,$,$,$,$,$,$,$,$,$); +#28=IFCRELDEFINESBYTYPE('2xJ7LuOLn7gvydO83x82Bw',$,$,$,(#27),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceinnerbound.ifc b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceinnerbound.ifc new file mode 100644 index 00000000..ab52ba26 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceinnerbound.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_non_parallel_crossing_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1zvvMCifb3Sfl_xq0L5inI',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-1.,0.)); +#22=IFCCARTESIANPOINT((1.5,-1.,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,1.,0.)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((1.,0.,0.)); +#30=IFCCARTESIANPOINT((1.,1.,0.)); +#31=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#32=IFCCARTESIANPOINT((0.6666666,0.5,0.)); +#33=IFCCARTESIANPOINT((0.3333333,-0.5,0.)); +#34=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('0Adjc2nc186hWxy1PCbX6b',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceinnerbound_permuted.ifc b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..b03dd1ca --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceinnerbound_permuted.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_non_parallel_crossing_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0klRPa2wH0LvJNEUGh3B$i',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.403471457757536,0.978997835788831,-0.358850972265361)); +#22=IFCCARTESIANPOINT((-0.0381500333757121,-0.375106355021612,-1.76290663319866)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#30=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#31=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#32=IFCCARTESIANPOINT((-0.293740191477478,-0.771603912509785,-0.113086063093235)); +#33=IFCCARTESIANPOINT((0.0729294679919289,0.0945518848097728,-0.588941697170631)); +#34=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('2hNyGHcUvFbhH4NAs9er13',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceouterbound.ifc b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceouterbound.ifc new file mode 100644 index 00000000..aa32ea48 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceouterbound.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_non_parallel_crossing_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('2J6yOlkUTARPn5UV6BwqOV',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,1.,0.)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.,0.)); +#24=IFCCARTESIANPOINT((1.,1.,0.)); +#25=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#26=IFCCARTESIANPOINT((0.6666666,0.5,0.)); +#27=IFCCARTESIANPOINT((0.3333333,-0.5,0.)); +#28=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('1KRwKUQqf2yBjHZUgRZ4Me',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceouterbound_permuted.ifc b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceouterbound_permuted.ifc new file mode 100644 index 00000000..0da8132a --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_non_parallel_crossing_faceouterbound_permuted.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_non_parallel_crossing_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('27lRl1eUL3Hg27sGN3zGCn',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#24=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#25=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#26=IFCCARTESIANPOINT((-0.293740191477478,-0.771603912509785,-0.113086063093235)); +#27=IFCCARTESIANPOINT((0.0729294679919289,0.0945518848097728,-0.588941697170631)); +#28=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('1fZ7mQQXvD7QOeGKVhEDHl',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceinnerbound.ifc b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceinnerbound.ifc new file mode 100644 index 00000000..2bfc57db --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceinnerbound.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_almost_crossing_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1T1JZ4jUD1mO$eGhr5MIgg',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((1.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,1.,0.)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((1.,0.,0.)); +#30=IFCCARTESIANPOINT((1.,1.,0.)); +#31=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#32=IFCCARTESIANPOINT((0.6666666,1.E-10,0.)); +#33=IFCCARTESIANPOINT((0.3333333,1.E-10,0.)); +#34=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3PrslfP8z5fhGyvfey70bS',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceinnerbound_permuted.ifc b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..c2d44f78 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceinnerbound_permuted.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_almost_crossing_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1OY0ZxIFT1_xSugMolmrOY',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.184683075862824,-0.695342249064722,-1.40797418944932)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#30=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#31=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#32=IFCCARTESIANPOINT((-0.147207149019673,-0.451368018530722,-0.468018506771591)); +#33=IFCCARTESIANPOINT((-0.0736035745244898,-0.225684009297384,-0.234009253350302)); +#34=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('2RCebV89z5bhYGFGkpnbC1',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceouterbound.ifc b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceouterbound.ifc new file mode 100644 index 00000000..24fcb45e --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceouterbound.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_almost_crossing_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0nd46lzCX30QdQfkhnV7uA',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,1.,0.)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.,0.)); +#24=IFCCARTESIANPOINT((1.,1.,0.)); +#25=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#26=IFCCARTESIANPOINT((0.6666666,1.E-10,0.)); +#27=IFCCARTESIANPOINT((0.3333333,1.E-10,0.)); +#28=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('2zuhW$PBH6dPxe2UmhpwZg',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceouterbound_permuted.ifc b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceouterbound_permuted.ifc new file mode 100644 index 00000000..14135e21 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_almost_crossing_faceouterbound_permuted.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_almost_crossing_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1jZBDf2ff5qf6_8CUOJY68',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#24=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#25=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#26=IFCCARTESIANPOINT((-0.147207149019673,-0.451368018530722,-0.468018506771591)); +#27=IFCCARTESIANPOINT((-0.0736035745244898,-0.225684009297384,-0.234009253350302)); +#28=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('2Vpyv1nar91u43oP1VRzzG',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_crossing_faceinnerbound.ifc b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceinnerbound.ifc new file mode 100644 index 00000000..a8d4e8f1 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceinnerbound.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_crossing_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('2VXj_$NJfEHxqN8Grlt5v3',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-1.,0.)); +#22=IFCCARTESIANPOINT((1.5,-1.,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,1.,0.)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((1.,0.,0.)); +#30=IFCCARTESIANPOINT((1.,1.,0.)); +#31=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#32=IFCCARTESIANPOINT((0.6666666,-0.5,0.)); +#33=IFCCARTESIANPOINT((0.3333333,-0.5,0.)); +#34=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3sdWxOfmjB7eMt$OjSdWDH',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_crossing_faceinnerbound_permuted.ifc b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..db191f64 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceinnerbound_permuted.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_crossing_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0R1I$ZGH1FHxyFn4lMO_RL',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.403471457757536,0.978997835788831,-0.358850972265361)); +#22=IFCCARTESIANPOINT((-0.0381500333757121,-0.375106355021612,-1.76290663319866)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#30=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#31=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#32=IFCCARTESIANPOINT((-0.000674106503254331,-0.131132124423564,-0.82295095059192)); +#33=IFCCARTESIANPOINT((0.0729294679919289,0.0945518848097728,-0.588941697170631)); +#34=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('21nGVjTpXAVwkJO8Rs9gbn',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_crossing_faceouterbound.ifc b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceouterbound.ifc new file mode 100644 index 00000000..29613027 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceouterbound.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_crossing_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0ptBggu8LEWB8pYNA6WsJE',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,1.,0.)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.,0.)); +#24=IFCCARTESIANPOINT((1.,1.,0.)); +#25=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#26=IFCCARTESIANPOINT((0.6666666,-0.5,0.)); +#27=IFCCARTESIANPOINT((0.3333333,-0.5,0.)); +#28=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('2k4dsfnSP52xhXDDB6FFCJ',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-concave_parallel_crossing_faceouterbound_permuted.ifc b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceouterbound_permuted.ifc new file mode 100644 index 00000000..d79a0113 --- /dev/null +++ b/test/files/brp001/fail-brp001-concave_parallel_crossing_faceouterbound_permuted.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-concave_parallel_crossing_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1gipiKA5P6ne6PufAkI9Xz',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#24=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#25=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#26=IFCCARTESIANPOINT((-0.000674106503254331,-0.131132124423564,-0.82295095059192)); +#27=IFCCARTESIANPOINT((0.0729294679919289,0.0945518848097728,-0.588941697170631)); +#28=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('0VOOWLCT5E9QDpfEIbiQgr',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-rect_colinear_cross_faceinnerbound.ifc b/test/files/brp001/fail-brp001-rect_colinear_cross_faceinnerbound.ifc new file mode 100644 index 00000000..0796df12 --- /dev/null +++ b/test/files/brp001/fail-brp001-rect_colinear_cross_faceinnerbound.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-rect_colinear_cross_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0MDAyl_S96nOtSVzSVOGJA',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((3.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((3.5,2.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,2.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((3.,0.,0.)); +#29=IFCCARTESIANPOINT((2.,0.,0.)); +#30=IFCCARTESIANPOINT((2.,2.,0.)); +#31=IFCCARTESIANPOINT((0.,2.,0.)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('3STCGk31vCWhz105NtIBBM',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-rect_colinear_cross_faceinnerbound_permuted.ifc b/test/files/brp001/fail-brp001-rect_colinear_cross_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..3244cb17 --- /dev/null +++ b/test/files/brp001/fail-brp001-rect_colinear_cross_faceinnerbound_permuted.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-rect_colinear_cross_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0gEyxtM0n2wAsCHpS66qbm',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.626304566996073,-2.04944643987516,-2.81202985038262)); +#23=IFCCARTESIANPOINT((-1.50550282191874,-3.97086180413382,-0.68243518788656)); +#24=IFCCARTESIANPOINT((-0.622259839652248,-1.26265342251294,2.12567613398004)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((-0.662432236699873,-2.03115628621566,-2.10608349139995)); +#29=IFCCARTESIANPOINT((-0.441621491133248,-1.35410419081044,-1.4040556609333)); +#30=IFCCARTESIANPOINT((-1.0277536610817,-2.63504776698288,0.0156741140640717)); +#31=IFCCARTESIANPOINT((-0.586132169948448,-1.28094357617244,1.41972977499737)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('1NkZY1qLj9sAWu6J1bLmfv',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-rect_colinear_cross_faceouterbound.ifc b/test/files/brp001/fail-brp001-rect_colinear_cross_faceouterbound.ifc new file mode 100644 index 00000000..025d1018 --- /dev/null +++ b/test/files/brp001/fail-brp001-rect_colinear_cross_faceouterbound.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-rect_colinear_cross_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('2_rsEXckX4sPosKEmDLn1U',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((3.,0.,0.)); +#23=IFCCARTESIANPOINT((2.,0.,0.)); +#24=IFCCARTESIANPOINT((2.,2.,0.)); +#25=IFCCARTESIANPOINT((0.,2.,0.)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('36DD_mjiP2UQs4Hiktqt5K',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-rect_colinear_cross_faceouterbound_permuted.ifc b/test/files/brp001/fail-brp001-rect_colinear_cross_faceouterbound_permuted.ifc new file mode 100644 index 00000000..4d34ab57 --- /dev/null +++ b/test/files/brp001/fail-brp001-rect_colinear_cross_faceouterbound_permuted.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-rect_colinear_cross_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0Co8OIEzv3GB6t3bKhHMRc',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((-0.662432236699873,-2.03115628621566,-2.10608349139995)); +#23=IFCCARTESIANPOINT((-0.441621491133248,-1.35410419081044,-1.4040556609333)); +#24=IFCCARTESIANPOINT((-1.0277536610817,-2.63504776698288,0.0156741140640717)); +#25=IFCCARTESIANPOINT((-0.586132169948448,-1.28094357617244,1.41972977499737)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('1k70LPzmz9GeUFY27U_n1z',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-single_point_touching_faceinnerbound.ifc b/test/files/brp001/fail-brp001-single_point_touching_faceinnerbound.ifc new file mode 100644 index 00000000..7667eec1 --- /dev/null +++ b/test/files/brp001/fail-brp001-single_point_touching_faceinnerbound.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-single_point_touching_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1l6dnYvDTD6wSlXsloJLfa',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((1.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,1.,0.)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((1.,0.,0.)); +#30=IFCCARTESIANPOINT((1.,1.,0.)); +#31=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#32=IFCCARTESIANPOINT((0.6666666,0.5,0.)); +#33=IFCCARTESIANPOINT((0.3333333,0.,0.)); +#34=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('0PLAjOEbfFbQpxOsbZTAtL',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-single_point_touching_faceinnerbound_permuted.ifc b/test/files/brp001/fail-brp001-single_point_touching_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..782ce7e8 --- /dev/null +++ b/test/files/brp001/fail-brp001-single_point_touching_faceinnerbound_permuted.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-single_point_touching_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1GBd4Epg92IvPW9vQ3MxGf',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.184683075862824,-0.695342249064722,-1.40797418944932)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#30=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#31=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#32=IFCCARTESIANPOINT((-0.293740191477478,-0.771603912509785,-0.113086063093235)); +#33=IFCCARTESIANPOINT((-0.0736035744951832,-0.225684009233337,-0.234009253421289)); +#34=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('0j$OInsbjERvmX1HbV2Hkn',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-single_point_touching_faceouterbound.ifc b/test/files/brp001/fail-brp001-single_point_touching_faceouterbound.ifc new file mode 100644 index 00000000..03a2c2a7 --- /dev/null +++ b/test/files/brp001/fail-brp001-single_point_touching_faceouterbound.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-single_point_touching_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('05B6pEEDz73wmpHIs$5GbU',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,1.,0.)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.,0.)); +#24=IFCCARTESIANPOINT((1.,1.,0.)); +#25=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#26=IFCCARTESIANPOINT((0.6666666,0.5,0.)); +#27=IFCCARTESIANPOINT((0.3333333,0.,0.)); +#28=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('2f0xS90m12dQysDH$6tu11',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-single_point_touching_faceouterbound_permuted.ifc b/test/files/brp001/fail-brp001-single_point_touching_faceouterbound_permuted.ifc new file mode 100644 index 00000000..09e60791 --- /dev/null +++ b/test/files/brp001/fail-brp001-single_point_touching_faceouterbound_permuted.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-single_point_touching_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3w$NMVIFr4ohrWwZ8kb2Mr',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#24=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#25=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#26=IFCCARTESIANPOINT((-0.293740191477478,-0.771603912509785,-0.113086063093235)); +#27=IFCCARTESIANPOINT((-0.0736035744951832,-0.225684009233337,-0.234009253421289)); +#28=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('04t6jsB0f2lR8n6Xy54QuP',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-zigzag_faceinnerbound.ifc b/test/files/brp001/fail-brp001-zigzag_faceinnerbound.ifc new file mode 100644 index 00000000..3c0c5324 --- /dev/null +++ b/test/files/brp001/fail-brp001-zigzag_faceinnerbound.ifc @@ -0,0 +1,50 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-zigzag_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('292gcJLynBOuwC6wJ15w3M',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((1.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((1.,0.,0.)); +#29=IFCCARTESIANPOINT((0.,1.,0.)); +#30=IFCCARTESIANPOINT((1.,1.,0.)); +#31=IFCPOLYLOOP((#27,#28,#29,#30)); +#32=IFCFACEBOUND(#31,.F.); +#33=IFCFACE((#26,#32)); +#34=IFCOPENSHELL((#33)); +#35=IFCSHELLBASEDSURFACEMODEL((#34)); +#36=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#35)); +#37=IFCPRODUCTDEFINITIONSHAPE($,$,(#36)); +#38=IFCCARTESIANPOINT((0.,0.,0.)); +#39=IFCAXIS2PLACEMENT3D(#38,$,$); +#40=IFCLOCALPLACEMENT($,#39); +#41=IFCBUILDINGELEMENTPROXY('1snm$R$RD8FQlrgnK$7T1O',$,'Proxy',$,$,#40,#37,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-zigzag_faceinnerbound_permuted.ifc b/test/files/brp001/fail-brp001-zigzag_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..c0d76c3c --- /dev/null +++ b/test/files/brp001/fail-brp001-zigzag_faceinnerbound_permuted.ifc @@ -0,0 +1,50 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-zigzag_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3YMlYxz01AUePktZBJVbKH',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.184683075862824,-0.695342249064722,-1.40797418944932)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#29=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#30=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#31=IFCPOLYLOOP((#27,#28,#29,#30)); +#32=IFCFACEBOUND(#31,.F.); +#33=IFCFACE((#26,#32)); +#34=IFCOPENSHELL((#33)); +#35=IFCSHELLBASEDSURFACEMODEL((#34)); +#36=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#35)); +#37=IFCPRODUCTDEFINITIONSHAPE($,$,(#36)); +#38=IFCCARTESIANPOINT((0.,0.,0.)); +#39=IFCAXIS2PLACEMENT3D(#38,$,$); +#40=IFCLOCALPLACEMENT($,#39); +#41=IFCBUILDINGELEMENTPROXY('2wg$TRTMj4Jw8SiPGj6Nov',$,'Proxy',$,$,#40,#37,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-zigzag_faceouterbound.ifc b/test/files/brp001/fail-brp001-zigzag_faceouterbound.ifc new file mode 100644 index 00000000..364cf420 --- /dev/null +++ b/test/files/brp001/fail-brp001-zigzag_faceouterbound.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-zigzag_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3x8A2oCxj3sg59dxhZE7W1',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((1.,0.,0.)); +#23=IFCCARTESIANPOINT((0.,1.,0.)); +#24=IFCCARTESIANPOINT((1.,1.,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.T.); +#27=IFCFACE((#26)); +#28=IFCOPENSHELL((#27)); +#29=IFCSHELLBASEDSURFACEMODEL((#28)); +#30=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#29)); +#31=IFCPRODUCTDEFINITIONSHAPE($,$,(#30)); +#32=IFCCARTESIANPOINT((0.,0.,0.)); +#33=IFCAXIS2PLACEMENT3D(#32,$,$); +#34=IFCLOCALPLACEMENT($,#33); +#35=IFCBUILDINGELEMENTPROXY('12WA_xVxD0E9ThlCj6IRL5',$,'Proxy',$,$,#34,#31,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/fail-brp001-zigzag_faceouterbound_permuted.ifc b/test/files/brp001/fail-brp001-zigzag_faceouterbound_permuted.ifc new file mode 100644 index 00000000..6ca0ea98 --- /dev/null +++ b/test/files/brp001/fail-brp001-zigzag_faceouterbound_permuted.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-brp001-zigzag_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1DnfODSwT4KgEuGDj7ZaYh',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#23=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#24=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.T.); +#27=IFCFACE((#26)); +#28=IFCOPENSHELL((#27)); +#29=IFCSHELLBASEDSURFACEMODEL((#28)); +#30=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#29)); +#31=IFCPRODUCTDEFINITIONSHAPE($,$,(#30)); +#32=IFCCARTESIANPOINT((0.,0.,0.)); +#33=IFCAXIS2PLACEMENT3D(#32,$,$); +#34=IFCLOCALPLACEMENT($,#33); +#35=IFCBUILDINGELEMENTPROXY('1pH_PpKP1EBOKExJ3t4k1G',$,'Proxy',$,$,#34,#31,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/generate.py b/test/files/brp001/generate.py new file mode 100644 index 00000000..e990ff67 --- /dev/null +++ b/test/files/brp001/generate.py @@ -0,0 +1,211 @@ +import itertools +import math +import ifcopenshell +import ifcopenshell.template +import numpy + +# polies + +rect = [ + (0., 0.), + (1., 0.), + (1., 1.), + (0., 1.) +] + +zigzag = [ + (0., 0.), + (1., 0.), + (0., 1.), + (1., 1.) +] + +parallel_rect = [ + (0., 0.), + (0.5, 0.), + (1., 0.), + (1., 1.), + (0., 1.) +] + +parallel_concave = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.5], + [0.3333333, 1.0] +] + +concave_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.5], + [0.3333333, 1.0] +] + +concave_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, -0.5], + [0.3333333, -0.5], + [0.3333333, 1.0] +] + +concave_parallel_almost_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 1.e-10], + [0.3333333, 1.e-10], + [0.3333333, 1.0] +] + +concave_non_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, -0.5], + [0.3333333, 1.0] +] + +single_point_touching = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.0], + [0.3333333, 1.0] +] + +rect_redundant = [ + [0.0, 0.0], + [2.0, 0.0], + [3.0, 0.0], + [3.0, 2.0], + [0.0, 2.0], +] + +rect_colinear_cross = [ + [0.0, 0.0], + [3.0, 0.0], + [2.0, 0.0], + [2.0, 2.0], + [0.0, 2.0], +] + +rect_near_colinear_cross = [ + [0.0, 0.0], + [3.0, 0.0], + [2.0, 0.001], + [2.0, 2.0], + [0.0, 2.0], +] + + +is_valid = lambda shp: shp in (rect, parallel_rect, parallel_concave, rect_redundant, rect_near_colinear_cross) + +def polyloop(f, shp): + ps = list(map(f.createIfcCartesianPoint, numpy.array(shp).tolist())) + return f.createIfcPolyloop(ps) + + +def indexed(f, shp): + ps = f.createIfcCartesianPointList2D(shp) + return f.createIfcIndexedPolyCurve(ps, [f.createIfcLineIndex([i + 1, (i + 1) % len(shp) + 1]) for i in range(len(shp))]) + +# random (consistent) orthonormal matrix for rotating faces + +numpy.random.seed(42) +Q, _ = numpy.linalg.qr(numpy.random.randn(3, 3)) + + +def transform_points(ps): + return numpy.array([Q @ p for p in ps]) + + +def faceouterbound(permute): + def inner(f, shp): + shp = numpy.concatenate((numpy.array(shp), [[0.]] * len(shp)), axis=1).tolist() + + if permute: + shp = transform_points(shp) + + return f.createIfcFace( + [f.createIfcFaceOuterBound( + polyloop(f, shp), True + )] + ) + return inner + + +def faceinnerbound(permute): + def inner(f, shp): + arr = numpy.array(shp) + mi, ma = numpy.amin(arr, axis=0) - 0.5, numpy.amax(arr, axis=0) + 0.5 + bbox = numpy.array([mi, (ma[0], mi[1]), ma, (mi[0], ma[1])]).tolist() + + bbox = numpy.concatenate((numpy.array(bbox), [[0.]] * len(bbox)), axis=1).tolist() + shp = numpy.concatenate((numpy.array(shp), [[0.]] * len(shp)), axis=1).tolist() + + if permute: + shp = transform_points(shp) + bbox = transform_points(bbox) + + return f.createIfcFace( + [f.createIfcFaceOuterBound( + polyloop(f, bbox), False + ), f.createIfcFaceBound( + polyloop(f, shp), False + )] + ) + return inner + + +def main(): + def process(fni, shp): + functions = [ + faceouterbound, + faceinnerbound + ] + fn = functions[fni // 2] + fn_name = fn.__name__ + permute = fni % 2 == 1 + if permute: + fn_name += "_permuted" + isv = is_valid(shp) + shp_name = [name for name, val in globals().items() if val is shp][0] + f = ifcopenshell.template.create() + + shell = f.createIfcShellBasedSurfaceModel([f.createIfcOpenShell([fn(permute)(f, shp)])]) + rep = f.createIfcShapeRepresentation(f.by_type('IfcRepresentationContext')[0], 'Body', 'SurfaceModel', [shell]) + pdf = f.createIfcProductDefinitionShape(None, None, [rep]) + prod = f.createIfcBuildingElementProxy(ifcopenshell.guid.new(), ObjectPlacement=f.createIfcLocalPlacement(RelativePlacement=f.createIfcAxis2Placement3D(f.createIfcCartesianPoint((0., 0., 0.)))), Name="Proxy", Representation=pdf) + + fail_or_pass = "fail" if not isv else "pass" + model_file_name = f'{fail_or_pass}-brp001-{shp_name}_{fn_name}.ifc' + header = f.wrapped_data.header + header.file_name.name = model_file_name + f.write(model_file_name) + for fni, shp in itertools.product((range(4)), (rect, zigzag, parallel_rect, parallel_concave, concave_parallel_crossing, concave_parallel_crossing, concave_parallel_almost_crossing, concave_non_parallel_crossing, single_point_touching, rect_redundant, rect_colinear_cross, rect_near_colinear_cross)): + process(fni, shp) + + +if __name__ == "__main__": + main() diff --git a/test/files/brp001/pass-brp001-parallel_concave_faceinnerbound.ifc b/test/files/brp001/pass-brp001-parallel_concave_faceinnerbound.ifc new file mode 100644 index 00000000..d91069ea --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_concave_faceinnerbound.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_concave_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1GLRNubNn20BU9YtxC1xQf',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((1.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,1.,0.)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((1.,0.,0.)); +#30=IFCCARTESIANPOINT((1.,1.,0.)); +#31=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#32=IFCCARTESIANPOINT((0.6666666,0.5,0.)); +#33=IFCCARTESIANPOINT((0.3333333,0.5,0.)); +#34=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3GuK6Ms3r9kAaDWAyof7NV',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-parallel_concave_faceinnerbound_permuted.ifc b/test/files/brp001/pass-brp001-parallel_concave_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..75ca0542 --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_concave_faceinnerbound_permuted.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_concave_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1ENQoS0q52ceNnH5PHWHjK',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.184683075862824,-0.695342249064722,-1.40797418944932)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#28=IFCCARTESIANPOINT((0.,0.,0.)); +#29=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#30=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#31=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#32=IFCCARTESIANPOINT((-0.293740191477478,-0.771603912509785,-0.113086063093235)); +#33=IFCCARTESIANPOINT((-0.220136616982295,-0.545919903276447,0.120923190328054)); +#34=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#35=IFCPOLYLOOP((#27,#28,#29,#30,#31,#32,#33,#34)); +#36=IFCFACEBOUND(#35,.F.); +#37=IFCFACE((#26,#36)); +#38=IFCOPENSHELL((#37)); +#39=IFCSHELLBASEDSURFACEMODEL((#38)); +#40=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3N3gfj48TCVxE3loE$mKEz',$,'Proxy',$,$,#44,#41,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-parallel_concave_faceouterbound.ifc b/test/files/brp001/pass-brp001-parallel_concave_faceouterbound.ifc new file mode 100644 index 00000000..b018c48a --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_concave_faceouterbound.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_concave_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0o4S_cXvf9ix4ubEFBtLQ6',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,1.,0.)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.,0.)); +#24=IFCCARTESIANPOINT((1.,1.,0.)); +#25=IFCCARTESIANPOINT((0.6666666,1.,0.)); +#26=IFCCARTESIANPOINT((0.6666666,0.5,0.)); +#27=IFCCARTESIANPOINT((0.3333333,0.5,0.)); +#28=IFCCARTESIANPOINT((0.3333333,1.,0.)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('2VJjhkgd1A$wz4va4TeO5g',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-parallel_concave_faceouterbound_permuted.ifc b/test/files/brp001/pass-brp001-parallel_concave_faceouterbound_permuted.ifc new file mode 100644 index 00000000..b1d86f29 --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_concave_faceouterbound_permuted.ifc @@ -0,0 +1,48 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_concave_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1l8shsT4XDdfhj$k6a4gK$',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#22=IFCCARTESIANPOINT((0.,0.,0.)); +#23=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#24=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#25=IFCCARTESIANPOINT((-0.440273233964591,-1.09183980655289,0.241846380656108)); +#26=IFCCARTESIANPOINT((-0.293740191477478,-0.771603912509785,-0.113086063093235)); +#27=IFCCARTESIANPOINT((-0.220136616982295,-0.545919903276447,0.120923190328054)); +#28=IFCCARTESIANPOINT((-0.366669659469407,-0.866155797319557,0.475855634077396)); +#29=IFCPOLYLOOP((#21,#22,#23,#24,#25,#26,#27,#28)); +#30=IFCFACEOUTERBOUND(#29,.T.); +#31=IFCFACE((#30)); +#32=IFCOPENSHELL((#31)); +#33=IFCSHELLBASEDSURFACEMODEL((#32)); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('31PQXYUYb4tQAA565r0N8s',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-parallel_rect_faceinnerbound.ifc b/test/files/brp001/pass-brp001-parallel_rect_faceinnerbound.ifc new file mode 100644 index 00000000..04e68a00 --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_rect_faceinnerbound.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_rect_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3U1hVZaAn5RxvLscBmgPCG',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((1.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((0.5,0.,0.)); +#29=IFCCARTESIANPOINT((1.,0.,0.)); +#30=IFCCARTESIANPOINT((1.,1.,0.)); +#31=IFCCARTESIANPOINT((0.,1.,0.)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('1B5jVY2MT5f8XyxENYHSl4',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-parallel_rect_faceinnerbound_permuted.ifc b/test/files/brp001/pass-brp001-parallel_rect_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..5b2ad480 --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_rect_faceinnerbound_permuted.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_rect_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0W9kkhr5f7mAp9dCUJXCeo',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.184683075862824,-0.695342249064722,-1.40797418944932)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((-0.110405372783312,-0.338526047702611,-0.351013915233325)); +#29=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#30=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#31=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('2r1jgVORD4UROd26_eWW3P',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-parallel_rect_faceouterbound.ifc b/test/files/brp001/pass-brp001-parallel_rect_faceouterbound.ifc new file mode 100644 index 00000000..a29d1535 --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_rect_faceouterbound.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_rect_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('2in1UDccnEKudLSxf0U6rb',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((0.5,0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.,0.)); +#24=IFCCARTESIANPOINT((1.,1.,0.)); +#25=IFCCARTESIANPOINT((0.,1.,0.)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('3Mq94reoDBEOSwXImjn_OD',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-parallel_rect_faceouterbound_permuted.ifc b/test/files/brp001/pass-brp001-parallel_rect_faceouterbound_permuted.ifc new file mode 100644 index 00000000..831630af --- /dev/null +++ b/test/files/brp001/pass-brp001-parallel_rect_faceouterbound_permuted.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-parallel_rect_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3XjAOjLB1ChPkS5P4zuU71',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((-0.110405372783312,-0.338526047702611,-0.351013915233325)); +#23=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#24=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#25=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('1YFTf5Xw51FgopefRqB2KF',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_faceinnerbound.ifc b/test/files/brp001/pass-brp001-rect_faceinnerbound.ifc new file mode 100644 index 00000000..92c58d7c --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_faceinnerbound.ifc @@ -0,0 +1,50 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('2gnjmakfL0Zwld1jY$jYFC',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((1.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((1.5,1.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,1.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((1.,0.,0.)); +#29=IFCCARTESIANPOINT((1.,1.,0.)); +#30=IFCCARTESIANPOINT((0.,1.,0.)); +#31=IFCPOLYLOOP((#27,#28,#29,#30)); +#32=IFCFACEBOUND(#31,.F.); +#33=IFCFACE((#26,#32)); +#34=IFCOPENSHELL((#33)); +#35=IFCSHELLBASEDSURFACEMODEL((#34)); +#36=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#35)); +#37=IFCPRODUCTDEFINITIONSHAPE($,$,(#36)); +#38=IFCCARTESIANPOINT((0.,0.,0.)); +#39=IFCAXIS2PLACEMENT3D(#38,$,$); +#40=IFCLOCALPLACEMENT($,#39); +#41=IFCBUILDINGELEMENTPROXY('2ngXw6jEj2sf7TRTGB8j3X',$,'Proxy',$,$,#40,#37,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_faceinnerbound_permuted.ifc b/test/files/brp001/pass-brp001-rect_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..bfab343b --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_faceinnerbound_permuted.ifc @@ -0,0 +1,50 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3iAZB0bi94xBg2TP0r_O7D',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.184683075862824,-0.695342249064722,-1.40797418944932)); +#23=IFCCARTESIANPOINT((-0.770815245811272,-1.97628582523716,0.0117555855480538)); +#24=IFCCARTESIANPOINT((-0.329193754678024,-0.622181634426719,1.41581124648135)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#29=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#30=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#31=IFCPOLYLOOP((#27,#28,#29,#30)); +#32=IFCFACEBOUND(#31,.F.); +#33=IFCFACE((#26,#32)); +#34=IFCOPENSHELL((#33)); +#35=IFCSHELLBASEDSURFACEMODEL((#34)); +#36=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#35)); +#37=IFCPRODUCTDEFINITIONSHAPE($,$,(#36)); +#38=IFCCARTESIANPOINT((0.,0.,0.)); +#39=IFCAXIS2PLACEMENT3D(#38,$,$); +#40=IFCLOCALPLACEMENT($,#39); +#41=IFCBUILDINGELEMENTPROXY('3mpDbPBy9EBPpwmOzHjePd',$,'Proxy',$,$,#40,#37,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_faceouterbound.ifc b/test/files/brp001/pass-brp001-rect_faceouterbound.ifc new file mode 100644 index 00000000..11d7bd29 --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_faceouterbound.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3W8cNg6TX6WvxyRbBq3G0_',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((1.,0.,0.)); +#23=IFCCARTESIANPOINT((1.,1.,0.)); +#24=IFCCARTESIANPOINT((0.,1.,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.T.); +#27=IFCFACE((#26)); +#28=IFCOPENSHELL((#27)); +#29=IFCSHELLBASEDSURFACEMODEL((#28)); +#30=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#29)); +#31=IFCPRODUCTDEFINITIONSHAPE($,$,(#30)); +#32=IFCCARTESIANPOINT((0.,0.,0.)); +#33=IFCAXIS2PLACEMENT3D(#32,$,$); +#34=IFCLOCALPLACEMENT($,#33); +#35=IFCBUILDINGELEMENTPROXY('1zB3CkcB13kBAIjtlbw9eH',$,'Proxy',$,$,#34,#31,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_faceouterbound_permuted.ifc b/test/files/brp001/pass-brp001-rect_faceouterbound_permuted.ifc new file mode 100644 index 00000000..59487ec8 --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_faceouterbound_permuted.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('08FYtzFsj96ASEqZC50U5Z',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((-0.220810745566624,-0.677052095405221,-0.702027830466649)); +#23=IFCCARTESIANPOINT((-0.513876830540848,-1.31752388349144,0.00783705703203585)); +#24=IFCCARTESIANPOINT((-0.293066084974224,-0.64047178808622,0.709864887498685)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.T.); +#27=IFCFACE((#26)); +#28=IFCOPENSHELL((#27)); +#29=IFCSHELLBASEDSURFACEMODEL((#28)); +#30=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#29)); +#31=IFCPRODUCTDEFINITIONSHAPE($,$,(#30)); +#32=IFCCARTESIANPOINT((0.,0.,0.)); +#33=IFCAXIS2PLACEMENT3D(#32,$,$); +#34=IFCLOCALPLACEMENT($,#33); +#35=IFCBUILDINGELEMENTPROXY('0fcvBKdT5BGweWGATRN$KE',$,'Proxy',$,$,#34,#31,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceinnerbound.ifc b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceinnerbound.ifc new file mode 100644 index 00000000..e9a51d68 --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceinnerbound.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_near_colinear_cross_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('175H5WDeHEhf6hSRIFTpnP',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((3.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((3.5,2.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,2.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((3.,0.,0.)); +#29=IFCCARTESIANPOINT((2.,0.001,0.)); +#30=IFCCARTESIANPOINT((2.,2.,0.)); +#31=IFCCARTESIANPOINT((0.,2.,0.)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('08XhEoHT1C2AjZR8lHD45P',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceinnerbound_permuted.ifc b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..b853df01 --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceinnerbound_permuted.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_near_colinear_cross_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1Kl$kmop98bg0CblBUmlgI',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.626304566996073,-2.04944643987516,-2.81202985038262)); +#23=IFCCARTESIANPOINT((-1.50550282191874,-3.97086180413382,-0.68243518788656)); +#24=IFCCARTESIANPOINT((-0.622259839652248,-1.26265342251294,2.12567613398004)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((-0.662432236699873,-2.03115628621566,-2.10608349139995)); +#29=IFCCARTESIANPOINT((-0.441914557218223,-1.35474466259853,-1.4033457960458)); +#30=IFCCARTESIANPOINT((-1.0277536610817,-2.63504776698288,0.0156741140640717)); +#31=IFCCARTESIANPOINT((-0.586132169948448,-1.28094357617244,1.41972977499737)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('2hITbDlbDFFAChB5oYLaWO',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceouterbound.ifc b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceouterbound.ifc new file mode 100644 index 00000000..2c0fefb4 --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceouterbound.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_near_colinear_cross_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('10lhih2PD8Rvsjs2v04N7u',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((3.,0.,0.)); +#23=IFCCARTESIANPOINT((2.,0.001,0.)); +#24=IFCCARTESIANPOINT((2.,2.,0.)); +#25=IFCCARTESIANPOINT((0.,2.,0.)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('07YRCFczr9zfmw$Hl3Tezz',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceouterbound_permuted.ifc b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceouterbound_permuted.ifc new file mode 100644 index 00000000..6ec549be --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_near_colinear_cross_faceouterbound_permuted.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_near_colinear_cross_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('0oZ4vPe_11aBwykXz5708R',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((-0.662432236699873,-2.03115628621566,-2.10608349139995)); +#23=IFCCARTESIANPOINT((-0.441914557218223,-1.35474466259853,-1.4033457960458)); +#24=IFCCARTESIANPOINT((-1.0277536610817,-2.63504776698288,0.0156741140640717)); +#25=IFCCARTESIANPOINT((-0.586132169948448,-1.28094357617244,1.41972977499737)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('3siaoihzfF7gDKmggc_5Ir',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_redundant_faceinnerbound.ifc b/test/files/brp001/pass-brp001-rect_redundant_faceinnerbound.ifc new file mode 100644 index 00000000..5e8f120f --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_redundant_faceinnerbound.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_redundant_faceinnerbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('14u7hkYT12O8Rwkt5SU7tW',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((-0.5,-0.5,0.)); +#22=IFCCARTESIANPOINT((3.5,-0.5,0.)); +#23=IFCCARTESIANPOINT((3.5,2.5,0.)); +#24=IFCCARTESIANPOINT((-0.5,2.5,0.)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((2.,0.,0.)); +#29=IFCCARTESIANPOINT((3.,0.,0.)); +#30=IFCCARTESIANPOINT((3.,2.,0.)); +#31=IFCCARTESIANPOINT((0.,2.,0.)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('2NuDRLO1558OLSw9rKBM91',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_redundant_faceinnerbound_permuted.ifc b/test/files/brp001/pass-brp001-rect_redundant_faceinnerbound_permuted.ifc new file mode 100644 index 00000000..f31a4e2b --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_redundant_faceinnerbound_permuted.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_redundant_faceinnerbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('32VFcVU2T0nvSMJqw0Tr2x',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.256938415270424,0.658761941745721,-0.00391852851601793)); +#22=IFCCARTESIANPOINT((-0.626304566996073,-2.04944643987516,-2.81202985038262)); +#23=IFCCARTESIANPOINT((-1.50550282191874,-3.97086180413382,-0.68243518788656)); +#24=IFCCARTESIANPOINT((-0.622259839652248,-1.26265342251294,2.12567613398004)); +#25=IFCPOLYLOOP((#21,#22,#23,#24)); +#26=IFCFACEOUTERBOUND(#25,.F.); +#27=IFCCARTESIANPOINT((0.,0.,0.)); +#28=IFCCARTESIANPOINT((-0.441621491133248,-1.35410419081044,-1.4040556609333)); +#29=IFCCARTESIANPOINT((-0.662432236699873,-2.03115628621566,-2.10608349139995)); +#30=IFCCARTESIANPOINT((-1.24856440664832,-3.3120998623881,-0.686353716402578)); +#31=IFCCARTESIANPOINT((-0.586132169948448,-1.28094357617244,1.41972977499737)); +#32=IFCPOLYLOOP((#27,#28,#29,#30,#31)); +#33=IFCFACEBOUND(#32,.F.); +#34=IFCFACE((#26,#33)); +#35=IFCOPENSHELL((#34)); +#36=IFCSHELLBASEDSURFACEMODEL((#35)); +#37=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('23DpJREtX1HwU8RxLvHJlh',$,'Proxy',$,$,#41,#38,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_redundant_faceouterbound.ifc b/test/files/brp001/pass-brp001-rect_redundant_faceouterbound.ifc new file mode 100644 index 00000000..31ec1356 --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_redundant_faceouterbound.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_redundant_faceouterbound.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3mmvA2QQX36uKVvMRMQz$7',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((2.,0.,0.)); +#23=IFCCARTESIANPOINT((3.,0.,0.)); +#24=IFCCARTESIANPOINT((3.,2.,0.)); +#25=IFCCARTESIANPOINT((0.,2.,0.)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('3eGLcYPyz8sxgSTY3d3_s$',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/brp001/pass-brp001-rect_redundant_faceouterbound_permuted.ifc b/test/files/brp001/pass-brp001-rect_redundant_faceouterbound_permuted.ifc new file mode 100644 index 00000000..e5fc9261 --- /dev/null +++ b/test/files/brp001/pass-brp001-rect_redundant_faceouterbound_permuted.ifc @@ -0,0 +1,45 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-brp001-rect_redundant_faceouterbound_permuted.ifc','2024-09-30T13:53:38',(''),(''),'IfcOpenShell-0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.9-c18e4ea6c','IfcOpenShell-0.7.9-c18e4ea6c',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1727704418); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('1aOW9cK7P3uQ93YFvRFiqq',#5,'',$,$,$,$,(#11),#19); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCCARTESIANPOINT((-0.441621491133248,-1.35410419081044,-1.4040556609333)); +#23=IFCCARTESIANPOINT((-0.662432236699873,-2.03115628621566,-2.10608349139995)); +#24=IFCCARTESIANPOINT((-1.24856440664832,-3.3120998623881,-0.686353716402578)); +#25=IFCCARTESIANPOINT((-0.586132169948448,-1.28094357617244,1.41972977499737)); +#26=IFCPOLYLOOP((#21,#22,#23,#24,#25)); +#27=IFCFACEOUTERBOUND(#26,.T.); +#28=IFCFACE((#27)); +#29=IFCOPENSHELL((#28)); +#30=IFCSHELLBASEDSURFACEMODEL((#29)); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SurfaceModel',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('0txuVUU6DB4wxudtebWz7y',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/cls000/na-cls000-blank_file.ifc b/test/files/cls000/na-cls000-blank_file.ifc new file mode 100644 index 00000000..8814dfb7 --- /dev/null +++ b/test/files/cls000/na-cls000-blank_file.ifc @@ -0,0 +1,29 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2024-09-13T15:02:41',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1726239761); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); +#20=IFCPROJECT('3opSESl0HDJRR3Fl8nh$HW',#5,'',$,$,$,$,(#11),#19); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/cls000/na-cls000-classification_absent.ifc b/test/files/cls000/na-cls000-classification_absent.ifc new file mode 100644 index 00000000..03ea94e1 --- /dev/null +++ b/test/files/cls000/na-cls000-classification_absent.ifc @@ -0,0 +1,2494 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); +FILE_NAME('pass-ala003-multiple_alignments.ifc','2024-03-25T21:51:20',('redacted'),('Unknown'),'GeometryGymIFCcore v0.2.13.0 by Geometry Gym Pty Ltd built 2023-02-23T01:21:04','Civil 3D 2023 IfcInfra Plugin v13.5.35.0','None'); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCORGANIZATION($,'Autodesk',$,$,$); +#2=IFCAPPLICATION(#1,'Civil 3D 2023','Civil 3D','Civil 3D 2023 IfcInfra Plugin v13.5.35.0'); +#3=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#4=IFCAXIS2PLACEMENT3D(#3,$,$); +#5=IFCLOCALPLACEMENT($,#4); +#6=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#7=IFCAXIS2PLACEMENT3D(#6,$,$); +#9=IFCROAD('3H1GMa7n90jh9wIappFM4d',$,'UnknownName',$,$,#5,$,$,$,.NOTDEFINED.); +#12=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#13=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(0.3048),#12); +#14=IFCCONVERSIONBASEDUNIT(#15,.LENGTHUNIT.,'foot',#13); +#15=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0); +#16=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#17=IFCMEASUREWITHUNIT(IFCAREAMEASURE(0.0929),#16); +#18=IFCCONVERSIONBASEDUNIT(#19,.AREAUNIT.,'square foot',#17); +#19=IFCDIMENSIONALEXPONENTS(2,0,0,0,0,0,0); +#20=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#21=IFCMEASUREWITHUNIT(IFCVOLUMEMEASURE(0.02832),#20); +#22=IFCCONVERSIONBASEDUNIT(#23,.VOLUMEUNIT.,'cubic foot',#21); +#23=IFCDIMENSIONALEXPONENTS(3,0,0,0,0,0,0); +#24=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#25=IFCPROJECT('24Gn8Nh3D6d8e8$EFU4LBj',$,'Unknown',$,$,$,$,(#86),#26); +#26=IFCUNITASSIGNMENT((#14,#18,#22,#24)); +#27=IFCRELAGGREGATES('0fwWLXRgFThpXRJMgczBNw',$,$,$,#25,(#9)); +#28=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#29=IFCAXIS2PLACEMENT3D(#28,$,$); +#30=IFCLOCALPLACEMENT(#5,#29); +#31=IFCLOCALPLACEMENT(#5,#29); +#32=IFCALIGNMENT('2kLGlG0Bj4WfCcOFQBv8FW',$,'GCBC',$,'Centerline',#31,$,$); +#33=IFCRELCONTAINEDINSPATIALSTRUCTURE('2ZrkQ26XpFdUzz4h2lSDyC',$,$,' Container for Elements',(#32,#265,#394,#515,#661,#841,#978,#1133,#1347,#1476,#1630,#1811,#1991,#2094,#2497),#9); +#35=IFCPROPERTYSET('35XT3DNHr4vfG_LEm6RjKL',$,'Imported LandXML File [AeccDbAlignment]',$,(#37,#38,#39,#40,#41)); +#36=IFCRELDEFINESBYPROPERTIES('0OiBrn0znCEevLJoa9AFS3',$,$,$,(#32),#35); +#37=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:32:31'),$); +#38=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCBC.xml'),$); +#39=IFCPROPERTYSINGLEVALUE('[LandXML::File path]',$,IFCLABEL('C:\\WinProjects\\GenericVDC\\20036781_I74\\ALG\\'),$); +#40=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:38:33'),$); +#41=IFCPROPERTYSINGLEVALUE('[LandXML::Version]',$,IFCLABEL('1.2'),$); +#42=IFCPROPERTYSET('1aJKCQyMb3QwcheR1lZYgB',$,'LandXML Attributes [AeccDbAlignment]',$,(#44,#45,#46,#47)); +#43=IFCRELDEFINESBYPROPERTIES('2rF_IJyZXFG81XnnrS6wiL',$,$,$,(#32),#42); +#44=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('1420.099129'),$); +#45=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCBC'),$); +#46=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('328.083333'),$); +#47=IFCPROPERTYSINGLEVALUE('[Alignment::state]',$,IFCLABEL('proposed'),$); +#48=IFCALIGNMENTHORIZONTAL('0kEbABwqs58RQ01hKhYHkI',$,'GCBC',$,$,#31,#136); +#49=IFCRELNESTS('3cUEVReBd08r8qr8v_5Fji',$,$,$,#32,(#48,#137)); +#50=IFCPROPERTYSET('2LaBqkApDEduWoHxCW1Ad8',$,'Imported LandXML File [AeccDbAlignment]',$,(#37,#38,#39,#40,#41)); +#51=IFCRELDEFINESBYPROPERTIES('3knTVfO4b7cPrmd1Cxrd8i',$,$,$,(#48),#50); +#52=IFCPROPERTYSET('0rKL1IN8z0jxcK_heGpiby',$,'LandXML Attributes [AeccDbAlignment]',$,(#44,#45,#46,#47)); +#53=IFCRELDEFINESBYPROPERTIES('250W4oTMT3VBhvcQv8MTFT',$,$,$,(#48),#52); +#54=IFCCARTESIANPOINT((-5866.05084,10133.52073)); +#55=IFCALIGNMENTHORIZONTALSEGMENT($,$,#54,-0.397074901682382,0.0,0.0,280.56081,$,.LINE.); +#56=IFCALIGNMENTSEGMENT('01PBpt5eTvzKN0Um$oT39S',$,$,$,$,#31,#92,#55); +#57=IFCRELNESTS('1yUXdzq4$r_rzD1gg4$AHD',$,$,$,#48,(#56,#60,#63,#66,#69,#72,#75,#78)); +#58=IFCCARTESIANPOINT((-5607.31874,10025.02155)); +#59=IFCALIGNMENTHORIZONTALSEGMENT($,$,#58,-0.397074901682394,-99.9998,-99.9998,126.80429,$,.CIRCULARARC.); +#60=IFCALIGNMENTSEGMENT('2v08j4LKlAjpgVZFidTp$2',$,$,$,$,#31,#100,#59); +#61=IFCCARTESIANPOINT((-5546.43563,9923.38372)); +#62=IFCALIGNMENTHORIZONTALSEGMENT($,$,#61,-1.66512035182795,0.0,0.0,295.84548,$,.LINE.); +#63=IFCALIGNMENTSEGMENT('0h1llWs1ho1GPR62yghBCe',$,$,$,$,#31,#105,#62); +#64=IFCCARTESIANPOINT((-5574.29961,9628.85334)); +#65=IFCALIGNMENTHORIZONTALSEGMENT($,$,#64,-1.66512035182794,114.99977,114.99977,162.7639,$,.CIRCULARARC.); +#66=IFCALIGNMENTSEGMENT('2pHUojw8GMEqTBWAgkFD9K',$,$,$,$,#31,#111,#65); +#67=IFCCARTESIANPOINT((-5488.23784,9506.59119)); +#68=IFCALIGNMENTHORIZONTALSEGMENT($,$,#67,-0.249779264373104,0.0,0.0,397.89239,$,.LINE.); +#69=IFCALIGNMENTSEGMENT('2cXmxqPLPp4NtbFaGLFgC_',$,$,$,$,#31,#116,#68); +#70=IFCCARTESIANPOINT((-5102.69324,9408.23614)); +#71=IFCALIGNMENTHORIZONTALSEGMENT($,$,#70,-0.249779264373122,-99.9998,-99.9998,50.55546,$,.CIRCULARARC.); +#72=IFCALIGNMENTSEGMENT('0bcuMXz9lDu3Rj5vv_PvJL',$,$,$,$,#31,#122,#71); +#73=IFCCARTESIANPOINT((-5058.85908,9384.14369)); +#74=IFCALIGNMENTHORIZONTALSEGMENT($,$,#73,-0.755334832894678,99.9998,99.9998,61.57937,$,.CIRCULARARC.); +#75=IFCALIGNMENTSEGMENT('0fmqyG67$v8D$fHwMCfvs1',$,$,$,$,#31,#128,#74); +#76=IFCCARTESIANPOINT((-5004.21469,9357.91994)); +#77=IFCALIGNMENTHORIZONTALSEGMENT($,$,#76,-0.139539881591857,0.0,0.0,44.09743,$,.LINE.); +#78=IFCALIGNMENTSEGMENT('288JZ92gkgbNQQZVHAvpyK',$,$,$,$,#31,#133,#77); +#79=IFCAXIS2PLACEMENT2D(#54,#80); +#80=IFCDIRECTION((0.92219614,-0.38672249)); +#81=IFCCARTESIANPOINT((0.0,0.0)); +#82=IFCDIRECTION((1.0,0.0)); +#83=IFCVECTOR(#82,1.0); +#84=IFCLINE(#81,#83); +#85=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#79,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(280.560813625172),#84); +#86=IFCGEOMETRICREPRESENTATIONCONTEXT('3D','Model',3,0.0001,#88,#89); +#87=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#88=IFCAXIS2PLACEMENT3D(#87,$,$); +#89=IFCDIRECTION((0.0,1.0)); +#90=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#86,$,.GRAPH_VIEW.,$); +#91=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#85)); +#92=IFCPRODUCTDEFINITIONSHAPE($,$,(#91)); +#93=IFCAXIS2PLACEMENT2D(#58,#94); +#94=IFCDIRECTION((0.92219614,-0.38672249)); +#95=IFCCARTESIANPOINT((0.0,0.0)); +#96=IFCAXIS2PLACEMENT2D(#95,$); +#97=IFCCIRCLE(#96,99.9998); +#98=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#93,IFCLENGTHMEASURE(0.0),IFCPARAMETERVALUE(-1.26804545014559),#97); +#99=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#98)); +#100=IFCPRODUCTDEFINITIONSHAPE($,$,(#99)); +#101=IFCAXIS2PLACEMENT2D(#61,#102); +#102=IFCDIRECTION((-0.09418422,-0.99555479)); +#103=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#101,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(295.845477655276),#84); +#104=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#103)); +#105=IFCPRODUCTDEFINITIONSHAPE($,$,(#104)); +#106=IFCAXIS2PLACEMENT2D(#64,#107); +#107=IFCDIRECTION((-0.09418422,-0.99555479)); +#108=IFCCIRCLE(#96,114.99977); +#109=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#106,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(162.763899528876),#108); +#110=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#109)); +#111=IFCPRODUCTDEFINITIONSHAPE($,$,(#110)); +#112=IFCAXIS2PLACEMENT2D(#67,#113); +#113=IFCDIRECTION((0.96896701,-0.24719008)); +#114=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#112,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(397.892392356574),#84); +#115=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#114)); +#116=IFCPRODUCTDEFINITIONSHAPE($,$,(#115)); +#117=IFCAXIS2PLACEMENT2D(#70,#118); +#118=IFCDIRECTION((0.96896701,-0.24719008)); +#119=IFCCIRCLE(#96,99.9998); +#120=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#117,IFCLENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.505555568521531),#119); +#121=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#120)); +#122=IFCPRODUCTDEFINITIONSHAPE($,$,(#121)); +#123=IFCAXIS2PLACEMENT2D(#73,#124); +#124=IFCDIRECTION((0.72804205,-0.68553248)); +#125=IFCCIRCLE(#96,99.9998); +#126=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#123,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(61.5793719712762),#125); +#127=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#126)); +#128=IFCPRODUCTDEFINITIONSHAPE($,$,(#127)); +#129=IFCAXIS2PLACEMENT2D(#76,#130); +#130=IFCDIRECTION((0.9902801,-0.13908748)); +#131=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#129,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(44.0974262919718),#84); +#132=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#131)); +#133=IFCPRODUCTDEFINITIONSHAPE($,$,(#132)); +#134=IFCCOMPOSITECURVE((#85,#98,#103,#109,#114,#120,#126,#131),.U.); +#135=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#134)); +#136=IFCPRODUCTDEFINITIONSHAPE($,$,(#135)); +#137=IFCALIGNMENTVERTICAL('34MTzqiBRzTpHT6F6E$nu6',$,'GCBC',$,'FG',#31,#251); +#138=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,44.99991,740.35852,0.0135517241379295,0.0135517241379295,$,.CONSTANTGRADIENT.); +#139=IFCALIGNMENTSEGMENT('01AdjI$q4phDIc5pUMCQ5i',$,$,$,$,#31,#170,#138); +#140=IFCRELNESTS('3RR1GUxtEu4nZ05bPamxQA',$,$,$,#137,(#139,#142,#144,#146,#148,#150,#152,#154,#156,#158,#160,#162,#164)); +#141=IFCALIGNMENTVERTICALSEGMENT($,$,44.99991,199.9996,740.96835,0.013551724137931,-0.0113414634146323,-8034.31058,.PARABOLICARC.); +#142=IFCALIGNMENTSEGMENT('3T0E6YdNJvY90PMmkX_yJZ',$,$,$,$,#31,#177,#141); +#143=IFCALIGNMENTVERTICALSEGMENT($,$,244.99951,29.99994,741.18937,-0.0113414634146314,-0.0113414634146314,$,.CONSTANTGRADIENT.); +#144=IFCALIGNMENTSEGMENT('3Zz80RXzg4$7Jm1gVOtDGm',$,$,$,$,#31,#183,#143); +#145=IFCALIGNMENTVERTICALSEGMENT($,$,274.99945,149.9997,740.84913,-0.0113414634146315,-0.0300000000000009,-8039.19961,.PARABOLICARC.); +#146=IFCALIGNMENTSEGMENT('2WAtkRNByewyxN35H$zlTD',$,$,$,$,#31,#190,#145); +#147=IFCALIGNMENTVERTICALSEGMENT($,$,424.99915,24.99995,737.74852,-0.0300000000000038,-0.0300000000000038,$,.CONSTANTGRADIENT.); +#148=IFCALIGNMENTSEGMENT('1dl6$AYWfBZPIj_dzYLMbm',$,$,$,$,#31,#196,#147); +#149=IFCALIGNMENTVERTICALSEGMENT($,$,449.9991,199.9996,736.99853,-0.0300000000000001,-0.00755999999999818,-8912.63815,.PARABOLICARC.); +#150=IFCALIGNMENTSEGMENT('3dXF9booPncbfUchD8dAzL',$,$,$,$,#31,#203,#149); +#151=IFCALIGNMENTVERTICALSEGMENT($,$,649.9987,49.9999,733.24253,-0.00755999999999888,-0.00755999999999888,$,.CONSTANTGRADIENT.); +#152=IFCALIGNMENTSEGMENT('0wG7Ai0A$UnQqS57NXMVWC',$,$,$,$,#31,#209,#151); +#153=IFCALIGNMENTVERTICALSEGMENT($,$,699.9986,199.9996,732.86453,-0.00755999999999933,0.00629333333333317,-14436.92974,.PARABOLICARC.); +#154=IFCALIGNMENTSEGMENT('1D$3yiBjRfTlRU8Nv1pkTo',$,$,$,$,#31,#216,#153); +#155=IFCALIGNMENTVERTICALSEGMENT($,$,899.9982,174.99965,732.73787,0.00629333333333344,0.00629333333333344,$,.CONSTANTGRADIENT.); +#156=IFCALIGNMENTSEGMENT('0HDZtcvwdzOj$vTYdFVlsQ',$,$,$,$,#31,#222,#155); +#157=IFCALIGNMENTVERTICALSEGMENT($,$,1074.99785,199.9996,733.8392,0.0062933333333343,-0.0484000000000019,-3656.74549,.PARABOLICARC.); +#158=IFCALIGNMENTSEGMENT('2SfeqJnTyNUD2PPAlz0LPD',$,$,$,$,#31,#229,#157); +#159=IFCALIGNMENTVERTICALSEGMENT($,$,1274.99745,44.99991,729.62854,-0.0484000000000004,-0.0484000000000004,$,.CONSTANTGRADIENT.); +#160=IFCALIGNMENTSEGMENT('1cm3PrO0zLuQ6Sbfxyw70h',$,$,$,$,#31,#235,#159); +#161=IFCALIGNMENTVERTICALSEGMENT($,$,1319.99736,59.99988,727.45055,-0.0484000000000006,-0.0132131176010895,-1705.1775,.PARABOLICARC.); +#162=IFCALIGNMENTSEGMENT('0Z5ar1KYd7HUBqJ2c4NuTc',$,$,$,$,#31,#242,#161); +#163=IFCALIGNMENTVERTICALSEGMENT($,$,1379.99724,40.10189,725.60216,-0.0132131176010876,-0.0132131176010876,$,.CONSTANTGRADIENT.); +#164=IFCALIGNMENTSEGMENT('1RbGhtlFTce7A0EiP2DBbv',$,$,$,$,#31,#248,#163); +#165=IFCCARTESIANPOINT((0.0,740.35852)); +#166=IFCDIRECTION((0.99990819,0.01355048)); +#167=IFCAXIS2PLACEMENT2D(#165,#166); +#168=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#167,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(45.0040419096452),#84); +#169=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#168)); +#170=IFCPRODUCTDEFINITIONSHAPE($,$,(#169)); +#171=IFCCARTESIANPOINT((44.99991,740.96835)); +#172=IFCDIRECTION((0.99990819,0.01355048)); +#173=IFCAXIS2PLACEMENT2D(#171,#172); +#174=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.22330933E-05),$); +#175=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#173,IFCPARAMETERVALUE(-108.878760551396),IFCPARAMETERVALUE(199.9996),#174); +#176=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#175)); +#177=IFCPRODUCTDEFINITIONSHAPE($,$,(#176)); +#178=IFCCARTESIANPOINT((244.99951,741.18937)); +#179=IFCDIRECTION((0.99993569,-0.01134073)); +#180=IFCAXIS2PLACEMENT2D(#178,#179); +#181=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#180,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(30.0018693659762),#84); +#182=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#181)); +#183=IFCPRODUCTDEFINITIONSHAPE($,$,(#182)); +#184=IFCCARTESIANPOINT((274.99945,740.84913)); +#185=IFCDIRECTION((0.99993569,-0.01134073)); +#186=IFCAXIS2PLACEMENT2D(#184,#185); +#187=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.21952463E-05),$); +#188=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#186,IFCPARAMETERVALUE(91.1762882352559),IFCPARAMETERVALUE(149.9997),#187); +#189=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#188)); +#190=IFCPRODUCTDEFINITIONSHAPE($,$,(#189)); +#191=IFCCARTESIANPOINT((424.99915,737.74852)); +#192=IFCDIRECTION((0.9995503,-0.02998651)); +#193=IFCAXIS2PLACEMENT2D(#191,#192); +#194=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#193,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(25.0111974474075),#84); +#195=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#194)); +#196=IFCPRODUCTDEFINITIONSHAPE($,$,(#195)); +#197=IFCCARTESIANPOINT((449.9991,736.99853)); +#198=IFCDIRECTION((0.9995503,-0.02998651)); +#199=IFCAXIS2PLACEMENT2D(#197,#198); +#200=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.61001122E-05),$); +#201=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#199,IFCPARAMETERVALUE(-267.379144385005),IFCPARAMETERVALUE(199.9996),#200); +#202=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#201)); +#203=IFCPRODUCTDEFINITIONSHAPE($,$,(#202)); +#204=IFCCARTESIANPOINT((649.9987,733.24253)); +#205=IFCDIRECTION((0.99997142,-0.00755978)); +#206=IFCAXIS2PLACEMENT2D(#204,#205); +#207=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#206,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(50.001328816715),#84); +#208=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#207)); +#209=IFCPRODUCTDEFINITIONSHAPE($,$,(#208)); +#210=IFCCARTESIANPOINT((699.9986,732.86453)); +#211=IFCDIRECTION((0.99997142,-0.00755978)); +#212=IFCAXIS2PLACEMENT2D(#210,#211); +#213=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.46334026E-05),$); +#214=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#212,IFCPARAMETERVALUE(-109.143188835415),IFCPARAMETERVALUE(199.9996),#213); +#215=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#214)); +#216=IFCPRODUCTDEFINITIONSHAPE($,$,(#215)); +#217=IFCCARTESIANPOINT((899.9982,732.73787)); +#218=IFCDIRECTION((0.9999802,0.00629321)); +#219=IFCAXIS2PLACEMENT2D(#217,#218); +#220=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#219,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(175.00311548765),#84); +#221=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#220)); +#222=IFCPRODUCTDEFINITIONSHAPE($,$,(#221)); +#223=IFCCARTESIANPOINT((1074.99785,733.8392)); +#224=IFCDIRECTION((0.9999802,0.00629321)); +#225=IFCAXIS2PLACEMENT2D(#223,#224); +#226=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.36733607E-04),$); +#227=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#225,IFCPARAMETERVALUE(-23.0131182837663),IFCPARAMETERVALUE(199.9996),#226); +#228=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#227)); +#229=IFCPRODUCTDEFINITIONSHAPE($,$,(#228)); +#230=IFCCARTESIANPOINT((1274.99745,729.62854)); +#231=IFCDIRECTION((0.99883077,-0.04834341)); +#232=IFCAXIS2PLACEMENT2D(#230,#231); +#233=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#232,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(45.0525866630037),#84); +#234=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#233)); +#235=IFCPRODUCTDEFINITIONSHAPE($,$,(#234)); +#236=IFCCARTESIANPOINT((1319.99736,727.45055)); +#237=IFCDIRECTION((0.99883077,-0.04834341)); +#238=IFCAXIS2PLACEMENT2D(#236,#237); +#239=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.93224606E-04),$); +#240=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#238,IFCPARAMETERVALUE(-82.5305907774851),IFCPARAMETERVALUE(59.9998799999998),#239); +#241=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#240)); +#242=IFCPRODUCTDEFINITIONSHAPE($,$,(#241)); +#243=IFCCARTESIANPOINT((1379.99724,725.60216)); +#244=IFCDIRECTION((0.99991272,-0.01321196)); +#245=IFCAXIS2PLACEMENT2D(#243,#244); +#246=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#245,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(40.1053890470538),#84); +#247=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#246)); +#248=IFCPRODUCTDEFINITIONSHAPE($,$,(#247)); +#249=IFCGRADIENTCURVE((#168,#175,#181,#188,#194,#201,#207,#214,#220,#227,#233,#240,#246),.U.,#134,$); +#250=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#249)); +#251=IFCPRODUCTDEFINITIONSHAPE($,$,(#250)); +#252=IFCCOLOURRGB('red',1.0,0.0,0.0); +#253=IFCSURFACESTYLESHADING(#252,$); +#254=IFCSURFACESTYLE($,.BOTH.,(#253)); +#255=IFCPRESENTATIONLAYERWITHSTYLE('C-ROAD-PROF',$,(#249,#382,#503,#649,#829,#966,#1121,#1335,#1464,#1618,#1799,#1979,#2082,#2476),$,.U.,.U.,.U.,(#254)); +#256=IFCSTYLEDITEM(#249,(#254),'C-ROAD-PROF'); +#257=IFCREFERENT('0S3av9XNfAWOeKe$5QaaAi',$,'3+28.08',$,$,#261,$,.STATION.); +#258=IFCRELNESTS('0Vz6UqDlXuX5dliC0KzQTI',$,$,$,#32,(#257)); +#259=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#134); +#260=IFCAXIS2PLACEMENTLINEAR(#259,$,$); +#261=IFCLINEARPLACEMENT(#31,#260,$); +#262=IFCPROPERTYSET('07pySuYxrCYRgg9xsxAv3g',$,'Pset_Stationing',$,(#264)); +#263=IFCRELDEFINESBYPROPERTIES('1UqoQD1KHA9R0vQOVYsj3G',$,$,$,(#257),#262); +#264=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(328.083333333333),$); +#265=IFCALIGNMENT('2Gq7FvIxDAwvteBgSOj0uB',$,'GCCC',$,'Centerline',#31,$,$); +#267=IFCPROPERTYSET('1RqMBBxir0vx0mXHfztjHn',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#269,#270,#271)); +#268=IFCRELDEFINESBYPROPERTIES('1OtTtIpiPDfQfIrDYBpj_q',$,$,$,(#265),#267); +#269=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:33:19'),$); +#270=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCCC.xml'),$); +#271=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:38:47'),$); +#272=IFCPROPERTYSET('3RONoTYdX9aAzVmadi6OX4',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#274,#275,#276)); +#273=IFCRELDEFINESBYPROPERTIES('2kyUZ8Fkr8QwNYn8KxHP7T',$,$,$,(#265),#272); +#274=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('1700.387506'),$); +#275=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCCC'),$); +#276=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('402632.823342'),$); +#277=IFCALIGNMENTHORIZONTAL('2l9c3JUSi3TYyheJPrYPhk',$,'GCCC',$,$,#31,#320); +#278=IFCRELNESTS('2vdWtSjP_gLR2QtziXZoeT',$,$,$,#265,(#277,#321)); +#279=IFCPROPERTYSET('37n7yuGxz54fAgSn9MAMok',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#269,#270,#271)); +#280=IFCRELDEFINESBYPROPERTIES('1ZoazVjyjDCuj$3ltxsEA6',$,$,$,(#277),#279); +#281=IFCPROPERTYSET('2Bjyy4cebBIfhDty7poMcn',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#274,#275,#276)); +#282=IFCRELDEFINESBYPROPERTIES('38LA_bfWr0OB_UE0TG6eC3',$,$,$,(#277),#281); +#283=IFCCARTESIANPOINT((-5048.7746,9881.69516)); +#284=IFCALIGNMENTHORIZONTALSEGMENT($,$,#283,1.45660902719874,0.0,0.0,637.06047,$,.LINE.); +#285=IFCALIGNMENTSEGMENT('3u144VcH0cicnw_soNDT6I',$,$,$,$,#31,#300,#284); +#286=IFCRELNESTS('0Lroo9lO7WxCE9G2z4ObS5',$,$,$,#277,(#285,#289,#292,#295)); +#287=IFCCARTESIANPOINT((-4976.18837,10514.6069)); +#288=IFCALIGNMENTHORIZONTALSEGMENT($,$,#287,1.45660902719874,7999.984,7999.984,473.65846,$,.CIRCULARARC.); +#289=IFCALIGNMENTSEGMENT('1WZzTX8dXpqc23lMKJAX5R',$,$,$,$,#31,#306,#288); +#290=IFCCARTESIANPOINT((-4936.17824,10986.50307)); +#291=IFCALIGNMENTHORIZONTALSEGMENT($,$,#290,1.51581645250978,0.0,0.0,434.54767,$,.LINE.); +#292=IFCALIGNMENTSEGMENT('1WTttQjeaLt29Qt8HC6Dc5',$,$,$,$,#31,#311,#291); +#293=IFCCARTESIANPOINT((-4912.2989,11420.39413)); +#294=IFCALIGNMENTHORIZONTALSEGMENT($,$,#293,1.51581645250978,675.90111,675.90111,155.12091,$,.CIRCULARARC.); +#295=IFCALIGNMENTSEGMENT('3qOMBfCMFG4lK012JLJ8jD',$,$,$,$,#31,#317,#294); +#296=IFCAXIS2PLACEMENT2D(#283,#297); +#297=IFCDIRECTION((0.11393932,0.99348771)); +#298=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#296,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(637.060466734512),#84); +#299=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#298)); +#300=IFCPRODUCTDEFINITIONSHAPE($,$,(#299)); +#301=IFCAXIS2PLACEMENT2D(#287,#302); +#302=IFCDIRECTION((0.11393932,0.99348771)); +#303=IFCCIRCLE(#96,7999.984); +#304=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#301,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(473.658455169594),#303); +#305=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#304)); +#306=IFCPRODUCTDEFINITIONSHAPE($,$,(#305)); +#307=IFCAXIS2PLACEMENT2D(#290,#308); +#308=IFCDIRECTION((0.05495218,0.99848899)); +#309=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#307,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(434.547670070254),#84); +#310=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#309)); +#311=IFCPRODUCTDEFINITIONSHAPE($,$,(#310)); +#312=IFCAXIS2PLACEMENT2D(#293,#313); +#313=IFCDIRECTION((0.05495218,0.99848899)); +#314=IFCCIRCLE(#96,675.90111); +#315=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#312,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(155.120914197409),#314); +#316=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#315)); +#317=IFCPRODUCTDEFINITIONSHAPE($,$,(#316)); +#318=IFCCOMPOSITECURVE((#298,#304,#309,#315),.U.); +#319=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#318)); +#320=IFCPRODUCTDEFINITIONSHAPE($,$,(#319)); +#321=IFCALIGNMENTVERTICAL('0cJWeQIosLWJgdZ51pIa94',$,'GCCC',$,'FG',#31,#384); +#322=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,77.26985,745.52541,-0.0214547780132206,-0.0214547780132206,$,.CONSTANTGRADIENT.); +#323=IFCALIGNMENTSEGMENT('33tQs4vueHzKm$4N6Rs32z',$,$,$,$,#31,#342,#322); +#324=IFCRELNESTS('1nDjWXjXPPhE$lWM_3dn9O',$,$,$,#321,(#323,#326,#328,#330,#332,#334,#336)); +#325=IFCALIGNMENTVERTICALSEGMENT($,$,77.26985,299.9994,743.86761,-0.021454778013238,0.00542448014474626,-11160.99999,.PARABOLICARC.); +#326=IFCALIGNMENTSEGMENT('2moOmBUzswe$goh46Ijs5D',$,$,$,$,#31,#349,#325); +#327=IFCALIGNMENTVERTICALSEGMENT($,$,377.26925,209.99958,741.46307,0.0054244801447452,0.0054244801447452,$,.CONSTANTGRADIENT.); +#328=IFCALIGNMENTSEGMENT('3j9cYM24phuwU9OdSgGb7i',$,$,$,$,#31,#355,#327); +#329=IFCALIGNMENTVERTICALSEGMENT($,$,587.26883,399.9992,742.60221,0.00542448014474683,0.0404913052665738,-11406.76975,.PARABOLICARC.); +#330=IFCALIGNMENTSEGMENT('3pK7VP_3W4QsL2Bp04Z1tR',$,$,$,$,#31,#362,#329); +#331=IFCALIGNMENTVERTICALSEGMENT($,$,987.26803,214.99957,751.78534,0.0404913052665639,0.0404913052665639,$,.CONSTANTGRADIENT.); +#332=IFCALIGNMENTSEGMENT('0lvG2gqe7KpGTzcRiuEkG5',$,$,$,$,#31,#368,#331); +#333=IFCALIGNMENTVERTICALSEGMENT($,$,1202.2676,339.99932,760.49096,0.0404913052665734,0.0175450531237248,-14817.20491,.PARABOLICARC.); +#334=IFCALIGNMENTSEGMENT('3v$bs7TM7e4DQNcRP4UqvM',$,$,$,$,#31,#375,#333); +#335=IFCALIGNMENTVERTICALSEGMENT($,$,1542.26692,158.12059,770.35712,0.0175450531237257,0.0175450531237257,$,.CONSTANTGRADIENT.); +#336=IFCALIGNMENTSEGMENT('3xKatt7CtybYR3qMS8lKFU',$,$,$,$,#31,#381,#335); +#337=IFCCARTESIANPOINT((0.0,745.52541)); +#338=IFCDIRECTION((0.99976993,-0.02144984)); +#339=IFCAXIS2PLACEMENT2D(#337,#338); +#340=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#339,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(77.2876273470025),#84); +#341=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#340)); +#342=IFCPRODUCTDEFINITIONSHAPE($,$,(#341)); +#343=IFCCARTESIANPOINT((77.26985,743.86761)); +#344=IFCDIRECTION((0.99976993,-0.02144984)); +#345=IFCAXIS2PLACEMENT2D(#343,#344); +#346=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.47988532E-05),$); +#347=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#345,IFCPARAMETERVALUE(-239.456777165262),IFCPARAMETERVALUE(299.999399999972),#346); +#348=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#347)); +#349=IFCPRODUCTDEFINITIONSHAPE($,$,(#348)); +#350=IFCCARTESIANPOINT((377.26925,741.46307)); +#351=IFCDIRECTION((0.99998529,0.0054244)); +#352=IFCAXIS2PLACEMENT2D(#350,#351); +#353=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#352,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(210.002669607718),#84); +#354=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#353)); +#355=IFCPRODUCTDEFINITIONSHAPE($,$,(#354)); +#356=IFCCARTESIANPOINT((587.26883,742.60221)); +#357=IFCDIRECTION((0.99998529,0.0054244)); +#358=IFCAXIS2PLACEMENT2D(#356,#357); +#359=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.38336191E-05),$); +#360=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#358,IFCPARAMETERVALUE(61.8757960202062),IFCPARAMETERVALUE(399.999199999962),#359); +#361=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#360)); +#362=IFCPRODUCTDEFINITIONSHAPE($,$,(#361)); +#363=IFCCARTESIANPOINT((987.26803,751.78534)); +#364=IFCDIRECTION((0.99918123,0.04045815)); +#365=IFCAXIS2PLACEMENT2D(#363,#364); +#366=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#365,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(215.175748636741),#84); +#367=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#366)); +#368=IFCPRODUCTDEFINITIONSHAPE($,$,(#367)); +#369=IFCCARTESIANPOINT((1202.2676,760.49096)); +#370=IFCDIRECTION((0.99918123,0.04045815)); +#371=IFCAXIS2PLACEMENT2D(#369,#370); +#372=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.37445559E-05),$); +#373=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#371,IFCPARAMETERVALUE(-599.967967354548),IFCPARAMETERVALUE(339.999320000061),#372); +#374=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#373)); +#375=IFCPRODUCTDEFINITIONSHAPE($,$,(#374)); +#376=IFCCARTESIANPOINT((1542.26692,770.35712)); +#377=IFCDIRECTION((0.99984612,0.01754235)); +#378=IFCAXIS2PLACEMENT2D(#376,#377); +#379=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#378,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(158.144925881282),#84); +#380=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#379)); +#381=IFCPRODUCTDEFINITIONSHAPE($,$,(#380)); +#382=IFCGRADIENTCURVE((#340,#347,#353,#360,#366,#373,#379),.U.,#318,$); +#383=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#382)); +#384=IFCPRODUCTDEFINITIONSHAPE($,$,(#383)); +#385=IFCSTYLEDITEM(#382,(#254),'C-ROAD-PROF'); +#386=IFCREFERENT('1JIB3_3sH2ARdirBS89Tbi',$,'4026+32.82',$,$,#390,$,.STATION.); +#387=IFCRELNESTS('0xPidG4CDRI9Zcm_lrHDJu',$,$,$,#265,(#386)); +#388=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#318); +#389=IFCAXIS2PLACEMENTLINEAR(#388,$,$); +#390=IFCLINEARPLACEMENT(#31,#389,$); +#391=IFCPROPERTYSET('2geCaUUEvAoeWg10qZ3jY6',$,'Pset_Stationing',$,(#393)); +#392=IFCRELDEFINESBYPROPERTIES('35m_S7Hs91Tx6vq5mbn4LX',$,$,$,(#386),#391); +#393=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(402632.823341667),$); +#394=IFCALIGNMENT('24R49$H8LFTRkKXKNIwc1Y',$,'GCDC',$,'Centerline',#31,$,$); +#396=IFCPROPERTYSET('2zNC4cJ5PFhRQ8TV5SvOzM',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#398,#399,#400)); +#397=IFCRELDEFINESBYPROPERTIES('3A0aPfvmf6T8i1U9gWGNuc',$,$,$,(#394),#396); +#398=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:33:50'),$); +#399=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCDC.xml'),$); +#400=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:39:00'),$); +#401=IFCPROPERTYSET('2aGkrJnrjEA9dHxqa7GaGQ',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#403,#404,#405)); +#402=IFCRELDEFINESBYPROPERTIES('1xyK0d2znFb9pKTkPctAMA',$,$,$,(#394),#401); +#403=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2961.414418'),$); +#404=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCDC'),$); +#405=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('587105.125000'),$); +#406=IFCALIGNMENTHORIZONTAL('0IAPc9R4UjqzvMqiR$uvjr',$,'GCDC',$,$,#31,#458); +#407=IFCRELNESTS('0PqgJJfJZ7IfJY8lflYBlo',$,$,$,#394,(#406,#459)); +#408=IFCPROPERTYSET('2Togxn6ur5DO8IykBKvkN0',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#398,#399,#400)); +#409=IFCRELDEFINESBYPROPERTIES('3yUnd_xo17zQEweflqYf6m',$,$,$,(#406),#408); +#410=IFCPROPERTYSET('2id4lql4X3OPfO2AZmHlB1',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#403,#404,#405)); +#411=IFCRELDEFINESBYPROPERTIES('0O$_mMMrHEnQmoMDekp$hU',$,$,$,(#406),#410); +#412=IFCCARTESIANPOINT((-4675.7838,6981.51802)); +#413=IFCALIGNMENTHORIZONTALSEGMENT($,$,#412,-4.35682309098959,0.0,0.0,252.07578,$,.LINE.); +#414=IFCALIGNMENTSEGMENT('2dxcmebQgfxzd8t7gMxmF2',$,$,$,$,#31,#432,#413); +#415=IFCRELNESTS('0k3KbNZYrK$_$ktekMt2Da',$,$,$,#406,(#414,#418,#421,#424,#427)); +#416=IFCCARTESIANPOINT((-4763.53665,7217.82637)); +#417=IFCALIGNMENTHORIZONTALSEGMENT($,$,#416,-4.35682309098959,-7074.70585,-7074.70585,393.10928,$,.CIRCULARARC.); +#418=IFCALIGNMENTSEGMENT('0Bjw_UfcUrbl1y63mHOYrc',$,$,$,$,#31,#438,#417); +#419=IFCCARTESIANPOINT((-4890.07994,7589.95799)); +#420=IFCALIGNMENTHORIZONTALSEGMENT($,$,#419,-4.41238855041896,-5399.9892,-5399.9892,482.78468,$,.CIRCULARARC.); +#421=IFCALIGNMENTSEGMENT('0ZsI7BSbJmU7k8bArsvkst',$,$,$,$,#31,#444,#420); +#422=IFCCARTESIANPOINT((-5011.9588,8056.93913)); +#423=IFCALIGNMENTHORIZONTALSEGMENT($,$,#422,-4.50179330013286,-4599.9908,-4599.9908,1493.99871,$,.CIRCULARARC.); +#424=IFCALIGNMENTSEGMENT('0BcrVLeHP$YrjqTw6mTki$',$,$,$,$,#31,#450,#423); +#425=IFCCARTESIANPOINT((-5083.63192,9542.65232)); +#426=IFCALIGNMENTHORIZONTALSEGMENT($,$,#425,1.45660902838361,0.0,0.0,339.44596,$,.LINE.); +#427=IFCALIGNMENTSEGMENT('3wHPcBSjCfc57Lhq2AHh5d',$,$,$,$,#31,#455,#426); +#428=IFCAXIS2PLACEMENT2D(#412,#429); +#429=IFCDIRECTION((-0.34812091,0.93744964)); +#430=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#428,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(252.075779806402),#84); +#431=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#430)); +#432=IFCPRODUCTDEFINITIONSHAPE($,$,(#431)); +#433=IFCAXIS2PLACEMENT2D(#416,#434); +#434=IFCDIRECTION((-0.34812091,0.93744964)); +#435=IFCCIRCLE(#96,7074.70585); +#436=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#433,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0555654594293693),#435); +#437=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#436)); +#438=IFCPRODUCTDEFINITIONSHAPE($,$,(#437)); +#439=IFCAXIS2PLACEMENT2D(#419,#440); +#440=IFCDIRECTION((-0.29552062,0.95533636)); +#441=IFCCIRCLE(#96,5399.9892); +#442=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#439,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0894047497139008),#441); +#443=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#442)); +#444=IFCPRODUCTDEFINITIONSHAPE($,$,(#443)); +#445=IFCAXIS2PLACEMENT2D(#422,#446); +#446=IFCDIRECTION((-0.20904246,0.97790657)); +#447=IFCCIRCLE(#96,4599.9908); +#448=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#445,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.324782978663104),#447); +#449=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#448)); +#450=IFCPRODUCTDEFINITIONSHAPE($,$,(#449)); +#451=IFCAXIS2PLACEMENT2D(#425,#452); +#452=IFCDIRECTION((0.11393932,0.99348771)); +#453=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#451,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(339.445960714132),#84); +#454=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#453)); +#455=IFCPRODUCTDEFINITIONSHAPE($,$,(#454)); +#456=IFCCOMPOSITECURVE((#430,#436,#442,#448,#453),.U.); +#457=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#456)); +#458=IFCPRODUCTDEFINITIONSHAPE($,$,(#457)); +#459=IFCALIGNMENTVERTICAL('3rRc9h9_0lv1g2B8l62Ibv',$,'GCDC',$,'FG',#31,#505); +#460=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,1167.99766,740.39852,0.00114383561643815,0.00114383561643815,$,.CONSTANTGRADIENT.); +#461=IFCALIGNMENTSEGMENT('3zvtksS6hVSJHZCGmb6H8t',$,$,$,$,#31,#476,#460); +#462=IFCRELNESTS('3JszKJpFSW5sFzKTikNOSR',$,$,$,#459,(#461,#464,#466,#468,#470)); +#463=IFCALIGNMENTVERTICALSEGMENT($,$,1167.99766,31.99994,741.73452,-0.00320124481412169,-0.00320124481412169,$,.CONSTANTGRADIENT.); +#464=IFCALIGNMENTSEGMENT('1HrkpF5ClvhL97Qc3fGCQA',$,$,$,$,#31,#482,#463); +#465=IFCALIGNMENTVERTICALSEGMENT($,$,1199.9976,899.9982,741.63208,-0.00320124481411952,0.0249587500008703,-31960.16924,.PARABOLICARC.); +#466=IFCALIGNMENTSEGMENT('1eKdaa4GKqSf8ST1Wdt6Gf',$,$,$,$,#31,#489,#465); +#467=IFCALIGNMENTVERTICALSEGMENT($,$,2099.99585,699.9985,751.42294,0.0249587500008723,-0.0309937792633728,-12510.57833,.PARABOLICARC.); +#468=IFCALIGNMENTSEGMENT('0$wtaxcOX80k00RVjvp4gU',$,$,$,$,#31,#496,#467); +#469=IFCALIGNMENTVERTICALSEGMENT($,$,2799.99435,161.42007,749.31068,-0.0309937792633767,-0.0309937792633767,$,.CONSTANTGRADIENT.); +#470=IFCALIGNMENTSEGMENT('193HIRrzjK1SrQed0uMe_v',$,$,$,$,#31,#502,#469); +#471=IFCCARTESIANPOINT((0.0,740.39852)); +#472=IFCDIRECTION((0.99999935,0.00114383)); +#473=IFCAXIS2PLACEMENT2D(#471,#472); +#474=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#473,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1167.99842807741),#84); +#475=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#474)); +#476=IFCPRODUCTDEFINITIONSHAPE($,$,(#475)); +#477=IFCCARTESIANPOINT((1167.99766,741.73452)); +#478=IFCDIRECTION((0.99999488,-0.00320123)); +#479=IFCAXIS2PLACEMENT2D(#477,#478); +#480=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#479,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(32.0000999655599),#84); +#481=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#480)); +#482=IFCPRODUCTDEFINITIONSHAPE($,$,(#481)); +#483=IFCCARTESIANPOINT((1199.9976,741.63208)); +#484=IFCDIRECTION((0.99999488,-0.00320123)); +#485=IFCAXIS2PLACEMENT2D(#483,#484); +#486=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.56444729E-05),$); +#487=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#485,IFCPARAMETERVALUE(-102.312326028292),IFCPARAMETERVALUE(899.998199999798),#486); +#488=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#487)); +#489=IFCPRODUCTDEFINITIONSHAPE($,$,(#488)); +#490=IFCCARTESIANPOINT((2099.99585,751.42294)); +#491=IFCDIRECTION((0.99968868,0.02495098)); +#492=IFCAXIS2PLACEMENT2D(#490,#491); +#493=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.9966178E-05),$); +#494=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#492,IFCPARAMETERVALUE(-312.248396850394),IFCPARAMETERVALUE(699.998499999987),#493); +#495=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#494)); +#496=IFCPRODUCTDEFINITIONSHAPE($,$,(#495)); +#497=IFCCARTESIANPOINT((2799.99435,749.31068)); +#498=IFCDIRECTION((0.99952004,-0.0309789)); +#499=IFCAXIS2PLACEMENT2D(#497,#498); +#500=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#499,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(161.497580726807),#84); +#501=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#500)); +#502=IFCPRODUCTDEFINITIONSHAPE($,$,(#501)); +#503=IFCGRADIENTCURVE((#474,#480,#487,#494,#500),.U.,#456,$); +#504=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#503)); +#505=IFCPRODUCTDEFINITIONSHAPE($,$,(#504)); +#506=IFCSTYLEDITEM(#503,(#254),'C-ROAD-PROF'); +#507=IFCREFERENT('3267KWbuHD8RrQVSihT4kq',$,'5871+05.12',$,$,#511,$,.STATION.); +#508=IFCRELNESTS('1oYOQN4urhIBXRToXBAU8t',$,$,$,#394,(#507)); +#509=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#456); +#510=IFCAXIS2PLACEMENTLINEAR(#509,$,$); +#511=IFCLINEARPLACEMENT(#31,#510,$); +#512=IFCPROPERTYSET('2PyPfjqtj9nPqNXurmVPpn',$,'Pset_Stationing',$,(#514)); +#513=IFCRELDEFINESBYPROPERTIES('0Xzg9Qx_zENOMQd7QEPYh7',$,$,$,(#507),#512); +#514=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(587105.125),$); +#515=IFCALIGNMENT('1awTCOdTzBLxGelCFgokN4',$,'GCEC',$,'Centerline',#31,$,$); +#517=IFCPROPERTYSET('3NQDbMcRL1xPS8cDZ9X1u5',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#519,#520,#521)); +#518=IFCRELDEFINESBYPROPERTIES('1wF_gZYmD2EBK3Z1HvBpTo',$,$,$,(#515),#517); +#519=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:34:08'),$); +#520=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCEC.xml'),$); +#521=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:39:25'),$); +#522=IFCPROPERTYSET('3Rz14Df7jCQ8ilQ75VDX2I',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#524,#525,#526)); +#523=IFCRELDEFINESBYPROPERTIES('30lAyVF6bAwgmZvGPvS_ux',$,$,$,(#515),#522); +#524=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2193.245855'),$); +#525=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCEC'),$); +#526=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('583354.311498'),$); +#527=IFCALIGNMENTHORIZONTAL('2xC4mN$SNBrD1BOLbAE9DQ',$,'GCEC',$,$,#31,#570); +#528=IFCRELNESTS('0pI$76gZgYMkcivtI_STh0',$,$,$,#515,(#527,#571)); +#529=IFCPROPERTYSET('1caE2cvk9F6hnBOAddUyCm',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#519,#520,#521)); +#530=IFCRELDEFINESBYPROPERTIES('0RZjQbxHn5vRGS$rPKKXHa',$,$,$,(#527),#529); +#531=IFCPROPERTYSET('1fs4tv2mnAshRcb83P6Uu8',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#524,#525,#526)); +#532=IFCRELDEFINESBYPROPERTIES('0QVLb8QXb5Ch63wnYZwoVy',$,$,$,(#527),#531); +#533=IFCCARTESIANPOINT((-5473.51882,10093.72852)); +#534=IFCALIGNMENTHORIZONTALSEGMENT($,$,#533,-1.59771716379145,0.0,0.0,244.89381,$,.LINE.); +#535=IFCALIGNMENTSEGMENT('3ezfnaNJDfuQO5AcctxUW0',$,$,$,$,#31,#550,#534); +#536=IFCRELNESTS('1dPys0LUNlzFEmGTJWDfBL',$,$,$,#527,(#535,#539,#542,#545)); +#537=IFCCARTESIANPOINT((-5480.11077,9848.92344)); +#538=IFCALIGNMENTHORIZONTALSEGMENT($,$,#537,-1.59771716379145,1299.9974,1299.9974,244.80064,$,.CIRCULARARC.); +#539=IFCALIGNMENTSEGMENT('2gp_$25WOF4li8vYn3AHcG',$,$,$,$,#31,#556,#538); +#540=IFCCARTESIANPOINT((-5463.68867,9605.0366)); +#541=IFCALIGNMENTHORIZONTALSEGMENT($,$,#540,-1.4094086050855,0.0,0.0,1103.55832,$,.LINE.); +#542=IFCALIGNMENTSEGMENT('0lcqlLROZcpzpo__HYoX_h',$,$,$,$,#31,#561,#541); +#543=IFCCARTESIANPOINT((-5286.36004,8515.81875)); +#544=IFCALIGNMENTHORIZONTALSEGMENT($,$,#543,-1.4094086050855,7249.2055,7249.2055,599.99308,$,.CIRCULARARC.); +#545=IFCALIGNMENTSEGMENT('0uGT3JmaNPRvRs93EBbU5u',$,$,$,$,#31,#567,#544); +#546=IFCAXIS2PLACEMENT2D(#533,#547); +#547=IFCDIRECTION((-0.02691759,-0.99963766)); +#548=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#546,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(244.893813791498),#84); +#549=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#548)); +#550=IFCPRODUCTDEFINITIONSHAPE($,$,(#549)); +#551=IFCAXIS2PLACEMENT2D(#537,#552); +#552=IFCDIRECTION((-0.02691759,-0.99963766)); +#553=IFCCIRCLE(#96,1299.9974); +#554=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#551,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(244.800636715683),#553); +#555=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#554)); +#556=IFCPRODUCTDEFINITIONSHAPE($,$,(#555)); +#557=IFCAXIS2PLACEMENT2D(#540,#558); +#558=IFCDIRECTION((0.16068805,-0.98700524)); +#559=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#557,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1103.5583232414),#84); +#560=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#559)); +#561=IFCPRODUCTDEFINITIONSHAPE($,$,(#560)); +#562=IFCAXIS2PLACEMENT2D(#543,#563); +#563=IFCDIRECTION((0.16068805,-0.98700524)); +#564=IFCCIRCLE(#96,7249.2055); +#565=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#562,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(599.99308125826),#564); +#566=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#565)); +#567=IFCPRODUCTDEFINITIONSHAPE($,$,(#566)); +#568=IFCCOMPOSITECURVE((#548,#554,#559,#565),.U.); +#569=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#568)); +#570=IFCPRODUCTDEFINITIONSHAPE($,$,(#569)); +#571=IFCALIGNMENTVERTICAL('1_UzwKtyr3KC0nGvvYYTKv',$,'GCEC',$,'FG',#31,#651); +#572=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,73.2501,742.98826,-0.0166599657799476,-0.0166599657799476,$,.CONSTANTGRADIENT.); +#573=IFCALIGNMENTSEGMENT('3iW7Svg_2S_pPEawBb8gPJ',$,$,$,$,#31,#596,#572); +#574=IFCRELNESTS('2cMX9kTf9W287Tm6uJ4k17',$,$,$,#571,(#573,#576,#578,#580,#582,#584,#586,#588,#590)); +#575=IFCALIGNMENTVERTICALSEGMENT($,$,73.2501,299.9994,741.76791,-0.0166599657799635,0.0434035573109012,-4994.70202,.PARABOLICARC.); +#576=IFCALIGNMENTSEGMENT('21NXsKzyL6XxictcyhyRsA',$,$,$,$,#31,#603,#575); +#577=IFCALIGNMENTVERTICALSEGMENT($,$,373.2495,119.99976,745.77944,0.0434035573109209,0.0434035573109209,$,.CONSTANTGRADIENT.); +#578=IFCALIGNMENTSEGMENT('016z3v1WbKqTKtjJ67bQoK',$,$,$,$,#31,#609,#577); +#579=IFCALIGNMENTVERTICALSEGMENT($,$,493.24926,599.9988,750.98786,0.0434035573108972,-0.026028268772893,-8641.55293,.PARABOLICARC.); +#580=IFCALIGNMENTSEGMENT('0LyALPTNOFFycki$LPclk4',$,$,$,$,#31,#616,#579); +#581=IFCALIGNMENTVERTICALSEGMENT($,$,1093.24806,84.99983,756.20043,-0.0260282687728737,-0.0260282687728737,$,.CONSTANTGRADIENT.); +#582=IFCALIGNMENTSEGMENT('25ci496Z9$WNIYfx6_CRkW',$,$,$,$,#31,#622,#581); +#583=IFCALIGNMENTVERTICALSEGMENT($,$,1178.24789,179.99964,753.98804,-0.026028268772901,-0.0166709677418568,-19236.27758,.PARABOLICARC.); +#584=IFCALIGNMENTSEGMENT('3RA4k1P2FEy3FRmhlm6mOW',$,$,$,$,#31,#629,#583); +#585=IFCALIGNMENTVERTICALSEGMENT($,$,1358.24753,54.99994,750.14511,-0.0166709677418675,-0.0166709677418675,$,.CONSTANTGRADIENT.); +#586=IFCALIGNMENTSEGMENT('1SD6oWPd4cppqIGAyG8uY6',$,$,$,$,#31,#635,#585); +#587=IFCALIGNMENTVERTICALSEGMENT($,$,1413.24747,639.99862,749.22821,-0.0166709677418455,0.00270723005741725,-33026.73585,.PARABOLICARC.); +#588=IFCALIGNMENTSEGMENT('3zKuh3_kQiDIDU1_qrxSrV',$,$,$,$,#31,#642,#587); +#589=IFCALIGNMENTVERTICALSEGMENT($,$,2053.24609,139.99977,744.75982,0.00270723005741389,0.00270723005741389,$,.CONSTANTGRADIENT.); +#590=IFCALIGNMENTSEGMENT('2uAjVPsytmJBJqrOKCjr7m',$,$,$,$,#31,#648,#589); +#591=IFCCARTESIANPOINT((0.0,742.98826)); +#592=IFCDIRECTION((0.99986125,-0.01665765)); +#593=IFCAXIS2PLACEMENT2D(#591,#592); +#594=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#593,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(73.2602602511644),#84); +#595=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#594)); +#596=IFCPRODUCTDEFINITIONSHAPE($,$,(#595)); +#597=IFCCARTESIANPOINT((73.2501,741.76791)); +#598=IFCDIRECTION((0.99986125,-0.01665765)); +#599=IFCAXIS2PLACEMENT2D(#597,#598); +#600=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.00106072E-04),$); +#601=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#599,IFCPARAMETERVALUE(-83.2115647037563),IFCPARAMETERVALUE(299.999400000088),#600); +#602=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#601)); +#603=IFCPRODUCTDEFINITIONSHAPE($,$,(#602)); +#604=IFCCARTESIANPOINT((373.2495,745.77944)); +#605=IFCDIRECTION((0.99905939,0.04336273)); +#606=IFCAXIS2PLACEMENT2D(#604,#605); +#607=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#606,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(120.112738702756),#84); +#608=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#607)); +#609=IFCPRODUCTDEFINITIONSHAPE($,$,(#608)); +#610=IFCCARTESIANPOINT((493.24926,750.98786)); +#611=IFCDIRECTION((0.99905939,0.04336273)); +#612=IFCAXIS2PLACEMENT2D(#610,#611); +#613=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-5.78599708E-05),$); +#614=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#612,IFCPARAMETERVALUE(-375.074137771338),IFCPARAMETERVALUE(599.998799999943),#613); +#615=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#614)); +#616=IFCPRODUCTDEFINITIONSHAPE($,$,(#615)); +#617=IFCCARTESIANPOINT((1093.24806,756.20043)); +#618=IFCDIRECTION((0.99966144,-0.02601946)); +#619=IFCAXIS2PLACEMENT2D(#617,#618); +#620=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#619,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(85.0286175650112),#84); +#621=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#620)); +#622=IFCPRODUCTDEFINITIONSHAPE($,$,(#621)); +#623=IFCCARTESIANPOINT((1178.24789,753.98804)); +#624=IFCDIRECTION((0.99966144,-0.02601946)); +#625=IFCAXIS2PLACEMENT2D(#623,#624); +#626=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.59925548E-05),$); +#627=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#625,IFCPARAMETERVALUE(-500.687002951317),IFCPARAMETERVALUE(179.999640000053),#626); +#628=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#627)); +#629=IFCPRODUCTDEFINITIONSHAPE($,$,(#628)); +#630=IFCCARTESIANPOINT((1358.24753,750.14511)); +#631=IFCDIRECTION((0.99986107,-0.01666865)); +#632=IFCAXIS2PLACEMENT2D(#630,#631); +#633=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#632,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(55.0075823082546),#84); +#634=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#633)); +#635=IFCPRODUCTDEFINITIONSHAPE($,$,(#634)); +#636=IFCCARTESIANPOINT((1413.24747,749.22821)); +#637=IFCDIRECTION((0.99986107,-0.01666865)); +#638=IFCAXIS2PLACEMENT2D(#636,#637); +#639=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.51392497E-05),$); +#640=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#638,IFCPARAMETERVALUE(-550.587648003626),IFCPARAMETERVALUE(639.998619999969),#639); +#641=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#640)); +#642=IFCPRODUCTDEFINITIONSHAPE($,$,(#641)); +#643=IFCCARTESIANPOINT((2053.24609,744.75982)); +#644=IFCDIRECTION((0.99999634,0.00270722)); +#645=IFCAXIS2PLACEMENT2D(#643,#644); +#646=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#645,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(140.000282539717),#84); +#647=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#646)); +#648=IFCPRODUCTDEFINITIONSHAPE($,$,(#647)); +#649=IFCGRADIENTCURVE((#594,#601,#607,#614,#620,#627,#633,#640,#646),.U.,#568,$); +#650=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#649)); +#651=IFCPRODUCTDEFINITIONSHAPE($,$,(#650)); +#652=IFCSTYLEDITEM(#649,(#254),'C-ROAD-PROF'); +#653=IFCREFERENT('2QL3xnRqr5D8Ru9PdXc42e',$,'5833+54.31',$,$,#657,$,.STATION.); +#654=IFCRELNESTS('1vM9PFScnYo2okOkGlcy9k',$,$,$,#515,(#653)); +#655=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#568); +#656=IFCAXIS2PLACEMENTLINEAR(#655,$,$); +#657=IFCLINEARPLACEMENT(#31,#656,$); +#658=IFCPROPERTYSET('3p2Zh5d495qAiMpkWLuSNw',$,'Pset_Stationing',$,(#660)); +#659=IFCRELDEFINESBYPROPERTIES('2meNBwEs5EiP8Pp_lFdUQX',$,$,$,(#653),#658); +#660=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(583354.311497705),$); +#661=IFCALIGNMENT('0XXb6_vhzFo9R5372_C68a',$,'GCFC',$,'Centerline',#31,$,$); +#663=IFCPROPERTYSET('2TDhBexrv6jORmvBE$hT19',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#665,#666,#667)); +#664=IFCRELDEFINESBYPROPERTIES('1_8HFQ8Fn0Twyk4HIJNuIs',$,$,$,(#661),#663); +#665=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:34:39'),$); +#666=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCFC.xml'),$); +#667=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:39:52'),$); +#668=IFCPROPERTYSET('34eQ7Rygv1zPKb9C9$A0hU',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#670,#671,#672)); +#669=IFCRELDEFINESBYPROPERTIES('0any1ipBPFsP6l9gl3ntGq',$,$,$,(#661),#668); +#670=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('3908.620085'),$); +#671=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCFC'),$); +#672=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('609908.229000'),$); +#673=IFCALIGNMENTHORIZONTAL('373_kGQBbznHVWMNzSwhF6',$,'GCFC',$,$,#31,#741); +#674=IFCRELNESTS('3QzNFf$BjiUCAfEFgPcxq3',$,$,$,#661,(#673,#742)); +#675=IFCPROPERTYSET('14fNr$7b13cAZ26l8rs8wG',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#665,#666,#667)); +#676=IFCRELDEFINESBYPROPERTIES('03uCNPVEH2fg2wQ3vAyZH2',$,$,$,(#673),#675); +#677=IFCPROPERTYSET('2Lp9R7jBfEn8jF9NviV51D',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#670,#671,#672)); +#678=IFCRELDEFINESBYPROPERTIES('2$B$2b4fH0Rval9doQk6ON',$,$,$,(#673),#677); +#679=IFCCARTESIANPOINT((-5400.92315,13831.73422)); +#680=IFCALIGNMENTHORIZONTALSEGMENT($,$,#679,-1.60303148659375,0.0,0.0,801.0384,$,.LINE.); +#681=IFCALIGNMENTSEGMENT('32JNguCQspD48tKEITmWS1',$,$,$,$,#31,#705,#680); +#682=IFCRELNESTS('30f0Fw4GTXNxNWBH986sFk',$,$,$,#673,(#681,#685,#688,#691,#694,#697,#700)); +#683=IFCCARTESIANPOINT((-5426.74028,13031.11196)); +#684=IFCALIGNMENTHORIZONTALSEGMENT($,$,#683,-1.60303148659375,-999.998,-999.998,449.9991,$,.CIRCULARARC.); +#685=IFCALIGNMENTSEGMENT('2n5iEGeQiHR2ZNeN3w$o1B',$,$,$,$,#31,#711,#684); +#686=IFCCARTESIANPOINT((-5540.25999,12599.58181)); +#687=IFCALIGNMENTHORIZONTALSEGMENT($,$,#686,-2.05303148659331,0.0,0.0,472.35678,$,.LINE.); +#688=IFCALIGNMENTSEGMENT('1up0QupGthp2xfTq1YqJVR',$,$,$,$,#31,#716,#687); +#689=IFCCARTESIANPOINT((-5759.32045,12181.09233)); +#690=IFCALIGNMENTHORIZONTALSEGMENT($,$,#689,-2.05303148659332,799.9984,799.9984,783.76534,$,.CIRCULARARC.); +#691=IFCALIGNMENTSEGMENT('3x2dEQwLXTIZMHLva1$djx',$,$,$,$,#31,#722,#690); +#692=IFCCARTESIANPOINT((-5753.58485,11428.31993)); +#693=IFCALIGNMENTHORIZONTALSEGMENT($,$,#692,-1.07332284622187,0.0,0.0,416.20788,$,.LINE.); +#694=IFCALIGNMENTSEGMENT('0ZCeKeRzPlrTYQv_fWGawN',$,$,$,$,#31,#727,#693); +#695=IFCCARTESIANPOINT((-5554.96762,11062.56018)); +#696=IFCALIGNMENTHORIZONTALSEGMENT($,$,#695,-1.07332284622187,-799.9984,-799.9984,419.51461,$,.CIRCULARARC.); +#697=IFCALIGNMENTSEGMENT('0ATSJWody_5C08mQpavkPB',$,$,$,$,#31,#733,#696); +#698=IFCCARTESIANPOINT((-5458.29052,10659.26149)); +#699=IFCALIGNMENTHORIZONTALSEGMENT($,$,#698,-1.59771716370046,0.0,0.0,565.73796,$,.LINE.); +#700=IFCALIGNMENTSEGMENT('0W$O15fZp$BWmONU1jKyhY',$,$,$,$,#31,#738,#699); +#701=IFCAXIS2PLACEMENT2D(#679,#702); +#702=IFCDIRECTION((-0.03222958,-0.99948049)); +#703=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#701,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(801.038397917383),#84); +#704=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#703)); +#705=IFCPRODUCTDEFINITIONSHAPE($,$,(#704)); +#706=IFCAXIS2PLACEMENT2D(#683,#707); +#707=IFCDIRECTION((-0.03222958,-0.99948049)); +#708=IFCCIRCLE(#96,999.998); +#709=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#706,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.449999999999566),#708); +#710=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#709)); +#711=IFCPRODUCTDEFINITIONSHAPE($,$,(#710)); +#712=IFCAXIS2PLACEMENT2D(#686,#713); +#713=IFCDIRECTION((-0.4637606,-0.88596056)); +#714=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#712,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(472.356784392773),#84); +#715=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#714)); +#716=IFCPRODUCTDEFINITIONSHAPE($,$,(#715)); +#717=IFCAXIS2PLACEMENT2D(#689,#718); +#718=IFCDIRECTION((-0.4637606,-0.88596056)); +#719=IFCCIRCLE(#96,799.9984); +#720=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#717,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(783.765344763324),#719); +#721=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#720)); +#722=IFCPRODUCTDEFINITIONSHAPE($,$,(#721)); +#723=IFCAXIS2PLACEMENT2D(#692,#724); +#724=IFCDIRECTION((0.47720678,-0.87879104)); +#725=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#723,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(416.207881764368),#84); +#726=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#725)); +#727=IFCPRODUCTDEFINITIONSHAPE($,$,(#726)); +#728=IFCAXIS2PLACEMENT2D(#695,#729); +#729=IFCDIRECTION((0.47720678,-0.87879104)); +#730=IFCCIRCLE(#96,799.9984); +#731=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#728,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.524394317478591),#730); +#732=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#731)); +#733=IFCPRODUCTDEFINITIONSHAPE($,$,(#732)); +#734=IFCAXIS2PLACEMENT2D(#698,#735); +#735=IFCDIRECTION((-0.02691759,-0.99963766)); +#736=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#734,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(565.737960897492),#84); +#737=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#736)); +#738=IFCPRODUCTDEFINITIONSHAPE($,$,(#737)); +#739=IFCCOMPOSITECURVE((#703,#709,#714,#720,#725,#731,#736),.U.); +#740=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#739)); +#741=IFCPRODUCTDEFINITIONSHAPE($,$,(#740)); +#742=IFCALIGNMENTVERTICAL('2FqQz$vKeKFNVGCWXL4hTC',$,'GCFC',$,'FG',#31,#831); +#743=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,1309.59738,768.21374,-0.00976973076047376,-0.00976973076047376,$,.CONSTANTGRADIENT.); +#744=IFCALIGNMENTSEGMENT('0ZlrvXxwzaUgVMF_jh3G5d',$,$,$,$,#31,#769,#743); +#745=IFCRELNESTS('2C424sHkExr5jY8PWFgnRm',$,$,$,#742,(#744,#747,#749,#751,#753,#755,#757,#759,#761,#763)); +#746=IFCALIGNMENTVERTICALSEGMENT($,$,1309.59738,199.9996,755.41932,-0.00976973076047185,-0.0314107957220064,-9241.67089,.PARABOLICARC.); +#747=IFCALIGNMENTSEGMENT('104$LQ9$X0570RMa0$P_z1',$,$,$,$,#31,#776,#746); +#748=IFCALIGNMENTVERTICALSEGMENT($,$,1509.59698,64.99987,751.30128,-0.0314107957220048,-0.0314107957220048,$,.CONSTANTGRADIENT.); +#749=IFCALIGNMENTSEGMENT('0fMVPktEjqGxujDeuUdCpd',$,$,$,$,#31,#782,#748); +#750=IFCALIGNMENTVERTICALSEGMENT($,$,1574.59685,199.9996,749.25958,-0.0314107957219588,-0.0233999999992788,-24966.2589,.PARABOLICARC.); +#751=IFCALIGNMENTSEGMENT('3qZN4pNwtrWqgpK8Ru952O',$,$,$,$,#31,#789,#750); +#752=IFCALIGNMENTVERTICALSEGMENT($,$,1774.5965,549.9988,743.77851,-0.0233999999992825,0.00712352941099082,-18018.84679,.PARABOLICARC.); +#753=IFCALIGNMENTSEGMENT('33eTq2m9Buu8NjAa9fLidx',$,$,$,$,#31,#796,#752); +#754=IFCALIGNMENTVERTICALSEGMENT($,$,2324.5953,474.9991,739.30249,0.00712352941099013,0.00712352941099013,$,.CONSTANTGRADIENT.); +#755=IFCALIGNMENTSEGMENT('1x$3LR_PAopMDE258o35K4',$,$,$,$,#31,#802,#754); +#756=IFCALIGNMENTVERTICALSEGMENT($,$,2799.5944,199.9996,742.68616,0.00712352941099083,-0.00509260999938901,-16371.7516,.PARABOLICARC.); +#757=IFCALIGNMENTSEGMENT('22cZr1K5Gzb6s7BR12uHST',$,$,$,$,#31,#809,#756); +#758=IFCALIGNMENTVERTICALSEGMENT($,$,2999.594,574.99885,742.88925,-0.00509260999938848,-0.00509260999938848,$,.CONSTANTGRADIENT.); +#759=IFCALIGNMENTSEGMENT('2Buemli9nWAJzbHaah$aXY',$,$,$,$,#31,#815,#758); +#760=IFCALIGNMENTVERTICALSEGMENT($,$,3574.59285,249.9995,739.96101,-0.00509260999939184,0.0176999999996187,-10968.44547,.PARABOLICARC.); +#761=IFCALIGNMENTSEGMENT('1X8XA_AA94PYNK9MLs5gw4',$,$,$,$,#31,#822,#760); +#762=IFCALIGNMENTVERTICALSEGMENT($,$,3824.59235,84.02773,741.53693,0.0176999999996282,0.0176999999996282,$,.CONSTANTGRADIENT.); +#763=IFCALIGNMENTSEGMENT('2pipDiKTp1s_qTxs0l1pZu',$,$,$,$,#31,#828,#762); +#764=IFCCARTESIANPOINT((0.0,768.21374)); +#765=IFCDIRECTION((0.99995228,-0.00976926)); +#766=IFCAXIS2PLACEMENT2D(#764,#765); +#767=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#766,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1309.65987829963),#84); +#768=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#767)); +#769=IFCPRODUCTDEFINITIONSHAPE($,$,(#768)); +#770=IFCCARTESIANPOINT((1309.59738,755.41932)); +#771=IFCDIRECTION((0.99995228,-0.00976926)); +#772=IFCAXIS2PLACEMENT2D(#770,#771); +#773=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-5.41027706E-05),$); +#774=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#772,IFCPARAMETERVALUE(90.2886363393756),IFCPARAMETERVALUE(199.999600010924),#773); +#775=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#774)); +#776=IFCPRODUCTDEFINITIONSHAPE($,$,(#775)); +#777=IFCCARTESIANPOINT((1509.59698,751.30128)); +#778=IFCDIRECTION((0.99950705,-0.03139531)); +#779=IFCAXIS2PLACEMENT2D(#777,#778); +#780=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#779,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(65.0319277622054),#84); +#781=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#780)); +#782=IFCPRODUCTDEFINITIONSHAPE($,$,(#781)); +#783=IFCCARTESIANPOINT((1574.59685,749.25958)); +#784=IFCDIRECTION((0.99950705,-0.03139531)); +#785=IFCAXIS2PLACEMENT2D(#783,#784); +#786=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.00270294E-05),$); +#787=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#785,IFCPARAMETERVALUE(-784.210058245751),IFCPARAMETERVALUE(199.9996000065),#786); +#788=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#787)); +#789=IFCPRODUCTDEFINITIONSHAPE($,$,(#788)); +#790=IFCCARTESIANPOINT((1774.5965,743.77851)); +#791=IFCDIRECTION((0.99972633,-0.0233936)); +#792=IFCAXIS2PLACEMENT2D(#790,#791); +#793=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.77487236E-05),$); +#794=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#792,IFCPARAMETERVALUE(-421.641014923798),IFCPARAMETERVALUE(549.998799999943),#793); +#795=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#794)); +#796=IFCPRODUCTDEFINITIONSHAPE($,$,(#795)); +#797=IFCCARTESIANPOINT((2324.5953,739.30249)); +#798=IFCDIRECTION((0.99997463,0.00712335)); +#799=IFCAXIS2PLACEMENT2D(#797,#798); +#800=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#799,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(475.0111517396),#84); +#801=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#800)); +#802=IFCPRODUCTDEFINITIONSHAPE($,$,(#801)); +#803=IFCCARTESIANPOINT((2799.5944,742.68616)); +#804=IFCDIRECTION((0.99997463,0.00712335)); +#805=IFCAXIS2PLACEMENT2D(#803,#804); +#806=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.05404096E-05),$); +#807=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#805,IFCPARAMETERVALUE(-116.624654054093),IFCPARAMETERVALUE(199.999599975534),#806); +#808=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#807)); +#809=IFCPRODUCTDEFINITIONSHAPE($,$,(#808)); +#810=IFCCARTESIANPOINT((2999.594,742.88925)); +#811=IFCDIRECTION((0.99998703,-0.00509254)); +#812=IFCAXIS2PLACEMENT2D(#810,#811); +#813=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#812,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(575.006306147396),#84); +#814=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#813)); +#815=IFCPRODUCTDEFINITIONSHAPE($,$,(#814)); +#816=IFCCARTESIANPOINT((3574.59285,739.96101)); +#817=IFCDIRECTION((0.99998703,-0.00509254)); +#818=IFCAXIS2PLACEMENT2D(#816,#817); +#819=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.55853112E-05),$); +#820=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#818,IFCPARAMETERVALUE(-55.8580151021673),IFCPARAMETERVALUE(249.999499999918),#819); +#821=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#820)); +#822=IFCPRODUCTDEFINITIONSHAPE($,$,(#821)); +#823=IFCCARTESIANPOINT((3824.59235,741.53693)); +#824=IFCDIRECTION((0.99984339,0.01769723)); +#825=IFCAXIS2PLACEMENT2D(#823,#824); +#826=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#825,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(84.0408953628796),#84); +#827=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#826)); +#828=IFCPRODUCTDEFINITIONSHAPE($,$,(#827)); +#829=IFCGRADIENTCURVE((#767,#774,#780,#787,#794,#800,#807,#813,#820,#826),.U.,#739,$); +#830=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#829)); +#831=IFCPRODUCTDEFINITIONSHAPE($,$,(#830)); +#832=IFCSTYLEDITEM(#829,(#254),'C-ROAD-PROF'); +#833=IFCREFERENT('09tMW9vo55ow5QlAEX1U2E',$,'6099+08.23',$,$,#837,$,.STATION.); +#834=IFCRELNESTS('3E927SdUAE5t_IVAokRvWe',$,$,$,#661,(#833)); +#835=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#739); +#836=IFCAXIS2PLACEMENTLINEAR(#835,$,$); +#837=IFCLINEARPLACEMENT(#31,#836,$); +#838=IFCPROPERTYSET('3gOnXu5cnFSO3XGmzCvp1i',$,'Pset_Stationing',$,(#840)); +#839=IFCRELDEFINESBYPROPERTIES('2JufOcGKPBpPe_CoZtYdCC',$,$,$,(#833),#838); +#840=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(609908.229),$); +#841=IFCALIGNMENT('2ealP2nbnA5ulcj2GOeqli',$,'GCGC',$,'Centerline',#31,$,$); +#843=IFCPROPERTYSET('1ca0zgg5r9FBhjooNwxkVi',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#845,#846,#847)); +#844=IFCRELDEFINESBYPROPERTIES('2iUUjQVA1AyQtPZLOpYbRd',$,$,$,(#841),#843); +#845=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:35:04'),$); +#846=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCGC.xml'),$); +#847=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:40:05'),$); +#848=IFCPROPERTYSET('1m_m7fWrLC18t_oISpy4pw',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#850,#851,#852)); +#849=IFCRELDEFINESBYPROPERTIES('2WE15zpA13iev5OPjF9Nac',$,$,$,(#841),#848); +#850=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2834.143521'),$); +#851=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCGC'),$); +#852=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('597826.002508'),$); +#853=IFCALIGNMENTHORIZONTAL('1JAL4xsPBhoOzwOnprdQ8L',$,'GCGC',$,$,#31,#913); +#854=IFCRELNESTS('39N3NLG7pZQ18AR2wFT5Uq',$,$,$,#841,(#853,#914)); +#855=IFCPROPERTYSET('2SncUpJWX4b8gJJ0GoEvca',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#845,#846,#847)); +#856=IFCRELDEFINESBYPROPERTIES('1my2w8V_j3z8kf5sq8H4ph',$,$,$,(#853),#855); +#857=IFCPROPERTYSET('0L3WGSxET4yPXrbIMbIhzu',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#850,#851,#852)); +#858=IFCRELDEFINESBYPROPERTIES('1LQs$zvx149B9jsteW_MDT',$,$,$,(#853),#857); +#859=IFCCARTESIANPOINT((-4993.86645,10255.14485)); +#860=IFCALIGNMENTHORIZONTALSEGMENT($,$,#859,1.45660902720029,0.0,0.0,1293.75741,$,.LINE.); +#861=IFCALIGNMENTSEGMENT('2rw96NGwhJGwfF6VDCQdq6',$,$,$,$,#31,#882,#860); +#862=IFCRELNESTS('2RZs3TQIp5R3iVEuK9RZ2x',$,$,$,#853,(#861,#865,#868,#871,#874,#877)); +#863=IFCCARTESIANPOINT((-4846.45661,11540.47694)); +#864=IFCALIGNMENTHORIZONTALSEGMENT($,$,#863,1.45660902720029,599.9988,599.9988,422.16673,$,.CIRCULARARC.); +#865=IFCALIGNMENTSEGMENT('3ZiB_fv7wKOcJHkqfeMLn5',$,$,$,$,#31,#888,#864); +#866=IFCCARTESIANPOINT((-4943.79288,11942.36977)); +#867=IFCALIGNMENTHORIZONTALSEGMENT($,$,#866,-4.12296366292076,0.0,0.0,342.77035,$,.LINE.); +#868=IFCALIGNMENTSEGMENT('2XVnHlRkvLXr1sH1RjuM_D',$,$,$,$,#31,#893,#867); +#869=IFCCARTESIANPOINT((-5134.33323,12227.30114)); +#870=IFCALIGNMENTHORIZONTALSEGMENT($,$,#869,-4.12296366292076,-599.9988,-599.9988,325.44327,$,.CIRCULARARC.); +#871=IFCALIGNMENTSEGMENT('3zXgGb3D38t$TJLeilYQ$G',$,$,$,$,#31,#899,#870); +#872=IFCCARTESIANPOINT((-5234.91375,12532.62969)); +#873=IFCALIGNMENTHORIZONTALSEGMENT($,$,#872,-4.66537018950238,-4599.9908,-4599.9908,149.9997,$,.CIRCULARARC.); +#874=IFCALIGNMENTSEGMENT('31V73pTa71neEw0oXeicD$',$,$,$,$,#31,#905,#873); +#875=IFCCARTESIANPOINT((-5239.51998,12682.552)); +#876=IFCALIGNMENTHORIZONTALSEGMENT($,$,#875,-4.69797888515797,0.0,0.0,300.00607,$,.LINE.); +#877=IFCALIGNMENTSEGMENT('1ymIeq_AVl1E$kJxlOtvnc',$,$,$,$,#31,#910,#876); +#878=IFCAXIS2PLACEMENT2D(#859,#879); +#879=IFCDIRECTION((0.11393932,0.99348771)); +#880=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#878,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1293.75741248041),#84); +#881=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#880)); +#882=IFCPRODUCTDEFINITIONSHAPE($,$,(#881)); +#883=IFCAXIS2PLACEMENT2D(#863,#884); +#884=IFCDIRECTION((0.11393932,0.99348771)); +#885=IFCCIRCLE(#96,599.9988); +#886=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#883,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(422.16672589951),#885); +#887=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#886)); +#888=IFCPRODUCTDEFINITIONSHAPE($,$,(#887)); +#889=IFCAXIS2PLACEMENT2D(#866,#890); +#890=IFCDIRECTION((-0.5558834,0.83126027)); +#891=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#889,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(342.770351190838),#84); +#892=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#891)); +#893=IFCPRODUCTDEFINITIONSHAPE($,$,(#892)); +#894=IFCAXIS2PLACEMENT2D(#869,#895); +#895=IFCDIRECTION((-0.5558834,0.83126027)); +#896=IFCCIRCLE(#96,599.9988); +#897=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#894,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.542406526581626),#896); +#898=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#897)); +#899=IFCPRODUCTDEFINITIONSHAPE($,$,(#898)); +#900=IFCAXIS2PLACEMENT2D(#872,#901); +#901=IFCDIRECTION((-0.04700147,0.99889482)); +#902=IFCCIRCLE(#96,4599.9908); +#903=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#900,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0326086956555827),#902); +#904=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#903)); +#905=IFCPRODUCTDEFINITIONSHAPE($,$,(#904)); +#906=IFCAXIS2PLACEMENT2D(#875,#907); +#907=IFCDIRECTION((-0.0144096,0.99989618)); +#908=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#906,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(300.006066545255),#84); +#909=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#908)); +#910=IFCPRODUCTDEFINITIONSHAPE($,$,(#909)); +#911=IFCCOMPOSITECURVE((#880,#886,#891,#897,#903,#908),.U.); +#912=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#911)); +#913=IFCPRODUCTDEFINITIONSHAPE($,$,(#912)); +#914=IFCALIGNMENTVERTICAL('0RGEj63UHOzmyLJqSM11fl',$,'GCGC',$,'FG',#31,#968); +#915=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,913.0566,721.85821,0.044638199037596,0.044638199037596,$,.CONSTANTGRADIENT.); +#916=IFCALIGNMENTSEGMENT('243i2700f3xGLv0iwUFNyU',$,$,$,$,#31,#933,#915); +#917=IFCRELNESTS('2TeVnTqjBSuYj98eZ_S258',$,$,$,#914,(#916,#919,#921,#923,#925,#927)); +#918=IFCALIGNMENTVERTICALSEGMENT($,$,913.0566,429.99914,762.61541,0.0446381990376027,-0.0184751184173779,-6813.12847,.PARABOLICARC.); +#919=IFCALIGNMENTSEGMENT('3tVSFX8dCD4mBwnHQ6S07K',$,$,$,$,#31,#940,#918); +#920=IFCALIGNMENTVERTICALSEGMENT($,$,1343.05574,669.21024,768.24046,-0.0184751184173787,-0.0184751184173787,$,.CONSTANTGRADIENT.); +#921=IFCALIGNMENTSEGMENT('0GTDYx1HaCxxc6gAELOToO',$,$,$,$,#31,#946,#920); +#922=IFCALIGNMENTVERTICALSEGMENT($,$,2012.26598,299.9994,755.87672,-0.0184751184173788,0.0152622034997544,-8892.21144,.PARABOLICARC.); +#923=IFCALIGNMENTSEGMENT('3WSHAv7cDHNkaGPmmwHXCs',$,$,$,$,#31,#953,#922); +#924=IFCALIGNMENTVERTICALSEGMENT($,$,2312.26538,145.45479,755.39478,0.0152622034997444,0.0152622034997444,$,.CONSTANTGRADIENT.); +#925=IFCALIGNMENTSEGMENT('2p6tJVMA6ggx$0MxvVQLnX',$,$,$,$,#31,#959,#924); +#926=IFCALIGNMENTVERTICALSEGMENT($,$,2457.72016,376.42336,757.61474,0.00922196958699647,0.00922196958699647,$,.CONSTANTGRADIENT.); +#927=IFCALIGNMENTSEGMENT('2a4XxNZQB52vC$UjLmgGSO',$,$,$,$,#31,#965,#926); +#928=IFCCARTESIANPOINT((0.0,721.85821)); +#929=IFCDIRECTION((0.9990052,0.04459379)); +#930=IFCAXIS2PLACEMENT2D(#928,#929); +#931=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#930,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(913.965807340337),#84); +#932=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#931)); +#933=IFCPRODUCTDEFINITIONSHAPE($,$,(#932)); +#934=IFCCARTESIANPOINT((913.0566,762.61541)); +#935=IFCDIRECTION((0.9990052,0.04459379)); +#936=IFCAXIS2PLACEMENT2D(#934,#935); +#937=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-7.33877252E-05),$); +#938=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#936,IFCPARAMETERVALUE(-304.125784720606),IFCPARAMETERVALUE(429.999139999971),#937); +#939=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#938)); +#940=IFCPRODUCTDEFINITIONSHAPE($,$,(#939)); +#941=IFCCARTESIANPOINT((1343.05574,768.24046)); +#942=IFCDIRECTION((0.99982938,-0.01847197)); +#943=IFCAXIS2PLACEMENT2D(#941,#942); +#944=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#943,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(669.324440482394),#84); +#945=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#944)); +#946=IFCPRODUCTDEFINITIONSHAPE($,$,(#945)); +#947=IFCCARTESIANPOINT((2012.26598,755.87672)); +#948=IFCDIRECTION((0.99982938,-0.01847197)); +#949=IFCAXIS2PLACEMENT2D(#947,#948); +#950=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.62289823E-05),$); +#951=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#949,IFCPARAMETERVALUE(-164.284659397496),IFCPARAMETERVALUE(299.999399999855),#950); +#952=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#951)); +#953=IFCPRODUCTDEFINITIONSHAPE($,$,(#952)); +#954=IFCCARTESIANPOINT((2312.26538,755.39478)); +#955=IFCDIRECTION((0.99988355,0.01526043)); +#956=IFCAXIS2PLACEMENT2D(#954,#955); +#957=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#956,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(145.471729292657),#84); +#958=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#957)); +#959=IFCPRODUCTDEFINITIONSHAPE($,$,(#958)); +#960=IFCCARTESIANPOINT((2457.72016,757.61474)); +#961=IFCDIRECTION((0.99995748,0.00922158)); +#962=IFCAXIS2PLACEMENT2D(#960,#961); +#963=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#962,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(376.43936228556),#84); +#964=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#963)); +#965=IFCPRODUCTDEFINITIONSHAPE($,$,(#964)); +#966=IFCGRADIENTCURVE((#931,#938,#944,#951,#957,#963),.U.,#911,$); +#967=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#966)); +#968=IFCPRODUCTDEFINITIONSHAPE($,$,(#967)); +#969=IFCSTYLEDITEM(#966,(#254),'C-ROAD-PROF'); +#970=IFCREFERENT('2lusQ1Gyj5ffZjiI8xSOMO',$,'5978+26.00',$,$,#974,$,.STATION.); +#971=IFCRELNESTS('1VS6s63EZsFOL_836WpeMi',$,$,$,#841,(#970)); +#972=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#911); +#973=IFCAXIS2PLACEMENTLINEAR(#972,$,$); +#974=IFCLINEARPLACEMENT(#31,#973,$); +#975=IFCPROPERTYSET('28pDltvWXDcPLBva14j9qV',$,'Pset_Stationing',$,(#977)); +#976=IFCRELDEFINESBYPROPERTIES('3uAvBxYVz74QOqCLv0GeQG',$,$,$,(#970),#975); +#977=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(597826.002508333),$); +#978=IFCALIGNMENT('03tQL2JZD0GQpdYQiowkBy',$,'GCHC',$,'Centerline',#31,$,$); +#980=IFCPROPERTYSET('0hu26ogJH5wQRMlfC39_iv',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#982,#983,#984)); +#981=IFCRELDEFINESBYPROPERTIES('0tJ7QoulP7igQYN615Hrfq',$,$,$,(#978),#980); +#982=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:35:26'),$); +#983=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCHC.xml'),$); +#984=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:40:20'),$); +#985=IFCPROPERTYSET('3OMs_VcyTDJw6dfINRSFQq',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#987,#988,#989)); +#986=IFCRELDEFINESBYPROPERTIES('2FM1FcFdj6XvIAwmcnE3hv',$,$,$,(#978),#985); +#987=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('3691.688643'),$); +#988=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCHC'),$); +#989=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('1260562.021089'),$); +#990=IFCALIGNMENTHORIZONTAL('0TKQXBJ_xn6SvLGEKes7kw',$,'GCHC',$,$,#31,#1042); +#991=IFCRELNESTS('36TO4OCqNhWTEDCdPZqCYf',$,$,$,#978,(#990,#1043)); +#992=IFCPROPERTYSET('2oOHyI71D7NwRC3ZSTi0U9',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#982,#983,#984)); +#993=IFCRELDEFINESBYPROPERTIES('2ssY728jX9DuUQKq_h8VTT',$,$,$,(#990),#992); +#994=IFCPROPERTYSET('17V2AKgDL6RwRZp7PCiNld',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#987,#988,#989)); +#995=IFCRELDEFINESBYPROPERTIES('3crPvbV2jBSeF_xJmzg6ec',$,$,$,(#990),#994); +#996=IFCCARTESIANPOINT((-6267.73001,12223.93357)); +#997=IFCALIGNMENTHORIZONTALSEGMENT($,$,#996,-0.742491459713325,-888.0,-888.0,484.31607,$,.CIRCULARARC.); +#998=IFCALIGNMENTSEGMENT('3L9BvCio4QPWXe6PWEO81k',$,$,$,$,#31,#1017,#997); +#999=IFCRELNESTS('0FqsfIOoWluz4bP3QyYbZh',$,$,$,#990,(#998,#1002,#1005,#1008,#1011)); +#1000=IFCCARTESIANPOINT((-6015.42861,11817.54833)); +#1001=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1000,-1.2878924392028,0.0,0.0,470.76594,$,.LINE.); +#1002=IFCALIGNMENTSEGMENT('26_h5OZBVLdY6HKwt$LbRq',$,$,$,$,#31,#1022,#1001); +#1003=IFCCARTESIANPOINT((-5884.01652,11365.49586)); +#1004=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1003,-1.28789243920279,600.0,600.0,2142.65595,$,.CIRCULARARC.); +#1005=IFCALIGNMENTSEGMENT('0uaPEbRPM53XaSEOabkEM4',$,$,$,$,#31,#1028,#1004); +#1006=IFCCARTESIANPOINT((-4853.79177,11925.17624)); +#1007=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1006,-3.99998449035001,0.0,0.0,354.60322,$,.LINE.); +#1008=IFCALIGNMENTSEGMENT('1xCbttUXGdv0XdMKmjY5qP',$,$,$,$,#31,#1033,#1007); +#1009=IFCCARTESIANPOINT((-5085.58007,12193.53725)); +#1010=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1009,-3.99998449034999,-589.0,-589.0,239.34745,$,.CIRCULARARC.); +#1011=IFCALIGNMENTSEGMENT('1XAbRVkpWQTOeqDHXd8AcJ',$,$,$,$,#31,#1039,#1010); +#1012=IFCAXIS2PLACEMENT2D(#996,#1013); +#1013=IFCDIRECTION((0.73678631,-0.67612568)); +#1014=IFCCIRCLE(#96,888.0); +#1015=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1012,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.545400979489468),#1014); +#1016=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1015)); +#1017=IFCPRODUCTDEFINITIONSHAPE($,$,(#1016)); +#1018=IFCAXIS2PLACEMENT2D(#1000,#1019); +#1019=IFCDIRECTION((0.27914528,-0.96024888)); +#1020=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1018,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(470.765939775292),#84); +#1021=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1020)); +#1022=IFCPRODUCTDEFINITIONSHAPE($,$,(#1021)); +#1023=IFCAXIS2PLACEMENT2D(#1003,#1024); +#1024=IFCDIRECTION((0.27914528,-0.96024888)); +#1025=IFCCIRCLE(#96,600.0); +#1026=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1023,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2142.6559536194),#1025); +#1027=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1026)); +#1028=IFCPRODUCTDEFINITIONSHAPE($,$,(#1027)); +#1029=IFCAXIS2PLACEMENT2D(#1006,#1030); +#1030=IFCDIRECTION((-0.65365536,0.75679236)); +#1031=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1029,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(354.603224839993),#84); +#1032=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1031)); +#1033=IFCPRODUCTDEFINITIONSHAPE($,$,(#1032)); +#1034=IFCAXIS2PLACEMENT2D(#1009,#1035); +#1035=IFCDIRECTION((-0.65365536,0.75679236)); +#1036=IFCCIRCLE(#96,589.0); +#1037=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1034,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.406362402303102),#1036); +#1038=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1037)); +#1039=IFCPRODUCTDEFINITIONSHAPE($,$,(#1038)); +#1040=IFCCOMPOSITECURVE((#1015,#1020,#1026,#1031,#1037),.U.); +#1041=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1040)); +#1042=IFCPRODUCTDEFINITIONSHAPE($,$,(#1041)); +#1043=IFCALIGNMENTVERTICAL('0WHbHCs3qElVrvUOPlBBKM',$,'GCHC',$,'FG',#31,#1123); +#1044=IFCALIGNMENTVERTICALSEGMENT($,$,-0.00002,404.92672,753.74663,-0.0257086092693932,-0.0257086092693932,$,.CONSTANTGRADIENT.); +#1045=IFCALIGNMENTSEGMENT('28R3l02DYmrYu6VWPrLDqc',$,$,$,$,#31,#1068,#1044); +#1046=IFCRELNESTS('1B8hkbe4znow0NyTTJUkW$',$,$,$,#1043,(#1045,#1048,#1050,#1052,#1054,#1056,#1058,#1060,#1062)); +#1047=IFCALIGNMENTVERTICALSEGMENT($,$,404.9267,699.9986,743.33653,-0.0257086092694068,0.0460625489007067,-9753.20195,.PARABOLICARC.); +#1048=IFCALIGNMENTSEGMENT('22Gx50VLeXUG$YFpAr_wmE',$,$,$,$,#31,#1075,#1047); +#1049=IFCALIGNMENTVERTICALSEGMENT($,$,1104.9253,640.00827,750.46039,0.04606254890069,0.04606254890069,$,.CONSTANTGRADIENT.); +#1050=IFCALIGNMENTSEGMENT('1JZ3W_XPDGg9Leve4Elhtq',$,$,$,$,#31,#1081,#1049); +#1051=IFCALIGNMENTVERTICALSEGMENT($,$,1744.93356,899.9982,779.9408,0.0460625489006983,-0.0404997306298518,-10397.1176,.PARABOLICARC.); +#1052=IFCALIGNMENTSEGMENT('0jPiO7pu8O51tt$ClqWkPc',$,$,$,$,#31,#1088,#1051); +#1053=IFCALIGNMENTVERTICALSEGMENT($,$,2644.93176,380.00619,782.44407,-0.0404997306298468,-0.0404997306298468,$,.CONSTANTGRADIENT.); +#1054=IFCALIGNMENTSEGMENT('3SceJwy4pBLIFVL6EHlwZe',$,$,$,$,#31,#1094,#1053); +#1055=IFCALIGNMENTVERTICALSEGMENT($,$,3024.93795,429.99914,767.05392,-0.0404997306298294,-0.0170529708819934,-18339.3844,.PARABOLICARC.); +#1056=IFCALIGNMENTSEGMENT('2r9ZH6i5Z0cOdREr5btF8R',$,$,$,$,#31,#1101,#1055); +#1057=IFCALIGNMENTVERTICALSEGMENT($,$,3454.93709,15.00002,754.68011,-0.0170529708820723,-0.0170529708820723,$,.CONSTANTGRADIENT.); +#1058=IFCALIGNMENTSEGMENT('03afxRz4QYBo0mXAPzxxUG',$,$,$,$,#31,#1107,#1057); +#1059=IFCALIGNMENTVERTICALSEGMENT($,$,3469.93711,219.99946,754.42432,-0.0170529708820151,0.0101385184705478,-8090.74697,.PARABOLICARC.); +#1060=IFCALIGNMENTSEGMENT('0CwcpGfRJnEhX0xEyFezAU',$,$,$,$,#31,#1114,#1059); +#1061=IFCALIGNMENTVERTICALSEGMENT($,$,3689.93657,1.75207,753.66373,0.0101385184707356,0.0101385184707356,$,.CONSTANTGRADIENT.); +#1062=IFCALIGNMENTSEGMENT('3oQzcvqZX2ZLK64Zora2Dy',$,$,$,$,#31,#1120,#1061); +#1063=IFCCARTESIANPOINT((-0.00002,753.74663)); +#1064=IFCDIRECTION((0.9996697,-0.02570012)); +#1065=IFCAXIS2PLACEMENT2D(#1063,#1064); +#1066=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1065,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(405.060514697952),#84); +#1067=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1066)); +#1068=IFCPRODUCTDEFINITIONSHAPE($,$,(#1067)); +#1069=IFCCARTESIANPOINT((404.9267,743.33653)); +#1070=IFCDIRECTION((0.9996697,-0.02570012)); +#1071=IFCAXIS2PLACEMENT2D(#1069,#1070); +#1072=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.12652155E-05),$); +#1073=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1071,IFCPARAMETERVALUE(-250.741258123195),IFCPARAMETERVALUE(699.99860000005),#1072); +#1074=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1073)); +#1075=IFCPRODUCTDEFINITIONSHAPE($,$,(#1074)); +#1076=IFCCARTESIANPOINT((1104.9253,750.46039)); +#1077=IFCDIRECTION((0.99894081,0.04601376)); +#1078=IFCAXIS2PLACEMENT2D(#1076,#1077); +#1079=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1078,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(640.686877080321),#84); +#1080=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1079)); +#1081=IFCPRODUCTDEFINITIONSHAPE($,$,(#1080)); +#1082=IFCCARTESIANPOINT((1744.93356,779.9408)); +#1083=IFCDIRECTION((0.99894081,0.04601376)); +#1084=IFCAXIS2PLACEMENT2D(#1082,#1083); +#1085=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.80902515E-05),$); +#1086=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1084,IFCPARAMETERVALUE(-478.917737874747),IFCPARAMETERVALUE(899.998200000264),#1085); +#1087=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1086)); +#1088=IFCPRODUCTDEFINITIONSHAPE($,$,(#1087)); +#1089=IFCCARTESIANPOINT((2644.93176,782.44407)); +#1090=IFCDIRECTION((0.99918089,-0.04046656)); +#1091=IFCAXIS2PLACEMENT2D(#1089,#1090); +#1092=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1091,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(380.317711275698),#84); +#1093=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1092)); +#1094=IFCPRODUCTDEFINITIONSHAPE($,$,(#1093)); +#1095=IFCCARTESIANPOINT((3024.93795,767.05392)); +#1096=IFCDIRECTION((0.99918089,-0.04046656)); +#1097=IFCAXIS2PLACEMENT2D(#1095,#1096); +#1098=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.72637287E-05),$); +#1099=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1097,IFCPARAMETERVALUE(-742.740128203192),IFCPARAMETERVALUE(429.999139999971),#1098); +#1100=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1099)); +#1101=IFCPRODUCTDEFINITIONSHAPE($,$,(#1100)); +#1102=IFCCARTESIANPOINT((3454.93709,754.68011)); +#1103=IFCDIRECTION((0.99985463,-0.01705049)); +#1104=IFCAXIS2PLACEMENT2D(#1102,#1103); +#1105=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1104,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(15.0022009036449),#84); +#1106=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1105)); +#1107=IFCPRODUCTDEFINITIONSHAPE($,$,(#1106)); +#1108=IFCCARTESIANPOINT((3469.93711,754.42432)); +#1109=IFCDIRECTION((0.99985463,-0.01705049)); +#1110=IFCAXIS2PLACEMENT2D(#1108,#1109); +#1111=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,6.17989911E-05),$); +#1112=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1110,IFCPARAMETERVALUE(-137.971272437373),IFCPARAMETERVALUE(219.999460000079),#1111); +#1113=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1112)); +#1114=IFCPRODUCTDEFINITIONSHAPE($,$,(#1113)); +#1115=IFCCARTESIANPOINT((3689.93657,753.66373)); +#1116=IFCDIRECTION((0.99994861,0.010138)); +#1117=IFCAXIS2PLACEMENT2D(#1115,#1116); +#1118=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1117,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1.75216434220823),#84); +#1119=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1118)); +#1120=IFCPRODUCTDEFINITIONSHAPE($,$,(#1119)); +#1121=IFCGRADIENTCURVE((#1066,#1073,#1079,#1086,#1092,#1099,#1105,#1112,#1118),.U.,#1040,$); +#1122=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1121)); +#1123=IFCPRODUCTDEFINITIONSHAPE($,$,(#1122)); +#1124=IFCSTYLEDITEM(#1121,(#254),'C-ROAD-PROF'); +#1125=IFCREFERENT('1QoXYp5LP69evi84aA$d2j',$,'12605+62.02',$,$,#1129,$,.STATION.); +#1126=IFCRELNESTS('2LcuHqJ1zhQ$jpohxfayDM',$,$,$,#978,(#1125)); +#1127=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1040); +#1128=IFCAXIS2PLACEMENTLINEAR(#1127,$,$); +#1129=IFCLINEARPLACEMENT(#31,#1128,$); +#1130=IFCPROPERTYSET('1h85m2DUP8NxGx22xcCCnI',$,'Pset_Stationing',$,(#1132)); +#1131=IFCRELDEFINESBYPROPERTIES('0BKGDnnMzCHh6SdhSwug2F',$,$,$,(#1125),#1130); +#1132=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(1260562.02108876),$); +#1133=IFCALIGNMENT('0tBEqvYV954RHz66B01$sk',$,'GCIC',$,'Centerline',#31,$,$); +#1135=IFCPROPERTYSET('3l34U80Bn7ZgnYUx1EP_pT',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1137,#1138,#1139)); +#1136=IFCRELDEFINESBYPROPERTIES('0MDkRqjbb3IRRdHtEOHTfq',$,$,$,(#1133),#1135); +#1137=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:35:47'),$); +#1138=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCIC.xml'),$); +#1139=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:40:57'),$); +#1140=IFCPROPERTYSET('2WTI4lO9rDzRUIcZK$godq',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1142,#1143,#1144)); +#1141=IFCRELDEFINESBYPROPERTIES('38QgdqZQ56iwJ0yNVq0Cd8',$,$,$,(#1133),#1140); +#1142=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('4882.317849'),$); +#1143=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCIC'),$); +#1144=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('596454.712600'),$); +#1145=IFCALIGNMENTHORIZONTAL('1OMN1FuqDNMSPilXtFF8tS',$,'GCIC',$,$,#31,#1222); +#1146=IFCRELNESTS('0m33CXZoswAvXkngiD9GgL',$,$,$,#1133,(#1145,#1223)); +#1147=IFCPROPERTYSET('0UYqTEekX0EB43D74d_9x_',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1137,#1138,#1139)); +#1148=IFCRELDEFINESBYPROPERTIES('06CKW1yez6sQOB2Csyppwu',$,$,$,(#1145),#1147); +#1149=IFCPROPERTYSET('13fwmd7Jf8nRrQJ8gUT5$J',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1142,#1143,#1144)); +#1150=IFCRELDEFINESBYPROPERTIES('2cq_n$N1r0MPI9sp7mjTl9',$,$,$,(#1145),#1149); +#1151=IFCCARTESIANPOINT((-5206.67531,9732.48392)); +#1152=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1151,1.53856116699309,0.0,0.0,600.2389,$,.LINE.); +#1153=IFCALIGNMENTSEGMENT('31qRqk2O7OS97p3$$qFbK7',$,$,$,$,#31,#1180,#1152); +#1154=IFCRELNESTS('2qdAFVqn2RG6FXnZ6TLmpG',$,$,$,#1145,(#1153,#1157,#1160,#1163,#1166,#1169,#1172,#1175)); +#1155=IFCCARTESIANPOINT((-5187.32987,10332.41099)); +#1156=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1155,1.5385611669931,-1287.99742,-1287.99742,323.3415,$,.CIRCULARARC.); +#1157=IFCALIGNMENTSEGMENT('2_xDyA7dDhG5UPd5OqHGuB',$,$,$,$,#31,#1186,#1156); +#1158=IFCCARTESIANPOINT((-5136.66535,10650.89946)); +#1159=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1158,1.28751912416973,0.0,0.0,661.24501,$,.LINE.); +#1160=IFCALIGNMENTSEGMENT('3r0mGwRmHGew2qcRFy0Ctf',$,$,$,$,#31,#1191,#1159); +#1161=IFCCARTESIANPOINT((-4951.8449,11285.79029)); +#1162=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1161,1.28751912416972,661.99868,661.99868,1028.03598,$,.CIRCULARARC.); +#1163=IFCALIGNMENTSEGMENT('2XPFPPqyjFPQLcUVXK2SsQ',$,$,$,$,#31,#1197,#1162); +#1164=IFCCARTESIANPOINT((-5391.10074,12103.02827)); +#1165=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1164,-3.44273863780281,0.0,0.0,524.99895,$,.LINE.); +#1166=IFCALIGNMENTSEGMENT('1iP2G8UAkmbwHRONqK2JNR',$,$,$,$,#31,#1202,#1165); +#1167=IFCCARTESIANPOINT((-5892.47327,12258.75074)); +#1168=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1167,-3.44273863780281,-1587.99682,-1587.99682,595.49881,$,.CIRCULARARC.); +#1169=IFCALIGNMENTSEGMENT('3j5XOBqLqxbv1ffxwJw7Ht',$,$,$,$,#31,#1208,#1168); +#1170=IFCCARTESIANPOINT((-6415.20494,12536.66112)); +#1171=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1170,-3.81773863780421,0.0,0.0,424.99897,$,.LINE.); +#1172=IFCALIGNMENTSEGMENT('1pGop8meB8pNiw$2uD0tgk',$,$,$,$,#31,#1213,#1171); +#1173=IFCCARTESIANPOINT((-6746.70002,12802.62189)); +#1174=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1173,-3.81773863780423,7681.42464,7681.42464,723.95973,$,.CIRCULARARC.); +#1175=IFCALIGNMENTSEGMENT('1qK_vfGWU8XP6833_QCfwM',$,$,$,$,#31,#1219,#1174); +#1176=IFCAXIS2PLACEMENT2D(#1151,#1177); +#1177=IFCDIRECTION((0.03222958,0.99948049)); +#1178=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1176,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(600.238895447134),#84); +#1179=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1178)); +#1180=IFCPRODUCTDEFINITIONSHAPE($,$,(#1179)); +#1181=IFCAXIS2PLACEMENT2D(#1155,#1182); +#1182=IFCDIRECTION((0.03222958,0.99948049)); +#1183=IFCCIRCLE(#96,1287.99742); +#1184=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1181,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.251042042823373),#1183); +#1185=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1184)); +#1186=IFCPRODUCTDEFINITIONSHAPE($,$,(#1185)); +#1187=IFCAXIS2PLACEMENT2D(#1158,#1188); +#1188=IFCDIRECTION((0.27950373,0.96014461)); +#1189=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1187,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(661.245007503753),#84); +#1190=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1189)); +#1191=IFCPRODUCTDEFINITIONSHAPE($,$,(#1190)); +#1192=IFCAXIS2PLACEMENT2D(#1161,#1193); +#1193=IFCDIRECTION((0.27950373,0.96014461)); +#1194=IFCCIRCLE(#96,661.99868); +#1195=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1192,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1028.03597884984),#1194); +#1196=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1195)); +#1197=IFCPRODUCTDEFINITIONSHAPE($,$,(#1196)); +#1198=IFCAXIS2PLACEMENT2D(#1164,#1199); +#1199=IFCDIRECTION((-0.9549972,0.29661481)); +#1200=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1198,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(524.998949998627),#84); +#1201=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1200)); +#1202=IFCPRODUCTDEFINITIONSHAPE($,$,(#1201)); +#1203=IFCAXIS2PLACEMENT2D(#1167,#1204); +#1204=IFCDIRECTION((-0.9549972,0.29661481)); +#1205=IFCCIRCLE(#96,1587.99682); +#1206=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1203,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.375000000001423),#1205); +#1207=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1206)); +#1208=IFCPRODUCTDEFINITIONSHAPE($,$,(#1207)); +#1209=IFCAXIS2PLACEMENT2D(#1170,#1210); +#1210=IFCDIRECTION((-0.77999032,0.62579158)); +#1211=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1209,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(424.998970338592),#84); +#1212=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1211)); +#1213=IFCPRODUCTDEFINITIONSHAPE($,$,(#1212)); +#1214=IFCAXIS2PLACEMENT2D(#1173,#1215); +#1215=IFCDIRECTION((-0.77999032,0.62579158)); +#1216=IFCCIRCLE(#96,7681.42464); +#1217=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1214,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(723.959733097384),#1216); +#1218=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1217)); +#1219=IFCPRODUCTDEFINITIONSHAPE($,$,(#1218)); +#1220=IFCCOMPOSITECURVE((#1178,#1184,#1189,#1195,#1200,#1206,#1211,#1217),.U.); +#1221=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1220)); +#1222=IFCPRODUCTDEFINITIONSHAPE($,$,(#1221)); +#1223=IFCALIGNMENTVERTICAL('2P0O99mr3PL30bZffckzwO',$,'GCIC',$,'FG',#31,#1337); +#1224=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,500.239,773.9584,-0.0196123458544293,-0.0196123458544293,$,.CONSTANTGRADIENT.); +#1225=IFCALIGNMENTSEGMENT('1v02Q73xAoKZPoWHpPDSo5',$,$,$,$,#31,#1256,#1224); +#1226=IFCRELNESTS('1f9zUeVWTGReEJjcX7Sts1',$,$,$,#1223,(#1225,#1228,#1230,#1232,#1234,#1236,#1238,#1240,#1242,#1244,#1246,#1248,#1250)); +#1227=IFCALIGNMENTVERTICALSEGMENT($,$,500.239,79.99984,764.14754,-0.0196123458544382,-0.0230042039138393,-23585.84546,.PARABOLICARC.); +#1228=IFCALIGNMENTSEGMENT('3fGGwHr_LIxtPwAJtp3dMk',$,$,$,$,#31,#1263,#1227); +#1229=IFCALIGNMENTVERTICALSEGMENT($,$,580.23884,29.99999,762.44289,-0.0230042039138486,-0.0230042039138486,$,.CONSTANTGRADIENT.); +#1230=IFCALIGNMENTSEGMENT('1dqLppmztFm7J93SdQsUNW',$,$,$,$,#31,#1269,#1229); +#1231=IFCALIGNMENTVERTICALSEGMENT($,$,610.23883,599.9987,761.75276,-0.0230042039138291,0.017962148187289,-14646.13443,.PARABOLICARC.); +#1232=IFCALIGNMENTSEGMENT('0FksBYMF9Vq_L05xhQ4yJV',$,$,$,$,#31,#1276,#1231); +#1233=IFCALIGNMENTVERTICALSEGMENT($,$,1210.23753,964.99812,760.24015,0.0179621481872865,0.0179621481872865,$,.CONSTANTGRADIENT.); +#1234=IFCALIGNMENTSEGMENT('0RDyHW$bPfiP8_dvHo23YJ',$,$,$,$,#31,#1282,#1233); +#1235=IFCALIGNMENTVERTICALSEGMENT($,$,2175.23565,799.9984,777.57359,0.0179621481872869,-0.0356354740660881,-14926.00542,.PARABOLICARC.); +#1236=IFCALIGNMENTSEGMENT('3VoUrzRu8s61CNzBBl5a28',$,$,$,$,#31,#1289,#1235); +#1237=IFCALIGNMENTVERTICALSEGMENT($,$,2975.23405,274.99945,770.50427,-0.0356354740660817,-0.0356354740660817,$,.CONSTANTGRADIENT.); +#1238=IFCALIGNMENTSEGMENT('2UY2Qi5TBYFEP5ew3WQeG2',$,$,$,$,#31,#1295,#1237); +#1239=IFCALIGNMENTVERTICALSEGMENT($,$,3250.2335,449.9991,760.70453,-0.0356354740660708,-0.0049740444590918,-14676.39004,.PARABOLICARC.); +#1240=IFCALIGNMENTSEGMENT('3HKxUX30OClsG4ES$Ia5Z4',$,$,$,$,#31,#1302,#1239); +#1241=IFCALIGNMENTVERTICALSEGMENT($,$,3700.2326,184.99963,751.56741,-0.00497404445909376,-0.00497404445909376,$,.CONSTANTGRADIENT.); +#1242=IFCALIGNMENTSEGMENT('0rKMmkLm9lGZUucnyZNxbD',$,$,$,$,#31,#1308,#1241); +#1243=IFCALIGNMENTVERTICALSEGMENT($,$,3885.23223,229.99954,750.64721,-0.00497404445909772,-0.00788511627872505,-79008.54196,.PARABOLICARC.); +#1244=IFCALIGNMENTSEGMENT('3F2Eueweonz4n0DknbeO51',$,$,$,$,#31,#1315,#1243); +#1245=IFCALIGNMENTVERTICALSEGMENT($,$,4115.23177,199.9996,749.16841,-0.00788511627872777,-0.00788511627872777,$,.CONSTANTGRADIENT.); +#1246=IFCALIGNMENTSEGMENT('0cngU0Tyiar4Bw9CghYFSU',$,$,$,$,#31,#1321,#1245); +#1247=IFCALIGNMENTVERTICALSEGMENT($,$,4315.23137,229.99954,747.59139,-0.00788511627872011,0.00329558273795119,-20571.12347,.PARABOLICARC.); +#1248=IFCALIGNMENTSEGMENT('1XeQNcnRYUbh2Hx3TxXYTr',$,$,$,$,#31,#1328,#1247); +#1249=IFCALIGNMENTVERTICALSEGMENT($,$,4545.23091,337.08694,747.0636,0.00329558273794968,0.00329558273794968,$,.CONSTANTGRADIENT.); +#1250=IFCALIGNMENTSEGMENT('3uAF9Atf6oz05m5f6lqeOI',$,$,$,$,#31,#1334,#1249); +#1251=IFCCARTESIANPOINT((0.0,773.9584)); +#1252=IFCDIRECTION((0.99980773,-0.01960858)); +#1253=IFCAXIS2PLACEMENT2D(#1251,#1252); +#1254=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1253,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(500.335197179133),#84); +#1255=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1254)); +#1256=IFCPRODUCTDEFINITIONSHAPE($,$,(#1255)); +#1257=IFCCARTESIANPOINT((500.239,764.14754)); +#1258=IFCDIRECTION((0.99980773,-0.01960858)); +#1259=IFCAXIS2PLACEMENT2D(#1257,#1258); +#1260=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-2.11991553E-05),$); +#1261=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1259,IFCPARAMETERVALUE(462.573758365255),IFCPARAMETERVALUE(79.9998399999458),#1260); +#1262=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1261)); +#1263=IFCPRODUCTDEFINITIONSHAPE($,$,(#1262)); +#1264=IFCCARTESIANPOINT((580.23884,762.44289)); +#1265=IFCDIRECTION((0.99973551,-0.02299812)); +#1266=IFCAXIS2PLACEMENT2D(#1264,#1265); +#1267=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1266,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(30.0079269289312),#84); +#1268=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1267)); +#1269=IFCPRODUCTDEFINITIONSHAPE($,$,(#1268)); +#1270=IFCCARTESIANPOINT((610.23883,761.75276)); +#1271=IFCDIRECTION((0.99973551,-0.02299812)); +#1272=IFCAXIS2PLACEMENT2D(#1270,#1271); +#1273=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.41387007E-05),$); +#1274=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1272,IFCPARAMETERVALUE(-336.922662988411),IFCPARAMETERVALUE(599.99869999988),#1273); +#1275=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1274)); +#1276=IFCPRODUCTDEFINITIONSHAPE($,$,(#1275)); +#1277=IFCCARTESIANPOINT((1210.23753,760.24015)); +#1278=IFCDIRECTION((0.99983872,0.01795925)); +#1279=IFCAXIS2PLACEMENT2D(#1277,#1278); +#1280=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1279,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(965.153780354177),#84); +#1281=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1280)); +#1282=IFCPRODUCTDEFINITIONSHAPE($,$,(#1281)); +#1283=IFCCARTESIANPOINT((2175.23565,777.57359)); +#1284=IFCDIRECTION((0.99983872,0.01795925)); +#1285=IFCAXIS2PLACEMENT2D(#1283,#1284); +#1286=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.34985809E-05),$); +#1287=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1285,IFCPARAMETERVALUE(-268.103121113478),IFCPARAMETERVALUE(799.998399999924),#1286); +#1288=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1287)); +#1289=IFCPRODUCTDEFINITIONSHAPE($,$,(#1288)); +#1290=IFCCARTESIANPOINT((2975.23405,770.50427)); +#1291=IFCDIRECTION((0.99936566,-0.03561287)); +#1292=IFCAXIS2PLACEMENT2D(#1290,#1291); +#1293=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1292,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(275.174003697525),#84); +#1294=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1293)); +#1295=IFCPRODUCTDEFINITIONSHAPE($,$,(#1294)); +#1296=IFCCARTESIANPOINT((3250.2335,760.70453)); +#1297=IFCDIRECTION((0.99936566,-0.03561287)); +#1298=IFCAXIS2PLACEMENT2D(#1296,#1297); +#1299=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.40683233E-05),$); +#1300=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1298,IFCPARAMETERVALUE(-523.000116542237),IFCPARAMETERVALUE(449.999099999899),#1299); +#1301=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1300)); +#1302=IFCPRODUCTDEFINITIONSHAPE($,$,(#1301)); +#1303=IFCCARTESIANPOINT((3700.2326,751.56741)); +#1304=IFCDIRECTION((0.99998763,-0.00497398)); +#1305=IFCAXIS2PLACEMENT2D(#1303,#1304); +#1306=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1305,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(185.001918559366),#84); +#1307=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1306)); +#1308=IFCPRODUCTDEFINITIONSHAPE($,$,(#1307)); +#1309=IFCCARTESIANPOINT((3885.23223,750.64721)); +#1310=IFCDIRECTION((0.99998763,-0.00497398)); +#1311=IFCAXIS2PLACEMENT2D(#1309,#1310); +#1312=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.32842966E-06),$); +#1313=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1311,IFCPARAMETERVALUE(392.992000341107),IFCPARAMETERVALUE(229.99953999999),#1312); +#1314=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1313)); +#1315=IFCPRODUCTDEFINITIONSHAPE($,$,(#1314)); +#1316=IFCCARTESIANPOINT((4115.23177,749.16841)); +#1317=IFCDIRECTION((0.99996891,-0.00788487)); +#1318=IFCAXIS2PLACEMENT2D(#1316,#1317); +#1319=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1318,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(200.005817403997),#84); +#1320=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1319)); +#1321=IFCPRODUCTDEFINITIONSHAPE($,$,(#1320)); +#1322=IFCCARTESIANPOINT((4315.23137,747.59139)); +#1323=IFCDIRECTION((0.99996891,-0.00788487)); +#1324=IFCAXIS2PLACEMENT2D(#1322,#1323); +#1325=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.4305916E-05),$); +#1326=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1324,IFCPARAMETERVALUE(-162.205700578101),IFCPARAMETERVALUE(229.99953999999),#1325); +#1327=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1326)); +#1328=IFCPRODUCTDEFINITIONSHAPE($,$,(#1327)); +#1329=IFCCARTESIANPOINT((4545.23091,747.0636)); +#1330=IFCDIRECTION((0.99999457,0.00329556)); +#1331=IFCAXIS2PLACEMENT2D(#1329,#1330); +#1332=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1331,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(337.088769697214),#84); +#1333=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1332)); +#1334=IFCPRODUCTDEFINITIONSHAPE($,$,(#1333)); +#1335=IFCGRADIENTCURVE((#1254,#1261,#1267,#1274,#1280,#1287,#1293,#1300,#1306,#1313,#1319,#1326,#1332),.U.,#1220,$); +#1336=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1335)); +#1337=IFCPRODUCTDEFINITIONSHAPE($,$,(#1336)); +#1338=IFCSTYLEDITEM(#1335,(#254),'C-ROAD-PROF'); +#1339=IFCREFERENT('3bTJGh0kDEiuKjIlFPbUw2',$,'5964+54.71',$,$,#1343,$,.STATION.); +#1340=IFCRELNESTS('2YEHABqS_hvWdL2qMa2Ih9',$,$,$,#1133,(#1339)); +#1341=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1220); +#1342=IFCAXIS2PLACEMENTLINEAR(#1341,$,$); +#1343=IFCLINEARPLACEMENT(#31,#1342,$); +#1344=IFCPROPERTYSET('1eH2ID80X20BTOXt8J36a4',$,'Pset_Stationing',$,(#1346)); +#1345=IFCRELDEFINESBYPROPERTIES('0opmTs9LnEnAHerTzPPwge',$,$,$,(#1339),#1344); +#1346=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(596454.7126),$); +#1347=IFCALIGNMENT('2w3HVsKRbAgfrSTA$S_Th1',$,'GCJC',$,'Centerline',#31,$,$); +#1349=IFCPROPERTYSET('0fXv$0vyH2WAknhbEGJYKK',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1351,#1352,#1353)); +#1350=IFCRELDEFINESBYPROPERTIES('2NKasonpL6YhoLgOPUagmr',$,$,$,(#1347),#1349); +#1351=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:36:05'),$); +#1352=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCJC.xml'),$); +#1353=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:07'),$); +#1354=IFCPROPERTYSET('25ZjfPUYf8$OfVMPrILBXy',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1356,#1357,#1358)); +#1355=IFCRELDEFINESBYPROPERTIES('366KJHTyn0QAiRvahp6MHV',$,$,$,(#1347),#1354); +#1356=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2664.894868'),$); +#1357=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCJC'),$); +#1358=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('602853.125000'),$); +#1359=IFCALIGNMENTHORIZONTAL('3WZeaU$uERE7bx5MEBbkub',$,'GCJC',$,$,#31,#1402); +#1360=IFCRELNESTS('0ec$D8lEa2vYXOjqHJRPvR',$,$,$,#1347,(#1359,#1403)); +#1361=IFCPROPERTYSET('2d49HLrzf25hC67hiEtHB0',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1351,#1352,#1353)); +#1362=IFCRELDEFINESBYPROPERTIES('3tbsro8sXAtv2RI2gUkhD2',$,$,$,(#1359),#1361); +#1363=IFCPROPERTYSET('13xoV2WYH8$Pi5oI$7vnoX',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1356,#1357,#1358)); +#1364=IFCRELDEFINESBYPROPERTIES('1LTYSBTvn5veedIHb7XDxf',$,$,$,(#1359),#1363); +#1365=IFCCARTESIANPOINT((-6581.2233,12563.17541)); +#1366=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1365,-0.702512213254556,0.0,0.0,760.93939,$,.LINE.); +#1367=IFCALIGNMENTSEGMENT('37EJMrKwJrlETOofkSU8s6',$,$,$,$,#31,#1382,#1366); +#1368=IFCRELNESTS('109pDtxgOOoEMDHUVToSE$',$,$,$,#1359,(#1367,#1371,#1374,#1377)); +#1369=IFCCARTESIANPOINT((-6000.4581,12071.50424)); +#1370=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1369,-0.702512213254558,-1749.9965,-1749.9965,1446.27716,$,.CIRCULARARC.); +#1371=IFCALIGNMENTSEGMENT('1$gPCTO5$688SbBNyKDllZ',$,$,$,$,#31,#1388,#1370); +#1372=IFCCARTESIANPOINT((-5382.73068,10809.06516)); +#1373=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1372,-1.52895796037449,-5749.9885,-5749.9885,157.71224,$,.CIRCULARARC.); +#1374=IFCALIGNMENTSEGMENT('0xA76UDi3ib3bfIX3a5r2Y',$,$,$,$,#31,#1394,#1373); +#1375=IFCCARTESIANPOINT((-5378.29587,10651.42023)); +#1376=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1375,-1.55638623156662,0.0,0.0,299.96607,$,.LINE.); +#1377=IFCALIGNMENTSEGMENT('2Ct$XZbUwMAKjmxvNop8ud',$,$,$,$,#31,#1399,#1376); +#1378=IFCAXIS2PLACEMENT2D(#1365,#1379); +#1379=IFCDIRECTION((0.76322136,-0.6461371)); +#1380=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1378,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(760.939391767445),#84); +#1381=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1380)); +#1382=IFCPRODUCTDEFINITIONSHAPE($,$,(#1381)); +#1383=IFCAXIS2PLACEMENT2D(#1369,#1384); +#1384=IFCDIRECTION((0.76322136,-0.6461371)); +#1385=IFCCIRCLE(#96,1749.9965); +#1386=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1383,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.826445747119934),#1385); +#1387=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1386)); +#1388=IFCPRODUCTDEFINITIONSHAPE($,$,(#1387)); +#1389=IFCAXIS2PLACEMENT2D(#1372,#1390); +#1390=IFCDIRECTION((0.04182616,-0.9991249)); +#1391=IFCCIRCLE(#96,5749.9885); +#1392=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1389,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0274282711921271),#1391); +#1393=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1392)); +#1394=IFCPRODUCTDEFINITIONSHAPE($,$,(#1393)); +#1395=IFCAXIS2PLACEMENT2D(#1375,#1396); +#1396=IFCDIRECTION((0.0144096,-0.99989618)); +#1397=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1395,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(299.966067102938),#84); +#1398=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1397)); +#1399=IFCPRODUCTDEFINITIONSHAPE($,$,(#1398)); +#1400=IFCCOMPOSITECURVE((#1380,#1386,#1392,#1397),.U.); +#1401=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1400)); +#1402=IFCPRODUCTDEFINITIONSHAPE($,$,(#1401)); +#1403=IFCALIGNMENTVERTICAL('1pQ99zbgUOq5ojIQTNnLZg',$,'GCJC',$,'FG',#31,#1466); +#1404=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,224.99955,748.3385,0.00300000000038086,0.00300000000038086,$,.CONSTANTGRADIENT.); +#1405=IFCALIGNMENTSEGMENT('3ZKhg_viLTggfxYJ1IfJJE',$,$,$,$,#31,#1424,#1404); +#1406=IFCRELNESTS('3lK8LbfYVYU5Ja6KMN9NLV',$,$,$,#1403,(#1405,#1408,#1410,#1412,#1414,#1416,#1418)); +#1407=IFCALIGNMENTVERTICALSEGMENT($,$,224.99955,379.99924,749.0135,0.00300000000037758,0.0334009991961367,-12499.56416,.PARABOLICARC.); +#1408=IFCALIGNMENTSEGMENT('151pjuYe2igvfx2_e87y$B',$,$,$,$,#31,#1431,#1407); +#1409=IFCALIGNMENTVERTICALSEGMENT($,$,604.99879,20.00001,755.92968,0.0334009991961097,0.0334009991961097,$,.CONSTANTGRADIENT.); +#1410=IFCALIGNMENTSEGMENT('2qxL5p5j_a6Th58BXB32Qo',$,$,$,$,#31,#1437,#1409); +#1411=IFCALIGNMENTVERTICALSEGMENT($,$,624.9988,699.9985,756.5977,0.0334009991961436,-0.0277634240785204,-11444.53691,.PARABOLICARC.); +#1412=IFCALIGNMENTSEGMENT('3ruPEQ6D_zNw$O$6eqnBfk',$,$,$,$,#31,#1444,#1411); +#1413=IFCALIGNMENTVERTICALSEGMENT($,$,1324.9973,229.99959,758.57085,-0.0277634240785275,-0.0277634240785275,$,.CONSTANTGRADIENT.); +#1414=IFCALIGNMENTSEGMENT('1wyfZQNxe43Vxeou4rl5Fw',$,$,$,$,#31,#1450,#1413); +#1415=IFCALIGNMENTVERTICALSEGMENT($,$,1554.99689,649.9987,752.18527,-0.0277634240785181,0.0280233851693849,-11651.47655,.PARABOLICARC.); +#1416=IFCALIGNMENTSEGMENT('0q_N2h3ojIufFQxgF7SOc6',$,$,$,$,#31,#1457,#1415); +#1417=IFCALIGNMENTVERTICALSEGMENT($,$,2204.99559,459.89928,752.26976,0.028023385169373,0.028023385169373,$,.CONSTANTGRADIENT.); +#1418=IFCALIGNMENTSEGMENT('0CB_k_IoaJ4Pa5ZoAlOt36',$,$,$,$,#31,#1463,#1417); +#1419=IFCCARTESIANPOINT((0.0,748.3385)); +#1420=IFCDIRECTION((0.9999955,0.00299999)); +#1421=IFCAXIS2PLACEMENT2D(#1419,#1420); +#1422=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1421,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(225.00056250007),#84); +#1423=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1422)); +#1424=IFCPRODUCTDEFINITIONSHAPE($,$,(#1423)); +#1425=IFCCARTESIANPOINT((224.99955,749.0135)); +#1426=IFCDIRECTION((0.9999955,0.00299999)); +#1427=IFCAXIS2PLACEMENT2D(#1425,#1426); +#1428=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.00013947E-05),$); +#1429=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1427,IFCPARAMETERVALUE(37.4986924871407),IFCPARAMETERVALUE(379.999240000034),#1428); +#1430=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1429)); +#1431=IFCPRODUCTDEFINITIONSHAPE($,$,(#1430)); +#1432=IFCCARTESIANPOINT((604.99879,755.92968)); +#1433=IFCDIRECTION((0.99944265,0.03338238)); +#1434=IFCAXIS2PLACEMENT2D(#1432,#1433); +#1435=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1434,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(20.0111631616719),#84); +#1436=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1435)); +#1437=IFCPRODUCTDEFINITIONSHAPE($,$,(#1436)); +#1438=IFCCARTESIANPOINT((624.9988,756.5977)); +#1439=IFCDIRECTION((0.99944265,0.03338238)); +#1440=IFCAXIS2PLACEMENT2D(#1438,#1439); +#1441=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.36889674E-05),$); +#1442=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1440,IFCPARAMETERVALUE(-382.258968269978),IFCPARAMETERVALUE(699.998499999987),#1441); +#1443=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1442)); +#1444=IFCPRODUCTDEFINITIONSHAPE($,$,(#1443)); +#1445=IFCCARTESIANPOINT((1324.9973,758.57085)); +#1446=IFCDIRECTION((0.99961482,-0.02775273)); +#1447=IFCAXIS2PLACEMENT2D(#1445,#1446); +#1448=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1447,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(230.088215650057),#84); +#1449=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1448)); +#1450=IFCPRODUCTDEFINITIONSHAPE($,$,(#1449)); +#1451=IFCCARTESIANPOINT((1554.99689,752.18527)); +#1452=IFCDIRECTION((0.99961482,-0.02775273)); +#1453=IFCAXIS2PLACEMENT2D(#1451,#1452); +#1454=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.2913016E-05),$); +#1455=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1453,IFCPARAMETERVALUE(-323.484884722403),IFCPARAMETERVALUE(649.998700000113),#1454); +#1456=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1455)); +#1457=IFCPRODUCTDEFINITIONSHAPE($,$,(#1456)); +#1458=IFCCARTESIANPOINT((2204.99559,752.26976)); +#1459=IFCDIRECTION((0.99960758,0.02801239)); +#1460=IFCAXIS2PLACEMENT2D(#1458,#1459); +#1461=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1460,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(460.079824040355),#84); +#1462=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1461)); +#1463=IFCPRODUCTDEFINITIONSHAPE($,$,(#1462)); +#1464=IFCGRADIENTCURVE((#1422,#1429,#1435,#1442,#1448,#1455,#1461),.U.,#1400,$); +#1465=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1464)); +#1466=IFCPRODUCTDEFINITIONSHAPE($,$,(#1465)); +#1467=IFCSTYLEDITEM(#1464,(#254),'C-ROAD-PROF'); +#1468=IFCREFERENT('04ZE5aEDn22QdHbijoco25',$,'6028+53.12',$,$,#1472,$,.STATION.); +#1469=IFCRELNESTS('0wCJwCHYY3txevUYjSWFPq',$,$,$,#1347,(#1468)); +#1470=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1400); +#1471=IFCAXIS2PLACEMENTLINEAR(#1470,$,$); +#1472=IFCLINEARPLACEMENT(#31,#1471,$); +#1473=IFCPROPERTYSET('3IzeSrCO9FBe9ehXqX58vO',$,'Pset_Stationing',$,(#1475)); +#1474=IFCRELDEFINESBYPROPERTIES('373aTSX7P4$Q2hotV7qs3c',$,$,$,(#1468),#1473); +#1475=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(602853.125),$); +#1476=IFCALIGNMENT('3pZL66$y9F3PvXPhv8rTNo',$,'GCKC',$,'Centerline',#31,$,$); +#1478=IFCPROPERTYSET('2RX79U$R9C2ABKgJFQtjQ2',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1480,#1481,#1482)); +#1479=IFCRELDEFINESBYPROPERTIES('31UBIvtU50IBf$xSddsJEz',$,$,$,(#1476),#1478); +#1480=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:36:46'),$); +#1481=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCKC.xml'),$); +#1482=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:18'),$); +#1483=IFCPROPERTYSET('0rL7bEa$n5OQDPD35WAg1r',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1485,#1486,#1487)); +#1484=IFCRELDEFINESBYPROPERTIES('2qlBUuCun76flsbh4DV5jz',$,$,$,(#1476),#1483); +#1485=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('1596.570751'),$); +#1486=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCKC'),$); +#1487=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('930770.940292'),$); +#1488=IFCALIGNMENTHORIZONTAL('2IFcpp$ERqPkRATIoSvrNP',$,'GCKC',$,$,#31,#1539); +#1489=IFCRELNESTS('0psbBBUWSk5HJ5wOYN3_u8',$,$,$,#1476,(#1488,#1540)); +#1490=IFCPROPERTYSET('23zBxlUf9FRxCtFQwp$bdW',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1480,#1481,#1482)); +#1491=IFCRELDEFINESBYPROPERTIES('2g$Fy9D8L2oudd9XpLln07',$,$,$,(#1488),#1490); +#1492=IFCPROPERTYSET('3AUCBzMmDCjhCUCE$RjKbJ',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1485,#1486,#1487)); +#1493=IFCRELDEFINESBYPROPERTIES('2CxSQFRRTC5hWcScREfecx',$,$,$,(#1488),#1492); +#1494=IFCCARTESIANPOINT((-6635.22892,12577.46232)); +#1495=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1494,-0.742490900378906,0.0,0.0,509.79803,$,.LINE.); +#1496=IFCALIGNMENTSEGMENT('26WmP3Bg5GKynTQTYB$qPe',$,$,$,$,#31,#1514,#1495); +#1497=IFCRELNESTS('2udjOVFkAMRZIknQr5C324',$,$,$,#1488,(#1496,#1500,#1503,#1506,#1509)); +#1498=IFCCARTESIANPOINT((-6259.61652,12232.77499)); +#1499=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1498,-0.742490900378904,-899.9982,-899.9982,303.27963,$,.CIRCULARARC.); +#1500=IFCALIGNMENTSEGMENT('3GKrZNfWX2pDw6kqKoh3yo',$,$,$,$,#31,#1520,#1499); +#1501=IFCCARTESIANPOINT((-6074.59299,11994.28445)); +#1502=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1501,-1.07946894515161,0.0,0.0,510.41778,$,.LINE.); +#1503=IFCALIGNMENTSEGMENT('3XDK4CXef5R4Sm646dfquM',$,$,$,$,#31,#1525,#1502); +#1504=IFCCARTESIANPOINT((-5833.77958,11544.24532)); +#1505=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1504,-1.0794689451516,6749.9865,6749.9865,176.48104,$,.CIRCULARARC.); +#1506=IFCALIGNMENTSEGMENT('0h_q4Idrlmj4EA3cKel6rp',$,$,$,$,#31,#1531,#1505); +#1507=IFCCARTESIANPOINT((-5748.49184,11389.74682)); +#1508=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1507,-1.05332355290032,0.0,0.0,96.59426,$,.LINE.); +#1509=IFCALIGNMENTSEGMENT('01bBJuyJJqVyzdGhAnVPBs',$,$,$,$,#31,#1536,#1508); +#1510=IFCAXIS2PLACEMENT2D(#1494,#1511); +#1511=IFCDIRECTION((0.73678669,-0.67612527)); +#1512=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1510,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(509.798026242812),#84); +#1513=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1512)); +#1514=IFCPRODUCTDEFINITIONSHAPE($,$,(#1513)); +#1515=IFCAXIS2PLACEMENT2D(#1498,#1516); +#1516=IFCDIRECTION((0.73678669,-0.67612527)); +#1517=IFCCIRCLE(#96,899.9982); +#1518=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1515,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.336978044772688),#1517); +#1519=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1518)); +#1520=IFCPRODUCTDEFINITIONSHAPE($,$,(#1519)); +#1521=IFCAXIS2PLACEMENT2D(#1501,#1522); +#1522=IFCDIRECTION((0.47179667,-0.88170738)); +#1523=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1521,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(510.417783911134),#84); +#1524=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1523)); +#1525=IFCPRODUCTDEFINITIONSHAPE($,$,(#1524)); +#1526=IFCAXIS2PLACEMENT2D(#1504,#1527); +#1527=IFCDIRECTION((0.47179667,-0.88170738)); +#1528=IFCCIRCLE(#96,6749.9865); +#1529=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1526,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(176.481044732451),#1528); +#1530=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1529)); +#1531=IFCPRODUCTDEFINITIONSHAPE($,$,(#1530)); +#1532=IFCAXIS2PLACEMENT2D(#1507,#1533); +#1533=IFCDIRECTION((0.49468538,-0.86907214)); +#1534=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1532,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(96.594262595294),#84); +#1535=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1534)); +#1536=IFCPRODUCTDEFINITIONSHAPE($,$,(#1535)); +#1537=IFCCOMPOSITECURVE((#1512,#1518,#1523,#1529,#1534),.U.); +#1538=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1537)); +#1539=IFCPRODUCTDEFINITIONSHAPE($,$,(#1538)); +#1540=IFCALIGNMENTVERTICAL('0SaSjDSykHCzqtFvdm99Vr',$,'GCKC',$,'FG',#31,#1620); +#1541=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,300.4494,747.49341,0.00320912826544109,0.00320912826544109,$,.CONSTANTGRADIENT.); +#1542=IFCALIGNMENTSEGMENT('1aUJ$T_WtwVRYmdb88tvND',$,$,$,$,#31,#1565,#1541); +#1543=IFCRELNESTS('0_EDh75u$FPTo_0MMEJQId',$,$,$,#1540,(#1542,#1545,#1547,#1549,#1551,#1553,#1555,#1557,#1559)); +#1544=IFCALIGNMENTVERTICALSEGMENT($,$,300.4494,199.9996,748.45759,0.00320912826543851,0.00600000000166248,-71662.05362,.PARABOLICARC.); +#1545=IFCALIGNMENTSEGMENT('03NUdu2jGWYaz9ipO$oGRc',$,$,$,$,#31,#1572,#1544); +#1546=IFCALIGNMENTVERTICALSEGMENT($,$,500.449,12.50002,749.3785,0.00600000000166299,0.00600000000166299,$,.CONSTANTGRADIENT.); +#1547=IFCALIGNMENTSEGMENT('3IKAGGE$2ky0KlC$u9HWdY',$,$,$,$,#31,#1578,#1546); +#1548=IFCALIGNMENTVERTICALSEGMENT($,$,512.94902,374.99915,749.4535,0.00600000000166254,-0.0268249999995863,-11424.19345,.PARABOLICARC.); +#1549=IFCALIGNMENTSEGMENT('1Lzrl3pC5iCEn0DWlCIL96',$,$,$,$,#31,#1585,#1548); +#1550=IFCALIGNMENTVERTICALSEGMENT($,$,887.94817,25.00005,745.54882,-0.0268249999995552,-0.0268249999995552,$,.CONSTANTGRADIENT.); +#1551=IFCALIGNMENTSEGMENT('1nH_DCnO6AyVvihXn1Lc6U',$,$,$,$,#31,#1591,#1550); +#1552=IFCALIGNMENTVERTICALSEGMENT($,$,912.94822,374.99915,744.8782,-0.0268249999995948,0.00490909090901527,-11816.918,.PARABOLICARC.); +#1553=IFCALIGNMENTSEGMENT('00sO3e_dbV32dYo7Qc$lRT',$,$,$,$,#31,#1598,#1552); +#1554=IFCALIGNMENTVERTICALSEGMENT($,$,1287.94737,12.50007,740.76897,0.00490909090900143,0.00490909090900143,$,.CONSTANTGRADIENT.); +#1555=IFCALIGNMENTSEGMENT('2op9b9MFYvt1Cp2ym_b2QU',$,$,$,$,#31,#1604,#1554); +#1556=IFCALIGNMENTVERTICALSEGMENT($,$,1300.44745,149.9996,740.83034,0.00490909090902349,0.00260174482972635,-65009.5802,.PARABOLICARC.); +#1557=IFCALIGNMENTSEGMENT('1ppbtQBsln0oCDikr7IE4Z',$,$,$,$,#31,#1611,#1556); +#1558=IFCALIGNMENTVERTICALSEGMENT($,$,1450.44705,146.1237,741.39365,0.00260174482972697,0.00260174482972697,$,.CONSTANTGRADIENT.); +#1559=IFCALIGNMENTSEGMENT('1gDRbpG0HeYodW$RX2aSSm',$,$,$,$,#31,#1617,#1558); +#1560=IFCCARTESIANPOINT((0.0,747.49341)); +#1561=IFCDIRECTION((0.99999485,0.00320911)); +#1562=IFCAXIS2PLACEMENT2D(#1560,#1561); +#1563=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1562,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(300.450946169922),#84); +#1564=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1563)); +#1565=IFCPRODUCTDEFINITIONSHAPE($,$,(#1564)); +#1566=IFCCARTESIANPOINT((300.4494,748.45759)); +#1567=IFCDIRECTION((0.99999485,0.00320911)); +#1568=IFCAXIS2PLACEMENT2D(#1566,#1567); +#1569=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,6.97719329E-06),$); +#1570=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1568,IFCPARAMETERVALUE(229.972721822294),IFCPARAMETERVALUE(199.999599999981),#1569); +#1571=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1570)); +#1572=IFCPRODUCTDEFINITIONSHAPE($,$,(#1571)); +#1573=IFCCARTESIANPOINT((500.449,749.3785)); +#1574=IFCDIRECTION((0.999982,0.00599989)); +#1575=IFCAXIS2PLACEMENT2D(#1573,#1574); +#1576=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1575,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(12.5002499966364),#84); +#1577=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1576)); +#1578=IFCPRODUCTDEFINITIONSHAPE($,$,(#1577)); +#1579=IFCCARTESIANPOINT((512.94902,749.4535)); +#1580=IFCDIRECTION((0.999982,0.00599989)); +#1581=IFCAXIS2PLACEMENT2D(#1579,#1580); +#1582=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.37667659E-05),$); +#1583=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1581,IFCPARAMETERVALUE(-68.5451607170794),IFCPARAMETERVALUE(374.999150000047),#1582); +#1584=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1583)); +#1585=IFCPRODUCTDEFINITIONSHAPE($,$,(#1584)); +#1586=IFCCARTESIANPOINT((887.94817,745.54882)); +#1587=IFCDIRECTION((0.9996404,-0.02681535)); +#1588=IFCAXIS2PLACEMENT2D(#1586,#1587); +#1589=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1588,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(25.0090431792608),#84); +#1590=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1589)); +#1591=IFCPRODUCTDEFINITIONSHAPE($,$,(#1590)); +#1592=IFCCARTESIANPOINT((912.94822,744.8782)); +#1593=IFCDIRECTION((0.9996404,-0.02681535)); +#1594=IFCAXIS2PLACEMENT2D(#1592,#1593); +#1595=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.23122171E-05),$); +#1596=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1594,IFCPARAMETERVALUE(-316.988825284735),IFCPARAMETERVALUE(374.999150000047),#1595); +#1597=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1596)); +#1598=IFCPRODUCTDEFINITIONSHAPE($,$,(#1597)); +#1599=IFCCARTESIANPOINT((1287.94737,740.76897)); +#1600=IFCDIRECTION((0.99998795,0.00490903)); +#1601=IFCAXIS2PLACEMENT2D(#1599,#1600); +#1602=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1601,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(12.5002256167932),#84); +#1603=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1602)); +#1604=IFCPRODUCTDEFINITIONSHAPE($,$,(#1603)); +#1605=IFCCARTESIANPOINT((1300.44745,740.83034)); +#1606=IFCDIRECTION((0.99998795,0.00490903)); +#1607=IFCAXIS2PLACEMENT2D(#1605,#1606); +#1608=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-7.69117411E-06),$); +#1609=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1607,IFCPARAMETERVALUE(-319.137939177887),IFCPARAMETERVALUE(149.999599999981),#1608); +#1610=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1609)); +#1611=IFCPRODUCTDEFINITIONSHAPE($,$,(#1610)); +#1612=IFCCARTESIANPOINT((1450.44705,741.39365)); +#1613=IFCDIRECTION((0.99999662,0.00260174)); +#1614=IFCAXIS2PLACEMENT2D(#1612,#1613); +#1615=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1614,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(146.124196676126),#84); +#1616=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1615)); +#1617=IFCPRODUCTDEFINITIONSHAPE($,$,(#1616)); +#1618=IFCGRADIENTCURVE((#1563,#1570,#1576,#1583,#1589,#1596,#1602,#1609,#1615),.U.,#1537,$); +#1619=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1618)); +#1620=IFCPRODUCTDEFINITIONSHAPE($,$,(#1619)); +#1621=IFCSTYLEDITEM(#1618,(#254),'C-ROAD-PROF'); +#1622=IFCREFERENT('1bioYuWlnEtOzeS283QL1L',$,'9307+70.94',$,$,#1626,$,.STATION.); +#1623=IFCRELNESTS('1WcoS9By5rN8i6GBkv4wFg',$,$,$,#1476,(#1622)); +#1624=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1537); +#1625=IFCAXIS2PLACEMENTLINEAR(#1624,$,$); +#1626=IFCLINEARPLACEMENT(#31,#1625,$); +#1627=IFCPROPERTYSET('0Aw45R5wv5OA5xd838o0DZ',$,'Pset_Stationing',$,(#1629)); +#1628=IFCRELDEFINESBYPROPERTIES('3RC4cdhFLFs82Hv8GN4Bz0',$,$,$,(#1622),#1627); +#1629=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(930770.940291667),$); +#1630=IFCALIGNMENT('0FiuB7BurBoO1z3CR77ed9',$,'GCLC',$,'Centerline',#31,$,$); +#1632=IFCPROPERTYSET('2mQFwnRmPEDAlP01$UxXHy',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1634,#1635,#1636)); +#1633=IFCRELDEFINESBYPROPERTIES('24yZrt2ZT7uOBIimjE$fAf',$,$,$,(#1630),#1632); +#1634=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:37:12'),$); +#1635=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCLC.xml'),$); +#1636=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:29'),$); +#1637=IFCPROPERTYSET('24UbRn$7TBfRIXwypNoYJa',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1639,#1640,#1641)); +#1638=IFCRELDEFINESBYPROPERTIES('0fZF9UbTz3EuA4t78llDBr',$,$,$,(#1630),#1637); +#1639=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('3115.166231'),$); +#1640=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCLC'),$); +#1641=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('917927.388289'),$); +#1642=IFCALIGNMENTHORIZONTAL('1rBEvIfCWFWi4bTjsVGvHI',$,'GCLC',$,$,#31,#1702); +#1643=IFCRELNESTS('0$H1Ayb3h9UZ0wHnY2jcKY',$,$,$,#1630,(#1642,#1703)); +#1644=IFCPROPERTYSET('3M3deY5UPDC9Cppc4F0XlH',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1634,#1635,#1636)); +#1645=IFCRELDEFINESBYPROPERTIES('33rSns2I16gv_0WlhopioC',$,$,$,(#1642),#1644); +#1646=IFCPROPERTYSET('30LENMbcz0If$$EsEgkl04',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1639,#1640,#1641)); +#1647=IFCRELDEFINESBYPROPERTIES('3tEZh4eHb9gxSiIstnngt0',$,$,$,(#1642),#1646); +#1648=IFCCARTESIANPOINT((-5412.92463,13831.88119)); +#1649=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1648,-1.60303148622509,0.0,0.0,809.14918,$,.LINE.); +#1650=IFCALIGNMENTSEGMENT('1ZkNZu8DzAh5F9LlK97wA0',$,$,$,$,#31,#1671,#1649); +#1651=IFCRELNESTS('1Hg4ZupOEAMkMjmc5V9dBZ',$,$,$,#1642,(#1650,#1654,#1657,#1660,#1663,#1666)); +#1652=IFCCARTESIANPOINT((-5439.00316,13023.15237)); +#1653=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1652,-1.60303148622508,-599.9988,-599.9988,1316.82326,$,.CIRCULARARC.); +#1654=IFCALIGNMENTSEGMENT('2SvnalERO2bD3Tdtc8isw4',$,$,$,$,#31,#1677,#1653); +#1655=IFCCARTESIANPOINT((-6404.73139,12567.08241)); +#1656=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1655,-3.79774130262629,0.0,0.0,313.83329,$,.LINE.); +#1657=IFCALIGNMENTSEGMENT('290lgvH5IJTw6BTqy40fba',$,$,$,$,#31,#1682,#1656); +#1658=IFCCARTESIANPOINT((-6653.39647,12758.54262)); +#1659=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1658,-3.79774130262631,-34.99993,-34.99993,0.69983,$,.CIRCULARARC.); +#1660=IFCALIGNMENTSEGMENT('2l7WGFOkobnyiq22vhZqKs',$,$,$,$,#31,#1688,#1659); +#1661=IFCCARTESIANPOINT((-6653.94667,12758.97508)); +#1662=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1661,-3.81773647456301,0.0,0.0,99.6742,$,.LINE.); +#1663=IFCALIGNMENTSEGMENT('1fVO1mczGl3HM2DsefWbcG',$,$,$,$,#31,#1693,#1662); +#1664=IFCCARTESIANPOINT((-6731.69172,12821.35018)); +#1665=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1664,-3.81773647456306,7705.42459,7705.42459,574.98648,$,.CIRCULARARC.); +#1666=IFCALIGNMENTSEGMENT('2NFq5XSi1WT7wzxeK7xC$n',$,$,$,$,#31,#1699,#1665); +#1667=IFCAXIS2PLACEMENT2D(#1648,#1668); +#1668=IFCDIRECTION((-0.03222958,-0.99948049)); +#1669=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1667,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(809.149178643315),#84); +#1670=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1669)); +#1671=IFCPRODUCTDEFINITIONSHAPE($,$,(#1670)); +#1672=IFCAXIS2PLACEMENT2D(#1652,#1673); +#1673=IFCDIRECTION((-0.03222958,-0.99948049)); +#1674=IFCCIRCLE(#96,599.9988); +#1675=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1672,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-2.1947098164012),#1674); +#1676=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1675)); +#1677=IFCPRODUCTDEFINITIONSHAPE($,$,(#1676)); +#1678=IFCAXIS2PLACEMENT2D(#1655,#1679); +#1679=IFCDIRECTION((-0.79234769,0.61006978)); +#1680=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1678,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(313.833285749748),#84); +#1681=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1680)); +#1682=IFCPRODUCTDEFINITIONSHAPE($,$,(#1681)); +#1683=IFCAXIS2PLACEMENT2D(#1658,#1684); +#1684=IFCDIRECTION((-0.79234769,0.61006978)); +#1685=IFCCIRCLE(#96,34.99993); +#1686=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1683,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0199951719367677),#1685); +#1687=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1686)); +#1688=IFCPRODUCTDEFINITIONSHAPE($,$,(#1687)); +#1689=IFCAXIS2PLACEMENT2D(#1661,#1690); +#1690=IFCDIRECTION((-0.77999167,0.6257899)); +#1691=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1689,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(99.674199215575),#84); +#1692=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1691)); +#1693=IFCPRODUCTDEFINITIONSHAPE($,$,(#1692)); +#1694=IFCAXIS2PLACEMENT2D(#1664,#1695); +#1695=IFCDIRECTION((-0.77999167,0.6257899)); +#1696=IFCCIRCLE(#96,7705.42459); +#1697=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1694,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(574.98648174545),#1696); +#1698=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1697)); +#1699=IFCPRODUCTDEFINITIONSHAPE($,$,(#1698)); +#1700=IFCCOMPOSITECURVE((#1669,#1675,#1680,#1686,#1691,#1697),.U.); +#1701=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1700)); +#1702=IFCPRODUCTDEFINITIONSHAPE($,$,(#1701)); +#1703=IFCALIGNMENTVERTICAL('0UZA46ZfNLrPqovMt56Qx8',$,'GCLC',$,'FG',#31,#1801); +#1704=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,1215.17005,779.03164,-0.0223142043347021,-0.0223142043347021,$,.CONSTANTGRADIENT.); +#1705=IFCALIGNMENTSEGMENT('1D7lK8Ki8kIJLuR0BaBJui',$,$,$,$,#31,#1732,#1704); +#1706=IFCRELNESTS('0wklslLC5s2GKmDeyKvTAM',$,$,$,#1703,(#1705,#1708,#1710,#1712,#1714,#1716,#1718,#1720,#1722,#1724,#1726)); +#1707=IFCALIGNMENTVERTICALSEGMENT($,$,1215.17005,249.9995,751.91609,-0.0223142043346892,0.00539836145297404,-9021.16036,.PARABOLICARC.); +#1708=IFCALIGNMENTSEGMENT('0kpX_PegBQJ747jB2gVg6L',$,$,$,$,#31,#1739,#1707); +#1709=IFCALIGNMENTVERTICALSEGMENT($,$,1465.16955,149.9997,749.80161,0.00539836145298451,0.00539836145298451,$,.CONSTANTGRADIENT.); +#1710=IFCALIGNMENTSEGMENT('2Hrq7dRAk49eUpepHKEGkx',$,$,$,$,#31,#1745,#1709); +#1711=IFCALIGNMENTVERTICALSEGMENT($,$,1615.16925,199.9996,750.61136,0.00539836145298756,-0.010610801259637,-12492.82074,.PARABOLICARC.); +#1712=IFCALIGNMENTSEGMENT('3rGMJtqkYfOiGdvadv5USF',$,$,$,$,#31,#1752,#1711); +#1713=IFCALIGNMENTVERTICALSEGMENT($,$,1815.1689,299.9993,750.09012,-0.0106108012596292,0.00731818182299546,-16732.64449,.PARABOLICARC.); +#1714=IFCALIGNMENTSEGMENT('0Ia6j$byS4T3A33fB8K6IL',$,$,$,$,#31,#1759,#1713); +#1715=IFCALIGNMENTVERTICALSEGMENT($,$,2115.1682,0.0001,749.59623,0.00731818117005637,0.00731818117005637,$,.CONSTANTGRADIENT.); +#1716=IFCALIGNMENTSEGMENT('2trMpoSuGFTvgR_HYAxtTY',$,$,$,$,#31,#1765,#1715); +#1717=IFCALIGNMENTVERTICALSEGMENT($,$,2115.1683,139.99962,749.59623,0.00731818182298856,-0.00306976744288889,-13477.11819,.PARABOLICARC.); +#1718=IFCALIGNMENTSEGMENT('2sdunEtQNTge2vEf4FyPnw',$,$,$,$,#31,#1772,#1717); +#1719=IFCALIGNMENTVERTICALSEGMENT($,$,2255.16792,259.99953,749.89362,-0.00306976744288887,-0.00306976744288887,$,.CONSTANTGRADIENT.); +#1720=IFCALIGNMENTSEGMENT('3ViNxAuGo1xtEn2h2CuLqn',$,$,$,$,#31,#1778,#1719); +#1721=IFCALIGNMENTVERTICALSEGMENT($,$,2515.16745,199.9996,749.09548,-0.00306976744289043,-0.00775000000021761,-42732.8338,.PARABOLICARC.); +#1722=IFCALIGNMENTSEGMENT('2dd8vJ$LqzqwRTzho2IUbz',$,$,$,$,#31,#1785,#1721); +#1723=IFCALIGNMENTVERTICALSEGMENT($,$,2715.1671,199.9995,748.0135,-0.00775000000021467,0.00328666666686401,-18121.36817,.PARABOLICARC.); +#1724=IFCALIGNMENTSEGMENT('0u7OfdnSB21Q_oJtxkvw2M',$,$,$,$,#31,#1792,#1723); +#1725=IFCALIGNMENTVERTICALSEGMENT($,$,2915.1666,199.99963,747.56717,0.00328666666686281,0.00328666666686281,$,.CONSTANTGRADIENT.); +#1726=IFCALIGNMENTSEGMENT('1NubZgL78p1eXAFJ5r3ZVK',$,$,$,$,#31,#1798,#1725); +#1727=IFCCARTESIANPOINT((0.0,779.03164)); +#1728=IFCDIRECTION((0.99975113,-0.02230865)); +#1729=IFCAXIS2PLACEMENT2D(#1727,#1728); +#1730=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1729,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1215.47254299575),#84); +#1731=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1730)); +#1732=IFCPRODUCTDEFINITIONSHAPE($,$,(#1731)); +#1733=IFCCARTESIANPOINT((1215.17005,751.91609)); +#1734=IFCDIRECTION((0.99975113,-0.02230865)); +#1735=IFCAXIS2PLACEMENT2D(#1733,#1734); +#1736=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.54252424E-05),$); +#1737=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1735,IFCPARAMETERVALUE(-201.300015660768),IFCPARAMETERVALUE(249.999500021804),#1736); +#1738=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1737)); +#1739=IFCPRODUCTDEFINITIONSHAPE($,$,(#1738)); +#1740=IFCCARTESIANPOINT((1465.16955,749.80161)); +#1741=IFCDIRECTION((0.99998543,0.00539828)); +#1742=IFCAXIS2PLACEMENT2D(#1740,#1741); +#1743=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1742,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(150.001885601504),#84); +#1744=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1743)); +#1745=IFCPRODUCTDEFINITIONSHAPE($,$,(#1744)); +#1746=IFCCARTESIANPOINT((1615.16925,750.61136)); +#1747=IFCDIRECTION((0.99998543,0.00539828)); +#1748=IFCAXIS2PLACEMENT2D(#1746,#1747); +#1749=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.00229868E-05),$); +#1750=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1748,IFCPARAMETERVALUE(-67.4407619327035),IFCPARAMETERVALUE(199.999599998351),#1749); +#1751=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1750)); +#1752=IFCPRODUCTDEFINITIONSHAPE($,$,(#1751)); +#1753=IFCCARTESIANPOINT((1815.1689,750.09012)); +#1754=IFCDIRECTION((0.99994371,-0.0106102)); +#1755=IFCAXIS2PLACEMENT2D(#1753,#1754); +#1756=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.98817082E-05),$); +#1757=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1755,IFCPARAMETERVALUE(-177.54676523697),IFCPARAMETERVALUE(299.999299998162),#1756); +#1758=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1757)); +#1759=IFCPRODUCTDEFINITIONSHAPE($,$,(#1758)); +#1760=IFCCARTESIANPOINT((2115.1682,749.59623)); +#1761=IFCDIRECTION((0.99997322,0.00731799)); +#1762=IFCAXIS2PLACEMENT2D(#1760,#1761); +#1763=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1762,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(0.00010001752585379),#84); +#1764=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1763)); +#1765=IFCPRODUCTDEFINITIONSHAPE($,$,(#1764)); +#1766=IFCCARTESIANPOINT((2115.1683,749.59623)); +#1767=IFCDIRECTION((0.99997322,0.00731799)); +#1768=IFCAXIS2PLACEMENT2D(#1766,#1767); +#1769=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.70999195E-05),$); +#1770=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1768,IFCPARAMETERVALUE(-98.6280013586527),IFCPARAMETERVALUE(139.9996199999),#1769); +#1771=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1770)); +#1772=IFCPRODUCTDEFINITIONSHAPE($,$,(#1771)); +#1773=IFCCARTESIANPOINT((2255.16792,749.89362)); +#1774=IFCDIRECTION((0.99999529,-0.00306975)); +#1775=IFCAXIS2PLACEMENT2D(#1773,#1774); +#1776=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1775,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(260.000754982514),#84); +#1777=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1776)); +#1778=IFCPRODUCTDEFINITIONSHAPE($,$,(#1777)); +#1779=IFCCARTESIANPOINT((2515.16745,749.09548)); +#1780=IFCDIRECTION((0.99999529,-0.00306975)); +#1781=IFCAXIS2PLACEMENT2D(#1779,#1780); +#1782=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.17006048E-05),$); +#1783=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1781,IFCPARAMETERVALUE(131.179861927222),IFCPARAMETERVALUE(199.999599995557),#1782); +#1784=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1783)); +#1785=IFCPRODUCTDEFINITIONSHAPE($,$,(#1784)); +#1786=IFCCARTESIANPOINT((2715.1671,748.0135)); +#1787=IFCDIRECTION((0.99996997,-0.00774977)); +#1788=IFCAXIS2PLACEMENT2D(#1786,#1787); +#1789=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.75917356E-05),$); +#1790=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1788,IFCPARAMETERVALUE(-140.440603290646),IFCPARAMETERVALUE(199.999499999918),#1789); +#1791=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1790)); +#1792=IFCPRODUCTDEFINITIONSHAPE($,$,(#1791)); +#1793=IFCCARTESIANPOINT((2915.1666,747.56717)); +#1794=IFCDIRECTION((0.9999946,0.00328665)); +#1795=IFCAXIS2PLACEMENT2D(#1793,#1794); +#1796=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1795,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(200.000711752673),#84); +#1797=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1796)); +#1798=IFCPRODUCTDEFINITIONSHAPE($,$,(#1797)); +#1799=IFCGRADIENTCURVE((#1730,#1737,#1743,#1750,#1757,#1763,#1770,#1776,#1783,#1790,#1796),.U.,#1700,$); +#1800=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1799)); +#1801=IFCPRODUCTDEFINITIONSHAPE($,$,(#1800)); +#1802=IFCSTYLEDITEM(#1799,(#254),'C-ROAD-PROF'); +#1803=IFCREFERENT('11nJLuyt99hB9ySjYXBa_7',$,'9179+27.39',$,$,#1807,$,.STATION.); +#1804=IFCRELNESTS('1mt7Aki2k4t2e3wqrGYpEO',$,$,$,#1630,(#1803)); +#1805=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1700); +#1806=IFCAXIS2PLACEMENTLINEAR(#1805,$,$); +#1807=IFCLINEARPLACEMENT(#31,#1806,$); +#1808=IFCPROPERTYSET('1H788P35z7n9$jvp3mEj9z',$,'Pset_Stationing',$,(#1810)); +#1809=IFCRELDEFINESBYPROPERTIES('0PkrJUQIP8ph9cVgj6xxmZ',$,$,$,(#1803),#1808); +#1810=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(917927.388288533),$); +#1811=IFCALIGNMENT('3YHAuHXgP6ygqxurQ8WxGp',$,'GCPC',$,'Centerline',#31,$,$); +#1813=IFCPROPERTYSET('1q0$BQQerAuvoxWB4VZdi2',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1815,#1816,#1817)); +#1814=IFCRELDEFINESBYPROPERTIES('3_3v2dOnr4ZB6LDqw67vEJ',$,$,$,(#1811),#1813); +#1815=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:37:32'),$); +#1816=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCPC.xml'),$); +#1817=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:42'),$); +#1818=IFCPROPERTYSET('0OFEOBkbfA9h6tPMQDAWAJ',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1820,#1821,#1822)); +#1819=IFCRELDEFINESBYPROPERTIES('0PfKLpX41CYunOYgot4cCM',$,$,$,(#1811),#1818); +#1820=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('4406.955831'),$); +#1821=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCPC'),$); +#1822=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('1640.416667'),$); +#1823=IFCALIGNMENTHORIZONTAL('3E2MAse8sRprQtgTOwYjG6',$,'GCPC',$,$,#31,#1883); +#1824=IFCRELNESTS('29H5qNAjzqp9DEsdDonmTQ',$,$,$,#1811,(#1823,#1884)); +#1825=IFCPROPERTYSET('12AM2j0dH8APJXKNZxtJvp',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1815,#1816,#1817)); +#1826=IFCRELDEFINESBYPROPERTIES('2uSzKbJdr8KQa_fR3ANRxt',$,$,$,(#1823),#1825); +#1827=IFCPROPERTYSET('27vK9xhB9BfRx2u4kOAwq8',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1820,#1821,#1822)); +#1828=IFCRELDEFINESBYPROPERTIES('1ZqCUR1gfF2v8Yluv4RyUK',$,$,$,(#1823),#1827); +#1829=IFCCARTESIANPOINT((-7064.703,10809.83613)); +#1830=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1829,-0.270956414704149,-3819.71136,-3819.71136,734.51802,$,.CIRCULARARC.); +#1831=IFCALIGNMENTSEGMENT('0zaIbsZ2hSPx5Mc_vEjnIM',$,$,$,$,#31,#1853,#1830); +#1832=IFCRELNESTS('3lmvAt0sLeGmioNhTpGGZZ',$,$,$,#1823,(#1831,#1835,#1838,#1841,#1844,#1847)); +#1833=IFCCARTESIANPOINT((-6380.18144,10546.61286)); +#1834=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1833,-0.463253149619587,0.0,0.0,1475.47889,$,.LINE.); +#1835=IFCALIGNMENTSEGMENT('1c8lup7lvUZoq2CmmLwcKF',$,$,$,$,#31,#1858,#1834); +#1836=IFCCARTESIANPOINT((-5060.21282,9887.27927)); +#1837=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1836,-0.463253149619589,699.9986,699.9986,575.63062,$,.CIRCULARARC.); +#1838=IFCALIGNMENTSEGMENT('3O_Pxoh4eDmaO0_mC8qyd$',$,$,$,$,#31,#1864,#1837); +#1839=IFCCARTESIANPOINT((-4501.42361,9858.14693)); +#1840=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1839,0.359077955809695,0.0,0.0,397.63523,$,.LINE.); +#1841=IFCALIGNMENTSEGMENT('09Qkttk1Xy_1syH3ojm8ZR',$,$,$,$,#31,#1869,#1840); +#1842=IFCCARTESIANPOINT((-4129.14907,9997.88038)); +#1843=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1842,0.359077955809693,-799.9984,-799.9984,849.27044,$,.CIRCULARARC.); +#1844=IFCALIGNMENTSEGMENT('3zYqE_9MA44FUli7L9le2m',$,$,$,$,#31,#1875,#1843); +#1845=IFCCARTESIANPOINT((-3331.11207,9859.48076)); +#1846=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1845,-0.702512213324519,0.0,0.0,374.42263,$,.LINE.); +#1847=IFCALIGNMENTSEGMENT('3gqUFYutG8KHiUU5JUFW6I',$,$,$,$,#31,#1880,#1846); +#1848=IFCAXIS2PLACEMENT2D(#1829,#1849); +#1849=IFCDIRECTION((0.96351535,-0.26765308)); +#1850=IFCCIRCLE(#96,3819.71136); +#1851=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1848,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.192296734915438),#1850); +#1852=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1851)); +#1853=IFCPRODUCTDEFINITIONSHAPE($,$,(#1852)); +#1854=IFCAXIS2PLACEMENT2D(#1833,#1855); +#1855=IFCDIRECTION((0.89460353,-0.44686075)); +#1856=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1854,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1475.47888688196),#84); +#1857=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1856)); +#1858=IFCPRODUCTDEFINITIONSHAPE($,$,(#1857)); +#1859=IFCAXIS2PLACEMENT2D(#1836,#1860); +#1860=IFCDIRECTION((0.89460353,-0.44686075)); +#1861=IFCCIRCLE(#96,699.9986); +#1862=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1859,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(575.630622362207),#1861); +#1863=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1862)); +#1864=IFCPRODUCTDEFINITIONSHAPE($,$,(#1863)); +#1865=IFCAXIS2PLACEMENT2D(#1839,#1866); +#1866=IFCDIRECTION((0.93622124,0.35141115)); +#1867=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1865,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(397.635230218543),#84); +#1868=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1867)); +#1869=IFCPRODUCTDEFINITIONSHAPE($,$,(#1868)); +#1870=IFCAXIS2PLACEMENT2D(#1842,#1871); +#1871=IFCDIRECTION((0.93622124,0.35141115)); +#1872=IFCCIRCLE(#96,799.9984); +#1873=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1870,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-1.06159016913421),#1872); +#1874=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1873)); +#1875=IFCPRODUCTDEFINITIONSHAPE($,$,(#1874)); +#1876=IFCAXIS2PLACEMENT2D(#1845,#1877); +#1877=IFCDIRECTION((0.76322136,-0.6461371)); +#1878=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1876,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(374.422631267546),#84); +#1879=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1878)); +#1880=IFCPRODUCTDEFINITIONSHAPE($,$,(#1879)); +#1881=IFCCOMPOSITECURVE((#1851,#1856,#1862,#1867,#1873,#1878),.U.); +#1882=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1881)); +#1883=IFCPRODUCTDEFINITIONSHAPE($,$,(#1882)); +#1884=IFCALIGNMENTVERTICAL('0kRe4JnL4PAFV776hl8TB6',$,'GCPC',$,'FG',#31,#1981); +#1885=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,699.9986,747.30909,-0.00045324461439752,-0.00045324461439752,$,.CONSTANTGRADIENT.); +#1886=IFCALIGNMENTSEGMENT('3j1sq5ZLYbnmcnV3wP7g$D',$,$,$,$,#31,#1913,#1885); +#1887=IFCRELNESTS('0RxFC6KhgxMKZHL_fJaZwM',$,$,$,#1884,(#1886,#1889,#1891,#1893,#1895,#1897,#1899,#1901,#1903,#1905,#1907)); +#1888=IFCALIGNMENTVERTICALSEGMENT($,$,699.9986,199.9996,746.99182,-0.00045324461439732,-0.0049671820326319,-44307.12734,.PARABOLICARC.); +#1889=IFCALIGNMENTSEGMENT('3WLvRE2gjvbEACgofg6Na1',$,$,$,$,#31,#1920,#1888); +#1890=IFCALIGNMENTVERTICALSEGMENT($,$,899.9982,774.99845,746.44978,-0.00496718203263143,-0.00496718203263143,$,.CONSTANTGRADIENT.); +#1891=IFCALIGNMENTSEGMENT('1AU3tuNGwOWkElxILFFsEu',$,$,$,$,#31,#1926,#1890); +#1892=IFCALIGNMENTVERTICALSEGMENT($,$,1674.99665,149.9997,742.60022,-0.00496718203263038,0.00630508325185294,-13306.97036,.PARABOLICARC.); +#1893=IFCALIGNMENTSEGMENT('2M48OMOIMU2cbCi$LoTSNG',$,$,$,$,#31,#1933,#1892); +#1894=IFCALIGNMENTVERTICALSEGMENT($,$,1824.99635,499.999,742.70056,0.00630508325185201,0.00630508325185201,$,.CONSTANTGRADIENT.); +#1895=IFCALIGNMENTSEGMENT('1loQSynqCbMVTkm7MgAszm',$,$,$,$,#31,#1939,#1894); +#1896=IFCALIGNMENTVERTICALSEGMENT($,$,2324.99535,199.9996,745.8531,0.00630508325185105,-0.00770588235354876,-14274.5051,.PARABOLICARC.); +#1897=IFCALIGNMENTSEGMENT('0PwvD5dghD5$HdZEpkaQO0',$,$,$,$,#31,#1946,#1896); +#1898=IFCALIGNMENTVERTICALSEGMENT($,$,2524.99495,574.99885,745.71302,-0.00770588235354821,-0.00770588235354821,$,.CONSTANTGRADIENT.); +#1899=IFCALIGNMENTSEGMENT('27S9uBRKEDbVdBPzVdrv$r',$,$,$,$,#31,#1952,#1898); +#1900=IFCALIGNMENTVERTICALSEGMENT($,$,3099.9938,199.9996,741.28214,-0.00770588235354765,0.00557155741857114,-15063.11483,.PARABOLICARC.); +#1901=IFCALIGNMENTSEGMENT('3B_RR7wDco4OEcpcOWXgLL',$,$,$,$,#31,#1959,#1900); +#1902=IFCALIGNMENTVERTICALSEGMENT($,$,3299.9934,524.99895,741.06871,0.00557155741857108,0.00557155741857108,$,.CONSTANTGRADIENT.); +#1903=IFCALIGNMENTSEGMENT('0hHEXuJUUDPWb1UFOKYGTx',$,$,$,$,#31,#1965,#1902); +#1904=IFCALIGNMENTVERTICALSEGMENT($,$,3824.99235,149.9997,743.99377,0.00557155741857149,-0.00405558032760726,-15580.92384,.PARABOLICARC.); +#1905=IFCALIGNMENTSEGMENT('0oX92v6ipajjXVcWnCZQjt',$,$,$,$,#31,#1972,#1904); +#1906=IFCALIGNMENTVERTICALSEGMENT($,$,3974.99205,431.96378,744.10747,-0.00405558032760829,-0.00405558032760829,$,.CONSTANTGRADIENT.); +#1907=IFCALIGNMENTSEGMENT('0lIPMV$PMk23gR1ibz68YA',$,$,$,$,#31,#1978,#1906); +#1908=IFCCARTESIANPOINT((0.0,747.30909)); +#1909=IFCDIRECTION((0.9999999,-0.00045324)); +#1910=IFCAXIS2PLACEMENT2D(#1908,#1909); +#1911=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1910,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(699.99867190052),#84); +#1912=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1911)); +#1913=IFCPRODUCTDEFINITIONSHAPE($,$,(#1912)); +#1914=IFCCARTESIANPOINT((699.9986,746.99182)); +#1915=IFCDIRECTION((0.9999999,-0.00045324)); +#1916=IFCAXIS2PLACEMENT2D(#1914,#1915); +#1917=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.12848661E-05),$); +#1918=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1916,IFCPARAMETERVALUE(20.0819668468222),IFCPARAMETERVALUE(199.9996),#1917); +#1919=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1918)); +#1920=IFCPRODUCTDEFINITIONSHAPE($,$,(#1919)); +#1921=IFCCARTESIANPOINT((899.9982,746.44978)); +#1922=IFCDIRECTION((0.99998766,-0.00496712)); +#1923=IFCAXIS2PLACEMENT2D(#1921,#1922); +#1924=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1923,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(775.008010669702),#84); +#1925=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1924)); +#1926=IFCPRODUCTDEFINITIONSHAPE($,$,(#1925)); +#1927=IFCCARTESIANPOINT((1674.99665,742.60022)); +#1928=IFCDIRECTION((0.99998766,-0.00496712)); +#1929=IFCAXIS2PLACEMENT2D(#1927,#1928); +#1930=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.75742928E-05),$); +#1931=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1929,IFCPARAMETERVALUE(-66.0981440674194),IFCPARAMETERVALUE(149.9997),#1930); +#1932=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1931)); +#1933=IFCPRODUCTDEFINITIONSHAPE($,$,(#1932)); +#1934=IFCCARTESIANPOINT((1824.99635,742.70056)); +#1935=IFCDIRECTION((0.99998012,0.00630496)); +#1936=IFCAXIS2PLACEMENT2D(#1934,#1935); +#1937=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1936,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(500.00893840005),#84); +#1938=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1937)); +#1939=IFCPRODUCTDEFINITIONSHAPE($,$,(#1938)); +#1940=IFCCARTESIANPOINT((2324.99535,745.8531)); +#1941=IFCDIRECTION((0.99998012,0.00630496)); +#1942=IFCAXIS2PLACEMENT2D(#1940,#1941); +#1943=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.50274841E-05),$); +#1944=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1942,IFCPARAMETERVALUE(-90.0019430388807),IFCPARAMETERVALUE(199.9996),#1943); +#1945=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1944)); +#1946=IFCPRODUCTDEFINITIONSHAPE($,$,(#1945)); +#1947=IFCCARTESIANPOINT((2524.99495,745.71302)); +#1948=IFCDIRECTION((0.99997031,-0.00770565)); +#1949=IFCAXIS2PLACEMENT2D(#1947,#1948); +#1950=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1949,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(575.015921641513),#84); +#1951=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1950)); +#1952=IFCPRODUCTDEFINITIONSHAPE($,$,(#1951)); +#1953=IFCCARTESIANPOINT((3099.9938,741.28214)); +#1954=IFCDIRECTION((0.99997031,-0.00770565)); +#1955=IFCAXIS2PLACEMENT2D(#1953,#1954); +#1956=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.31936658E-05),$); +#1957=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1955,IFCPARAMETERVALUE(-116.074590795198),IFCPARAMETERVALUE(199.999599999999),#1956); +#1958=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1957)); +#1959=IFCPRODUCTDEFINITIONSHAPE($,$,(#1958)); +#1960=IFCCARTESIANPOINT((3299.9934,741.06871)); +#1961=IFCDIRECTION((0.99998448,0.00557147)); +#1962=IFCAXIS2PLACEMENT2D(#1960,#1961); +#1963=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1962,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(525.007098511735),#84); +#1964=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1963)); +#1965=IFCPRODUCTDEFINITIONSHAPE($,$,(#1964)); +#1966=IFCCARTESIANPOINT((3824.99235,743.99377)); +#1967=IFCDIRECTION((0.99998448,0.00557147)); +#1968=IFCAXIS2PLACEMENT2D(#1966,#1967); +#1969=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.20905233E-05),$); +#1970=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1968,IFCPARAMETERVALUE(-86.8100117971432),IFCPARAMETERVALUE(149.9997),#1969); +#1971=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1970)); +#1972=IFCPRODUCTDEFINITIONSHAPE($,$,(#1971)); +#1973=IFCCARTESIANPOINT((3974.99205,744.10747)); +#1974=IFCDIRECTION((0.99999178,-0.00405555)); +#1975=IFCAXIS2PLACEMENT2D(#1973,#1974); +#1976=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1975,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(431.967332995683),#84); +#1977=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1976)); +#1978=IFCPRODUCTDEFINITIONSHAPE($,$,(#1977)); +#1979=IFCGRADIENTCURVE((#1911,#1918,#1924,#1931,#1937,#1944,#1950,#1957,#1963,#1970,#1976),.U.,#1881,$); +#1980=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1979)); +#1981=IFCPRODUCTDEFINITIONSHAPE($,$,(#1980)); +#1982=IFCSTYLEDITEM(#1979,(#254),'C-ROAD-PROF'); +#1983=IFCREFERENT('3KQuGiRY1BG9QufgPrOjRY',$,'16+40.42',$,$,#1987,$,.STATION.); +#1984=IFCRELNESTS('3xmloBpnbY6rwqt9l5lswF',$,$,$,#1811,(#1983)); +#1985=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1881); +#1986=IFCAXIS2PLACEMENTLINEAR(#1985,$,$); +#1987=IFCLINEARPLACEMENT(#31,#1986,$); +#1988=IFCPROPERTYSET('0h_oERy1b0RRs7$dyl_J3A',$,'Pset_Stationing',$,(#1990)); +#1989=IFCRELDEFINESBYPROPERTIES('0RbkXzKWb5e9coKa2ciw2Q',$,$,$,(#1983),#1988); +#1990=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(1640.41666666667),$); +#1991=IFCALIGNMENT('1lefFAbH93r8oOppRx9N6A',$,'GCRC',$,'Centerline',#31,$,$); +#1993=IFCPROPERTYSET('2Z6DfYT5v0zOlRSefnyaxq',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1995,#1996,#1997)); +#1994=IFCRELDEFINESBYPROPERTIES('0lFyX2QOz3PPN71G15_5Zd',$,$,$,(#1991),#1993); +#1995=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:37:49'),$); +#1996=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCRC.xml'),$); +#1997=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:42:03'),$); +#1998=IFCPROPERTYSET('3jJUwtQLP2XQTW$WVjk1i9',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2000,#2001,#2002)); +#1999=IFCRELDEFINESBYPROPERTIES('2Wh8fzQzf0FBVbg7B9tHxg',$,$,$,(#1991),#1998); +#2000=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('6399.987268'),$); +#2001=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCRC'),$); +#2002=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('596127.416667'),$); +#2003=IFCALIGNMENTHORIZONTAL('22P41wDFp4sgK19099RisV',$,'GCRC',$,$,#31,#2037); +#2004=IFCRELNESTS('0C7LWY1avYsy8YYTM20ppu',$,$,$,#1991,(#2003,#2038)); +#2005=IFCPROPERTYSET('0ghiO3IHr5uhnrWg9RYbpg',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1995,#1996,#1997)); +#2006=IFCRELDEFINESBYPROPERTIES('1He0qTQT9DKw1KdlQYY1dY',$,$,$,(#2003),#2005); +#2007=IFCPROPERTYSET('1HU0n_QqrEDwmG88opeEEd',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2000,#2001,#2002)); +#2008=IFCRELDEFINESBYPROPERTIES('3HroizDr5BCu_A8iP562GM',$,$,$,(#2003),#2007); +#2009=IFCCARTESIANPOINT((-8266.80374,13712.88467)); +#2010=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2009,-0.480564545095748,0.0,0.0,275.93933,$,.LINE.); +#2011=IFCALIGNMENTSEGMENT('2rJtxHho1kzfRGe9UowHL6',$,$,$,$,#31,#2023,#2010); +#2012=IFCRELNESTS('39yGzcCTNhZCXUpDOG1$A7',$,$,$,#2003,(#2011,#2015,#2018)); +#2013=IFCCARTESIANPOINT((-8022.11893,13585.32347)); +#2014=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2013,-0.480564545095733,-7639.42472,-7639.42472,1695.5525,$,.CIRCULARARC.); +#2015=IFCALIGNMENTSEGMENT('0Yx_N3SDAOXl6_jWKhmpnE',$,$,$,$,#31,#2029,#2014); +#2016=IFCCARTESIANPOINT((-6617.55532,12641.75733)); +#2017=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2016,-0.702512213254641,0.0,0.0,4428.49543,$,.LINE.); +#2018=IFCALIGNMENTSEGMENT('1FYF6qxQ3kth2Sk3mwE68d',$,$,$,$,#31,#2034,#2017); +#2019=IFCAXIS2PLACEMENT2D(#2009,#2020); +#2020=IFCDIRECTION((0.88673409,-0.46227985)); +#2021=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2019,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(275.939331880792),#84); +#2022=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2021)); +#2023=IFCPRODUCTDEFINITIONSHAPE($,$,(#2022)); +#2024=IFCAXIS2PLACEMENT2D(#2013,#2025); +#2025=IFCDIRECTION((0.88673409,-0.46227985)); +#2026=IFCCIRCLE(#96,7639.42472); +#2027=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2024,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.221947668158909),#2026); +#2028=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2027)); +#2029=IFCPRODUCTDEFINITIONSHAPE($,$,(#2028)); +#2030=IFCAXIS2PLACEMENT2D(#2016,#2031); +#2031=IFCDIRECTION((0.76322136,-0.6461371)); +#2032=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2030,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(4428.49543298598),#84); +#2033=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2032)); +#2034=IFCPRODUCTDEFINITIONSHAPE($,$,(#2033)); +#2035=IFCCOMPOSITECURVE((#2021,#2027,#2032),.U.); +#2036=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#2035)); +#2037=IFCPRODUCTDEFINITIONSHAPE($,$,(#2036)); +#2038=IFCALIGNMENTVERTICAL('1iM_m45hBKzn5un$nVwHMP',$,'GCRC',$,'FG',#31,#2084); +#2039=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,199.9996,750.8085,-0.00053333333319133,-0.00053333333319133,$,.CONSTANTGRADIENT.); +#2040=IFCALIGNMENTSEGMENT('1imUw6tD6i8uV517ml9FZV',$,$,$,$,#31,#2055,#2039); +#2041=IFCRELNESTS('3sjx$yjOarbxbNhDaJjPIL',$,$,$,#2038,(#2040,#2043,#2045,#2047,#2049)); +#2042=IFCALIGNMENTVERTICALSEGMENT($,$,199.9996,199.9996,750.70183,-0.00053333333319184,-0.00329999999992159,-72289.01205,.PARABOLICARC.); +#2043=IFCALIGNMENTSEGMENT('1i_BUdioEAY_RnjyFwizZJ',$,$,$,$,#31,#2062,#2042); +#2044=IFCALIGNMENTVERTICALSEGMENT($,$,399.9992,984.99803,750.3185,-0.00329999999992144,-0.00329999999992144,$,.CONSTANTGRADIENT.); +#2045=IFCALIGNMENTSEGMENT('3N$NB8R4s_fGP43FSwiOTj',$,$,$,$,#31,#2068,#2044); +#2046=IFCALIGNMENTVERTICALSEGMENT($,$,1384.99723,229.99954,747.06801,-0.00329999999992172,0.00299999999999858,-36507.86349,.PARABOLICARC.); +#2047=IFCALIGNMENTSEGMENT('3cNJ09wHFH7YF6EuoQCQwL',$,$,$,$,#31,#2075,#2046); +#2048=IFCALIGNMENTVERTICALSEGMENT($,$,1614.99677,4784.9905,747.03351,0.00299999999999976,0.00299999999999976,$,.CONSTANTGRADIENT.); +#2049=IFCALIGNMENTSEGMENT('0dyWvoZeP7QA_H2SV7cfzY',$,$,$,$,#31,#2081,#2048); +#2050=IFCCARTESIANPOINT((0.0,750.8085)); +#2051=IFCDIRECTION((0.99999986,-0.00053333)); +#2052=IFCAXIS2PLACEMENT2D(#2050,#2051); +#2053=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2052,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(199.999628426439),#84); +#2054=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2053)); +#2055=IFCPRODUCTDEFINITIONSHAPE($,$,(#2054)); +#2056=IFCCARTESIANPOINT((199.9996,750.70183)); +#2057=IFCDIRECTION((0.99999986,-0.00053333)); +#2058=IFCAXIS2PLACEMENT2D(#2056,#2057); +#2059=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.9166805E-06),$); +#2060=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2058,IFCPARAMETERVALUE(38.5541397479249),IFCPARAMETERVALUE(199.999599999981),#2059); +#2061=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2060)); +#2062=IFCPRODUCTDEFINITIONSHAPE($,$,(#2061)); +#2063=IFCCARTESIANPOINT((399.9992,750.3185)); +#2064=IFCDIRECTION((0.99999456,-0.00329998)); +#2065=IFCAXIS2PLACEMENT2D(#2063,#2064); +#2066=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2065,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(985.003393334613),#84); +#2067=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2066)); +#2068=IFCPRODUCTDEFINITIONSHAPE($,$,(#2067)); +#2069=IFCCARTESIANPOINT((1384.99723,747.06801)); +#2070=IFCDIRECTION((0.99999456,-0.00329998)); +#2071=IFCAXIS2PLACEMENT2D(#2069,#2070); +#2072=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.36956796E-05),$); +#2073=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2071,IFCPARAMETERVALUE(-120.475949522471),IFCPARAMETERVALUE(229.99953999999),#2072); +#2074=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2073)); +#2075=IFCPRODUCTDEFINITIONSHAPE($,$,(#2074)); +#2076=IFCCARTESIANPOINT((1614.99677,747.03351)); +#2077=IFCDIRECTION((0.9999955,0.00299999)); +#2078=IFCAXIS2PLACEMENT2D(#2076,#2077); +#2079=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2078,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(4785.01203018673),#84); +#2080=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2079)); +#2081=IFCPRODUCTDEFINITIONSHAPE($,$,(#2080)); +#2082=IFCGRADIENTCURVE((#2053,#2060,#2066,#2073,#2079),.U.,#2035,$); +#2083=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#2082)); +#2084=IFCPRODUCTDEFINITIONSHAPE($,$,(#2083)); +#2085=IFCSTYLEDITEM(#2082,(#254),'C-ROAD-PROF'); +#2086=IFCREFERENT('2tiuSW3y9DPPRRH07o0Mzg',$,'5961+27.42',$,$,#2090,$,.STATION.); +#2087=IFCRELNESTS('0VGE$1GoJc1Qlh46snvA68',$,$,$,#1991,(#2086)); +#2088=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#2035); +#2089=IFCAXIS2PLACEMENTLINEAR(#2088,$,$); +#2090=IFCLINEARPLACEMENT(#31,#2089,$); +#2091=IFCPROPERTYSET('1GXGylJRP58vWot1LQS5Jw',$,'Pset_Stationing',$,(#2093)); +#2092=IFCRELDEFINESBYPROPERTIES('2OlXBut2n6Vf9rGjHsBNyw',$,$,$,(#2086),#2091); +#2093=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(596127.416666667),$); +#2094=IFCALIGNMENT('2dwfU45lr7FfqnDbSrv090',$,'GCAC',$,'Centerline',#31,$,$); +#2096=IFCPROPERTYSET('2S6UFqjn96Eu9DrMlp_zIK',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#2098,#2099,#2100)); +#2097=IFCRELDEFINESBYPROPERTIES('1uM$77YP56pgFunBtaV6yW',$,$,$,(#2094),#2096); +#2098=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:32:01'),$); +#2099=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCAC.xml'),$); +#2100=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:42:24'),$); +#2101=IFCPROPERTYSET('2fyq5Ystn1JhJwpzVJifn9',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2103,#2104,#2105)); +#2102=IFCRELDEFINESBYPROPERTIES('3ie_IuQu55RuDFPP5feXIU',$,$,$,(#2094),#2101); +#2103=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('64742.888667'),$); +#2104=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCAC'),$); +#2105=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('121718.916667'),$); +#2106=IFCALIGNMENTHORIZONTAL('2QVVQgg$cLTn5xesi8FImx',$,'GCAC',$,$,#31,#2242); +#2107=IFCRELNESTS('04ib2s9PSUofZkR$M75lDE',$,$,$,#2094,(#2106,#2243)); +#2108=IFCPROPERTYSET('2mORne2SjD8hOWDD5IslBm',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#2098,#2099,#2100)); +#2109=IFCRELDEFINESBYPROPERTIES('3nMe7ddybBk9_i9lUtYl4W',$,$,$,(#2106),#2108); +#2110=IFCPROPERTYSET('3GSPhfiyzFrAOxR_YLOtph',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2103,#2104,#2105)); +#2111=IFCRELDEFINESBYPROPERTIES('0rpPyAi5n3SxkGZJ8qAZw8',$,$,$,(#2106),#2110); +#2112=IFCCARTESIANPOINT((5461.86213,-29772.96761)); +#2113=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2112,-3.14542162685066,0.0,0.0,277.95945,$,.LINE.); +#2114=IFCALIGNMENTSEGMENT('15kp_UkSTdLHU$3ZTGZxHg',$,$,$,$,#31,#2162,#2113); +#2115=IFCRELNESTS('2hEY2vDWclScURzy0FkCcQ',$,$,$,#2106,(#2114,#2118,#2121,#2124,#2127,#2130,#2133,#2136,#2139,#2142,#2145,#2148,#2151,#2154,#2157)); +#2116=IFCCARTESIANPOINT((5183.90472,-29771.90331)); +#2117=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2116,-3.14542162685066,-7639.42199,-7639.42199,5963.27797,$,.CIRCULARARC.); +#2118=IFCALIGNMENTSEGMENT('1NSz5zwMfoBh06vYUftItT',$,$,$,$,#31,#2168,#2117); +#2119=IFCCARTESIANPOINT((-183.4545,-27539.69607)); +#2120=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2119,-3.92601444824742,0.0,0.0,1858.37422,$,.LINE.); +#2121=IFCALIGNMENTSEGMENT('3vk_c1p$yQnYBGDbP$nu1O',$,$,$,$,#31,#2173,#2120); +#2122=IFCCARTESIANPOINT((-1498.8059,-26226.9107)); +#2123=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2122,-3.92601444824742,-3337.61155,-3337.61155,2637.65774,$,.CIRCULARARC.); +#2124=IFCALIGNMENTSEGMENT('21ARrgMUUl87EdgeBP2xMG',$,$,$,$,#31,#2179,#2123); +#2125=IFCCARTESIANPOINT((-2478.6496,-23851.5148)); +#2126=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2125,1.56688783718362,0.0,0.0,17420.71199,$,.LINE.); +#2127=IFCALIGNMENTSEGMENT('1VXP8ApCSQBf0MqAixNUe2',$,$,$,$,#31,#2184,#2126); +#2128=IFCCARTESIANPOINT((-2410.5611,-6430.93587)); +#2129=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2128,1.56688783718362,8611.85278,8611.85278,2735.91146,$,.CIRCULARARC.); +#2130=IFCALIGNMENTSEGMENT('1w49SSx06uMBOiwwUFJCeL',$,$,$,$,#31,#2190,#2129); +#2131=IFCCARTESIANPOINT((-2830.98839,-3739.15053)); +#2132=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2131,-4.3986060826513,0.0,0.0,2298.64807,$,.LINE.); +#2133=IFCALIGNMENTSEGMENT('1NRMiT3DL55yi6X0DN$aYw',$,$,$,$,#31,#2195,#2132); +#2134=IFCCARTESIANPOINT((-3540.48686,-1552.73912)); +#2135=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2134,-4.3986060826513,-8594.35281,-8594.35281,2669.99557,$,.CIRCULARARC.); +#2136=IFCALIGNMENTSEGMENT('3KAr9ag$aoiq10hGmHfOMi',$,$,$,$,#31,#2201,#2135); +#2137=IFCCARTESIANPOINT((-3960.08377,1073.22013)); +#2138=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2137,-4.70927468475734,0.0,0.0,2231.51428,$,.LINE.); +#2139=IFCALIGNMENTSEGMENT('3zF_XCfGnKPAe1BHHlY_pC',$,$,$,$,#31,#2206,#2138); +#2140=IFCCARTESIANPOINT((-3967.03335,3304.72359)); +#2141=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2140,-4.70927468475734,8594.35281,8594.35281,3029.09333,$,.CIRCULARARC.); +#2142=IFCALIGNMENTSEGMENT('37ebCwi7oXsj5zsNH67VMD',$,$,$,$,#31,#2212,#2141); +#2143=IFCCARTESIANPOINT((-4504.57152,6269.83222)); +#2144=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2143,-4.35682309321,0.0,0.0,978.84798,$,.LINE.); +#2145=IFCALIGNMENTSEGMENT('0$ZXwoZ9hJbuU_rGwjSPbd',$,$,$,$,#31,#2217,#2144); +#2146=IFCCARTESIANPOINT((-4845.32898,7187.45291)); +#2147=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2146,-4.35682309321,-7161.95568,-7161.95568,2491.08832,$,.CIRCULARARC.); +#2148=IFCALIGNMENTSEGMENT('1E2xOqrBWg_aLAXcFAvmfF',$,$,$,$,#31,#2223,#2147); +#2149=IFCCARTESIANPOINT((-5293.09715,9625.2212)); +#2150=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2149,-4.7046454530389,0.0,0.0,10776.79053,$,.LINE.); +#2151=IFCALIGNMENTSEGMENT('2rKKxfZduzzwUjINMBIZJs',$,$,$,$,#31,#2228,#2150); +#2152=IFCCARTESIANPOINT((-5376.54669,20401.68863)); +#2153=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2152,-4.70464545303883,10.0,10.0,0.01202,$,.CIRCULARARC.); +#2154=IFCALIGNMENTSEGMENT('1k9OmWR_cKDrpp1YtN23IL',$,$,$,$,#31,#2234,#2153); +#2155=IFCCARTESIANPOINT((-5376.54679,20401.70065)); +#2156=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2155,-4.70344358088361,0.0,0.0,9373.00573,$,.LINE.); +#2157=IFCALIGNMENTSEGMENT('3KjgvFGI6ZbfPzwLpN1Jk5',$,$,$,$,#31,#2239,#2156); +#2158=IFCAXIS2PLACEMENT2D(#2112,#2159); +#2159=IFCDIRECTION((-0.99999267,0.00382896)); +#2160=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2158,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(277.959453775765),#84); +#2161=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2160)); +#2162=IFCPRODUCTDEFINITIONSHAPE($,$,(#2161)); +#2163=IFCAXIS2PLACEMENT2D(#2116,#2164); +#2164=IFCDIRECTION((-0.99999267,0.00382896)); +#2165=IFCCIRCLE(#96,7639.42199); +#2166=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2163,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.780592821396762),#2165); +#2167=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2166)); +#2168=IFCPRODUCTDEFINITIONSHAPE($,$,(#2167)); +#2169=IFCAXIS2PLACEMENT2D(#2119,#2170); +#2170=IFCDIRECTION((-0.70779684,0.70641605)); +#2171=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2169,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1858.37422481727),#84); +#2172=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2171)); +#2173=IFCPRODUCTDEFINITIONSHAPE($,$,(#2172)); +#2174=IFCAXIS2PLACEMENT2D(#2122,#2175); +#2175=IFCDIRECTION((-0.70779684,0.70641605)); +#2176=IFCCIRCLE(#96,3337.61155); +#2177=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2174,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.790283021748543),#2176); +#2178=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2177)); +#2179=IFCPRODUCTDEFINITIONSHAPE($,$,(#2178)); +#2180=IFCAXIS2PLACEMENT2D(#2125,#2181); +#2181=IFCDIRECTION((0.00390848,0.99999236)); +#2182=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2180,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(17420.711993112),#84); +#2183=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2182)); +#2184=IFCPRODUCTDEFINITIONSHAPE($,$,(#2183)); +#2185=IFCAXIS2PLACEMENT2D(#2128,#2186); +#2186=IFCDIRECTION((0.00390848,0.99999236)); +#2187=IFCCIRCLE(#96,8611.85278); +#2188=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2185,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2735.91145609809),#2187); +#2189=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2188)); +#2190=IFCPRODUCTDEFINITIONSHAPE($,$,(#2189)); +#2191=IFCAXIS2PLACEMENT2D(#2131,#2192); +#2192=IFCDIRECTION((-0.30865903,0.95117275)); +#2193=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2191,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2298.64806671679),#84); +#2194=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2193)); +#2195=IFCPRODUCTDEFINITIONSHAPE($,$,(#2194)); +#2196=IFCAXIS2PLACEMENT2D(#2134,#2197); +#2197=IFCDIRECTION((-0.30865903,0.95117275)); +#2198=IFCCIRCLE(#96,8594.35281); +#2199=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2196,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.310668602106031),#2198); +#2200=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2199)); +#2201=IFCPRODUCTDEFINITIONSHAPE($,$,(#2200)); +#2202=IFCAXIS2PLACEMENT2D(#2137,#2203); +#2203=IFCDIRECTION((-0.00311429,0.99999515)); +#2204=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2202,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2231.51428441393),#84); +#2205=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2204)); +#2206=IFCPRODUCTDEFINITIONSHAPE($,$,(#2205)); +#2207=IFCAXIS2PLACEMENT2D(#2140,#2208); +#2208=IFCDIRECTION((-0.00311429,0.99999515)); +#2209=IFCCIRCLE(#96,8594.35281); +#2210=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2207,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(3029.09332664801),#2209); +#2211=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2210)); +#2212=IFCPRODUCTDEFINITIONSHAPE($,$,(#2211)); +#2213=IFCAXIS2PLACEMENT2D(#2143,#2214); +#2214=IFCDIRECTION((-0.34812091,0.93744964)); +#2215=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2213,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(978.847982378578),#84); +#2216=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2215)); +#2217=IFCPRODUCTDEFINITIONSHAPE($,$,(#2216)); +#2218=IFCAXIS2PLACEMENT2D(#2146,#2219); +#2219=IFCDIRECTION((-0.34812091,0.93744964)); +#2220=IFCCIRCLE(#96,7161.95568); +#2221=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2218,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.347822359828906),#2220); +#2222=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2221)); +#2223=IFCPRODUCTDEFINITIONSHAPE($,$,(#2222)); +#2224=IFCAXIS2PLACEMENT2D(#2149,#2225); +#2225=IFCDIRECTION((-0.00774345,0.99997002)); +#2226=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2224,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(10776.7905282383),#84); +#2227=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2226)); +#2228=IFCPRODUCTDEFINITIONSHAPE($,$,(#2227)); +#2229=IFCAXIS2PLACEMENT2D(#2152,#2230); +#2230=IFCDIRECTION((-0.00774345,0.99997002)); +#2231=IFCCIRCLE(#96,10.0); +#2232=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2229,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(0.0120187214558785),#2231); +#2233=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2232)); +#2234=IFCPRODUCTDEFINITIONSHAPE($,$,(#2233)); +#2235=IFCAXIS2PLACEMENT2D(#2155,#2236); +#2236=IFCDIRECTION((-0.00894528,0.99995999)); +#2237=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2235,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(9373.00572872509),#84); +#2238=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2237)); +#2239=IFCPRODUCTDEFINITIONSHAPE($,$,(#2238)); +#2240=IFCCOMPOSITECURVE((#2160,#2166,#2171,#2177,#2182,#2188,#2193,#2199,#2204,#2210,#2215,#2221,#2226,#2232,#2237),.U.); +#2241=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#2240)); +#2242=IFCPRODUCTDEFINITIONSHAPE($,$,(#2241)); +#2243=IFCALIGNMENTVERTICAL('0ofU44uNf6cQAYRwMQS4MH',$,'GCAC',$,'FG',#31,#2478); +#2244=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,40749.9185,1294.77658,-0.0134166666666667,-0.0134166666666667,$,.CONSTANTGRADIENT.); +#2245=IFCALIGNMENTSEGMENT('1heiN3fTBnDIBviLkDOEs$',$,$,$,$,#31,#2304,#2244); +#2246=IFCRELNESTS('2CuUjCRP8IPa2L5aH3ovqm',$,$,$,#2243,(#2245,#2248,#2250,#2252,#2254,#2256,#2258,#2260,#2262,#2264,#2266,#2268,#2270,#2272,#2274,#2276,#2278,#2280,#2282,#2284,#2286,#2288,#2290,#2292,#2294,#2296,#2298)); +#2247=IFCALIGNMENTVERTICALSEGMENT($,$,40749.9185,1199.9976,748.0485,-0.0134166666666667,0.00318271158747125,-72291.7197,.PARABOLICARC.); +#2248=IFCALIGNMENTSEGMENT('1XqKmnT6AcVeM0Auam3pFG',$,$,$,$,#31,#2311,#2247); +#2249=IFCALIGNMENTVERTICALSEGMENT($,$,41949.9161,434.99913,741.90814,0.00318271158747198,0.00318271158747198,$,.CONSTANTGRADIENT.); +#2250=IFCALIGNMENTSEGMENT('0CAyJYxLp$2IAkj31KeY4L',$,$,$,$,#31,#2317,#2249); +#2251=IFCALIGNMENTVERTICALSEGMENT($,$,42384.91523,639.99872,743.29262,0.00318271158747138,-0.00299399035490735,-103614.95924,.PARABOLICARC.); +#2252=IFCALIGNMENTSEGMENT('3KT8LU_cieEzY_zn$0BmSi',$,$,$,$,#31,#2324,#2251); +#2253=IFCALIGNMENTVERTICALSEGMENT($,$,43024.914,999.9979,743.35301,-0.00299399035490731,0.0271923401522852,-33127.50782,.PARABOLICARC.); +#2254=IFCALIGNMENTSEGMENT('3Y0PZGOwkIh$ZRLeh3_hLh',$,$,$,$,#31,#2331,#2253); +#2255=IFCALIGNMENTVERTICALSEGMENT($,$,44024.9119,94.99986,755.45216,0.0271923401522909,0.0271923401522909,$,.CONSTANTGRADIENT.); +#2256=IFCALIGNMENTSEGMENT('1Xv0noBZf0Ix2oI_JAk0ut',$,$,$,$,#31,#2337,#2255); +#2257=IFCALIGNMENTVERTICALSEGMENT($,$,44119.91176,1499.997,758.03543,0.0271923401522838,-0.0277277879280843,-27312.33616,.PARABOLICARC.); +#2258=IFCALIGNMENTSEGMENT('2$YNq7i4Y$wH71GkVVd_kK',$,$,$,$,#31,#2344,#2257); +#2259=IFCALIGNMENTVERTICALSEGMENT($,$,45619.90876,64.99987,757.63384,-0.0277277879280887,-0.0277277879280887,$,.CONSTANTGRADIENT.); +#2260=IFCALIGNMENTSEGMENT('3XRS9XG$8o8IL5$Tb7LJGE',$,$,$,$,#31,#2350,#2259); +#2261=IFCALIGNMENTVERTICALSEGMENT($,$,45684.90863,749.9985,755.83154,-0.0277277879280851,0.00867090216099262,-20605.0959,.PARABOLICARC.); +#2262=IFCALIGNMENTSEGMENT('0LJV9WDJBT62P3WbJgpgjz',$,$,$,$,#31,#2357,#2261); +#2263=IFCALIGNMENTVERTICALSEGMENT($,$,46434.90713,2609.99478,748.68522,0.00867090216099275,0.00867090216099275,$,.CONSTANTGRADIENT.); +#2264=IFCALIGNMENTSEGMENT('3VtRp9ADtHtHZHewScLgH7',$,$,$,$,#31,#2363,#2263); +#2265=IFCALIGNMENTVERTICALSEGMENT($,$,49044.90191,899.9982,771.31623,0.00867090216099206,-0.00296241630000319,-77363.84102,.PARABOLICARC.); +#2266=IFCALIGNMENTSEGMENT('2J9wYT5NWU6cTJsOcW2AkC',$,$,$,$,#31,#2370,#2265); +#2267=IFCALIGNMENTVERTICALSEGMENT($,$,49944.90016,499.9989,773.88505,-0.00296241630000307,0.00550008980108109,-59084.0224,.PARABOLICARC.); +#2268=IFCALIGNMENTSEGMENT('2CvKu6AUIOLZ8_5291SuSM',$,$,$,$,#31,#2377,#2267); +#2269=IFCALIGNMENTVERTICALSEGMENT($,$,50444.89906,1394.99726,774.51946,0.00550008980108138,0.00550008980108138,$,.CONSTANTGRADIENT.); +#2270=IFCALIGNMENTSEGMENT('3uYXb8hBiOii$ady5$6tgA',$,$,$,$,#31,#2383,#2269); +#2271=IFCALIGNMENTVERTICALSEGMENT($,$,51839.89632,399.9992,782.19207,0.00550008980108153,-0.00302578779810068,-46915.89755,.PARABOLICARC.); +#2272=IFCALIGNMENTSEGMENT('3oh2I3aRTwY2lqPgHw6qMn',$,$,$,$,#31,#2390,#2271); +#2273=IFCALIGNMENTVERTICALSEGMENT($,$,52239.89557,659.99858,782.68693,-0.00302578779810043,0.00641142583848727,-69935.74644,.PARABOLICARC.); +#2274=IFCALIGNMENTSEGMENT('3k5901cbjd5KdaLrfqVD37',$,$,$,$,#31,#2397,#2273); +#2275=IFCALIGNMENTVERTICALSEGMENT($,$,52899.89415,879.99829,783.80419,0.00641142583848744,0.00641142583848744,$,.CONSTANTGRADIENT.); +#2276=IFCALIGNMENTSEGMENT('3SmD9_WHE4sgDiN9t3AH4T',$,$,$,$,#31,#2403,#2275); +#2277=IFCALIGNMENTVERTICALSEGMENT($,$,53779.89244,799.9984,789.44623,0.00641142583848754,-0.00295259267184374,-85433.23565,.PARABOLICARC.); +#2278=IFCALIGNMENTSEGMENT('3Xa7iqi_O_Qmo$BbbyB2Ws',$,$,$,$,#31,#2410,#2277); +#2279=IFCALIGNMENTVERTICALSEGMENT($,$,54579.89089,479.99894,790.82976,-0.00295259267184351,0.00414470633880274,-67631.21284,.PARABOLICARC.); +#2280=IFCALIGNMENTSEGMENT('1BmqKSgg6GUwqIQiQ7ZITB',$,$,$,$,#31,#2417,#2279); +#2281=IFCALIGNMENTVERTICALSEGMENT($,$,55059.88983,2239.99557,791.11587,0.00414470633880241,0.00414470633880241,$,.CONSTANTGRADIENT.); +#2282=IFCALIGNMENTSEGMENT('0k6T5Co7Yy5BeATu3g4jF_',$,$,$,$,#31,#2423,#2281); +#2283=IFCALIGNMENTVERTICALSEGMENT($,$,57299.8854,399.9992,800.39999,0.00414470633880233,0.00299999999999923,-349433.89972,.PARABOLICARC.); +#2284=IFCALIGNMENTSEGMENT('1XJlKJXIw0s3AACWTfBa8h',$,$,$,$,#31,#2430,#2283); +#2285=IFCALIGNMENTVERTICALSEGMENT($,$,57699.8846,949.9981,801.82893,0.00299999999999839,0.00299999999999839,$,.CONSTANTGRADIENT.); +#2286=IFCALIGNMENTSEGMENT('2U4iQnH9tULR_Q0zD_zMyw',$,$,$,$,#31,#2436,#2285); +#2287=IFCALIGNMENTVERTICALSEGMENT($,$,58649.8827,499.999,804.67893,0.00299999999999767,0.0121627836372058,-54568.46083,.PARABOLICARC.); +#2288=IFCALIGNMENTSEGMENT('3NGZ2KfNHifOBC8nvs5l9o',$,$,$,$,#31,#2443,#2287); +#2289=IFCALIGNMENTVERTICALSEGMENT($,$,59149.8817,459.99908,808.46962,0.0121627836372049,0.0121627836372049,$,.CONSTANTGRADIENT.); +#2290=IFCALIGNMENTSEGMENT('2CCaUTiSBqxDFmMCwiRXu4',$,$,$,$,#31,#2449,#2289); +#2291=IFCALIGNMENTVERTICALSEGMENT($,$,59609.88078,999.998,814.06449,0.0121627836372057,0.00299999999999652,-109136.92166,.PARABOLICARC.); +#2292=IFCALIGNMENTSEGMENT('3N_IXd0VeMpsQc7RN2Owhx',$,$,$,$,#31,#2456,#2291); +#2293=IFCALIGNMENTVERTICALSEGMENT($,$,60609.87878,1589.99682,821.64586,0.0029999999999966,0.0029999999999966,$,.CONSTANTGRADIENT.); +#2294=IFCALIGNMENTSEGMENT('0U4VyluGb5wxeqi8HnGzWM',$,$,$,$,#31,#2462,#2293); +#2295=IFCALIGNMENTVERTICALSEGMENT($,$,62199.8756,999.998,826.41585,0.00299999999999631,-0.00008475631399856,-324174.067,.PARABOLICARC.); +#2296=IFCALIGNMENTSEGMENT('3CTNvgJCzF10KByJV8p$WM',$,$,$,$,#31,#2469,#2295); +#2297=IFCALIGNMENTVERTICALSEGMENT($,$,63199.8736,1543.01507,827.87347,-0.00008475631399869,-0.00008475631399869,$,.CONSTANTGRADIENT.); +#2298=IFCALIGNMENTSEGMENT('3v4VeFU$Rvxv1oxlbDkluf',$,$,$,$,#31,#2475,#2297); +#2299=IFCCARTESIANPOINT((0.0,1294.77658)); +#2300=IFCDIRECTION((0.99991001,-0.01341546)); +#2301=IFCAXIS2PLACEMENT2D(#2299,#2300); +#2302=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2301,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(40753.5859691223),#84); +#2303=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2302)); +#2304=IFCPRODUCTDEFINITIONSHAPE($,$,(#2303)); +#2305=IFCCARTESIANPOINT((40749.9185,748.0485)); +#2306=IFCDIRECTION((0.99991001,-0.01341546)); +#2307=IFCAXIS2PLACEMENT2D(#2305,#2306); +#2308=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,6.91642144E-06),$); +#2309=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2307,IFCPARAMETERVALUE(-969.913906022629),IFCPARAMETERVALUE(1199.99760000134),#2308); +#2310=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2309)); +#2311=IFCPRODUCTDEFINITIONSHAPE($,$,(#2310)); +#2312=IFCCARTESIANPOINT((41949.9161,741.90814)); +#2313=IFCDIRECTION((0.99999494,0.0031827)); +#2314=IFCAXIS2PLACEMENT2D(#2312,#2313); +#2315=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2314,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(435.00133318642),#84); +#2316=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2315)); +#2317=IFCPRODUCTDEFINITIONSHAPE($,$,(#2316)); +#2318=IFCCARTESIANPOINT((42384.91523,743.29262)); +#2319=IFCDIRECTION((0.99999494,0.0031827)); +#2320=IFCAXIS2PLACEMENT2D(#2318,#2319); +#2321=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.82555804E-06),$); +#2322=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2320,IFCPARAMETERVALUE(-329.776531410222),IFCPARAMETERVALUE(639.998720000498),#2321); +#2323=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2322)); +#2324=IFCPRODUCTDEFINITIONSHAPE($,$,(#2323)); +#2325=IFCCARTESIANPOINT((43024.914,743.35301)); +#2326=IFCDIRECTION((0.99999552,-0.00299398)); +#2327=IFCAXIS2PLACEMENT2D(#2325,#2326); +#2328=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.50931969E-05),$); +#2329=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2327,IFCPARAMETERVALUE(-99.183438901726),IFCPARAMETERVALUE(999.997899999958),#2328); +#2330=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2329)); +#2331=IFCPRODUCTDEFINITIONSHAPE($,$,(#2330)); +#2332=IFCCARTESIANPOINT((44024.9119,755.45216)); +#2333=IFCDIRECTION((0.99963049,0.02718229)); +#2334=IFCAXIS2PLACEMENT2D(#2332,#2333); +#2335=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2334,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(95.0349760745356),#84); +#2336=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2335)); +#2337=IFCPRODUCTDEFINITIONSHAPE($,$,(#2336)); +#2338=IFCCARTESIANPOINT((44119.91176,758.03543)); +#2339=IFCDIRECTION((0.99963049,0.02718229)); +#2340=IFCAXIS2PLACEMENT2D(#2338,#2339); +#2341=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.8306746E-05),$); +#2342=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2340,IFCPARAMETERVALUE(-742.686335177661),IFCPARAMETERVALUE(1499.99700000335),#2341); +#2343=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2342)); +#2344=IFCPRODUCTDEFINITIONSHAPE($,$,(#2343)); +#2345=IFCCARTESIANPOINT((45619.90876,757.63384)); +#2346=IFCDIRECTION((0.99961581,-0.02771714)); +#2347=IFCAXIS2PLACEMENT2D(#2345,#2346); +#2348=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2347,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(65.0248521134608),#84); +#2349=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2348)); +#2350=IFCPRODUCTDEFINITIONSHAPE($,$,(#2349)); +#2351=IFCCARTESIANPOINT((45684.90863,755.83154)); +#2352=IFCDIRECTION((0.99961581,-0.02771714)); +#2353=IFCAXIS2PLACEMENT2D(#2351,#2352); +#2354=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.42658419E-05),$); +#2355=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2353,IFCPARAMETERVALUE(-571.333729419708),IFCPARAMETERVALUE(749.998500007321),#2354); +#2356=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2355)); +#2357=IFCPRODUCTDEFINITIONSHAPE($,$,(#2356)); +#2358=IFCCARTESIANPOINT((46434.90713,748.68522)); +#2359=IFCDIRECTION((0.99996241,0.00867058)); +#2360=IFCAXIS2PLACEMENT2D(#2358,#2359); +#2361=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2360,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2610.09289379079),#84); +#2362=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2361)); +#2363=IFCPRODUCTDEFINITIONSHAPE($,$,(#2362)); +#2364=IFCCARTESIANPOINT((49044.90191,771.31623)); +#2365=IFCDIRECTION((0.99996241,0.00867058)); +#2366=IFCAXIS2PLACEMENT2D(#2364,#2365); +#2367=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.46296763E-06),$); +#2368=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2366,IFCPARAMETERVALUE(-670.814296319335),IFCPARAMETERVALUE(899.998200000264),#2367); +#2369=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2368)); +#2370=IFCPRODUCTDEFINITIONSHAPE($,$,(#2369)); +#2371=IFCCARTESIANPOINT((49944.90016,773.88505)); +#2372=IFCDIRECTION((0.99999561,-0.0029624)); +#2373=IFCAXIS2PLACEMENT2D(#2371,#2372); +#2374=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,8.46252472E-06),$); +#2375=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2373,IFCPARAMETERVALUE(-175.031471014699),IFCPARAMETERVALUE(499.998900000006),#2374); +#2376=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2375)); +#2377=IFCPRODUCTDEFINITIONSHAPE($,$,(#2376)); +#2378=IFCCARTESIANPOINT((50444.89906,774.51946)); +#2379=IFCDIRECTION((0.99998487,0.00550001)); +#2380=IFCAXIS2PLACEMENT2D(#2378,#2379); +#2381=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2380,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(1395.0183598657),#84); +#2382=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2381)); +#2383=IFCPRODUCTDEFINITIONSHAPE($,$,(#2382)); +#2384=IFCCARTESIANPOINT((51839.89632,782.19207)); +#2385=IFCDIRECTION((0.99998487,0.00550001)); +#2386=IFCAXIS2PLACEMENT2D(#2384,#2385); +#2387=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.06573683E-05),$); +#2388=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2386,IFCPARAMETERVALUE(-258.041649644596),IFCPARAMETERVALUE(399.99920000002),#2387); +#2389=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2388)); +#2390=IFCPRODUCTDEFINITIONSHAPE($,$,(#2389)); +#2391=IFCCARTESIANPOINT((52239.89557,782.68693)); +#2392=IFCDIRECTION((0.99999542,-0.00302577)); +#2393=IFCAXIS2PLACEMENT2D(#2391,#2392); +#2394=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,7.14941965E-06),$); +#2395=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2393,IFCPARAMETERVALUE(-211.610728232887),IFCPARAMETERVALUE(659.998580000014),#2394); +#2396=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2395)); +#2397=IFCPRODUCTDEFINITIONSHAPE($,$,(#2396)); +#2398=IFCCARTESIANPOINT((52899.89415,783.80419)); +#2399=IFCDIRECTION((0.99997945,0.00641129)); +#2400=IFCAXIS2PLACEMENT2D(#2398,#2399); +#2401=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2400,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(880.016376586275),#84); +#2402=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2401)); +#2403=IFCPRODUCTDEFINITIONSHAPE($,$,(#2402)); +#2404=IFCCARTESIANPOINT((53779.89244,789.44623)); +#2405=IFCDIRECTION((0.99997945,0.00641129)); +#2406=IFCAXIS2PLACEMENT2D(#2404,#2405); +#2407=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-5.85252327E-06),$); +#2408=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2406,IFCPARAMETERVALUE(-547.748854495137),IFCPARAMETERVALUE(799.998399999458),#2407); +#2409=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2408)); +#2410=IFCPRODUCTDEFINITIONSHAPE($,$,(#2409)); +#2411=IFCCARTESIANPOINT((54579.89089,790.82976)); +#2412=IFCDIRECTION((0.99999564,-0.00295258)); +#2413=IFCAXIS2PLACEMENT2D(#2411,#2412); +#2414=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,7.39303613E-06),$); +#2415=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2413,IFCPARAMETERVALUE(-199.687423428376),IFCPARAMETERVALUE(479.99894000002),#2414); +#2416=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2415)); +#2417=IFCPRODUCTDEFINITIONSHAPE($,$,(#2416)); +#2418=IFCCARTESIANPOINT((55059.88983,791.11587)); +#2419=IFCDIRECTION((0.99999141,0.00414467)); +#2420=IFCAXIS2PLACEMENT2D(#2418,#2419); +#2421=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2420,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2240.01480989923),#84); +#2422=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2421)); +#2423=IFCPRODUCTDEFINITIONSHAPE($,$,(#2422)); +#2424=IFCCARTESIANPOINT((57299.8854,800.39999)); +#2425=IFCDIRECTION((0.99999141,0.00414467)); +#2426=IFCAXIS2PLACEMENT2D(#2424,#2425); +#2427=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.43088579E-06),$); +#2428=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2426,IFCPARAMETERVALUE(-1448.30089915602),IFCPARAMETERVALUE(399.999200000544),#2427); +#2429=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2428)); +#2430=IFCPRODUCTDEFINITIONSHAPE($,$,(#2429)); +#2431=IFCCARTESIANPOINT((57699.8846,801.82893)); +#2432=IFCDIRECTION((0.9999955,0.00299999)); +#2433=IFCAXIS2PLACEMENT2D(#2431,#2432); +#2434=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2433,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(950.002374981334),#84); +#2435=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2434)); +#2436=IFCPRODUCTDEFINITIONSHAPE($,$,(#2435)); +#2437=IFCCARTESIANPOINT((58649.8827,804.67893)); +#2438=IFCDIRECTION((0.9999955,0.00299999)); +#2439=IFCAXIS2PLACEMENT2D(#2437,#2438); +#2440=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,9.16280196E-06),$); +#2441=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2439,IFCPARAMETERVALUE(163.705382489915),IFCPARAMETERVALUE(499.999000000884),#2440); +#2442=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2441)); +#2443=IFCPRODUCTDEFINITIONSHAPE($,$,(#2442)); +#2444=IFCCARTESIANPOINT((59149.8817,808.46962)); +#2445=IFCDIRECTION((0.99992604,0.01216188)); +#2446=IFCAXIS2PLACEMENT2D(#2444,#2445); +#2447=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2446,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(460.033103330727),#84); +#2448=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2447)); +#2449=IFCPRODUCTDEFINITIONSHAPE($,$,(#2448)); +#2450=IFCCARTESIANPOINT((59609.88078,814.06449)); +#2451=IFCDIRECTION((0.99992604,0.01216188)); +#2452=IFCAXIS2PLACEMENT2D(#2450,#2451); +#2453=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.58140098E-06),$); +#2454=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2452,IFCPARAMETERVALUE(-1327.40876498174),IFCPARAMETERVALUE(999.998000002),#2453); +#2455=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2454)); +#2456=IFCPRODUCTDEFINITIONSHAPE($,$,(#2455)); +#2457=IFCCARTESIANPOINT((60609.87878,821.64586)); +#2458=IFCDIRECTION((0.9999955,0.00299999)); +#2459=IFCAXIS2PLACEMENT2D(#2457,#2458); +#2460=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2459,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(1590.00397497902),#84); +#2461=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2460)); +#2462=IFCPRODUCTDEFINITIONSHAPE($,$,(#2461)); +#2463=IFCCARTESIANPOINT((62199.8756,826.41585)); +#2464=IFCDIRECTION((0.9999955,0.00299999)); +#2465=IFCAXIS2PLACEMENT2D(#2463,#2464); +#2466=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.54238124E-06),$); +#2467=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2465,IFCPARAMETERVALUE(-972.522200987498),IFCPARAMETERVALUE(999.998000000021),#2466); +#2468=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2467)); +#2469=IFCPRODUCTDEFINITIONSHAPE($,$,(#2468)); +#2470=IFCCARTESIANPOINT((63199.8736,827.87347)); +#2471=IFCDIRECTION((1.0,-0.00008476)); +#2472=IFCAXIS2PLACEMENT2D(#2470,#2471); +#2473=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2472,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(1543.01507258926),#84); +#2474=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2473)); +#2475=IFCPRODUCTDEFINITIONSHAPE($,$,(#2474)); +#2476=IFCGRADIENTCURVE((#2302,#2309,#2315,#2322,#2329,#2335,#2342,#2348,#2355,#2361,#2368,#2375,#2381,#2388,#2395,#2401,#2408,#2415,#2421,#2428,#2434,#2441,#2447,#2454,#2460,#2467,#2473),.U.,#2240,$); +#2477=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#2476)); +#2478=IFCPRODUCTDEFINITIONSHAPE($,$,(#2477)); +#2479=IFCSTYLEDITEM(#2476,(#254),'C-ROAD-PROF'); +#2480=IFCREFERENT('3rGJFxiJH4SP_pjPbLFtHC',$,'1217+18.92',$,$,#2484,$,.STATION.); +#2481=IFCRELNESTS('1ORF2B600HnBPuHMNieEMP',$,$,$,#2094,(#2480)); +#2482=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.0),$,$,$,#2240); +#2483=IFCAXIS2PLACEMENTLINEAR(#2482,$,$); +#2484=IFCLINEARPLACEMENT(#31,#2483,$); +#2485=IFCPROPERTYSET('1hqIWw1y9BZhDePcgFEtiQ',$,'Pset_Stationing',$,(#2487)); +#2486=IFCRELDEFINESBYPROPERTIES('3PQXq1XpD1MvwsYyUjNlr6',$,$,$,(#2480),#2485); +#2487=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(121718.916666667),$); +#2488=IFCCLASSIFICATION($,$,$,'Civil 3D',$,$,$); +#2493=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2494=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#86,$,.MODEL_VIEW.,$); +#2495=IFCSHAPEREPRESENTATION(#2494,'Body','Point',(#2493)); +#2496=IFCPRODUCTDEFINITIONSHAPE($,$,(#2495)); +#2497=IFCANNOTATION('2TIqJt8zHBDOtb9NWNPUfa',$,'IFC Project Base Point 24Gn8Nh3D6d8e8$EFU4LBj','IFC Project Base Point','CogoPoint',#30,#2496,$); +#2498=IFCPROPERTYSINGLEVALUE('PointNumber',$,IFCIDENTIFIER('1'),$); +#2499=IFCPROPERTYSET('0Y0R_9ZZn2GvXackEDJVXx',$,'C3D_Attributes',$,(#2498)); +#2500=IFCRELDEFINESBYPROPERTIES('0P8bjhOH5B99GLEGhzmrN$',$,$,$,(#2497),#2499); +#2501=IFCCOLOURRGB('red',1.0,0.0,0.0); +#2502=IFCSURFACESTYLESHADING(#2501,$); +#2503=IFCSURFACESTYLE($,.BOTH.,(#2502)); +#2504=IFCPRESENTATIONLAYERWITHSTYLE('V-NODE',$,(#2493),$,.U.,.U.,.U.,(#2503)); +#2505=IFCSTYLEDITEM(#2493,(#2503),'V-NODE'); +#2507=IFCORGANIZATION($,'Unknown',$,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/cls000/pass-cls000-classification_present.ifc b/test/files/cls000/pass-cls000-classification_present.ifc new file mode 100755 index 00000000..3004fac6 --- /dev/null +++ b/test/files/cls000/pass-cls000-classification_present.ifc @@ -0,0 +1,2499 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1'); +FILE_NAME('pass-ala003-multiple_alignments.ifc','2024-03-25T21:51:20',('redacted'),('Unknown'),'GeometryGymIFCcore v0.2.13.0 by Geometry Gym Pty Ltd built 2023-02-23T01:21:04','Civil 3D 2023 IfcInfra Plugin v13.5.35.0','None'); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; +DATA; +#1=IFCORGANIZATION($,'Autodesk',$,$,$); +#2=IFCAPPLICATION(#1,'Civil 3D 2023','Civil 3D','Civil 3D 2023 IfcInfra Plugin v13.5.35.0'); +#3=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#4=IFCAXIS2PLACEMENT3D(#3,$,$); +#5=IFCLOCALPLACEMENT($,#4); +#6=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#7=IFCAXIS2PLACEMENT3D(#6,$,$); +#9=IFCROAD('3H1GMa7n90jh9wIappFM4d',$,'UnknownName',$,$,#5,$,$,$,.NOTDEFINED.); +#12=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#13=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(0.3048),#12); +#14=IFCCONVERSIONBASEDUNIT(#15,.LENGTHUNIT.,'foot',#13); +#15=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0); +#16=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#17=IFCMEASUREWITHUNIT(IFCAREAMEASURE(0.0929),#16); +#18=IFCCONVERSIONBASEDUNIT(#19,.AREAUNIT.,'square foot',#17); +#19=IFCDIMENSIONALEXPONENTS(2,0,0,0,0,0,0); +#20=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#21=IFCMEASUREWITHUNIT(IFCVOLUMEMEASURE(0.02832),#20); +#22=IFCCONVERSIONBASEDUNIT(#23,.VOLUMEUNIT.,'cubic foot',#21); +#23=IFCDIMENSIONALEXPONENTS(3,0,0,0,0,0,0); +#24=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#25=IFCPROJECT('24Gn8Nh3D6d8e8$EFU4LBj',$,'Unknown',$,$,$,$,(#86),#26); +#26=IFCUNITASSIGNMENT((#14,#18,#22,#24)); +#27=IFCRELAGGREGATES('0fwWLXRgFThpXRJMgczBNw',$,$,$,#25,(#9)); +#28=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#29=IFCAXIS2PLACEMENT3D(#28,$,$); +#30=IFCLOCALPLACEMENT(#5,#29); +#31=IFCLOCALPLACEMENT(#5,#29); +#32=IFCALIGNMENT('2kLGlG0Bj4WfCcOFQBv8FW',$,'GCBC',$,'Centerline',#31,$,$); +#33=IFCRELCONTAINEDINSPATIALSTRUCTURE('2ZrkQ26XpFdUzz4h2lSDyC',$,$,' Container for Elements',(#32,#265,#394,#515,#661,#841,#978,#1133,#1347,#1476,#1630,#1811,#1991,#2094,#2497),#9); +#35=IFCPROPERTYSET('35XT3DNHr4vfG_LEm6RjKL',$,'Imported LandXML File [AeccDbAlignment]',$,(#37,#38,#39,#40,#41)); +#36=IFCRELDEFINESBYPROPERTIES('0OiBrn0znCEevLJoa9AFS3',$,$,$,(#32),#35); +#37=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:32:31'),$); +#38=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCBC.xml'),$); +#39=IFCPROPERTYSINGLEVALUE('[LandXML::File path]',$,IFCLABEL('C:\\WinProjects\\GenericVDC\\20036781_I74\\ALG\\'),$); +#40=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:38:33'),$); +#41=IFCPROPERTYSINGLEVALUE('[LandXML::Version]',$,IFCLABEL('1.2'),$); +#42=IFCPROPERTYSET('1aJKCQyMb3QwcheR1lZYgB',$,'LandXML Attributes [AeccDbAlignment]',$,(#44,#45,#46,#47)); +#43=IFCRELDEFINESBYPROPERTIES('2rF_IJyZXFG81XnnrS6wiL',$,$,$,(#32),#42); +#44=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('1420.099129'),$); +#45=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCBC'),$); +#46=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('328.083333'),$); +#47=IFCPROPERTYSINGLEVALUE('[Alignment::state]',$,IFCLABEL('proposed'),$); +#48=IFCALIGNMENTHORIZONTAL('0kEbABwqs58RQ01hKhYHkI',$,'GCBC',$,$,#31,#136); +#49=IFCRELNESTS('3cUEVReBd08r8qr8v_5Fji',$,$,$,#32,(#48,#137)); +#50=IFCPROPERTYSET('2LaBqkApDEduWoHxCW1Ad8',$,'Imported LandXML File [AeccDbAlignment]',$,(#37,#38,#39,#40,#41)); +#51=IFCRELDEFINESBYPROPERTIES('3knTVfO4b7cPrmd1Cxrd8i',$,$,$,(#48),#50); +#52=IFCPROPERTYSET('0rKL1IN8z0jxcK_heGpiby',$,'LandXML Attributes [AeccDbAlignment]',$,(#44,#45,#46,#47)); +#53=IFCRELDEFINESBYPROPERTIES('250W4oTMT3VBhvcQv8MTFT',$,$,$,(#48),#52); +#54=IFCCARTESIANPOINT((-5866.05084,10133.52073)); +#55=IFCALIGNMENTHORIZONTALSEGMENT($,$,#54,-0.397074901682382,0.0,0.0,280.56081,$,.LINE.); +#56=IFCALIGNMENTSEGMENT('01PBpt5eTvzKN0Um$oT39S',$,$,$,$,#31,#92,#55); +#57=IFCRELNESTS('1yUXdzq4$r_rzD1gg4$AHD',$,$,$,#48,(#56,#60,#63,#66,#69,#72,#75,#78)); +#58=IFCCARTESIANPOINT((-5607.31874,10025.02155)); +#59=IFCALIGNMENTHORIZONTALSEGMENT($,$,#58,-0.397074901682394,-99.9998,-99.9998,126.80429,$,.CIRCULARARC.); +#60=IFCALIGNMENTSEGMENT('2v08j4LKlAjpgVZFidTp$2',$,$,$,$,#31,#100,#59); +#61=IFCCARTESIANPOINT((-5546.43563,9923.38372)); +#62=IFCALIGNMENTHORIZONTALSEGMENT($,$,#61,-1.66512035182795,0.0,0.0,295.84548,$,.LINE.); +#63=IFCALIGNMENTSEGMENT('0h1llWs1ho1GPR62yghBCe',$,$,$,$,#31,#105,#62); +#64=IFCCARTESIANPOINT((-5574.29961,9628.85334)); +#65=IFCALIGNMENTHORIZONTALSEGMENT($,$,#64,-1.66512035182794,114.99977,114.99977,162.7639,$,.CIRCULARARC.); +#66=IFCALIGNMENTSEGMENT('2pHUojw8GMEqTBWAgkFD9K',$,$,$,$,#31,#111,#65); +#67=IFCCARTESIANPOINT((-5488.23784,9506.59119)); +#68=IFCALIGNMENTHORIZONTALSEGMENT($,$,#67,-0.249779264373104,0.0,0.0,397.89239,$,.LINE.); +#69=IFCALIGNMENTSEGMENT('2cXmxqPLPp4NtbFaGLFgC_',$,$,$,$,#31,#116,#68); +#70=IFCCARTESIANPOINT((-5102.69324,9408.23614)); +#71=IFCALIGNMENTHORIZONTALSEGMENT($,$,#70,-0.249779264373122,-99.9998,-99.9998,50.55546,$,.CIRCULARARC.); +#72=IFCALIGNMENTSEGMENT('0bcuMXz9lDu3Rj5vv_PvJL',$,$,$,$,#31,#122,#71); +#73=IFCCARTESIANPOINT((-5058.85908,9384.14369)); +#74=IFCALIGNMENTHORIZONTALSEGMENT($,$,#73,-0.755334832894678,99.9998,99.9998,61.57937,$,.CIRCULARARC.); +#75=IFCALIGNMENTSEGMENT('0fmqyG67$v8D$fHwMCfvs1',$,$,$,$,#31,#128,#74); +#76=IFCCARTESIANPOINT((-5004.21469,9357.91994)); +#77=IFCALIGNMENTHORIZONTALSEGMENT($,$,#76,-0.139539881591857,0.0,0.0,44.09743,$,.LINE.); +#78=IFCALIGNMENTSEGMENT('288JZ92gkgbNQQZVHAvpyK',$,$,$,$,#31,#133,#77); +#79=IFCAXIS2PLACEMENT2D(#54,#80); +#80=IFCDIRECTION((0.92219614,-0.38672249)); +#81=IFCCARTESIANPOINT((0.0,0.0)); +#82=IFCDIRECTION((1.0,0.0)); +#83=IFCVECTOR(#82,1.0); +#84=IFCLINE(#81,#83); +#85=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#79,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(280.560813625172),#84); +#86=IFCGEOMETRICREPRESENTATIONCONTEXT('3D','Model',3,0.0001,#88,#89); +#87=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#88=IFCAXIS2PLACEMENT3D(#87,$,$); +#89=IFCDIRECTION((0.0,1.0)); +#90=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#86,$,.GRAPH_VIEW.,$); +#91=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#85)); +#92=IFCPRODUCTDEFINITIONSHAPE($,$,(#91)); +#93=IFCAXIS2PLACEMENT2D(#58,#94); +#94=IFCDIRECTION((0.92219614,-0.38672249)); +#95=IFCCARTESIANPOINT((0.0,0.0)); +#96=IFCAXIS2PLACEMENT2D(#95,$); +#97=IFCCIRCLE(#96,99.9998); +#98=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#93,IFCLENGTHMEASURE(0.0),IFCPARAMETERVALUE(-1.26804545014559),#97); +#99=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#98)); +#100=IFCPRODUCTDEFINITIONSHAPE($,$,(#99)); +#101=IFCAXIS2PLACEMENT2D(#61,#102); +#102=IFCDIRECTION((-0.09418422,-0.99555479)); +#103=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#101,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(295.845477655276),#84); +#104=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#103)); +#105=IFCPRODUCTDEFINITIONSHAPE($,$,(#104)); +#106=IFCAXIS2PLACEMENT2D(#64,#107); +#107=IFCDIRECTION((-0.09418422,-0.99555479)); +#108=IFCCIRCLE(#96,114.99977); +#109=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#106,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(162.763899528876),#108); +#110=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#109)); +#111=IFCPRODUCTDEFINITIONSHAPE($,$,(#110)); +#112=IFCAXIS2PLACEMENT2D(#67,#113); +#113=IFCDIRECTION((0.96896701,-0.24719008)); +#114=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#112,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(397.892392356574),#84); +#115=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#114)); +#116=IFCPRODUCTDEFINITIONSHAPE($,$,(#115)); +#117=IFCAXIS2PLACEMENT2D(#70,#118); +#118=IFCDIRECTION((0.96896701,-0.24719008)); +#119=IFCCIRCLE(#96,99.9998); +#120=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#117,IFCLENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.505555568521531),#119); +#121=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#120)); +#122=IFCPRODUCTDEFINITIONSHAPE($,$,(#121)); +#123=IFCAXIS2PLACEMENT2D(#73,#124); +#124=IFCDIRECTION((0.72804205,-0.68553248)); +#125=IFCCIRCLE(#96,99.9998); +#126=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#123,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(61.5793719712762),#125); +#127=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#126)); +#128=IFCPRODUCTDEFINITIONSHAPE($,$,(#127)); +#129=IFCAXIS2PLACEMENT2D(#76,#130); +#130=IFCDIRECTION((0.9902801,-0.13908748)); +#131=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#129,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(44.0974262919718),#84); +#132=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#131)); +#133=IFCPRODUCTDEFINITIONSHAPE($,$,(#132)); +#134=IFCCOMPOSITECURVE((#85,#98,#103,#109,#114,#120,#126,#131),.U.); +#135=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#134)); +#136=IFCPRODUCTDEFINITIONSHAPE($,$,(#135)); +#137=IFCALIGNMENTVERTICAL('34MTzqiBRzTpHT6F6E$nu6',$,'GCBC',$,'FG',#31,#251); +#138=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,44.99991,740.35852,0.0135517241379295,0.0135517241379295,$,.CONSTANTGRADIENT.); +#139=IFCALIGNMENTSEGMENT('01AdjI$q4phDIc5pUMCQ5i',$,$,$,$,#31,#170,#138); +#140=IFCRELNESTS('3RR1GUxtEu4nZ05bPamxQA',$,$,$,#137,(#139,#142,#144,#146,#148,#150,#152,#154,#156,#158,#160,#162,#164)); +#141=IFCALIGNMENTVERTICALSEGMENT($,$,44.99991,199.9996,740.96835,0.013551724137931,-0.0113414634146323,-8034.31058,.PARABOLICARC.); +#142=IFCALIGNMENTSEGMENT('3T0E6YdNJvY90PMmkX_yJZ',$,$,$,$,#31,#177,#141); +#143=IFCALIGNMENTVERTICALSEGMENT($,$,244.99951,29.99994,741.18937,-0.0113414634146314,-0.0113414634146314,$,.CONSTANTGRADIENT.); +#144=IFCALIGNMENTSEGMENT('3Zz80RXzg4$7Jm1gVOtDGm',$,$,$,$,#31,#183,#143); +#145=IFCALIGNMENTVERTICALSEGMENT($,$,274.99945,149.9997,740.84913,-0.0113414634146315,-0.0300000000000009,-8039.19961,.PARABOLICARC.); +#146=IFCALIGNMENTSEGMENT('2WAtkRNByewyxN35H$zlTD',$,$,$,$,#31,#190,#145); +#147=IFCALIGNMENTVERTICALSEGMENT($,$,424.99915,24.99995,737.74852,-0.0300000000000038,-0.0300000000000038,$,.CONSTANTGRADIENT.); +#148=IFCALIGNMENTSEGMENT('1dl6$AYWfBZPIj_dzYLMbm',$,$,$,$,#31,#196,#147); +#149=IFCALIGNMENTVERTICALSEGMENT($,$,449.9991,199.9996,736.99853,-0.0300000000000001,-0.00755999999999818,-8912.63815,.PARABOLICARC.); +#150=IFCALIGNMENTSEGMENT('3dXF9booPncbfUchD8dAzL',$,$,$,$,#31,#203,#149); +#151=IFCALIGNMENTVERTICALSEGMENT($,$,649.9987,49.9999,733.24253,-0.00755999999999888,-0.00755999999999888,$,.CONSTANTGRADIENT.); +#152=IFCALIGNMENTSEGMENT('0wG7Ai0A$UnQqS57NXMVWC',$,$,$,$,#31,#209,#151); +#153=IFCALIGNMENTVERTICALSEGMENT($,$,699.9986,199.9996,732.86453,-0.00755999999999933,0.00629333333333317,-14436.92974,.PARABOLICARC.); +#154=IFCALIGNMENTSEGMENT('1D$3yiBjRfTlRU8Nv1pkTo',$,$,$,$,#31,#216,#153); +#155=IFCALIGNMENTVERTICALSEGMENT($,$,899.9982,174.99965,732.73787,0.00629333333333344,0.00629333333333344,$,.CONSTANTGRADIENT.); +#156=IFCALIGNMENTSEGMENT('0HDZtcvwdzOj$vTYdFVlsQ',$,$,$,$,#31,#222,#155); +#157=IFCALIGNMENTVERTICALSEGMENT($,$,1074.99785,199.9996,733.8392,0.0062933333333343,-0.0484000000000019,-3656.74549,.PARABOLICARC.); +#158=IFCALIGNMENTSEGMENT('2SfeqJnTyNUD2PPAlz0LPD',$,$,$,$,#31,#229,#157); +#159=IFCALIGNMENTVERTICALSEGMENT($,$,1274.99745,44.99991,729.62854,-0.0484000000000004,-0.0484000000000004,$,.CONSTANTGRADIENT.); +#160=IFCALIGNMENTSEGMENT('1cm3PrO0zLuQ6Sbfxyw70h',$,$,$,$,#31,#235,#159); +#161=IFCALIGNMENTVERTICALSEGMENT($,$,1319.99736,59.99988,727.45055,-0.0484000000000006,-0.0132131176010895,-1705.1775,.PARABOLICARC.); +#162=IFCALIGNMENTSEGMENT('0Z5ar1KYd7HUBqJ2c4NuTc',$,$,$,$,#31,#242,#161); +#163=IFCALIGNMENTVERTICALSEGMENT($,$,1379.99724,40.10189,725.60216,-0.0132131176010876,-0.0132131176010876,$,.CONSTANTGRADIENT.); +#164=IFCALIGNMENTSEGMENT('1RbGhtlFTce7A0EiP2DBbv',$,$,$,$,#31,#248,#163); +#165=IFCCARTESIANPOINT((0.0,740.35852)); +#166=IFCDIRECTION((0.99990819,0.01355048)); +#167=IFCAXIS2PLACEMENT2D(#165,#166); +#168=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#167,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(45.0040419096452),#84); +#169=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#168)); +#170=IFCPRODUCTDEFINITIONSHAPE($,$,(#169)); +#171=IFCCARTESIANPOINT((44.99991,740.96835)); +#172=IFCDIRECTION((0.99990819,0.01355048)); +#173=IFCAXIS2PLACEMENT2D(#171,#172); +#174=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.22330933E-05),$); +#175=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#173,IFCPARAMETERVALUE(-108.878760551396),IFCPARAMETERVALUE(199.9996),#174); +#176=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#175)); +#177=IFCPRODUCTDEFINITIONSHAPE($,$,(#176)); +#178=IFCCARTESIANPOINT((244.99951,741.18937)); +#179=IFCDIRECTION((0.99993569,-0.01134073)); +#180=IFCAXIS2PLACEMENT2D(#178,#179); +#181=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#180,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(30.0018693659762),#84); +#182=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#181)); +#183=IFCPRODUCTDEFINITIONSHAPE($,$,(#182)); +#184=IFCCARTESIANPOINT((274.99945,740.84913)); +#185=IFCDIRECTION((0.99993569,-0.01134073)); +#186=IFCAXIS2PLACEMENT2D(#184,#185); +#187=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.21952463E-05),$); +#188=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#186,IFCPARAMETERVALUE(91.1762882352559),IFCPARAMETERVALUE(149.9997),#187); +#189=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#188)); +#190=IFCPRODUCTDEFINITIONSHAPE($,$,(#189)); +#191=IFCCARTESIANPOINT((424.99915,737.74852)); +#192=IFCDIRECTION((0.9995503,-0.02998651)); +#193=IFCAXIS2PLACEMENT2D(#191,#192); +#194=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#193,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(25.0111974474075),#84); +#195=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#194)); +#196=IFCPRODUCTDEFINITIONSHAPE($,$,(#195)); +#197=IFCCARTESIANPOINT((449.9991,736.99853)); +#198=IFCDIRECTION((0.9995503,-0.02998651)); +#199=IFCAXIS2PLACEMENT2D(#197,#198); +#200=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.61001122E-05),$); +#201=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#199,IFCPARAMETERVALUE(-267.379144385005),IFCPARAMETERVALUE(199.9996),#200); +#202=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#201)); +#203=IFCPRODUCTDEFINITIONSHAPE($,$,(#202)); +#204=IFCCARTESIANPOINT((649.9987,733.24253)); +#205=IFCDIRECTION((0.99997142,-0.00755978)); +#206=IFCAXIS2PLACEMENT2D(#204,#205); +#207=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#206,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(50.001328816715),#84); +#208=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#207)); +#209=IFCPRODUCTDEFINITIONSHAPE($,$,(#208)); +#210=IFCCARTESIANPOINT((699.9986,732.86453)); +#211=IFCDIRECTION((0.99997142,-0.00755978)); +#212=IFCAXIS2PLACEMENT2D(#210,#211); +#213=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.46334026E-05),$); +#214=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#212,IFCPARAMETERVALUE(-109.143188835415),IFCPARAMETERVALUE(199.9996),#213); +#215=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#214)); +#216=IFCPRODUCTDEFINITIONSHAPE($,$,(#215)); +#217=IFCCARTESIANPOINT((899.9982,732.73787)); +#218=IFCDIRECTION((0.9999802,0.00629321)); +#219=IFCAXIS2PLACEMENT2D(#217,#218); +#220=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#219,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(175.00311548765),#84); +#221=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#220)); +#222=IFCPRODUCTDEFINITIONSHAPE($,$,(#221)); +#223=IFCCARTESIANPOINT((1074.99785,733.8392)); +#224=IFCDIRECTION((0.9999802,0.00629321)); +#225=IFCAXIS2PLACEMENT2D(#223,#224); +#226=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.36733607E-04),$); +#227=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#225,IFCPARAMETERVALUE(-23.0131182837663),IFCPARAMETERVALUE(199.9996),#226); +#228=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#227)); +#229=IFCPRODUCTDEFINITIONSHAPE($,$,(#228)); +#230=IFCCARTESIANPOINT((1274.99745,729.62854)); +#231=IFCDIRECTION((0.99883077,-0.04834341)); +#232=IFCAXIS2PLACEMENT2D(#230,#231); +#233=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#232,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(45.0525866630037),#84); +#234=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#233)); +#235=IFCPRODUCTDEFINITIONSHAPE($,$,(#234)); +#236=IFCCARTESIANPOINT((1319.99736,727.45055)); +#237=IFCDIRECTION((0.99883077,-0.04834341)); +#238=IFCAXIS2PLACEMENT2D(#236,#237); +#239=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.93224606E-04),$); +#240=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#238,IFCPARAMETERVALUE(-82.5305907774851),IFCPARAMETERVALUE(59.9998799999998),#239); +#241=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#240)); +#242=IFCPRODUCTDEFINITIONSHAPE($,$,(#241)); +#243=IFCCARTESIANPOINT((1379.99724,725.60216)); +#244=IFCDIRECTION((0.99991272,-0.01321196)); +#245=IFCAXIS2PLACEMENT2D(#243,#244); +#246=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#245,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(40.1053890470538),#84); +#247=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#246)); +#248=IFCPRODUCTDEFINITIONSHAPE($,$,(#247)); +#249=IFCGRADIENTCURVE((#168,#175,#181,#188,#194,#201,#207,#214,#220,#227,#233,#240,#246),.U.,#134,$); +#250=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#249)); +#251=IFCPRODUCTDEFINITIONSHAPE($,$,(#250)); +#252=IFCCOLOURRGB('red',1.0,0.0,0.0); +#253=IFCSURFACESTYLESHADING(#252,$); +#254=IFCSURFACESTYLE($,.BOTH.,(#253)); +#255=IFCPRESENTATIONLAYERWITHSTYLE('C-ROAD-PROF',$,(#249,#382,#503,#649,#829,#966,#1121,#1335,#1464,#1618,#1799,#1979,#2082,#2476),$,.U.,.U.,.U.,(#254)); +#256=IFCSTYLEDITEM(#249,(#254),'C-ROAD-PROF'); +#257=IFCREFERENT('0S3av9XNfAWOeKe$5QaaAi',$,'3+28.08',$,$,#261,$,.STATION.); +#258=IFCRELNESTS('0Vz6UqDlXuX5dliC0KzQTI',$,$,$,#32,(#257)); +#259=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#134); +#260=IFCAXIS2PLACEMENTLINEAR(#259,$,$); +#261=IFCLINEARPLACEMENT(#31,#260,$); +#262=IFCPROPERTYSET('07pySuYxrCYRgg9xsxAv3g',$,'Pset_Stationing',$,(#264)); +#263=IFCRELDEFINESBYPROPERTIES('1UqoQD1KHA9R0vQOVYsj3G',$,$,$,(#257),#262); +#264=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(328.083333333333),$); +#265=IFCALIGNMENT('2Gq7FvIxDAwvteBgSOj0uB',$,'GCCC',$,'Centerline',#31,$,$); +#267=IFCPROPERTYSET('1RqMBBxir0vx0mXHfztjHn',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#269,#270,#271)); +#268=IFCRELDEFINESBYPROPERTIES('1OtTtIpiPDfQfIrDYBpj_q',$,$,$,(#265),#267); +#269=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:33:19'),$); +#270=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCCC.xml'),$); +#271=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:38:47'),$); +#272=IFCPROPERTYSET('3RONoTYdX9aAzVmadi6OX4',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#274,#275,#276)); +#273=IFCRELDEFINESBYPROPERTIES('2kyUZ8Fkr8QwNYn8KxHP7T',$,$,$,(#265),#272); +#274=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('1700.387506'),$); +#275=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCCC'),$); +#276=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('402632.823342'),$); +#277=IFCALIGNMENTHORIZONTAL('2l9c3JUSi3TYyheJPrYPhk',$,'GCCC',$,$,#31,#320); +#278=IFCRELNESTS('2vdWtSjP_gLR2QtziXZoeT',$,$,$,#265,(#277,#321)); +#279=IFCPROPERTYSET('37n7yuGxz54fAgSn9MAMok',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#269,#270,#271)); +#280=IFCRELDEFINESBYPROPERTIES('1ZoazVjyjDCuj$3ltxsEA6',$,$,$,(#277),#279); +#281=IFCPROPERTYSET('2Bjyy4cebBIfhDty7poMcn',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#274,#275,#276)); +#282=IFCRELDEFINESBYPROPERTIES('38LA_bfWr0OB_UE0TG6eC3',$,$,$,(#277),#281); +#283=IFCCARTESIANPOINT((-5048.7746,9881.69516)); +#284=IFCALIGNMENTHORIZONTALSEGMENT($,$,#283,1.45660902719874,0.0,0.0,637.06047,$,.LINE.); +#285=IFCALIGNMENTSEGMENT('3u144VcH0cicnw_soNDT6I',$,$,$,$,#31,#300,#284); +#286=IFCRELNESTS('0Lroo9lO7WxCE9G2z4ObS5',$,$,$,#277,(#285,#289,#292,#295)); +#287=IFCCARTESIANPOINT((-4976.18837,10514.6069)); +#288=IFCALIGNMENTHORIZONTALSEGMENT($,$,#287,1.45660902719874,7999.984,7999.984,473.65846,$,.CIRCULARARC.); +#289=IFCALIGNMENTSEGMENT('1WZzTX8dXpqc23lMKJAX5R',$,$,$,$,#31,#306,#288); +#290=IFCCARTESIANPOINT((-4936.17824,10986.50307)); +#291=IFCALIGNMENTHORIZONTALSEGMENT($,$,#290,1.51581645250978,0.0,0.0,434.54767,$,.LINE.); +#292=IFCALIGNMENTSEGMENT('1WTttQjeaLt29Qt8HC6Dc5',$,$,$,$,#31,#311,#291); +#293=IFCCARTESIANPOINT((-4912.2989,11420.39413)); +#294=IFCALIGNMENTHORIZONTALSEGMENT($,$,#293,1.51581645250978,675.90111,675.90111,155.12091,$,.CIRCULARARC.); +#295=IFCALIGNMENTSEGMENT('3qOMBfCMFG4lK012JLJ8jD',$,$,$,$,#31,#317,#294); +#296=IFCAXIS2PLACEMENT2D(#283,#297); +#297=IFCDIRECTION((0.11393932,0.99348771)); +#298=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#296,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(637.060466734512),#84); +#299=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#298)); +#300=IFCPRODUCTDEFINITIONSHAPE($,$,(#299)); +#301=IFCAXIS2PLACEMENT2D(#287,#302); +#302=IFCDIRECTION((0.11393932,0.99348771)); +#303=IFCCIRCLE(#96,7999.984); +#304=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#301,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(473.658455169594),#303); +#305=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#304)); +#306=IFCPRODUCTDEFINITIONSHAPE($,$,(#305)); +#307=IFCAXIS2PLACEMENT2D(#290,#308); +#308=IFCDIRECTION((0.05495218,0.99848899)); +#309=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#307,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(434.547670070254),#84); +#310=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#309)); +#311=IFCPRODUCTDEFINITIONSHAPE($,$,(#310)); +#312=IFCAXIS2PLACEMENT2D(#293,#313); +#313=IFCDIRECTION((0.05495218,0.99848899)); +#314=IFCCIRCLE(#96,675.90111); +#315=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#312,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(155.120914197409),#314); +#316=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#315)); +#317=IFCPRODUCTDEFINITIONSHAPE($,$,(#316)); +#318=IFCCOMPOSITECURVE((#298,#304,#309,#315),.U.); +#319=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#318)); +#320=IFCPRODUCTDEFINITIONSHAPE($,$,(#319)); +#321=IFCALIGNMENTVERTICAL('0cJWeQIosLWJgdZ51pIa94',$,'GCCC',$,'FG',#31,#384); +#322=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,77.26985,745.52541,-0.0214547780132206,-0.0214547780132206,$,.CONSTANTGRADIENT.); +#323=IFCALIGNMENTSEGMENT('33tQs4vueHzKm$4N6Rs32z',$,$,$,$,#31,#342,#322); +#324=IFCRELNESTS('1nDjWXjXPPhE$lWM_3dn9O',$,$,$,#321,(#323,#326,#328,#330,#332,#334,#336)); +#325=IFCALIGNMENTVERTICALSEGMENT($,$,77.26985,299.9994,743.86761,-0.021454778013238,0.00542448014474626,-11160.99999,.PARABOLICARC.); +#326=IFCALIGNMENTSEGMENT('2moOmBUzswe$goh46Ijs5D',$,$,$,$,#31,#349,#325); +#327=IFCALIGNMENTVERTICALSEGMENT($,$,377.26925,209.99958,741.46307,0.0054244801447452,0.0054244801447452,$,.CONSTANTGRADIENT.); +#328=IFCALIGNMENTSEGMENT('3j9cYM24phuwU9OdSgGb7i',$,$,$,$,#31,#355,#327); +#329=IFCALIGNMENTVERTICALSEGMENT($,$,587.26883,399.9992,742.60221,0.00542448014474683,0.0404913052665738,-11406.76975,.PARABOLICARC.); +#330=IFCALIGNMENTSEGMENT('3pK7VP_3W4QsL2Bp04Z1tR',$,$,$,$,#31,#362,#329); +#331=IFCALIGNMENTVERTICALSEGMENT($,$,987.26803,214.99957,751.78534,0.0404913052665639,0.0404913052665639,$,.CONSTANTGRADIENT.); +#332=IFCALIGNMENTSEGMENT('0lvG2gqe7KpGTzcRiuEkG5',$,$,$,$,#31,#368,#331); +#333=IFCALIGNMENTVERTICALSEGMENT($,$,1202.2676,339.99932,760.49096,0.0404913052665734,0.0175450531237248,-14817.20491,.PARABOLICARC.); +#334=IFCALIGNMENTSEGMENT('3v$bs7TM7e4DQNcRP4UqvM',$,$,$,$,#31,#375,#333); +#335=IFCALIGNMENTVERTICALSEGMENT($,$,1542.26692,158.12059,770.35712,0.0175450531237257,0.0175450531237257,$,.CONSTANTGRADIENT.); +#336=IFCALIGNMENTSEGMENT('3xKatt7CtybYR3qMS8lKFU',$,$,$,$,#31,#381,#335); +#337=IFCCARTESIANPOINT((0.0,745.52541)); +#338=IFCDIRECTION((0.99976993,-0.02144984)); +#339=IFCAXIS2PLACEMENT2D(#337,#338); +#340=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#339,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(77.2876273470025),#84); +#341=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#340)); +#342=IFCPRODUCTDEFINITIONSHAPE($,$,(#341)); +#343=IFCCARTESIANPOINT((77.26985,743.86761)); +#344=IFCDIRECTION((0.99976993,-0.02144984)); +#345=IFCAXIS2PLACEMENT2D(#343,#344); +#346=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.47988532E-05),$); +#347=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#345,IFCPARAMETERVALUE(-239.456777165262),IFCPARAMETERVALUE(299.999399999972),#346); +#348=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#347)); +#349=IFCPRODUCTDEFINITIONSHAPE($,$,(#348)); +#350=IFCCARTESIANPOINT((377.26925,741.46307)); +#351=IFCDIRECTION((0.99998529,0.0054244)); +#352=IFCAXIS2PLACEMENT2D(#350,#351); +#353=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#352,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(210.002669607718),#84); +#354=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#353)); +#355=IFCPRODUCTDEFINITIONSHAPE($,$,(#354)); +#356=IFCCARTESIANPOINT((587.26883,742.60221)); +#357=IFCDIRECTION((0.99998529,0.0054244)); +#358=IFCAXIS2PLACEMENT2D(#356,#357); +#359=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.38336191E-05),$); +#360=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#358,IFCPARAMETERVALUE(61.8757960202062),IFCPARAMETERVALUE(399.999199999962),#359); +#361=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#360)); +#362=IFCPRODUCTDEFINITIONSHAPE($,$,(#361)); +#363=IFCCARTESIANPOINT((987.26803,751.78534)); +#364=IFCDIRECTION((0.99918123,0.04045815)); +#365=IFCAXIS2PLACEMENT2D(#363,#364); +#366=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#365,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(215.175748636741),#84); +#367=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#366)); +#368=IFCPRODUCTDEFINITIONSHAPE($,$,(#367)); +#369=IFCCARTESIANPOINT((1202.2676,760.49096)); +#370=IFCDIRECTION((0.99918123,0.04045815)); +#371=IFCAXIS2PLACEMENT2D(#369,#370); +#372=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.37445559E-05),$); +#373=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#371,IFCPARAMETERVALUE(-599.967967354548),IFCPARAMETERVALUE(339.999320000061),#372); +#374=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#373)); +#375=IFCPRODUCTDEFINITIONSHAPE($,$,(#374)); +#376=IFCCARTESIANPOINT((1542.26692,770.35712)); +#377=IFCDIRECTION((0.99984612,0.01754235)); +#378=IFCAXIS2PLACEMENT2D(#376,#377); +#379=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#378,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(158.144925881282),#84); +#380=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#379)); +#381=IFCPRODUCTDEFINITIONSHAPE($,$,(#380)); +#382=IFCGRADIENTCURVE((#340,#347,#353,#360,#366,#373,#379),.U.,#318,$); +#383=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#382)); +#384=IFCPRODUCTDEFINITIONSHAPE($,$,(#383)); +#385=IFCSTYLEDITEM(#382,(#254),'C-ROAD-PROF'); +#386=IFCREFERENT('1JIB3_3sH2ARdirBS89Tbi',$,'4026+32.82',$,$,#390,$,.STATION.); +#387=IFCRELNESTS('0xPidG4CDRI9Zcm_lrHDJu',$,$,$,#265,(#386)); +#388=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#318); +#389=IFCAXIS2PLACEMENTLINEAR(#388,$,$); +#390=IFCLINEARPLACEMENT(#31,#389,$); +#391=IFCPROPERTYSET('2geCaUUEvAoeWg10qZ3jY6',$,'Pset_Stationing',$,(#393)); +#392=IFCRELDEFINESBYPROPERTIES('35m_S7Hs91Tx6vq5mbn4LX',$,$,$,(#386),#391); +#393=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(402632.823341667),$); +#394=IFCALIGNMENT('24R49$H8LFTRkKXKNIwc1Y',$,'GCDC',$,'Centerline',#31,$,$); +#396=IFCPROPERTYSET('2zNC4cJ5PFhRQ8TV5SvOzM',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#398,#399,#400)); +#397=IFCRELDEFINESBYPROPERTIES('3A0aPfvmf6T8i1U9gWGNuc',$,$,$,(#394),#396); +#398=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:33:50'),$); +#399=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCDC.xml'),$); +#400=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:39:00'),$); +#401=IFCPROPERTYSET('2aGkrJnrjEA9dHxqa7GaGQ',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#403,#404,#405)); +#402=IFCRELDEFINESBYPROPERTIES('1xyK0d2znFb9pKTkPctAMA',$,$,$,(#394),#401); +#403=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2961.414418'),$); +#404=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCDC'),$); +#405=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('587105.125000'),$); +#406=IFCALIGNMENTHORIZONTAL('0IAPc9R4UjqzvMqiR$uvjr',$,'GCDC',$,$,#31,#458); +#407=IFCRELNESTS('0PqgJJfJZ7IfJY8lflYBlo',$,$,$,#394,(#406,#459)); +#408=IFCPROPERTYSET('2Togxn6ur5DO8IykBKvkN0',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#398,#399,#400)); +#409=IFCRELDEFINESBYPROPERTIES('3yUnd_xo17zQEweflqYf6m',$,$,$,(#406),#408); +#410=IFCPROPERTYSET('2id4lql4X3OPfO2AZmHlB1',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#403,#404,#405)); +#411=IFCRELDEFINESBYPROPERTIES('0O$_mMMrHEnQmoMDekp$hU',$,$,$,(#406),#410); +#412=IFCCARTESIANPOINT((-4675.7838,6981.51802)); +#413=IFCALIGNMENTHORIZONTALSEGMENT($,$,#412,-4.35682309098959,0.0,0.0,252.07578,$,.LINE.); +#414=IFCALIGNMENTSEGMENT('2dxcmebQgfxzd8t7gMxmF2',$,$,$,$,#31,#432,#413); +#415=IFCRELNESTS('0k3KbNZYrK$_$ktekMt2Da',$,$,$,#406,(#414,#418,#421,#424,#427)); +#416=IFCCARTESIANPOINT((-4763.53665,7217.82637)); +#417=IFCALIGNMENTHORIZONTALSEGMENT($,$,#416,-4.35682309098959,-7074.70585,-7074.70585,393.10928,$,.CIRCULARARC.); +#418=IFCALIGNMENTSEGMENT('0Bjw_UfcUrbl1y63mHOYrc',$,$,$,$,#31,#438,#417); +#419=IFCCARTESIANPOINT((-4890.07994,7589.95799)); +#420=IFCALIGNMENTHORIZONTALSEGMENT($,$,#419,-4.41238855041896,-5399.9892,-5399.9892,482.78468,$,.CIRCULARARC.); +#421=IFCALIGNMENTSEGMENT('0ZsI7BSbJmU7k8bArsvkst',$,$,$,$,#31,#444,#420); +#422=IFCCARTESIANPOINT((-5011.9588,8056.93913)); +#423=IFCALIGNMENTHORIZONTALSEGMENT($,$,#422,-4.50179330013286,-4599.9908,-4599.9908,1493.99871,$,.CIRCULARARC.); +#424=IFCALIGNMENTSEGMENT('0BcrVLeHP$YrjqTw6mTki$',$,$,$,$,#31,#450,#423); +#425=IFCCARTESIANPOINT((-5083.63192,9542.65232)); +#426=IFCALIGNMENTHORIZONTALSEGMENT($,$,#425,1.45660902838361,0.0,0.0,339.44596,$,.LINE.); +#427=IFCALIGNMENTSEGMENT('3wHPcBSjCfc57Lhq2AHh5d',$,$,$,$,#31,#455,#426); +#428=IFCAXIS2PLACEMENT2D(#412,#429); +#429=IFCDIRECTION((-0.34812091,0.93744964)); +#430=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#428,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(252.075779806402),#84); +#431=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#430)); +#432=IFCPRODUCTDEFINITIONSHAPE($,$,(#431)); +#433=IFCAXIS2PLACEMENT2D(#416,#434); +#434=IFCDIRECTION((-0.34812091,0.93744964)); +#435=IFCCIRCLE(#96,7074.70585); +#436=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#433,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0555654594293693),#435); +#437=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#436)); +#438=IFCPRODUCTDEFINITIONSHAPE($,$,(#437)); +#439=IFCAXIS2PLACEMENT2D(#419,#440); +#440=IFCDIRECTION((-0.29552062,0.95533636)); +#441=IFCCIRCLE(#96,5399.9892); +#442=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#439,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0894047497139008),#441); +#443=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#442)); +#444=IFCPRODUCTDEFINITIONSHAPE($,$,(#443)); +#445=IFCAXIS2PLACEMENT2D(#422,#446); +#446=IFCDIRECTION((-0.20904246,0.97790657)); +#447=IFCCIRCLE(#96,4599.9908); +#448=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#445,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.324782978663104),#447); +#449=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#448)); +#450=IFCPRODUCTDEFINITIONSHAPE($,$,(#449)); +#451=IFCAXIS2PLACEMENT2D(#425,#452); +#452=IFCDIRECTION((0.11393932,0.99348771)); +#453=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#451,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(339.445960714132),#84); +#454=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#453)); +#455=IFCPRODUCTDEFINITIONSHAPE($,$,(#454)); +#456=IFCCOMPOSITECURVE((#430,#436,#442,#448,#453),.U.); +#457=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#456)); +#458=IFCPRODUCTDEFINITIONSHAPE($,$,(#457)); +#459=IFCALIGNMENTVERTICAL('3rRc9h9_0lv1g2B8l62Ibv',$,'GCDC',$,'FG',#31,#505); +#460=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,1167.99766,740.39852,0.00114383561643815,0.00114383561643815,$,.CONSTANTGRADIENT.); +#461=IFCALIGNMENTSEGMENT('3zvtksS6hVSJHZCGmb6H8t',$,$,$,$,#31,#476,#460); +#462=IFCRELNESTS('3JszKJpFSW5sFzKTikNOSR',$,$,$,#459,(#461,#464,#466,#468,#470)); +#463=IFCALIGNMENTVERTICALSEGMENT($,$,1167.99766,31.99994,741.73452,-0.00320124481412169,-0.00320124481412169,$,.CONSTANTGRADIENT.); +#464=IFCALIGNMENTSEGMENT('1HrkpF5ClvhL97Qc3fGCQA',$,$,$,$,#31,#482,#463); +#465=IFCALIGNMENTVERTICALSEGMENT($,$,1199.9976,899.9982,741.63208,-0.00320124481411952,0.0249587500008703,-31960.16924,.PARABOLICARC.); +#466=IFCALIGNMENTSEGMENT('1eKdaa4GKqSf8ST1Wdt6Gf',$,$,$,$,#31,#489,#465); +#467=IFCALIGNMENTVERTICALSEGMENT($,$,2099.99585,699.9985,751.42294,0.0249587500008723,-0.0309937792633728,-12510.57833,.PARABOLICARC.); +#468=IFCALIGNMENTSEGMENT('0$wtaxcOX80k00RVjvp4gU',$,$,$,$,#31,#496,#467); +#469=IFCALIGNMENTVERTICALSEGMENT($,$,2799.99435,161.42007,749.31068,-0.0309937792633767,-0.0309937792633767,$,.CONSTANTGRADIENT.); +#470=IFCALIGNMENTSEGMENT('193HIRrzjK1SrQed0uMe_v',$,$,$,$,#31,#502,#469); +#471=IFCCARTESIANPOINT((0.0,740.39852)); +#472=IFCDIRECTION((0.99999935,0.00114383)); +#473=IFCAXIS2PLACEMENT2D(#471,#472); +#474=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#473,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1167.99842807741),#84); +#475=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#474)); +#476=IFCPRODUCTDEFINITIONSHAPE($,$,(#475)); +#477=IFCCARTESIANPOINT((1167.99766,741.73452)); +#478=IFCDIRECTION((0.99999488,-0.00320123)); +#479=IFCAXIS2PLACEMENT2D(#477,#478); +#480=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#479,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(32.0000999655599),#84); +#481=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#480)); +#482=IFCPRODUCTDEFINITIONSHAPE($,$,(#481)); +#483=IFCCARTESIANPOINT((1199.9976,741.63208)); +#484=IFCDIRECTION((0.99999488,-0.00320123)); +#485=IFCAXIS2PLACEMENT2D(#483,#484); +#486=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.56444729E-05),$); +#487=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#485,IFCPARAMETERVALUE(-102.312326028292),IFCPARAMETERVALUE(899.998199999798),#486); +#488=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#487)); +#489=IFCPRODUCTDEFINITIONSHAPE($,$,(#488)); +#490=IFCCARTESIANPOINT((2099.99585,751.42294)); +#491=IFCDIRECTION((0.99968868,0.02495098)); +#492=IFCAXIS2PLACEMENT2D(#490,#491); +#493=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.9966178E-05),$); +#494=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#492,IFCPARAMETERVALUE(-312.248396850394),IFCPARAMETERVALUE(699.998499999987),#493); +#495=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#494)); +#496=IFCPRODUCTDEFINITIONSHAPE($,$,(#495)); +#497=IFCCARTESIANPOINT((2799.99435,749.31068)); +#498=IFCDIRECTION((0.99952004,-0.0309789)); +#499=IFCAXIS2PLACEMENT2D(#497,#498); +#500=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#499,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(161.497580726807),#84); +#501=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#500)); +#502=IFCPRODUCTDEFINITIONSHAPE($,$,(#501)); +#503=IFCGRADIENTCURVE((#474,#480,#487,#494,#500),.U.,#456,$); +#504=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#503)); +#505=IFCPRODUCTDEFINITIONSHAPE($,$,(#504)); +#506=IFCSTYLEDITEM(#503,(#254),'C-ROAD-PROF'); +#507=IFCREFERENT('3267KWbuHD8RrQVSihT4kq',$,'5871+05.12',$,$,#511,$,.STATION.); +#508=IFCRELNESTS('1oYOQN4urhIBXRToXBAU8t',$,$,$,#394,(#507)); +#509=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#456); +#510=IFCAXIS2PLACEMENTLINEAR(#509,$,$); +#511=IFCLINEARPLACEMENT(#31,#510,$); +#512=IFCPROPERTYSET('2PyPfjqtj9nPqNXurmVPpn',$,'Pset_Stationing',$,(#514)); +#513=IFCRELDEFINESBYPROPERTIES('0Xzg9Qx_zENOMQd7QEPYh7',$,$,$,(#507),#512); +#514=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(587105.125),$); +#515=IFCALIGNMENT('1awTCOdTzBLxGelCFgokN4',$,'GCEC',$,'Centerline',#31,$,$); +#517=IFCPROPERTYSET('3NQDbMcRL1xPS8cDZ9X1u5',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#519,#520,#521)); +#518=IFCRELDEFINESBYPROPERTIES('1wF_gZYmD2EBK3Z1HvBpTo',$,$,$,(#515),#517); +#519=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:34:08'),$); +#520=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCEC.xml'),$); +#521=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:39:25'),$); +#522=IFCPROPERTYSET('3Rz14Df7jCQ8ilQ75VDX2I',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#524,#525,#526)); +#523=IFCRELDEFINESBYPROPERTIES('30lAyVF6bAwgmZvGPvS_ux',$,$,$,(#515),#522); +#524=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2193.245855'),$); +#525=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCEC'),$); +#526=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('583354.311498'),$); +#527=IFCALIGNMENTHORIZONTAL('2xC4mN$SNBrD1BOLbAE9DQ',$,'GCEC',$,$,#31,#570); +#528=IFCRELNESTS('0pI$76gZgYMkcivtI_STh0',$,$,$,#515,(#527,#571)); +#529=IFCPROPERTYSET('1caE2cvk9F6hnBOAddUyCm',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#519,#520,#521)); +#530=IFCRELDEFINESBYPROPERTIES('0RZjQbxHn5vRGS$rPKKXHa',$,$,$,(#527),#529); +#531=IFCPROPERTYSET('1fs4tv2mnAshRcb83P6Uu8',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#524,#525,#526)); +#532=IFCRELDEFINESBYPROPERTIES('0QVLb8QXb5Ch63wnYZwoVy',$,$,$,(#527),#531); +#533=IFCCARTESIANPOINT((-5473.51882,10093.72852)); +#534=IFCALIGNMENTHORIZONTALSEGMENT($,$,#533,-1.59771716379145,0.0,0.0,244.89381,$,.LINE.); +#535=IFCALIGNMENTSEGMENT('3ezfnaNJDfuQO5AcctxUW0',$,$,$,$,#31,#550,#534); +#536=IFCRELNESTS('1dPys0LUNlzFEmGTJWDfBL',$,$,$,#527,(#535,#539,#542,#545)); +#537=IFCCARTESIANPOINT((-5480.11077,9848.92344)); +#538=IFCALIGNMENTHORIZONTALSEGMENT($,$,#537,-1.59771716379145,1299.9974,1299.9974,244.80064,$,.CIRCULARARC.); +#539=IFCALIGNMENTSEGMENT('2gp_$25WOF4li8vYn3AHcG',$,$,$,$,#31,#556,#538); +#540=IFCCARTESIANPOINT((-5463.68867,9605.0366)); +#541=IFCALIGNMENTHORIZONTALSEGMENT($,$,#540,-1.4094086050855,0.0,0.0,1103.55832,$,.LINE.); +#542=IFCALIGNMENTSEGMENT('0lcqlLROZcpzpo__HYoX_h',$,$,$,$,#31,#561,#541); +#543=IFCCARTESIANPOINT((-5286.36004,8515.81875)); +#544=IFCALIGNMENTHORIZONTALSEGMENT($,$,#543,-1.4094086050855,7249.2055,7249.2055,599.99308,$,.CIRCULARARC.); +#545=IFCALIGNMENTSEGMENT('0uGT3JmaNPRvRs93EBbU5u',$,$,$,$,#31,#567,#544); +#546=IFCAXIS2PLACEMENT2D(#533,#547); +#547=IFCDIRECTION((-0.02691759,-0.99963766)); +#548=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#546,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(244.893813791498),#84); +#549=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#548)); +#550=IFCPRODUCTDEFINITIONSHAPE($,$,(#549)); +#551=IFCAXIS2PLACEMENT2D(#537,#552); +#552=IFCDIRECTION((-0.02691759,-0.99963766)); +#553=IFCCIRCLE(#96,1299.9974); +#554=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#551,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(244.800636715683),#553); +#555=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#554)); +#556=IFCPRODUCTDEFINITIONSHAPE($,$,(#555)); +#557=IFCAXIS2PLACEMENT2D(#540,#558); +#558=IFCDIRECTION((0.16068805,-0.98700524)); +#559=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#557,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1103.5583232414),#84); +#560=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#559)); +#561=IFCPRODUCTDEFINITIONSHAPE($,$,(#560)); +#562=IFCAXIS2PLACEMENT2D(#543,#563); +#563=IFCDIRECTION((0.16068805,-0.98700524)); +#564=IFCCIRCLE(#96,7249.2055); +#565=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#562,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(599.99308125826),#564); +#566=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#565)); +#567=IFCPRODUCTDEFINITIONSHAPE($,$,(#566)); +#568=IFCCOMPOSITECURVE((#548,#554,#559,#565),.U.); +#569=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#568)); +#570=IFCPRODUCTDEFINITIONSHAPE($,$,(#569)); +#571=IFCALIGNMENTVERTICAL('1_UzwKtyr3KC0nGvvYYTKv',$,'GCEC',$,'FG',#31,#651); +#572=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,73.2501,742.98826,-0.0166599657799476,-0.0166599657799476,$,.CONSTANTGRADIENT.); +#573=IFCALIGNMENTSEGMENT('3iW7Svg_2S_pPEawBb8gPJ',$,$,$,$,#31,#596,#572); +#574=IFCRELNESTS('2cMX9kTf9W287Tm6uJ4k17',$,$,$,#571,(#573,#576,#578,#580,#582,#584,#586,#588,#590)); +#575=IFCALIGNMENTVERTICALSEGMENT($,$,73.2501,299.9994,741.76791,-0.0166599657799635,0.0434035573109012,-4994.70202,.PARABOLICARC.); +#576=IFCALIGNMENTSEGMENT('21NXsKzyL6XxictcyhyRsA',$,$,$,$,#31,#603,#575); +#577=IFCALIGNMENTVERTICALSEGMENT($,$,373.2495,119.99976,745.77944,0.0434035573109209,0.0434035573109209,$,.CONSTANTGRADIENT.); +#578=IFCALIGNMENTSEGMENT('016z3v1WbKqTKtjJ67bQoK',$,$,$,$,#31,#609,#577); +#579=IFCALIGNMENTVERTICALSEGMENT($,$,493.24926,599.9988,750.98786,0.0434035573108972,-0.026028268772893,-8641.55293,.PARABOLICARC.); +#580=IFCALIGNMENTSEGMENT('0LyALPTNOFFycki$LPclk4',$,$,$,$,#31,#616,#579); +#581=IFCALIGNMENTVERTICALSEGMENT($,$,1093.24806,84.99983,756.20043,-0.0260282687728737,-0.0260282687728737,$,.CONSTANTGRADIENT.); +#582=IFCALIGNMENTSEGMENT('25ci496Z9$WNIYfx6_CRkW',$,$,$,$,#31,#622,#581); +#583=IFCALIGNMENTVERTICALSEGMENT($,$,1178.24789,179.99964,753.98804,-0.026028268772901,-0.0166709677418568,-19236.27758,.PARABOLICARC.); +#584=IFCALIGNMENTSEGMENT('3RA4k1P2FEy3FRmhlm6mOW',$,$,$,$,#31,#629,#583); +#585=IFCALIGNMENTVERTICALSEGMENT($,$,1358.24753,54.99994,750.14511,-0.0166709677418675,-0.0166709677418675,$,.CONSTANTGRADIENT.); +#586=IFCALIGNMENTSEGMENT('1SD6oWPd4cppqIGAyG8uY6',$,$,$,$,#31,#635,#585); +#587=IFCALIGNMENTVERTICALSEGMENT($,$,1413.24747,639.99862,749.22821,-0.0166709677418455,0.00270723005741725,-33026.73585,.PARABOLICARC.); +#588=IFCALIGNMENTSEGMENT('3zKuh3_kQiDIDU1_qrxSrV',$,$,$,$,#31,#642,#587); +#589=IFCALIGNMENTVERTICALSEGMENT($,$,2053.24609,139.99977,744.75982,0.00270723005741389,0.00270723005741389,$,.CONSTANTGRADIENT.); +#590=IFCALIGNMENTSEGMENT('2uAjVPsytmJBJqrOKCjr7m',$,$,$,$,#31,#648,#589); +#591=IFCCARTESIANPOINT((0.0,742.98826)); +#592=IFCDIRECTION((0.99986125,-0.01665765)); +#593=IFCAXIS2PLACEMENT2D(#591,#592); +#594=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#593,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(73.2602602511644),#84); +#595=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#594)); +#596=IFCPRODUCTDEFINITIONSHAPE($,$,(#595)); +#597=IFCCARTESIANPOINT((73.2501,741.76791)); +#598=IFCDIRECTION((0.99986125,-0.01665765)); +#599=IFCAXIS2PLACEMENT2D(#597,#598); +#600=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.00106072E-04),$); +#601=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#599,IFCPARAMETERVALUE(-83.2115647037563),IFCPARAMETERVALUE(299.999400000088),#600); +#602=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#601)); +#603=IFCPRODUCTDEFINITIONSHAPE($,$,(#602)); +#604=IFCCARTESIANPOINT((373.2495,745.77944)); +#605=IFCDIRECTION((0.99905939,0.04336273)); +#606=IFCAXIS2PLACEMENT2D(#604,#605); +#607=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#606,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(120.112738702756),#84); +#608=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#607)); +#609=IFCPRODUCTDEFINITIONSHAPE($,$,(#608)); +#610=IFCCARTESIANPOINT((493.24926,750.98786)); +#611=IFCDIRECTION((0.99905939,0.04336273)); +#612=IFCAXIS2PLACEMENT2D(#610,#611); +#613=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-5.78599708E-05),$); +#614=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#612,IFCPARAMETERVALUE(-375.074137771338),IFCPARAMETERVALUE(599.998799999943),#613); +#615=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#614)); +#616=IFCPRODUCTDEFINITIONSHAPE($,$,(#615)); +#617=IFCCARTESIANPOINT((1093.24806,756.20043)); +#618=IFCDIRECTION((0.99966144,-0.02601946)); +#619=IFCAXIS2PLACEMENT2D(#617,#618); +#620=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#619,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(85.0286175650112),#84); +#621=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#620)); +#622=IFCPRODUCTDEFINITIONSHAPE($,$,(#621)); +#623=IFCCARTESIANPOINT((1178.24789,753.98804)); +#624=IFCDIRECTION((0.99966144,-0.02601946)); +#625=IFCAXIS2PLACEMENT2D(#623,#624); +#626=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.59925548E-05),$); +#627=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#625,IFCPARAMETERVALUE(-500.687002951317),IFCPARAMETERVALUE(179.999640000053),#626); +#628=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#627)); +#629=IFCPRODUCTDEFINITIONSHAPE($,$,(#628)); +#630=IFCCARTESIANPOINT((1358.24753,750.14511)); +#631=IFCDIRECTION((0.99986107,-0.01666865)); +#632=IFCAXIS2PLACEMENT2D(#630,#631); +#633=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#632,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(55.0075823082546),#84); +#634=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#633)); +#635=IFCPRODUCTDEFINITIONSHAPE($,$,(#634)); +#636=IFCCARTESIANPOINT((1413.24747,749.22821)); +#637=IFCDIRECTION((0.99986107,-0.01666865)); +#638=IFCAXIS2PLACEMENT2D(#636,#637); +#639=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.51392497E-05),$); +#640=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#638,IFCPARAMETERVALUE(-550.587648003626),IFCPARAMETERVALUE(639.998619999969),#639); +#641=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#640)); +#642=IFCPRODUCTDEFINITIONSHAPE($,$,(#641)); +#643=IFCCARTESIANPOINT((2053.24609,744.75982)); +#644=IFCDIRECTION((0.99999634,0.00270722)); +#645=IFCAXIS2PLACEMENT2D(#643,#644); +#646=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#645,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(140.000282539717),#84); +#647=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#646)); +#648=IFCPRODUCTDEFINITIONSHAPE($,$,(#647)); +#649=IFCGRADIENTCURVE((#594,#601,#607,#614,#620,#627,#633,#640,#646),.U.,#568,$); +#650=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#649)); +#651=IFCPRODUCTDEFINITIONSHAPE($,$,(#650)); +#652=IFCSTYLEDITEM(#649,(#254),'C-ROAD-PROF'); +#653=IFCREFERENT('2QL3xnRqr5D8Ru9PdXc42e',$,'5833+54.31',$,$,#657,$,.STATION.); +#654=IFCRELNESTS('1vM9PFScnYo2okOkGlcy9k',$,$,$,#515,(#653)); +#655=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#568); +#656=IFCAXIS2PLACEMENTLINEAR(#655,$,$); +#657=IFCLINEARPLACEMENT(#31,#656,$); +#658=IFCPROPERTYSET('3p2Zh5d495qAiMpkWLuSNw',$,'Pset_Stationing',$,(#660)); +#659=IFCRELDEFINESBYPROPERTIES('2meNBwEs5EiP8Pp_lFdUQX',$,$,$,(#653),#658); +#660=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(583354.311497705),$); +#661=IFCALIGNMENT('0XXb6_vhzFo9R5372_C68a',$,'GCFC',$,'Centerline',#31,$,$); +#663=IFCPROPERTYSET('2TDhBexrv6jORmvBE$hT19',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#665,#666,#667)); +#664=IFCRELDEFINESBYPROPERTIES('1_8HFQ8Fn0Twyk4HIJNuIs',$,$,$,(#661),#663); +#665=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:34:39'),$); +#666=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCFC.xml'),$); +#667=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:39:52'),$); +#668=IFCPROPERTYSET('34eQ7Rygv1zPKb9C9$A0hU',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#670,#671,#672)); +#669=IFCRELDEFINESBYPROPERTIES('0any1ipBPFsP6l9gl3ntGq',$,$,$,(#661),#668); +#670=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('3908.620085'),$); +#671=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCFC'),$); +#672=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('609908.229000'),$); +#673=IFCALIGNMENTHORIZONTAL('373_kGQBbznHVWMNzSwhF6',$,'GCFC',$,$,#31,#741); +#674=IFCRELNESTS('3QzNFf$BjiUCAfEFgPcxq3',$,$,$,#661,(#673,#742)); +#675=IFCPROPERTYSET('14fNr$7b13cAZ26l8rs8wG',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#665,#666,#667)); +#676=IFCRELDEFINESBYPROPERTIES('03uCNPVEH2fg2wQ3vAyZH2',$,$,$,(#673),#675); +#677=IFCPROPERTYSET('2Lp9R7jBfEn8jF9NviV51D',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#670,#671,#672)); +#678=IFCRELDEFINESBYPROPERTIES('2$B$2b4fH0Rval9doQk6ON',$,$,$,(#673),#677); +#679=IFCCARTESIANPOINT((-5400.92315,13831.73422)); +#680=IFCALIGNMENTHORIZONTALSEGMENT($,$,#679,-1.60303148659375,0.0,0.0,801.0384,$,.LINE.); +#681=IFCALIGNMENTSEGMENT('32JNguCQspD48tKEITmWS1',$,$,$,$,#31,#705,#680); +#682=IFCRELNESTS('30f0Fw4GTXNxNWBH986sFk',$,$,$,#673,(#681,#685,#688,#691,#694,#697,#700)); +#683=IFCCARTESIANPOINT((-5426.74028,13031.11196)); +#684=IFCALIGNMENTHORIZONTALSEGMENT($,$,#683,-1.60303148659375,-999.998,-999.998,449.9991,$,.CIRCULARARC.); +#685=IFCALIGNMENTSEGMENT('2n5iEGeQiHR2ZNeN3w$o1B',$,$,$,$,#31,#711,#684); +#686=IFCCARTESIANPOINT((-5540.25999,12599.58181)); +#687=IFCALIGNMENTHORIZONTALSEGMENT($,$,#686,-2.05303148659331,0.0,0.0,472.35678,$,.LINE.); +#688=IFCALIGNMENTSEGMENT('1up0QupGthp2xfTq1YqJVR',$,$,$,$,#31,#716,#687); +#689=IFCCARTESIANPOINT((-5759.32045,12181.09233)); +#690=IFCALIGNMENTHORIZONTALSEGMENT($,$,#689,-2.05303148659332,799.9984,799.9984,783.76534,$,.CIRCULARARC.); +#691=IFCALIGNMENTSEGMENT('3x2dEQwLXTIZMHLva1$djx',$,$,$,$,#31,#722,#690); +#692=IFCCARTESIANPOINT((-5753.58485,11428.31993)); +#693=IFCALIGNMENTHORIZONTALSEGMENT($,$,#692,-1.07332284622187,0.0,0.0,416.20788,$,.LINE.); +#694=IFCALIGNMENTSEGMENT('0ZCeKeRzPlrTYQv_fWGawN',$,$,$,$,#31,#727,#693); +#695=IFCCARTESIANPOINT((-5554.96762,11062.56018)); +#696=IFCALIGNMENTHORIZONTALSEGMENT($,$,#695,-1.07332284622187,-799.9984,-799.9984,419.51461,$,.CIRCULARARC.); +#697=IFCALIGNMENTSEGMENT('0ATSJWody_5C08mQpavkPB',$,$,$,$,#31,#733,#696); +#698=IFCCARTESIANPOINT((-5458.29052,10659.26149)); +#699=IFCALIGNMENTHORIZONTALSEGMENT($,$,#698,-1.59771716370046,0.0,0.0,565.73796,$,.LINE.); +#700=IFCALIGNMENTSEGMENT('0W$O15fZp$BWmONU1jKyhY',$,$,$,$,#31,#738,#699); +#701=IFCAXIS2PLACEMENT2D(#679,#702); +#702=IFCDIRECTION((-0.03222958,-0.99948049)); +#703=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#701,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(801.038397917383),#84); +#704=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#703)); +#705=IFCPRODUCTDEFINITIONSHAPE($,$,(#704)); +#706=IFCAXIS2PLACEMENT2D(#683,#707); +#707=IFCDIRECTION((-0.03222958,-0.99948049)); +#708=IFCCIRCLE(#96,999.998); +#709=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#706,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.449999999999566),#708); +#710=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#709)); +#711=IFCPRODUCTDEFINITIONSHAPE($,$,(#710)); +#712=IFCAXIS2PLACEMENT2D(#686,#713); +#713=IFCDIRECTION((-0.4637606,-0.88596056)); +#714=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#712,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(472.356784392773),#84); +#715=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#714)); +#716=IFCPRODUCTDEFINITIONSHAPE($,$,(#715)); +#717=IFCAXIS2PLACEMENT2D(#689,#718); +#718=IFCDIRECTION((-0.4637606,-0.88596056)); +#719=IFCCIRCLE(#96,799.9984); +#720=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#717,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(783.765344763324),#719); +#721=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#720)); +#722=IFCPRODUCTDEFINITIONSHAPE($,$,(#721)); +#723=IFCAXIS2PLACEMENT2D(#692,#724); +#724=IFCDIRECTION((0.47720678,-0.87879104)); +#725=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#723,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(416.207881764368),#84); +#726=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#725)); +#727=IFCPRODUCTDEFINITIONSHAPE($,$,(#726)); +#728=IFCAXIS2PLACEMENT2D(#695,#729); +#729=IFCDIRECTION((0.47720678,-0.87879104)); +#730=IFCCIRCLE(#96,799.9984); +#731=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#728,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.524394317478591),#730); +#732=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#731)); +#733=IFCPRODUCTDEFINITIONSHAPE($,$,(#732)); +#734=IFCAXIS2PLACEMENT2D(#698,#735); +#735=IFCDIRECTION((-0.02691759,-0.99963766)); +#736=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#734,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(565.737960897492),#84); +#737=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#736)); +#738=IFCPRODUCTDEFINITIONSHAPE($,$,(#737)); +#739=IFCCOMPOSITECURVE((#703,#709,#714,#720,#725,#731,#736),.U.); +#740=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#739)); +#741=IFCPRODUCTDEFINITIONSHAPE($,$,(#740)); +#742=IFCALIGNMENTVERTICAL('2FqQz$vKeKFNVGCWXL4hTC',$,'GCFC',$,'FG',#31,#831); +#743=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,1309.59738,768.21374,-0.00976973076047376,-0.00976973076047376,$,.CONSTANTGRADIENT.); +#744=IFCALIGNMENTSEGMENT('0ZlrvXxwzaUgVMF_jh3G5d',$,$,$,$,#31,#769,#743); +#745=IFCRELNESTS('2C424sHkExr5jY8PWFgnRm',$,$,$,#742,(#744,#747,#749,#751,#753,#755,#757,#759,#761,#763)); +#746=IFCALIGNMENTVERTICALSEGMENT($,$,1309.59738,199.9996,755.41932,-0.00976973076047185,-0.0314107957220064,-9241.67089,.PARABOLICARC.); +#747=IFCALIGNMENTSEGMENT('104$LQ9$X0570RMa0$P_z1',$,$,$,$,#31,#776,#746); +#748=IFCALIGNMENTVERTICALSEGMENT($,$,1509.59698,64.99987,751.30128,-0.0314107957220048,-0.0314107957220048,$,.CONSTANTGRADIENT.); +#749=IFCALIGNMENTSEGMENT('0fMVPktEjqGxujDeuUdCpd',$,$,$,$,#31,#782,#748); +#750=IFCALIGNMENTVERTICALSEGMENT($,$,1574.59685,199.9996,749.25958,-0.0314107957219588,-0.0233999999992788,-24966.2589,.PARABOLICARC.); +#751=IFCALIGNMENTSEGMENT('3qZN4pNwtrWqgpK8Ru952O',$,$,$,$,#31,#789,#750); +#752=IFCALIGNMENTVERTICALSEGMENT($,$,1774.5965,549.9988,743.77851,-0.0233999999992825,0.00712352941099082,-18018.84679,.PARABOLICARC.); +#753=IFCALIGNMENTSEGMENT('33eTq2m9Buu8NjAa9fLidx',$,$,$,$,#31,#796,#752); +#754=IFCALIGNMENTVERTICALSEGMENT($,$,2324.5953,474.9991,739.30249,0.00712352941099013,0.00712352941099013,$,.CONSTANTGRADIENT.); +#755=IFCALIGNMENTSEGMENT('1x$3LR_PAopMDE258o35K4',$,$,$,$,#31,#802,#754); +#756=IFCALIGNMENTVERTICALSEGMENT($,$,2799.5944,199.9996,742.68616,0.00712352941099083,-0.00509260999938901,-16371.7516,.PARABOLICARC.); +#757=IFCALIGNMENTSEGMENT('22cZr1K5Gzb6s7BR12uHST',$,$,$,$,#31,#809,#756); +#758=IFCALIGNMENTVERTICALSEGMENT($,$,2999.594,574.99885,742.88925,-0.00509260999938848,-0.00509260999938848,$,.CONSTANTGRADIENT.); +#759=IFCALIGNMENTSEGMENT('2Buemli9nWAJzbHaah$aXY',$,$,$,$,#31,#815,#758); +#760=IFCALIGNMENTVERTICALSEGMENT($,$,3574.59285,249.9995,739.96101,-0.00509260999939184,0.0176999999996187,-10968.44547,.PARABOLICARC.); +#761=IFCALIGNMENTSEGMENT('1X8XA_AA94PYNK9MLs5gw4',$,$,$,$,#31,#822,#760); +#762=IFCALIGNMENTVERTICALSEGMENT($,$,3824.59235,84.02773,741.53693,0.0176999999996282,0.0176999999996282,$,.CONSTANTGRADIENT.); +#763=IFCALIGNMENTSEGMENT('2pipDiKTp1s_qTxs0l1pZu',$,$,$,$,#31,#828,#762); +#764=IFCCARTESIANPOINT((0.0,768.21374)); +#765=IFCDIRECTION((0.99995228,-0.00976926)); +#766=IFCAXIS2PLACEMENT2D(#764,#765); +#767=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#766,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1309.65987829963),#84); +#768=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#767)); +#769=IFCPRODUCTDEFINITIONSHAPE($,$,(#768)); +#770=IFCCARTESIANPOINT((1309.59738,755.41932)); +#771=IFCDIRECTION((0.99995228,-0.00976926)); +#772=IFCAXIS2PLACEMENT2D(#770,#771); +#773=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-5.41027706E-05),$); +#774=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#772,IFCPARAMETERVALUE(90.2886363393756),IFCPARAMETERVALUE(199.999600010924),#773); +#775=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#774)); +#776=IFCPRODUCTDEFINITIONSHAPE($,$,(#775)); +#777=IFCCARTESIANPOINT((1509.59698,751.30128)); +#778=IFCDIRECTION((0.99950705,-0.03139531)); +#779=IFCAXIS2PLACEMENT2D(#777,#778); +#780=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#779,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(65.0319277622054),#84); +#781=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#780)); +#782=IFCPRODUCTDEFINITIONSHAPE($,$,(#781)); +#783=IFCCARTESIANPOINT((1574.59685,749.25958)); +#784=IFCDIRECTION((0.99950705,-0.03139531)); +#785=IFCAXIS2PLACEMENT2D(#783,#784); +#786=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.00270294E-05),$); +#787=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#785,IFCPARAMETERVALUE(-784.210058245751),IFCPARAMETERVALUE(199.9996000065),#786); +#788=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#787)); +#789=IFCPRODUCTDEFINITIONSHAPE($,$,(#788)); +#790=IFCCARTESIANPOINT((1774.5965,743.77851)); +#791=IFCDIRECTION((0.99972633,-0.0233936)); +#792=IFCAXIS2PLACEMENT2D(#790,#791); +#793=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.77487236E-05),$); +#794=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#792,IFCPARAMETERVALUE(-421.641014923798),IFCPARAMETERVALUE(549.998799999943),#793); +#795=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#794)); +#796=IFCPRODUCTDEFINITIONSHAPE($,$,(#795)); +#797=IFCCARTESIANPOINT((2324.5953,739.30249)); +#798=IFCDIRECTION((0.99997463,0.00712335)); +#799=IFCAXIS2PLACEMENT2D(#797,#798); +#800=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#799,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(475.0111517396),#84); +#801=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#800)); +#802=IFCPRODUCTDEFINITIONSHAPE($,$,(#801)); +#803=IFCCARTESIANPOINT((2799.5944,742.68616)); +#804=IFCDIRECTION((0.99997463,0.00712335)); +#805=IFCAXIS2PLACEMENT2D(#803,#804); +#806=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.05404096E-05),$); +#807=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#805,IFCPARAMETERVALUE(-116.624654054093),IFCPARAMETERVALUE(199.999599975534),#806); +#808=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#807)); +#809=IFCPRODUCTDEFINITIONSHAPE($,$,(#808)); +#810=IFCCARTESIANPOINT((2999.594,742.88925)); +#811=IFCDIRECTION((0.99998703,-0.00509254)); +#812=IFCAXIS2PLACEMENT2D(#810,#811); +#813=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#812,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(575.006306147396),#84); +#814=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#813)); +#815=IFCPRODUCTDEFINITIONSHAPE($,$,(#814)); +#816=IFCCARTESIANPOINT((3574.59285,739.96101)); +#817=IFCDIRECTION((0.99998703,-0.00509254)); +#818=IFCAXIS2PLACEMENT2D(#816,#817); +#819=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.55853112E-05),$); +#820=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#818,IFCPARAMETERVALUE(-55.8580151021673),IFCPARAMETERVALUE(249.999499999918),#819); +#821=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#820)); +#822=IFCPRODUCTDEFINITIONSHAPE($,$,(#821)); +#823=IFCCARTESIANPOINT((3824.59235,741.53693)); +#824=IFCDIRECTION((0.99984339,0.01769723)); +#825=IFCAXIS2PLACEMENT2D(#823,#824); +#826=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#825,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(84.0408953628796),#84); +#827=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#826)); +#828=IFCPRODUCTDEFINITIONSHAPE($,$,(#827)); +#829=IFCGRADIENTCURVE((#767,#774,#780,#787,#794,#800,#807,#813,#820,#826),.U.,#739,$); +#830=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#829)); +#831=IFCPRODUCTDEFINITIONSHAPE($,$,(#830)); +#832=IFCSTYLEDITEM(#829,(#254),'C-ROAD-PROF'); +#833=IFCREFERENT('09tMW9vo55ow5QlAEX1U2E',$,'6099+08.23',$,$,#837,$,.STATION.); +#834=IFCRELNESTS('3E927SdUAE5t_IVAokRvWe',$,$,$,#661,(#833)); +#835=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#739); +#836=IFCAXIS2PLACEMENTLINEAR(#835,$,$); +#837=IFCLINEARPLACEMENT(#31,#836,$); +#838=IFCPROPERTYSET('3gOnXu5cnFSO3XGmzCvp1i',$,'Pset_Stationing',$,(#840)); +#839=IFCRELDEFINESBYPROPERTIES('2JufOcGKPBpPe_CoZtYdCC',$,$,$,(#833),#838); +#840=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(609908.229),$); +#841=IFCALIGNMENT('2ealP2nbnA5ulcj2GOeqli',$,'GCGC',$,'Centerline',#31,$,$); +#843=IFCPROPERTYSET('1ca0zgg5r9FBhjooNwxkVi',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#845,#846,#847)); +#844=IFCRELDEFINESBYPROPERTIES('2iUUjQVA1AyQtPZLOpYbRd',$,$,$,(#841),#843); +#845=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:35:04'),$); +#846=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCGC.xml'),$); +#847=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:40:05'),$); +#848=IFCPROPERTYSET('1m_m7fWrLC18t_oISpy4pw',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#850,#851,#852)); +#849=IFCRELDEFINESBYPROPERTIES('2WE15zpA13iev5OPjF9Nac',$,$,$,(#841),#848); +#850=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2834.143521'),$); +#851=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCGC'),$); +#852=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('597826.002508'),$); +#853=IFCALIGNMENTHORIZONTAL('1JAL4xsPBhoOzwOnprdQ8L',$,'GCGC',$,$,#31,#913); +#854=IFCRELNESTS('39N3NLG7pZQ18AR2wFT5Uq',$,$,$,#841,(#853,#914)); +#855=IFCPROPERTYSET('2SncUpJWX4b8gJJ0GoEvca',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#845,#846,#847)); +#856=IFCRELDEFINESBYPROPERTIES('1my2w8V_j3z8kf5sq8H4ph',$,$,$,(#853),#855); +#857=IFCPROPERTYSET('0L3WGSxET4yPXrbIMbIhzu',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#850,#851,#852)); +#858=IFCRELDEFINESBYPROPERTIES('1LQs$zvx149B9jsteW_MDT',$,$,$,(#853),#857); +#859=IFCCARTESIANPOINT((-4993.86645,10255.14485)); +#860=IFCALIGNMENTHORIZONTALSEGMENT($,$,#859,1.45660902720029,0.0,0.0,1293.75741,$,.LINE.); +#861=IFCALIGNMENTSEGMENT('2rw96NGwhJGwfF6VDCQdq6',$,$,$,$,#31,#882,#860); +#862=IFCRELNESTS('2RZs3TQIp5R3iVEuK9RZ2x',$,$,$,#853,(#861,#865,#868,#871,#874,#877)); +#863=IFCCARTESIANPOINT((-4846.45661,11540.47694)); +#864=IFCALIGNMENTHORIZONTALSEGMENT($,$,#863,1.45660902720029,599.9988,599.9988,422.16673,$,.CIRCULARARC.); +#865=IFCALIGNMENTSEGMENT('3ZiB_fv7wKOcJHkqfeMLn5',$,$,$,$,#31,#888,#864); +#866=IFCCARTESIANPOINT((-4943.79288,11942.36977)); +#867=IFCALIGNMENTHORIZONTALSEGMENT($,$,#866,-4.12296366292076,0.0,0.0,342.77035,$,.LINE.); +#868=IFCALIGNMENTSEGMENT('2XVnHlRkvLXr1sH1RjuM_D',$,$,$,$,#31,#893,#867); +#869=IFCCARTESIANPOINT((-5134.33323,12227.30114)); +#870=IFCALIGNMENTHORIZONTALSEGMENT($,$,#869,-4.12296366292076,-599.9988,-599.9988,325.44327,$,.CIRCULARARC.); +#871=IFCALIGNMENTSEGMENT('3zXgGb3D38t$TJLeilYQ$G',$,$,$,$,#31,#899,#870); +#872=IFCCARTESIANPOINT((-5234.91375,12532.62969)); +#873=IFCALIGNMENTHORIZONTALSEGMENT($,$,#872,-4.66537018950238,-4599.9908,-4599.9908,149.9997,$,.CIRCULARARC.); +#874=IFCALIGNMENTSEGMENT('31V73pTa71neEw0oXeicD$',$,$,$,$,#31,#905,#873); +#875=IFCCARTESIANPOINT((-5239.51998,12682.552)); +#876=IFCALIGNMENTHORIZONTALSEGMENT($,$,#875,-4.69797888515797,0.0,0.0,300.00607,$,.LINE.); +#877=IFCALIGNMENTSEGMENT('1ymIeq_AVl1E$kJxlOtvnc',$,$,$,$,#31,#910,#876); +#878=IFCAXIS2PLACEMENT2D(#859,#879); +#879=IFCDIRECTION((0.11393932,0.99348771)); +#880=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#878,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1293.75741248041),#84); +#881=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#880)); +#882=IFCPRODUCTDEFINITIONSHAPE($,$,(#881)); +#883=IFCAXIS2PLACEMENT2D(#863,#884); +#884=IFCDIRECTION((0.11393932,0.99348771)); +#885=IFCCIRCLE(#96,599.9988); +#886=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#883,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(422.16672589951),#885); +#887=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#886)); +#888=IFCPRODUCTDEFINITIONSHAPE($,$,(#887)); +#889=IFCAXIS2PLACEMENT2D(#866,#890); +#890=IFCDIRECTION((-0.5558834,0.83126027)); +#891=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#889,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(342.770351190838),#84); +#892=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#891)); +#893=IFCPRODUCTDEFINITIONSHAPE($,$,(#892)); +#894=IFCAXIS2PLACEMENT2D(#869,#895); +#895=IFCDIRECTION((-0.5558834,0.83126027)); +#896=IFCCIRCLE(#96,599.9988); +#897=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#894,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.542406526581626),#896); +#898=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#897)); +#899=IFCPRODUCTDEFINITIONSHAPE($,$,(#898)); +#900=IFCAXIS2PLACEMENT2D(#872,#901); +#901=IFCDIRECTION((-0.04700147,0.99889482)); +#902=IFCCIRCLE(#96,4599.9908); +#903=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#900,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0326086956555827),#902); +#904=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#903)); +#905=IFCPRODUCTDEFINITIONSHAPE($,$,(#904)); +#906=IFCAXIS2PLACEMENT2D(#875,#907); +#907=IFCDIRECTION((-0.0144096,0.99989618)); +#908=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#906,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(300.006066545255),#84); +#909=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#908)); +#910=IFCPRODUCTDEFINITIONSHAPE($,$,(#909)); +#911=IFCCOMPOSITECURVE((#880,#886,#891,#897,#903,#908),.U.); +#912=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#911)); +#913=IFCPRODUCTDEFINITIONSHAPE($,$,(#912)); +#914=IFCALIGNMENTVERTICAL('0RGEj63UHOzmyLJqSM11fl',$,'GCGC',$,'FG',#31,#968); +#915=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,913.0566,721.85821,0.044638199037596,0.044638199037596,$,.CONSTANTGRADIENT.); +#916=IFCALIGNMENTSEGMENT('243i2700f3xGLv0iwUFNyU',$,$,$,$,#31,#933,#915); +#917=IFCRELNESTS('2TeVnTqjBSuYj98eZ_S258',$,$,$,#914,(#916,#919,#921,#923,#925,#927)); +#918=IFCALIGNMENTVERTICALSEGMENT($,$,913.0566,429.99914,762.61541,0.0446381990376027,-0.0184751184173779,-6813.12847,.PARABOLICARC.); +#919=IFCALIGNMENTSEGMENT('3tVSFX8dCD4mBwnHQ6S07K',$,$,$,$,#31,#940,#918); +#920=IFCALIGNMENTVERTICALSEGMENT($,$,1343.05574,669.21024,768.24046,-0.0184751184173787,-0.0184751184173787,$,.CONSTANTGRADIENT.); +#921=IFCALIGNMENTSEGMENT('0GTDYx1HaCxxc6gAELOToO',$,$,$,$,#31,#946,#920); +#922=IFCALIGNMENTVERTICALSEGMENT($,$,2012.26598,299.9994,755.87672,-0.0184751184173788,0.0152622034997544,-8892.21144,.PARABOLICARC.); +#923=IFCALIGNMENTSEGMENT('3WSHAv7cDHNkaGPmmwHXCs',$,$,$,$,#31,#953,#922); +#924=IFCALIGNMENTVERTICALSEGMENT($,$,2312.26538,145.45479,755.39478,0.0152622034997444,0.0152622034997444,$,.CONSTANTGRADIENT.); +#925=IFCALIGNMENTSEGMENT('2p6tJVMA6ggx$0MxvVQLnX',$,$,$,$,#31,#959,#924); +#926=IFCALIGNMENTVERTICALSEGMENT($,$,2457.72016,376.42336,757.61474,0.00922196958699647,0.00922196958699647,$,.CONSTANTGRADIENT.); +#927=IFCALIGNMENTSEGMENT('2a4XxNZQB52vC$UjLmgGSO',$,$,$,$,#31,#965,#926); +#928=IFCCARTESIANPOINT((0.0,721.85821)); +#929=IFCDIRECTION((0.9990052,0.04459379)); +#930=IFCAXIS2PLACEMENT2D(#928,#929); +#931=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#930,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(913.965807340337),#84); +#932=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#931)); +#933=IFCPRODUCTDEFINITIONSHAPE($,$,(#932)); +#934=IFCCARTESIANPOINT((913.0566,762.61541)); +#935=IFCDIRECTION((0.9990052,0.04459379)); +#936=IFCAXIS2PLACEMENT2D(#934,#935); +#937=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-7.33877252E-05),$); +#938=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#936,IFCPARAMETERVALUE(-304.125784720606),IFCPARAMETERVALUE(429.999139999971),#937); +#939=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#938)); +#940=IFCPRODUCTDEFINITIONSHAPE($,$,(#939)); +#941=IFCCARTESIANPOINT((1343.05574,768.24046)); +#942=IFCDIRECTION((0.99982938,-0.01847197)); +#943=IFCAXIS2PLACEMENT2D(#941,#942); +#944=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#943,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(669.324440482394),#84); +#945=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#944)); +#946=IFCPRODUCTDEFINITIONSHAPE($,$,(#945)); +#947=IFCCARTESIANPOINT((2012.26598,755.87672)); +#948=IFCDIRECTION((0.99982938,-0.01847197)); +#949=IFCAXIS2PLACEMENT2D(#947,#948); +#950=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.62289823E-05),$); +#951=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#949,IFCPARAMETERVALUE(-164.284659397496),IFCPARAMETERVALUE(299.999399999855),#950); +#952=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#951)); +#953=IFCPRODUCTDEFINITIONSHAPE($,$,(#952)); +#954=IFCCARTESIANPOINT((2312.26538,755.39478)); +#955=IFCDIRECTION((0.99988355,0.01526043)); +#956=IFCAXIS2PLACEMENT2D(#954,#955); +#957=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#956,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(145.471729292657),#84); +#958=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#957)); +#959=IFCPRODUCTDEFINITIONSHAPE($,$,(#958)); +#960=IFCCARTESIANPOINT((2457.72016,757.61474)); +#961=IFCDIRECTION((0.99995748,0.00922158)); +#962=IFCAXIS2PLACEMENT2D(#960,#961); +#963=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#962,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(376.43936228556),#84); +#964=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#963)); +#965=IFCPRODUCTDEFINITIONSHAPE($,$,(#964)); +#966=IFCGRADIENTCURVE((#931,#938,#944,#951,#957,#963),.U.,#911,$); +#967=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#966)); +#968=IFCPRODUCTDEFINITIONSHAPE($,$,(#967)); +#969=IFCSTYLEDITEM(#966,(#254),'C-ROAD-PROF'); +#970=IFCREFERENT('2lusQ1Gyj5ffZjiI8xSOMO',$,'5978+26.00',$,$,#974,$,.STATION.); +#971=IFCRELNESTS('1VS6s63EZsFOL_836WpeMi',$,$,$,#841,(#970)); +#972=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#911); +#973=IFCAXIS2PLACEMENTLINEAR(#972,$,$); +#974=IFCLINEARPLACEMENT(#31,#973,$); +#975=IFCPROPERTYSET('28pDltvWXDcPLBva14j9qV',$,'Pset_Stationing',$,(#977)); +#976=IFCRELDEFINESBYPROPERTIES('3uAvBxYVz74QOqCLv0GeQG',$,$,$,(#970),#975); +#977=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(597826.002508333),$); +#978=IFCALIGNMENT('03tQL2JZD0GQpdYQiowkBy',$,'GCHC',$,'Centerline',#31,$,$); +#980=IFCPROPERTYSET('0hu26ogJH5wQRMlfC39_iv',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#982,#983,#984)); +#981=IFCRELDEFINESBYPROPERTIES('0tJ7QoulP7igQYN615Hrfq',$,$,$,(#978),#980); +#982=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:35:26'),$); +#983=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCHC.xml'),$); +#984=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:40:20'),$); +#985=IFCPROPERTYSET('3OMs_VcyTDJw6dfINRSFQq',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#987,#988,#989)); +#986=IFCRELDEFINESBYPROPERTIES('2FM1FcFdj6XvIAwmcnE3hv',$,$,$,(#978),#985); +#987=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('3691.688643'),$); +#988=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCHC'),$); +#989=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('1260562.021089'),$); +#990=IFCALIGNMENTHORIZONTAL('0TKQXBJ_xn6SvLGEKes7kw',$,'GCHC',$,$,#31,#1042); +#991=IFCRELNESTS('36TO4OCqNhWTEDCdPZqCYf',$,$,$,#978,(#990,#1043)); +#992=IFCPROPERTYSET('2oOHyI71D7NwRC3ZSTi0U9',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#982,#983,#984)); +#993=IFCRELDEFINESBYPROPERTIES('2ssY728jX9DuUQKq_h8VTT',$,$,$,(#990),#992); +#994=IFCPROPERTYSET('17V2AKgDL6RwRZp7PCiNld',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#987,#988,#989)); +#995=IFCRELDEFINESBYPROPERTIES('3crPvbV2jBSeF_xJmzg6ec',$,$,$,(#990),#994); +#996=IFCCARTESIANPOINT((-6267.73001,12223.93357)); +#997=IFCALIGNMENTHORIZONTALSEGMENT($,$,#996,-0.742491459713325,-888.0,-888.0,484.31607,$,.CIRCULARARC.); +#998=IFCALIGNMENTSEGMENT('3L9BvCio4QPWXe6PWEO81k',$,$,$,$,#31,#1017,#997); +#999=IFCRELNESTS('0FqsfIOoWluz4bP3QyYbZh',$,$,$,#990,(#998,#1002,#1005,#1008,#1011)); +#1000=IFCCARTESIANPOINT((-6015.42861,11817.54833)); +#1001=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1000,-1.2878924392028,0.0,0.0,470.76594,$,.LINE.); +#1002=IFCALIGNMENTSEGMENT('26_h5OZBVLdY6HKwt$LbRq',$,$,$,$,#31,#1022,#1001); +#1003=IFCCARTESIANPOINT((-5884.01652,11365.49586)); +#1004=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1003,-1.28789243920279,600.0,600.0,2142.65595,$,.CIRCULARARC.); +#1005=IFCALIGNMENTSEGMENT('0uaPEbRPM53XaSEOabkEM4',$,$,$,$,#31,#1028,#1004); +#1006=IFCCARTESIANPOINT((-4853.79177,11925.17624)); +#1007=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1006,-3.99998449035001,0.0,0.0,354.60322,$,.LINE.); +#1008=IFCALIGNMENTSEGMENT('1xCbttUXGdv0XdMKmjY5qP',$,$,$,$,#31,#1033,#1007); +#1009=IFCCARTESIANPOINT((-5085.58007,12193.53725)); +#1010=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1009,-3.99998449034999,-589.0,-589.0,239.34745,$,.CIRCULARARC.); +#1011=IFCALIGNMENTSEGMENT('1XAbRVkpWQTOeqDHXd8AcJ',$,$,$,$,#31,#1039,#1010); +#1012=IFCAXIS2PLACEMENT2D(#996,#1013); +#1013=IFCDIRECTION((0.73678631,-0.67612568)); +#1014=IFCCIRCLE(#96,888.0); +#1015=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1012,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.545400979489468),#1014); +#1016=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1015)); +#1017=IFCPRODUCTDEFINITIONSHAPE($,$,(#1016)); +#1018=IFCAXIS2PLACEMENT2D(#1000,#1019); +#1019=IFCDIRECTION((0.27914528,-0.96024888)); +#1020=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1018,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(470.765939775292),#84); +#1021=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1020)); +#1022=IFCPRODUCTDEFINITIONSHAPE($,$,(#1021)); +#1023=IFCAXIS2PLACEMENT2D(#1003,#1024); +#1024=IFCDIRECTION((0.27914528,-0.96024888)); +#1025=IFCCIRCLE(#96,600.0); +#1026=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1023,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2142.6559536194),#1025); +#1027=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1026)); +#1028=IFCPRODUCTDEFINITIONSHAPE($,$,(#1027)); +#1029=IFCAXIS2PLACEMENT2D(#1006,#1030); +#1030=IFCDIRECTION((-0.65365536,0.75679236)); +#1031=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1029,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(354.603224839993),#84); +#1032=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1031)); +#1033=IFCPRODUCTDEFINITIONSHAPE($,$,(#1032)); +#1034=IFCAXIS2PLACEMENT2D(#1009,#1035); +#1035=IFCDIRECTION((-0.65365536,0.75679236)); +#1036=IFCCIRCLE(#96,589.0); +#1037=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1034,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.406362402303102),#1036); +#1038=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1037)); +#1039=IFCPRODUCTDEFINITIONSHAPE($,$,(#1038)); +#1040=IFCCOMPOSITECURVE((#1015,#1020,#1026,#1031,#1037),.U.); +#1041=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1040)); +#1042=IFCPRODUCTDEFINITIONSHAPE($,$,(#1041)); +#1043=IFCALIGNMENTVERTICAL('0WHbHCs3qElVrvUOPlBBKM',$,'GCHC',$,'FG',#31,#1123); +#1044=IFCALIGNMENTVERTICALSEGMENT($,$,-0.00002,404.92672,753.74663,-0.0257086092693932,-0.0257086092693932,$,.CONSTANTGRADIENT.); +#1045=IFCALIGNMENTSEGMENT('28R3l02DYmrYu6VWPrLDqc',$,$,$,$,#31,#1068,#1044); +#1046=IFCRELNESTS('1B8hkbe4znow0NyTTJUkW$',$,$,$,#1043,(#1045,#1048,#1050,#1052,#1054,#1056,#1058,#1060,#1062)); +#1047=IFCALIGNMENTVERTICALSEGMENT($,$,404.9267,699.9986,743.33653,-0.0257086092694068,0.0460625489007067,-9753.20195,.PARABOLICARC.); +#1048=IFCALIGNMENTSEGMENT('22Gx50VLeXUG$YFpAr_wmE',$,$,$,$,#31,#1075,#1047); +#1049=IFCALIGNMENTVERTICALSEGMENT($,$,1104.9253,640.00827,750.46039,0.04606254890069,0.04606254890069,$,.CONSTANTGRADIENT.); +#1050=IFCALIGNMENTSEGMENT('1JZ3W_XPDGg9Leve4Elhtq',$,$,$,$,#31,#1081,#1049); +#1051=IFCALIGNMENTVERTICALSEGMENT($,$,1744.93356,899.9982,779.9408,0.0460625489006983,-0.0404997306298518,-10397.1176,.PARABOLICARC.); +#1052=IFCALIGNMENTSEGMENT('0jPiO7pu8O51tt$ClqWkPc',$,$,$,$,#31,#1088,#1051); +#1053=IFCALIGNMENTVERTICALSEGMENT($,$,2644.93176,380.00619,782.44407,-0.0404997306298468,-0.0404997306298468,$,.CONSTANTGRADIENT.); +#1054=IFCALIGNMENTSEGMENT('3SceJwy4pBLIFVL6EHlwZe',$,$,$,$,#31,#1094,#1053); +#1055=IFCALIGNMENTVERTICALSEGMENT($,$,3024.93795,429.99914,767.05392,-0.0404997306298294,-0.0170529708819934,-18339.3844,.PARABOLICARC.); +#1056=IFCALIGNMENTSEGMENT('2r9ZH6i5Z0cOdREr5btF8R',$,$,$,$,#31,#1101,#1055); +#1057=IFCALIGNMENTVERTICALSEGMENT($,$,3454.93709,15.00002,754.68011,-0.0170529708820723,-0.0170529708820723,$,.CONSTANTGRADIENT.); +#1058=IFCALIGNMENTSEGMENT('03afxRz4QYBo0mXAPzxxUG',$,$,$,$,#31,#1107,#1057); +#1059=IFCALIGNMENTVERTICALSEGMENT($,$,3469.93711,219.99946,754.42432,-0.0170529708820151,0.0101385184705478,-8090.74697,.PARABOLICARC.); +#1060=IFCALIGNMENTSEGMENT('0CwcpGfRJnEhX0xEyFezAU',$,$,$,$,#31,#1114,#1059); +#1061=IFCALIGNMENTVERTICALSEGMENT($,$,3689.93657,1.75207,753.66373,0.0101385184707356,0.0101385184707356,$,.CONSTANTGRADIENT.); +#1062=IFCALIGNMENTSEGMENT('3oQzcvqZX2ZLK64Zora2Dy',$,$,$,$,#31,#1120,#1061); +#1063=IFCCARTESIANPOINT((-0.00002,753.74663)); +#1064=IFCDIRECTION((0.9996697,-0.02570012)); +#1065=IFCAXIS2PLACEMENT2D(#1063,#1064); +#1066=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1065,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(405.060514697952),#84); +#1067=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1066)); +#1068=IFCPRODUCTDEFINITIONSHAPE($,$,(#1067)); +#1069=IFCCARTESIANPOINT((404.9267,743.33653)); +#1070=IFCDIRECTION((0.9996697,-0.02570012)); +#1071=IFCAXIS2PLACEMENT2D(#1069,#1070); +#1072=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.12652155E-05),$); +#1073=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1071,IFCPARAMETERVALUE(-250.741258123195),IFCPARAMETERVALUE(699.99860000005),#1072); +#1074=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1073)); +#1075=IFCPRODUCTDEFINITIONSHAPE($,$,(#1074)); +#1076=IFCCARTESIANPOINT((1104.9253,750.46039)); +#1077=IFCDIRECTION((0.99894081,0.04601376)); +#1078=IFCAXIS2PLACEMENT2D(#1076,#1077); +#1079=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1078,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(640.686877080321),#84); +#1080=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1079)); +#1081=IFCPRODUCTDEFINITIONSHAPE($,$,(#1080)); +#1082=IFCCARTESIANPOINT((1744.93356,779.9408)); +#1083=IFCDIRECTION((0.99894081,0.04601376)); +#1084=IFCAXIS2PLACEMENT2D(#1082,#1083); +#1085=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.80902515E-05),$); +#1086=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1084,IFCPARAMETERVALUE(-478.917737874747),IFCPARAMETERVALUE(899.998200000264),#1085); +#1087=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1086)); +#1088=IFCPRODUCTDEFINITIONSHAPE($,$,(#1087)); +#1089=IFCCARTESIANPOINT((2644.93176,782.44407)); +#1090=IFCDIRECTION((0.99918089,-0.04046656)); +#1091=IFCAXIS2PLACEMENT2D(#1089,#1090); +#1092=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1091,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(380.317711275698),#84); +#1093=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1092)); +#1094=IFCPRODUCTDEFINITIONSHAPE($,$,(#1093)); +#1095=IFCCARTESIANPOINT((3024.93795,767.05392)); +#1096=IFCDIRECTION((0.99918089,-0.04046656)); +#1097=IFCAXIS2PLACEMENT2D(#1095,#1096); +#1098=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.72637287E-05),$); +#1099=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1097,IFCPARAMETERVALUE(-742.740128203192),IFCPARAMETERVALUE(429.999139999971),#1098); +#1100=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1099)); +#1101=IFCPRODUCTDEFINITIONSHAPE($,$,(#1100)); +#1102=IFCCARTESIANPOINT((3454.93709,754.68011)); +#1103=IFCDIRECTION((0.99985463,-0.01705049)); +#1104=IFCAXIS2PLACEMENT2D(#1102,#1103); +#1105=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1104,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(15.0022009036449),#84); +#1106=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1105)); +#1107=IFCPRODUCTDEFINITIONSHAPE($,$,(#1106)); +#1108=IFCCARTESIANPOINT((3469.93711,754.42432)); +#1109=IFCDIRECTION((0.99985463,-0.01705049)); +#1110=IFCAXIS2PLACEMENT2D(#1108,#1109); +#1111=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,6.17989911E-05),$); +#1112=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1110,IFCPARAMETERVALUE(-137.971272437373),IFCPARAMETERVALUE(219.999460000079),#1111); +#1113=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1112)); +#1114=IFCPRODUCTDEFINITIONSHAPE($,$,(#1113)); +#1115=IFCCARTESIANPOINT((3689.93657,753.66373)); +#1116=IFCDIRECTION((0.99994861,0.010138)); +#1117=IFCAXIS2PLACEMENT2D(#1115,#1116); +#1118=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1117,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1.75216434220823),#84); +#1119=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1118)); +#1120=IFCPRODUCTDEFINITIONSHAPE($,$,(#1119)); +#1121=IFCGRADIENTCURVE((#1066,#1073,#1079,#1086,#1092,#1099,#1105,#1112,#1118),.U.,#1040,$); +#1122=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1121)); +#1123=IFCPRODUCTDEFINITIONSHAPE($,$,(#1122)); +#1124=IFCSTYLEDITEM(#1121,(#254),'C-ROAD-PROF'); +#1125=IFCREFERENT('1QoXYp5LP69evi84aA$d2j',$,'12605+62.02',$,$,#1129,$,.STATION.); +#1126=IFCRELNESTS('2LcuHqJ1zhQ$jpohxfayDM',$,$,$,#978,(#1125)); +#1127=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1040); +#1128=IFCAXIS2PLACEMENTLINEAR(#1127,$,$); +#1129=IFCLINEARPLACEMENT(#31,#1128,$); +#1130=IFCPROPERTYSET('1h85m2DUP8NxGx22xcCCnI',$,'Pset_Stationing',$,(#1132)); +#1131=IFCRELDEFINESBYPROPERTIES('0BKGDnnMzCHh6SdhSwug2F',$,$,$,(#1125),#1130); +#1132=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(1260562.02108876),$); +#1133=IFCALIGNMENT('0tBEqvYV954RHz66B01$sk',$,'GCIC',$,'Centerline',#31,$,$); +#1135=IFCPROPERTYSET('3l34U80Bn7ZgnYUx1EP_pT',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1137,#1138,#1139)); +#1136=IFCRELDEFINESBYPROPERTIES('0MDkRqjbb3IRRdHtEOHTfq',$,$,$,(#1133),#1135); +#1137=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:35:47'),$); +#1138=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCIC.xml'),$); +#1139=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:40:57'),$); +#1140=IFCPROPERTYSET('2WTI4lO9rDzRUIcZK$godq',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1142,#1143,#1144)); +#1141=IFCRELDEFINESBYPROPERTIES('38QgdqZQ56iwJ0yNVq0Cd8',$,$,$,(#1133),#1140); +#1142=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('4882.317849'),$); +#1143=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCIC'),$); +#1144=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('596454.712600'),$); +#1145=IFCALIGNMENTHORIZONTAL('1OMN1FuqDNMSPilXtFF8tS',$,'GCIC',$,$,#31,#1222); +#1146=IFCRELNESTS('0m33CXZoswAvXkngiD9GgL',$,$,$,#1133,(#1145,#1223)); +#1147=IFCPROPERTYSET('0UYqTEekX0EB43D74d_9x_',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1137,#1138,#1139)); +#1148=IFCRELDEFINESBYPROPERTIES('06CKW1yez6sQOB2Csyppwu',$,$,$,(#1145),#1147); +#1149=IFCPROPERTYSET('13fwmd7Jf8nRrQJ8gUT5$J',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1142,#1143,#1144)); +#1150=IFCRELDEFINESBYPROPERTIES('2cq_n$N1r0MPI9sp7mjTl9',$,$,$,(#1145),#1149); +#1151=IFCCARTESIANPOINT((-5206.67531,9732.48392)); +#1152=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1151,1.53856116699309,0.0,0.0,600.2389,$,.LINE.); +#1153=IFCALIGNMENTSEGMENT('31qRqk2O7OS97p3$$qFbK7',$,$,$,$,#31,#1180,#1152); +#1154=IFCRELNESTS('2qdAFVqn2RG6FXnZ6TLmpG',$,$,$,#1145,(#1153,#1157,#1160,#1163,#1166,#1169,#1172,#1175)); +#1155=IFCCARTESIANPOINT((-5187.32987,10332.41099)); +#1156=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1155,1.5385611669931,-1287.99742,-1287.99742,323.3415,$,.CIRCULARARC.); +#1157=IFCALIGNMENTSEGMENT('2_xDyA7dDhG5UPd5OqHGuB',$,$,$,$,#31,#1186,#1156); +#1158=IFCCARTESIANPOINT((-5136.66535,10650.89946)); +#1159=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1158,1.28751912416973,0.0,0.0,661.24501,$,.LINE.); +#1160=IFCALIGNMENTSEGMENT('3r0mGwRmHGew2qcRFy0Ctf',$,$,$,$,#31,#1191,#1159); +#1161=IFCCARTESIANPOINT((-4951.8449,11285.79029)); +#1162=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1161,1.28751912416972,661.99868,661.99868,1028.03598,$,.CIRCULARARC.); +#1163=IFCALIGNMENTSEGMENT('2XPFPPqyjFPQLcUVXK2SsQ',$,$,$,$,#31,#1197,#1162); +#1164=IFCCARTESIANPOINT((-5391.10074,12103.02827)); +#1165=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1164,-3.44273863780281,0.0,0.0,524.99895,$,.LINE.); +#1166=IFCALIGNMENTSEGMENT('1iP2G8UAkmbwHRONqK2JNR',$,$,$,$,#31,#1202,#1165); +#1167=IFCCARTESIANPOINT((-5892.47327,12258.75074)); +#1168=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1167,-3.44273863780281,-1587.99682,-1587.99682,595.49881,$,.CIRCULARARC.); +#1169=IFCALIGNMENTSEGMENT('3j5XOBqLqxbv1ffxwJw7Ht',$,$,$,$,#31,#1208,#1168); +#1170=IFCCARTESIANPOINT((-6415.20494,12536.66112)); +#1171=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1170,-3.81773863780421,0.0,0.0,424.99897,$,.LINE.); +#1172=IFCALIGNMENTSEGMENT('1pGop8meB8pNiw$2uD0tgk',$,$,$,$,#31,#1213,#1171); +#1173=IFCCARTESIANPOINT((-6746.70002,12802.62189)); +#1174=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1173,-3.81773863780423,7681.42464,7681.42464,723.95973,$,.CIRCULARARC.); +#1175=IFCALIGNMENTSEGMENT('1qK_vfGWU8XP6833_QCfwM',$,$,$,$,#31,#1219,#1174); +#1176=IFCAXIS2PLACEMENT2D(#1151,#1177); +#1177=IFCDIRECTION((0.03222958,0.99948049)); +#1178=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1176,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(600.238895447134),#84); +#1179=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1178)); +#1180=IFCPRODUCTDEFINITIONSHAPE($,$,(#1179)); +#1181=IFCAXIS2PLACEMENT2D(#1155,#1182); +#1182=IFCDIRECTION((0.03222958,0.99948049)); +#1183=IFCCIRCLE(#96,1287.99742); +#1184=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1181,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.251042042823373),#1183); +#1185=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1184)); +#1186=IFCPRODUCTDEFINITIONSHAPE($,$,(#1185)); +#1187=IFCAXIS2PLACEMENT2D(#1158,#1188); +#1188=IFCDIRECTION((0.27950373,0.96014461)); +#1189=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1187,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(661.245007503753),#84); +#1190=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1189)); +#1191=IFCPRODUCTDEFINITIONSHAPE($,$,(#1190)); +#1192=IFCAXIS2PLACEMENT2D(#1161,#1193); +#1193=IFCDIRECTION((0.27950373,0.96014461)); +#1194=IFCCIRCLE(#96,661.99868); +#1195=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1192,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1028.03597884984),#1194); +#1196=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1195)); +#1197=IFCPRODUCTDEFINITIONSHAPE($,$,(#1196)); +#1198=IFCAXIS2PLACEMENT2D(#1164,#1199); +#1199=IFCDIRECTION((-0.9549972,0.29661481)); +#1200=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1198,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(524.998949998627),#84); +#1201=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1200)); +#1202=IFCPRODUCTDEFINITIONSHAPE($,$,(#1201)); +#1203=IFCAXIS2PLACEMENT2D(#1167,#1204); +#1204=IFCDIRECTION((-0.9549972,0.29661481)); +#1205=IFCCIRCLE(#96,1587.99682); +#1206=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1203,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.375000000001423),#1205); +#1207=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1206)); +#1208=IFCPRODUCTDEFINITIONSHAPE($,$,(#1207)); +#1209=IFCAXIS2PLACEMENT2D(#1170,#1210); +#1210=IFCDIRECTION((-0.77999032,0.62579158)); +#1211=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1209,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(424.998970338592),#84); +#1212=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1211)); +#1213=IFCPRODUCTDEFINITIONSHAPE($,$,(#1212)); +#1214=IFCAXIS2PLACEMENT2D(#1173,#1215); +#1215=IFCDIRECTION((-0.77999032,0.62579158)); +#1216=IFCCIRCLE(#96,7681.42464); +#1217=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1214,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(723.959733097384),#1216); +#1218=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1217)); +#1219=IFCPRODUCTDEFINITIONSHAPE($,$,(#1218)); +#1220=IFCCOMPOSITECURVE((#1178,#1184,#1189,#1195,#1200,#1206,#1211,#1217),.U.); +#1221=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1220)); +#1222=IFCPRODUCTDEFINITIONSHAPE($,$,(#1221)); +#1223=IFCALIGNMENTVERTICAL('2P0O99mr3PL30bZffckzwO',$,'GCIC',$,'FG',#31,#1337); +#1224=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,500.239,773.9584,-0.0196123458544293,-0.0196123458544293,$,.CONSTANTGRADIENT.); +#1225=IFCALIGNMENTSEGMENT('1v02Q73xAoKZPoWHpPDSo5',$,$,$,$,#31,#1256,#1224); +#1226=IFCRELNESTS('1f9zUeVWTGReEJjcX7Sts1',$,$,$,#1223,(#1225,#1228,#1230,#1232,#1234,#1236,#1238,#1240,#1242,#1244,#1246,#1248,#1250)); +#1227=IFCALIGNMENTVERTICALSEGMENT($,$,500.239,79.99984,764.14754,-0.0196123458544382,-0.0230042039138393,-23585.84546,.PARABOLICARC.); +#1228=IFCALIGNMENTSEGMENT('3fGGwHr_LIxtPwAJtp3dMk',$,$,$,$,#31,#1263,#1227); +#1229=IFCALIGNMENTVERTICALSEGMENT($,$,580.23884,29.99999,762.44289,-0.0230042039138486,-0.0230042039138486,$,.CONSTANTGRADIENT.); +#1230=IFCALIGNMENTSEGMENT('1dqLppmztFm7J93SdQsUNW',$,$,$,$,#31,#1269,#1229); +#1231=IFCALIGNMENTVERTICALSEGMENT($,$,610.23883,599.9987,761.75276,-0.0230042039138291,0.017962148187289,-14646.13443,.PARABOLICARC.); +#1232=IFCALIGNMENTSEGMENT('0FksBYMF9Vq_L05xhQ4yJV',$,$,$,$,#31,#1276,#1231); +#1233=IFCALIGNMENTVERTICALSEGMENT($,$,1210.23753,964.99812,760.24015,0.0179621481872865,0.0179621481872865,$,.CONSTANTGRADIENT.); +#1234=IFCALIGNMENTSEGMENT('0RDyHW$bPfiP8_dvHo23YJ',$,$,$,$,#31,#1282,#1233); +#1235=IFCALIGNMENTVERTICALSEGMENT($,$,2175.23565,799.9984,777.57359,0.0179621481872869,-0.0356354740660881,-14926.00542,.PARABOLICARC.); +#1236=IFCALIGNMENTSEGMENT('3VoUrzRu8s61CNzBBl5a28',$,$,$,$,#31,#1289,#1235); +#1237=IFCALIGNMENTVERTICALSEGMENT($,$,2975.23405,274.99945,770.50427,-0.0356354740660817,-0.0356354740660817,$,.CONSTANTGRADIENT.); +#1238=IFCALIGNMENTSEGMENT('2UY2Qi5TBYFEP5ew3WQeG2',$,$,$,$,#31,#1295,#1237); +#1239=IFCALIGNMENTVERTICALSEGMENT($,$,3250.2335,449.9991,760.70453,-0.0356354740660708,-0.0049740444590918,-14676.39004,.PARABOLICARC.); +#1240=IFCALIGNMENTSEGMENT('3HKxUX30OClsG4ES$Ia5Z4',$,$,$,$,#31,#1302,#1239); +#1241=IFCALIGNMENTVERTICALSEGMENT($,$,3700.2326,184.99963,751.56741,-0.00497404445909376,-0.00497404445909376,$,.CONSTANTGRADIENT.); +#1242=IFCALIGNMENTSEGMENT('0rKMmkLm9lGZUucnyZNxbD',$,$,$,$,#31,#1308,#1241); +#1243=IFCALIGNMENTVERTICALSEGMENT($,$,3885.23223,229.99954,750.64721,-0.00497404445909772,-0.00788511627872505,-79008.54196,.PARABOLICARC.); +#1244=IFCALIGNMENTSEGMENT('3F2Eueweonz4n0DknbeO51',$,$,$,$,#31,#1315,#1243); +#1245=IFCALIGNMENTVERTICALSEGMENT($,$,4115.23177,199.9996,749.16841,-0.00788511627872777,-0.00788511627872777,$,.CONSTANTGRADIENT.); +#1246=IFCALIGNMENTSEGMENT('0cngU0Tyiar4Bw9CghYFSU',$,$,$,$,#31,#1321,#1245); +#1247=IFCALIGNMENTVERTICALSEGMENT($,$,4315.23137,229.99954,747.59139,-0.00788511627872011,0.00329558273795119,-20571.12347,.PARABOLICARC.); +#1248=IFCALIGNMENTSEGMENT('1XeQNcnRYUbh2Hx3TxXYTr',$,$,$,$,#31,#1328,#1247); +#1249=IFCALIGNMENTVERTICALSEGMENT($,$,4545.23091,337.08694,747.0636,0.00329558273794968,0.00329558273794968,$,.CONSTANTGRADIENT.); +#1250=IFCALIGNMENTSEGMENT('3uAF9Atf6oz05m5f6lqeOI',$,$,$,$,#31,#1334,#1249); +#1251=IFCCARTESIANPOINT((0.0,773.9584)); +#1252=IFCDIRECTION((0.99980773,-0.01960858)); +#1253=IFCAXIS2PLACEMENT2D(#1251,#1252); +#1254=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1253,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(500.335197179133),#84); +#1255=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1254)); +#1256=IFCPRODUCTDEFINITIONSHAPE($,$,(#1255)); +#1257=IFCCARTESIANPOINT((500.239,764.14754)); +#1258=IFCDIRECTION((0.99980773,-0.01960858)); +#1259=IFCAXIS2PLACEMENT2D(#1257,#1258); +#1260=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-2.11991553E-05),$); +#1261=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1259,IFCPARAMETERVALUE(462.573758365255),IFCPARAMETERVALUE(79.9998399999458),#1260); +#1262=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1261)); +#1263=IFCPRODUCTDEFINITIONSHAPE($,$,(#1262)); +#1264=IFCCARTESIANPOINT((580.23884,762.44289)); +#1265=IFCDIRECTION((0.99973551,-0.02299812)); +#1266=IFCAXIS2PLACEMENT2D(#1264,#1265); +#1267=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1266,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(30.0079269289312),#84); +#1268=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1267)); +#1269=IFCPRODUCTDEFINITIONSHAPE($,$,(#1268)); +#1270=IFCCARTESIANPOINT((610.23883,761.75276)); +#1271=IFCDIRECTION((0.99973551,-0.02299812)); +#1272=IFCAXIS2PLACEMENT2D(#1270,#1271); +#1273=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.41387007E-05),$); +#1274=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1272,IFCPARAMETERVALUE(-336.922662988411),IFCPARAMETERVALUE(599.99869999988),#1273); +#1275=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1274)); +#1276=IFCPRODUCTDEFINITIONSHAPE($,$,(#1275)); +#1277=IFCCARTESIANPOINT((1210.23753,760.24015)); +#1278=IFCDIRECTION((0.99983872,0.01795925)); +#1279=IFCAXIS2PLACEMENT2D(#1277,#1278); +#1280=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1279,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(965.153780354177),#84); +#1281=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1280)); +#1282=IFCPRODUCTDEFINITIONSHAPE($,$,(#1281)); +#1283=IFCCARTESIANPOINT((2175.23565,777.57359)); +#1284=IFCDIRECTION((0.99983872,0.01795925)); +#1285=IFCAXIS2PLACEMENT2D(#1283,#1284); +#1286=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.34985809E-05),$); +#1287=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1285,IFCPARAMETERVALUE(-268.103121113478),IFCPARAMETERVALUE(799.998399999924),#1286); +#1288=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1287)); +#1289=IFCPRODUCTDEFINITIONSHAPE($,$,(#1288)); +#1290=IFCCARTESIANPOINT((2975.23405,770.50427)); +#1291=IFCDIRECTION((0.99936566,-0.03561287)); +#1292=IFCAXIS2PLACEMENT2D(#1290,#1291); +#1293=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1292,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(275.174003697525),#84); +#1294=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1293)); +#1295=IFCPRODUCTDEFINITIONSHAPE($,$,(#1294)); +#1296=IFCCARTESIANPOINT((3250.2335,760.70453)); +#1297=IFCDIRECTION((0.99936566,-0.03561287)); +#1298=IFCAXIS2PLACEMENT2D(#1296,#1297); +#1299=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.40683233E-05),$); +#1300=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1298,IFCPARAMETERVALUE(-523.000116542237),IFCPARAMETERVALUE(449.999099999899),#1299); +#1301=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1300)); +#1302=IFCPRODUCTDEFINITIONSHAPE($,$,(#1301)); +#1303=IFCCARTESIANPOINT((3700.2326,751.56741)); +#1304=IFCDIRECTION((0.99998763,-0.00497398)); +#1305=IFCAXIS2PLACEMENT2D(#1303,#1304); +#1306=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1305,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(185.001918559366),#84); +#1307=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1306)); +#1308=IFCPRODUCTDEFINITIONSHAPE($,$,(#1307)); +#1309=IFCCARTESIANPOINT((3885.23223,750.64721)); +#1310=IFCDIRECTION((0.99998763,-0.00497398)); +#1311=IFCAXIS2PLACEMENT2D(#1309,#1310); +#1312=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.32842966E-06),$); +#1313=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1311,IFCPARAMETERVALUE(392.992000341107),IFCPARAMETERVALUE(229.99953999999),#1312); +#1314=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1313)); +#1315=IFCPRODUCTDEFINITIONSHAPE($,$,(#1314)); +#1316=IFCCARTESIANPOINT((4115.23177,749.16841)); +#1317=IFCDIRECTION((0.99996891,-0.00788487)); +#1318=IFCAXIS2PLACEMENT2D(#1316,#1317); +#1319=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1318,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(200.005817403997),#84); +#1320=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1319)); +#1321=IFCPRODUCTDEFINITIONSHAPE($,$,(#1320)); +#1322=IFCCARTESIANPOINT((4315.23137,747.59139)); +#1323=IFCDIRECTION((0.99996891,-0.00788487)); +#1324=IFCAXIS2PLACEMENT2D(#1322,#1323); +#1325=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.4305916E-05),$); +#1326=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1324,IFCPARAMETERVALUE(-162.205700578101),IFCPARAMETERVALUE(229.99953999999),#1325); +#1327=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1326)); +#1328=IFCPRODUCTDEFINITIONSHAPE($,$,(#1327)); +#1329=IFCCARTESIANPOINT((4545.23091,747.0636)); +#1330=IFCDIRECTION((0.99999457,0.00329556)); +#1331=IFCAXIS2PLACEMENT2D(#1329,#1330); +#1332=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1331,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(337.088769697214),#84); +#1333=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1332)); +#1334=IFCPRODUCTDEFINITIONSHAPE($,$,(#1333)); +#1335=IFCGRADIENTCURVE((#1254,#1261,#1267,#1274,#1280,#1287,#1293,#1300,#1306,#1313,#1319,#1326,#1332),.U.,#1220,$); +#1336=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1335)); +#1337=IFCPRODUCTDEFINITIONSHAPE($,$,(#1336)); +#1338=IFCSTYLEDITEM(#1335,(#254),'C-ROAD-PROF'); +#1339=IFCREFERENT('3bTJGh0kDEiuKjIlFPbUw2',$,'5964+54.71',$,$,#1343,$,.STATION.); +#1340=IFCRELNESTS('2YEHABqS_hvWdL2qMa2Ih9',$,$,$,#1133,(#1339)); +#1341=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1220); +#1342=IFCAXIS2PLACEMENTLINEAR(#1341,$,$); +#1343=IFCLINEARPLACEMENT(#31,#1342,$); +#1344=IFCPROPERTYSET('1eH2ID80X20BTOXt8J36a4',$,'Pset_Stationing',$,(#1346)); +#1345=IFCRELDEFINESBYPROPERTIES('0opmTs9LnEnAHerTzPPwge',$,$,$,(#1339),#1344); +#1346=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(596454.7126),$); +#1347=IFCALIGNMENT('2w3HVsKRbAgfrSTA$S_Th1',$,'GCJC',$,'Centerline',#31,$,$); +#1349=IFCPROPERTYSET('0fXv$0vyH2WAknhbEGJYKK',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1351,#1352,#1353)); +#1350=IFCRELDEFINESBYPROPERTIES('2NKasonpL6YhoLgOPUagmr',$,$,$,(#1347),#1349); +#1351=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:36:05'),$); +#1352=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCJC.xml'),$); +#1353=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:07'),$); +#1354=IFCPROPERTYSET('25ZjfPUYf8$OfVMPrILBXy',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1356,#1357,#1358)); +#1355=IFCRELDEFINESBYPROPERTIES('366KJHTyn0QAiRvahp6MHV',$,$,$,(#1347),#1354); +#1356=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('2664.894868'),$); +#1357=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCJC'),$); +#1358=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('602853.125000'),$); +#1359=IFCALIGNMENTHORIZONTAL('3WZeaU$uERE7bx5MEBbkub',$,'GCJC',$,$,#31,#1402); +#1360=IFCRELNESTS('0ec$D8lEa2vYXOjqHJRPvR',$,$,$,#1347,(#1359,#1403)); +#1361=IFCPROPERTYSET('2d49HLrzf25hC67hiEtHB0',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1351,#1352,#1353)); +#1362=IFCRELDEFINESBYPROPERTIES('3tbsro8sXAtv2RI2gUkhD2',$,$,$,(#1359),#1361); +#1363=IFCPROPERTYSET('13xoV2WYH8$Pi5oI$7vnoX',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1356,#1357,#1358)); +#1364=IFCRELDEFINESBYPROPERTIES('1LTYSBTvn5veedIHb7XDxf',$,$,$,(#1359),#1363); +#1365=IFCCARTESIANPOINT((-6581.2233,12563.17541)); +#1366=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1365,-0.702512213254556,0.0,0.0,760.93939,$,.LINE.); +#1367=IFCALIGNMENTSEGMENT('37EJMrKwJrlETOofkSU8s6',$,$,$,$,#31,#1382,#1366); +#1368=IFCRELNESTS('109pDtxgOOoEMDHUVToSE$',$,$,$,#1359,(#1367,#1371,#1374,#1377)); +#1369=IFCCARTESIANPOINT((-6000.4581,12071.50424)); +#1370=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1369,-0.702512213254558,-1749.9965,-1749.9965,1446.27716,$,.CIRCULARARC.); +#1371=IFCALIGNMENTSEGMENT('1$gPCTO5$688SbBNyKDllZ',$,$,$,$,#31,#1388,#1370); +#1372=IFCCARTESIANPOINT((-5382.73068,10809.06516)); +#1373=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1372,-1.52895796037449,-5749.9885,-5749.9885,157.71224,$,.CIRCULARARC.); +#1374=IFCALIGNMENTSEGMENT('0xA76UDi3ib3bfIX3a5r2Y',$,$,$,$,#31,#1394,#1373); +#1375=IFCCARTESIANPOINT((-5378.29587,10651.42023)); +#1376=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1375,-1.55638623156662,0.0,0.0,299.96607,$,.LINE.); +#1377=IFCALIGNMENTSEGMENT('2Ct$XZbUwMAKjmxvNop8ud',$,$,$,$,#31,#1399,#1376); +#1378=IFCAXIS2PLACEMENT2D(#1365,#1379); +#1379=IFCDIRECTION((0.76322136,-0.6461371)); +#1380=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1378,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(760.939391767445),#84); +#1381=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1380)); +#1382=IFCPRODUCTDEFINITIONSHAPE($,$,(#1381)); +#1383=IFCAXIS2PLACEMENT2D(#1369,#1384); +#1384=IFCDIRECTION((0.76322136,-0.6461371)); +#1385=IFCCIRCLE(#96,1749.9965); +#1386=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1383,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.826445747119934),#1385); +#1387=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1386)); +#1388=IFCPRODUCTDEFINITIONSHAPE($,$,(#1387)); +#1389=IFCAXIS2PLACEMENT2D(#1372,#1390); +#1390=IFCDIRECTION((0.04182616,-0.9991249)); +#1391=IFCCIRCLE(#96,5749.9885); +#1392=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1389,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0274282711921271),#1391); +#1393=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1392)); +#1394=IFCPRODUCTDEFINITIONSHAPE($,$,(#1393)); +#1395=IFCAXIS2PLACEMENT2D(#1375,#1396); +#1396=IFCDIRECTION((0.0144096,-0.99989618)); +#1397=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1395,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(299.966067102938),#84); +#1398=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1397)); +#1399=IFCPRODUCTDEFINITIONSHAPE($,$,(#1398)); +#1400=IFCCOMPOSITECURVE((#1380,#1386,#1392,#1397),.U.); +#1401=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1400)); +#1402=IFCPRODUCTDEFINITIONSHAPE($,$,(#1401)); +#1403=IFCALIGNMENTVERTICAL('1pQ99zbgUOq5ojIQTNnLZg',$,'GCJC',$,'FG',#31,#1466); +#1404=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,224.99955,748.3385,0.00300000000038086,0.00300000000038086,$,.CONSTANTGRADIENT.); +#1405=IFCALIGNMENTSEGMENT('3ZKhg_viLTggfxYJ1IfJJE',$,$,$,$,#31,#1424,#1404); +#1406=IFCRELNESTS('3lK8LbfYVYU5Ja6KMN9NLV',$,$,$,#1403,(#1405,#1408,#1410,#1412,#1414,#1416,#1418)); +#1407=IFCALIGNMENTVERTICALSEGMENT($,$,224.99955,379.99924,749.0135,0.00300000000037758,0.0334009991961367,-12499.56416,.PARABOLICARC.); +#1408=IFCALIGNMENTSEGMENT('151pjuYe2igvfx2_e87y$B',$,$,$,$,#31,#1431,#1407); +#1409=IFCALIGNMENTVERTICALSEGMENT($,$,604.99879,20.00001,755.92968,0.0334009991961097,0.0334009991961097,$,.CONSTANTGRADIENT.); +#1410=IFCALIGNMENTSEGMENT('2qxL5p5j_a6Th58BXB32Qo',$,$,$,$,#31,#1437,#1409); +#1411=IFCALIGNMENTVERTICALSEGMENT($,$,624.9988,699.9985,756.5977,0.0334009991961436,-0.0277634240785204,-11444.53691,.PARABOLICARC.); +#1412=IFCALIGNMENTSEGMENT('3ruPEQ6D_zNw$O$6eqnBfk',$,$,$,$,#31,#1444,#1411); +#1413=IFCALIGNMENTVERTICALSEGMENT($,$,1324.9973,229.99959,758.57085,-0.0277634240785275,-0.0277634240785275,$,.CONSTANTGRADIENT.); +#1414=IFCALIGNMENTSEGMENT('1wyfZQNxe43Vxeou4rl5Fw',$,$,$,$,#31,#1450,#1413); +#1415=IFCALIGNMENTVERTICALSEGMENT($,$,1554.99689,649.9987,752.18527,-0.0277634240785181,0.0280233851693849,-11651.47655,.PARABOLICARC.); +#1416=IFCALIGNMENTSEGMENT('0q_N2h3ojIufFQxgF7SOc6',$,$,$,$,#31,#1457,#1415); +#1417=IFCALIGNMENTVERTICALSEGMENT($,$,2204.99559,459.89928,752.26976,0.028023385169373,0.028023385169373,$,.CONSTANTGRADIENT.); +#1418=IFCALIGNMENTSEGMENT('0CB_k_IoaJ4Pa5ZoAlOt36',$,$,$,$,#31,#1463,#1417); +#1419=IFCCARTESIANPOINT((0.0,748.3385)); +#1420=IFCDIRECTION((0.9999955,0.00299999)); +#1421=IFCAXIS2PLACEMENT2D(#1419,#1420); +#1422=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1421,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(225.00056250007),#84); +#1423=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1422)); +#1424=IFCPRODUCTDEFINITIONSHAPE($,$,(#1423)); +#1425=IFCCARTESIANPOINT((224.99955,749.0135)); +#1426=IFCDIRECTION((0.9999955,0.00299999)); +#1427=IFCAXIS2PLACEMENT2D(#1425,#1426); +#1428=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.00013947E-05),$); +#1429=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1427,IFCPARAMETERVALUE(37.4986924871407),IFCPARAMETERVALUE(379.999240000034),#1428); +#1430=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1429)); +#1431=IFCPRODUCTDEFINITIONSHAPE($,$,(#1430)); +#1432=IFCCARTESIANPOINT((604.99879,755.92968)); +#1433=IFCDIRECTION((0.99944265,0.03338238)); +#1434=IFCAXIS2PLACEMENT2D(#1432,#1433); +#1435=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1434,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(20.0111631616719),#84); +#1436=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1435)); +#1437=IFCPRODUCTDEFINITIONSHAPE($,$,(#1436)); +#1438=IFCCARTESIANPOINT((624.9988,756.5977)); +#1439=IFCDIRECTION((0.99944265,0.03338238)); +#1440=IFCAXIS2PLACEMENT2D(#1438,#1439); +#1441=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.36889674E-05),$); +#1442=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1440,IFCPARAMETERVALUE(-382.258968269978),IFCPARAMETERVALUE(699.998499999987),#1441); +#1443=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1442)); +#1444=IFCPRODUCTDEFINITIONSHAPE($,$,(#1443)); +#1445=IFCCARTESIANPOINT((1324.9973,758.57085)); +#1446=IFCDIRECTION((0.99961482,-0.02775273)); +#1447=IFCAXIS2PLACEMENT2D(#1445,#1446); +#1448=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1447,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(230.088215650057),#84); +#1449=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1448)); +#1450=IFCPRODUCTDEFINITIONSHAPE($,$,(#1449)); +#1451=IFCCARTESIANPOINT((1554.99689,752.18527)); +#1452=IFCDIRECTION((0.99961482,-0.02775273)); +#1453=IFCAXIS2PLACEMENT2D(#1451,#1452); +#1454=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.2913016E-05),$); +#1455=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1453,IFCPARAMETERVALUE(-323.484884722403),IFCPARAMETERVALUE(649.998700000113),#1454); +#1456=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1455)); +#1457=IFCPRODUCTDEFINITIONSHAPE($,$,(#1456)); +#1458=IFCCARTESIANPOINT((2204.99559,752.26976)); +#1459=IFCDIRECTION((0.99960758,0.02801239)); +#1460=IFCAXIS2PLACEMENT2D(#1458,#1459); +#1461=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1460,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(460.079824040355),#84); +#1462=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1461)); +#1463=IFCPRODUCTDEFINITIONSHAPE($,$,(#1462)); +#1464=IFCGRADIENTCURVE((#1422,#1429,#1435,#1442,#1448,#1455,#1461),.U.,#1400,$); +#1465=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1464)); +#1466=IFCPRODUCTDEFINITIONSHAPE($,$,(#1465)); +#1467=IFCSTYLEDITEM(#1464,(#254),'C-ROAD-PROF'); +#1468=IFCREFERENT('04ZE5aEDn22QdHbijoco25',$,'6028+53.12',$,$,#1472,$,.STATION.); +#1469=IFCRELNESTS('0wCJwCHYY3txevUYjSWFPq',$,$,$,#1347,(#1468)); +#1470=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1400); +#1471=IFCAXIS2PLACEMENTLINEAR(#1470,$,$); +#1472=IFCLINEARPLACEMENT(#31,#1471,$); +#1473=IFCPROPERTYSET('3IzeSrCO9FBe9ehXqX58vO',$,'Pset_Stationing',$,(#1475)); +#1474=IFCRELDEFINESBYPROPERTIES('373aTSX7P4$Q2hotV7qs3c',$,$,$,(#1468),#1473); +#1475=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(602853.125),$); +#1476=IFCALIGNMENT('3pZL66$y9F3PvXPhv8rTNo',$,'GCKC',$,'Centerline',#31,$,$); +#1478=IFCPROPERTYSET('2RX79U$R9C2ABKgJFQtjQ2',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1480,#1481,#1482)); +#1479=IFCRELDEFINESBYPROPERTIES('31UBIvtU50IBf$xSddsJEz',$,$,$,(#1476),#1478); +#1480=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:36:46'),$); +#1481=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCKC.xml'),$); +#1482=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:18'),$); +#1483=IFCPROPERTYSET('0rL7bEa$n5OQDPD35WAg1r',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1485,#1486,#1487)); +#1484=IFCRELDEFINESBYPROPERTIES('2qlBUuCun76flsbh4DV5jz',$,$,$,(#1476),#1483); +#1485=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('1596.570751'),$); +#1486=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCKC'),$); +#1487=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('930770.940292'),$); +#1488=IFCALIGNMENTHORIZONTAL('2IFcpp$ERqPkRATIoSvrNP',$,'GCKC',$,$,#31,#1539); +#1489=IFCRELNESTS('0psbBBUWSk5HJ5wOYN3_u8',$,$,$,#1476,(#1488,#1540)); +#1490=IFCPROPERTYSET('23zBxlUf9FRxCtFQwp$bdW',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1480,#1481,#1482)); +#1491=IFCRELDEFINESBYPROPERTIES('2g$Fy9D8L2oudd9XpLln07',$,$,$,(#1488),#1490); +#1492=IFCPROPERTYSET('3AUCBzMmDCjhCUCE$RjKbJ',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1485,#1486,#1487)); +#1493=IFCRELDEFINESBYPROPERTIES('2CxSQFRRTC5hWcScREfecx',$,$,$,(#1488),#1492); +#1494=IFCCARTESIANPOINT((-6635.22892,12577.46232)); +#1495=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1494,-0.742490900378906,0.0,0.0,509.79803,$,.LINE.); +#1496=IFCALIGNMENTSEGMENT('26WmP3Bg5GKynTQTYB$qPe',$,$,$,$,#31,#1514,#1495); +#1497=IFCRELNESTS('2udjOVFkAMRZIknQr5C324',$,$,$,#1488,(#1496,#1500,#1503,#1506,#1509)); +#1498=IFCCARTESIANPOINT((-6259.61652,12232.77499)); +#1499=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1498,-0.742490900378904,-899.9982,-899.9982,303.27963,$,.CIRCULARARC.); +#1500=IFCALIGNMENTSEGMENT('3GKrZNfWX2pDw6kqKoh3yo',$,$,$,$,#31,#1520,#1499); +#1501=IFCCARTESIANPOINT((-6074.59299,11994.28445)); +#1502=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1501,-1.07946894515161,0.0,0.0,510.41778,$,.LINE.); +#1503=IFCALIGNMENTSEGMENT('3XDK4CXef5R4Sm646dfquM',$,$,$,$,#31,#1525,#1502); +#1504=IFCCARTESIANPOINT((-5833.77958,11544.24532)); +#1505=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1504,-1.0794689451516,6749.9865,6749.9865,176.48104,$,.CIRCULARARC.); +#1506=IFCALIGNMENTSEGMENT('0h_q4Idrlmj4EA3cKel6rp',$,$,$,$,#31,#1531,#1505); +#1507=IFCCARTESIANPOINT((-5748.49184,11389.74682)); +#1508=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1507,-1.05332355290032,0.0,0.0,96.59426,$,.LINE.); +#1509=IFCALIGNMENTSEGMENT('01bBJuyJJqVyzdGhAnVPBs',$,$,$,$,#31,#1536,#1508); +#1510=IFCAXIS2PLACEMENT2D(#1494,#1511); +#1511=IFCDIRECTION((0.73678669,-0.67612527)); +#1512=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1510,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(509.798026242812),#84); +#1513=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1512)); +#1514=IFCPRODUCTDEFINITIONSHAPE($,$,(#1513)); +#1515=IFCAXIS2PLACEMENT2D(#1498,#1516); +#1516=IFCDIRECTION((0.73678669,-0.67612527)); +#1517=IFCCIRCLE(#96,899.9982); +#1518=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1515,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.336978044772688),#1517); +#1519=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1518)); +#1520=IFCPRODUCTDEFINITIONSHAPE($,$,(#1519)); +#1521=IFCAXIS2PLACEMENT2D(#1501,#1522); +#1522=IFCDIRECTION((0.47179667,-0.88170738)); +#1523=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1521,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(510.417783911134),#84); +#1524=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1523)); +#1525=IFCPRODUCTDEFINITIONSHAPE($,$,(#1524)); +#1526=IFCAXIS2PLACEMENT2D(#1504,#1527); +#1527=IFCDIRECTION((0.47179667,-0.88170738)); +#1528=IFCCIRCLE(#96,6749.9865); +#1529=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1526,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(176.481044732451),#1528); +#1530=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1529)); +#1531=IFCPRODUCTDEFINITIONSHAPE($,$,(#1530)); +#1532=IFCAXIS2PLACEMENT2D(#1507,#1533); +#1533=IFCDIRECTION((0.49468538,-0.86907214)); +#1534=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1532,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(96.594262595294),#84); +#1535=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1534)); +#1536=IFCPRODUCTDEFINITIONSHAPE($,$,(#1535)); +#1537=IFCCOMPOSITECURVE((#1512,#1518,#1523,#1529,#1534),.U.); +#1538=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1537)); +#1539=IFCPRODUCTDEFINITIONSHAPE($,$,(#1538)); +#1540=IFCALIGNMENTVERTICAL('0SaSjDSykHCzqtFvdm99Vr',$,'GCKC',$,'FG',#31,#1620); +#1541=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,300.4494,747.49341,0.00320912826544109,0.00320912826544109,$,.CONSTANTGRADIENT.); +#1542=IFCALIGNMENTSEGMENT('1aUJ$T_WtwVRYmdb88tvND',$,$,$,$,#31,#1565,#1541); +#1543=IFCRELNESTS('0_EDh75u$FPTo_0MMEJQId',$,$,$,#1540,(#1542,#1545,#1547,#1549,#1551,#1553,#1555,#1557,#1559)); +#1544=IFCALIGNMENTVERTICALSEGMENT($,$,300.4494,199.9996,748.45759,0.00320912826543851,0.00600000000166248,-71662.05362,.PARABOLICARC.); +#1545=IFCALIGNMENTSEGMENT('03NUdu2jGWYaz9ipO$oGRc',$,$,$,$,#31,#1572,#1544); +#1546=IFCALIGNMENTVERTICALSEGMENT($,$,500.449,12.50002,749.3785,0.00600000000166299,0.00600000000166299,$,.CONSTANTGRADIENT.); +#1547=IFCALIGNMENTSEGMENT('3IKAGGE$2ky0KlC$u9HWdY',$,$,$,$,#31,#1578,#1546); +#1548=IFCALIGNMENTVERTICALSEGMENT($,$,512.94902,374.99915,749.4535,0.00600000000166254,-0.0268249999995863,-11424.19345,.PARABOLICARC.); +#1549=IFCALIGNMENTSEGMENT('1Lzrl3pC5iCEn0DWlCIL96',$,$,$,$,#31,#1585,#1548); +#1550=IFCALIGNMENTVERTICALSEGMENT($,$,887.94817,25.00005,745.54882,-0.0268249999995552,-0.0268249999995552,$,.CONSTANTGRADIENT.); +#1551=IFCALIGNMENTSEGMENT('1nH_DCnO6AyVvihXn1Lc6U',$,$,$,$,#31,#1591,#1550); +#1552=IFCALIGNMENTVERTICALSEGMENT($,$,912.94822,374.99915,744.8782,-0.0268249999995948,0.00490909090901527,-11816.918,.PARABOLICARC.); +#1553=IFCALIGNMENTSEGMENT('00sO3e_dbV32dYo7Qc$lRT',$,$,$,$,#31,#1598,#1552); +#1554=IFCALIGNMENTVERTICALSEGMENT($,$,1287.94737,12.50007,740.76897,0.00490909090900143,0.00490909090900143,$,.CONSTANTGRADIENT.); +#1555=IFCALIGNMENTSEGMENT('2op9b9MFYvt1Cp2ym_b2QU',$,$,$,$,#31,#1604,#1554); +#1556=IFCALIGNMENTVERTICALSEGMENT($,$,1300.44745,149.9996,740.83034,0.00490909090902349,0.00260174482972635,-65009.5802,.PARABOLICARC.); +#1557=IFCALIGNMENTSEGMENT('1ppbtQBsln0oCDikr7IE4Z',$,$,$,$,#31,#1611,#1556); +#1558=IFCALIGNMENTVERTICALSEGMENT($,$,1450.44705,146.1237,741.39365,0.00260174482972697,0.00260174482972697,$,.CONSTANTGRADIENT.); +#1559=IFCALIGNMENTSEGMENT('1gDRbpG0HeYodW$RX2aSSm',$,$,$,$,#31,#1617,#1558); +#1560=IFCCARTESIANPOINT((0.0,747.49341)); +#1561=IFCDIRECTION((0.99999485,0.00320911)); +#1562=IFCAXIS2PLACEMENT2D(#1560,#1561); +#1563=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1562,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(300.450946169922),#84); +#1564=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1563)); +#1565=IFCPRODUCTDEFINITIONSHAPE($,$,(#1564)); +#1566=IFCCARTESIANPOINT((300.4494,748.45759)); +#1567=IFCDIRECTION((0.99999485,0.00320911)); +#1568=IFCAXIS2PLACEMENT2D(#1566,#1567); +#1569=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,6.97719329E-06),$); +#1570=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1568,IFCPARAMETERVALUE(229.972721822294),IFCPARAMETERVALUE(199.999599999981),#1569); +#1571=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1570)); +#1572=IFCPRODUCTDEFINITIONSHAPE($,$,(#1571)); +#1573=IFCCARTESIANPOINT((500.449,749.3785)); +#1574=IFCDIRECTION((0.999982,0.00599989)); +#1575=IFCAXIS2PLACEMENT2D(#1573,#1574); +#1576=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1575,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(12.5002499966364),#84); +#1577=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1576)); +#1578=IFCPRODUCTDEFINITIONSHAPE($,$,(#1577)); +#1579=IFCCARTESIANPOINT((512.94902,749.4535)); +#1580=IFCDIRECTION((0.999982,0.00599989)); +#1581=IFCAXIS2PLACEMENT2D(#1579,#1580); +#1582=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.37667659E-05),$); +#1583=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1581,IFCPARAMETERVALUE(-68.5451607170794),IFCPARAMETERVALUE(374.999150000047),#1582); +#1584=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1583)); +#1585=IFCPRODUCTDEFINITIONSHAPE($,$,(#1584)); +#1586=IFCCARTESIANPOINT((887.94817,745.54882)); +#1587=IFCDIRECTION((0.9996404,-0.02681535)); +#1588=IFCAXIS2PLACEMENT2D(#1586,#1587); +#1589=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1588,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(25.0090431792608),#84); +#1590=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1589)); +#1591=IFCPRODUCTDEFINITIONSHAPE($,$,(#1590)); +#1592=IFCCARTESIANPOINT((912.94822,744.8782)); +#1593=IFCDIRECTION((0.9996404,-0.02681535)); +#1594=IFCAXIS2PLACEMENT2D(#1592,#1593); +#1595=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,4.23122171E-05),$); +#1596=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1594,IFCPARAMETERVALUE(-316.988825284735),IFCPARAMETERVALUE(374.999150000047),#1595); +#1597=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1596)); +#1598=IFCPRODUCTDEFINITIONSHAPE($,$,(#1597)); +#1599=IFCCARTESIANPOINT((1287.94737,740.76897)); +#1600=IFCDIRECTION((0.99998795,0.00490903)); +#1601=IFCAXIS2PLACEMENT2D(#1599,#1600); +#1602=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1601,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(12.5002256167932),#84); +#1603=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1602)); +#1604=IFCPRODUCTDEFINITIONSHAPE($,$,(#1603)); +#1605=IFCCARTESIANPOINT((1300.44745,740.83034)); +#1606=IFCDIRECTION((0.99998795,0.00490903)); +#1607=IFCAXIS2PLACEMENT2D(#1605,#1606); +#1608=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-7.69117411E-06),$); +#1609=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1607,IFCPARAMETERVALUE(-319.137939177887),IFCPARAMETERVALUE(149.999599999981),#1608); +#1610=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1609)); +#1611=IFCPRODUCTDEFINITIONSHAPE($,$,(#1610)); +#1612=IFCCARTESIANPOINT((1450.44705,741.39365)); +#1613=IFCDIRECTION((0.99999662,0.00260174)); +#1614=IFCAXIS2PLACEMENT2D(#1612,#1613); +#1615=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1614,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(146.124196676126),#84); +#1616=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1615)); +#1617=IFCPRODUCTDEFINITIONSHAPE($,$,(#1616)); +#1618=IFCGRADIENTCURVE((#1563,#1570,#1576,#1583,#1589,#1596,#1602,#1609,#1615),.U.,#1537,$); +#1619=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1618)); +#1620=IFCPRODUCTDEFINITIONSHAPE($,$,(#1619)); +#1621=IFCSTYLEDITEM(#1618,(#254),'C-ROAD-PROF'); +#1622=IFCREFERENT('1bioYuWlnEtOzeS283QL1L',$,'9307+70.94',$,$,#1626,$,.STATION.); +#1623=IFCRELNESTS('1WcoS9By5rN8i6GBkv4wFg',$,$,$,#1476,(#1622)); +#1624=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1537); +#1625=IFCAXIS2PLACEMENTLINEAR(#1624,$,$); +#1626=IFCLINEARPLACEMENT(#31,#1625,$); +#1627=IFCPROPERTYSET('0Aw45R5wv5OA5xd838o0DZ',$,'Pset_Stationing',$,(#1629)); +#1628=IFCRELDEFINESBYPROPERTIES('3RC4cdhFLFs82Hv8GN4Bz0',$,$,$,(#1622),#1627); +#1629=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(930770.940291667),$); +#1630=IFCALIGNMENT('0FiuB7BurBoO1z3CR77ed9',$,'GCLC',$,'Centerline',#31,$,$); +#1632=IFCPROPERTYSET('2mQFwnRmPEDAlP01$UxXHy',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1634,#1635,#1636)); +#1633=IFCRELDEFINESBYPROPERTIES('24yZrt2ZT7uOBIimjE$fAf',$,$,$,(#1630),#1632); +#1634=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:37:12'),$); +#1635=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCLC.xml'),$); +#1636=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:29'),$); +#1637=IFCPROPERTYSET('24UbRn$7TBfRIXwypNoYJa',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1639,#1640,#1641)); +#1638=IFCRELDEFINESBYPROPERTIES('0fZF9UbTz3EuA4t78llDBr',$,$,$,(#1630),#1637); +#1639=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('3115.166231'),$); +#1640=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCLC'),$); +#1641=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('917927.388289'),$); +#1642=IFCALIGNMENTHORIZONTAL('1rBEvIfCWFWi4bTjsVGvHI',$,'GCLC',$,$,#31,#1702); +#1643=IFCRELNESTS('0$H1Ayb3h9UZ0wHnY2jcKY',$,$,$,#1630,(#1642,#1703)); +#1644=IFCPROPERTYSET('3M3deY5UPDC9Cppc4F0XlH',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1634,#1635,#1636)); +#1645=IFCRELDEFINESBYPROPERTIES('33rSns2I16gv_0WlhopioC',$,$,$,(#1642),#1644); +#1646=IFCPROPERTYSET('30LENMbcz0If$$EsEgkl04',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1639,#1640,#1641)); +#1647=IFCRELDEFINESBYPROPERTIES('3tEZh4eHb9gxSiIstnngt0',$,$,$,(#1642),#1646); +#1648=IFCCARTESIANPOINT((-5412.92463,13831.88119)); +#1649=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1648,-1.60303148622509,0.0,0.0,809.14918,$,.LINE.); +#1650=IFCALIGNMENTSEGMENT('1ZkNZu8DzAh5F9LlK97wA0',$,$,$,$,#31,#1671,#1649); +#1651=IFCRELNESTS('1Hg4ZupOEAMkMjmc5V9dBZ',$,$,$,#1642,(#1650,#1654,#1657,#1660,#1663,#1666)); +#1652=IFCCARTESIANPOINT((-5439.00316,13023.15237)); +#1653=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1652,-1.60303148622508,-599.9988,-599.9988,1316.82326,$,.CIRCULARARC.); +#1654=IFCALIGNMENTSEGMENT('2SvnalERO2bD3Tdtc8isw4',$,$,$,$,#31,#1677,#1653); +#1655=IFCCARTESIANPOINT((-6404.73139,12567.08241)); +#1656=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1655,-3.79774130262629,0.0,0.0,313.83329,$,.LINE.); +#1657=IFCALIGNMENTSEGMENT('290lgvH5IJTw6BTqy40fba',$,$,$,$,#31,#1682,#1656); +#1658=IFCCARTESIANPOINT((-6653.39647,12758.54262)); +#1659=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1658,-3.79774130262631,-34.99993,-34.99993,0.69983,$,.CIRCULARARC.); +#1660=IFCALIGNMENTSEGMENT('2l7WGFOkobnyiq22vhZqKs',$,$,$,$,#31,#1688,#1659); +#1661=IFCCARTESIANPOINT((-6653.94667,12758.97508)); +#1662=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1661,-3.81773647456301,0.0,0.0,99.6742,$,.LINE.); +#1663=IFCALIGNMENTSEGMENT('1fVO1mczGl3HM2DsefWbcG',$,$,$,$,#31,#1693,#1662); +#1664=IFCCARTESIANPOINT((-6731.69172,12821.35018)); +#1665=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1664,-3.81773647456306,7705.42459,7705.42459,574.98648,$,.CIRCULARARC.); +#1666=IFCALIGNMENTSEGMENT('2NFq5XSi1WT7wzxeK7xC$n',$,$,$,$,#31,#1699,#1665); +#1667=IFCAXIS2PLACEMENT2D(#1648,#1668); +#1668=IFCDIRECTION((-0.03222958,-0.99948049)); +#1669=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1667,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(809.149178643315),#84); +#1670=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1669)); +#1671=IFCPRODUCTDEFINITIONSHAPE($,$,(#1670)); +#1672=IFCAXIS2PLACEMENT2D(#1652,#1673); +#1673=IFCDIRECTION((-0.03222958,-0.99948049)); +#1674=IFCCIRCLE(#96,599.9988); +#1675=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1672,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-2.1947098164012),#1674); +#1676=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1675)); +#1677=IFCPRODUCTDEFINITIONSHAPE($,$,(#1676)); +#1678=IFCAXIS2PLACEMENT2D(#1655,#1679); +#1679=IFCDIRECTION((-0.79234769,0.61006978)); +#1680=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1678,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(313.833285749748),#84); +#1681=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1680)); +#1682=IFCPRODUCTDEFINITIONSHAPE($,$,(#1681)); +#1683=IFCAXIS2PLACEMENT2D(#1658,#1684); +#1684=IFCDIRECTION((-0.79234769,0.61006978)); +#1685=IFCCIRCLE(#96,34.99993); +#1686=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1683,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.0199951719367677),#1685); +#1687=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1686)); +#1688=IFCPRODUCTDEFINITIONSHAPE($,$,(#1687)); +#1689=IFCAXIS2PLACEMENT2D(#1661,#1690); +#1690=IFCDIRECTION((-0.77999167,0.6257899)); +#1691=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1689,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(99.674199215575),#84); +#1692=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1691)); +#1693=IFCPRODUCTDEFINITIONSHAPE($,$,(#1692)); +#1694=IFCAXIS2PLACEMENT2D(#1664,#1695); +#1695=IFCDIRECTION((-0.77999167,0.6257899)); +#1696=IFCCIRCLE(#96,7705.42459); +#1697=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1694,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(574.98648174545),#1696); +#1698=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1697)); +#1699=IFCPRODUCTDEFINITIONSHAPE($,$,(#1698)); +#1700=IFCCOMPOSITECURVE((#1669,#1675,#1680,#1686,#1691,#1697),.U.); +#1701=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1700)); +#1702=IFCPRODUCTDEFINITIONSHAPE($,$,(#1701)); +#1703=IFCALIGNMENTVERTICAL('0UZA46ZfNLrPqovMt56Qx8',$,'GCLC',$,'FG',#31,#1801); +#1704=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,1215.17005,779.03164,-0.0223142043347021,-0.0223142043347021,$,.CONSTANTGRADIENT.); +#1705=IFCALIGNMENTSEGMENT('1D7lK8Ki8kIJLuR0BaBJui',$,$,$,$,#31,#1732,#1704); +#1706=IFCRELNESTS('0wklslLC5s2GKmDeyKvTAM',$,$,$,#1703,(#1705,#1708,#1710,#1712,#1714,#1716,#1718,#1720,#1722,#1724,#1726)); +#1707=IFCALIGNMENTVERTICALSEGMENT($,$,1215.17005,249.9995,751.91609,-0.0223142043346892,0.00539836145297404,-9021.16036,.PARABOLICARC.); +#1708=IFCALIGNMENTSEGMENT('0kpX_PegBQJ747jB2gVg6L',$,$,$,$,#31,#1739,#1707); +#1709=IFCALIGNMENTVERTICALSEGMENT($,$,1465.16955,149.9997,749.80161,0.00539836145298451,0.00539836145298451,$,.CONSTANTGRADIENT.); +#1710=IFCALIGNMENTSEGMENT('2Hrq7dRAk49eUpepHKEGkx',$,$,$,$,#31,#1745,#1709); +#1711=IFCALIGNMENTVERTICALSEGMENT($,$,1615.16925,199.9996,750.61136,0.00539836145298756,-0.010610801259637,-12492.82074,.PARABOLICARC.); +#1712=IFCALIGNMENTSEGMENT('3rGMJtqkYfOiGdvadv5USF',$,$,$,$,#31,#1752,#1711); +#1713=IFCALIGNMENTVERTICALSEGMENT($,$,1815.1689,299.9993,750.09012,-0.0106108012596292,0.00731818182299546,-16732.64449,.PARABOLICARC.); +#1714=IFCALIGNMENTSEGMENT('0Ia6j$byS4T3A33fB8K6IL',$,$,$,$,#31,#1759,#1713); +#1715=IFCALIGNMENTVERTICALSEGMENT($,$,2115.1682,0.0001,749.59623,0.00731818117005637,0.00731818117005637,$,.CONSTANTGRADIENT.); +#1716=IFCALIGNMENTSEGMENT('2trMpoSuGFTvgR_HYAxtTY',$,$,$,$,#31,#1765,#1715); +#1717=IFCALIGNMENTVERTICALSEGMENT($,$,2115.1683,139.99962,749.59623,0.00731818182298856,-0.00306976744288889,-13477.11819,.PARABOLICARC.); +#1718=IFCALIGNMENTSEGMENT('2sdunEtQNTge2vEf4FyPnw',$,$,$,$,#31,#1772,#1717); +#1719=IFCALIGNMENTVERTICALSEGMENT($,$,2255.16792,259.99953,749.89362,-0.00306976744288887,-0.00306976744288887,$,.CONSTANTGRADIENT.); +#1720=IFCALIGNMENTSEGMENT('3ViNxAuGo1xtEn2h2CuLqn',$,$,$,$,#31,#1778,#1719); +#1721=IFCALIGNMENTVERTICALSEGMENT($,$,2515.16745,199.9996,749.09548,-0.00306976744289043,-0.00775000000021761,-42732.8338,.PARABOLICARC.); +#1722=IFCALIGNMENTSEGMENT('2dd8vJ$LqzqwRTzho2IUbz',$,$,$,$,#31,#1785,#1721); +#1723=IFCALIGNMENTVERTICALSEGMENT($,$,2715.1671,199.9995,748.0135,-0.00775000000021467,0.00328666666686401,-18121.36817,.PARABOLICARC.); +#1724=IFCALIGNMENTSEGMENT('0u7OfdnSB21Q_oJtxkvw2M',$,$,$,$,#31,#1792,#1723); +#1725=IFCALIGNMENTVERTICALSEGMENT($,$,2915.1666,199.99963,747.56717,0.00328666666686281,0.00328666666686281,$,.CONSTANTGRADIENT.); +#1726=IFCALIGNMENTSEGMENT('1NubZgL78p1eXAFJ5r3ZVK',$,$,$,$,#31,#1798,#1725); +#1727=IFCCARTESIANPOINT((0.0,779.03164)); +#1728=IFCDIRECTION((0.99975113,-0.02230865)); +#1729=IFCAXIS2PLACEMENT2D(#1727,#1728); +#1730=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1729,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1215.47254299575),#84); +#1731=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1730)); +#1732=IFCPRODUCTDEFINITIONSHAPE($,$,(#1731)); +#1733=IFCCARTESIANPOINT((1215.17005,751.91609)); +#1734=IFCDIRECTION((0.99975113,-0.02230865)); +#1735=IFCAXIS2PLACEMENT2D(#1733,#1734); +#1736=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,5.54252424E-05),$); +#1737=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1735,IFCPARAMETERVALUE(-201.300015660768),IFCPARAMETERVALUE(249.999500021804),#1736); +#1738=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1737)); +#1739=IFCPRODUCTDEFINITIONSHAPE($,$,(#1738)); +#1740=IFCCARTESIANPOINT((1465.16955,749.80161)); +#1741=IFCDIRECTION((0.99998543,0.00539828)); +#1742=IFCAXIS2PLACEMENT2D(#1740,#1741); +#1743=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1742,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(150.001885601504),#84); +#1744=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1743)); +#1745=IFCPRODUCTDEFINITIONSHAPE($,$,(#1744)); +#1746=IFCCARTESIANPOINT((1615.16925,750.61136)); +#1747=IFCDIRECTION((0.99998543,0.00539828)); +#1748=IFCAXIS2PLACEMENT2D(#1746,#1747); +#1749=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.00229868E-05),$); +#1750=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1748,IFCPARAMETERVALUE(-67.4407619327035),IFCPARAMETERVALUE(199.999599998351),#1749); +#1751=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1750)); +#1752=IFCPRODUCTDEFINITIONSHAPE($,$,(#1751)); +#1753=IFCCARTESIANPOINT((1815.1689,750.09012)); +#1754=IFCDIRECTION((0.99994371,-0.0106102)); +#1755=IFCAXIS2PLACEMENT2D(#1753,#1754); +#1756=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.98817082E-05),$); +#1757=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1755,IFCPARAMETERVALUE(-177.54676523697),IFCPARAMETERVALUE(299.999299998162),#1756); +#1758=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1757)); +#1759=IFCPRODUCTDEFINITIONSHAPE($,$,(#1758)); +#1760=IFCCARTESIANPOINT((2115.1682,749.59623)); +#1761=IFCDIRECTION((0.99997322,0.00731799)); +#1762=IFCAXIS2PLACEMENT2D(#1760,#1761); +#1763=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1762,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(0.00010001752585379),#84); +#1764=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1763)); +#1765=IFCPRODUCTDEFINITIONSHAPE($,$,(#1764)); +#1766=IFCCARTESIANPOINT((2115.1683,749.59623)); +#1767=IFCDIRECTION((0.99997322,0.00731799)); +#1768=IFCAXIS2PLACEMENT2D(#1766,#1767); +#1769=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.70999195E-05),$); +#1770=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1768,IFCPARAMETERVALUE(-98.6280013586527),IFCPARAMETERVALUE(139.9996199999),#1769); +#1771=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1770)); +#1772=IFCPRODUCTDEFINITIONSHAPE($,$,(#1771)); +#1773=IFCCARTESIANPOINT((2255.16792,749.89362)); +#1774=IFCDIRECTION((0.99999529,-0.00306975)); +#1775=IFCAXIS2PLACEMENT2D(#1773,#1774); +#1776=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1775,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(260.000754982514),#84); +#1777=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1776)); +#1778=IFCPRODUCTDEFINITIONSHAPE($,$,(#1777)); +#1779=IFCCARTESIANPOINT((2515.16745,749.09548)); +#1780=IFCDIRECTION((0.99999529,-0.00306975)); +#1781=IFCAXIS2PLACEMENT2D(#1779,#1780); +#1782=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.17006048E-05),$); +#1783=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1781,IFCPARAMETERVALUE(131.179861927222),IFCPARAMETERVALUE(199.999599995557),#1782); +#1784=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1783)); +#1785=IFCPRODUCTDEFINITIONSHAPE($,$,(#1784)); +#1786=IFCCARTESIANPOINT((2715.1671,748.0135)); +#1787=IFCDIRECTION((0.99996997,-0.00774977)); +#1788=IFCAXIS2PLACEMENT2D(#1786,#1787); +#1789=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.75917356E-05),$); +#1790=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1788,IFCPARAMETERVALUE(-140.440603290646),IFCPARAMETERVALUE(199.999499999918),#1789); +#1791=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1790)); +#1792=IFCPRODUCTDEFINITIONSHAPE($,$,(#1791)); +#1793=IFCCARTESIANPOINT((2915.1666,747.56717)); +#1794=IFCDIRECTION((0.9999946,0.00328665)); +#1795=IFCAXIS2PLACEMENT2D(#1793,#1794); +#1796=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1795,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(200.000711752673),#84); +#1797=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1796)); +#1798=IFCPRODUCTDEFINITIONSHAPE($,$,(#1797)); +#1799=IFCGRADIENTCURVE((#1730,#1737,#1743,#1750,#1757,#1763,#1770,#1776,#1783,#1790,#1796),.U.,#1700,$); +#1800=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1799)); +#1801=IFCPRODUCTDEFINITIONSHAPE($,$,(#1800)); +#1802=IFCSTYLEDITEM(#1799,(#254),'C-ROAD-PROF'); +#1803=IFCREFERENT('11nJLuyt99hB9ySjYXBa_7',$,'9179+27.39',$,$,#1807,$,.STATION.); +#1804=IFCRELNESTS('1mt7Aki2k4t2e3wqrGYpEO',$,$,$,#1630,(#1803)); +#1805=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1700); +#1806=IFCAXIS2PLACEMENTLINEAR(#1805,$,$); +#1807=IFCLINEARPLACEMENT(#31,#1806,$); +#1808=IFCPROPERTYSET('1H788P35z7n9$jvp3mEj9z',$,'Pset_Stationing',$,(#1810)); +#1809=IFCRELDEFINESBYPROPERTIES('0PkrJUQIP8ph9cVgj6xxmZ',$,$,$,(#1803),#1808); +#1810=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(917927.388288533),$); +#1811=IFCALIGNMENT('3YHAuHXgP6ygqxurQ8WxGp',$,'GCPC',$,'Centerline',#31,$,$); +#1813=IFCPROPERTYSET('1q0$BQQerAuvoxWB4VZdi2',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1815,#1816,#1817)); +#1814=IFCRELDEFINESBYPROPERTIES('3_3v2dOnr4ZB6LDqw67vEJ',$,$,$,(#1811),#1813); +#1815=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:37:32'),$); +#1816=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCPC.xml'),$); +#1817=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:41:42'),$); +#1818=IFCPROPERTYSET('0OFEOBkbfA9h6tPMQDAWAJ',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1820,#1821,#1822)); +#1819=IFCRELDEFINESBYPROPERTIES('0PfKLpX41CYunOYgot4cCM',$,$,$,(#1811),#1818); +#1820=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('4406.955831'),$); +#1821=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCPC'),$); +#1822=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('1640.416667'),$); +#1823=IFCALIGNMENTHORIZONTAL('3E2MAse8sRprQtgTOwYjG6',$,'GCPC',$,$,#31,#1883); +#1824=IFCRELNESTS('29H5qNAjzqp9DEsdDonmTQ',$,$,$,#1811,(#1823,#1884)); +#1825=IFCPROPERTYSET('12AM2j0dH8APJXKNZxtJvp',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1815,#1816,#1817)); +#1826=IFCRELDEFINESBYPROPERTIES('2uSzKbJdr8KQa_fR3ANRxt',$,$,$,(#1823),#1825); +#1827=IFCPROPERTYSET('27vK9xhB9BfRx2u4kOAwq8',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#1820,#1821,#1822)); +#1828=IFCRELDEFINESBYPROPERTIES('1ZqCUR1gfF2v8Yluv4RyUK',$,$,$,(#1823),#1827); +#1829=IFCCARTESIANPOINT((-7064.703,10809.83613)); +#1830=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1829,-0.270956414704149,-3819.71136,-3819.71136,734.51802,$,.CIRCULARARC.); +#1831=IFCALIGNMENTSEGMENT('0zaIbsZ2hSPx5Mc_vEjnIM',$,$,$,$,#31,#1853,#1830); +#1832=IFCRELNESTS('3lmvAt0sLeGmioNhTpGGZZ',$,$,$,#1823,(#1831,#1835,#1838,#1841,#1844,#1847)); +#1833=IFCCARTESIANPOINT((-6380.18144,10546.61286)); +#1834=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1833,-0.463253149619587,0.0,0.0,1475.47889,$,.LINE.); +#1835=IFCALIGNMENTSEGMENT('1c8lup7lvUZoq2CmmLwcKF',$,$,$,$,#31,#1858,#1834); +#1836=IFCCARTESIANPOINT((-5060.21282,9887.27927)); +#1837=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1836,-0.463253149619589,699.9986,699.9986,575.63062,$,.CIRCULARARC.); +#1838=IFCALIGNMENTSEGMENT('3O_Pxoh4eDmaO0_mC8qyd$',$,$,$,$,#31,#1864,#1837); +#1839=IFCCARTESIANPOINT((-4501.42361,9858.14693)); +#1840=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1839,0.359077955809695,0.0,0.0,397.63523,$,.LINE.); +#1841=IFCALIGNMENTSEGMENT('09Qkttk1Xy_1syH3ojm8ZR',$,$,$,$,#31,#1869,#1840); +#1842=IFCCARTESIANPOINT((-4129.14907,9997.88038)); +#1843=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1842,0.359077955809693,-799.9984,-799.9984,849.27044,$,.CIRCULARARC.); +#1844=IFCALIGNMENTSEGMENT('3zYqE_9MA44FUli7L9le2m',$,$,$,$,#31,#1875,#1843); +#1845=IFCCARTESIANPOINT((-3331.11207,9859.48076)); +#1846=IFCALIGNMENTHORIZONTALSEGMENT($,$,#1845,-0.702512213324519,0.0,0.0,374.42263,$,.LINE.); +#1847=IFCALIGNMENTSEGMENT('3gqUFYutG8KHiUU5JUFW6I',$,$,$,$,#31,#1880,#1846); +#1848=IFCAXIS2PLACEMENT2D(#1829,#1849); +#1849=IFCDIRECTION((0.96351535,-0.26765308)); +#1850=IFCCIRCLE(#96,3819.71136); +#1851=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1848,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.192296734915438),#1850); +#1852=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1851)); +#1853=IFCPRODUCTDEFINITIONSHAPE($,$,(#1852)); +#1854=IFCAXIS2PLACEMENT2D(#1833,#1855); +#1855=IFCDIRECTION((0.89460353,-0.44686075)); +#1856=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1854,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1475.47888688196),#84); +#1857=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1856)); +#1858=IFCPRODUCTDEFINITIONSHAPE($,$,(#1857)); +#1859=IFCAXIS2PLACEMENT2D(#1836,#1860); +#1860=IFCDIRECTION((0.89460353,-0.44686075)); +#1861=IFCCIRCLE(#96,699.9986); +#1862=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1859,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(575.630622362207),#1861); +#1863=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1862)); +#1864=IFCPRODUCTDEFINITIONSHAPE($,$,(#1863)); +#1865=IFCAXIS2PLACEMENT2D(#1839,#1866); +#1866=IFCDIRECTION((0.93622124,0.35141115)); +#1867=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1865,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(397.635230218543),#84); +#1868=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1867)); +#1869=IFCPRODUCTDEFINITIONSHAPE($,$,(#1868)); +#1870=IFCAXIS2PLACEMENT2D(#1842,#1871); +#1871=IFCDIRECTION((0.93622124,0.35141115)); +#1872=IFCCIRCLE(#96,799.9984); +#1873=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1870,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-1.06159016913421),#1872); +#1874=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1873)); +#1875=IFCPRODUCTDEFINITIONSHAPE($,$,(#1874)); +#1876=IFCAXIS2PLACEMENT2D(#1845,#1877); +#1877=IFCDIRECTION((0.76322136,-0.6461371)); +#1878=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1876,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(374.422631267546),#84); +#1879=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1878)); +#1880=IFCPRODUCTDEFINITIONSHAPE($,$,(#1879)); +#1881=IFCCOMPOSITECURVE((#1851,#1856,#1862,#1867,#1873,#1878),.U.); +#1882=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#1881)); +#1883=IFCPRODUCTDEFINITIONSHAPE($,$,(#1882)); +#1884=IFCALIGNMENTVERTICAL('0kRe4JnL4PAFV776hl8TB6',$,'GCPC',$,'FG',#31,#1981); +#1885=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,699.9986,747.30909,-0.00045324461439752,-0.00045324461439752,$,.CONSTANTGRADIENT.); +#1886=IFCALIGNMENTSEGMENT('3j1sq5ZLYbnmcnV3wP7g$D',$,$,$,$,#31,#1913,#1885); +#1887=IFCRELNESTS('0RxFC6KhgxMKZHL_fJaZwM',$,$,$,#1884,(#1886,#1889,#1891,#1893,#1895,#1897,#1899,#1901,#1903,#1905,#1907)); +#1888=IFCALIGNMENTVERTICALSEGMENT($,$,699.9986,199.9996,746.99182,-0.00045324461439732,-0.0049671820326319,-44307.12734,.PARABOLICARC.); +#1889=IFCALIGNMENTSEGMENT('3WLvRE2gjvbEACgofg6Na1',$,$,$,$,#31,#1920,#1888); +#1890=IFCALIGNMENTVERTICALSEGMENT($,$,899.9982,774.99845,746.44978,-0.00496718203263143,-0.00496718203263143,$,.CONSTANTGRADIENT.); +#1891=IFCALIGNMENTSEGMENT('1AU3tuNGwOWkElxILFFsEu',$,$,$,$,#31,#1926,#1890); +#1892=IFCALIGNMENTVERTICALSEGMENT($,$,1674.99665,149.9997,742.60022,-0.00496718203263038,0.00630508325185294,-13306.97036,.PARABOLICARC.); +#1893=IFCALIGNMENTSEGMENT('2M48OMOIMU2cbCi$LoTSNG',$,$,$,$,#31,#1933,#1892); +#1894=IFCALIGNMENTVERTICALSEGMENT($,$,1824.99635,499.999,742.70056,0.00630508325185201,0.00630508325185201,$,.CONSTANTGRADIENT.); +#1895=IFCALIGNMENTSEGMENT('1loQSynqCbMVTkm7MgAszm',$,$,$,$,#31,#1939,#1894); +#1896=IFCALIGNMENTVERTICALSEGMENT($,$,2324.99535,199.9996,745.8531,0.00630508325185105,-0.00770588235354876,-14274.5051,.PARABOLICARC.); +#1897=IFCALIGNMENTSEGMENT('0PwvD5dghD5$HdZEpkaQO0',$,$,$,$,#31,#1946,#1896); +#1898=IFCALIGNMENTVERTICALSEGMENT($,$,2524.99495,574.99885,745.71302,-0.00770588235354821,-0.00770588235354821,$,.CONSTANTGRADIENT.); +#1899=IFCALIGNMENTSEGMENT('27S9uBRKEDbVdBPzVdrv$r',$,$,$,$,#31,#1952,#1898); +#1900=IFCALIGNMENTVERTICALSEGMENT($,$,3099.9938,199.9996,741.28214,-0.00770588235354765,0.00557155741857114,-15063.11483,.PARABOLICARC.); +#1901=IFCALIGNMENTSEGMENT('3B_RR7wDco4OEcpcOWXgLL',$,$,$,$,#31,#1959,#1900); +#1902=IFCALIGNMENTVERTICALSEGMENT($,$,3299.9934,524.99895,741.06871,0.00557155741857108,0.00557155741857108,$,.CONSTANTGRADIENT.); +#1903=IFCALIGNMENTSEGMENT('0hHEXuJUUDPWb1UFOKYGTx',$,$,$,$,#31,#1965,#1902); +#1904=IFCALIGNMENTVERTICALSEGMENT($,$,3824.99235,149.9997,743.99377,0.00557155741857149,-0.00405558032760726,-15580.92384,.PARABOLICARC.); +#1905=IFCALIGNMENTSEGMENT('0oX92v6ipajjXVcWnCZQjt',$,$,$,$,#31,#1972,#1904); +#1906=IFCALIGNMENTVERTICALSEGMENT($,$,3974.99205,431.96378,744.10747,-0.00405558032760829,-0.00405558032760829,$,.CONSTANTGRADIENT.); +#1907=IFCALIGNMENTSEGMENT('0lIPMV$PMk23gR1ibz68YA',$,$,$,$,#31,#1978,#1906); +#1908=IFCCARTESIANPOINT((0.0,747.30909)); +#1909=IFCDIRECTION((0.9999999,-0.00045324)); +#1910=IFCAXIS2PLACEMENT2D(#1908,#1909); +#1911=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1910,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(699.99867190052),#84); +#1912=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1911)); +#1913=IFCPRODUCTDEFINITIONSHAPE($,$,(#1912)); +#1914=IFCCARTESIANPOINT((699.9986,746.99182)); +#1915=IFCDIRECTION((0.9999999,-0.00045324)); +#1916=IFCAXIS2PLACEMENT2D(#1914,#1915); +#1917=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.12848661E-05),$); +#1918=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1916,IFCPARAMETERVALUE(20.0819668468222),IFCPARAMETERVALUE(199.9996),#1917); +#1919=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1918)); +#1920=IFCPRODUCTDEFINITIONSHAPE($,$,(#1919)); +#1921=IFCCARTESIANPOINT((899.9982,746.44978)); +#1922=IFCDIRECTION((0.99998766,-0.00496712)); +#1923=IFCAXIS2PLACEMENT2D(#1921,#1922); +#1924=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1923,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(775.008010669702),#84); +#1925=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1924)); +#1926=IFCPRODUCTDEFINITIONSHAPE($,$,(#1925)); +#1927=IFCCARTESIANPOINT((1674.99665,742.60022)); +#1928=IFCDIRECTION((0.99998766,-0.00496712)); +#1929=IFCAXIS2PLACEMENT2D(#1927,#1928); +#1930=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.75742928E-05),$); +#1931=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1929,IFCPARAMETERVALUE(-66.0981440674194),IFCPARAMETERVALUE(149.9997),#1930); +#1932=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1931)); +#1933=IFCPRODUCTDEFINITIONSHAPE($,$,(#1932)); +#1934=IFCCARTESIANPOINT((1824.99635,742.70056)); +#1935=IFCDIRECTION((0.99998012,0.00630496)); +#1936=IFCAXIS2PLACEMENT2D(#1934,#1935); +#1937=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1936,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(500.00893840005),#84); +#1938=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1937)); +#1939=IFCPRODUCTDEFINITIONSHAPE($,$,(#1938)); +#1940=IFCCARTESIANPOINT((2324.99535,745.8531)); +#1941=IFCDIRECTION((0.99998012,0.00630496)); +#1942=IFCAXIS2PLACEMENT2D(#1940,#1941); +#1943=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.50274841E-05),$); +#1944=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1942,IFCPARAMETERVALUE(-90.0019430388807),IFCPARAMETERVALUE(199.9996),#1943); +#1945=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1944)); +#1946=IFCPRODUCTDEFINITIONSHAPE($,$,(#1945)); +#1947=IFCCARTESIANPOINT((2524.99495,745.71302)); +#1948=IFCDIRECTION((0.99997031,-0.00770565)); +#1949=IFCAXIS2PLACEMENT2D(#1947,#1948); +#1950=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1949,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(575.015921641513),#84); +#1951=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1950)); +#1952=IFCPRODUCTDEFINITIONSHAPE($,$,(#1951)); +#1953=IFCCARTESIANPOINT((3099.9938,741.28214)); +#1954=IFCDIRECTION((0.99997031,-0.00770565)); +#1955=IFCAXIS2PLACEMENT2D(#1953,#1954); +#1956=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,3.31936658E-05),$); +#1957=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1955,IFCPARAMETERVALUE(-116.074590795198),IFCPARAMETERVALUE(199.999599999999),#1956); +#1958=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1957)); +#1959=IFCPRODUCTDEFINITIONSHAPE($,$,(#1958)); +#1960=IFCCARTESIANPOINT((3299.9934,741.06871)); +#1961=IFCDIRECTION((0.99998448,0.00557147)); +#1962=IFCAXIS2PLACEMENT2D(#1960,#1961); +#1963=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1962,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(525.007098511735),#84); +#1964=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1963)); +#1965=IFCPRODUCTDEFINITIONSHAPE($,$,(#1964)); +#1966=IFCCARTESIANPOINT((3824.99235,743.99377)); +#1967=IFCDIRECTION((0.99998448,0.00557147)); +#1968=IFCAXIS2PLACEMENT2D(#1966,#1967); +#1969=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-3.20905233E-05),$); +#1970=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1968,IFCPARAMETERVALUE(-86.8100117971432),IFCPARAMETERVALUE(149.9997),#1969); +#1971=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1970)); +#1972=IFCPRODUCTDEFINITIONSHAPE($,$,(#1971)); +#1973=IFCCARTESIANPOINT((3974.99205,744.10747)); +#1974=IFCDIRECTION((0.99999178,-0.00405555)); +#1975=IFCAXIS2PLACEMENT2D(#1973,#1974); +#1976=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#1975,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(431.967332995683),#84); +#1977=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#1976)); +#1978=IFCPRODUCTDEFINITIONSHAPE($,$,(#1977)); +#1979=IFCGRADIENTCURVE((#1911,#1918,#1924,#1931,#1937,#1944,#1950,#1957,#1963,#1970,#1976),.U.,#1881,$); +#1980=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#1979)); +#1981=IFCPRODUCTDEFINITIONSHAPE($,$,(#1980)); +#1982=IFCSTYLEDITEM(#1979,(#254),'C-ROAD-PROF'); +#1983=IFCREFERENT('3KQuGiRY1BG9QufgPrOjRY',$,'16+40.42',$,$,#1987,$,.STATION.); +#1984=IFCRELNESTS('3xmloBpnbY6rwqt9l5lswF',$,$,$,#1811,(#1983)); +#1985=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#1881); +#1986=IFCAXIS2PLACEMENTLINEAR(#1985,$,$); +#1987=IFCLINEARPLACEMENT(#31,#1986,$); +#1988=IFCPROPERTYSET('0h_oERy1b0RRs7$dyl_J3A',$,'Pset_Stationing',$,(#1990)); +#1989=IFCRELDEFINESBYPROPERTIES('0RbkXzKWb5e9coKa2ciw2Q',$,$,$,(#1983),#1988); +#1990=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(1640.41666666667),$); +#1991=IFCALIGNMENT('1lefFAbH93r8oOppRx9N6A',$,'GCRC',$,'Centerline',#31,$,$); +#1993=IFCPROPERTYSET('2Z6DfYT5v0zOlRSefnyaxq',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1995,#1996,#1997)); +#1994=IFCRELDEFINESBYPROPERTIES('0lFyX2QOz3PPN71G15_5Zd',$,$,$,(#1991),#1993); +#1995=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:37:49'),$); +#1996=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCRC.xml'),$); +#1997=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:42:03'),$); +#1998=IFCPROPERTYSET('3jJUwtQLP2XQTW$WVjk1i9',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2000,#2001,#2002)); +#1999=IFCRELDEFINESBYPROPERTIES('2Wh8fzQzf0FBVbg7B9tHxg',$,$,$,(#1991),#1998); +#2000=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('6399.987268'),$); +#2001=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCRC'),$); +#2002=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('596127.416667'),$); +#2003=IFCALIGNMENTHORIZONTAL('22P41wDFp4sgK19099RisV',$,'GCRC',$,$,#31,#2037); +#2004=IFCRELNESTS('0C7LWY1avYsy8YYTM20ppu',$,$,$,#1991,(#2003,#2038)); +#2005=IFCPROPERTYSET('0ghiO3IHr5uhnrWg9RYbpg',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#1995,#1996,#1997)); +#2006=IFCRELDEFINESBYPROPERTIES('1He0qTQT9DKw1KdlQYY1dY',$,$,$,(#2003),#2005); +#2007=IFCPROPERTYSET('1HU0n_QqrEDwmG88opeEEd',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2000,#2001,#2002)); +#2008=IFCRELDEFINESBYPROPERTIES('3HroizDr5BCu_A8iP562GM',$,$,$,(#2003),#2007); +#2009=IFCCARTESIANPOINT((-8266.80374,13712.88467)); +#2010=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2009,-0.480564545095748,0.0,0.0,275.93933,$,.LINE.); +#2011=IFCALIGNMENTSEGMENT('2rJtxHho1kzfRGe9UowHL6',$,$,$,$,#31,#2023,#2010); +#2012=IFCRELNESTS('39yGzcCTNhZCXUpDOG1$A7',$,$,$,#2003,(#2011,#2015,#2018)); +#2013=IFCCARTESIANPOINT((-8022.11893,13585.32347)); +#2014=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2013,-0.480564545095733,-7639.42472,-7639.42472,1695.5525,$,.CIRCULARARC.); +#2015=IFCALIGNMENTSEGMENT('0Yx_N3SDAOXl6_jWKhmpnE',$,$,$,$,#31,#2029,#2014); +#2016=IFCCARTESIANPOINT((-6617.55532,12641.75733)); +#2017=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2016,-0.702512213254641,0.0,0.0,4428.49543,$,.LINE.); +#2018=IFCALIGNMENTSEGMENT('1FYF6qxQ3kth2Sk3mwE68d',$,$,$,$,#31,#2034,#2017); +#2019=IFCAXIS2PLACEMENT2D(#2009,#2020); +#2020=IFCDIRECTION((0.88673409,-0.46227985)); +#2021=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2019,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(275.939331880792),#84); +#2022=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2021)); +#2023=IFCPRODUCTDEFINITIONSHAPE($,$,(#2022)); +#2024=IFCAXIS2PLACEMENT2D(#2013,#2025); +#2025=IFCDIRECTION((0.88673409,-0.46227985)); +#2026=IFCCIRCLE(#96,7639.42472); +#2027=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2024,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.221947668158909),#2026); +#2028=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2027)); +#2029=IFCPRODUCTDEFINITIONSHAPE($,$,(#2028)); +#2030=IFCAXIS2PLACEMENT2D(#2016,#2031); +#2031=IFCDIRECTION((0.76322136,-0.6461371)); +#2032=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2030,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(4428.49543298598),#84); +#2033=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2032)); +#2034=IFCPRODUCTDEFINITIONSHAPE($,$,(#2033)); +#2035=IFCCOMPOSITECURVE((#2021,#2027,#2032),.U.); +#2036=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#2035)); +#2037=IFCPRODUCTDEFINITIONSHAPE($,$,(#2036)); +#2038=IFCALIGNMENTVERTICAL('1iM_m45hBKzn5un$nVwHMP',$,'GCRC',$,'FG',#31,#2084); +#2039=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,199.9996,750.8085,-0.00053333333319133,-0.00053333333319133,$,.CONSTANTGRADIENT.); +#2040=IFCALIGNMENTSEGMENT('1imUw6tD6i8uV517ml9FZV',$,$,$,$,#31,#2055,#2039); +#2041=IFCRELNESTS('3sjx$yjOarbxbNhDaJjPIL',$,$,$,#2038,(#2040,#2043,#2045,#2047,#2049)); +#2042=IFCALIGNMENTVERTICALSEGMENT($,$,199.9996,199.9996,750.70183,-0.00053333333319184,-0.00329999999992159,-72289.01205,.PARABOLICARC.); +#2043=IFCALIGNMENTSEGMENT('1i_BUdioEAY_RnjyFwizZJ',$,$,$,$,#31,#2062,#2042); +#2044=IFCALIGNMENTVERTICALSEGMENT($,$,399.9992,984.99803,750.3185,-0.00329999999992144,-0.00329999999992144,$,.CONSTANTGRADIENT.); +#2045=IFCALIGNMENTSEGMENT('3N$NB8R4s_fGP43FSwiOTj',$,$,$,$,#31,#2068,#2044); +#2046=IFCALIGNMENTVERTICALSEGMENT($,$,1384.99723,229.99954,747.06801,-0.00329999999992172,0.00299999999999858,-36507.86349,.PARABOLICARC.); +#2047=IFCALIGNMENTSEGMENT('3cNJ09wHFH7YF6EuoQCQwL',$,$,$,$,#31,#2075,#2046); +#2048=IFCALIGNMENTVERTICALSEGMENT($,$,1614.99677,4784.9905,747.03351,0.00299999999999976,0.00299999999999976,$,.CONSTANTGRADIENT.); +#2049=IFCALIGNMENTSEGMENT('0dyWvoZeP7QA_H2SV7cfzY',$,$,$,$,#31,#2081,#2048); +#2050=IFCCARTESIANPOINT((0.0,750.8085)); +#2051=IFCDIRECTION((0.99999986,-0.00053333)); +#2052=IFCAXIS2PLACEMENT2D(#2050,#2051); +#2053=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2052,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(199.999628426439),#84); +#2054=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2053)); +#2055=IFCPRODUCTDEFINITIONSHAPE($,$,(#2054)); +#2056=IFCCARTESIANPOINT((199.9996,750.70183)); +#2057=IFCDIRECTION((0.99999986,-0.00053333)); +#2058=IFCAXIS2PLACEMENT2D(#2056,#2057); +#2059=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.9166805E-06),$); +#2060=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2058,IFCPARAMETERVALUE(38.5541397479249),IFCPARAMETERVALUE(199.999599999981),#2059); +#2061=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2060)); +#2062=IFCPRODUCTDEFINITIONSHAPE($,$,(#2061)); +#2063=IFCCARTESIANPOINT((399.9992,750.3185)); +#2064=IFCDIRECTION((0.99999456,-0.00329998)); +#2065=IFCAXIS2PLACEMENT2D(#2063,#2064); +#2066=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2065,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(985.003393334613),#84); +#2067=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2066)); +#2068=IFCPRODUCTDEFINITIONSHAPE($,$,(#2067)); +#2069=IFCCARTESIANPOINT((1384.99723,747.06801)); +#2070=IFCDIRECTION((0.99999456,-0.00329998)); +#2071=IFCAXIS2PLACEMENT2D(#2069,#2070); +#2072=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.36956796E-05),$); +#2073=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2071,IFCPARAMETERVALUE(-120.475949522471),IFCPARAMETERVALUE(229.99953999999),#2072); +#2074=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2073)); +#2075=IFCPRODUCTDEFINITIONSHAPE($,$,(#2074)); +#2076=IFCCARTESIANPOINT((1614.99677,747.03351)); +#2077=IFCDIRECTION((0.9999955,0.00299999)); +#2078=IFCAXIS2PLACEMENT2D(#2076,#2077); +#2079=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2078,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(4785.01203018673),#84); +#2080=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2079)); +#2081=IFCPRODUCTDEFINITIONSHAPE($,$,(#2080)); +#2082=IFCGRADIENTCURVE((#2053,#2060,#2066,#2073,#2079),.U.,#2035,$); +#2083=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#2082)); +#2084=IFCPRODUCTDEFINITIONSHAPE($,$,(#2083)); +#2085=IFCSTYLEDITEM(#2082,(#254),'C-ROAD-PROF'); +#2086=IFCREFERENT('2tiuSW3y9DPPRRH07o0Mzg',$,'5961+27.42',$,$,#2090,$,.STATION.); +#2087=IFCRELNESTS('0VGE$1GoJc1Qlh46snvA68',$,$,$,#1991,(#2086)); +#2088=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.),$,$,$,#2035); +#2089=IFCAXIS2PLACEMENTLINEAR(#2088,$,$); +#2090=IFCLINEARPLACEMENT(#31,#2089,$); +#2091=IFCPROPERTYSET('1GXGylJRP58vWot1LQS5Jw',$,'Pset_Stationing',$,(#2093)); +#2092=IFCRELDEFINESBYPROPERTIES('2OlXBut2n6Vf9rGjHsBNyw',$,$,$,(#2086),#2091); +#2093=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(596127.416666667),$); +#2094=IFCALIGNMENT('2dwfU45lr7FfqnDbSrv090',$,'GCAC',$,'Centerline',#31,$,$); +#2096=IFCPROPERTYSET('2S6UFqjn96Eu9DrMlp_zIK',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#2098,#2099,#2100)); +#2097=IFCRELDEFINESBYPROPERTIES('1uM$77YP56pgFunBtaV6yW',$,$,$,(#2094),#2096); +#2098=IFCPROPERTYSINGLEVALUE('[LandXML::Creation date]',$,IFCLABEL('2024-03-25 21:32:01'),$); +#2099=IFCPROPERTYSINGLEVALUE('[LandXML::File name]',$,IFCLABEL('GCAC.xml'),$); +#2100=IFCPROPERTYSINGLEVALUE('[LandXML::Import date event]',$,IFCLABEL('2024-03-25 21:42:24'),$); +#2101=IFCPROPERTYSET('2fyq5Ystn1JhJwpzVJifn9',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2103,#2104,#2105)); +#2102=IFCRELDEFINESBYPROPERTIES('3ie_IuQu55RuDFPP5feXIU',$,$,$,(#2094),#2101); +#2103=IFCPROPERTYSINGLEVALUE('[Alignment::length]',$,IFCLABEL('64742.888667'),$); +#2104=IFCPROPERTYSINGLEVALUE('[Alignment::name]',$,IFCLABEL('GCAC'),$); +#2105=IFCPROPERTYSINGLEVALUE('[Alignment::staStart]',$,IFCLABEL('121718.916667'),$); +#2106=IFCALIGNMENTHORIZONTAL('2QVVQgg$cLTn5xesi8FImx',$,'GCAC',$,$,#31,#2242); +#2107=IFCRELNESTS('04ib2s9PSUofZkR$M75lDE',$,$,$,#2094,(#2106,#2243)); +#2108=IFCPROPERTYSET('2mORne2SjD8hOWDD5IslBm',$,'Imported LandXML File [AeccDbAlignment]',$,(#39,#41,#2098,#2099,#2100)); +#2109=IFCRELDEFINESBYPROPERTIES('3nMe7ddybBk9_i9lUtYl4W',$,$,$,(#2106),#2108); +#2110=IFCPROPERTYSET('3GSPhfiyzFrAOxR_YLOtph',$,'LandXML Attributes [AeccDbAlignment]',$,(#47,#2103,#2104,#2105)); +#2111=IFCRELDEFINESBYPROPERTIES('0rpPyAi5n3SxkGZJ8qAZw8',$,$,$,(#2106),#2110); +#2112=IFCCARTESIANPOINT((5461.86213,-29772.96761)); +#2113=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2112,-3.14542162685066,0.0,0.0,277.95945,$,.LINE.); +#2114=IFCALIGNMENTSEGMENT('15kp_UkSTdLHU$3ZTGZxHg',$,$,$,$,#31,#2162,#2113); +#2115=IFCRELNESTS('2hEY2vDWclScURzy0FkCcQ',$,$,$,#2106,(#2114,#2118,#2121,#2124,#2127,#2130,#2133,#2136,#2139,#2142,#2145,#2148,#2151,#2154,#2157)); +#2116=IFCCARTESIANPOINT((5183.90472,-29771.90331)); +#2117=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2116,-3.14542162685066,-7639.42199,-7639.42199,5963.27797,$,.CIRCULARARC.); +#2118=IFCALIGNMENTSEGMENT('1NSz5zwMfoBh06vYUftItT',$,$,$,$,#31,#2168,#2117); +#2119=IFCCARTESIANPOINT((-183.4545,-27539.69607)); +#2120=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2119,-3.92601444824742,0.0,0.0,1858.37422,$,.LINE.); +#2121=IFCALIGNMENTSEGMENT('3vk_c1p$yQnYBGDbP$nu1O',$,$,$,$,#31,#2173,#2120); +#2122=IFCCARTESIANPOINT((-1498.8059,-26226.9107)); +#2123=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2122,-3.92601444824742,-3337.61155,-3337.61155,2637.65774,$,.CIRCULARARC.); +#2124=IFCALIGNMENTSEGMENT('21ARrgMUUl87EdgeBP2xMG',$,$,$,$,#31,#2179,#2123); +#2125=IFCCARTESIANPOINT((-2478.6496,-23851.5148)); +#2126=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2125,1.56688783718362,0.0,0.0,17420.71199,$,.LINE.); +#2127=IFCALIGNMENTSEGMENT('1VXP8ApCSQBf0MqAixNUe2',$,$,$,$,#31,#2184,#2126); +#2128=IFCCARTESIANPOINT((-2410.5611,-6430.93587)); +#2129=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2128,1.56688783718362,8611.85278,8611.85278,2735.91146,$,.CIRCULARARC.); +#2130=IFCALIGNMENTSEGMENT('1w49SSx06uMBOiwwUFJCeL',$,$,$,$,#31,#2190,#2129); +#2131=IFCCARTESIANPOINT((-2830.98839,-3739.15053)); +#2132=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2131,-4.3986060826513,0.0,0.0,2298.64807,$,.LINE.); +#2133=IFCALIGNMENTSEGMENT('1NRMiT3DL55yi6X0DN$aYw',$,$,$,$,#31,#2195,#2132); +#2134=IFCCARTESIANPOINT((-3540.48686,-1552.73912)); +#2135=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2134,-4.3986060826513,-8594.35281,-8594.35281,2669.99557,$,.CIRCULARARC.); +#2136=IFCALIGNMENTSEGMENT('3KAr9ag$aoiq10hGmHfOMi',$,$,$,$,#31,#2201,#2135); +#2137=IFCCARTESIANPOINT((-3960.08377,1073.22013)); +#2138=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2137,-4.70927468475734,0.0,0.0,2231.51428,$,.LINE.); +#2139=IFCALIGNMENTSEGMENT('3zF_XCfGnKPAe1BHHlY_pC',$,$,$,$,#31,#2206,#2138); +#2140=IFCCARTESIANPOINT((-3967.03335,3304.72359)); +#2141=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2140,-4.70927468475734,8594.35281,8594.35281,3029.09333,$,.CIRCULARARC.); +#2142=IFCALIGNMENTSEGMENT('37ebCwi7oXsj5zsNH67VMD',$,$,$,$,#31,#2212,#2141); +#2143=IFCCARTESIANPOINT((-4504.57152,6269.83222)); +#2144=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2143,-4.35682309321,0.0,0.0,978.84798,$,.LINE.); +#2145=IFCALIGNMENTSEGMENT('0$ZXwoZ9hJbuU_rGwjSPbd',$,$,$,$,#31,#2217,#2144); +#2146=IFCCARTESIANPOINT((-4845.32898,7187.45291)); +#2147=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2146,-4.35682309321,-7161.95568,-7161.95568,2491.08832,$,.CIRCULARARC.); +#2148=IFCALIGNMENTSEGMENT('1E2xOqrBWg_aLAXcFAvmfF',$,$,$,$,#31,#2223,#2147); +#2149=IFCCARTESIANPOINT((-5293.09715,9625.2212)); +#2150=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2149,-4.7046454530389,0.0,0.0,10776.79053,$,.LINE.); +#2151=IFCALIGNMENTSEGMENT('2rKKxfZduzzwUjINMBIZJs',$,$,$,$,#31,#2228,#2150); +#2152=IFCCARTESIANPOINT((-5376.54669,20401.68863)); +#2153=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2152,-4.70464545303883,10.0,10.0,0.01202,$,.CIRCULARARC.); +#2154=IFCALIGNMENTSEGMENT('1k9OmWR_cKDrpp1YtN23IL',$,$,$,$,#31,#2234,#2153); +#2155=IFCCARTESIANPOINT((-5376.54679,20401.70065)); +#2156=IFCALIGNMENTHORIZONTALSEGMENT($,$,#2155,-4.70344358088361,0.0,0.0,9373.00573,$,.LINE.); +#2157=IFCALIGNMENTSEGMENT('3KjgvFGI6ZbfPzwLpN1Jk5',$,$,$,$,#31,#2239,#2156); +#2158=IFCAXIS2PLACEMENT2D(#2112,#2159); +#2159=IFCDIRECTION((-0.99999267,0.00382896)); +#2160=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2158,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(277.959453775765),#84); +#2161=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2160)); +#2162=IFCPRODUCTDEFINITIONSHAPE($,$,(#2161)); +#2163=IFCAXIS2PLACEMENT2D(#2116,#2164); +#2164=IFCDIRECTION((-0.99999267,0.00382896)); +#2165=IFCCIRCLE(#96,7639.42199); +#2166=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2163,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.780592821396762),#2165); +#2167=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2166)); +#2168=IFCPRODUCTDEFINITIONSHAPE($,$,(#2167)); +#2169=IFCAXIS2PLACEMENT2D(#2119,#2170); +#2170=IFCDIRECTION((-0.70779684,0.70641605)); +#2171=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2169,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1858.37422481727),#84); +#2172=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2171)); +#2173=IFCPRODUCTDEFINITIONSHAPE($,$,(#2172)); +#2174=IFCAXIS2PLACEMENT2D(#2122,#2175); +#2175=IFCDIRECTION((-0.70779684,0.70641605)); +#2176=IFCCIRCLE(#96,3337.61155); +#2177=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2174,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.790283021748543),#2176); +#2178=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2177)); +#2179=IFCPRODUCTDEFINITIONSHAPE($,$,(#2178)); +#2180=IFCAXIS2PLACEMENT2D(#2125,#2181); +#2181=IFCDIRECTION((0.00390848,0.99999236)); +#2182=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2180,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(17420.711993112),#84); +#2183=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2182)); +#2184=IFCPRODUCTDEFINITIONSHAPE($,$,(#2183)); +#2185=IFCAXIS2PLACEMENT2D(#2128,#2186); +#2186=IFCDIRECTION((0.00390848,0.99999236)); +#2187=IFCCIRCLE(#96,8611.85278); +#2188=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2185,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2735.91145609809),#2187); +#2189=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2188)); +#2190=IFCPRODUCTDEFINITIONSHAPE($,$,(#2189)); +#2191=IFCAXIS2PLACEMENT2D(#2131,#2192); +#2192=IFCDIRECTION((-0.30865903,0.95117275)); +#2193=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2191,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2298.64806671679),#84); +#2194=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2193)); +#2195=IFCPRODUCTDEFINITIONSHAPE($,$,(#2194)); +#2196=IFCAXIS2PLACEMENT2D(#2134,#2197); +#2197=IFCDIRECTION((-0.30865903,0.95117275)); +#2198=IFCCIRCLE(#96,8594.35281); +#2199=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2196,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.310668602106031),#2198); +#2200=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2199)); +#2201=IFCPRODUCTDEFINITIONSHAPE($,$,(#2200)); +#2202=IFCAXIS2PLACEMENT2D(#2137,#2203); +#2203=IFCDIRECTION((-0.00311429,0.99999515)); +#2204=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2202,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2231.51428441393),#84); +#2205=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2204)); +#2206=IFCPRODUCTDEFINITIONSHAPE($,$,(#2205)); +#2207=IFCAXIS2PLACEMENT2D(#2140,#2208); +#2208=IFCDIRECTION((-0.00311429,0.99999515)); +#2209=IFCCIRCLE(#96,8594.35281); +#2210=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2207,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(3029.09332664801),#2209); +#2211=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2210)); +#2212=IFCPRODUCTDEFINITIONSHAPE($,$,(#2211)); +#2213=IFCAXIS2PLACEMENT2D(#2143,#2214); +#2214=IFCDIRECTION((-0.34812091,0.93744964)); +#2215=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2213,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(978.847982378578),#84); +#2216=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2215)); +#2217=IFCPRODUCTDEFINITIONSHAPE($,$,(#2216)); +#2218=IFCAXIS2PLACEMENT2D(#2146,#2219); +#2219=IFCDIRECTION((-0.34812091,0.93744964)); +#2220=IFCCIRCLE(#96,7161.95568); +#2221=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2218,IFCLENGTHMEASURE(0.),IFCPARAMETERVALUE(-0.347822359828906),#2220); +#2222=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2221)); +#2223=IFCPRODUCTDEFINITIONSHAPE($,$,(#2222)); +#2224=IFCAXIS2PLACEMENT2D(#2149,#2225); +#2225=IFCDIRECTION((-0.00774345,0.99997002)); +#2226=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2224,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(10776.7905282383),#84); +#2227=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2226)); +#2228=IFCPRODUCTDEFINITIONSHAPE($,$,(#2227)); +#2229=IFCAXIS2PLACEMENT2D(#2152,#2230); +#2230=IFCDIRECTION((-0.00774345,0.99997002)); +#2231=IFCCIRCLE(#96,10.0); +#2232=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2229,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(0.0120187214558785),#2231); +#2233=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2232)); +#2234=IFCPRODUCTDEFINITIONSHAPE($,$,(#2233)); +#2235=IFCAXIS2PLACEMENT2D(#2155,#2236); +#2236=IFCDIRECTION((-0.00894528,0.99995999)); +#2237=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2235,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(9373.00572872509),#84); +#2238=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2237)); +#2239=IFCPRODUCTDEFINITIONSHAPE($,$,(#2238)); +#2240=IFCCOMPOSITECURVE((#2160,#2166,#2171,#2177,#2182,#2188,#2193,#2199,#2204,#2210,#2215,#2221,#2226,#2232,#2237),.U.); +#2241=IFCSHAPEREPRESENTATION(#90,'Axis','Curve2D',(#2240)); +#2242=IFCPRODUCTDEFINITIONSHAPE($,$,(#2241)); +#2243=IFCALIGNMENTVERTICAL('0ofU44uNf6cQAYRwMQS4MH',$,'GCAC',$,'FG',#31,#2478); +#2244=IFCALIGNMENTVERTICALSEGMENT($,$,0.0,40749.9185,1294.77658,-0.0134166666666667,-0.0134166666666667,$,.CONSTANTGRADIENT.); +#2245=IFCALIGNMENTSEGMENT('1heiN3fTBnDIBviLkDOEs$',$,$,$,$,#31,#2304,#2244); +#2246=IFCRELNESTS('2CuUjCRP8IPa2L5aH3ovqm',$,$,$,#2243,(#2245,#2248,#2250,#2252,#2254,#2256,#2258,#2260,#2262,#2264,#2266,#2268,#2270,#2272,#2274,#2276,#2278,#2280,#2282,#2284,#2286,#2288,#2290,#2292,#2294,#2296,#2298)); +#2247=IFCALIGNMENTVERTICALSEGMENT($,$,40749.9185,1199.9976,748.0485,-0.0134166666666667,0.00318271158747125,-72291.7197,.PARABOLICARC.); +#2248=IFCALIGNMENTSEGMENT('1XqKmnT6AcVeM0Auam3pFG',$,$,$,$,#31,#2311,#2247); +#2249=IFCALIGNMENTVERTICALSEGMENT($,$,41949.9161,434.99913,741.90814,0.00318271158747198,0.00318271158747198,$,.CONSTANTGRADIENT.); +#2250=IFCALIGNMENTSEGMENT('0CAyJYxLp$2IAkj31KeY4L',$,$,$,$,#31,#2317,#2249); +#2251=IFCALIGNMENTVERTICALSEGMENT($,$,42384.91523,639.99872,743.29262,0.00318271158747138,-0.00299399035490735,-103614.95924,.PARABOLICARC.); +#2252=IFCALIGNMENTSEGMENT('3KT8LU_cieEzY_zn$0BmSi',$,$,$,$,#31,#2324,#2251); +#2253=IFCALIGNMENTVERTICALSEGMENT($,$,43024.914,999.9979,743.35301,-0.00299399035490731,0.0271923401522852,-33127.50782,.PARABOLICARC.); +#2254=IFCALIGNMENTSEGMENT('3Y0PZGOwkIh$ZRLeh3_hLh',$,$,$,$,#31,#2331,#2253); +#2255=IFCALIGNMENTVERTICALSEGMENT($,$,44024.9119,94.99986,755.45216,0.0271923401522909,0.0271923401522909,$,.CONSTANTGRADIENT.); +#2256=IFCALIGNMENTSEGMENT('1Xv0noBZf0Ix2oI_JAk0ut',$,$,$,$,#31,#2337,#2255); +#2257=IFCALIGNMENTVERTICALSEGMENT($,$,44119.91176,1499.997,758.03543,0.0271923401522838,-0.0277277879280843,-27312.33616,.PARABOLICARC.); +#2258=IFCALIGNMENTSEGMENT('2$YNq7i4Y$wH71GkVVd_kK',$,$,$,$,#31,#2344,#2257); +#2259=IFCALIGNMENTVERTICALSEGMENT($,$,45619.90876,64.99987,757.63384,-0.0277277879280887,-0.0277277879280887,$,.CONSTANTGRADIENT.); +#2260=IFCALIGNMENTSEGMENT('3XRS9XG$8o8IL5$Tb7LJGE',$,$,$,$,#31,#2350,#2259); +#2261=IFCALIGNMENTVERTICALSEGMENT($,$,45684.90863,749.9985,755.83154,-0.0277277879280851,0.00867090216099262,-20605.0959,.PARABOLICARC.); +#2262=IFCALIGNMENTSEGMENT('0LJV9WDJBT62P3WbJgpgjz',$,$,$,$,#31,#2357,#2261); +#2263=IFCALIGNMENTVERTICALSEGMENT($,$,46434.90713,2609.99478,748.68522,0.00867090216099275,0.00867090216099275,$,.CONSTANTGRADIENT.); +#2264=IFCALIGNMENTSEGMENT('3VtRp9ADtHtHZHewScLgH7',$,$,$,$,#31,#2363,#2263); +#2265=IFCALIGNMENTVERTICALSEGMENT($,$,49044.90191,899.9982,771.31623,0.00867090216099206,-0.00296241630000319,-77363.84102,.PARABOLICARC.); +#2266=IFCALIGNMENTSEGMENT('2J9wYT5NWU6cTJsOcW2AkC',$,$,$,$,#31,#2370,#2265); +#2267=IFCALIGNMENTVERTICALSEGMENT($,$,49944.90016,499.9989,773.88505,-0.00296241630000307,0.00550008980108109,-59084.0224,.PARABOLICARC.); +#2268=IFCALIGNMENTSEGMENT('2CvKu6AUIOLZ8_5291SuSM',$,$,$,$,#31,#2377,#2267); +#2269=IFCALIGNMENTVERTICALSEGMENT($,$,50444.89906,1394.99726,774.51946,0.00550008980108138,0.00550008980108138,$,.CONSTANTGRADIENT.); +#2270=IFCALIGNMENTSEGMENT('3uYXb8hBiOii$ady5$6tgA',$,$,$,$,#31,#2383,#2269); +#2271=IFCALIGNMENTVERTICALSEGMENT($,$,51839.89632,399.9992,782.19207,0.00550008980108153,-0.00302578779810068,-46915.89755,.PARABOLICARC.); +#2272=IFCALIGNMENTSEGMENT('3oh2I3aRTwY2lqPgHw6qMn',$,$,$,$,#31,#2390,#2271); +#2273=IFCALIGNMENTVERTICALSEGMENT($,$,52239.89557,659.99858,782.68693,-0.00302578779810043,0.00641142583848727,-69935.74644,.PARABOLICARC.); +#2274=IFCALIGNMENTSEGMENT('3k5901cbjd5KdaLrfqVD37',$,$,$,$,#31,#2397,#2273); +#2275=IFCALIGNMENTVERTICALSEGMENT($,$,52899.89415,879.99829,783.80419,0.00641142583848744,0.00641142583848744,$,.CONSTANTGRADIENT.); +#2276=IFCALIGNMENTSEGMENT('3SmD9_WHE4sgDiN9t3AH4T',$,$,$,$,#31,#2403,#2275); +#2277=IFCALIGNMENTVERTICALSEGMENT($,$,53779.89244,799.9984,789.44623,0.00641142583848754,-0.00295259267184374,-85433.23565,.PARABOLICARC.); +#2278=IFCALIGNMENTSEGMENT('3Xa7iqi_O_Qmo$BbbyB2Ws',$,$,$,$,#31,#2410,#2277); +#2279=IFCALIGNMENTVERTICALSEGMENT($,$,54579.89089,479.99894,790.82976,-0.00295259267184351,0.00414470633880274,-67631.21284,.PARABOLICARC.); +#2280=IFCALIGNMENTSEGMENT('1BmqKSgg6GUwqIQiQ7ZITB',$,$,$,$,#31,#2417,#2279); +#2281=IFCALIGNMENTVERTICALSEGMENT($,$,55059.88983,2239.99557,791.11587,0.00414470633880241,0.00414470633880241,$,.CONSTANTGRADIENT.); +#2282=IFCALIGNMENTSEGMENT('0k6T5Co7Yy5BeATu3g4jF_',$,$,$,$,#31,#2423,#2281); +#2283=IFCALIGNMENTVERTICALSEGMENT($,$,57299.8854,399.9992,800.39999,0.00414470633880233,0.00299999999999923,-349433.89972,.PARABOLICARC.); +#2284=IFCALIGNMENTSEGMENT('1XJlKJXIw0s3AACWTfBa8h',$,$,$,$,#31,#2430,#2283); +#2285=IFCALIGNMENTVERTICALSEGMENT($,$,57699.8846,949.9981,801.82893,0.00299999999999839,0.00299999999999839,$,.CONSTANTGRADIENT.); +#2286=IFCALIGNMENTSEGMENT('2U4iQnH9tULR_Q0zD_zMyw',$,$,$,$,#31,#2436,#2285); +#2287=IFCALIGNMENTVERTICALSEGMENT($,$,58649.8827,499.999,804.67893,0.00299999999999767,0.0121627836372058,-54568.46083,.PARABOLICARC.); +#2288=IFCALIGNMENTSEGMENT('3NGZ2KfNHifOBC8nvs5l9o',$,$,$,$,#31,#2443,#2287); +#2289=IFCALIGNMENTVERTICALSEGMENT($,$,59149.8817,459.99908,808.46962,0.0121627836372049,0.0121627836372049,$,.CONSTANTGRADIENT.); +#2290=IFCALIGNMENTSEGMENT('2CCaUTiSBqxDFmMCwiRXu4',$,$,$,$,#31,#2449,#2289); +#2291=IFCALIGNMENTVERTICALSEGMENT($,$,59609.88078,999.998,814.06449,0.0121627836372057,0.00299999999999652,-109136.92166,.PARABOLICARC.); +#2292=IFCALIGNMENTSEGMENT('3N_IXd0VeMpsQc7RN2Owhx',$,$,$,$,#31,#2456,#2291); +#2293=IFCALIGNMENTVERTICALSEGMENT($,$,60609.87878,1589.99682,821.64586,0.0029999999999966,0.0029999999999966,$,.CONSTANTGRADIENT.); +#2294=IFCALIGNMENTSEGMENT('0U4VyluGb5wxeqi8HnGzWM',$,$,$,$,#31,#2462,#2293); +#2295=IFCALIGNMENTVERTICALSEGMENT($,$,62199.8756,999.998,826.41585,0.00299999999999631,-0.00008475631399856,-324174.067,.PARABOLICARC.); +#2296=IFCALIGNMENTSEGMENT('3CTNvgJCzF10KByJV8p$WM',$,$,$,$,#31,#2469,#2295); +#2297=IFCALIGNMENTVERTICALSEGMENT($,$,63199.8736,1543.01507,827.87347,-0.00008475631399869,-0.00008475631399869,$,.CONSTANTGRADIENT.); +#2298=IFCALIGNMENTSEGMENT('3v4VeFU$Rvxv1oxlbDkluf',$,$,$,$,#31,#2475,#2297); +#2299=IFCCARTESIANPOINT((0.0,1294.77658)); +#2300=IFCDIRECTION((0.99991001,-0.01341546)); +#2301=IFCAXIS2PLACEMENT2D(#2299,#2300); +#2302=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2301,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(40753.5859691223),#84); +#2303=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2302)); +#2304=IFCPRODUCTDEFINITIONSHAPE($,$,(#2303)); +#2305=IFCCARTESIANPOINT((40749.9185,748.0485)); +#2306=IFCDIRECTION((0.99991001,-0.01341546)); +#2307=IFCAXIS2PLACEMENT2D(#2305,#2306); +#2308=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,6.91642144E-06),$); +#2309=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2307,IFCPARAMETERVALUE(-969.913906022629),IFCPARAMETERVALUE(1199.99760000134),#2308); +#2310=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2309)); +#2311=IFCPRODUCTDEFINITIONSHAPE($,$,(#2310)); +#2312=IFCCARTESIANPOINT((41949.9161,741.90814)); +#2313=IFCDIRECTION((0.99999494,0.0031827)); +#2314=IFCAXIS2PLACEMENT2D(#2312,#2313); +#2315=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2314,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(435.00133318642),#84); +#2316=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2315)); +#2317=IFCPRODUCTDEFINITIONSHAPE($,$,(#2316)); +#2318=IFCCARTESIANPOINT((42384.91523,743.29262)); +#2319=IFCDIRECTION((0.99999494,0.0031827)); +#2320=IFCAXIS2PLACEMENT2D(#2318,#2319); +#2321=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.82555804E-06),$); +#2322=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2320,IFCPARAMETERVALUE(-329.776531410222),IFCPARAMETERVALUE(639.998720000498),#2321); +#2323=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2322)); +#2324=IFCPRODUCTDEFINITIONSHAPE($,$,(#2323)); +#2325=IFCCARTESIANPOINT((43024.914,743.35301)); +#2326=IFCDIRECTION((0.99999552,-0.00299398)); +#2327=IFCAXIS2PLACEMENT2D(#2325,#2326); +#2328=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,1.50931969E-05),$); +#2329=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2327,IFCPARAMETERVALUE(-99.183438901726),IFCPARAMETERVALUE(999.997899999958),#2328); +#2330=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2329)); +#2331=IFCPRODUCTDEFINITIONSHAPE($,$,(#2330)); +#2332=IFCCARTESIANPOINT((44024.9119,755.45216)); +#2333=IFCDIRECTION((0.99963049,0.02718229)); +#2334=IFCAXIS2PLACEMENT2D(#2332,#2333); +#2335=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2334,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(95.0349760745356),#84); +#2336=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2335)); +#2337=IFCPRODUCTDEFINITIONSHAPE($,$,(#2336)); +#2338=IFCCARTESIANPOINT((44119.91176,758.03543)); +#2339=IFCDIRECTION((0.99963049,0.02718229)); +#2340=IFCAXIS2PLACEMENT2D(#2338,#2339); +#2341=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.8306746E-05),$); +#2342=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2340,IFCPARAMETERVALUE(-742.686335177661),IFCPARAMETERVALUE(1499.99700000335),#2341); +#2343=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2342)); +#2344=IFCPRODUCTDEFINITIONSHAPE($,$,(#2343)); +#2345=IFCCARTESIANPOINT((45619.90876,757.63384)); +#2346=IFCDIRECTION((0.99961581,-0.02771714)); +#2347=IFCAXIS2PLACEMENT2D(#2345,#2346); +#2348=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2347,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(65.0248521134608),#84); +#2349=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2348)); +#2350=IFCPRODUCTDEFINITIONSHAPE($,$,(#2349)); +#2351=IFCCARTESIANPOINT((45684.90863,755.83154)); +#2352=IFCDIRECTION((0.99961581,-0.02771714)); +#2353=IFCAXIS2PLACEMENT2D(#2351,#2352); +#2354=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,2.42658419E-05),$); +#2355=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2353,IFCPARAMETERVALUE(-571.333729419708),IFCPARAMETERVALUE(749.998500007321),#2354); +#2356=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2355)); +#2357=IFCPRODUCTDEFINITIONSHAPE($,$,(#2356)); +#2358=IFCCARTESIANPOINT((46434.90713,748.68522)); +#2359=IFCDIRECTION((0.99996241,0.00867058)); +#2360=IFCAXIS2PLACEMENT2D(#2358,#2359); +#2361=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2360,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2610.09289379079),#84); +#2362=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2361)); +#2363=IFCPRODUCTDEFINITIONSHAPE($,$,(#2362)); +#2364=IFCCARTESIANPOINT((49044.90191,771.31623)); +#2365=IFCDIRECTION((0.99996241,0.00867058)); +#2366=IFCAXIS2PLACEMENT2D(#2364,#2365); +#2367=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-6.46296763E-06),$); +#2368=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2366,IFCPARAMETERVALUE(-670.814296319335),IFCPARAMETERVALUE(899.998200000264),#2367); +#2369=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2368)); +#2370=IFCPRODUCTDEFINITIONSHAPE($,$,(#2369)); +#2371=IFCCARTESIANPOINT((49944.90016,773.88505)); +#2372=IFCDIRECTION((0.99999561,-0.0029624)); +#2373=IFCAXIS2PLACEMENT2D(#2371,#2372); +#2374=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,8.46252472E-06),$); +#2375=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2373,IFCPARAMETERVALUE(-175.031471014699),IFCPARAMETERVALUE(499.998900000006),#2374); +#2376=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2375)); +#2377=IFCPRODUCTDEFINITIONSHAPE($,$,(#2376)); +#2378=IFCCARTESIANPOINT((50444.89906,774.51946)); +#2379=IFCDIRECTION((0.99998487,0.00550001)); +#2380=IFCAXIS2PLACEMENT2D(#2378,#2379); +#2381=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2380,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(1395.0183598657),#84); +#2382=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2381)); +#2383=IFCPRODUCTDEFINITIONSHAPE($,$,(#2382)); +#2384=IFCCARTESIANPOINT((51839.89632,782.19207)); +#2385=IFCDIRECTION((0.99998487,0.00550001)); +#2386=IFCAXIS2PLACEMENT2D(#2384,#2385); +#2387=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.06573683E-05),$); +#2388=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2386,IFCPARAMETERVALUE(-258.041649644596),IFCPARAMETERVALUE(399.99920000002),#2387); +#2389=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2388)); +#2390=IFCPRODUCTDEFINITIONSHAPE($,$,(#2389)); +#2391=IFCCARTESIANPOINT((52239.89557,782.68693)); +#2392=IFCDIRECTION((0.99999542,-0.00302577)); +#2393=IFCAXIS2PLACEMENT2D(#2391,#2392); +#2394=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,7.14941965E-06),$); +#2395=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2393,IFCPARAMETERVALUE(-211.610728232887),IFCPARAMETERVALUE(659.998580000014),#2394); +#2396=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2395)); +#2397=IFCPRODUCTDEFINITIONSHAPE($,$,(#2396)); +#2398=IFCCARTESIANPOINT((52899.89415,783.80419)); +#2399=IFCDIRECTION((0.99997945,0.00641129)); +#2400=IFCAXIS2PLACEMENT2D(#2398,#2399); +#2401=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2400,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(880.016376586275),#84); +#2402=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2401)); +#2403=IFCPRODUCTDEFINITIONSHAPE($,$,(#2402)); +#2404=IFCCARTESIANPOINT((53779.89244,789.44623)); +#2405=IFCDIRECTION((0.99997945,0.00641129)); +#2406=IFCAXIS2PLACEMENT2D(#2404,#2405); +#2407=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-5.85252327E-06),$); +#2408=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2406,IFCPARAMETERVALUE(-547.748854495137),IFCPARAMETERVALUE(799.998399999458),#2407); +#2409=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2408)); +#2410=IFCPRODUCTDEFINITIONSHAPE($,$,(#2409)); +#2411=IFCCARTESIANPOINT((54579.89089,790.82976)); +#2412=IFCDIRECTION((0.99999564,-0.00295258)); +#2413=IFCAXIS2PLACEMENT2D(#2411,#2412); +#2414=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,7.39303613E-06),$); +#2415=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2413,IFCPARAMETERVALUE(-199.687423428376),IFCPARAMETERVALUE(479.99894000002),#2414); +#2416=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2415)); +#2417=IFCPRODUCTDEFINITIONSHAPE($,$,(#2416)); +#2418=IFCCARTESIANPOINT((55059.88983,791.11587)); +#2419=IFCDIRECTION((0.99999141,0.00414467)); +#2420=IFCAXIS2PLACEMENT2D(#2418,#2419); +#2421=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2420,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2240.01480989923),#84); +#2422=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2421)); +#2423=IFCPRODUCTDEFINITIONSHAPE($,$,(#2422)); +#2424=IFCCARTESIANPOINT((57299.8854,800.39999)); +#2425=IFCDIRECTION((0.99999141,0.00414467)); +#2426=IFCAXIS2PLACEMENT2D(#2424,#2425); +#2427=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.43088579E-06),$); +#2428=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2426,IFCPARAMETERVALUE(-1448.30089915602),IFCPARAMETERVALUE(399.999200000544),#2427); +#2429=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2428)); +#2430=IFCPRODUCTDEFINITIONSHAPE($,$,(#2429)); +#2431=IFCCARTESIANPOINT((57699.8846,801.82893)); +#2432=IFCDIRECTION((0.9999955,0.00299999)); +#2433=IFCAXIS2PLACEMENT2D(#2431,#2432); +#2434=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2433,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(950.002374981334),#84); +#2435=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2434)); +#2436=IFCPRODUCTDEFINITIONSHAPE($,$,(#2435)); +#2437=IFCCARTESIANPOINT((58649.8827,804.67893)); +#2438=IFCDIRECTION((0.9999955,0.00299999)); +#2439=IFCAXIS2PLACEMENT2D(#2437,#2438); +#2440=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,9.16280196E-06),$); +#2441=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2439,IFCPARAMETERVALUE(163.705382489915),IFCPARAMETERVALUE(499.999000000884),#2440); +#2442=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2441)); +#2443=IFCPRODUCTDEFINITIONSHAPE($,$,(#2442)); +#2444=IFCCARTESIANPOINT((59149.8817,808.46962)); +#2445=IFCDIRECTION((0.99992604,0.01216188)); +#2446=IFCAXIS2PLACEMENT2D(#2444,#2445); +#2447=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2446,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(460.033103330727),#84); +#2448=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2447)); +#2449=IFCPRODUCTDEFINITIONSHAPE($,$,(#2448)); +#2450=IFCCARTESIANPOINT((59609.88078,814.06449)); +#2451=IFCDIRECTION((0.99992604,0.01216188)); +#2452=IFCAXIS2PLACEMENT2D(#2450,#2451); +#2453=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-4.58140098E-06),$); +#2454=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2452,IFCPARAMETERVALUE(-1327.40876498174),IFCPARAMETERVALUE(999.998000002),#2453); +#2455=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2454)); +#2456=IFCPRODUCTDEFINITIONSHAPE($,$,(#2455)); +#2457=IFCCARTESIANPOINT((60609.87878,821.64586)); +#2458=IFCDIRECTION((0.9999955,0.00299999)); +#2459=IFCAXIS2PLACEMENT2D(#2457,#2458); +#2460=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2459,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(1590.00397497902),#84); +#2461=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2460)); +#2462=IFCPRODUCTDEFINITIONSHAPE($,$,(#2461)); +#2463=IFCCARTESIANPOINT((62199.8756,826.41585)); +#2464=IFCDIRECTION((0.9999955,0.00299999)); +#2465=IFCAXIS2PLACEMENT2D(#2463,#2464); +#2466=IFCPOLYNOMIALCURVE(#96,(0.0,1.0),(0.0,0.0,-1.54238124E-06),$); +#2467=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2465,IFCPARAMETERVALUE(-972.522200987498),IFCPARAMETERVALUE(999.998000000021),#2466); +#2468=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2467)); +#2469=IFCPRODUCTDEFINITIONSHAPE($,$,(#2468)); +#2470=IFCCARTESIANPOINT((63199.8736,827.87347)); +#2471=IFCDIRECTION((1.0,-0.00008476)); +#2472=IFCAXIS2PLACEMENT2D(#2470,#2471); +#2473=IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#2472,IFCLENGTHMEASURE(0.0),IFCLENGTHMEASURE(1543.01507258926),#84); +#2474=IFCSHAPEREPRESENTATION(#90,'Axis','Segment',(#2473)); +#2475=IFCPRODUCTDEFINITIONSHAPE($,$,(#2474)); +#2476=IFCGRADIENTCURVE((#2302,#2309,#2315,#2322,#2329,#2335,#2342,#2348,#2355,#2361,#2368,#2375,#2381,#2388,#2395,#2401,#2408,#2415,#2421,#2428,#2434,#2441,#2447,#2454,#2460,#2467,#2473),.U.,#2240,$); +#2477=IFCSHAPEREPRESENTATION(#90,'Axis','Curve3D',(#2476)); +#2478=IFCPRODUCTDEFINITIONSHAPE($,$,(#2477)); +#2479=IFCSTYLEDITEM(#2476,(#254),'C-ROAD-PROF'); +#2480=IFCREFERENT('3rGJFxiJH4SP_pjPbLFtHC',$,'1217+18.92',$,$,#2484,$,.STATION.); +#2481=IFCRELNESTS('1ORF2B600HnBPuHMNieEMP',$,$,$,#2094,(#2480)); +#2482=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(0.0),$,$,$,#2240); +#2483=IFCAXIS2PLACEMENTLINEAR(#2482,$,$); +#2484=IFCLINEARPLACEMENT(#31,#2483,$); +#2485=IFCPROPERTYSET('1hqIWw1y9BZhDePcgFEtiQ',$,'Pset_Stationing',$,(#2487)); +#2486=IFCRELDEFINESBYPROPERTIES('3PQXq1XpD1MvwsYyUjNlr6',$,$,$,(#2480),#2485); +#2487=IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(121718.916666667),$); +#2488=IFCCLASSIFICATION($,$,$,'Civil 3D',$,$,$); +#2489=IFCRELASSOCIATESCLASSIFICATION('1Dpkm74oLFsgEtfZZfsa9P',$,$,$,(#25),#2488); +#2490=IFCCLASSIFICATIONREFERENCE($,$,'Civil 3D Styles',#2488,$,$); +#2491=IFCCLASSIFICATIONREFERENCE($,$,'Point Styles',#2490,$,$); +#2492=IFCCLASSIFICATIONREFERENCE($,$,'Basic',#2491,$,$); +#2493=IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2494=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#86,$,.MODEL_VIEW.,$); +#2495=IFCSHAPEREPRESENTATION(#2494,'Body','Point',(#2493)); +#2496=IFCPRODUCTDEFINITIONSHAPE($,$,(#2495)); +#2497=IFCANNOTATION('2TIqJt8zHBDOtb9NWNPUfa',$,'IFC Project Base Point 24Gn8Nh3D6d8e8$EFU4LBj','IFC Project Base Point','CogoPoint',#30,#2496,$); +#2498=IFCPROPERTYSINGLEVALUE('PointNumber',$,IFCIDENTIFIER('1'),$); +#2499=IFCPROPERTYSET('0Y0R_9ZZn2GvXackEDJVXx',$,'C3D_Attributes',$,(#2498)); +#2500=IFCRELDEFINESBYPROPERTIES('0P8bjhOH5B99GLEGhzmrN$',$,$,$,(#2497),#2499); +#2501=IFCCOLOURRGB('red',1.0,0.0,0.0); +#2502=IFCSURFACESTYLESHADING(#2501,$); +#2503=IFCSURFACESTYLE($,.BOTH.,(#2502)); +#2504=IFCPRESENTATIONLAYERWITHSTYLE('V-NODE',$,(#2493),$,.U.,.U.,.U.,(#2503)); +#2505=IFCSTYLEDITEM(#2493,(#2503),'V-NODE'); +#2506=IFCRELASSOCIATESCLASSIFICATION('2o2hcS4bT18BEC0rYD_vsW',$,$,$,(#2497),#2492); +#2507=IFCORGANIZATION($,'Unknown',$,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/gem051/fail-gem051-scenario03-wrong_context_type_ifc4x3.ifc b/test/files/gem051/fail-gem051-scenario03-wrong_context_type_ifc4x3.ifc index d545a1cc..3356419d 100644 --- a/test/files/gem051/fail-gem051-scenario03-wrong_context_type_ifc4x3.ifc +++ b/test/files/gem051/fail-gem051-scenario03-wrong_context_type_ifc4x3.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2024-07-29T16:14:11',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPERSON($,$,'',$,$,$,$,$); diff --git a/test/files/gem052/fail-gem052-invalid_starting_characters_ifc4x3_add2_ifcsite.ifc b/test/files/gem052/fail-gem052-invalid_starting_characters_ifc4x3_add2_ifcsite.ifc new file mode 100644 index 00000000..5dc594cd --- /dev/null +++ b/test/files/gem052/fail-gem052-invalid_starting_characters_ifc4x3_add2_ifcsite.ifc @@ -0,0 +1,38 @@ +ISO-10303-21; +HEADER; + +FILE_DESCRIPTION((''),'2;1'); +FILE_NAME('','2024-06-12T09:50:55',(''),(''),'LAB','GMN3DS',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; + +DATA; + +/* PROJECT CONTEXT */ +#1= IFCPROJECT('2eS$fZmw9QmetNIywDEzSR',#2,'ODT',$,$,$,$,(#10),#15); +#2= IFCOWNERHISTORY(#3,#6,$,.NOCHANGE.,$,$,$,152828); +#3= IFCPERSONANDORGANIZATION(#4,#5,$); +#4= IFCPERSON($,'','ALCHEMIST',$,$,$,$,$); +#5= IFCORGANIZATION($,'LAB',$,$,$); +#6= IFCAPPLICATION(#5,'2024','GREY','REVOLT'); + +#10= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-05,#11,$); +#11= IFCAXIS2PLACEMENT3D(#12,$,$); +#12= IFCCARTESIANPOINT((0.,0.,0.)); + +#15= IFCUNITASSIGNMENT((#16)); +#16= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); + + +/* SITES AGGREGATED TO PROJECT */ +#29=IFCRELAGGREGATES('2te7nJfPvJyvPEahDDrZW0',#2,'ProjectContainer',$,#1,(#29990,#30000,#30010,#30020,#30030,#30040)); +#31=IFCLOCALPLACEMENT($,#11); + + +#29990=IFCSITE('14oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withCorrectGuid',$,$,#31,$,$,.COMPLEX.,$,$,$,$,$); +#30030=IFCSITE('b4oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withIncorrectGuid','Invalid Starting Character',$,#31,$,$,.COMPLEX.,$,$,$,$,$); + + + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/ala001/fail-ala001-scenario03-polycurve_linear_order_3.ifc b/test/files/ifc102/pass-ifc102-ifc4x3_deprecated_entity_IfcTextLiteralWithExtent.ifc similarity index 100% rename from test/files/ala001/fail-ala001-scenario03-polycurve_linear_order_3.ifc rename to test/files/ifc102/pass-ifc102-ifc4x3_deprecated_entity_IfcTextLiteralWithExtent.ifc diff --git a/test/files/lay000/na-lay000-no_layer.ifc b/test/files/lay000/na-lay000-no_layer.ifc new file mode 100644 index 00000000..4e842679 --- /dev/null +++ b/test/files/lay000/na-lay000-no_layer.ifc @@ -0,0 +1,703 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[CoordinationView]'),'2;1'); +FILE_NAME('C:/Example/Path/Example_File.IFC','2024-07-04T11:07:30',(''),(''),'Example IFC','Example Architecture',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCOWNERHISTORY(#2,#6,.READWRITE.,.NOCHANGE.,$,$,$,1717175251); +#2=IFCPERSONANDORGANIZATION(#3,#4,$); +#3=IFCPERSON($,'LyJW9CgT','qn5b8q',$,$,$,$,$); +#4=IFCORGANIZATION($,'VHvFjj','RJlCa7',$,$); +#5=IFCORGANIZATION($,'NfxCxp','UxfxG4JeSg',$,$); +#6=IFCAPPLICATION(#5,'usBIM(k)','qca8Kedy','3tb9FTNh'); +#7=IFCPROJECT('0sPVYZ6W50IgvZvKUcnIDH',#1,'J82Cw3CF','JO2nuOplxQ',$,$,$,(#19),#11); +#8=IFCPROPERTYSET('2V1QcWSxb2JeeuBzPj0HiY',#1,'acWSAbGf','R8rjU42',(#9)); +#9=IFCPROPERTYSINGLEVALUE('nOOicDw7','Vi1Guc',IFCINTEGER(2),$); +#10=IFCRELDEFINESBYPROPERTIES('2OORkakxn9off7ouiac54e',#1,'RYMJzD','LAUzaj1',(#7),#8); +#11=IFCUNITASSIGNMENT((#12,#13,#14,#15)); +#12=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#13=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#14=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#15=IFCCONVERSIONBASEDUNIT(#16,.PLANEANGLEUNIT.,'0LRIo3',#17); +#16=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#17=IFCMEASUREWITHUNIT(IFCRATIOMEASURE(1.74532925E-2),#18); +#18=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#19=IFCGEOMETRICREPRESENTATIONCONTEXT('3D','Model',3,1.E-4,#20,#22); +#20=IFCAXIS2PLACEMENT3D(#21,$,$); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCDIRECTION((0.,1.)); +#23=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#24=IFCMATERIAL('AAED9oV','g5RW3aKB9',$); +#25=IFCMATERIALDEFINITIONREPRESENTATION('wunw7SNFWQ','BFOfz1R',(#26),#24); +#26=IFCSTYLEDREPRESENTATION(#19,$,$,(#27)); +#27=IFCSTYLEDITEM($,(#29),'HjxM4N'); +#28=IFCSURFACESTYLE('19VBfxNOQt',.BOTH.,(#30)); +#29=IFCPRESENTATIONSTYLEASSIGNMENT((#28)); +#30=IFCSURFACESTYLERENDERING(#31,0.,#32,$,$,$,#33,$,.NOTDEFINED.); +#31=IFCCOLOURRGB('UDMS7rp',1.,1.,9.17647058823529E-1); +#32=IFCCOLOURRGB('IQemQL80',1.,1.,9.17647058823529E-1); +#33=IFCCOLOURRGB('92RunbzgVb',0.,0.,0.); +#34=IFCMATERIAL('vxCq6wlhB','3uhGizm15',$); +#35=IFCMATERIALDEFINITIONREPRESENTATION('WP1Feu7Ly','oiAlJo',(#36),#34); +#36=IFCSTYLEDREPRESENTATION(#19,$,$,(#37)); +#37=IFCSTYLEDITEM($,(#39),'1bsqLTx9th'); +#38=IFCSURFACESTYLE('WdXDWfOXL',.BOTH.,(#40)); +#39=IFCPRESENTATIONSTYLEASSIGNMENT((#38)); +#40=IFCSURFACESTYLERENDERING(#41,0.,#42,$,$,$,#43,$,.NOTDEFINED.); +#41=IFCCOLOURRGB('oxrhu1YbT',8.11764705882353E-1,9.05882352941176E-1,9.05882352941176E-1); +#42=IFCCOLOURRGB('6LC6cS6R',8.11764705882353E-1,9.05882352941176E-1,9.05882352941176E-1); +#43=IFCCOLOURRGB('IeKtmD9t1',0.,0.,0.); +#44=IFCMATERIAL('ua7mRf','2Zmq0pBM',$); +#45=IFCMATERIALDEFINITIONREPRESENTATION('sGYrFfiEAy','nNWZ2Vf9',(#46),#44); +#46=IFCSTYLEDREPRESENTATION(#19,$,$,(#47)); +#47=IFCSTYLEDITEM($,(#49),'MIEVEe'); +#48=IFCSURFACESTYLE('n5K8gADX',.BOTH.,(#50)); +#49=IFCPRESENTATIONSTYLEASSIGNMENT((#48)); +#50=IFCSURFACESTYLERENDERING(#51,0.,#52,$,$,$,#53,$,.NOTDEFINED.); +#51=IFCCOLOURRGB('K7OJHcnhA',1.,1.,1.); +#52=IFCCOLOURRGB('04hVaE6E',1.,1.,1.); +#53=IFCCOLOURRGB('6Zs1TE3x',0.,0.,0.); +#54=IFCMATERIAL('wAOktOG5do','mWgq2SlIv',$); +#55=IFCMATERIALDEFINITIONREPRESENTATION('WdfOEH1','slISwxTc',(#56),#54); +#56=IFCSTYLEDREPRESENTATION(#19,$,$,(#57)); +#57=IFCSTYLEDITEM($,(#59),'r1EBUqK'); +#58=IFCSURFACESTYLE('9qb1FZ8',.BOTH.,(#60)); +#59=IFCPRESENTATIONSTYLEASSIGNMENT((#58)); +#60=IFCSURFACESTYLERENDERING(#61,5.99999994039536E-1,#62,$,$,$,#63,$,.NOTDEFINED.); +#61=IFCCOLOURRGB('pYEErqihNj',1.,1.,1.); +#62=IFCCOLOURRGB('lbk7xGoSUc',1.,1.,1.); +#63=IFCCOLOURRGB('0Wj4BgImf',4.6875E-2,4.6875E-2,4.6875E-2); +#64=IFCMATERIAL('1K88eMG4','6rneA18Nm',$); +#65=IFCMATERIALDEFINITIONREPRESENTATION('xfv3IZfY','7zDpO2F9',(#66),#64); +#66=IFCSTYLEDREPRESENTATION(#19,$,$,(#67)); +#67=IFCSTYLEDITEM($,(#69),'p2k9Fig6'); +#68=IFCSURFACESTYLE('IoUdzR2zL',.BOTH.,(#70)); +#69=IFCPRESENTATIONSTYLEASSIGNMENT((#68)); +#70=IFCSURFACESTYLERENDERING(#71,0.,#72,$,$,$,#73,$,.NOTDEFINED.); +#71=IFCCOLOURRGB('VHQCjW',4.03921574354172E-1,3.29411774873734E-1,2.43137255311012E-1); +#72=IFCCOLOURRGB('ziKQjAt3NA',4.03921574354172E-1,3.29411774873734E-1,2.43137255311012E-1); +#73=IFCCOLOURRGB('FwMrwtGK',0.,0.,0.); +#74=IFCMATERIAL('k0tTNiLC','pl30UkY1',$); +#75=IFCMATERIALDEFINITIONREPRESENTATION('GF2nVl','VnoNBLk',(#76),#74); +#76=IFCSTYLEDREPRESENTATION(#19,$,$,(#77)); +#77=IFCSTYLEDITEM($,(#79),'7ool28'); +#78=IFCSURFACESTYLE('eLFAMd',.BOTH.,(#80)); +#79=IFCPRESENTATIONSTYLEASSIGNMENT((#78)); +#80=IFCSURFACESTYLERENDERING(#81,0.,#82,$,$,$,#83,$,.NOTDEFINED.); +#81=IFCCOLOURRGB('4Wo0F995oI',6.50980412960052E-1,6.70588254928589E-1,7.09803938865662E-1); +#82=IFCCOLOURRGB('D3gFT2UMk',6.50980412960052E-1,6.70588254928589E-1,7.09803938865662E-1); +#83=IFCCOLOURRGB('PjbxT40GM1',0.,0.,0.); +#84=IFCREPRESENTATIONMAP(#87,#88); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#21,#85,#86); +#88=IFCSHAPEREPRESENTATION(#23,'Body','Tessellation',(#89,#108,#131,#158,#167,#190,#199,#208,#217,#244)); +#89=IFCPOLYGONALFACESET(#90,$,(#91,#92,#93,#94,#95,#96,#97,#98,#99,#100,#101,#102,#103,#104,#105,#106),$); +#90=IFCCARTESIANPOINTLIST3D(((-6.49999976158142E-1,1.45000004768372,-3.99999991059303E-2),(-6.49999976158142E-1,1.45000004768372,3.99999991059303E-2),(-6.49999976158142E-1,5.00000007450581E-2,3.99999991059303E-2),(-6.49999976158142E-1,5.00000007450581E-2,-3.99999991059303E-2),(-6.99999988079071E-1,1.5,3.99999991059303E-2),(-6.99999988079071E-1,0.,3.99999991059303E-2),(-6.99999988079071E-1,1.5,-3.99999991059303E-2),(-6.99999988079071E-1,0.,-3.99999991059303E-2),(6.49999976158142E-1,5.0000000745058E-2,3.99999991059303E-2),(6.49999976158142E-1,5.0000000745058E-2,-3.99999991059303E-2),(6.99999988079071E-1,0.,3.99999991059303E-2),(6.49999976158142E-1,5.00000007450581E-2,3.99999991059303E-2),(6.99999988079071E-1,0.,-3.99999991059303E-2),(6.49999976158142E-1,5.00000007450581E-2,-3.99999991059303E-2),(6.49999976158142E-1,1.45000004768372,3.99999991059303E-2),(6.49999976158142E-1,1.45000004768372,-3.99999991059303E-2),(6.99999988079071E-1,1.5,3.99999991059303E-2),(6.99999988079071E-1,1.5,-3.99999991059303E-2))); +#91=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#92=IFCINDEXEDPOLYGONALFACE((2,5,6,3)); +#93=IFCINDEXEDPOLYGONALFACE((5,7,8,6)); +#94=IFCINDEXEDPOLYGONALFACE((7,1,4,8)); +#95=IFCINDEXEDPOLYGONALFACE((4,3,9,10)); +#96=IFCINDEXEDPOLYGONALFACE((3,6,11,12)); +#97=IFCINDEXEDPOLYGONALFACE((6,8,13,11)); +#98=IFCINDEXEDPOLYGONALFACE((8,4,14,13)); +#99=IFCINDEXEDPOLYGONALFACE((14,12,15,16)); +#100=IFCINDEXEDPOLYGONALFACE((12,11,17,15)); +#101=IFCINDEXEDPOLYGONALFACE((11,13,18,17)); +#102=IFCINDEXEDPOLYGONALFACE((13,14,16,18)); +#103=IFCINDEXEDPOLYGONALFACE((16,15,2,1)); +#104=IFCINDEXEDPOLYGONALFACE((15,17,5,2)); +#105=IFCINDEXEDPOLYGONALFACE((17,18,7,5)); +#106=IFCINDEXEDPOLYGONALFACE((18,16,1,7)); +#107=IFCSTYLEDITEM(#89,(#69),'jmF8hV'); +#108=IFCPOLYGONALFACESET(#109,$,(#110,#111,#112,#113,#114,#115,#116,#117,#118,#119,#120,#121,#122,#123,#124,#125,#126,#127,#128,#129),$); +#109=IFCCARTESIANPOINTLIST3D(((-6.10000014305115E-1,1.4099999666214,-3.50000001490116E-2),(-6.00000019185245E-1,1.39999997615814,-2.50000050291419E-2),(-6.00000019185245E-1,1.00000001490116E-1,-2.50000050291419E-2),(-6.10000014305115E-1,9.00000035762787E-2,-3.50000001490116E-2),(-6.00000023841858E-1,1.39999997615814,-2.5000000372529E-2),(-6.00000023841858E-1,1.39999997615814,3.50000001490116E-2),(-6.00000023841858E-1,1.00000001490116E-1,3.50000001490116E-2),(-6.00000023841858E-1,1.00000001490116E-1,-2.5000000372529E-2),(-6.49999976158142E-1,1.45000004768372,3.50000001490116E-2),(-6.49999976158142E-1,5.00000007450581E-2,3.50000001490116E-2),(-6.49999976158142E-1,1.45000004768372,-3.50000001490116E-2),(-6.49999976158142E-1,5.00000007450581E-2,-3.50000001490116E-2),(-6.00000023841858E-1,1.00000002421439E-1,-2.50000013038516E-2),(-5.00000007450581E-2,1.00000002421439E-1,-2.50000013038516E-2),(-3.99999991059303E-2,9.00000035762787E-2,-3.50000001490116E-2),(-5.00000007450581E-2,1.00000001490116E-1,3.50000001490116E-2),(-5.00000007450581E-2,1.00000001490116E-1,-2.5000000372529E-2),(-1.33226762955019E-15,5.00000007450581E-2,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,-3.50000001490116E-2),(-4.99999998137355E-2,1.00000001490116E-1,-2.49999994412065E-2),(-4.99999998137354E-2,1.39999997615814,-2.49999994412064E-2),(-3.99999991059303E-2,1.4099999666214,-3.50000001490116E-2),(-5.00000007450579E-2,1.39999997615814,3.50000001490116E-2),(-5.00000007450579E-2,1.39999997615814,-2.5000000372529E-2),(-1.22124532708767E-15,1.45000004768372,3.50000001490116E-2),(-5.00000007450581E-2,1.39999997615814,3.50000001490116E-2),(-1.22124532071838E-15,1.45000004768372,-3.50000001490116E-2),(-1.22124532071838E-15,1.45000004768372,3.50000001490116E-2),(-1.22124532708767E-15,1.45000004768372,-3.50000001490116E-2),(-5.00000007450581E-2,1.39999997150153,-2.50000050291419E-2),(-6.00000023841858E-1,1.39999997150153,-2.50000050291417E-2),(-6.10000014305115E-1,1.4099999666214,-3.50000001490115E-2),(-5.00000007450581E-2,1.39999997615814,-2.5000000372529E-2))); +#110=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#111=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#112=IFCINDEXEDPOLYGONALFACE((6,9,10,7)); +#113=IFCINDEXEDPOLYGONALFACE((9,11,12,10)); +#114=IFCINDEXEDPOLYGONALFACE((11,1,4,12)); +#115=IFCINDEXEDPOLYGONALFACE((4,13,14,15)); +#116=IFCINDEXEDPOLYGONALFACE((8,7,16,17)); +#117=IFCINDEXEDPOLYGONALFACE((7,10,18,16)); +#118=IFCINDEXEDPOLYGONALFACE((10,12,19,18)); +#119=IFCINDEXEDPOLYGONALFACE((12,4,15,19)); +#120=IFCINDEXEDPOLYGONALFACE((15,20,21,22)); +#121=IFCINDEXEDPOLYGONALFACE((17,16,23,24)); +#122=IFCINDEXEDPOLYGONALFACE((16,18,25,26)); +#123=IFCINDEXEDPOLYGONALFACE((18,19,27,28)); +#124=IFCINDEXEDPOLYGONALFACE((19,15,22,29)); +#125=IFCINDEXEDPOLYGONALFACE((22,30,31,32)); +#126=IFCINDEXEDPOLYGONALFACE((33,26,6,5)); +#127=IFCINDEXEDPOLYGONALFACE((26,25,9,6)); +#128=IFCINDEXEDPOLYGONALFACE((25,29,11,9)); +#129=IFCINDEXEDPOLYGONALFACE((29,22,1,11)); +#130=IFCSTYLEDITEM(#108,(#69),'yPWZMhtf'); +#131=IFCPOLYGONALFACESET(#132,$,(#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,#144,#145,#146,#147,#148,#149,#150,#151,#152,#153,#154,#155,#156),$); +#132=IFCCARTESIANPOINTLIST3D(((-5.84999978542328E-1,1.38499999046326,-9.99999977648258E-3),(-5.79999980982393E-1,1.37999999523163,-5.00000221654773E-3),(-5.79999980982393E-1,1.19999997317791E-1,-5.00000221654773E-3),(-5.84999978542328E-1,1.15000002086163E-1,-9.99999977648258E-3),(-5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(-5.84999980870634E-1,1.38499999046326,9.99999744817615E-3),(-5.84999980870634E-1,1.15000002086163E-1,9.99999744817615E-3),(-5.84999978542328E-1,1.38499999046326,9.99999977648258E-3),(-6.00000023841858E-1,1.39999997615814,9.99999977648258E-3),(-6.00000023841858E-1,1.00000001490116E-1,9.99999977648258E-3),(-5.84999978542328E-1,1.15000002086163E-1,9.99999977648258E-3),(-6.00000023841858E-1,1.39999997615814,-9.99999977648258E-3),(-6.00000023841858E-1,1.00000001490116E-1,-9.99999977648258E-3),(-5.79999983310699E-1,1.19999999646097E-1,-5.00000221654773E-3),(-7.00000002980232E-2,1.19999999646097E-1,-5.00000221654773E-3),(-6.49999976158142E-2,1.15000002086163E-1,-9.99999977648258E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(-5.84999978542328E-1,1.14999999757856E-1,9.99999744817615E-3),(-6.49999976158142E-2,1.14999999757856E-1,9.99999744817613E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824127E-3),(-5.00000007450581E-2,1.00000001490116E-1,9.99999977648258E-3),(-6.49999976158142E-2,1.15000002086163E-1,9.99999977648258E-3),(-5.00000007450581E-2,1.00000001490116E-1,-9.99999977648258E-3),(-6.99999989010394E-2,1.19999997317791E-1,-4.99999849125743E-3),(-6.99999989010394E-2,1.37999999523163,-4.99999849125743E-3),(-6.49999976158142E-2,1.38499999046326,-9.99999977648258E-3),(-7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(-7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(-6.49999990127981E-2,1.15000002086163E-1,1.00000011734664E-2),(-6.4999999012798E-2,1.38499999046326,1.00000011734663E-2),(-7.00000002980231E-2,1.37999999523163,4.99999988824118E-3),(-5.00000007450581E-2,1.39999997615814,9.99999977648258E-3),(-6.49999976158142E-2,1.38499999046326,9.99999977648258E-3),(-5.00000007450579E-2,1.39999997615814,-9.99999977648258E-3),(-5.00000007450579E-2,1.39999997615814,9.99999977648258E-3),(-5.00000007450581E-2,1.39999997615814,-9.99999977648258E-3),(-7.00000002980232E-2,1.37999999290332,-5.00000221654769E-3),(-5.79999983310699E-1,1.37999999290332,-5.00000221654769E-3),(-6.49999976158142E-2,1.38499999279156,9.99999744817619E-3),(-5.84999978542328E-1,1.38499999279156,9.99999744817634E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824145E-3))); +#133=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#134=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#135=IFCINDEXEDPOLYGONALFACE((6,9,10,7)); +#136=IFCINDEXEDPOLYGONALFACE((11,12,13,14)); +#137=IFCINDEXEDPOLYGONALFACE((12,15,16,13)); +#138=IFCINDEXEDPOLYGONALFACE((15,1,4,16)); +#139=IFCINDEXEDPOLYGONALFACE((4,17,18,19)); +#140=IFCINDEXEDPOLYGONALFACE((8,7,20,21)); +#141=IFCINDEXEDPOLYGONALFACE((7,22,23,24)); +#142=IFCINDEXEDPOLYGONALFACE((14,13,25,26)); +#143=IFCINDEXEDPOLYGONALFACE((13,16,27,25)); +#144=IFCINDEXEDPOLYGONALFACE((16,4,19,27)); +#145=IFCINDEXEDPOLYGONALFACE((19,28,29,30)); +#146=IFCINDEXEDPOLYGONALFACE((21,20,31,32)); +#147=IFCINDEXEDPOLYGONALFACE((20,33,34,35)); +#148=IFCINDEXEDPOLYGONALFACE((26,25,36,37)); +#149=IFCINDEXEDPOLYGONALFACE((25,27,38,39)); +#150=IFCINDEXEDPOLYGONALFACE((27,19,30,40)); +#151=IFCINDEXEDPOLYGONALFACE((30,41,42,1)); +#152=IFCINDEXEDPOLYGONALFACE((32,31,6,5)); +#153=IFCINDEXEDPOLYGONALFACE((31,43,44,45)); +#154=IFCINDEXEDPOLYGONALFACE((37,36,12,11)); +#155=IFCINDEXEDPOLYGONALFACE((36,40,15,12)); +#156=IFCINDEXEDPOLYGONALFACE((40,30,1,15)); +#157=IFCSTYLEDITEM(#131,(#69),'NM0pR2geMN'); +#158=IFCPOLYGONALFACESET(#159,$,(#160,#161,#162,#163,#164,#165),$); +#159=IFCCARTESIANPOINTLIST3D(((-7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(-7.00000002980231E-2,1.37999999523163,-4.99999988824129E-3),(-7.00000002980231E-2,1.37999999523163,4.99999988824129E-3))); +#160=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#161=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#162=IFCINDEXEDPOLYGONALFACE((4,3,6,5)); +#163=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#164=IFCINDEXEDPOLYGONALFACE((2,9,10,7)); +#165=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#166=IFCSTYLEDITEM(#158,(#59),'LZmDFma'); +#167=IFCPOLYGONALFACESET(#168,$,(#169,#170,#171,#172,#173,#174,#175,#176,#177,#178,#179,#180,#181,#182,#183,#184,#185,#186,#187,#188),$); +#168=IFCCARTESIANPOINTLIST3D(((3.99999991059303E-2,1.4099999666214,-3.50000001490116E-2),(4.99999998137355E-2,1.39999997615814,-2.49999994412065E-2),(4.99999998137354E-2,1.00000001490116E-1,-2.49999994412064E-2),(3.99999991059303E-2,9.00000035762787E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.39999997615814,-2.5000000372529E-2),(5.00000007450581E-2,1.39999997615814,3.50000001490116E-2),(5.00000007450579E-2,1.00000001490116E-1,3.50000001490116E-2),(5.00000007450579E-2,1.00000001490116E-1,-2.5000000372529E-2),(-1.22124532708767E-15,1.45000004768372,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,3.50000001490116E-2),(5.00000007450581E-2,1.00000001490116E-1,3.50000001490116E-2),(-1.22124532708767E-15,1.45000004768372,-3.50000001490116E-2),(-1.33226763591948E-15,5.00000007450581E-2,-3.50000001490116E-2),(-1.33226763591948E-15,5.00000007450581E-2,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.00000002421439E-1,-2.50000013038516E-2),(6.00000023841858E-1,1.00000002421439E-1,-2.50000013038516E-2),(6.10000014305115E-1,9.00000035762787E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.00000001490116E-1,-2.5000000372529E-2),(6.00000023841858E-1,1.00000001490116E-1,3.50000001490116E-2),(6.00000023841858E-1,1.00000001490116E-1,-2.5000000372529E-2),(6.49999976158142E-1,5.00000007450581E-2,3.50000001490116E-2),(6.49999976158142E-1,5.00000007450581E-2,-3.50000001490116E-2),(6.00000019185245E-1,1.00000001490116E-1,-2.50000050291419E-2),(6.00000019185245E-1,1.39999997615814,-2.50000050291419E-2),(6.10000014305115E-1,1.4099999666214,-3.50000001490116E-2),(6.00000023841858E-1,1.39999997615814,3.50000001490116E-2),(6.00000023841858E-1,1.39999997615814,-2.5000000372529E-2),(6.49999976158142E-1,1.45000004768372,3.50000001490116E-2),(6.49999976158142E-1,1.45000004768372,-3.50000001490116E-2),(6.00000023841858E-1,1.39999997150153,-2.50000050291419E-2),(5.00000007450581E-2,1.39999997150153,-2.50000050291419E-2))); +#169=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#170=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#171=IFCINDEXEDPOLYGONALFACE((6,9,10,11)); +#172=IFCINDEXEDPOLYGONALFACE((9,12,13,14)); +#173=IFCINDEXEDPOLYGONALFACE((12,1,4,15)); +#174=IFCINDEXEDPOLYGONALFACE((4,16,17,18)); +#175=IFCINDEXEDPOLYGONALFACE((19,11,20,21)); +#176=IFCINDEXEDPOLYGONALFACE((11,10,22,20)); +#177=IFCINDEXEDPOLYGONALFACE((10,15,23,22)); +#178=IFCINDEXEDPOLYGONALFACE((15,4,18,23)); +#179=IFCINDEXEDPOLYGONALFACE((18,24,25,26)); +#180=IFCINDEXEDPOLYGONALFACE((21,20,27,28)); +#181=IFCINDEXEDPOLYGONALFACE((20,22,29,27)); +#182=IFCINDEXEDPOLYGONALFACE((22,23,30,29)); +#183=IFCINDEXEDPOLYGONALFACE((23,18,26,30)); +#184=IFCINDEXEDPOLYGONALFACE((26,31,32,1)); +#185=IFCINDEXEDPOLYGONALFACE((28,27,6,5)); +#186=IFCINDEXEDPOLYGONALFACE((27,29,9,6)); +#187=IFCINDEXEDPOLYGONALFACE((29,30,12,9)); +#188=IFCINDEXEDPOLYGONALFACE((30,26,1,12)); +#189=IFCSTYLEDITEM(#167,(#69),'RSHA1XxPb'); +#190=IFCPOLYGONALFACESET(#191,$,(#192,#193,#194,#195,#196,#197),$); +#191=IFCCARTESIANPOINTLIST3D(((4.50000017881393E-2,7.69999980926514E-1,3.50000001490116E-2),(4.50000017881393E-2,7.30000019073486E-1,3.50000001490116E-2),(4.99999988824129E-3,7.30000019073486E-1,3.50000001490116E-2),(4.99999988824129E-3,7.69999980926514E-1,3.50000001490116E-2),(4.99999988824129E-3,7.69999980926514E-1,4.30000014603138E-2),(4.99999988824129E-3,7.30000019073486E-1,4.30000014603138E-2),(4.50000017881393E-2,7.30000019073486E-1,4.30000014603138E-2),(4.50000017881393E-2,7.69999980926514E-1,4.30000014603138E-2))); +#192=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#193=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#194=IFCINDEXEDPOLYGONALFACE((4,3,6,5)); +#195=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#196=IFCINDEXEDPOLYGONALFACE((2,1,8,7)); +#197=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#198=IFCSTYLEDITEM(#190,(#79),'ZoFKry1w'); +#199=IFCPOLYGONALFACESET(#200,$,(#201,#202,#203,#204,#205,#206),$); +#200=IFCCARTESIANPOINTLIST3D(((3.24999988079071E-2,7.54999995231628E-1,4.30000014603138E-2),(3.24999988079071E-2,7.45000004768372E-1,4.30000014603138E-2),(1.75000000745058E-2,7.45000004768372E-1,4.30000014603138E-2),(1.75000000745058E-2,7.54999995231628E-1,4.30000014603138E-2),(1.75000000745058E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000001043081E-1,7.30000026524067E-2),(3.24999988079071E-2,7.45000001043081E-1,7.30000026524067E-2),(3.24999988079071E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000004768372E-1,7.29999989271164E-2),(3.24999988079071E-2,7.45000004768372E-1,7.29999989271164E-2))); +#201=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#202=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#203=IFCINDEXEDPOLYGONALFACE((4,3,9,5)); +#204=IFCINDEXEDPOLYGONALFACE((3,2,10,9)); +#205=IFCINDEXEDPOLYGONALFACE((2,1,8,10)); +#206=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#207=IFCSTYLEDITEM(#199,(#79),'fQI0KF'); +#208=IFCPOLYGONALFACESET(#209,$,(#210,#211,#212,#213,#214,#215),$); +#209=IFCCARTESIANPOINTLIST3D(((3.24999988079071E-2,7.54999995231628E-1,8.29999968409538E-2),(3.24999988079071E-2,7.45000001043081E-1,7.30000026524067E-2),(1.75000000745058E-2,7.45000001043081E-1,7.30000026524067E-2),(1.75000000745058E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,6.25E-1,8.29999968409538E-2),(1.75000000745058E-2,6.25E-1,7.29999989271164E-2),(3.24999988079071E-2,6.25E-1,7.29999989271164E-2),(3.24999988079071E-2,6.25E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000004768372E-1,7.29999989271164E-2),(3.24999988079071E-2,7.45000004768372E-1,7.29999989271164E-2))); +#210=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#211=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#212=IFCINDEXEDPOLYGONALFACE((4,9,6,5)); +#213=IFCINDEXEDPOLYGONALFACE((9,10,7,6)); +#214=IFCINDEXEDPOLYGONALFACE((10,1,8,7)); +#215=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#216=IFCSTYLEDITEM(#208,(#79),'TGaedUr'); +#217=IFCPOLYGONALFACESET(#218,$,(#219,#220,#221,#222,#223,#224,#225,#226,#227,#228,#229,#230,#231,#232,#233,#234,#235,#236,#237,#238,#239,#240,#241,#242),$); +#218=IFCCARTESIANPOINTLIST3D(((6.49999976158142E-2,1.38499999046326,-9.99999977648258E-3),(6.99999989010394E-2,1.37999999523163,-4.99999849125743E-3),(6.99999989010393E-2,1.19999997317791E-1,-4.99999849125738E-3),(6.49999976158142E-2,1.15000002086163E-1,-9.99999977648253E-3),(7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,-4.99999988824129E-3),(6.49999990127981E-2,1.38499999046326,1.00000011734664E-2),(6.49999990127981E-2,1.15000002086163E-1,1.00000011734664E-2),(7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(6.49999976158142E-2,1.38499999046326,9.99999977648258E-3),(5.00000007450581E-2,1.39999997615814,9.99999977648258E-3),(5.00000007450581E-2,1.00000001490116E-1,9.99999977648258E-3),(6.49999976158142E-2,1.15000002086163E-1,9.99999977648258E-3),(5.00000007450581E-2,1.39999997615814,-9.99999977648258E-3),(5.00000007450579E-2,1.00000001490116E-1,-9.99999977648258E-3),(5.00000007450579E-2,1.00000001490116E-1,9.99999977648258E-3),(6.49999976158142E-2,1.15000002086163E-1,-9.99999977648258E-3),(5.00000007450581E-2,1.00000001490116E-1,-9.99999977648258E-3),(7.00000002980232E-2,1.19999999646097E-1,-5.00000221654773E-3),(5.79999983310699E-1,1.19999999646097E-1,-5.00000221654773E-3),(5.84999978542328E-1,1.15000002086163E-1,-9.99999977648258E-3),(7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(6.49999976158142E-2,1.14999999757856E-1,9.99999744817615E-3),(5.84999978542328E-1,1.14999999757856E-1,9.99999744817613E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824127E-3),(6.00000023841858E-1,1.00000001490116E-1,9.99999977648258E-3),(5.84999978542328E-1,1.15000002086163E-1,9.99999977648258E-3),(6.00000023841858E-1,1.00000001490116E-1,-9.99999977648258E-3),(5.79999980982393E-1,1.19999997317791E-1,-5.00000221654773E-3),(5.79999980982393E-1,1.37999999523163,-5.00000221654773E-3),(5.84999978542328E-1,1.38499999046326,-9.99999977648258E-3),(5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(5.84999980870634E-1,1.15000002086163E-1,9.99999744817615E-3),(5.84999980870634E-1,1.38499999046326,9.99999744817603E-3),(5.799999833107E-1,1.37999999523163,4.99999988824117E-3),(6.00000023841858E-1,1.39999997615814,9.99999977648258E-3),(5.84999978542328E-1,1.38499999046326,9.99999977648258E-3),(6.00000023841858E-1,1.39999997615814,-9.99999977648258E-3),(5.79999983310699E-1,1.37999999290332,-5.00000221654769E-3),(7.00000002980232E-2,1.37999999290332,-5.00000221654769E-3),(5.84999978542328E-1,1.38499999279156,9.99999744817619E-3),(6.49999976158142E-2,1.38499999279156,9.99999744817619E-3))); +#219=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#220=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#221=IFCINDEXEDPOLYGONALFACE((6,9,10,11)); +#222=IFCINDEXEDPOLYGONALFACE((12,13,14,15)); +#223=IFCINDEXEDPOLYGONALFACE((13,16,17,18)); +#224=IFCINDEXEDPOLYGONALFACE((16,1,19,20)); +#225=IFCINDEXEDPOLYGONALFACE((19,21,22,23)); +#226=IFCINDEXEDPOLYGONALFACE((24,11,25,26)); +#227=IFCINDEXEDPOLYGONALFACE((11,27,28,29)); +#228=IFCINDEXEDPOLYGONALFACE((15,14,30,31)); +#229=IFCINDEXEDPOLYGONALFACE((14,20,32,30)); +#230=IFCINDEXEDPOLYGONALFACE((20,19,23,32)); +#231=IFCINDEXEDPOLYGONALFACE((23,33,34,35)); +#232=IFCINDEXEDPOLYGONALFACE((26,25,36,37)); +#233=IFCINDEXEDPOLYGONALFACE((25,38,39,40)); +#234=IFCINDEXEDPOLYGONALFACE((31,30,41,42)); +#235=IFCINDEXEDPOLYGONALFACE((30,32,43,41)); +#236=IFCINDEXEDPOLYGONALFACE((32,23,35,43)); +#237=IFCINDEXEDPOLYGONALFACE((35,44,45,1)); +#238=IFCINDEXEDPOLYGONALFACE((37,36,6,5)); +#239=IFCINDEXEDPOLYGONALFACE((36,46,47,6)); +#240=IFCINDEXEDPOLYGONALFACE((42,41,13,12)); +#241=IFCINDEXEDPOLYGONALFACE((41,43,16,13)); +#242=IFCINDEXEDPOLYGONALFACE((43,35,1,16)); +#243=IFCSTYLEDITEM(#217,(#69),'uAtkVH'); +#244=IFCPOLYGONALFACESET(#245,$,(#246,#247,#248,#249,#250,#251),$); +#245=IFCCARTESIANPOINTLIST3D(((5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,4.99999988824129E-3))); +#246=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#247=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#248=IFCINDEXEDPOLYGONALFACE((4,9,10,5)); +#249=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#250=IFCINDEXEDPOLYGONALFACE((2,1,8,7)); +#251=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#252=IFCSTYLEDITEM(#244,(#59),'9yGsbva0bG'); +#253=IFCSITE('2wovVXpgj1cRsZ_0dvJtaZ',#1,'XQpDvAqILs','hqXsVJ7zhR',$,#254,$,$,.ELEMENT.,(0,0,0,0),(0,0,0,0),0.,$,$); +#254=IFCLOCALPLACEMENT($,#257); +#255=IFCDIRECTION((0.,0.,1.)); +#256=IFCDIRECTION((1.,0.,0.)); +#257=IFCAXIS2PLACEMENT3D(#21,#255,#256); +#258=IFCBUILDING('1q4MsgfUf4Metm2lRt$BR5',#1,'lHnHpG','HSiRpWoxS',$,#259,$,$,.ELEMENT.,$,$,#674); +#259=IFCLOCALPLACEMENT(#254,#262); +#260=IFCDIRECTION((0.,0.,1.)); +#261=IFCDIRECTION((1.,0.,0.)); +#262=IFCAXIS2PLACEMENT3D(#21,#260,#261); +#263=IFCBUILDINGSTOREY('0bBdAVTgr2rAo1IEd_kcfo',#1,'3lc8ZLycF','NcCLTN',$,#267,$,$,.ELEMENT.,-1.5); +#264=IFCPROPERTYSET('13u1ZCs_9ApwnJgokMM1lS',#1,'eAqsHPZ0kN','YKIl6QU9',(#265)); +#265=IFCPROPERTYSINGLEVALUE('ZSAv5T8lX','x2RBedZj5',IFCINTEGER(1),$); +#266=IFCRELDEFINESBYPROPERTIES('1DOxI62Tn0P9K_sq8IAG2X',#1,'2YHnyRth30','20sc71Ok',(#263),#264); +#267=IFCLOCALPLACEMENT(#259,#271); +#268=IFCCARTESIANPOINT((0.,0.,-1.5)); +#269=IFCDIRECTION((0.,0.,1.)); +#270=IFCDIRECTION((1.,0.,0.)); +#271=IFCAXIS2PLACEMENT3D(#268,#269,#270); +#272=IFCBUILDINGSTOREY('1CtY$SxH91C8cn1Rro48HX',#1,'YroQA2K3e','xG8GnsQu',$,#276,$,$,.ELEMENT.,-5.E-1); +#273=IFCPROPERTYSET('3LaK_YqR12dB1WW6FMhiXX',#1,'omLzQMS','oBkaBl',(#274)); +#274=IFCPROPERTYSINGLEVALUE('R5T9SnyBc','vVhN87C',IFCINTEGER(2),$); +#275=IFCRELDEFINESBYPROPERTIES('1QzpvcXNvC0ehLqcJdstY9',#1,'oDJ0Pp0','cSEnhfVu4',(#272),#273); +#276=IFCLOCALPLACEMENT(#259,#280); +#277=IFCCARTESIANPOINT((0.,0.,-5.E-1)); +#278=IFCDIRECTION((0.,0.,1.)); +#279=IFCDIRECTION((1.,0.,0.)); +#280=IFCAXIS2PLACEMENT3D(#277,#278,#279); +#281=IFCBUILDINGSTOREY('0xuqbikJfFxhmSCs$dJm45',#1,'ddMPWhJr','kQw4bsL',$,#285,$,$,.ELEMENT.,0.); +#282=IFCPROPERTYSET('0mR1HWsGnAnBJeO_JICIl7',#1,'brnlV5BS','o4omD28K',(#283)); +#283=IFCPROPERTYSINGLEVALUE('e1pZw55','qwobhX',IFCINTEGER(0),$); +#284=IFCRELDEFINESBYPROPERTIES('0RPjTqCbrDQhMtfiM64u$a',#1,'oLPo5DhLB','3PZSfCrsJ',(#281),#282); +#285=IFCLOCALPLACEMENT(#259,#288); +#286=IFCDIRECTION((0.,0.,1.)); +#287=IFCDIRECTION((1.,0.,0.)); +#288=IFCAXIS2PLACEMENT3D(#21,#286,#287); +#289=IFCWALLSTANDARDCASE('338D45yJP6EQHiss4ZzJDE',#1,'YNaq9cA9','LPoqMe',$,#367,#372,$,$); +#290=IFCPROPERTYSET('1O3oTN2dTEpOxzcyg7qkAp',#1,'q3Rcv1','KoCLRNhJsV',(#291,#292,#293,#294)); +#291=IFCPROPERTYSINGLEVALUE('qrAiK4V','Lyu7OeH1',IFCINTEGER(2339),$); +#292=IFCPROPERTYSINGLEVALUE('9Zi21BU','Q9jJ76atTN',IFCINTEGER(366),$); +#293=IFCPROPERTYSINGLEVALUE('o5Aabg9y9','i0stCh1x94',IFCINTEGER(9000),$); +#294=IFCPROPERTYSINGLEVALUE('DTFhpfa','l3RiERp',IFCINTEGER(1),$); +#295=IFCRELDEFINESBYPROPERTIES('2qXOdAYwXBafVZ43H7pvuY',#1,'2dYgYMK0','9s2wdmZavj',(#289),#290); +#296=IFCPROPERTYSET('1Fp2Ts$svDPA9Vu_HhKsP5',#1,'TYe8YWLw3c','mFKhlVbjdT',(#297,#298)); +#297=IFCPROPERTYSINGLEVALUE('fpv08kh','Ru3xIi',IFCREAL(2.),$); +#298=IFCPROPERTYSINGLEVALUE('OqSJ0AH','SinNUm',IFCREAL(2.),$); +#299=IFCRELDEFINESBYPROPERTIES('2hPJmamcv3vRHWBH9SpeyJ',#1,'VhaRqVV9','4v0bruET5u',(#289),#296); +#300=IFCPROPERTYSET('1JH96WdIX2meeX6Swb0P_X',#1,'uhZ2Wt0','N1VNtL',(#301)); +#301=IFCPROPERTYSINGLEVALUE('oDoJst','mJZg6sfpzp',IFCINTEGER(2),$); +#302=IFCRELDEFINESBYPROPERTIES('32f46yj1HDFQohWUkfbIem',#1,'p3RcPx','pKfsbgpcP',(#289),#300); +#303=IFCPROPERTYSET('3hDxVzHoT729Iapa6pgrcq',#1,'KhVxPco2L','LGYRXXjg',(#304)); +#304=IFCPROPERTYSINGLEVALUE('Zs7hha47fN','07BdnBRd3',IFCINTEGER(0),$); +#305=IFCRELDEFINESBYPROPERTIES('2$q7Jg1xT4f9KmhcdtOW1o',#1,'iEwdFn39gf','jHpaj6Zx',(#289),#303); +#306=IFCPROPERTYSET('1Qnr5Q7kb5C93WKZv2pCju',#1,'doQEbf','AHUv6ijgq2',(#307,#308,#309,#310,#311,#312,#313)); +#307=IFCPROPERTYSINGLEVALUE('RuVCDnOY','wsxW2AJ3',IFCINTEGER(2339),$); +#308=IFCPROPERTYSINGLEVALUE('0tP6Cq','Zfb1iga',IFCLABEL('01'),$); +#309=IFCPROPERTYSINGLEVALUE('ii85H7','an8IFlU',IFCLABEL('02'),$); +#310=IFCPROPERTYSINGLEVALUE('omaySs20e','Oa4dJsTPls',IFCLABEL('Piano Terra'),$); +#311=IFCPROPERTYSINGLEVALUE('ASDMV8FUD2','zIXva6y',IFCLABEL('Parete in cemento armato [300.00]'),$); +#312=IFCPROPERTYSINGLEVALUE('i3sWcM','cOgQInzoXs',IFCLENGTHMEASURE(3.E-1),$); +#313=IFCPROPERTYSINGLEVALUE('V836ZzvF7M','DuIwhZ6X3P',IFCBOOLEAN(.F.),$); +#314=IFCRELDEFINESBYPROPERTIES('2OUebs9nn3bRx6TYh2Re8a',#1,'aUJqOEkaZr','72BuhDepU',(#289),#306); +#315=IFCPROPERTYSET('1_KUFQvQT9TwKTkLXcXt0g',#1,'Dxn9Zi','hz2TlZosh',(#316,#317)); +#316=IFCPROPERTYSINGLEVALUE('EahCtm','7p3N9WW',IFCLABEL(' '),$); +#317=IFCPROPERTYSINGLEVALUE('6RcCeRC','aS9ay8KWBC',IFCLABEL(' '),$); +#318=IFCRELDEFINESBYPROPERTIES('1vXYk06ef32AoOphVq8UYy',#1,'vfr6KPlPI','5XKOHH5uR',(#289),#315); +#319=IFCPROPERTYSET('3nw78_1Vz0_uwGugr5jI$i',#1,'8aBNtKg','rN2Jknt2Y',(#320,#321)); +#320=IFCPROPERTYSINGLEVALUE('LvGGgUeJq','usZbXos',IFCBOOLEAN(.F.),$); +#321=IFCPROPERTYSINGLEVALUE('SvFGGeksxH','bb5HBHE',IFCLENGTHMEASURE(0.),$); +#322=IFCRELDEFINESBYPROPERTIES('3QHBz_9a1AWwvQ8ZuzdBDr',#1,'pUEwi22jj','BIZyPnhQyk',(#289),#319); +#323=IFCPROPERTYSET('2MY3QM$f50$f82wgZ79HkI',#1,'tu8JG4fD','PP4Hsglg',(#324,#325,#326,#327)); +#324=IFCPROPERTYSINGLEVALUE('ZVKDW8OZ3','G9tS1J',IFCLABEL('rettangolo'),$); +#325=IFCPROPERTYSINGLEVALUE('0rs76XWcKc','tR0Fp5p',IFCLENGTHMEASURE(10.7225355285026),$); +#326=IFCPROPERTYSINGLEVALUE('kBLhuwY','d3dl7Rc',IFCLENGTHMEASURE(3.2),$); +#327=IFCPROPERTYSINGLEVALUE('zDKenVClz','mts9Md97E',IFCLENGTHMEASURE(0.),$); +#328=IFCRELDEFINESBYPROPERTIES('3DtGHjgDPFp9rAVvRvWuKr',#1,'7JR7M9N3x','8LO1ZmZS',(#289),#323); +#329=IFCPROPERTYSET('0ZiL4Cotb6rBVVb8QCqzt4',#1,'tsotsL8e','kFULA2',(#326,#327,#330)); +#330=IFCPROPERTYSINGLEVALUE('mebSkFVGrI','z5GW7PdIer',IFCPLANEANGLEMEASURE(2.72620932831378),$); +#331=IFCRELDEFINESBYPROPERTIES('3OSCuynO9AFPydt3M2$r_z',#1,'8DC7Sz57','JZZzua',(#289),#329); +#332=IFCPROPERTYSET('1vWU$en45Fmf_8gKX4LiaW',#1,'20oN2bAg','IsIV8rwN',(#326,#327,#333)); +#333=IFCPROPERTYSINGLEVALUE('lmUFhgsNjV','E0Bj1x',IFCPLANEANGLEMEASURE(182.726209328314),$); +#334=IFCRELDEFINESBYPROPERTIES('1rrLckkcj9f92581aSc$aC',#1,'7cSRmHlccS','7B36Mj',(#289),#332); +#335=IFCPROPERTYSET('3mc4WQNpj6NRNiRpgbDDD7',#1,'22H0yAcIc','unqzNjMsc',(#336,#337,#338,#339,#340)); +#336=IFCPROPERTYSINGLEVALUE('jEvlXN','548idR',IFCLABEL('TOP Piano Terra (Copertura 2134)'),$); +#337=IFCPROPERTYSINGLEVALUE('ihZoDxz','ThjLvohKH',IFCLENGTHMEASURE(0.),$); +#338=IFCPROPERTYSINGLEVALUE('zlCmR8X','GOqos68',IFCLENGTHMEASURE(0.),$); +#339=IFCPROPERTYSINGLEVALUE('8gKeUMyHz','n5mELohQ',IFCLENGTHMEASURE(0.),$); +#340=IFCPROPERTYSINGLEVALUE('Ja5ifE','zKb8m6onfm',IFCLABEL(''),$); +#341=IFCRELDEFINESBYPROPERTIES('1rP7KLfWT58uljAXXkFE4J',#1,'XzFFNyN','UJkmL19y',(#289),#335); +#342=IFCPROPERTYSET('27xUn1HTD7HBVe5UlYeVwQ',#1,'0Nr2UowCYP','rh1MFoB',(#343,#337,#338,#339,#340)); +#343=IFCPROPERTYSINGLEVALUE('s4dV3zHd','qSZNGTwr',IFCLABEL('Piano Terra (Piano Terra 1047)'),$); +#344=IFCRELDEFINESBYPROPERTIES('2b0jgBXinF4AS86I6eKLEF',#1,'V15UhZbA','7Vr2ib9L',(#289),#342); +#345=IFCPROPERTYSET('3miMirrMX6zRVKUifRcH48',#1,'UcqfUv','XhhbMBxxi4',(#346,#347,#348,#349,#350,#351,#352,#353,#354)); +#346=IFCPROPERTYSINGLEVALUE('BpmNiIwX','ZHqhR4',IFCLENGTHMEASURE(10.72),$); +#347=IFCPROPERTYSINGLEVALUE('3gEsuE5','U1gc72',IFCLENGTHMEASURE(10.72),$); +#348=IFCPROPERTYSINGLEVALUE('8U34sJ8X4N','Okk3exGmRC',IFCLENGTHMEASURE(3.2),$); +#349=IFCPROPERTYSINGLEVALUE('wrWrSzHGCA','Hmwpbwfo',IFCLENGTHMEASURE(3.2),$); +#350=IFCPROPERTYSINGLEVALUE('gS6URL','pGWljTdO',IFCAREAMEASURE(3.22),$); +#351=IFCPROPERTYSINGLEVALUE('24FkGQ','pWMAu8',IFCAREAMEASURE(3.22),$); +#352=IFCPROPERTYSINGLEVALUE('3lxswVkA4A','lTWx94',IFCAREAMEASURE(3.22),$); +#353=IFCPROPERTYSINGLEVALUE('sEymMZL2N','7ky2sjC1',IFCAREAMEASURE(34.3),$); +#354=IFCPROPERTYSINGLEVALUE('aIrsLw','DWG2NKmpt',IFCVOLUMEMEASURE(10.29),$); +#355=IFCRELDEFINESBYPROPERTIES('2PvvwOoRHELOWFohWLNcA_',#1,'pDfBusHVm','VT7F9Qf',(#289),#345); +#356=IFCPROPERTYSET('3joAd6T5bDVvrvp8Mc47hp',#1,'lsGwk4RtW','gnjJrBODT',(#357,#358,#359)); +#357=IFCPROPERTYSINGLEVALUE('Ocrpe47B','oh8AsbASn',IFCLABEL('Bianco'),$); +#358=IFCPROPERTYSINGLEVALUE('E3vfKN','ejzDtqMeM',IFCLABEL('Bianco'),$); +#359=IFCPROPERTYSINGLEVALUE('2FuVTU6x','RlxYsZN3r',IFCLABEL('Bianco'),$); +#360=IFCRELDEFINESBYPROPERTIES('1qn08GStb5KB3J7ZVMVEOC',#1,'OxAv7A0','MctkkPvWX',(#289),#356); +#361=IFCMATERIALLAYERSETUSAGE(#362,.AXIS2.,.POSITIVE.,-1.5E-1,$); +#362=IFCMATERIALLAYERSET((#363,#364,#365),'Parete in cemento armato','0c2ZvLJ'); +#363=IFCMATERIALLAYER(#24,1.5E-2,$,'x0nqmHorJr','JAxcbIed1F',$,$); +#364=IFCMATERIALLAYER(#34,2.7E-1,$,'qiEVUf','UJx1K11F',$,$); +#365=IFCMATERIALLAYER(#24,1.5E-2,$,'yv2ZKfW','ExAs2o5YW',$,$); +#366=IFCRELASSOCIATESMATERIAL('3iN9XBntr8Qfq_n6B76$A1',#1,'vqyNuDUGr','l5KtkYl',(#289),#361); +#367=IFCLOCALPLACEMENT(#285,#371); +#368=IFCCARTESIANPOINT((-9.3625,4.4991,0.)); +#369=IFCDIRECTION((0.,0.,1.)); +#370=IFCDIRECTION((9.98868222122434E-1,4.75633770244243E-2,0.)); +#371=IFCAXIS2PLACEMENT3D(#368,#369,#370); +#372=IFCPRODUCTDEFINITIONSHAPE('5ByCDLi','LIgVK5',(#384,#391,#399,#407,#412)); +#373=IFCEXTRUDEDAREASOLID(#375,#382,#383,3.2); +#374=IFCSTYLEDITEM(#373,(#49),'bUZt7Q0'); +#375=IFCRECTANGLEPROFILEDEF(.AREA.,$,#378,3.E-1,10.7225355285026); +#376=IFCCARTESIANPOINT((0.,0.)); +#377=IFCDIRECTION((1.,0.)); +#378=IFCAXIS2PLACEMENT2D(#376,#377); +#379=IFCCARTESIANPOINT((5.36126776425129,2.39808173319034E-14,0.)); +#380=IFCDIRECTION((0.,0.,1.)); +#381=IFCDIRECTION((0.,-1.,0.)); +#382=IFCAXIS2PLACEMENT3D(#379,#380,#381); +#383=IFCDIRECTION((0.,0.,1.)); +#384=IFCSHAPEREPRESENTATION(#23,'Body','SweptSolid',(#373)); +#385=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',3,1.E-4,#386,#387); +#386=IFCAXIS2PLACEMENT3D(#21,$,$); +#387=IFCDIRECTION((0.,1.)); +#388=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Plan',*,*,*,*,#385,$,.PLAN_VIEW.,$); +#389=IFCBOUNDINGBOX(#390,10.7225355285026,3.00000000000048E-1,3.20000004768372); +#390=IFCCARTESIANPOINT((0.,-1.49999999999999E-1,0.)); +#391=IFCSHAPEREPRESENTATION(#388,'Box','BoundingBox',(#389)); +#392=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#393=IFCGEOMETRICCURVESET((#394)); +#394=IFCPOLYLINE((#395,#396,#397,#398,#395)); +#395=IFCCARTESIANPOINT((0.,0.)); +#396=IFCCARTESIANPOINT((10.7225355285026,0.)); +#397=IFCCARTESIANPOINT((10.7225355285026,3.2)); +#398=IFCCARTESIANPOINT((0.,3.2)); +#399=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#393)); +#400=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#401=IFCGEOMETRICCURVESET((#402)); +#402=IFCPOLYLINE((#403,#404,#405,#406,#403)); +#403=IFCCARTESIANPOINT((-1.77635683940025E-15,-1.49999999999999E-1)); +#404=IFCCARTESIANPOINT((10.7225355285026,-1.49999999999953E-1)); +#405=IFCCARTESIANPOINT((10.7225355285026,1.50000000000047E-1)); +#406=IFCCARTESIANPOINT((-1.77635683940025E-15,1.5E-1)); +#407=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#401)); +#408=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#409=IFCPOLYLINE((#410,#411)); +#410=IFCCARTESIANPOINT((0.,0.)); +#411=IFCCARTESIANPOINT((10.7225355285026,4.70734562441066E-14)); +#412=IFCSHAPEREPRESENTATION(#408,'Axis','Curve2D',(#409)); +#413=IFCOPENINGELEMENT('3ZgTSy8sz2uOdIyEjwC_KP',#1,'gGAJ3l1SU','q0i84RUmhE','Opening',#422,#427,$,$); +#414=IFCPROPERTYSET('17jgTZrN5CYArWye8FkxX5',#1,'q2DWE8R','nxsjthUjLD',(#415,#416,#417,#418)); +#415=IFCPROPERTYSINGLEVALUE('TresXAu5qQ','q6oUMQ',IFCINTEGER(4294967294),$); +#416=IFCPROPERTYSINGLEVALUE('1KevFOzoR','IQcSrBxg',IFCINTEGER(2002),$); +#417=IFCPROPERTYSINGLEVALUE('attreZ40','xg13dD5',IFCINTEGER(2002),$); +#418=IFCPROPERTYSINGLEVALUE('yXhuc1oili','Wq9bpb85',IFCINTEGER(0),$); +#419=IFCRELDEFINESBYPROPERTIES('0V5Wu2s8b1whWI8yvoWy_K',#1,'nbzTAFPF','X4fLaJ8sNr',(#413),#414); +#420=IFCPROPERTYSET('2QoslLBzrBoxnoK3wE4Eew',#1,'cKKwbeNNv','HVSusyhp',(#297,#298)); +#421=IFCRELDEFINESBYPROPERTIES('25wYgxVn9Bhgf9vdcEsPkB',#1,'wZm50XYdtN','c112Cq6Dr',(#413),#420); +#422=IFCLOCALPLACEMENT(#367,#426); +#423=IFCCARTESIANPOINT((4.11371922759627,1.86517468137026E-14,0.)); +#424=IFCDIRECTION((0.,0.,1.)); +#425=IFCDIRECTION((-1.,-4.35762537165374E-15,0.)); +#426=IFCAXIS2PLACEMENT3D(#423,#424,#425); +#427=IFCPRODUCTDEFINITIONSHAPE('Yw3EMxN','Ct7fhij',(#440,#447,#454)); +#428=IFCEXTRUDEDAREASOLID(#429,#438,#439,5.E-1); +#429=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#430); +#430=IFCPOLYLINE((#431,#432,#433,#434,#431)); +#431=IFCCARTESIANPOINT((0.,1.5)); +#432=IFCCARTESIANPOINT((0.,0.)); +#433=IFCCARTESIANPOINT((1.4,0.)); +#434=IFCCARTESIANPOINT((1.4,1.5)); +#435=IFCCARTESIANPOINT((0.,-2.5E-1,0.)); +#436=IFCDIRECTION((0.,1.,-0.)); +#437=IFCDIRECTION((-1.,0.,0.)); +#438=IFCAXIS2PLACEMENT3D(#435,#436,#437); +#439=IFCDIRECTION((0.,0.,1.)); +#440=IFCSHAPEREPRESENTATION(#23,'Body','SweptSolid',(#428)); +#441=IFCGEOMETRICCURVESET((#442)); +#442=IFCPOLYLINE((#443,#444,#445,#446,#443)); +#443=IFCCARTESIANPOINT((8.88178419700125E-16,8.88178419700125E-16,1.5)); +#444=IFCCARTESIANPOINT((8.88178419700125E-16,8.88178419700125E-16,0.)); +#445=IFCCARTESIANPOINT((-1.4,8.88178419700125E-16,0.)); +#446=IFCCARTESIANPOINT((-1.4,8.88178419700125E-16,1.5)); +#447=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#441)); +#448=IFCGEOMETRICCURVESET((#449)); +#449=IFCPOLYLINE((#450,#451,#452,#453,#450)); +#450=IFCCARTESIANPOINT((-1.4,-1.49999999999999E-1)); +#451=IFCCARTESIANPOINT((0.,-1.49999999999999E-1)); +#452=IFCCARTESIANPOINT((1.77635683940025E-15,1.5E-1)); +#453=IFCCARTESIANPOINT((-1.4,1.50000000000001E-1)); +#454=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#448)); +#455=IFCWINDOW('0qQpKzfkjEPBhVR0ivyCfU',#1,'wHFJvF','PDARSt',$,#631,#636,$,1.5,1.4,$,$,$); +#456=IFCPROPERTYSET('0FEeYWLnn1tu5xWtGwXXOx',#1,'yZhwgHzNte','ItBuA6',(#457,#458,#459,#294)); +#457=IFCPROPERTYSINGLEVALUE('Kvl2i3','YQEZjcVtrg',IFCINTEGER(2350),$); +#458=IFCPROPERTYSINGLEVALUE('v57oN4oHf','uMSI0U',IFCINTEGER(101),$); +#459=IFCPROPERTYSINGLEVALUE('LK7imGUtmV','TDNccW',IFCINTEGER(9004),$); +#460=IFCRELDEFINESBYPROPERTIES('3EHvmiULrDYwTWknLcAldv',#1,'emiXIM','nOpCvHO4',(#455),#456); +#461=IFCPROPERTYSET('2pHz5OFB5FSvSpXf$CI$ft',#1,'FKBAex','W8FGEi2d',(#297,#298)); +#462=IFCRELDEFINESBYPROPERTIES('3aRmkWJtrFi9aOxBSbHieK',#1,'P81ytlS','CiTeQU',(#455),#461); +#463=IFCPROPERTYSET('2TrrUKSmX2NOgu5DBGLbQs',#1,'bg2AKHiEx','gAeM13Io',(#464)); +#464=IFCPROPERTYSINGLEVALUE('9MJawg93','cQ23Fslv',IFCLABEL('338D45yJP6EQHiss4ZzJDE'),$); +#465=IFCRELDEFINESBYPROPERTIES('3zSi6gb8139gHEucS0qVsH',#1,'PglRyHm','QDCDke',(#455),#463); +#466=IFCPROPERTYSET('22spgmYcD8EQ_rDlYOBu4z',#1,'mfrwKiQoBn','Jlud9VTWaH',(#467,#308,#309,#310,#468,#469,#470)); +#467=IFCPROPERTYSINGLEVALUE('mw0leRARu','kK4QNhMc',IFCINTEGER(2350),$); +#468=IFCPROPERTYSINGLEVALUE('2lb53cZk','T0sRfHFx3',IFCLABEL('FN[R] 2AB[1V] MM'),$); +#469=IFCPROPERTYSINGLEVALUE('29GMlc936','LDpYm2u',IFCLABEL(' '),$); +#470=IFCPROPERTYSINGLEVALUE('wMm0gQ2Ocx','fJilNrr',IFCLABEL(' '),$); +#471=IFCRELDEFINESBYPROPERTIES('2qOoFZUdjBTfHbxHSm4omM',#1,'Gi6Dj5h8','oKn7kKpUqg',(#455),#466); +#472=IFCPROPERTYSET('0BeWw41Wn0WO_WhTdDwH$b',#1,'K3rY1iZTeL','tPF9kXt5fN',(#316,#317)); +#473=IFCRELDEFINESBYPROPERTIES('0fJyfDKn95FRwRHSwXLAXY',#1,'FLogPym9z','MpjZKeY',(#455),#472); +#474=IFCPROPERTYSET('0MtRxstlr1QeKz_F_XljqU',#1,'hwqFJ9K1h','1oPd7k2w',(#475,#476,#477)); +#475=IFCPROPERTYSINGLEVALUE('19R05KKrmi','KL8WHWVE',IFCLENGTHMEASURE(0.),$); +#476=IFCPROPERTYSINGLEVALUE('h6I6yfnM','gfFtN7F8',IFCLABEL('...'),$); +#477=IFCPROPERTYSINGLEVALUE('8IcD4mxDH4','VGmaqhBh',IFCLENGTHMEASURE(0.),$); +#478=IFCRELDEFINESBYPROPERTIES('2DA3PP3MD2Gemq1jMdBpbe',#1,'Wa0f2Hplo','MuBzKlfrj',(#455),#474); +#479=IFCPROPERTYSET('3f$Vk1m$v1TuwnYT1K52im',#1,'P4qGgV','CSTg3AMY',(#480,#481,#482,#483,#484,#485,#486,#487,#488,#489,#490,#491,#492)); +#480=IFCPROPERTYSINGLEVALUE('hx2IQRr8','LbYRdAbX',IFCBOOLEAN(.F.),$); +#481=IFCPROPERTYSINGLEVALUE('XxGMq4AfC','3uXnviZ',IFCBOOLEAN(.F.),$); +#482=IFCPROPERTYSINGLEVALUE('zMdGguFE','8Y2GWlw',IFCBOOLEAN(.F.),$); +#483=IFCPROPERTYSINGLEVALUE('IA95PT','yoDEUeqYM',IFCLENGTHMEASURE(0.),$); +#484=IFCPROPERTYSINGLEVALUE('tGoGDqxHWa','u0HvZrwoY',IFCLENGTHMEASURE(0.),$); +#485=IFCPROPERTYSINGLEVALUE('vm5QOwEYZ','q60iGw',IFCLENGTHMEASURE(0.),$); +#486=IFCPROPERTYSINGLEVALUE('DqYVFXDpj2','sSD5afjDQu',IFCLENGTHMEASURE(0.),$); +#487=IFCPROPERTYSINGLEVALUE('xZIAO3rB','IhVpjNC',IFCLENGTHMEASURE(0.),$); +#488=IFCPROPERTYSINGLEVALUE('EmEfBaj','JUac7MPjB2',IFCLENGTHMEASURE(0.),$); +#489=IFCPROPERTYSINGLEVALUE('IZnaZY6','vfMLHls',IFCLENGTHMEASURE(0.),$); +#490=IFCPROPERTYSINGLEVALUE('LaBHe8Hc','dqfn8f',IFCLENGTHMEASURE(0.),$); +#491=IFCPROPERTYSINGLEVALUE('nBLGn9L','9rupuiy9',IFCLENGTHMEASURE(0.),$); +#492=IFCPROPERTYSINGLEVALUE('bbbHK6vi','1nagSW',IFCTEXT(' '),$); +#493=IFCRELDEFINESBYPROPERTIES('0cjsuWdXDFZPzi1fnQznio',#1,'ruZNu8','JJs1vxSa',(#455),#479); +#494=IFCPROPERTYSET('1wc4p7X5DEQhac4WdouKse',#1,'xaCa2SJ','ZNcWNs1OfC',(#495,#496,#497,#498,#499,#500,#501,#502)); +#495=IFCPROPERTYSINGLEVALUE('tFfpzDiig','SIdu2vCQ0T',IFCTEXT('Nessuna'),$); +#496=IFCPROPERTYSINGLEVALUE('XBYI4Nz7','P99Xb4kQv1',IFCLENGTHMEASURE(0.),$); +#497=IFCPROPERTYSINGLEVALUE('vMPA7yc','YF96NtGV3',IFCLENGTHMEASURE(0.),$); +#498=IFCPROPERTYSINGLEVALUE('DBlQJfwae','XNBkwZW',IFCLENGTHMEASURE(0.),$); +#499=IFCPROPERTYSINGLEVALUE('iXYvNx','R1Cdahn',IFCLENGTHMEASURE(0.),$); +#500=IFCPROPERTYSINGLEVALUE('q2vjDsoTpn','7xYoBi',IFCLENGTHMEASURE(0.),$); +#501=IFCPROPERTYSINGLEVALUE('aR2QE7S6M','HFF2ktWX',IFCLENGTHMEASURE(0.),$); +#502=IFCPROPERTYSINGLEVALUE('Xl09s0','ETCde2x8T',IFCLENGTHMEASURE(0.),$); +#503=IFCRELDEFINESBYPROPERTIES('0lWV8$8Xr9gg7TN6orEwfV',#1,'ejbCBpDli4','0fSxnV',(#455),#494); +#504=IFCPROPERTYSET('1O492aJ4jF0AEZVHsS73VU',#1,'x83fUlb','A9Uxxw',(#505,#506,#507,#508,#509,#510,#511,#512,#513)); +#505=IFCPROPERTYSINGLEVALUE('xgnB4Xz1','GB01TE6O',IFCLABEL('Nessuna'),$); +#506=IFCPROPERTYSINGLEVALUE('NNS6Gtu5r','hMmi0B',IFCLENGTHMEASURE(0.),$); +#507=IFCPROPERTYSINGLEVALUE('0BsIr0Pn','dLpsPw',IFCLENGTHMEASURE(0.),$); +#508=IFCPROPERTYSINGLEVALUE('n7nPCvx','QvMaZSY8',IFCLENGTHMEASURE(0.),$); +#509=IFCPROPERTYSINGLEVALUE('MrWy4T','p22FCf2',IFCLENGTHMEASURE(0.),$); +#510=IFCPROPERTYSINGLEVALUE('oZP2FZ8Ko','vGaogr',IFCLENGTHMEASURE(0.),$); +#511=IFCPROPERTYSINGLEVALUE('5gpJDaGzh8','rVRnNNgv',IFCLENGTHMEASURE(0.),$); +#512=IFCPROPERTYSINGLEVALUE('5zDqJVL92l','SYm6N2',IFCLENGTHMEASURE(0.),$); +#513=IFCPROPERTYSINGLEVALUE('h8Aiko978o','Md3wUQCT',IFCLENGTHMEASURE(0.),$); +#514=IFCRELDEFINESBYPROPERTIES('05zHPA7z52tgYXpZunhEJM',#1,'CCCxMu6c','bMVseBd3eo',(#455),#504); +#515=IFCPROPERTYSET('1W6AfK9_X7EB56sl5jkCLj',#1,'qYdmBDzBb','lg6WfWq',(#516)); +#516=IFCPROPERTYSINGLEVALUE('m4dEew','oH1LqF4',IFCLABEL('Nessuna'),$); +#517=IFCRELDEFINESBYPROPERTIES('0f2o9_Tdn6gwsuL5hr_kBU',#1,'vjqTFiYmJQ','QFG5XsTami',(#455),#515); +#518=IFCPROPERTYSET('0n3n48U917$BN9Ch2CaxXX',#1,'VxnloDaX','XvivwyOGd',(#519,#520,#521,#522,#523)); +#519=IFCPROPERTYSINGLEVALUE('Ykk3Fl1X','3VUqTK7MaX',IFCLABEL(' '),$); +#520=IFCPROPERTYSINGLEVALUE('SKW4WMNe','SSe072UYb',IFCLABEL('0'),$); +#521=IFCPROPERTYSINGLEVALUE('9pF76JBpX','hfPZPCItR6',IFCPLANEANGLEMEASURE(0.),$); +#522=IFCPROPERTYSINGLEVALUE('vtqYupnJ','8f6kTFz6',IFCBOOLEAN(.F.),$); +#523=IFCPROPERTYSINGLEVALUE('QindDFDn','n3p67To',IFCBOOLEAN(.F.),$); +#524=IFCRELDEFINESBYPROPERTIES('37mBqR8Vz4e8dkdUtG1sqR',#1,'zRvW3QOVZw','mDPEw1',(#455),#518); +#525=IFCPROPERTYSET('3TFg1lJ$zD_8PzBTfQMbxL',#1,'F0S15o','KtZuIirN',(#526,#527,#528,#529,#530)); +#526=IFCPROPERTYSINGLEVALUE('4OzftT','92E2fg',IFCLABEL(' '),$); +#527=IFCPROPERTYSINGLEVALUE('hTQFz8qJu','P0QLc6nPe',IFCLABEL('0'),$); +#528=IFCPROPERTYSINGLEVALUE('9v1NyCyA1r','tZGK77pt',IFCPLANEANGLEMEASURE(0.),$); +#529=IFCPROPERTYSINGLEVALUE('RS1iVjz3xO','GROJEq3Ov',IFCBOOLEAN(.F.),$); +#530=IFCPROPERTYSINGLEVALUE('hmNptzx','mn9d0qZXJj',IFCBOOLEAN(.F.),$); +#531=IFCRELDEFINESBYPROPERTIES('38zombWMn2kBl9EtUKZUOP',#1,'rRs90vkJ3','qNMxonIm2G',(#455),#525); +#532=IFCPROPERTYSET('0LDSymLX523AilPRchCq_p',#1,'z04QMMDK1','ipsZPuLMl',(#533)); +#533=IFCPROPERTYSINGLEVALUE('OmiOcBoJ','ywTZGI',IFCLABEL('Nessuna'),$); +#534=IFCRELDEFINESBYPROPERTIES('3qgvUbQFX7VhczE8M7G9en',#1,'nm4PxddFNP','U9YwnSsi',(#455),#532); +#535=IFCPROPERTYSET('3b6LS$x9TEfPJIHm9r9a68',#1,'Gp6hfVZI','d5qq35',(#536,#537,#538,#539,#540)); +#536=IFCPROPERTYSINGLEVALUE('TEOdgCl','5oScALYMt',IFCLABEL(' '),$); +#537=IFCPROPERTYSINGLEVALUE('ToYdbRySxi','0jwzSF',IFCLABEL(' '),$); +#538=IFCPROPERTYSINGLEVALUE('brgekRzXk','Fl78ra1lYC',IFCPLANEANGLEMEASURE(0.),$); +#539=IFCPROPERTYSINGLEVALUE('71meagugU','aYuLMVeL',IFCBOOLEAN(.F.),$); +#540=IFCPROPERTYSINGLEVALUE('kSZP69oulZ','3manLWp',IFCLENGTHMEASURE(0.),$); +#541=IFCRELDEFINESBYPROPERTIES('3fm_Sk5x5A4PZj0ajfIcQ_',#1,'caY7BfJv2','SYfIpad',(#455),#535); +#542=IFCPROPERTYSET('0dp0_x3SL8xfqM2Cq0fAqT',#1,'htpeO5qt','HI1sWiAU',(#543,#544,#545,#546,#547)); +#543=IFCPROPERTYSINGLEVALUE('L1k2DYah','w4xzxX4K',IFCLABEL(' '),$); +#544=IFCPROPERTYSINGLEVALUE('4kwLQTf','EeFJr2Mu',IFCLABEL(' '),$); +#545=IFCPROPERTYSINGLEVALUE('KnsQ00U8oh','qi6oDfb',IFCPLANEANGLEMEASURE(0.),$); +#546=IFCPROPERTYSINGLEVALUE('YITtbtt','c23QmyK3A',IFCBOOLEAN(.F.),$); +#547=IFCPROPERTYSINGLEVALUE('yn4VXw','MR3O8P',IFCLENGTHMEASURE(0.),$); +#548=IFCRELDEFINESBYPROPERTIES('2VgX4PRGv4uwGlV3ksY53M',#1,'bH3ipDAZjo','Hba9tr5',(#455),#542); +#549=IFCPROPERTYSET('2LmlXmTbH7twk$MPpz721X',#1,'qfwjly','QfZY9KBvi',(#550,#551)); +#550=IFCPROPERTYSINGLEVALUE('XxdFrul','4WMVjiL8',IFCLABEL('Centro'),$); +#551=IFCPROPERTYSINGLEVALUE('l0YrFnnPME','tPGggjrlz',IFCLENGTHMEASURE(0.),$); +#552=IFCRELDEFINESBYPROPERTIES('2O1wcBJbz0UPTjiA2W3bJ3',#1,'pVjLYINe4S','I2YrnLD6q',(#455),#549); +#553=IFCPROPERTYSET('2KStx_i7L4oxCHRnLmdQjd',#1,'2Kgn9oL','qJrpMOS',(#554,#555)); +#554=IFCPROPERTYSINGLEVALUE('PltIeYn','uwm1oxi',IFCLABEL(' '),$); +#555=IFCPROPERTYSINGLEVALUE('539ZyR','zmqye6Ee',IFCLENGTHMEASURE(0.),$); +#556=IFCRELDEFINESBYPROPERTIES('1YyOAvA3b76RcdwECkTPYI',#1,'OdjE5YZ','TAvPoZPzS',(#455),#553); +#557=IFCPROPERTYSET('2uf1dEkiLALhxObxAi0pCp',#1,'7sbPMfchu','Ity7WksJ',(#558,#559,#560,#561,#562,#563,#564,#565,#566,#567)); +#558=IFCPROPERTYSINGLEVALUE('4ig6NWlREj','GphQBtH8',IFCINTEGER(0),$); +#559=IFCPROPERTYSINGLEVALUE('wwZUgY','PVzivzpVV7',IFCBOOLEAN(.F.),$); +#560=IFCPROPERTYSINGLEVALUE('otf8mqBLIf','gegKg8IRg',IFCBOOLEAN(.F.),$); +#561=IFCPROPERTYSINGLEVALUE('lO8YoAORoS','3ZKhc8hg',IFCLENGTHMEASURE(1.4),$); +#562=IFCPROPERTYSINGLEVALUE('h6NIJwkMYU','NmspH9L5',IFCLENGTHMEASURE(1.5),$); +#563=IFCPROPERTYSINGLEVALUE('Hk7Z3BV','G6stAye',IFCLENGTHMEASURE(0.),$); +#564=IFCPROPERTYSINGLEVALUE('0fSDcj','2uL5LXKZys',IFCLENGTHMEASURE(0.),$); +#565=IFCPROPERTYSINGLEVALUE('yKxlHvi','SppfkNBGjs',IFCLENGTHMEASURE(0.),$); +#566=IFCPROPERTYSINGLEVALUE('qny8kzP','yAD1cPSAq',IFCLENGTHMEASURE(0.),$); +#567=IFCPROPERTYSINGLEVALUE('mNdDnmC','hWAJnQI',IFCLENGTHMEASURE(0.),$); +#568=IFCRELDEFINESBYPROPERTIES('0xiOBb8nTAzxQ03cN2KfVZ',#1,'vUYcam6S','qq2ESTV',(#455),#557); +#569=IFCPROPERTYSET('3YYiT1UMH0G982uyhUoy6o',#1,'zQHEeV','v3aAiH',(#570,#571,#572,#573,#574,#575,#576,#577)); +#570=IFCPROPERTYSINGLEVALUE('1IfTWgm1Ig','Vt8kedoW',IFCLABEL(' '),$); +#571=IFCPROPERTYSINGLEVALUE('hFPiuz','CIxl9lT3a9',IFCLENGTHMEASURE(0.),$); +#572=IFCPROPERTYSINGLEVALUE('JcKlex2li','YCzfY9MgEt',IFCLENGTHMEASURE(0.),$); +#573=IFCPROPERTYSINGLEVALUE('YDbJatz','awAfAN',IFCLENGTHMEASURE(0.),$); +#574=IFCPROPERTYSINGLEVALUE('cQQLWg0S4c','yU4J6V8',IFCLENGTHMEASURE(0.),$); +#575=IFCPROPERTYSINGLEVALUE('Ojim8Pw','pjHP0d',IFCINTEGER(0),$); +#576=IFCPROPERTYSINGLEVALUE('F232k8e','WueDVD',IFCINTEGER(0),$); +#577=IFCPROPERTYSINGLEVALUE('eT8VqmkCiu','6b52Ux',IFCINTEGER(0),$); +#578=IFCRELDEFINESBYPROPERTIES('1Gr5ipuIbEVg3uqVGLSHyf',#1,'l6GDSNx','z7R9Z5tVW',(#455),#569); +#579=IFCPROPERTYSET('3wubA3tDr87AygLjwptVXj',#1,'Sw4nID9C','UmR5na',(#343,#337,#340)); +#580=IFCRELDEFINESBYPROPERTIES('250zcG_C1F9xU8lo2v4GhM',#1,'YcQ3Al','UwZXd5ofw',(#455),#579); +#581=IFCPROPERTYSET('1gj03GGdPDOeYgsC0W9SCQ',#1,'2J0j4uK19D','ypRxxsl',(#582,#583,#584,#585,#586,#587,#588,#589,#590,#591,#592,#593,#594,#595)); +#582=IFCPROPERTYSINGLEVALUE('rYIeZW0Zy8','LqShzW',IFCAREAMEASURE(2.1),$); +#583=IFCPROPERTYSINGLEVALUE('ytEAwimb5','BxHbOLxLJ',IFCAREAMEASURE(1.29),$); +#584=IFCPROPERTYSINGLEVALUE('Z90VhcfWeN','UTdJflXJ',IFCAREAMEASURE(8.1E-1),$); +#585=IFCPROPERTYSINGLEVALUE('onu8rn','JTBpi0aP',IFCAREAMEASURE(0.),$); +#586=IFCPROPERTYSINGLEVALUE('ONwsH1ycaP','1OWzNFZ',IFCAREAMEASURE(0.),$); +#587=IFCPROPERTYSINGLEVALUE('DL7INaW','KSuz2mQhC',IFCAREAMEASURE(0.),$); +#588=IFCPROPERTYSINGLEVALUE('9q6sP9','Ov6gu6JTGJ',IFCAREAMEASURE(2.1),$); +#589=IFCPROPERTYSINGLEVALUE('JEeuVS','Idn32U',IFCAREAMEASURE(0.),$); +#590=IFCPROPERTYSINGLEVALUE('WLZ5YB','ofWuxCbg',IFCAREAMEASURE(0.),$); +#591=IFCPROPERTYSINGLEVALUE('l50bktGui1','zjTGW1k',IFCAREAMEASURE(0.),$); +#592=IFCPROPERTYSINGLEVALUE('gMQrQC','vNHjGPVj8v',IFCVOLUMEMEASURE(0.),$); +#593=IFCPROPERTYSINGLEVALUE('DBofdF','ojZmFGyYO',IFCVOLUMEMEASURE(0.),$); +#594=IFCPROPERTYSINGLEVALUE('RAejYoJpP','IhY7SP1i',IFCAREAMEASURE(0.),$); +#595=IFCPROPERTYSINGLEVALUE('qG1tCvw02N','DBM7ww',IFCVOLUMEMEASURE(0.),$); +#596=IFCRELDEFINESBYPROPERTIES('0N6_wuQ6b9TBLauTqyx5OA',#1,'pveMJY4OsC','o2toDY',(#455),#581); +#597=IFCPROPERTYSET('0tCQwiQgb16REhgBkIGKAn',#1,'asWqmJECF','YBW0RVo',(#598,#599,#600,#601,#602,#603,#604,#605)); +#598=IFCPROPERTYSINGLEVALUE('JBgrhzQl','iKqNcuMaI0',IFCLABEL(' '),$); +#599=IFCPROPERTYSINGLEVALUE('9tkglCAJNN','p7WAW1S',IFCLABEL(' '),$); +#600=IFCPROPERTYSINGLEVALUE('zmWVgP','g7OnIU',IFCLABEL(' '),$); +#601=IFCPROPERTYSINGLEVALUE('VbbEsb','3eL6yia',IFCLABEL(' '),$); +#602=IFCPROPERTYSINGLEVALUE('AxZk5RhNPy','aV16JA',IFCLABEL(' '),$); +#603=IFCPROPERTYSINGLEVALUE('wkMot6','irzlJOi',IFCLABEL(' '),$); +#604=IFCPROPERTYSINGLEVALUE('BF7tQmJz9','KpaRtG',IFCLABEL(' '),$); +#605=IFCPROPERTYSINGLEVALUE('wyXhQdugy','u8DsurLrhF',IFCLABEL(' '),$); +#606=IFCRELDEFINESBYPROPERTIES('3wDw1r54XF$RIDwWQDuhI7',#1,'VgafXZA','NBKiIk9',(#455),#597); +#607=IFCPROPERTYSET('2$mIk2KMH94RZmrgca6JPj',#1,'OHGwEl','vhLajRQ4',(#608,#609,#610,#611,#612,#613,#614,#615,#616,#617)); +#608=IFCPROPERTYSINGLEVALUE('y06N0Vu','wKEGlbf',IFCLABEL(' '),$); +#609=IFCPROPERTYSINGLEVALUE('zZDGZvteEH','cSVnSQ',IFCLABEL('Noce 01'),$); +#610=IFCPROPERTYSINGLEVALUE('Vy30OerS','iocChJ',IFCLABEL('Trasparente'),$); +#611=IFCPROPERTYSINGLEVALUE('Cm3Y6sb','F4jTSftWV',IFCLABEL(' '),$); +#612=IFCPROPERTYSINGLEVALUE('YuPAPjvnZM','9cJTCd',IFCLABEL(' '),$); +#613=IFCPROPERTYSINGLEVALUE('5XHvzoZSZL','UV4EPsL',IFCLABEL('Alluminio satinato'),$); +#614=IFCPROPERTYSINGLEVALUE('fJZMbS5X','DWJP2TRfv',IFCLABEL(' '),$); +#615=IFCPROPERTYSINGLEVALUE('j8IemWE','ghB6bV',IFCLABEL(' '),$); +#616=IFCPROPERTYSINGLEVALUE('zBb4RgJ','wGQDxrS',IFCLABEL(' '),$); +#617=IFCPROPERTYSINGLEVALUE('K6BLIsS','bWUYvbYq0',IFCLABEL(' '),$); +#618=IFCRELDEFINESBYPROPERTIES('1YFvhP8rX0ugF8V8s8c2jB',#1,'Wuj33NwX','ifAVIXbuDu',(#455),#607); +#619=IFCPROPERTYSET('0TakpIZB53qg5CfbdHey_8',#1,'WK4r4CE','qwYOHx',(#608,#620,#621,#611,#612,#622,#614,#615,#616,#617)); +#620=IFCPROPERTYSINGLEVALUE('dJQmYKj','Oeajw8YNh',IFCLABEL(' '),$); +#621=IFCPROPERTYSINGLEVALUE('b8wVftkW','ICxZCp',IFCLABEL(' '),$); +#622=IFCPROPERTYSINGLEVALUE('bAPu4P','gMjLgueWdS',IFCLABEL(' '),$); +#623=IFCRELDEFINESBYPROPERTIES('2MaKdVyxbD1v2xN8jAZI6p',#1,'qk3meSp1r','trvvNHv',(#455),#619); +#624=IFCPROPERTYSET('3TANh6Yqz5O9iEv3$3O0d9',#1,'Kvgtr6JTD','cEt8KlVn7',(#608,#620,#621,#611,#612,#622,#614,#615,#616,#617)); +#625=IFCRELDEFINESBYPROPERTIES('0MkKr2jmP3sx0vbdQ9SPEg',#1,'qttWtjj1O','oSdRysOKy',(#455),#624); +#626=IFCPROPERTYSET('0ouygoPJ95kQFthrguc1PE',#1,'0l4a6c','EqVHMmtt1',(#627)); +#627=IFCPROPERTYSINGLEVALUE('JO7Fr7Th','jvMs57Psmb',IFCCOUNTMEASURE(3.),$); +#628=IFCRELDEFINESBYPROPERTIES('0FpNREeMDC2QXDq7MqR943',#1,'utNf3pWPR','Ke5wNq9n',(#455),#626); +#629=IFCMATERIALLIST((#54,#64,#74)); +#630=IFCRELASSOCIATESMATERIAL('3l5bXoGp95veTm5X0d2RMr',#1,'J4BZkDlAlS','VPpYVKDYgz',(#455),#629); +#631=IFCLOCALPLACEMENT(#422,#635); +#632=IFCCARTESIANPOINT((-1.4,-3.99999999999983E-2,0.)); +#633=IFCDIRECTION((0.,0.,1.)); +#634=IFCDIRECTION((1.,0.,0.)); +#635=IFCAXIS2PLACEMENT3D(#632,#633,#634); +#636=IFCPRODUCTDEFINITIONSHAPE('9xz2FaS','7PHCX5L6N2',(#643,#646,#653,#660)); +#637=IFCMAPPEDITEM(#84,#638); +#638=IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#639,#640,#642,1.,#641,1.,1.); +#639=IFCDIRECTION((-1.,0.,0.)); +#640=IFCDIRECTION((0.,0.,1.)); +#641=IFCDIRECTION((0.,1.,0.)); +#642=IFCCARTESIANPOINT((7.E-1,3.99999999999991E-2,0.)); +#643=IFCSHAPEREPRESENTATION(#23,'Body','MappedRepresentation',(#637)); +#644=IFCBOUNDINGBOX(#645,1.4,3.00000000000001E-1,1.5); +#645=IFCCARTESIANPOINT((1.33226762955019E-15,-1.10000000000001E-1,0.)); +#646=IFCSHAPEREPRESENTATION(#388,'Box','BoundingBox',(#644)); +#647=IFCGEOMETRICCURVESET((#648)); +#648=IFCPOLYLINE((#649,#650,#651,#652,#649)); +#649=IFCCARTESIANPOINT((1.4,3.99999999999991E-2,1.5)); +#650=IFCCARTESIANPOINT((1.4,3.99999999999991E-2,0.)); +#651=IFCCARTESIANPOINT((2.66453525910038E-15,3.99999999999991E-2,0.)); +#652=IFCCARTESIANPOINT((2.66453525910038E-15,3.99999999999991E-2,1.5)); +#653=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#647)); +#654=IFCGEOMETRICCURVESET((#655)); +#655=IFCPOLYLINE((#656,#657,#658,#659,#656)); +#656=IFCCARTESIANPOINT((1.33226762955019E-15,-1.10000000000001E-1)); +#657=IFCCARTESIANPOINT((1.4,-1.10000000000001E-1)); +#658=IFCCARTESIANPOINT((1.4,1.89999999999999E-1)); +#659=IFCCARTESIANPOINT((3.5527136788005E-15,1.9E-1)); +#660=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#654)); +#661=IFCRELFILLSELEMENT('0CZVeMI9n8CeAe_Hu8CrQq',#1,'1Qxpixh','EBUnWb',#413,#455); +#662=IFCRELVOIDSELEMENT('0nDPLnFUn9Ne8PPebglkpN',#1,'8Qi1Bv','nDkZl8Hm',#289,#413); +#663=IFCRELCONTAINEDINSPATIALSTRUCTURE('3phbMhk6n5gQs8ekIPgJ6k',#1,'6FWKHjG','upTRn4s',(#289,#455),#281); +#664=IFCBUILDINGSTOREY('0QJSA0NpzBufFwTlz3Iy5_',#1,'zBBauFe2i','qD6PhSO49n',$,#668,$,$,.ELEMENT.,3.2); +#665=IFCPROPERTYSET('1xdMEpsZTCNxPsiSovxvng',#1,'adz0UkJ','09tHHA',(#666)); +#666=IFCPROPERTYSINGLEVALUE('gUyVFncIt','jBHevdgqH',IFCINTEGER(4),$); +#667=IFCRELDEFINESBYPROPERTIES('3LBwZRefDFDgghz8zbZVov',#1,'S2BTTwB9','hHgRT1Ue8',(#664),#665); +#668=IFCLOCALPLACEMENT(#259,#672); +#669=IFCCARTESIANPOINT((0.,0.,3.2)); +#670=IFCDIRECTION((0.,0.,1.)); +#671=IFCDIRECTION((1.,0.,0.)); +#672=IFCAXIS2PLACEMENT3D(#669,#670,#671); +#673=IFCRELAGGREGATES('3KK00pjr12A90PCoglhAXi',#1,'TVl6FDL','JAxRP2o',#258,(#263,#272,#281,#664)); +#674=IFCPOSTALADDRESS($,'8xJDSD',$,$,('OtaYko'),$,'ajhfff','qIxbJ3nFn','jgXIOmcY','8H2CuM'); +#675=IFCRELAGGREGATES('0hEBZpizT7IuA9eddndvFT',#1,'ingoAP9ODB','x1fGA2wNx4',#253,(#258)); +#676=IFCRELAGGREGATES('3OG1ApaM52WPqt1BnjA0YB',#1,'gZTYcL','EH2MRUM',#7,(#253)); +#679=IFCWINDOWTYPE('0noPcdJinBDwgoJxIi1TnQ',#1,'ggpDg1iH0','Y3S535',$,$,(#682),$,$,.NOTDEFINED.,.DOUBLE_PANEL_VERTICAL.,.T.,$); +#680=IFCRELDEFINESBYTYPE('2TY6cVTGb848xQ1EQsa0iD',#1,'gdwlhgnO','yHgbWZokpL',(#455),#679); +#681=IFCRELASSOCIATESMATERIAL('3_IxeGc$zEmR6SROarfHBn',#1,'bdFC8V','SziG36vBI',(#679),#629); +#682=IFCREPRESENTATIONMAP(#683,#684); +#683=IFCAXIS2PLACEMENT3D(#21,$,$); +#684=IFCSHAPEREPRESENTATION(#23,'Body','MappedRepresentation',(#637)); +#685=IFCWALLTYPE('3Era5tluX2v8cYG84KNRR4',#1,'VQISJwwUm','tcoIe8eF8',$,$,$,$,$,.NOTDEFINED.); +#686=IFCRELDEFINESBYTYPE('3BCYUELrH4qwMH0jMLPTYA',#1,'ua44ytICh','znXQXp0',(#289),#685); +#687=IFCRELASSOCIATESMATERIAL('1ffsVUv21An8DbhmkxDPv_',#1,'3qlZQDQvip','eCKATG5Yw',(#685),#362); +#688=IFCGROUP('1Eg539twrEAwqJB_DVv5Mr',#1,'4r0vNtV8ea','LjdktE',$); +#689=IFCGROUP('31wxPUExD3bQSEedESlR4J',#1,'xtGRWw','7cYiJyhnQp',$); +#690=IFCGROUP('0okQphQsL1UuzD8vPN60C3',#1,'WFO4j0vHLd','KPeurrKTWm',$); +#691=IFCGROUP('1U1qjkQYvANwXr8zx629j7',#1,'tBZSvpgq8L','H9CoGpwuY',$); +#692=IFCRELASSIGNSTOGROUP('2b_TEbRxXBfBwj9dNT0YkP',#1,'muUVu4c','DhKKtPUx3A',(#289),$,#688); +#693=IFCRELASSIGNSTOGROUP('1p4l43nXb6ReJ$I3j7RJgJ',#1,'Th5L1imLyZ','ooiZPztw',(#289),$,#689); +#694=IFCRELASSIGNSTOGROUP('0q_Zm0AUjF_RJdTi6SKztN',#1,'eGhqTMd','YLLBp2v',(#289),$,#690); +#695=IFCRELASSIGNSTOGROUP('2xOqroc4DBGB40Dn0qLNi2',#1,'fHsIGr0S','Wji7zqVWe7',(#289),$,#691); +#696=IFCRELDECLARES('2lFnbvJk97TR9osOVvfCWC',#1,'FmzTcj','vXjUzGSIfv',#7,(#688,#689,#690,#691)); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/lay000/pass-lay000-correct_layer_assignment.ifc b/test/files/lay000/pass-lay000-correct_layer_assignment.ifc new file mode 100644 index 00000000..77dc085b --- /dev/null +++ b/test/files/lay000/pass-lay000-correct_layer_assignment.ifc @@ -0,0 +1,705 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[CoordinationView]'),'2;1'); +FILE_NAME('C:/Example/Path/Example_File.IFC','2024-07-04T11:07:30',(''),(''),'Example IFC','Example Architecture',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCOWNERHISTORY(#2,#6,.READWRITE.,.NOCHANGE.,$,$,$,1717175251); +#2=IFCPERSONANDORGANIZATION(#3,#4,$); +#3=IFCPERSON($,'LyJW9CgT','qn5b8q',$,$,$,$,$); +#4=IFCORGANIZATION($,'VHvFjj','RJlCa7',$,$); +#5=IFCORGANIZATION($,'NfxCxp','UxfxG4JeSg',$,$); +#6=IFCAPPLICATION(#5,'usBIM(k)','qca8Kedy','3tb9FTNh'); +#7=IFCPROJECT('0sPVYZ6W50IgvZvKUcnIDH',#1,'J82Cw3CF','JO2nuOplxQ',$,$,$,(#19),#11); +#8=IFCPROPERTYSET('2V1QcWSxb2JeeuBzPj0HiY',#1,'acWSAbGf','R8rjU42',(#9)); +#9=IFCPROPERTYSINGLEVALUE('nOOicDw7','Vi1Guc',IFCINTEGER(2),$); +#10=IFCRELDEFINESBYPROPERTIES('2OORkakxn9off7ouiac54e',#1,'RYMJzD','LAUzaj1',(#7),#8); +#11=IFCUNITASSIGNMENT((#12,#13,#14,#15)); +#12=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#13=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#14=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#15=IFCCONVERSIONBASEDUNIT(#16,.PLANEANGLEUNIT.,'0LRIo3',#17); +#16=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#17=IFCMEASUREWITHUNIT(IFCRATIOMEASURE(1.74532925E-2),#18); +#18=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#19=IFCGEOMETRICREPRESENTATIONCONTEXT('3D','Model',3,1.E-4,#20,#22); +#20=IFCAXIS2PLACEMENT3D(#21,$,$); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCDIRECTION((0.,1.)); +#23=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#24=IFCMATERIAL('AAED9oV','g5RW3aKB9',$); +#25=IFCMATERIALDEFINITIONREPRESENTATION('wunw7SNFWQ','BFOfz1R',(#26),#24); +#26=IFCSTYLEDREPRESENTATION(#19,$,$,(#27)); +#27=IFCSTYLEDITEM($,(#29),'HjxM4N'); +#28=IFCSURFACESTYLE('19VBfxNOQt',.BOTH.,(#30)); +#29=IFCPRESENTATIONSTYLEASSIGNMENT((#28)); +#30=IFCSURFACESTYLERENDERING(#31,0.,#32,$,$,$,#33,$,.NOTDEFINED.); +#31=IFCCOLOURRGB('UDMS7rp',1.,1.,9.17647058823529E-1); +#32=IFCCOLOURRGB('IQemQL80',1.,1.,9.17647058823529E-1); +#33=IFCCOLOURRGB('92RunbzgVb',0.,0.,0.); +#34=IFCMATERIAL('vxCq6wlhB','3uhGizm15',$); +#35=IFCMATERIALDEFINITIONREPRESENTATION('WP1Feu7Ly','oiAlJo',(#36),#34); +#36=IFCSTYLEDREPRESENTATION(#19,$,$,(#37)); +#37=IFCSTYLEDITEM($,(#39),'1bsqLTx9th'); +#38=IFCSURFACESTYLE('WdXDWfOXL',.BOTH.,(#40)); +#39=IFCPRESENTATIONSTYLEASSIGNMENT((#38)); +#40=IFCSURFACESTYLERENDERING(#41,0.,#42,$,$,$,#43,$,.NOTDEFINED.); +#41=IFCCOLOURRGB('oxrhu1YbT',8.11764705882353E-1,9.05882352941176E-1,9.05882352941176E-1); +#42=IFCCOLOURRGB('6LC6cS6R',8.11764705882353E-1,9.05882352941176E-1,9.05882352941176E-1); +#43=IFCCOLOURRGB('IeKtmD9t1',0.,0.,0.); +#44=IFCMATERIAL('ua7mRf','2Zmq0pBM',$); +#45=IFCMATERIALDEFINITIONREPRESENTATION('sGYrFfiEAy','nNWZ2Vf9',(#46),#44); +#46=IFCSTYLEDREPRESENTATION(#19,$,$,(#47)); +#47=IFCSTYLEDITEM($,(#49),'MIEVEe'); +#48=IFCSURFACESTYLE('n5K8gADX',.BOTH.,(#50)); +#49=IFCPRESENTATIONSTYLEASSIGNMENT((#48)); +#50=IFCSURFACESTYLERENDERING(#51,0.,#52,$,$,$,#53,$,.NOTDEFINED.); +#51=IFCCOLOURRGB('K7OJHcnhA',1.,1.,1.); +#52=IFCCOLOURRGB('04hVaE6E',1.,1.,1.); +#53=IFCCOLOURRGB('6Zs1TE3x',0.,0.,0.); +#54=IFCMATERIAL('wAOktOG5do','mWgq2SlIv',$); +#55=IFCMATERIALDEFINITIONREPRESENTATION('WdfOEH1','slISwxTc',(#56),#54); +#56=IFCSTYLEDREPRESENTATION(#19,$,$,(#57)); +#57=IFCSTYLEDITEM($,(#59),'r1EBUqK'); +#58=IFCSURFACESTYLE('9qb1FZ8',.BOTH.,(#60)); +#59=IFCPRESENTATIONSTYLEASSIGNMENT((#58)); +#60=IFCSURFACESTYLERENDERING(#61,5.99999994039536E-1,#62,$,$,$,#63,$,.NOTDEFINED.); +#61=IFCCOLOURRGB('pYEErqihNj',1.,1.,1.); +#62=IFCCOLOURRGB('lbk7xGoSUc',1.,1.,1.); +#63=IFCCOLOURRGB('0Wj4BgImf',4.6875E-2,4.6875E-2,4.6875E-2); +#64=IFCMATERIAL('1K88eMG4','6rneA18Nm',$); +#65=IFCMATERIALDEFINITIONREPRESENTATION('xfv3IZfY','7zDpO2F9',(#66),#64); +#66=IFCSTYLEDREPRESENTATION(#19,$,$,(#67)); +#67=IFCSTYLEDITEM($,(#69),'p2k9Fig6'); +#68=IFCSURFACESTYLE('IoUdzR2zL',.BOTH.,(#70)); +#69=IFCPRESENTATIONSTYLEASSIGNMENT((#68)); +#70=IFCSURFACESTYLERENDERING(#71,0.,#72,$,$,$,#73,$,.NOTDEFINED.); +#71=IFCCOLOURRGB('VHQCjW',4.03921574354172E-1,3.29411774873734E-1,2.43137255311012E-1); +#72=IFCCOLOURRGB('ziKQjAt3NA',4.03921574354172E-1,3.29411774873734E-1,2.43137255311012E-1); +#73=IFCCOLOURRGB('FwMrwtGK',0.,0.,0.); +#74=IFCMATERIAL('k0tTNiLC','pl30UkY1',$); +#75=IFCMATERIALDEFINITIONREPRESENTATION('GF2nVl','VnoNBLk',(#76),#74); +#76=IFCSTYLEDREPRESENTATION(#19,$,$,(#77)); +#77=IFCSTYLEDITEM($,(#79),'7ool28'); +#78=IFCSURFACESTYLE('eLFAMd',.BOTH.,(#80)); +#79=IFCPRESENTATIONSTYLEASSIGNMENT((#78)); +#80=IFCSURFACESTYLERENDERING(#81,0.,#82,$,$,$,#83,$,.NOTDEFINED.); +#81=IFCCOLOURRGB('4Wo0F995oI',6.50980412960052E-1,6.70588254928589E-1,7.09803938865662E-1); +#82=IFCCOLOURRGB('D3gFT2UMk',6.50980412960052E-1,6.70588254928589E-1,7.09803938865662E-1); +#83=IFCCOLOURRGB('PjbxT40GM1',0.,0.,0.); +#84=IFCREPRESENTATIONMAP(#87,#88); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#21,#85,#86); +#88=IFCSHAPEREPRESENTATION(#23,'Body','Tessellation',(#89,#108,#131,#158,#167,#190,#199,#208,#217,#244)); +#89=IFCPOLYGONALFACESET(#90,$,(#91,#92,#93,#94,#95,#96,#97,#98,#99,#100,#101,#102,#103,#104,#105,#106),$); +#90=IFCCARTESIANPOINTLIST3D(((-6.49999976158142E-1,1.45000004768372,-3.99999991059303E-2),(-6.49999976158142E-1,1.45000004768372,3.99999991059303E-2),(-6.49999976158142E-1,5.00000007450581E-2,3.99999991059303E-2),(-6.49999976158142E-1,5.00000007450581E-2,-3.99999991059303E-2),(-6.99999988079071E-1,1.5,3.99999991059303E-2),(-6.99999988079071E-1,0.,3.99999991059303E-2),(-6.99999988079071E-1,1.5,-3.99999991059303E-2),(-6.99999988079071E-1,0.,-3.99999991059303E-2),(6.49999976158142E-1,5.0000000745058E-2,3.99999991059303E-2),(6.49999976158142E-1,5.0000000745058E-2,-3.99999991059303E-2),(6.99999988079071E-1,0.,3.99999991059303E-2),(6.49999976158142E-1,5.00000007450581E-2,3.99999991059303E-2),(6.99999988079071E-1,0.,-3.99999991059303E-2),(6.49999976158142E-1,5.00000007450581E-2,-3.99999991059303E-2),(6.49999976158142E-1,1.45000004768372,3.99999991059303E-2),(6.49999976158142E-1,1.45000004768372,-3.99999991059303E-2),(6.99999988079071E-1,1.5,3.99999991059303E-2),(6.99999988079071E-1,1.5,-3.99999991059303E-2))); +#91=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#92=IFCINDEXEDPOLYGONALFACE((2,5,6,3)); +#93=IFCINDEXEDPOLYGONALFACE((5,7,8,6)); +#94=IFCINDEXEDPOLYGONALFACE((7,1,4,8)); +#95=IFCINDEXEDPOLYGONALFACE((4,3,9,10)); +#96=IFCINDEXEDPOLYGONALFACE((3,6,11,12)); +#97=IFCINDEXEDPOLYGONALFACE((6,8,13,11)); +#98=IFCINDEXEDPOLYGONALFACE((8,4,14,13)); +#99=IFCINDEXEDPOLYGONALFACE((14,12,15,16)); +#100=IFCINDEXEDPOLYGONALFACE((12,11,17,15)); +#101=IFCINDEXEDPOLYGONALFACE((11,13,18,17)); +#102=IFCINDEXEDPOLYGONALFACE((13,14,16,18)); +#103=IFCINDEXEDPOLYGONALFACE((16,15,2,1)); +#104=IFCINDEXEDPOLYGONALFACE((15,17,5,2)); +#105=IFCINDEXEDPOLYGONALFACE((17,18,7,5)); +#106=IFCINDEXEDPOLYGONALFACE((18,16,1,7)); +#107=IFCSTYLEDITEM(#89,(#69),'jmF8hV'); +#108=IFCPOLYGONALFACESET(#109,$,(#110,#111,#112,#113,#114,#115,#116,#117,#118,#119,#120,#121,#122,#123,#124,#125,#126,#127,#128,#129),$); +#109=IFCCARTESIANPOINTLIST3D(((-6.10000014305115E-1,1.4099999666214,-3.50000001490116E-2),(-6.00000019185245E-1,1.39999997615814,-2.50000050291419E-2),(-6.00000019185245E-1,1.00000001490116E-1,-2.50000050291419E-2),(-6.10000014305115E-1,9.00000035762787E-2,-3.50000001490116E-2),(-6.00000023841858E-1,1.39999997615814,-2.5000000372529E-2),(-6.00000023841858E-1,1.39999997615814,3.50000001490116E-2),(-6.00000023841858E-1,1.00000001490116E-1,3.50000001490116E-2),(-6.00000023841858E-1,1.00000001490116E-1,-2.5000000372529E-2),(-6.49999976158142E-1,1.45000004768372,3.50000001490116E-2),(-6.49999976158142E-1,5.00000007450581E-2,3.50000001490116E-2),(-6.49999976158142E-1,1.45000004768372,-3.50000001490116E-2),(-6.49999976158142E-1,5.00000007450581E-2,-3.50000001490116E-2),(-6.00000023841858E-1,1.00000002421439E-1,-2.50000013038516E-2),(-5.00000007450581E-2,1.00000002421439E-1,-2.50000013038516E-2),(-3.99999991059303E-2,9.00000035762787E-2,-3.50000001490116E-2),(-5.00000007450581E-2,1.00000001490116E-1,3.50000001490116E-2),(-5.00000007450581E-2,1.00000001490116E-1,-2.5000000372529E-2),(-1.33226762955019E-15,5.00000007450581E-2,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,-3.50000001490116E-2),(-4.99999998137355E-2,1.00000001490116E-1,-2.49999994412065E-2),(-4.99999998137354E-2,1.39999997615814,-2.49999994412064E-2),(-3.99999991059303E-2,1.4099999666214,-3.50000001490116E-2),(-5.00000007450579E-2,1.39999997615814,3.50000001490116E-2),(-5.00000007450579E-2,1.39999997615814,-2.5000000372529E-2),(-1.22124532708767E-15,1.45000004768372,3.50000001490116E-2),(-5.00000007450581E-2,1.39999997615814,3.50000001490116E-2),(-1.22124532071838E-15,1.45000004768372,-3.50000001490116E-2),(-1.22124532071838E-15,1.45000004768372,3.50000001490116E-2),(-1.22124532708767E-15,1.45000004768372,-3.50000001490116E-2),(-5.00000007450581E-2,1.39999997150153,-2.50000050291419E-2),(-6.00000023841858E-1,1.39999997150153,-2.50000050291417E-2),(-6.10000014305115E-1,1.4099999666214,-3.50000001490115E-2),(-5.00000007450581E-2,1.39999997615814,-2.5000000372529E-2))); +#110=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#111=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#112=IFCINDEXEDPOLYGONALFACE((6,9,10,7)); +#113=IFCINDEXEDPOLYGONALFACE((9,11,12,10)); +#114=IFCINDEXEDPOLYGONALFACE((11,1,4,12)); +#115=IFCINDEXEDPOLYGONALFACE((4,13,14,15)); +#116=IFCINDEXEDPOLYGONALFACE((8,7,16,17)); +#117=IFCINDEXEDPOLYGONALFACE((7,10,18,16)); +#118=IFCINDEXEDPOLYGONALFACE((10,12,19,18)); +#119=IFCINDEXEDPOLYGONALFACE((12,4,15,19)); +#120=IFCINDEXEDPOLYGONALFACE((15,20,21,22)); +#121=IFCINDEXEDPOLYGONALFACE((17,16,23,24)); +#122=IFCINDEXEDPOLYGONALFACE((16,18,25,26)); +#123=IFCINDEXEDPOLYGONALFACE((18,19,27,28)); +#124=IFCINDEXEDPOLYGONALFACE((19,15,22,29)); +#125=IFCINDEXEDPOLYGONALFACE((22,30,31,32)); +#126=IFCINDEXEDPOLYGONALFACE((33,26,6,5)); +#127=IFCINDEXEDPOLYGONALFACE((26,25,9,6)); +#128=IFCINDEXEDPOLYGONALFACE((25,29,11,9)); +#129=IFCINDEXEDPOLYGONALFACE((29,22,1,11)); +#130=IFCSTYLEDITEM(#108,(#69),'yPWZMhtf'); +#131=IFCPOLYGONALFACESET(#132,$,(#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,#144,#145,#146,#147,#148,#149,#150,#151,#152,#153,#154,#155,#156),$); +#132=IFCCARTESIANPOINTLIST3D(((-5.84999978542328E-1,1.38499999046326,-9.99999977648258E-3),(-5.79999980982393E-1,1.37999999523163,-5.00000221654773E-3),(-5.79999980982393E-1,1.19999997317791E-1,-5.00000221654773E-3),(-5.84999978542328E-1,1.15000002086163E-1,-9.99999977648258E-3),(-5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(-5.84999980870634E-1,1.38499999046326,9.99999744817615E-3),(-5.84999980870634E-1,1.15000002086163E-1,9.99999744817615E-3),(-5.84999978542328E-1,1.38499999046326,9.99999977648258E-3),(-6.00000023841858E-1,1.39999997615814,9.99999977648258E-3),(-6.00000023841858E-1,1.00000001490116E-1,9.99999977648258E-3),(-5.84999978542328E-1,1.15000002086163E-1,9.99999977648258E-3),(-6.00000023841858E-1,1.39999997615814,-9.99999977648258E-3),(-6.00000023841858E-1,1.00000001490116E-1,-9.99999977648258E-3),(-5.79999983310699E-1,1.19999999646097E-1,-5.00000221654773E-3),(-7.00000002980232E-2,1.19999999646097E-1,-5.00000221654773E-3),(-6.49999976158142E-2,1.15000002086163E-1,-9.99999977648258E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(-5.84999978542328E-1,1.14999999757856E-1,9.99999744817615E-3),(-6.49999976158142E-2,1.14999999757856E-1,9.99999744817613E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824127E-3),(-5.00000007450581E-2,1.00000001490116E-1,9.99999977648258E-3),(-6.49999976158142E-2,1.15000002086163E-1,9.99999977648258E-3),(-5.00000007450581E-2,1.00000001490116E-1,-9.99999977648258E-3),(-6.99999989010394E-2,1.19999997317791E-1,-4.99999849125743E-3),(-6.99999989010394E-2,1.37999999523163,-4.99999849125743E-3),(-6.49999976158142E-2,1.38499999046326,-9.99999977648258E-3),(-7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(-7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(-6.49999990127981E-2,1.15000002086163E-1,1.00000011734664E-2),(-6.4999999012798E-2,1.38499999046326,1.00000011734663E-2),(-7.00000002980231E-2,1.37999999523163,4.99999988824118E-3),(-5.00000007450581E-2,1.39999997615814,9.99999977648258E-3),(-6.49999976158142E-2,1.38499999046326,9.99999977648258E-3),(-5.00000007450579E-2,1.39999997615814,-9.99999977648258E-3),(-5.00000007450579E-2,1.39999997615814,9.99999977648258E-3),(-5.00000007450581E-2,1.39999997615814,-9.99999977648258E-3),(-7.00000002980232E-2,1.37999999290332,-5.00000221654769E-3),(-5.79999983310699E-1,1.37999999290332,-5.00000221654769E-3),(-6.49999976158142E-2,1.38499999279156,9.99999744817619E-3),(-5.84999978542328E-1,1.38499999279156,9.99999744817634E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824145E-3))); +#133=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#134=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#135=IFCINDEXEDPOLYGONALFACE((6,9,10,7)); +#136=IFCINDEXEDPOLYGONALFACE((11,12,13,14)); +#137=IFCINDEXEDPOLYGONALFACE((12,15,16,13)); +#138=IFCINDEXEDPOLYGONALFACE((15,1,4,16)); +#139=IFCINDEXEDPOLYGONALFACE((4,17,18,19)); +#140=IFCINDEXEDPOLYGONALFACE((8,7,20,21)); +#141=IFCINDEXEDPOLYGONALFACE((7,22,23,24)); +#142=IFCINDEXEDPOLYGONALFACE((14,13,25,26)); +#143=IFCINDEXEDPOLYGONALFACE((13,16,27,25)); +#144=IFCINDEXEDPOLYGONALFACE((16,4,19,27)); +#145=IFCINDEXEDPOLYGONALFACE((19,28,29,30)); +#146=IFCINDEXEDPOLYGONALFACE((21,20,31,32)); +#147=IFCINDEXEDPOLYGONALFACE((20,33,34,35)); +#148=IFCINDEXEDPOLYGONALFACE((26,25,36,37)); +#149=IFCINDEXEDPOLYGONALFACE((25,27,38,39)); +#150=IFCINDEXEDPOLYGONALFACE((27,19,30,40)); +#151=IFCINDEXEDPOLYGONALFACE((30,41,42,1)); +#152=IFCINDEXEDPOLYGONALFACE((32,31,6,5)); +#153=IFCINDEXEDPOLYGONALFACE((31,43,44,45)); +#154=IFCINDEXEDPOLYGONALFACE((37,36,12,11)); +#155=IFCINDEXEDPOLYGONALFACE((36,40,15,12)); +#156=IFCINDEXEDPOLYGONALFACE((40,30,1,15)); +#157=IFCSTYLEDITEM(#131,(#69),'NM0pR2geMN'); +#158=IFCPOLYGONALFACESET(#159,$,(#160,#161,#162,#163,#164,#165),$); +#159=IFCCARTESIANPOINTLIST3D(((-7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(-7.00000002980231E-2,1.37999999523163,-4.99999988824129E-3),(-7.00000002980231E-2,1.37999999523163,4.99999988824129E-3))); +#160=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#161=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#162=IFCINDEXEDPOLYGONALFACE((4,3,6,5)); +#163=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#164=IFCINDEXEDPOLYGONALFACE((2,9,10,7)); +#165=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#166=IFCSTYLEDITEM(#158,(#59),'LZmDFma'); +#167=IFCPOLYGONALFACESET(#168,$,(#169,#170,#171,#172,#173,#174,#175,#176,#177,#178,#179,#180,#181,#182,#183,#184,#185,#186,#187,#188),$); +#168=IFCCARTESIANPOINTLIST3D(((3.99999991059303E-2,1.4099999666214,-3.50000001490116E-2),(4.99999998137355E-2,1.39999997615814,-2.49999994412065E-2),(4.99999998137354E-2,1.00000001490116E-1,-2.49999994412064E-2),(3.99999991059303E-2,9.00000035762787E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.39999997615814,-2.5000000372529E-2),(5.00000007450581E-2,1.39999997615814,3.50000001490116E-2),(5.00000007450579E-2,1.00000001490116E-1,3.50000001490116E-2),(5.00000007450579E-2,1.00000001490116E-1,-2.5000000372529E-2),(-1.22124532708767E-15,1.45000004768372,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,3.50000001490116E-2),(5.00000007450581E-2,1.00000001490116E-1,3.50000001490116E-2),(-1.22124532708767E-15,1.45000004768372,-3.50000001490116E-2),(-1.33226763591948E-15,5.00000007450581E-2,-3.50000001490116E-2),(-1.33226763591948E-15,5.00000007450581E-2,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.00000002421439E-1,-2.50000013038516E-2),(6.00000023841858E-1,1.00000002421439E-1,-2.50000013038516E-2),(6.10000014305115E-1,9.00000035762787E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.00000001490116E-1,-2.5000000372529E-2),(6.00000023841858E-1,1.00000001490116E-1,3.50000001490116E-2),(6.00000023841858E-1,1.00000001490116E-1,-2.5000000372529E-2),(6.49999976158142E-1,5.00000007450581E-2,3.50000001490116E-2),(6.49999976158142E-1,5.00000007450581E-2,-3.50000001490116E-2),(6.00000019185245E-1,1.00000001490116E-1,-2.50000050291419E-2),(6.00000019185245E-1,1.39999997615814,-2.50000050291419E-2),(6.10000014305115E-1,1.4099999666214,-3.50000001490116E-2),(6.00000023841858E-1,1.39999997615814,3.50000001490116E-2),(6.00000023841858E-1,1.39999997615814,-2.5000000372529E-2),(6.49999976158142E-1,1.45000004768372,3.50000001490116E-2),(6.49999976158142E-1,1.45000004768372,-3.50000001490116E-2),(6.00000023841858E-1,1.39999997150153,-2.50000050291419E-2),(5.00000007450581E-2,1.39999997150153,-2.50000050291419E-2))); +#169=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#170=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#171=IFCINDEXEDPOLYGONALFACE((6,9,10,11)); +#172=IFCINDEXEDPOLYGONALFACE((9,12,13,14)); +#173=IFCINDEXEDPOLYGONALFACE((12,1,4,15)); +#174=IFCINDEXEDPOLYGONALFACE((4,16,17,18)); +#175=IFCINDEXEDPOLYGONALFACE((19,11,20,21)); +#176=IFCINDEXEDPOLYGONALFACE((11,10,22,20)); +#177=IFCINDEXEDPOLYGONALFACE((10,15,23,22)); +#178=IFCINDEXEDPOLYGONALFACE((15,4,18,23)); +#179=IFCINDEXEDPOLYGONALFACE((18,24,25,26)); +#180=IFCINDEXEDPOLYGONALFACE((21,20,27,28)); +#181=IFCINDEXEDPOLYGONALFACE((20,22,29,27)); +#182=IFCINDEXEDPOLYGONALFACE((22,23,30,29)); +#183=IFCINDEXEDPOLYGONALFACE((23,18,26,30)); +#184=IFCINDEXEDPOLYGONALFACE((26,31,32,1)); +#185=IFCINDEXEDPOLYGONALFACE((28,27,6,5)); +#186=IFCINDEXEDPOLYGONALFACE((27,29,9,6)); +#187=IFCINDEXEDPOLYGONALFACE((29,30,12,9)); +#188=IFCINDEXEDPOLYGONALFACE((30,26,1,12)); +#189=IFCSTYLEDITEM(#167,(#69),'RSHA1XxPb'); +#190=IFCPOLYGONALFACESET(#191,$,(#192,#193,#194,#195,#196,#197),$); +#191=IFCCARTESIANPOINTLIST3D(((4.50000017881393E-2,7.69999980926514E-1,3.50000001490116E-2),(4.50000017881393E-2,7.30000019073486E-1,3.50000001490116E-2),(4.99999988824129E-3,7.30000019073486E-1,3.50000001490116E-2),(4.99999988824129E-3,7.69999980926514E-1,3.50000001490116E-2),(4.99999988824129E-3,7.69999980926514E-1,4.30000014603138E-2),(4.99999988824129E-3,7.30000019073486E-1,4.30000014603138E-2),(4.50000017881393E-2,7.30000019073486E-1,4.30000014603138E-2),(4.50000017881393E-2,7.69999980926514E-1,4.30000014603138E-2))); +#192=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#193=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#194=IFCINDEXEDPOLYGONALFACE((4,3,6,5)); +#195=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#196=IFCINDEXEDPOLYGONALFACE((2,1,8,7)); +#197=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#198=IFCSTYLEDITEM(#190,(#79),'ZoFKry1w'); +#199=IFCPOLYGONALFACESET(#200,$,(#201,#202,#203,#204,#205,#206),$); +#200=IFCCARTESIANPOINTLIST3D(((3.24999988079071E-2,7.54999995231628E-1,4.30000014603138E-2),(3.24999988079071E-2,7.45000004768372E-1,4.30000014603138E-2),(1.75000000745058E-2,7.45000004768372E-1,4.30000014603138E-2),(1.75000000745058E-2,7.54999995231628E-1,4.30000014603138E-2),(1.75000000745058E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000001043081E-1,7.30000026524067E-2),(3.24999988079071E-2,7.45000001043081E-1,7.30000026524067E-2),(3.24999988079071E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000004768372E-1,7.29999989271164E-2),(3.24999988079071E-2,7.45000004768372E-1,7.29999989271164E-2))); +#201=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#202=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#203=IFCINDEXEDPOLYGONALFACE((4,3,9,5)); +#204=IFCINDEXEDPOLYGONALFACE((3,2,10,9)); +#205=IFCINDEXEDPOLYGONALFACE((2,1,8,10)); +#206=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#207=IFCSTYLEDITEM(#199,(#79),'fQI0KF'); +#208=IFCPOLYGONALFACESET(#209,$,(#210,#211,#212,#213,#214,#215),$); +#209=IFCCARTESIANPOINTLIST3D(((3.24999988079071E-2,7.54999995231628E-1,8.29999968409538E-2),(3.24999988079071E-2,7.45000001043081E-1,7.30000026524067E-2),(1.75000000745058E-2,7.45000001043081E-1,7.30000026524067E-2),(1.75000000745058E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,6.25E-1,8.29999968409538E-2),(1.75000000745058E-2,6.25E-1,7.29999989271164E-2),(3.24999988079071E-2,6.25E-1,7.29999989271164E-2),(3.24999988079071E-2,6.25E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000004768372E-1,7.29999989271164E-2),(3.24999988079071E-2,7.45000004768372E-1,7.29999989271164E-2))); +#210=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#211=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#212=IFCINDEXEDPOLYGONALFACE((4,9,6,5)); +#213=IFCINDEXEDPOLYGONALFACE((9,10,7,6)); +#214=IFCINDEXEDPOLYGONALFACE((10,1,8,7)); +#215=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#216=IFCSTYLEDITEM(#208,(#79),'TGaedUr'); +#217=IFCPOLYGONALFACESET(#218,$,(#219,#220,#221,#222,#223,#224,#225,#226,#227,#228,#229,#230,#231,#232,#233,#234,#235,#236,#237,#238,#239,#240,#241,#242),$); +#218=IFCCARTESIANPOINTLIST3D(((6.49999976158142E-2,1.38499999046326,-9.99999977648258E-3),(6.99999989010394E-2,1.37999999523163,-4.99999849125743E-3),(6.99999989010393E-2,1.19999997317791E-1,-4.99999849125738E-3),(6.49999976158142E-2,1.15000002086163E-1,-9.99999977648253E-3),(7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,-4.99999988824129E-3),(6.49999990127981E-2,1.38499999046326,1.00000011734664E-2),(6.49999990127981E-2,1.15000002086163E-1,1.00000011734664E-2),(7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(6.49999976158142E-2,1.38499999046326,9.99999977648258E-3),(5.00000007450581E-2,1.39999997615814,9.99999977648258E-3),(5.00000007450581E-2,1.00000001490116E-1,9.99999977648258E-3),(6.49999976158142E-2,1.15000002086163E-1,9.99999977648258E-3),(5.00000007450581E-2,1.39999997615814,-9.99999977648258E-3),(5.00000007450579E-2,1.00000001490116E-1,-9.99999977648258E-3),(5.00000007450579E-2,1.00000001490116E-1,9.99999977648258E-3),(6.49999976158142E-2,1.15000002086163E-1,-9.99999977648258E-3),(5.00000007450581E-2,1.00000001490116E-1,-9.99999977648258E-3),(7.00000002980232E-2,1.19999999646097E-1,-5.00000221654773E-3),(5.79999983310699E-1,1.19999999646097E-1,-5.00000221654773E-3),(5.84999978542328E-1,1.15000002086163E-1,-9.99999977648258E-3),(7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(6.49999976158142E-2,1.14999999757856E-1,9.99999744817615E-3),(5.84999978542328E-1,1.14999999757856E-1,9.99999744817613E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824127E-3),(6.00000023841858E-1,1.00000001490116E-1,9.99999977648258E-3),(5.84999978542328E-1,1.15000002086163E-1,9.99999977648258E-3),(6.00000023841858E-1,1.00000001490116E-1,-9.99999977648258E-3),(5.79999980982393E-1,1.19999997317791E-1,-5.00000221654773E-3),(5.79999980982393E-1,1.37999999523163,-5.00000221654773E-3),(5.84999978542328E-1,1.38499999046326,-9.99999977648258E-3),(5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(5.84999980870634E-1,1.15000002086163E-1,9.99999744817615E-3),(5.84999980870634E-1,1.38499999046326,9.99999744817603E-3),(5.799999833107E-1,1.37999999523163,4.99999988824117E-3),(6.00000023841858E-1,1.39999997615814,9.99999977648258E-3),(5.84999978542328E-1,1.38499999046326,9.99999977648258E-3),(6.00000023841858E-1,1.39999997615814,-9.99999977648258E-3),(5.79999983310699E-1,1.37999999290332,-5.00000221654769E-3),(7.00000002980232E-2,1.37999999290332,-5.00000221654769E-3),(5.84999978542328E-1,1.38499999279156,9.99999744817619E-3),(6.49999976158142E-2,1.38499999279156,9.99999744817619E-3))); +#219=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#220=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#221=IFCINDEXEDPOLYGONALFACE((6,9,10,11)); +#222=IFCINDEXEDPOLYGONALFACE((12,13,14,15)); +#223=IFCINDEXEDPOLYGONALFACE((13,16,17,18)); +#224=IFCINDEXEDPOLYGONALFACE((16,1,19,20)); +#225=IFCINDEXEDPOLYGONALFACE((19,21,22,23)); +#226=IFCINDEXEDPOLYGONALFACE((24,11,25,26)); +#227=IFCINDEXEDPOLYGONALFACE((11,27,28,29)); +#228=IFCINDEXEDPOLYGONALFACE((15,14,30,31)); +#229=IFCINDEXEDPOLYGONALFACE((14,20,32,30)); +#230=IFCINDEXEDPOLYGONALFACE((20,19,23,32)); +#231=IFCINDEXEDPOLYGONALFACE((23,33,34,35)); +#232=IFCINDEXEDPOLYGONALFACE((26,25,36,37)); +#233=IFCINDEXEDPOLYGONALFACE((25,38,39,40)); +#234=IFCINDEXEDPOLYGONALFACE((31,30,41,42)); +#235=IFCINDEXEDPOLYGONALFACE((30,32,43,41)); +#236=IFCINDEXEDPOLYGONALFACE((32,23,35,43)); +#237=IFCINDEXEDPOLYGONALFACE((35,44,45,1)); +#238=IFCINDEXEDPOLYGONALFACE((37,36,6,5)); +#239=IFCINDEXEDPOLYGONALFACE((36,46,47,6)); +#240=IFCINDEXEDPOLYGONALFACE((42,41,13,12)); +#241=IFCINDEXEDPOLYGONALFACE((41,43,16,13)); +#242=IFCINDEXEDPOLYGONALFACE((43,35,1,16)); +#243=IFCSTYLEDITEM(#217,(#69),'uAtkVH'); +#244=IFCPOLYGONALFACESET(#245,$,(#246,#247,#248,#249,#250,#251),$); +#245=IFCCARTESIANPOINTLIST3D(((5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,4.99999988824129E-3))); +#246=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#247=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#248=IFCINDEXEDPOLYGONALFACE((4,9,10,5)); +#249=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#250=IFCINDEXEDPOLYGONALFACE((2,1,8,7)); +#251=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#252=IFCSTYLEDITEM(#244,(#59),'9yGsbva0bG'); +#253=IFCSITE('2wovVXpgj1cRsZ_0dvJtaZ',#1,'XQpDvAqILs','hqXsVJ7zhR',$,#254,$,$,.ELEMENT.,(0,0,0,0),(0,0,0,0),0.,$,$); +#254=IFCLOCALPLACEMENT($,#257); +#255=IFCDIRECTION((0.,0.,1.)); +#256=IFCDIRECTION((1.,0.,0.)); +#257=IFCAXIS2PLACEMENT3D(#21,#255,#256); +#258=IFCBUILDING('1q4MsgfUf4Metm2lRt$BR5',#1,'lHnHpG','HSiRpWoxS',$,#259,$,$,.ELEMENT.,$,$,#674); +#259=IFCLOCALPLACEMENT(#254,#262); +#260=IFCDIRECTION((0.,0.,1.)); +#261=IFCDIRECTION((1.,0.,0.)); +#262=IFCAXIS2PLACEMENT3D(#21,#260,#261); +#263=IFCBUILDINGSTOREY('0bBdAVTgr2rAo1IEd_kcfo',#1,'3lc8ZLycF','NcCLTN',$,#267,$,$,.ELEMENT.,-1.5); +#264=IFCPROPERTYSET('13u1ZCs_9ApwnJgokMM1lS',#1,'eAqsHPZ0kN','YKIl6QU9',(#265)); +#265=IFCPROPERTYSINGLEVALUE('ZSAv5T8lX','x2RBedZj5',IFCINTEGER(1),$); +#266=IFCRELDEFINESBYPROPERTIES('1DOxI62Tn0P9K_sq8IAG2X',#1,'2YHnyRth30','20sc71Ok',(#263),#264); +#267=IFCLOCALPLACEMENT(#259,#271); +#268=IFCCARTESIANPOINT((0.,0.,-1.5)); +#269=IFCDIRECTION((0.,0.,1.)); +#270=IFCDIRECTION((1.,0.,0.)); +#271=IFCAXIS2PLACEMENT3D(#268,#269,#270); +#272=IFCBUILDINGSTOREY('1CtY$SxH91C8cn1Rro48HX',#1,'YroQA2K3e','xG8GnsQu',$,#276,$,$,.ELEMENT.,-5.E-1); +#273=IFCPROPERTYSET('3LaK_YqR12dB1WW6FMhiXX',#1,'omLzQMS','oBkaBl',(#274)); +#274=IFCPROPERTYSINGLEVALUE('R5T9SnyBc','vVhN87C',IFCINTEGER(2),$); +#275=IFCRELDEFINESBYPROPERTIES('1QzpvcXNvC0ehLqcJdstY9',#1,'oDJ0Pp0','cSEnhfVu4',(#272),#273); +#276=IFCLOCALPLACEMENT(#259,#280); +#277=IFCCARTESIANPOINT((0.,0.,-5.E-1)); +#278=IFCDIRECTION((0.,0.,1.)); +#279=IFCDIRECTION((1.,0.,0.)); +#280=IFCAXIS2PLACEMENT3D(#277,#278,#279); +#281=IFCBUILDINGSTOREY('0xuqbikJfFxhmSCs$dJm45',#1,'ddMPWhJr','kQw4bsL',$,#285,$,$,.ELEMENT.,0.); +#282=IFCPROPERTYSET('0mR1HWsGnAnBJeO_JICIl7',#1,'brnlV5BS','o4omD28K',(#283)); +#283=IFCPROPERTYSINGLEVALUE('e1pZw55','qwobhX',IFCINTEGER(0),$); +#284=IFCRELDEFINESBYPROPERTIES('0RPjTqCbrDQhMtfiM64u$a',#1,'oLPo5DhLB','3PZSfCrsJ',(#281),#282); +#285=IFCLOCALPLACEMENT(#259,#288); +#286=IFCDIRECTION((0.,0.,1.)); +#287=IFCDIRECTION((1.,0.,0.)); +#288=IFCAXIS2PLACEMENT3D(#21,#286,#287); +#289=IFCWALLSTANDARDCASE('338D45yJP6EQHiss4ZzJDE',#1,'YNaq9cA9','LPoqMe',$,#367,#372,$,$); +#290=IFCPROPERTYSET('1O3oTN2dTEpOxzcyg7qkAp',#1,'q3Rcv1','KoCLRNhJsV',(#291,#292,#293,#294)); +#291=IFCPROPERTYSINGLEVALUE('qrAiK4V','Lyu7OeH1',IFCINTEGER(2339),$); +#292=IFCPROPERTYSINGLEVALUE('9Zi21BU','Q9jJ76atTN',IFCINTEGER(366),$); +#293=IFCPROPERTYSINGLEVALUE('o5Aabg9y9','i0stCh1x94',IFCINTEGER(9000),$); +#294=IFCPROPERTYSINGLEVALUE('DTFhpfa','l3RiERp',IFCINTEGER(1),$); +#295=IFCRELDEFINESBYPROPERTIES('2qXOdAYwXBafVZ43H7pvuY',#1,'2dYgYMK0','9s2wdmZavj',(#289),#290); +#296=IFCPROPERTYSET('1Fp2Ts$svDPA9Vu_HhKsP5',#1,'TYe8YWLw3c','mFKhlVbjdT',(#297,#298)); +#297=IFCPROPERTYSINGLEVALUE('fpv08kh','Ru3xIi',IFCREAL(2.),$); +#298=IFCPROPERTYSINGLEVALUE('OqSJ0AH','SinNUm',IFCREAL(2.),$); +#299=IFCRELDEFINESBYPROPERTIES('2hPJmamcv3vRHWBH9SpeyJ',#1,'VhaRqVV9','4v0bruET5u',(#289),#296); +#300=IFCPROPERTYSET('1JH96WdIX2meeX6Swb0P_X',#1,'uhZ2Wt0','N1VNtL',(#301)); +#301=IFCPROPERTYSINGLEVALUE('oDoJst','mJZg6sfpzp',IFCINTEGER(2),$); +#302=IFCRELDEFINESBYPROPERTIES('32f46yj1HDFQohWUkfbIem',#1,'p3RcPx','pKfsbgpcP',(#289),#300); +#303=IFCPROPERTYSET('3hDxVzHoT729Iapa6pgrcq',#1,'KhVxPco2L','LGYRXXjg',(#304)); +#304=IFCPROPERTYSINGLEVALUE('Zs7hha47fN','07BdnBRd3',IFCINTEGER(0),$); +#305=IFCRELDEFINESBYPROPERTIES('2$q7Jg1xT4f9KmhcdtOW1o',#1,'iEwdFn39gf','jHpaj6Zx',(#289),#303); +#306=IFCPROPERTYSET('1Qnr5Q7kb5C93WKZv2pCju',#1,'doQEbf','AHUv6ijgq2',(#307,#308,#309,#310,#311,#312,#313)); +#307=IFCPROPERTYSINGLEVALUE('RuVCDnOY','wsxW2AJ3',IFCINTEGER(2339),$); +#308=IFCPROPERTYSINGLEVALUE('0tP6Cq','Zfb1iga',IFCLABEL('01'),$); +#309=IFCPROPERTYSINGLEVALUE('ii85H7','an8IFlU',IFCLABEL('02'),$); +#310=IFCPROPERTYSINGLEVALUE('omaySs20e','Oa4dJsTPls',IFCLABEL('Piano Terra'),$); +#311=IFCPROPERTYSINGLEVALUE('ASDMV8FUD2','zIXva6y',IFCLABEL('Parete in cemento armato [300.00]'),$); +#312=IFCPROPERTYSINGLEVALUE('i3sWcM','cOgQInzoXs',IFCLENGTHMEASURE(3.E-1),$); +#313=IFCPROPERTYSINGLEVALUE('V836ZzvF7M','DuIwhZ6X3P',IFCBOOLEAN(.F.),$); +#314=IFCRELDEFINESBYPROPERTIES('2OUebs9nn3bRx6TYh2Re8a',#1,'aUJqOEkaZr','72BuhDepU',(#289),#306); +#315=IFCPROPERTYSET('1_KUFQvQT9TwKTkLXcXt0g',#1,'Dxn9Zi','hz2TlZosh',(#316,#317)); +#316=IFCPROPERTYSINGLEVALUE('EahCtm','7p3N9WW',IFCLABEL(' '),$); +#317=IFCPROPERTYSINGLEVALUE('6RcCeRC','aS9ay8KWBC',IFCLABEL(' '),$); +#318=IFCRELDEFINESBYPROPERTIES('1vXYk06ef32AoOphVq8UYy',#1,'vfr6KPlPI','5XKOHH5uR',(#289),#315); +#319=IFCPROPERTYSET('3nw78_1Vz0_uwGugr5jI$i',#1,'8aBNtKg','rN2Jknt2Y',(#320,#321)); +#320=IFCPROPERTYSINGLEVALUE('LvGGgUeJq','usZbXos',IFCBOOLEAN(.F.),$); +#321=IFCPROPERTYSINGLEVALUE('SvFGGeksxH','bb5HBHE',IFCLENGTHMEASURE(0.),$); +#322=IFCRELDEFINESBYPROPERTIES('3QHBz_9a1AWwvQ8ZuzdBDr',#1,'pUEwi22jj','BIZyPnhQyk',(#289),#319); +#323=IFCPROPERTYSET('2MY3QM$f50$f82wgZ79HkI',#1,'tu8JG4fD','PP4Hsglg',(#324,#325,#326,#327)); +#324=IFCPROPERTYSINGLEVALUE('ZVKDW8OZ3','G9tS1J',IFCLABEL('d'),$); +#325=IFCPROPERTYSINGLEVALUE('0rs76XWcKc','tR0Fp5p',IFCLENGTHMEASURE(10.7225355285026),$); +#326=IFCPROPERTYSINGLEVALUE('kBLhuwY','d3dl7Rc',IFCLENGTHMEASURE(3.2),$); +#327=IFCPROPERTYSINGLEVALUE('zDKenVClz','mts9Md97E',IFCLENGTHMEASURE(0.),$); +#328=IFCRELDEFINESBYPROPERTIES('3DtGHjgDPFp9rAVvRvWuKr',#1,'7JR7M9N3x','8LO1ZmZS',(#289),#323); +#329=IFCPROPERTYSET('0ZiL4Cotb6rBVVb8QCqzt4',#1,'tsotsL8e','kFULA2',(#326,#327,#330)); +#330=IFCPROPERTYSINGLEVALUE('mebSkFVGrI','z5GW7PdIer',IFCPLANEANGLEMEASURE(2.72620932831378),$); +#331=IFCRELDEFINESBYPROPERTIES('3OSCuynO9AFPydt3M2$r_z',#1,'8DC7Sz57','JZZzua',(#289),#329); +#332=IFCPROPERTYSET('1vWU$en45Fmf_8gKX4LiaW',#1,'20oN2bAg','IsIV8rwN',(#326,#327,#333)); +#333=IFCPROPERTYSINGLEVALUE('lmUFhgsNjV','E0Bj1x',IFCPLANEANGLEMEASURE(182.726209328314),$); +#334=IFCRELDEFINESBYPROPERTIES('1rrLckkcj9f92581aSc$aC',#1,'7cSRmHlccS','7B36Mj',(#289),#332); +#335=IFCPROPERTYSET('3mc4WQNpj6NRNiRpgbDDD7',#1,'22H0yAcIc','unqzNjMsc',(#336,#337,#338,#339,#340)); +#336=IFCPROPERTYSINGLEVALUE('jEvlXN','548idR',IFCLABEL('f'),$); +#337=IFCPROPERTYSINGLEVALUE('ihZoDxz','ThjLvohKH',IFCLENGTHMEASURE(0.),$); +#338=IFCPROPERTYSINGLEVALUE('zlCmR8X','GOqos68',IFCLENGTHMEASURE(0.),$); +#339=IFCPROPERTYSINGLEVALUE('8gKeUMyHz','n5mELohQ',IFCLENGTHMEASURE(0.),$); +#340=IFCPROPERTYSINGLEVALUE('Ja5ifE','zKb8m6onfm',IFCLABEL(''),$); +#341=IFCRELDEFINESBYPROPERTIES('1rP7KLfWT58uljAXXkFE4J',#1,'XzFFNyN','UJkmL19y',(#289),#335); +#342=IFCPROPERTYSET('27xUn1HTD7HBVe5UlYeVwQ',#1,'0Nr2UowCYP','rh1MFoB',(#343,#337,#338,#339,#340)); +#343=IFCPROPERTYSINGLEVALUE('s4dV3zHd','qSZNGTwr',IFCLABEL('Piano Terra (Piano Terra 1047)'),$); +#344=IFCRELDEFINESBYPROPERTIES('2b0jgBXinF4AS86I6eKLEF',#1,'V15UhZbA','7Vr2ib9L',(#289),#342); +#345=IFCPROPERTYSET('3miMirrMX6zRVKUifRcH48',#1,'UcqfUv','XhhbMBxxi4',(#346,#347,#348,#349,#350,#351,#352,#353,#354)); +#346=IFCPROPERTYSINGLEVALUE('BpmNiIwX','ZHqhR4',IFCLENGTHMEASURE(10.72),$); +#347=IFCPROPERTYSINGLEVALUE('3gEsuE5','U1gc72',IFCLENGTHMEASURE(10.72),$); +#348=IFCPROPERTYSINGLEVALUE('8U34sJ8X4N','Okk3exGmRC',IFCLENGTHMEASURE(3.2),$); +#349=IFCPROPERTYSINGLEVALUE('wrWrSzHGCA','Hmwpbwfo',IFCLENGTHMEASURE(3.2),$); +#350=IFCPROPERTYSINGLEVALUE('gS6URL','pGWljTdO',IFCAREAMEASURE(3.22),$); +#351=IFCPROPERTYSINGLEVALUE('24FkGQ','pWMAu8',IFCAREAMEASURE(3.22),$); +#352=IFCPROPERTYSINGLEVALUE('3lxswVkA4A','lTWx94',IFCAREAMEASURE(3.22),$); +#353=IFCPROPERTYSINGLEVALUE('sEymMZL2N','7ky2sjC1',IFCAREAMEASURE(34.3),$); +#354=IFCPROPERTYSINGLEVALUE('aIrsLw','DWG2NKmpt',IFCVOLUMEMEASURE(10.29),$); +#355=IFCRELDEFINESBYPROPERTIES('2PvvwOoRHELOWFohWLNcA_',#1,'pDfBusHVm','VT7F9Qf',(#289),#345); +#356=IFCPROPERTYSET('3joAd6T5bDVvrvp8Mc47hp',#1,'lsGwk4RtW','gnjJrBODT',(#357,#358,#359)); +#357=IFCPROPERTYSINGLEVALUE('Ocrpe47B','oh8AsbASn',IFCLABEL('asd'),$); +#358=IFCPROPERTYSINGLEVALUE('E3vfKN','ejzDtqMeM',IFCLABEL('asd'),$); +#359=IFCPROPERTYSINGLEVALUE('2FuVTU6x','RlxYsZN3r',IFCLABEL('ad'),$); +#360=IFCRELDEFINESBYPROPERTIES('1qn08GStb5KB3J7ZVMVEOC',#1,'OxAv7A0','MctkkPvWX',(#289),#356); +#361=IFCMATERIALLAYERSETUSAGE(#362,.AXIS2.,.POSITIVE.,-1.5E-1,$); +#362=IFCMATERIALLAYERSET((#363,#364,#365),'lkjdks','0c2ZvLJ'); +#363=IFCMATERIALLAYER(#24,1.5E-2,$,'x0nqmHorJr','JAxcbIed1F',$,$); +#364=IFCMATERIALLAYER(#34,2.7E-1,$,'qiEVUf','UJx1K11F',$,$); +#365=IFCMATERIALLAYER(#24,1.5E-2,$,'yv2ZKfW','ExAs2o5YW',$,$); +#366=IFCRELASSOCIATESMATERIAL('3iN9XBntr8Qfq_n6B76$A1',#1,'vqyNuDUGr','l5KtkYl',(#289),#361); +#367=IFCLOCALPLACEMENT(#285,#371); +#368=IFCCARTESIANPOINT((-9.3625,4.4991,0.)); +#369=IFCDIRECTION((0.,0.,1.)); +#370=IFCDIRECTION((9.98868222122434E-1,4.75633770244243E-2,0.)); +#371=IFCAXIS2PLACEMENT3D(#368,#369,#370); +#372=IFCPRODUCTDEFINITIONSHAPE('5ByCDLi','LIgVK5',(#384,#391,#399,#407,#412)); +#373=IFCEXTRUDEDAREASOLID(#375,#382,#383,3.2); +#374=IFCSTYLEDITEM(#373,(#49),'bUZt7Q0'); +#375=IFCRECTANGLEPROFILEDEF(.AREA.,$,#378,3.E-1,10.7225355285026); +#376=IFCCARTESIANPOINT((0.,0.)); +#377=IFCDIRECTION((1.,0.)); +#378=IFCAXIS2PLACEMENT2D(#376,#377); +#379=IFCCARTESIANPOINT((5.36126776425129,2.39808173319034E-14,0.)); +#380=IFCDIRECTION((0.,0.,1.)); +#381=IFCDIRECTION((0.,-1.,0.)); +#382=IFCAXIS2PLACEMENT3D(#379,#380,#381); +#383=IFCDIRECTION((0.,0.,1.)); +#384=IFCSHAPEREPRESENTATION(#23,'Body','SweptSolid',(#373)); +#385=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',3,1.E-4,#386,#387); +#386=IFCAXIS2PLACEMENT3D(#21,$,$); +#387=IFCDIRECTION((0.,1.)); +#388=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Plan',*,*,*,*,#385,$,.PLAN_VIEW.,$); +#389=IFCBOUNDINGBOX(#390,10.7225355285026,3.00000000000048E-1,3.20000004768372); +#390=IFCCARTESIANPOINT((0.,-1.49999999999999E-1,0.)); +#391=IFCSHAPEREPRESENTATION(#388,'Box','BoundingBox',(#389)); +#392=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#393=IFCGEOMETRICCURVESET((#394)); +#394=IFCPOLYLINE((#395,#396,#397,#398,#395)); +#395=IFCCARTESIANPOINT((0.,0.)); +#396=IFCCARTESIANPOINT((10.7225355285026,0.)); +#397=IFCCARTESIANPOINT((10.7225355285026,3.2)); +#398=IFCCARTESIANPOINT((0.,3.2)); +#399=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#393)); +#400=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#401=IFCGEOMETRICCURVESET((#402)); +#402=IFCPOLYLINE((#403,#404,#405,#406,#403)); +#403=IFCCARTESIANPOINT((-1.77635683940025E-15,-1.49999999999999E-1)); +#404=IFCCARTESIANPOINT((10.7225355285026,-1.49999999999953E-1)); +#405=IFCCARTESIANPOINT((10.7225355285026,1.50000000000047E-1)); +#406=IFCCARTESIANPOINT((-1.77635683940025E-15,1.5E-1)); +#407=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#401)); +#408=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#409=IFCPOLYLINE((#410,#411)); +#410=IFCCARTESIANPOINT((0.,0.)); +#411=IFCCARTESIANPOINT((10.7225355285026,4.70734562441066E-14)); +#412=IFCSHAPEREPRESENTATION(#408,'Axis','Curve2D',(#409)); +#413=IFCOPENINGELEMENT('3ZgTSy8sz2uOdIyEjwC_KP',#1,'gGAJ3l1SU','q0i84RUmhE','Opening',#422,#427,$,$); +#414=IFCPROPERTYSET('17jgTZrN5CYArWye8FkxX5',#1,'q2DWE8R','nxsjthUjLD',(#415,#416,#417,#418)); +#415=IFCPROPERTYSINGLEVALUE('TresXAu5qQ','q6oUMQ',IFCINTEGER(4294967294),$); +#416=IFCPROPERTYSINGLEVALUE('1KevFOzoR','IQcSrBxg',IFCINTEGER(2002),$); +#417=IFCPROPERTYSINGLEVALUE('attreZ40','xg13dD5',IFCINTEGER(2002),$); +#418=IFCPROPERTYSINGLEVALUE('yXhuc1oili','Wq9bpb85',IFCINTEGER(0),$); +#419=IFCRELDEFINESBYPROPERTIES('0V5Wu2s8b1whWI8yvoWy_K',#1,'nbzTAFPF','X4fLaJ8sNr',(#413),#414); +#420=IFCPROPERTYSET('2QoslLBzrBoxnoK3wE4Eew',#1,'cKKwbeNNv','HVSusyhp',(#297,#298)); +#421=IFCRELDEFINESBYPROPERTIES('25wYgxVn9Bhgf9vdcEsPkB',#1,'wZm50XYdtN','c112Cq6Dr',(#413),#420); +#422=IFCLOCALPLACEMENT(#367,#426); +#423=IFCCARTESIANPOINT((4.11371922759627,1.86517468137026E-14,0.)); +#424=IFCDIRECTION((0.,0.,1.)); +#425=IFCDIRECTION((-1.,-4.35762537165374E-15,0.)); +#426=IFCAXIS2PLACEMENT3D(#423,#424,#425); +#427=IFCPRODUCTDEFINITIONSHAPE('Yw3EMxN','Ct7fhij',(#440,#447,#454)); +#428=IFCEXTRUDEDAREASOLID(#429,#438,#439,5.E-1); +#429=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#430); +#430=IFCPOLYLINE((#431,#432,#433,#434,#431)); +#431=IFCCARTESIANPOINT((0.,1.5)); +#432=IFCCARTESIANPOINT((0.,0.)); +#433=IFCCARTESIANPOINT((1.4,0.)); +#434=IFCCARTESIANPOINT((1.4,1.5)); +#435=IFCCARTESIANPOINT((0.,-2.5E-1,0.)); +#436=IFCDIRECTION((0.,1.,-0.)); +#437=IFCDIRECTION((-1.,0.,0.)); +#438=IFCAXIS2PLACEMENT3D(#435,#436,#437); +#439=IFCDIRECTION((0.,0.,1.)); +#440=IFCSHAPEREPRESENTATION(#23,'Body','SweptSolid',(#428)); +#441=IFCGEOMETRICCURVESET((#442)); +#442=IFCPOLYLINE((#443,#444,#445,#446,#443)); +#443=IFCCARTESIANPOINT((8.88178419700125E-16,8.88178419700125E-16,1.5)); +#444=IFCCARTESIANPOINT((8.88178419700125E-16,8.88178419700125E-16,0.)); +#445=IFCCARTESIANPOINT((-1.4,8.88178419700125E-16,0.)); +#446=IFCCARTESIANPOINT((-1.4,8.88178419700125E-16,1.5)); +#447=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#441)); +#448=IFCGEOMETRICCURVESET((#449)); +#449=IFCPOLYLINE((#450,#451,#452,#453,#450)); +#450=IFCCARTESIANPOINT((-1.4,-1.49999999999999E-1)); +#451=IFCCARTESIANPOINT((0.,-1.49999999999999E-1)); +#452=IFCCARTESIANPOINT((1.77635683940025E-15,1.5E-1)); +#453=IFCCARTESIANPOINT((-1.4,1.50000000000001E-1)); +#454=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#448)); +#455=IFCWINDOW('0qQpKzfkjEPBhVR0ivyCfU',#1,'wHFJvF','PDARSt',$,#631,#636,$,1.5,1.4,$,$,$); +#456=IFCPROPERTYSET('0FEeYWLnn1tu5xWtGwXXOx',#1,'yZhwgHzNte','ItBuA6',(#457,#458,#459,#294)); +#457=IFCPROPERTYSINGLEVALUE('Kvl2i3','YQEZjcVtrg',IFCINTEGER(2350),$); +#458=IFCPROPERTYSINGLEVALUE('v57oN4oHf','uMSI0U',IFCINTEGER(101),$); +#459=IFCPROPERTYSINGLEVALUE('LK7imGUtmV','TDNccW',IFCINTEGER(9004),$); +#460=IFCRELDEFINESBYPROPERTIES('3EHvmiULrDYwTWknLcAldv',#1,'emiXIM','nOpCvHO4',(#455),#456); +#461=IFCPROPERTYSET('2pHz5OFB5FSvSpXf$CI$ft',#1,'FKBAex','W8FGEi2d',(#297,#298)); +#462=IFCRELDEFINESBYPROPERTIES('3aRmkWJtrFi9aOxBSbHieK',#1,'P81ytlS','CiTeQU',(#455),#461); +#463=IFCPROPERTYSET('2TrrUKSmX2NOgu5DBGLbQs',#1,'bg2AKHiEx','gAeM13Io',(#464)); +#464=IFCPROPERTYSINGLEVALUE('9MJawg93','cQ23Fslv',IFCLABEL('338D45yJP6EQHiss4ZzJDE'),$); +#465=IFCRELDEFINESBYPROPERTIES('3zSi6gb8139gHEucS0qVsH',#1,'PglRyHm','QDCDke',(#455),#463); +#466=IFCPROPERTYSET('22spgmYcD8EQ_rDlYOBu4z',#1,'mfrwKiQoBn','Jlud9VTWaH',(#467,#308,#309,#310,#468,#469,#470)); +#467=IFCPROPERTYSINGLEVALUE('mw0leRARu','kK4QNhMc',IFCINTEGER(2350),$); +#468=IFCPROPERTYSINGLEVALUE('2lb53cZk','T0sRfHFx3',IFCLABEL('FN[R] 2AB[1V] MM'),$); +#469=IFCPROPERTYSINGLEVALUE('29GMlc936','LDpYm2u',IFCLABEL(' '),$); +#470=IFCPROPERTYSINGLEVALUE('wMm0gQ2Ocx','fJilNrr',IFCLABEL(' '),$); +#471=IFCRELDEFINESBYPROPERTIES('2qOoFZUdjBTfHbxHSm4omM',#1,'Gi6Dj5h8','oKn7kKpUqg',(#455),#466); +#472=IFCPROPERTYSET('0BeWw41Wn0WO_WhTdDwH$b',#1,'K3rY1iZTeL','tPF9kXt5fN',(#316,#317)); +#473=IFCRELDEFINESBYPROPERTIES('0fJyfDKn95FRwRHSwXLAXY',#1,'FLogPym9z','MpjZKeY',(#455),#472); +#474=IFCPROPERTYSET('0MtRxstlr1QeKz_F_XljqU',#1,'hwqFJ9K1h','1oPd7k2w',(#475,#476,#477)); +#475=IFCPROPERTYSINGLEVALUE('19R05KKrmi','KL8WHWVE',IFCLENGTHMEASURE(0.),$); +#476=IFCPROPERTYSINGLEVALUE('h6I6yfnM','gfFtN7F8',IFCLABEL('...'),$); +#477=IFCPROPERTYSINGLEVALUE('8IcD4mxDH4','VGmaqhBh',IFCLENGTHMEASURE(0.),$); +#478=IFCRELDEFINESBYPROPERTIES('2DA3PP3MD2Gemq1jMdBpbe',#1,'Wa0f2Hplo','MuBzKlfrj',(#455),#474); +#479=IFCPROPERTYSET('3f$Vk1m$v1TuwnYT1K52im',#1,'P4qGgV','CSTg3AMY',(#480,#481,#482,#483,#484,#485,#486,#487,#488,#489,#490,#491,#492)); +#480=IFCPROPERTYSINGLEVALUE('hx2IQRr8','LbYRdAbX',IFCBOOLEAN(.F.),$); +#481=IFCPROPERTYSINGLEVALUE('XxGMq4AfC','3uXnviZ',IFCBOOLEAN(.F.),$); +#482=IFCPROPERTYSINGLEVALUE('zMdGguFE','8Y2GWlw',IFCBOOLEAN(.F.),$); +#483=IFCPROPERTYSINGLEVALUE('IA95PT','yoDEUeqYM',IFCLENGTHMEASURE(0.),$); +#484=IFCPROPERTYSINGLEVALUE('tGoGDqxHWa','u0HvZrwoY',IFCLENGTHMEASURE(0.),$); +#485=IFCPROPERTYSINGLEVALUE('vm5QOwEYZ','q60iGw',IFCLENGTHMEASURE(0.),$); +#486=IFCPROPERTYSINGLEVALUE('DqYVFXDpj2','sSD5afjDQu',IFCLENGTHMEASURE(0.),$); +#487=IFCPROPERTYSINGLEVALUE('xZIAO3rB','IhVpjNC',IFCLENGTHMEASURE(0.),$); +#488=IFCPROPERTYSINGLEVALUE('EmEfBaj','JUac7MPjB2',IFCLENGTHMEASURE(0.),$); +#489=IFCPROPERTYSINGLEVALUE('IZnaZY6','vfMLHls',IFCLENGTHMEASURE(0.),$); +#490=IFCPROPERTYSINGLEVALUE('LaBHe8Hc','dqfn8f',IFCLENGTHMEASURE(0.),$); +#491=IFCPROPERTYSINGLEVALUE('nBLGn9L','9rupuiy9',IFCLENGTHMEASURE(0.),$); +#492=IFCPROPERTYSINGLEVALUE('bbbHK6vi','1nagSW',IFCTEXT(' '),$); +#493=IFCRELDEFINESBYPROPERTIES('0cjsuWdXDFZPzi1fnQznio',#1,'ruZNu8','JJs1vxSa',(#455),#479); +#494=IFCPROPERTYSET('1wc4p7X5DEQhac4WdouKse',#1,'xaCa2SJ','ZNcWNs1OfC',(#495,#496,#497,#498,#499,#500,#501,#502)); +#495=IFCPROPERTYSINGLEVALUE('tFfpzDiig','SIdu2vCQ0T',IFCTEXT('Nessuna'),$); +#496=IFCPROPERTYSINGLEVALUE('XBYI4Nz7','P99Xb4kQv1',IFCLENGTHMEASURE(0.),$); +#497=IFCPROPERTYSINGLEVALUE('vMPA7yc','YF96NtGV3',IFCLENGTHMEASURE(0.),$); +#498=IFCPROPERTYSINGLEVALUE('DBlQJfwae','XNBkwZW',IFCLENGTHMEASURE(0.),$); +#499=IFCPROPERTYSINGLEVALUE('iXYvNx','R1Cdahn',IFCLENGTHMEASURE(0.),$); +#500=IFCPROPERTYSINGLEVALUE('q2vjDsoTpn','7xYoBi',IFCLENGTHMEASURE(0.),$); +#501=IFCPROPERTYSINGLEVALUE('aR2QE7S6M','HFF2ktWX',IFCLENGTHMEASURE(0.),$); +#502=IFCPROPERTYSINGLEVALUE('Xl09s0','ETCde2x8T',IFCLENGTHMEASURE(0.),$); +#503=IFCRELDEFINESBYPROPERTIES('0lWV8$8Xr9gg7TN6orEwfV',#1,'ejbCBpDli4','0fSxnV',(#455),#494); +#504=IFCPROPERTYSET('1O492aJ4jF0AEZVHsS73VU',#1,'x83fUlb','A9Uxxw',(#505,#506,#507,#508,#509,#510,#511,#512,#513)); +#505=IFCPROPERTYSINGLEVALUE('xgnB4Xz1','GB01TE6O',IFCLABEL('Nessuna'),$); +#506=IFCPROPERTYSINGLEVALUE('NNS6Gtu5r','hMmi0B',IFCLENGTHMEASURE(0.),$); +#507=IFCPROPERTYSINGLEVALUE('0BsIr0Pn','dLpsPw',IFCLENGTHMEASURE(0.),$); +#508=IFCPROPERTYSINGLEVALUE('n7nPCvx','QvMaZSY8',IFCLENGTHMEASURE(0.),$); +#509=IFCPROPERTYSINGLEVALUE('MrWy4T','p22FCf2',IFCLENGTHMEASURE(0.),$); +#510=IFCPROPERTYSINGLEVALUE('oZP2FZ8Ko','vGaogr',IFCLENGTHMEASURE(0.),$); +#511=IFCPROPERTYSINGLEVALUE('5gpJDaGzh8','rVRnNNgv',IFCLENGTHMEASURE(0.),$); +#512=IFCPROPERTYSINGLEVALUE('5zDqJVL92l','SYm6N2',IFCLENGTHMEASURE(0.),$); +#513=IFCPROPERTYSINGLEVALUE('h8Aiko978o','Md3wUQCT',IFCLENGTHMEASURE(0.),$); +#514=IFCRELDEFINESBYPROPERTIES('05zHPA7z52tgYXpZunhEJM',#1,'CCCxMu6c','bMVseBd3eo',(#455),#504); +#515=IFCPROPERTYSET('1W6AfK9_X7EB56sl5jkCLj',#1,'qYdmBDzBb','lg6WfWq',(#516)); +#516=IFCPROPERTYSINGLEVALUE('m4dEew','oH1LqF4',IFCLABEL('Nessuna'),$); +#517=IFCRELDEFINESBYPROPERTIES('0f2o9_Tdn6gwsuL5hr_kBU',#1,'vjqTFiYmJQ','QFG5XsTami',(#455),#515); +#518=IFCPROPERTYSET('0n3n48U917$BN9Ch2CaxXX',#1,'VxnloDaX','XvivwyOGd',(#519,#520,#521,#522,#523)); +#519=IFCPROPERTYSINGLEVALUE('Ykk3Fl1X','3VUqTK7MaX',IFCLABEL(' '),$); +#520=IFCPROPERTYSINGLEVALUE('SKW4WMNe','SSe072UYb',IFCLABEL('0'),$); +#521=IFCPROPERTYSINGLEVALUE('9pF76JBpX','hfPZPCItR6',IFCPLANEANGLEMEASURE(0.),$); +#522=IFCPROPERTYSINGLEVALUE('vtqYupnJ','8f6kTFz6',IFCBOOLEAN(.F.),$); +#523=IFCPROPERTYSINGLEVALUE('QindDFDn','n3p67To',IFCBOOLEAN(.F.),$); +#524=IFCRELDEFINESBYPROPERTIES('37mBqR8Vz4e8dkdUtG1sqR',#1,'zRvW3QOVZw','mDPEw1',(#455),#518); +#525=IFCPROPERTYSET('3TFg1lJ$zD_8PzBTfQMbxL',#1,'F0S15o','KtZuIirN',(#526,#527,#528,#529,#530)); +#526=IFCPROPERTYSINGLEVALUE('4OzftT','92E2fg',IFCLABEL(' '),$); +#527=IFCPROPERTYSINGLEVALUE('hTQFz8qJu','P0QLc6nPe',IFCLABEL('0'),$); +#528=IFCPROPERTYSINGLEVALUE('9v1NyCyA1r','tZGK77pt',IFCPLANEANGLEMEASURE(0.),$); +#529=IFCPROPERTYSINGLEVALUE('RS1iVjz3xO','GROJEq3Ov',IFCBOOLEAN(.F.),$); +#530=IFCPROPERTYSINGLEVALUE('hmNptzx','mn9d0qZXJj',IFCBOOLEAN(.F.),$); +#531=IFCRELDEFINESBYPROPERTIES('38zombWMn2kBl9EtUKZUOP',#1,'rRs90vkJ3','qNMxonIm2G',(#455),#525); +#532=IFCPROPERTYSET('0LDSymLX523AilPRchCq_p',#1,'z04QMMDK1','ipsZPuLMl',(#533)); +#533=IFCPROPERTYSINGLEVALUE('OmiOcBoJ','ywTZGI',IFCLABEL('Nessuna'),$); +#534=IFCRELDEFINESBYPROPERTIES('3qgvUbQFX7VhczE8M7G9en',#1,'nm4PxddFNP','U9YwnSsi',(#455),#532); +#535=IFCPROPERTYSET('3b6LS$x9TEfPJIHm9r9a68',#1,'Gp6hfVZI','d5qq35',(#536,#537,#538,#539,#540)); +#536=IFCPROPERTYSINGLEVALUE('TEOdgCl','5oScALYMt',IFCLABEL(' '),$); +#537=IFCPROPERTYSINGLEVALUE('ToYdbRySxi','0jwzSF',IFCLABEL(' '),$); +#538=IFCPROPERTYSINGLEVALUE('brgekRzXk','Fl78ra1lYC',IFCPLANEANGLEMEASURE(0.),$); +#539=IFCPROPERTYSINGLEVALUE('71meagugU','aYuLMVeL',IFCBOOLEAN(.F.),$); +#540=IFCPROPERTYSINGLEVALUE('kSZP69oulZ','3manLWp',IFCLENGTHMEASURE(0.),$); +#541=IFCRELDEFINESBYPROPERTIES('3fm_Sk5x5A4PZj0ajfIcQ_',#1,'caY7BfJv2','SYfIpad',(#455),#535); +#542=IFCPROPERTYSET('0dp0_x3SL8xfqM2Cq0fAqT',#1,'htpeO5qt','HI1sWiAU',(#543,#544,#545,#546,#547)); +#543=IFCPROPERTYSINGLEVALUE('L1k2DYah','w4xzxX4K',IFCLABEL(' '),$); +#544=IFCPROPERTYSINGLEVALUE('4kwLQTf','EeFJr2Mu',IFCLABEL(' '),$); +#545=IFCPROPERTYSINGLEVALUE('KnsQ00U8oh','qi6oDfb',IFCPLANEANGLEMEASURE(0.),$); +#546=IFCPROPERTYSINGLEVALUE('YITtbtt','c23QmyK3A',IFCBOOLEAN(.F.),$); +#547=IFCPROPERTYSINGLEVALUE('yn4VXw','MR3O8P',IFCLENGTHMEASURE(0.),$); +#548=IFCRELDEFINESBYPROPERTIES('2VgX4PRGv4uwGlV3ksY53M',#1,'bH3ipDAZjo','Hba9tr5',(#455),#542); +#549=IFCPROPERTYSET('2LmlXmTbH7twk$MPpz721X',#1,'qfwjly','QfZY9KBvi',(#550,#551)); +#550=IFCPROPERTYSINGLEVALUE('XxdFrul','4WMVjiL8',IFCLABEL('Centre'),$); +#551=IFCPROPERTYSINGLEVALUE('l0YrFnnPME','tPGggjrlz',IFCLENGTHMEASURE(0.),$); +#552=IFCRELDEFINESBYPROPERTIES('2O1wcBJbz0UPTjiA2W3bJ3',#1,'pVjLYINe4S','I2YrnLD6q',(#455),#549); +#553=IFCPROPERTYSET('2KStx_i7L4oxCHRnLmdQjd',#1,'2Kgn9oL','qJrpMOS',(#554,#555)); +#554=IFCPROPERTYSINGLEVALUE('PltIeYn','uwm1oxi',IFCLABEL(' '),$); +#555=IFCPROPERTYSINGLEVALUE('539ZyR','zmqye6Ee',IFCLENGTHMEASURE(0.),$); +#556=IFCRELDEFINESBYPROPERTIES('1YyOAvA3b76RcdwECkTPYI',#1,'OdjE5YZ','TAvPoZPzS',(#455),#553); +#557=IFCPROPERTYSET('2uf1dEkiLALhxObxAi0pCp',#1,'7sbPMfchu','Ity7WksJ',(#558,#559,#560,#561,#562,#563,#564,#565,#566,#567)); +#558=IFCPROPERTYSINGLEVALUE('4ig6NWlREj','GphQBtH8',IFCINTEGER(0),$); +#559=IFCPROPERTYSINGLEVALUE('wwZUgY','PVzivzpVV7',IFCBOOLEAN(.F.),$); +#560=IFCPROPERTYSINGLEVALUE('otf8mqBLIf','gegKg8IRg',IFCBOOLEAN(.F.),$); +#561=IFCPROPERTYSINGLEVALUE('lO8YoAORoS','3ZKhc8hg',IFCLENGTHMEASURE(1.4),$); +#562=IFCPROPERTYSINGLEVALUE('h6NIJwkMYU','NmspH9L5',IFCLENGTHMEASURE(1.5),$); +#563=IFCPROPERTYSINGLEVALUE('Hk7Z3BV','G6stAye',IFCLENGTHMEASURE(0.),$); +#564=IFCPROPERTYSINGLEVALUE('0fSDcj','2uL5LXKZys',IFCLENGTHMEASURE(0.),$); +#565=IFCPROPERTYSINGLEVALUE('yKxlHvi','SppfkNBGjs',IFCLENGTHMEASURE(0.),$); +#566=IFCPROPERTYSINGLEVALUE('qny8kzP','yAD1cPSAq',IFCLENGTHMEASURE(0.),$); +#567=IFCPROPERTYSINGLEVALUE('mNdDnmC','hWAJnQI',IFCLENGTHMEASURE(0.),$); +#568=IFCRELDEFINESBYPROPERTIES('0xiOBb8nTAzxQ03cN2KfVZ',#1,'vUYcam6S','qq2ESTV',(#455),#557); +#569=IFCPROPERTYSET('3YYiT1UMH0G982uyhUoy6o',#1,'zQHEeV','v3aAiH',(#570,#571,#572,#573,#574,#575,#576,#577)); +#570=IFCPROPERTYSINGLEVALUE('1IfTWgm1Ig','Vt8kedoW',IFCLABEL(' '),$); +#571=IFCPROPERTYSINGLEVALUE('hFPiuz','CIxl9lT3a9',IFCLENGTHMEASURE(0.),$); +#572=IFCPROPERTYSINGLEVALUE('JcKlex2li','YCzfY9MgEt',IFCLENGTHMEASURE(0.),$); +#573=IFCPROPERTYSINGLEVALUE('YDbJatz','awAfAN',IFCLENGTHMEASURE(0.),$); +#574=IFCPROPERTYSINGLEVALUE('cQQLWg0S4c','yU4J6V8',IFCLENGTHMEASURE(0.),$); +#575=IFCPROPERTYSINGLEVALUE('Ojim8Pw','pjHP0d',IFCINTEGER(0),$); +#576=IFCPROPERTYSINGLEVALUE('F232k8e','WueDVD',IFCINTEGER(0),$); +#577=IFCPROPERTYSINGLEVALUE('eT8VqmkCiu','6b52Ux',IFCINTEGER(0),$); +#578=IFCRELDEFINESBYPROPERTIES('1Gr5ipuIbEVg3uqVGLSHyf',#1,'l6GDSNx','z7R9Z5tVW',(#455),#569); +#579=IFCPROPERTYSET('3wubA3tDr87AygLjwptVXj',#1,'Sw4nID9C','UmR5na',(#343,#337,#340)); +#580=IFCRELDEFINESBYPROPERTIES('250zcG_C1F9xU8lo2v4GhM',#1,'YcQ3Al','UwZXd5ofw',(#455),#579); +#581=IFCPROPERTYSET('1gj03GGdPDOeYgsC0W9SCQ',#1,'2J0j4uK19D','ypRxxsl',(#582,#583,#584,#585,#586,#587,#588,#589,#590,#591,#592,#593,#594,#595)); +#582=IFCPROPERTYSINGLEVALUE('rYIeZW0Zy8','LqShzW',IFCAREAMEASURE(2.1),$); +#583=IFCPROPERTYSINGLEVALUE('ytEAwimb5','BxHbOLxLJ',IFCAREAMEASURE(1.29),$); +#584=IFCPROPERTYSINGLEVALUE('Z90VhcfWeN','UTdJflXJ',IFCAREAMEASURE(8.1E-1),$); +#585=IFCPROPERTYSINGLEVALUE('onu8rn','JTBpi0aP',IFCAREAMEASURE(0.),$); +#586=IFCPROPERTYSINGLEVALUE('ONwsH1ycaP','1OWzNFZ',IFCAREAMEASURE(0.),$); +#587=IFCPROPERTYSINGLEVALUE('DL7INaW','KSuz2mQhC',IFCAREAMEASURE(0.),$); +#588=IFCPROPERTYSINGLEVALUE('9q6sP9','Ov6gu6JTGJ',IFCAREAMEASURE(2.1),$); +#589=IFCPROPERTYSINGLEVALUE('JEeuVS','Idn32U',IFCAREAMEASURE(0.),$); +#590=IFCPROPERTYSINGLEVALUE('WLZ5YB','ofWuxCbg',IFCAREAMEASURE(0.),$); +#591=IFCPROPERTYSINGLEVALUE('l50bktGui1','zjTGW1k',IFCAREAMEASURE(0.),$); +#592=IFCPROPERTYSINGLEVALUE('gMQrQC','vNHjGPVj8v',IFCVOLUMEMEASURE(0.),$); +#593=IFCPROPERTYSINGLEVALUE('DBofdF','ojZmFGyYO',IFCVOLUMEMEASURE(0.),$); +#594=IFCPROPERTYSINGLEVALUE('RAejYoJpP','IhY7SP1i',IFCAREAMEASURE(0.),$); +#595=IFCPROPERTYSINGLEVALUE('qG1tCvw02N','DBM7ww',IFCVOLUMEMEASURE(0.),$); +#596=IFCRELDEFINESBYPROPERTIES('0N6_wuQ6b9TBLauTqyx5OA',#1,'pveMJY4OsC','o2toDY',(#455),#581); +#597=IFCPROPERTYSET('0tCQwiQgb16REhgBkIGKAn',#1,'asWqmJECF','YBW0RVo',(#598,#599,#600,#601,#602,#603,#604,#605)); +#598=IFCPROPERTYSINGLEVALUE('JBgrhzQl','iKqNcuMaI0',IFCLABEL(' '),$); +#599=IFCPROPERTYSINGLEVALUE('9tkglCAJNN','p7WAW1S',IFCLABEL(' '),$); +#600=IFCPROPERTYSINGLEVALUE('zmWVgP','g7OnIU',IFCLABEL(' '),$); +#601=IFCPROPERTYSINGLEVALUE('VbbEsb','3eL6yia',IFCLABEL(' '),$); +#602=IFCPROPERTYSINGLEVALUE('AxZk5RhNPy','aV16JA',IFCLABEL(' '),$); +#603=IFCPROPERTYSINGLEVALUE('wkMot6','irzlJOi',IFCLABEL(' '),$); +#604=IFCPROPERTYSINGLEVALUE('BF7tQmJz9','KpaRtG',IFCLABEL(' '),$); +#605=IFCPROPERTYSINGLEVALUE('wyXhQdugy','u8DsurLrhF',IFCLABEL(' '),$); +#606=IFCRELDEFINESBYPROPERTIES('3wDw1r54XF$RIDwWQDuhI7',#1,'VgafXZA','NBKiIk9',(#455),#597); +#607=IFCPROPERTYSET('2$mIk2KMH94RZmrgca6JPj',#1,'OHGwEl','vhLajRQ4',(#608,#609,#610,#611,#612,#613,#614,#615,#616,#617)); +#608=IFCPROPERTYSINGLEVALUE('y06N0Vu','wKEGlbf',IFCLABEL(' '),$); +#609=IFCPROPERTYSINGLEVALUE('zZDGZvteEH','cSVnSQ',IFCLABEL('l 01'),$); +#610=IFCPROPERTYSINGLEVALUE('Vy30OerS','iocChJ',IFCLABEL('l'),$); +#611=IFCPROPERTYSINGLEVALUE('Cm3Y6sb','F4jTSftWV',IFCLABEL(' '),$); +#612=IFCPROPERTYSINGLEVALUE('YuPAPjvnZM','9cJTCd',IFCLABEL(' '),$); +#613=IFCPROPERTYSINGLEVALUE('5XHvzoZSZL','UV4EPsL',IFCLABEL('Kefs'),$); +#614=IFCPROPERTYSINGLEVALUE('fJZMbS5X','DWJP2TRfv',IFCLABEL(' '),$); +#615=IFCPROPERTYSINGLEVALUE('j8IemWE','ghB6bV',IFCLABEL(' '),$); +#616=IFCPROPERTYSINGLEVALUE('zBb4RgJ','wGQDxrS',IFCLABEL(' '),$); +#617=IFCPROPERTYSINGLEVALUE('K6BLIsS','bWUYvbYq0',IFCLABEL(' '),$); +#618=IFCRELDEFINESBYPROPERTIES('1YFvhP8rX0ugF8V8s8c2jB',#1,'Wuj33NwX','ifAVIXbuDu',(#455),#607); +#619=IFCPROPERTYSET('0TakpIZB53qg5CfbdHey_8',#1,'WK4r4CE','qwYOHx',(#608,#620,#621,#611,#612,#622,#614,#615,#616,#617)); +#620=IFCPROPERTYSINGLEVALUE('dJQmYKj','Oeajw8YNh',IFCLABEL(' '),$); +#621=IFCPROPERTYSINGLEVALUE('b8wVftkW','ICxZCp',IFCLABEL(' '),$); +#622=IFCPROPERTYSINGLEVALUE('bAPu4P','gMjLgueWdS',IFCLABEL(' '),$); +#623=IFCRELDEFINESBYPROPERTIES('2MaKdVyxbD1v2xN8jAZI6p',#1,'qk3meSp1r','trvvNHv',(#455),#619); +#624=IFCPROPERTYSET('3TANh6Yqz5O9iEv3$3O0d9',#1,'Kvgtr6JTD','cEt8KlVn7',(#608,#620,#621,#611,#612,#622,#614,#615,#616,#617)); +#625=IFCRELDEFINESBYPROPERTIES('0MkKr2jmP3sx0vbdQ9SPEg',#1,'qttWtjj1O','oSdRysOKy',(#455),#624); +#626=IFCPROPERTYSET('0ouygoPJ95kQFthrguc1PE',#1,'0l4a6c','EqVHMmtt1',(#627)); +#627=IFCPROPERTYSINGLEVALUE('JO7Fr7Th','jvMs57Psmb',IFCCOUNTMEASURE(3.),$); +#628=IFCRELDEFINESBYPROPERTIES('0FpNREeMDC2QXDq7MqR943',#1,'utNf3pWPR','Ke5wNq9n',(#455),#626); +#629=IFCMATERIALLIST((#54,#64,#74)); +#630=IFCRELASSOCIATESMATERIAL('3l5bXoGp95veTm5X0d2RMr',#1,'J4BZkDlAlS','VPpYVKDYgz',(#455),#629); +#631=IFCLOCALPLACEMENT(#422,#635); +#632=IFCCARTESIANPOINT((-1.4,-3.99999999999983E-2,0.)); +#633=IFCDIRECTION((0.,0.,1.)); +#634=IFCDIRECTION((1.,0.,0.)); +#635=IFCAXIS2PLACEMENT3D(#632,#633,#634); +#636=IFCPRODUCTDEFINITIONSHAPE('9xz2FaS','7PHCX5L6N2',(#643,#646,#653,#660)); +#637=IFCMAPPEDITEM(#84,#638); +#638=IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#639,#640,#642,1.,#641,1.,1.); +#639=IFCDIRECTION((-1.,0.,0.)); +#640=IFCDIRECTION((0.,0.,1.)); +#641=IFCDIRECTION((0.,1.,0.)); +#642=IFCCARTESIANPOINT((7.E-1,3.99999999999991E-2,0.)); +#643=IFCSHAPEREPRESENTATION(#23,'Body','MappedRepresentation',(#637)); +#644=IFCBOUNDINGBOX(#645,1.4,3.00000000000001E-1,1.5); +#645=IFCCARTESIANPOINT((1.33226762955019E-15,-1.10000000000001E-1,0.)); +#646=IFCSHAPEREPRESENTATION(#388,'Box','BoundingBox',(#644)); +#647=IFCGEOMETRICCURVESET((#648)); +#648=IFCPOLYLINE((#649,#650,#651,#652,#649)); +#649=IFCCARTESIANPOINT((1.4,3.99999999999991E-2,1.5)); +#650=IFCCARTESIANPOINT((1.4,3.99999999999991E-2,0.)); +#651=IFCCARTESIANPOINT((2.66453525910038E-15,3.99999999999991E-2,0.)); +#652=IFCCARTESIANPOINT((2.66453525910038E-15,3.99999999999991E-2,1.5)); +#653=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#647)); +#654=IFCGEOMETRICCURVESET((#655)); +#655=IFCPOLYLINE((#656,#657,#658,#659,#656)); +#656=IFCCARTESIANPOINT((1.33226762955019E-15,-1.10000000000001E-1)); +#657=IFCCARTESIANPOINT((1.4,-1.10000000000001E-1)); +#658=IFCCARTESIANPOINT((1.4,1.89999999999999E-1)); +#659=IFCCARTESIANPOINT((3.5527136788005E-15,1.9E-1)); +#660=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#654)); +#661=IFCRELFILLSELEMENT('0CZVeMI9n8CeAe_Hu8CrQq',#1,'1Qxpixh','EBUnWb',#413,#455); +#662=IFCRELVOIDSELEMENT('0nDPLnFUn9Ne8PPebglkpN',#1,'8Qi1Bv','nDkZl8Hm',#289,#413); +#663=IFCRELCONTAINEDINSPATIALSTRUCTURE('3phbMhk6n5gQs8ekIPgJ6k',#1,'6FWKHjG','upTRn4s',(#289,#455),#281); +#664=IFCBUILDINGSTOREY('0QJSA0NpzBufFwTlz3Iy5_',#1,'zBBauFe2i','qD6PhSO49n',$,#668,$,$,.ELEMENT.,3.2); +#665=IFCPROPERTYSET('1xdMEpsZTCNxPsiSovxvng',#1,'adz0UkJ','09tHHA',(#666)); +#666=IFCPROPERTYSINGLEVALUE('gUyVFncIt','jBHevdgqH',IFCINTEGER(4),$); +#667=IFCRELDEFINESBYPROPERTIES('3LBwZRefDFDgghz8zbZVov',#1,'S2BTTwB9','hHgRT1Ue8',(#664),#665); +#668=IFCLOCALPLACEMENT(#259,#672); +#669=IFCCARTESIANPOINT((0.,0.,3.2)); +#670=IFCDIRECTION((0.,0.,1.)); +#671=IFCDIRECTION((1.,0.,0.)); +#672=IFCAXIS2PLACEMENT3D(#669,#670,#671); +#673=IFCRELAGGREGATES('3KK00pjr12A90PCoglhAXi',#1,'TVl6FDL','JAxRP2o',#258,(#263,#272,#281,#664)); +#674=IFCPOSTALADDRESS($,'8xJDSD',$,$,('OtaYko'),$,'ajhfff','qIxbJ3nFn','jgXIOmcY','8H2CuM'); +#675=IFCRELAGGREGATES('0hEBZpizT7IuA9eddndvFT',#1,'ingoAP9ODB','x1fGA2wNx4',#253,(#258)); +#676=IFCRELAGGREGATES('3OG1ApaM52WPqt1BnjA0YB',#1,'gZTYcL','EH2MRUM',#7,(#253)); +#677=IFCPRESENTATIONLAYERASSIGNMENT('L4ZHNsEut6','Nylsisny',(#384),$); +#678=IFCPRESENTATIONLAYERASSIGNMENT('PEqwLbRM','AYAK8Wk',(#643),$); +#679=IFCWINDOWTYPE('0noPcdJinBDwgoJxIi1TnQ',#1,'ggpDg1iH0','Y3S535',$,$,(#682),$,$,.NOTDEFINED.,.DOUBLE_PANEL_VERTICAL.,.T.,$); +#680=IFCRELDEFINESBYTYPE('2TY6cVTGb848xQ1EQsa0iD',#1,'gdwlhgnO','yHgbWZokpL',(#455),#679); +#681=IFCRELASSOCIATESMATERIAL('3_IxeGc$zEmR6SROarfHBn',#1,'bdFC8V','SziG36vBI',(#679),#629); +#682=IFCREPRESENTATIONMAP(#683,#684); +#683=IFCAXIS2PLACEMENT3D(#21,$,$); +#684=IFCSHAPEREPRESENTATION(#23,'Body','MappedRepresentation',(#637)); +#685=IFCWALLTYPE('3Era5tluX2v8cYG84KNRR4',#1,'VQISJwwUm','tcoIe8eF8',$,$,$,$,$,.NOTDEFINED.); +#686=IFCRELDEFINESBYTYPE('3BCYUELrH4qwMH0jMLPTYA',#1,'ua44ytICh','znXQXp0',(#289),#685); +#687=IFCRELASSOCIATESMATERIAL('1ffsVUv21An8DbhmkxDPv_',#1,'3qlZQDQvip','eCKATG5Yw',(#685),#362); +#688=IFCGROUP('1Eg539twrEAwqJB_DVv5Mr',#1,'4r0vNtV8ea','LjdktE',$); +#689=IFCGROUP('31wxPUExD3bQSEedESlR4J',#1,'xtGRWw','7cYiJyhnQp',$); +#690=IFCGROUP('0okQphQsL1UuzD8vPN60C3',#1,'WFO4j0vHLd','KPeurrKTWm',$); +#691=IFCGROUP('1U1qjkQYvANwXr8zx629j7',#1,'tBZSvpgq8L','H9CoGpwuY',$); +#692=IFCRELASSIGNSTOGROUP('2b_TEbRxXBfBwj9dNT0YkP',#1,'muUVu4c','DhKKtPUx3A',(#289),$,#688); +#693=IFCRELASSIGNSTOGROUP('1p4l43nXb6ReJ$I3j7RJgJ',#1,'Th5L1imLyZ','ooiZPztw',(#289),$,#689); +#694=IFCRELASSIGNSTOGROUP('0q_Zm0AUjF_RJdTi6SKztN',#1,'eGhqTMd','YLLBp2v',(#289),$,#690); +#695=IFCRELASSIGNSTOGROUP('2xOqroc4DBGB40Dn0qLNi2',#1,'fHsIGr0S','Wji7zqVWe7',(#289),$,#691); +#696=IFCRELDECLARES('2lFnbvJk97TR9osOVvfCWC',#1,'FmzTcj','vXjUzGSIfv',#7,(#688,#689,#690,#691)); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/lay000/pass-lay000-correct_layer_assignment_to_item.ifc b/test/files/lay000/pass-lay000-correct_layer_assignment_to_item.ifc new file mode 100644 index 00000000..e7fdceea --- /dev/null +++ b/test/files/lay000/pass-lay000-correct_layer_assignment_to_item.ifc @@ -0,0 +1,705 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[CoordinationView]'),'2;1'); +FILE_NAME('C:/Example/Path/Example_File.IFC','2024-07-04T11:07:30',(''),(''),'Example IFC','Example Architecture',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCOWNERHISTORY(#2,#6,.READWRITE.,.NOCHANGE.,$,$,$,1717175251); +#2=IFCPERSONANDORGANIZATION(#3,#4,$); +#3=IFCPERSON($,'LyJW9CgT','qn5b8q',$,$,$,$,$); +#4=IFCORGANIZATION($,'VHvFjj','RJlCa7',$,$); +#5=IFCORGANIZATION($,'NfxCxp','UxfxG4JeSg',$,$); +#6=IFCAPPLICATION(#5,'usBIM(k)','qca8Kedy','3tb9FTNh'); +#7=IFCPROJECT('0sPVYZ6W50IgvZvKUcnIDH',#1,'J82Cw3CF','JO2nuOplxQ',$,$,$,(#19),#11); +#8=IFCPROPERTYSET('2V1QcWSxb2JeeuBzPj0HiY',#1,'acWSAbGf','R8rjU42',(#9)); +#9=IFCPROPERTYSINGLEVALUE('nOOicDw7','Vi1Guc',IFCINTEGER(2),$); +#10=IFCRELDEFINESBYPROPERTIES('2OORkakxn9off7ouiac54e',#1,'RYMJzD','LAUzaj1',(#7),#8); +#11=IFCUNITASSIGNMENT((#12,#13,#14,#15)); +#12=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#13=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#14=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#15=IFCCONVERSIONBASEDUNIT(#16,.PLANEANGLEUNIT.,'0LRIo3',#17); +#16=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#17=IFCMEASUREWITHUNIT(IFCRATIOMEASURE(1.74532925E-2),#18); +#18=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#19=IFCGEOMETRICREPRESENTATIONCONTEXT('3D','Model',3,1.E-4,#20,#22); +#20=IFCAXIS2PLACEMENT3D(#21,$,$); +#21=IFCCARTESIANPOINT((0.,0.,0.)); +#22=IFCDIRECTION((0.,1.)); +#23=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#24=IFCMATERIAL('AAED9oV','g5RW3aKB9',$); +#25=IFCMATERIALDEFINITIONREPRESENTATION('wunw7SNFWQ','BFOfz1R',(#26),#24); +#26=IFCSTYLEDREPRESENTATION(#19,$,$,(#27)); +#27=IFCSTYLEDITEM($,(#29),'HjxM4N'); +#28=IFCSURFACESTYLE('19VBfxNOQt',.BOTH.,(#30)); +#29=IFCPRESENTATIONSTYLEASSIGNMENT((#28)); +#30=IFCSURFACESTYLERENDERING(#31,0.,#32,$,$,$,#33,$,.NOTDEFINED.); +#31=IFCCOLOURRGB('UDMS7rp',1.,1.,9.17647058823529E-1); +#32=IFCCOLOURRGB('IQemQL80',1.,1.,9.17647058823529E-1); +#33=IFCCOLOURRGB('92RunbzgVb',0.,0.,0.); +#34=IFCMATERIAL('vxCq6wlhB','3uhGizm15',$); +#35=IFCMATERIALDEFINITIONREPRESENTATION('WP1Feu7Ly','oiAlJo',(#36),#34); +#36=IFCSTYLEDREPRESENTATION(#19,$,$,(#37)); +#37=IFCSTYLEDITEM($,(#39),'1bsqLTx9th'); +#38=IFCSURFACESTYLE('WdXDWfOXL',.BOTH.,(#40)); +#39=IFCPRESENTATIONSTYLEASSIGNMENT((#38)); +#40=IFCSURFACESTYLERENDERING(#41,0.,#42,$,$,$,#43,$,.NOTDEFINED.); +#41=IFCCOLOURRGB('oxrhu1YbT',8.11764705882353E-1,9.05882352941176E-1,9.05882352941176E-1); +#42=IFCCOLOURRGB('6LC6cS6R',8.11764705882353E-1,9.05882352941176E-1,9.05882352941176E-1); +#43=IFCCOLOURRGB('IeKtmD9t1',0.,0.,0.); +#44=IFCMATERIAL('ua7mRf','2Zmq0pBM',$); +#45=IFCMATERIALDEFINITIONREPRESENTATION('sGYrFfiEAy','nNWZ2Vf9',(#46),#44); +#46=IFCSTYLEDREPRESENTATION(#19,$,$,(#47)); +#47=IFCSTYLEDITEM($,(#49),'MIEVEe'); +#48=IFCSURFACESTYLE('n5K8gADX',.BOTH.,(#50)); +#49=IFCPRESENTATIONSTYLEASSIGNMENT((#48)); +#50=IFCSURFACESTYLERENDERING(#51,0.,#52,$,$,$,#53,$,.NOTDEFINED.); +#51=IFCCOLOURRGB('K7OJHcnhA',1.,1.,1.); +#52=IFCCOLOURRGB('04hVaE6E',1.,1.,1.); +#53=IFCCOLOURRGB('6Zs1TE3x',0.,0.,0.); +#54=IFCMATERIAL('wAOktOG5do','mWgq2SlIv',$); +#55=IFCMATERIALDEFINITIONREPRESENTATION('WdfOEH1','slISwxTc',(#56),#54); +#56=IFCSTYLEDREPRESENTATION(#19,$,$,(#57)); +#57=IFCSTYLEDITEM($,(#59),'r1EBUqK'); +#58=IFCSURFACESTYLE('9qb1FZ8',.BOTH.,(#60)); +#59=IFCPRESENTATIONSTYLEASSIGNMENT((#58)); +#60=IFCSURFACESTYLERENDERING(#61,5.99999994039536E-1,#62,$,$,$,#63,$,.NOTDEFINED.); +#61=IFCCOLOURRGB('pYEErqihNj',1.,1.,1.); +#62=IFCCOLOURRGB('lbk7xGoSUc',1.,1.,1.); +#63=IFCCOLOURRGB('0Wj4BgImf',4.6875E-2,4.6875E-2,4.6875E-2); +#64=IFCMATERIAL('1K88eMG4','6rneA18Nm',$); +#65=IFCMATERIALDEFINITIONREPRESENTATION('xfv3IZfY','7zDpO2F9',(#66),#64); +#66=IFCSTYLEDREPRESENTATION(#19,$,$,(#67)); +#67=IFCSTYLEDITEM($,(#69),'p2k9Fig6'); +#68=IFCSURFACESTYLE('IoUdzR2zL',.BOTH.,(#70)); +#69=IFCPRESENTATIONSTYLEASSIGNMENT((#68)); +#70=IFCSURFACESTYLERENDERING(#71,0.,#72,$,$,$,#73,$,.NOTDEFINED.); +#71=IFCCOLOURRGB('VHQCjW',4.03921574354172E-1,3.29411774873734E-1,2.43137255311012E-1); +#72=IFCCOLOURRGB('ziKQjAt3NA',4.03921574354172E-1,3.29411774873734E-1,2.43137255311012E-1); +#73=IFCCOLOURRGB('FwMrwtGK',0.,0.,0.); +#74=IFCMATERIAL('k0tTNiLC','pl30UkY1',$); +#75=IFCMATERIALDEFINITIONREPRESENTATION('GF2nVl','VnoNBLk',(#76),#74); +#76=IFCSTYLEDREPRESENTATION(#19,$,$,(#77)); +#77=IFCSTYLEDITEM($,(#79),'7ool28'); +#78=IFCSURFACESTYLE('eLFAMd',.BOTH.,(#80)); +#79=IFCPRESENTATIONSTYLEASSIGNMENT((#78)); +#80=IFCSURFACESTYLERENDERING(#81,0.,#82,$,$,$,#83,$,.NOTDEFINED.); +#81=IFCCOLOURRGB('4Wo0F995oI',6.50980412960052E-1,6.70588254928589E-1,7.09803938865662E-1); +#82=IFCCOLOURRGB('D3gFT2UMk',6.50980412960052E-1,6.70588254928589E-1,7.09803938865662E-1); +#83=IFCCOLOURRGB('PjbxT40GM1',0.,0.,0.); +#84=IFCREPRESENTATIONMAP(#87,#88); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#21,#85,#86); +#88=IFCSHAPEREPRESENTATION(#23,'Body','Tessellation',(#89,#108,#131,#158,#167,#190,#199,#208,#217,#244)); +#89=IFCPOLYGONALFACESET(#90,$,(#91,#92,#93,#94,#95,#96,#97,#98,#99,#100,#101,#102,#103,#104,#105,#106),$); +#90=IFCCARTESIANPOINTLIST3D(((-6.49999976158142E-1,1.45000004768372,-3.99999991059303E-2),(-6.49999976158142E-1,1.45000004768372,3.99999991059303E-2),(-6.49999976158142E-1,5.00000007450581E-2,3.99999991059303E-2),(-6.49999976158142E-1,5.00000007450581E-2,-3.99999991059303E-2),(-6.99999988079071E-1,1.5,3.99999991059303E-2),(-6.99999988079071E-1,0.,3.99999991059303E-2),(-6.99999988079071E-1,1.5,-3.99999991059303E-2),(-6.99999988079071E-1,0.,-3.99999991059303E-2),(6.49999976158142E-1,5.0000000745058E-2,3.99999991059303E-2),(6.49999976158142E-1,5.0000000745058E-2,-3.99999991059303E-2),(6.99999988079071E-1,0.,3.99999991059303E-2),(6.49999976158142E-1,5.00000007450581E-2,3.99999991059303E-2),(6.99999988079071E-1,0.,-3.99999991059303E-2),(6.49999976158142E-1,5.00000007450581E-2,-3.99999991059303E-2),(6.49999976158142E-1,1.45000004768372,3.99999991059303E-2),(6.49999976158142E-1,1.45000004768372,-3.99999991059303E-2),(6.99999988079071E-1,1.5,3.99999991059303E-2),(6.99999988079071E-1,1.5,-3.99999991059303E-2))); +#91=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#92=IFCINDEXEDPOLYGONALFACE((2,5,6,3)); +#93=IFCINDEXEDPOLYGONALFACE((5,7,8,6)); +#94=IFCINDEXEDPOLYGONALFACE((7,1,4,8)); +#95=IFCINDEXEDPOLYGONALFACE((4,3,9,10)); +#96=IFCINDEXEDPOLYGONALFACE((3,6,11,12)); +#97=IFCINDEXEDPOLYGONALFACE((6,8,13,11)); +#98=IFCINDEXEDPOLYGONALFACE((8,4,14,13)); +#99=IFCINDEXEDPOLYGONALFACE((14,12,15,16)); +#100=IFCINDEXEDPOLYGONALFACE((12,11,17,15)); +#101=IFCINDEXEDPOLYGONALFACE((11,13,18,17)); +#102=IFCINDEXEDPOLYGONALFACE((13,14,16,18)); +#103=IFCINDEXEDPOLYGONALFACE((16,15,2,1)); +#104=IFCINDEXEDPOLYGONALFACE((15,17,5,2)); +#105=IFCINDEXEDPOLYGONALFACE((17,18,7,5)); +#106=IFCINDEXEDPOLYGONALFACE((18,16,1,7)); +#107=IFCSTYLEDITEM(#89,(#69),'jmF8hV'); +#108=IFCPOLYGONALFACESET(#109,$,(#110,#111,#112,#113,#114,#115,#116,#117,#118,#119,#120,#121,#122,#123,#124,#125,#126,#127,#128,#129),$); +#109=IFCCARTESIANPOINTLIST3D(((-6.10000014305115E-1,1.4099999666214,-3.50000001490116E-2),(-6.00000019185245E-1,1.39999997615814,-2.50000050291419E-2),(-6.00000019185245E-1,1.00000001490116E-1,-2.50000050291419E-2),(-6.10000014305115E-1,9.00000035762787E-2,-3.50000001490116E-2),(-6.00000023841858E-1,1.39999997615814,-2.5000000372529E-2),(-6.00000023841858E-1,1.39999997615814,3.50000001490116E-2),(-6.00000023841858E-1,1.00000001490116E-1,3.50000001490116E-2),(-6.00000023841858E-1,1.00000001490116E-1,-2.5000000372529E-2),(-6.49999976158142E-1,1.45000004768372,3.50000001490116E-2),(-6.49999976158142E-1,5.00000007450581E-2,3.50000001490116E-2),(-6.49999976158142E-1,1.45000004768372,-3.50000001490116E-2),(-6.49999976158142E-1,5.00000007450581E-2,-3.50000001490116E-2),(-6.00000023841858E-1,1.00000002421439E-1,-2.50000013038516E-2),(-5.00000007450581E-2,1.00000002421439E-1,-2.50000013038516E-2),(-3.99999991059303E-2,9.00000035762787E-2,-3.50000001490116E-2),(-5.00000007450581E-2,1.00000001490116E-1,3.50000001490116E-2),(-5.00000007450581E-2,1.00000001490116E-1,-2.5000000372529E-2),(-1.33226762955019E-15,5.00000007450581E-2,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,-3.50000001490116E-2),(-4.99999998137355E-2,1.00000001490116E-1,-2.49999994412065E-2),(-4.99999998137354E-2,1.39999997615814,-2.49999994412064E-2),(-3.99999991059303E-2,1.4099999666214,-3.50000001490116E-2),(-5.00000007450579E-2,1.39999997615814,3.50000001490116E-2),(-5.00000007450579E-2,1.39999997615814,-2.5000000372529E-2),(-1.22124532708767E-15,1.45000004768372,3.50000001490116E-2),(-5.00000007450581E-2,1.39999997615814,3.50000001490116E-2),(-1.22124532071838E-15,1.45000004768372,-3.50000001490116E-2),(-1.22124532071838E-15,1.45000004768372,3.50000001490116E-2),(-1.22124532708767E-15,1.45000004768372,-3.50000001490116E-2),(-5.00000007450581E-2,1.39999997150153,-2.50000050291419E-2),(-6.00000023841858E-1,1.39999997150153,-2.50000050291417E-2),(-6.10000014305115E-1,1.4099999666214,-3.50000001490115E-2),(-5.00000007450581E-2,1.39999997615814,-2.5000000372529E-2))); +#110=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#111=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#112=IFCINDEXEDPOLYGONALFACE((6,9,10,7)); +#113=IFCINDEXEDPOLYGONALFACE((9,11,12,10)); +#114=IFCINDEXEDPOLYGONALFACE((11,1,4,12)); +#115=IFCINDEXEDPOLYGONALFACE((4,13,14,15)); +#116=IFCINDEXEDPOLYGONALFACE((8,7,16,17)); +#117=IFCINDEXEDPOLYGONALFACE((7,10,18,16)); +#118=IFCINDEXEDPOLYGONALFACE((10,12,19,18)); +#119=IFCINDEXEDPOLYGONALFACE((12,4,15,19)); +#120=IFCINDEXEDPOLYGONALFACE((15,20,21,22)); +#121=IFCINDEXEDPOLYGONALFACE((17,16,23,24)); +#122=IFCINDEXEDPOLYGONALFACE((16,18,25,26)); +#123=IFCINDEXEDPOLYGONALFACE((18,19,27,28)); +#124=IFCINDEXEDPOLYGONALFACE((19,15,22,29)); +#125=IFCINDEXEDPOLYGONALFACE((22,30,31,32)); +#126=IFCINDEXEDPOLYGONALFACE((33,26,6,5)); +#127=IFCINDEXEDPOLYGONALFACE((26,25,9,6)); +#128=IFCINDEXEDPOLYGONALFACE((25,29,11,9)); +#129=IFCINDEXEDPOLYGONALFACE((29,22,1,11)); +#130=IFCSTYLEDITEM(#108,(#69),'yPWZMhtf'); +#131=IFCPOLYGONALFACESET(#132,$,(#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,#144,#145,#146,#147,#148,#149,#150,#151,#152,#153,#154,#155,#156),$); +#132=IFCCARTESIANPOINTLIST3D(((-5.84999978542328E-1,1.38499999046326,-9.99999977648258E-3),(-5.79999980982393E-1,1.37999999523163,-5.00000221654773E-3),(-5.79999980982393E-1,1.19999997317791E-1,-5.00000221654773E-3),(-5.84999978542328E-1,1.15000002086163E-1,-9.99999977648258E-3),(-5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(-5.84999980870634E-1,1.38499999046326,9.99999744817615E-3),(-5.84999980870634E-1,1.15000002086163E-1,9.99999744817615E-3),(-5.84999978542328E-1,1.38499999046326,9.99999977648258E-3),(-6.00000023841858E-1,1.39999997615814,9.99999977648258E-3),(-6.00000023841858E-1,1.00000001490116E-1,9.99999977648258E-3),(-5.84999978542328E-1,1.15000002086163E-1,9.99999977648258E-3),(-6.00000023841858E-1,1.39999997615814,-9.99999977648258E-3),(-6.00000023841858E-1,1.00000001490116E-1,-9.99999977648258E-3),(-5.79999983310699E-1,1.19999999646097E-1,-5.00000221654773E-3),(-7.00000002980232E-2,1.19999999646097E-1,-5.00000221654773E-3),(-6.49999976158142E-2,1.15000002086163E-1,-9.99999977648258E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(-5.84999978542328E-1,1.14999999757856E-1,9.99999744817615E-3),(-6.49999976158142E-2,1.14999999757856E-1,9.99999744817613E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824127E-3),(-5.00000007450581E-2,1.00000001490116E-1,9.99999977648258E-3),(-6.49999976158142E-2,1.15000002086163E-1,9.99999977648258E-3),(-5.00000007450581E-2,1.00000001490116E-1,-9.99999977648258E-3),(-6.99999989010394E-2,1.19999997317791E-1,-4.99999849125743E-3),(-6.99999989010394E-2,1.37999999523163,-4.99999849125743E-3),(-6.49999976158142E-2,1.38499999046326,-9.99999977648258E-3),(-7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(-7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(-6.49999990127981E-2,1.15000002086163E-1,1.00000011734664E-2),(-6.4999999012798E-2,1.38499999046326,1.00000011734663E-2),(-7.00000002980231E-2,1.37999999523163,4.99999988824118E-3),(-5.00000007450581E-2,1.39999997615814,9.99999977648258E-3),(-6.49999976158142E-2,1.38499999046326,9.99999977648258E-3),(-5.00000007450579E-2,1.39999997615814,-9.99999977648258E-3),(-5.00000007450579E-2,1.39999997615814,9.99999977648258E-3),(-5.00000007450581E-2,1.39999997615814,-9.99999977648258E-3),(-7.00000002980232E-2,1.37999999290332,-5.00000221654769E-3),(-5.79999983310699E-1,1.37999999290332,-5.00000221654769E-3),(-6.49999976158142E-2,1.38499999279156,9.99999744817619E-3),(-5.84999978542328E-1,1.38499999279156,9.99999744817634E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824145E-3))); +#133=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#134=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#135=IFCINDEXEDPOLYGONALFACE((6,9,10,7)); +#136=IFCINDEXEDPOLYGONALFACE((11,12,13,14)); +#137=IFCINDEXEDPOLYGONALFACE((12,15,16,13)); +#138=IFCINDEXEDPOLYGONALFACE((15,1,4,16)); +#139=IFCINDEXEDPOLYGONALFACE((4,17,18,19)); +#140=IFCINDEXEDPOLYGONALFACE((8,7,20,21)); +#141=IFCINDEXEDPOLYGONALFACE((7,22,23,24)); +#142=IFCINDEXEDPOLYGONALFACE((14,13,25,26)); +#143=IFCINDEXEDPOLYGONALFACE((13,16,27,25)); +#144=IFCINDEXEDPOLYGONALFACE((16,4,19,27)); +#145=IFCINDEXEDPOLYGONALFACE((19,28,29,30)); +#146=IFCINDEXEDPOLYGONALFACE((21,20,31,32)); +#147=IFCINDEXEDPOLYGONALFACE((20,33,34,35)); +#148=IFCINDEXEDPOLYGONALFACE((26,25,36,37)); +#149=IFCINDEXEDPOLYGONALFACE((25,27,38,39)); +#150=IFCINDEXEDPOLYGONALFACE((27,19,30,40)); +#151=IFCINDEXEDPOLYGONALFACE((30,41,42,1)); +#152=IFCINDEXEDPOLYGONALFACE((32,31,6,5)); +#153=IFCINDEXEDPOLYGONALFACE((31,43,44,45)); +#154=IFCINDEXEDPOLYGONALFACE((37,36,12,11)); +#155=IFCINDEXEDPOLYGONALFACE((36,40,15,12)); +#156=IFCINDEXEDPOLYGONALFACE((40,30,1,15)); +#157=IFCSTYLEDITEM(#131,(#69),'NM0pR2geMN'); +#158=IFCPOLYGONALFACESET(#159,$,(#160,#161,#162,#163,#164,#165),$); +#159=IFCCARTESIANPOINTLIST3D(((-7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(-5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(-5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(-7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(-7.00000002980231E-2,1.37999999523163,-4.99999988824129E-3),(-7.00000002980231E-2,1.37999999523163,4.99999988824129E-3))); +#160=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#161=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#162=IFCINDEXEDPOLYGONALFACE((4,3,6,5)); +#163=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#164=IFCINDEXEDPOLYGONALFACE((2,9,10,7)); +#165=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#166=IFCSTYLEDITEM(#158,(#59),'LZmDFma'); +#167=IFCPOLYGONALFACESET(#168,$,(#169,#170,#171,#172,#173,#174,#175,#176,#177,#178,#179,#180,#181,#182,#183,#184,#185,#186,#187,#188),$); +#168=IFCCARTESIANPOINTLIST3D(((3.99999991059303E-2,1.4099999666214,-3.50000001490116E-2),(4.99999998137355E-2,1.39999997615814,-2.49999994412065E-2),(4.99999998137354E-2,1.00000001490116E-1,-2.49999994412064E-2),(3.99999991059303E-2,9.00000035762787E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.39999997615814,-2.5000000372529E-2),(5.00000007450581E-2,1.39999997615814,3.50000001490116E-2),(5.00000007450579E-2,1.00000001490116E-1,3.50000001490116E-2),(5.00000007450579E-2,1.00000001490116E-1,-2.5000000372529E-2),(-1.22124532708767E-15,1.45000004768372,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,3.50000001490116E-2),(5.00000007450581E-2,1.00000001490116E-1,3.50000001490116E-2),(-1.22124532708767E-15,1.45000004768372,-3.50000001490116E-2),(-1.33226763591948E-15,5.00000007450581E-2,-3.50000001490116E-2),(-1.33226763591948E-15,5.00000007450581E-2,3.50000001490116E-2),(-1.33226762955019E-15,5.00000007450581E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.00000002421439E-1,-2.50000013038516E-2),(6.00000023841858E-1,1.00000002421439E-1,-2.50000013038516E-2),(6.10000014305115E-1,9.00000035762787E-2,-3.50000001490116E-2),(5.00000007450581E-2,1.00000001490116E-1,-2.5000000372529E-2),(6.00000023841858E-1,1.00000001490116E-1,3.50000001490116E-2),(6.00000023841858E-1,1.00000001490116E-1,-2.5000000372529E-2),(6.49999976158142E-1,5.00000007450581E-2,3.50000001490116E-2),(6.49999976158142E-1,5.00000007450581E-2,-3.50000001490116E-2),(6.00000019185245E-1,1.00000001490116E-1,-2.50000050291419E-2),(6.00000019185245E-1,1.39999997615814,-2.50000050291419E-2),(6.10000014305115E-1,1.4099999666214,-3.50000001490116E-2),(6.00000023841858E-1,1.39999997615814,3.50000001490116E-2),(6.00000023841858E-1,1.39999997615814,-2.5000000372529E-2),(6.49999976158142E-1,1.45000004768372,3.50000001490116E-2),(6.49999976158142E-1,1.45000004768372,-3.50000001490116E-2),(6.00000023841858E-1,1.39999997150153,-2.50000050291419E-2),(5.00000007450581E-2,1.39999997150153,-2.50000050291419E-2))); +#169=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#170=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#171=IFCINDEXEDPOLYGONALFACE((6,9,10,11)); +#172=IFCINDEXEDPOLYGONALFACE((9,12,13,14)); +#173=IFCINDEXEDPOLYGONALFACE((12,1,4,15)); +#174=IFCINDEXEDPOLYGONALFACE((4,16,17,18)); +#175=IFCINDEXEDPOLYGONALFACE((19,11,20,21)); +#176=IFCINDEXEDPOLYGONALFACE((11,10,22,20)); +#177=IFCINDEXEDPOLYGONALFACE((10,15,23,22)); +#178=IFCINDEXEDPOLYGONALFACE((15,4,18,23)); +#179=IFCINDEXEDPOLYGONALFACE((18,24,25,26)); +#180=IFCINDEXEDPOLYGONALFACE((21,20,27,28)); +#181=IFCINDEXEDPOLYGONALFACE((20,22,29,27)); +#182=IFCINDEXEDPOLYGONALFACE((22,23,30,29)); +#183=IFCINDEXEDPOLYGONALFACE((23,18,26,30)); +#184=IFCINDEXEDPOLYGONALFACE((26,31,32,1)); +#185=IFCINDEXEDPOLYGONALFACE((28,27,6,5)); +#186=IFCINDEXEDPOLYGONALFACE((27,29,9,6)); +#187=IFCINDEXEDPOLYGONALFACE((29,30,12,9)); +#188=IFCINDEXEDPOLYGONALFACE((30,26,1,12)); +#189=IFCSTYLEDITEM(#167,(#69),'RSHA1XxPb'); +#190=IFCPOLYGONALFACESET(#191,$,(#192,#193,#194,#195,#196,#197),$); +#191=IFCCARTESIANPOINTLIST3D(((4.50000017881393E-2,7.69999980926514E-1,3.50000001490116E-2),(4.50000017881393E-2,7.30000019073486E-1,3.50000001490116E-2),(4.99999988824129E-3,7.30000019073486E-1,3.50000001490116E-2),(4.99999988824129E-3,7.69999980926514E-1,3.50000001490116E-2),(4.99999988824129E-3,7.69999980926514E-1,4.30000014603138E-2),(4.99999988824129E-3,7.30000019073486E-1,4.30000014603138E-2),(4.50000017881393E-2,7.30000019073486E-1,4.30000014603138E-2),(4.50000017881393E-2,7.69999980926514E-1,4.30000014603138E-2))); +#192=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#193=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#194=IFCINDEXEDPOLYGONALFACE((4,3,6,5)); +#195=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#196=IFCINDEXEDPOLYGONALFACE((2,1,8,7)); +#197=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#198=IFCSTYLEDITEM(#190,(#79),'ZoFKry1w'); +#199=IFCPOLYGONALFACESET(#200,$,(#201,#202,#203,#204,#205,#206),$); +#200=IFCCARTESIANPOINTLIST3D(((3.24999988079071E-2,7.54999995231628E-1,4.30000014603138E-2),(3.24999988079071E-2,7.45000004768372E-1,4.30000014603138E-2),(1.75000000745058E-2,7.45000004768372E-1,4.30000014603138E-2),(1.75000000745058E-2,7.54999995231628E-1,4.30000014603138E-2),(1.75000000745058E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000001043081E-1,7.30000026524067E-2),(3.24999988079071E-2,7.45000001043081E-1,7.30000026524067E-2),(3.24999988079071E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000004768372E-1,7.29999989271164E-2),(3.24999988079071E-2,7.45000004768372E-1,7.29999989271164E-2))); +#201=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#202=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#203=IFCINDEXEDPOLYGONALFACE((4,3,9,5)); +#204=IFCINDEXEDPOLYGONALFACE((3,2,10,9)); +#205=IFCINDEXEDPOLYGONALFACE((2,1,8,10)); +#206=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#207=IFCSTYLEDITEM(#199,(#79),'fQI0KF'); +#208=IFCPOLYGONALFACESET(#209,$,(#210,#211,#212,#213,#214,#215),$); +#209=IFCCARTESIANPOINTLIST3D(((3.24999988079071E-2,7.54999995231628E-1,8.29999968409538E-2),(3.24999988079071E-2,7.45000001043081E-1,7.30000026524067E-2),(1.75000000745058E-2,7.45000001043081E-1,7.30000026524067E-2),(1.75000000745058E-2,7.54999995231628E-1,8.29999968409538E-2),(1.75000000745058E-2,6.25E-1,8.29999968409538E-2),(1.75000000745058E-2,6.25E-1,7.29999989271164E-2),(3.24999988079071E-2,6.25E-1,7.29999989271164E-2),(3.24999988079071E-2,6.25E-1,8.29999968409538E-2),(1.75000000745058E-2,7.45000004768372E-1,7.29999989271164E-2),(3.24999988079071E-2,7.45000004768372E-1,7.29999989271164E-2))); +#210=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#211=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#212=IFCINDEXEDPOLYGONALFACE((4,9,6,5)); +#213=IFCINDEXEDPOLYGONALFACE((9,10,7,6)); +#214=IFCINDEXEDPOLYGONALFACE((10,1,8,7)); +#215=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#216=IFCSTYLEDITEM(#208,(#79),'TGaedUr'); +#217=IFCPOLYGONALFACESET(#218,$,(#219,#220,#221,#222,#223,#224,#225,#226,#227,#228,#229,#230,#231,#232,#233,#234,#235,#236,#237,#238,#239,#240,#241,#242),$); +#218=IFCCARTESIANPOINTLIST3D(((6.49999976158142E-2,1.38499999046326,-9.99999977648258E-3),(6.99999989010394E-2,1.37999999523163,-4.99999849125743E-3),(6.99999989010393E-2,1.19999997317791E-1,-4.99999849125738E-3),(6.49999976158142E-2,1.15000002086163E-1,-9.99999977648253E-3),(7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,-4.99999988824129E-3),(6.49999990127981E-2,1.38499999046326,1.00000011734664E-2),(6.49999990127981E-2,1.15000002086163E-1,1.00000011734664E-2),(7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(6.49999976158142E-2,1.38499999046326,9.99999977648258E-3),(5.00000007450581E-2,1.39999997615814,9.99999977648258E-3),(5.00000007450581E-2,1.00000001490116E-1,9.99999977648258E-3),(6.49999976158142E-2,1.15000002086163E-1,9.99999977648258E-3),(5.00000007450581E-2,1.39999997615814,-9.99999977648258E-3),(5.00000007450579E-2,1.00000001490116E-1,-9.99999977648258E-3),(5.00000007450579E-2,1.00000001490116E-1,9.99999977648258E-3),(6.49999976158142E-2,1.15000002086163E-1,-9.99999977648258E-3),(5.00000007450581E-2,1.00000001490116E-1,-9.99999977648258E-3),(7.00000002980232E-2,1.19999999646097E-1,-5.00000221654773E-3),(5.79999983310699E-1,1.19999999646097E-1,-5.00000221654773E-3),(5.84999978542328E-1,1.15000002086163E-1,-9.99999977648258E-3),(7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(6.49999976158142E-2,1.14999999757856E-1,9.99999744817615E-3),(5.84999978542328E-1,1.14999999757856E-1,9.99999744817613E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824127E-3),(6.00000023841858E-1,1.00000001490116E-1,9.99999977648258E-3),(5.84999978542328E-1,1.15000002086163E-1,9.99999977648258E-3),(6.00000023841858E-1,1.00000001490116E-1,-9.99999977648258E-3),(5.79999980982393E-1,1.19999997317791E-1,-5.00000221654773E-3),(5.79999980982393E-1,1.37999999523163,-5.00000221654773E-3),(5.84999978542328E-1,1.38499999046326,-9.99999977648258E-3),(5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(5.84999980870634E-1,1.15000002086163E-1,9.99999744817615E-3),(5.84999980870634E-1,1.38499999046326,9.99999744817603E-3),(5.799999833107E-1,1.37999999523163,4.99999988824117E-3),(6.00000023841858E-1,1.39999997615814,9.99999977648258E-3),(5.84999978542328E-1,1.38499999046326,9.99999977648258E-3),(6.00000023841858E-1,1.39999997615814,-9.99999977648258E-3),(5.79999983310699E-1,1.37999999290332,-5.00000221654769E-3),(7.00000002980232E-2,1.37999999290332,-5.00000221654769E-3),(5.84999978542328E-1,1.38499999279156,9.99999744817619E-3),(6.49999976158142E-2,1.38499999279156,9.99999744817619E-3))); +#219=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#220=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#221=IFCINDEXEDPOLYGONALFACE((6,9,10,11)); +#222=IFCINDEXEDPOLYGONALFACE((12,13,14,15)); +#223=IFCINDEXEDPOLYGONALFACE((13,16,17,18)); +#224=IFCINDEXEDPOLYGONALFACE((16,1,19,20)); +#225=IFCINDEXEDPOLYGONALFACE((19,21,22,23)); +#226=IFCINDEXEDPOLYGONALFACE((24,11,25,26)); +#227=IFCINDEXEDPOLYGONALFACE((11,27,28,29)); +#228=IFCINDEXEDPOLYGONALFACE((15,14,30,31)); +#229=IFCINDEXEDPOLYGONALFACE((14,20,32,30)); +#230=IFCINDEXEDPOLYGONALFACE((20,19,23,32)); +#231=IFCINDEXEDPOLYGONALFACE((23,33,34,35)); +#232=IFCINDEXEDPOLYGONALFACE((26,25,36,37)); +#233=IFCINDEXEDPOLYGONALFACE((25,38,39,40)); +#234=IFCINDEXEDPOLYGONALFACE((31,30,41,42)); +#235=IFCINDEXEDPOLYGONALFACE((30,32,43,41)); +#236=IFCINDEXEDPOLYGONALFACE((32,23,35,43)); +#237=IFCINDEXEDPOLYGONALFACE((35,44,45,1)); +#238=IFCINDEXEDPOLYGONALFACE((37,36,6,5)); +#239=IFCINDEXEDPOLYGONALFACE((36,46,47,6)); +#240=IFCINDEXEDPOLYGONALFACE((42,41,13,12)); +#241=IFCINDEXEDPOLYGONALFACE((41,43,16,13)); +#242=IFCINDEXEDPOLYGONALFACE((43,35,1,16)); +#243=IFCSTYLEDITEM(#217,(#69),'uAtkVH'); +#244=IFCPOLYGONALFACESET(#245,$,(#246,#247,#248,#249,#250,#251),$); +#245=IFCCARTESIANPOINTLIST3D(((5.79999983310699E-1,1.37999999523163,-4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980232E-2,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,-4.99999988824129E-3),(7.00000002980232E-2,1.37999999523163,4.99999988824129E-3),(7.00000002980232E-2,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.19999997317791E-1,4.99999988824129E-3),(5.79999983310699E-1,1.37999999523163,4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,-4.99999988824129E-3),(7.00000002980231E-2,1.19999997317791E-1,4.99999988824129E-3))); +#246=IFCINDEXEDPOLYGONALFACE((1,2,3,4)); +#247=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#248=IFCINDEXEDPOLYGONALFACE((4,9,10,5)); +#249=IFCINDEXEDPOLYGONALFACE((3,2,7,6)); +#250=IFCINDEXEDPOLYGONALFACE((2,1,8,7)); +#251=IFCINDEXEDPOLYGONALFACE((1,4,5,8)); +#252=IFCSTYLEDITEM(#244,(#59),'9yGsbva0bG'); +#253=IFCSITE('2wovVXpgj1cRsZ_0dvJtaZ',#1,'XQpDvAqILs','hqXsVJ7zhR',$,#254,$,$,.ELEMENT.,(0,0,0,0),(0,0,0,0),0.,$,$); +#254=IFCLOCALPLACEMENT($,#257); +#255=IFCDIRECTION((0.,0.,1.)); +#256=IFCDIRECTION((1.,0.,0.)); +#257=IFCAXIS2PLACEMENT3D(#21,#255,#256); +#258=IFCBUILDING('1q4MsgfUf4Metm2lRt$BR5',#1,'lHnHpG','HSiRpWoxS',$,#259,$,$,.ELEMENT.,$,$,#674); +#259=IFCLOCALPLACEMENT(#254,#262); +#260=IFCDIRECTION((0.,0.,1.)); +#261=IFCDIRECTION((1.,0.,0.)); +#262=IFCAXIS2PLACEMENT3D(#21,#260,#261); +#263=IFCBUILDINGSTOREY('0bBdAVTgr2rAo1IEd_kcfo',#1,'3lc8ZLycF','NcCLTN',$,#267,$,$,.ELEMENT.,-1.5); +#264=IFCPROPERTYSET('13u1ZCs_9ApwnJgokMM1lS',#1,'eAqsHPZ0kN','YKIl6QU9',(#265)); +#265=IFCPROPERTYSINGLEVALUE('ZSAv5T8lX','x2RBedZj5',IFCINTEGER(1),$); +#266=IFCRELDEFINESBYPROPERTIES('1DOxI62Tn0P9K_sq8IAG2X',#1,'2YHnyRth30','20sc71Ok',(#263),#264); +#267=IFCLOCALPLACEMENT(#259,#271); +#268=IFCCARTESIANPOINT((0.,0.,-1.5)); +#269=IFCDIRECTION((0.,0.,1.)); +#270=IFCDIRECTION((1.,0.,0.)); +#271=IFCAXIS2PLACEMENT3D(#268,#269,#270); +#272=IFCBUILDINGSTOREY('1CtY$SxH91C8cn1Rro48HX',#1,'YroQA2K3e','xG8GnsQu',$,#276,$,$,.ELEMENT.,-5.E-1); +#273=IFCPROPERTYSET('3LaK_YqR12dB1WW6FMhiXX',#1,'omLzQMS','oBkaBl',(#274)); +#274=IFCPROPERTYSINGLEVALUE('R5T9SnyBc','vVhN87C',IFCINTEGER(2),$); +#275=IFCRELDEFINESBYPROPERTIES('1QzpvcXNvC0ehLqcJdstY9',#1,'oDJ0Pp0','cSEnhfVu4',(#272),#273); +#276=IFCLOCALPLACEMENT(#259,#280); +#277=IFCCARTESIANPOINT((0.,0.,-5.E-1)); +#278=IFCDIRECTION((0.,0.,1.)); +#279=IFCDIRECTION((1.,0.,0.)); +#280=IFCAXIS2PLACEMENT3D(#277,#278,#279); +#281=IFCBUILDINGSTOREY('0xuqbikJfFxhmSCs$dJm45',#1,'ddMPWhJr','kQw4bsL',$,#285,$,$,.ELEMENT.,0.); +#282=IFCPROPERTYSET('0mR1HWsGnAnBJeO_JICIl7',#1,'brnlV5BS','o4omD28K',(#283)); +#283=IFCPROPERTYSINGLEVALUE('e1pZw55','qwobhX',IFCINTEGER(0),$); +#284=IFCRELDEFINESBYPROPERTIES('0RPjTqCbrDQhMtfiM64u$a',#1,'oLPo5DhLB','3PZSfCrsJ',(#281),#282); +#285=IFCLOCALPLACEMENT(#259,#288); +#286=IFCDIRECTION((0.,0.,1.)); +#287=IFCDIRECTION((1.,0.,0.)); +#288=IFCAXIS2PLACEMENT3D(#21,#286,#287); +#289=IFCWALLSTANDARDCASE('338D45yJP6EQHiss4ZzJDE',#1,'YNaq9cA9','LPoqMe',$,#367,#372,$,$); +#290=IFCPROPERTYSET('1O3oTN2dTEpOxzcyg7qkAp',#1,'q3Rcv1','KoCLRNhJsV',(#291,#292,#293,#294)); +#291=IFCPROPERTYSINGLEVALUE('qrAiK4V','Lyu7OeH1',IFCINTEGER(2339),$); +#292=IFCPROPERTYSINGLEVALUE('9Zi21BU','Q9jJ76atTN',IFCINTEGER(366),$); +#293=IFCPROPERTYSINGLEVALUE('o5Aabg9y9','i0stCh1x94',IFCINTEGER(9000),$); +#294=IFCPROPERTYSINGLEVALUE('DTFhpfa','l3RiERp',IFCINTEGER(1),$); +#295=IFCRELDEFINESBYPROPERTIES('2qXOdAYwXBafVZ43H7pvuY',#1,'2dYgYMK0','9s2wdmZavj',(#289),#290); +#296=IFCPROPERTYSET('1Fp2Ts$svDPA9Vu_HhKsP5',#1,'TYe8YWLw3c','mFKhlVbjdT',(#297,#298)); +#297=IFCPROPERTYSINGLEVALUE('fpv08kh','Ru3xIi',IFCREAL(2.),$); +#298=IFCPROPERTYSINGLEVALUE('OqSJ0AH','SinNUm',IFCREAL(2.),$); +#299=IFCRELDEFINESBYPROPERTIES('2hPJmamcv3vRHWBH9SpeyJ',#1,'VhaRqVV9','4v0bruET5u',(#289),#296); +#300=IFCPROPERTYSET('1JH96WdIX2meeX6Swb0P_X',#1,'uhZ2Wt0','N1VNtL',(#301)); +#301=IFCPROPERTYSINGLEVALUE('oDoJst','mJZg6sfpzp',IFCINTEGER(2),$); +#302=IFCRELDEFINESBYPROPERTIES('32f46yj1HDFQohWUkfbIem',#1,'p3RcPx','pKfsbgpcP',(#289),#300); +#303=IFCPROPERTYSET('3hDxVzHoT729Iapa6pgrcq',#1,'KhVxPco2L','LGYRXXjg',(#304)); +#304=IFCPROPERTYSINGLEVALUE('Zs7hha47fN','07BdnBRd3',IFCINTEGER(0),$); +#305=IFCRELDEFINESBYPROPERTIES('2$q7Jg1xT4f9KmhcdtOW1o',#1,'iEwdFn39gf','jHpaj6Zx',(#289),#303); +#306=IFCPROPERTYSET('1Qnr5Q7kb5C93WKZv2pCju',#1,'doQEbf','AHUv6ijgq2',(#307,#308,#309,#310,#311,#312,#313)); +#307=IFCPROPERTYSINGLEVALUE('RuVCDnOY','wsxW2AJ3',IFCINTEGER(2339),$); +#308=IFCPROPERTYSINGLEVALUE('0tP6Cq','Zfb1iga',IFCLABEL('01'),$); +#309=IFCPROPERTYSINGLEVALUE('ii85H7','an8IFlU',IFCLABEL('02'),$); +#310=IFCPROPERTYSINGLEVALUE('omaySs20e','Oa4dJsTPls',IFCLABEL('Piano Terra'),$); +#311=IFCPROPERTYSINGLEVALUE('ASDMV8FUD2','zIXva6y',IFCLABEL('Parete in cemento armato [300.00]'),$); +#312=IFCPROPERTYSINGLEVALUE('i3sWcM','cOgQInzoXs',IFCLENGTHMEASURE(3.E-1),$); +#313=IFCPROPERTYSINGLEVALUE('V836ZzvF7M','DuIwhZ6X3P',IFCBOOLEAN(.F.),$); +#314=IFCRELDEFINESBYPROPERTIES('2OUebs9nn3bRx6TYh2Re8a',#1,'aUJqOEkaZr','72BuhDepU',(#289),#306); +#315=IFCPROPERTYSET('1_KUFQvQT9TwKTkLXcXt0g',#1,'Dxn9Zi','hz2TlZosh',(#316,#317)); +#316=IFCPROPERTYSINGLEVALUE('EahCtm','7p3N9WW',IFCLABEL(' '),$); +#317=IFCPROPERTYSINGLEVALUE('6RcCeRC','aS9ay8KWBC',IFCLABEL(' '),$); +#318=IFCRELDEFINESBYPROPERTIES('1vXYk06ef32AoOphVq8UYy',#1,'vfr6KPlPI','5XKOHH5uR',(#289),#315); +#319=IFCPROPERTYSET('3nw78_1Vz0_uwGugr5jI$i',#1,'8aBNtKg','rN2Jknt2Y',(#320,#321)); +#320=IFCPROPERTYSINGLEVALUE('LvGGgUeJq','usZbXos',IFCBOOLEAN(.F.),$); +#321=IFCPROPERTYSINGLEVALUE('SvFGGeksxH','bb5HBHE',IFCLENGTHMEASURE(0.),$); +#322=IFCRELDEFINESBYPROPERTIES('3QHBz_9a1AWwvQ8ZuzdBDr',#1,'pUEwi22jj','BIZyPnhQyk',(#289),#319); +#323=IFCPROPERTYSET('2MY3QM$f50$f82wgZ79HkI',#1,'tu8JG4fD','PP4Hsglg',(#324,#325,#326,#327)); +#324=IFCPROPERTYSINGLEVALUE('ZVKDW8OZ3','G9tS1J',IFCLABEL('d'),$); +#325=IFCPROPERTYSINGLEVALUE('0rs76XWcKc','tR0Fp5p',IFCLENGTHMEASURE(10.7225355285026),$); +#326=IFCPROPERTYSINGLEVALUE('kBLhuwY','d3dl7Rc',IFCLENGTHMEASURE(3.2),$); +#327=IFCPROPERTYSINGLEVALUE('zDKenVClz','mts9Md97E',IFCLENGTHMEASURE(0.),$); +#328=IFCRELDEFINESBYPROPERTIES('3DtGHjgDPFp9rAVvRvWuKr',#1,'7JR7M9N3x','8LO1ZmZS',(#289),#323); +#329=IFCPROPERTYSET('0ZiL4Cotb6rBVVb8QCqzt4',#1,'tsotsL8e','kFULA2',(#326,#327,#330)); +#330=IFCPROPERTYSINGLEVALUE('mebSkFVGrI','z5GW7PdIer',IFCPLANEANGLEMEASURE(2.72620932831378),$); +#331=IFCRELDEFINESBYPROPERTIES('3OSCuynO9AFPydt3M2$r_z',#1,'8DC7Sz57','JZZzua',(#289),#329); +#332=IFCPROPERTYSET('1vWU$en45Fmf_8gKX4LiaW',#1,'20oN2bAg','IsIV8rwN',(#326,#327,#333)); +#333=IFCPROPERTYSINGLEVALUE('lmUFhgsNjV','E0Bj1x',IFCPLANEANGLEMEASURE(182.726209328314),$); +#334=IFCRELDEFINESBYPROPERTIES('1rrLckkcj9f92581aSc$aC',#1,'7cSRmHlccS','7B36Mj',(#289),#332); +#335=IFCPROPERTYSET('3mc4WQNpj6NRNiRpgbDDD7',#1,'22H0yAcIc','unqzNjMsc',(#336,#337,#338,#339,#340)); +#336=IFCPROPERTYSINGLEVALUE('jEvlXN','548idR',IFCLABEL('f'),$); +#337=IFCPROPERTYSINGLEVALUE('ihZoDxz','ThjLvohKH',IFCLENGTHMEASURE(0.),$); +#338=IFCPROPERTYSINGLEVALUE('zlCmR8X','GOqos68',IFCLENGTHMEASURE(0.),$); +#339=IFCPROPERTYSINGLEVALUE('8gKeUMyHz','n5mELohQ',IFCLENGTHMEASURE(0.),$); +#340=IFCPROPERTYSINGLEVALUE('Ja5ifE','zKb8m6onfm',IFCLABEL(''),$); +#341=IFCRELDEFINESBYPROPERTIES('1rP7KLfWT58uljAXXkFE4J',#1,'XzFFNyN','UJkmL19y',(#289),#335); +#342=IFCPROPERTYSET('27xUn1HTD7HBVe5UlYeVwQ',#1,'0Nr2UowCYP','rh1MFoB',(#343,#337,#338,#339,#340)); +#343=IFCPROPERTYSINGLEVALUE('s4dV3zHd','qSZNGTwr',IFCLABEL('Piano Terra (Piano Terra 1047)'),$); +#344=IFCRELDEFINESBYPROPERTIES('2b0jgBXinF4AS86I6eKLEF',#1,'V15UhZbA','7Vr2ib9L',(#289),#342); +#345=IFCPROPERTYSET('3miMirrMX6zRVKUifRcH48',#1,'UcqfUv','XhhbMBxxi4',(#346,#347,#348,#349,#350,#351,#352,#353,#354)); +#346=IFCPROPERTYSINGLEVALUE('BpmNiIwX','ZHqhR4',IFCLENGTHMEASURE(10.72),$); +#347=IFCPROPERTYSINGLEVALUE('3gEsuE5','U1gc72',IFCLENGTHMEASURE(10.72),$); +#348=IFCPROPERTYSINGLEVALUE('8U34sJ8X4N','Okk3exGmRC',IFCLENGTHMEASURE(3.2),$); +#349=IFCPROPERTYSINGLEVALUE('wrWrSzHGCA','Hmwpbwfo',IFCLENGTHMEASURE(3.2),$); +#350=IFCPROPERTYSINGLEVALUE('gS6URL','pGWljTdO',IFCAREAMEASURE(3.22),$); +#351=IFCPROPERTYSINGLEVALUE('24FkGQ','pWMAu8',IFCAREAMEASURE(3.22),$); +#352=IFCPROPERTYSINGLEVALUE('3lxswVkA4A','lTWx94',IFCAREAMEASURE(3.22),$); +#353=IFCPROPERTYSINGLEVALUE('sEymMZL2N','7ky2sjC1',IFCAREAMEASURE(34.3),$); +#354=IFCPROPERTYSINGLEVALUE('aIrsLw','DWG2NKmpt',IFCVOLUMEMEASURE(10.29),$); +#355=IFCRELDEFINESBYPROPERTIES('2PvvwOoRHELOWFohWLNcA_',#1,'pDfBusHVm','VT7F9Qf',(#289),#345); +#356=IFCPROPERTYSET('3joAd6T5bDVvrvp8Mc47hp',#1,'lsGwk4RtW','gnjJrBODT',(#357,#358,#359)); +#357=IFCPROPERTYSINGLEVALUE('Ocrpe47B','oh8AsbASn',IFCLABEL('asd'),$); +#358=IFCPROPERTYSINGLEVALUE('E3vfKN','ejzDtqMeM',IFCLABEL('asd'),$); +#359=IFCPROPERTYSINGLEVALUE('2FuVTU6x','RlxYsZN3r',IFCLABEL('ad'),$); +#360=IFCRELDEFINESBYPROPERTIES('1qn08GStb5KB3J7ZVMVEOC',#1,'OxAv7A0','MctkkPvWX',(#289),#356); +#361=IFCMATERIALLAYERSETUSAGE(#362,.AXIS2.,.POSITIVE.,-1.5E-1,$); +#362=IFCMATERIALLAYERSET((#363,#364,#365),'lkjdks','0c2ZvLJ'); +#363=IFCMATERIALLAYER(#24,1.5E-2,$,'x0nqmHorJr','JAxcbIed1F',$,$); +#364=IFCMATERIALLAYER(#34,2.7E-1,$,'qiEVUf','UJx1K11F',$,$); +#365=IFCMATERIALLAYER(#24,1.5E-2,$,'yv2ZKfW','ExAs2o5YW',$,$); +#366=IFCRELASSOCIATESMATERIAL('3iN9XBntr8Qfq_n6B76$A1',#1,'vqyNuDUGr','l5KtkYl',(#289),#361); +#367=IFCLOCALPLACEMENT(#285,#371); +#368=IFCCARTESIANPOINT((-9.3625,4.4991,0.)); +#369=IFCDIRECTION((0.,0.,1.)); +#370=IFCDIRECTION((9.98868222122434E-1,4.75633770244243E-2,0.)); +#371=IFCAXIS2PLACEMENT3D(#368,#369,#370); +#372=IFCPRODUCTDEFINITIONSHAPE('5ByCDLi','LIgVK5',(#384,#391,#399,#407,#412)); +#373=IFCEXTRUDEDAREASOLID(#375,#382,#383,3.2); +#374=IFCSTYLEDITEM(#373,(#49),'bUZt7Q0'); +#375=IFCRECTANGLEPROFILEDEF(.AREA.,$,#378,3.E-1,10.7225355285026); +#376=IFCCARTESIANPOINT((0.,0.)); +#377=IFCDIRECTION((1.,0.)); +#378=IFCAXIS2PLACEMENT2D(#376,#377); +#379=IFCCARTESIANPOINT((5.36126776425129,2.39808173319034E-14,0.)); +#380=IFCDIRECTION((0.,0.,1.)); +#381=IFCDIRECTION((0.,-1.,0.)); +#382=IFCAXIS2PLACEMENT3D(#379,#380,#381); +#383=IFCDIRECTION((0.,0.,1.)); +#384=IFCSHAPEREPRESENTATION(#23,'Body','SweptSolid',(#373)); +#385=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',3,1.E-4,#386,#387); +#386=IFCAXIS2PLACEMENT3D(#21,$,$); +#387=IFCDIRECTION((0.,1.)); +#388=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Plan',*,*,*,*,#385,$,.PLAN_VIEW.,$); +#389=IFCBOUNDINGBOX(#390,10.7225355285026,3.00000000000048E-1,3.20000004768372); +#390=IFCCARTESIANPOINT((0.,-1.49999999999999E-1,0.)); +#391=IFCSHAPEREPRESENTATION(#388,'Box','BoundingBox',(#389)); +#392=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#393=IFCGEOMETRICCURVESET((#394)); +#394=IFCPOLYLINE((#395,#396,#397,#398,#395)); +#395=IFCCARTESIANPOINT((0.,0.)); +#396=IFCCARTESIANPOINT((10.7225355285026,0.)); +#397=IFCCARTESIANPOINT((10.7225355285026,3.2)); +#398=IFCCARTESIANPOINT((0.,3.2)); +#399=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#393)); +#400=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#401=IFCGEOMETRICCURVESET((#402)); +#402=IFCPOLYLINE((#403,#404,#405,#406,#403)); +#403=IFCCARTESIANPOINT((-1.77635683940025E-15,-1.49999999999999E-1)); +#404=IFCCARTESIANPOINT((10.7225355285026,-1.49999999999953E-1)); +#405=IFCCARTESIANPOINT((10.7225355285026,1.50000000000047E-1)); +#406=IFCCARTESIANPOINT((-1.77635683940025E-15,1.5E-1)); +#407=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#401)); +#408=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#19,$,.MODEL_VIEW.,$); +#409=IFCPOLYLINE((#410,#411)); +#410=IFCCARTESIANPOINT((0.,0.)); +#411=IFCCARTESIANPOINT((10.7225355285026,4.70734562441066E-14)); +#412=IFCSHAPEREPRESENTATION(#408,'Axis','Curve2D',(#409)); +#413=IFCOPENINGELEMENT('3ZgTSy8sz2uOdIyEjwC_KP',#1,'gGAJ3l1SU','q0i84RUmhE','Opening',#422,#427,$,$); +#414=IFCPROPERTYSET('17jgTZrN5CYArWye8FkxX5',#1,'q2DWE8R','nxsjthUjLD',(#415,#416,#417,#418)); +#415=IFCPROPERTYSINGLEVALUE('TresXAu5qQ','q6oUMQ',IFCINTEGER(4294967294),$); +#416=IFCPROPERTYSINGLEVALUE('1KevFOzoR','IQcSrBxg',IFCINTEGER(2002),$); +#417=IFCPROPERTYSINGLEVALUE('attreZ40','xg13dD5',IFCINTEGER(2002),$); +#418=IFCPROPERTYSINGLEVALUE('yXhuc1oili','Wq9bpb85',IFCINTEGER(0),$); +#419=IFCRELDEFINESBYPROPERTIES('0V5Wu2s8b1whWI8yvoWy_K',#1,'nbzTAFPF','X4fLaJ8sNr',(#413),#414); +#420=IFCPROPERTYSET('2QoslLBzrBoxnoK3wE4Eew',#1,'cKKwbeNNv','HVSusyhp',(#297,#298)); +#421=IFCRELDEFINESBYPROPERTIES('25wYgxVn9Bhgf9vdcEsPkB',#1,'wZm50XYdtN','c112Cq6Dr',(#413),#420); +#422=IFCLOCALPLACEMENT(#367,#426); +#423=IFCCARTESIANPOINT((4.11371922759627,1.86517468137026E-14,0.)); +#424=IFCDIRECTION((0.,0.,1.)); +#425=IFCDIRECTION((-1.,-4.35762537165374E-15,0.)); +#426=IFCAXIS2PLACEMENT3D(#423,#424,#425); +#427=IFCPRODUCTDEFINITIONSHAPE('Yw3EMxN','Ct7fhij',(#440,#447,#454)); +#428=IFCEXTRUDEDAREASOLID(#429,#438,#439,5.E-1); +#429=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#430); +#430=IFCPOLYLINE((#431,#432,#433,#434,#431)); +#431=IFCCARTESIANPOINT((0.,1.5)); +#432=IFCCARTESIANPOINT((0.,0.)); +#433=IFCCARTESIANPOINT((1.4,0.)); +#434=IFCCARTESIANPOINT((1.4,1.5)); +#435=IFCCARTESIANPOINT((0.,-2.5E-1,0.)); +#436=IFCDIRECTION((0.,1.,-0.)); +#437=IFCDIRECTION((-1.,0.,0.)); +#438=IFCAXIS2PLACEMENT3D(#435,#436,#437); +#439=IFCDIRECTION((0.,0.,1.)); +#440=IFCSHAPEREPRESENTATION(#23,'Body','SweptSolid',(#428)); +#441=IFCGEOMETRICCURVESET((#442)); +#442=IFCPOLYLINE((#443,#444,#445,#446,#443)); +#443=IFCCARTESIANPOINT((8.88178419700125E-16,8.88178419700125E-16,1.5)); +#444=IFCCARTESIANPOINT((8.88178419700125E-16,8.88178419700125E-16,0.)); +#445=IFCCARTESIANPOINT((-1.4,8.88178419700125E-16,0.)); +#446=IFCCARTESIANPOINT((-1.4,8.88178419700125E-16,1.5)); +#447=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#441)); +#448=IFCGEOMETRICCURVESET((#449)); +#449=IFCPOLYLINE((#450,#451,#452,#453,#450)); +#450=IFCCARTESIANPOINT((-1.4,-1.49999999999999E-1)); +#451=IFCCARTESIANPOINT((0.,-1.49999999999999E-1)); +#452=IFCCARTESIANPOINT((1.77635683940025E-15,1.5E-1)); +#453=IFCCARTESIANPOINT((-1.4,1.50000000000001E-1)); +#454=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#448)); +#455=IFCWINDOW('0qQpKzfkjEPBhVR0ivyCfU',#1,'wHFJvF','PDARSt',$,#631,#636,$,1.5,1.4,$,$,$); +#456=IFCPROPERTYSET('0FEeYWLnn1tu5xWtGwXXOx',#1,'yZhwgHzNte','ItBuA6',(#457,#458,#459,#294)); +#457=IFCPROPERTYSINGLEVALUE('Kvl2i3','YQEZjcVtrg',IFCINTEGER(2350),$); +#458=IFCPROPERTYSINGLEVALUE('v57oN4oHf','uMSI0U',IFCINTEGER(101),$); +#459=IFCPROPERTYSINGLEVALUE('LK7imGUtmV','TDNccW',IFCINTEGER(9004),$); +#460=IFCRELDEFINESBYPROPERTIES('3EHvmiULrDYwTWknLcAldv',#1,'emiXIM','nOpCvHO4',(#455),#456); +#461=IFCPROPERTYSET('2pHz5OFB5FSvSpXf$CI$ft',#1,'FKBAex','W8FGEi2d',(#297,#298)); +#462=IFCRELDEFINESBYPROPERTIES('3aRmkWJtrFi9aOxBSbHieK',#1,'P81ytlS','CiTeQU',(#455),#461); +#463=IFCPROPERTYSET('2TrrUKSmX2NOgu5DBGLbQs',#1,'bg2AKHiEx','gAeM13Io',(#464)); +#464=IFCPROPERTYSINGLEVALUE('9MJawg93','cQ23Fslv',IFCLABEL('338D45yJP6EQHiss4ZzJDE'),$); +#465=IFCRELDEFINESBYPROPERTIES('3zSi6gb8139gHEucS0qVsH',#1,'PglRyHm','QDCDke',(#455),#463); +#466=IFCPROPERTYSET('22spgmYcD8EQ_rDlYOBu4z',#1,'mfrwKiQoBn','Jlud9VTWaH',(#467,#308,#309,#310,#468,#469,#470)); +#467=IFCPROPERTYSINGLEVALUE('mw0leRARu','kK4QNhMc',IFCINTEGER(2350),$); +#468=IFCPROPERTYSINGLEVALUE('2lb53cZk','T0sRfHFx3',IFCLABEL('FN[R] 2AB[1V] MM'),$); +#469=IFCPROPERTYSINGLEVALUE('29GMlc936','LDpYm2u',IFCLABEL(' '),$); +#470=IFCPROPERTYSINGLEVALUE('wMm0gQ2Ocx','fJilNrr',IFCLABEL(' '),$); +#471=IFCRELDEFINESBYPROPERTIES('2qOoFZUdjBTfHbxHSm4omM',#1,'Gi6Dj5h8','oKn7kKpUqg',(#455),#466); +#472=IFCPROPERTYSET('0BeWw41Wn0WO_WhTdDwH$b',#1,'K3rY1iZTeL','tPF9kXt5fN',(#316,#317)); +#473=IFCRELDEFINESBYPROPERTIES('0fJyfDKn95FRwRHSwXLAXY',#1,'FLogPym9z','MpjZKeY',(#455),#472); +#474=IFCPROPERTYSET('0MtRxstlr1QeKz_F_XljqU',#1,'hwqFJ9K1h','1oPd7k2w',(#475,#476,#477)); +#475=IFCPROPERTYSINGLEVALUE('19R05KKrmi','KL8WHWVE',IFCLENGTHMEASURE(0.),$); +#476=IFCPROPERTYSINGLEVALUE('h6I6yfnM','gfFtN7F8',IFCLABEL('...'),$); +#477=IFCPROPERTYSINGLEVALUE('8IcD4mxDH4','VGmaqhBh',IFCLENGTHMEASURE(0.),$); +#478=IFCRELDEFINESBYPROPERTIES('2DA3PP3MD2Gemq1jMdBpbe',#1,'Wa0f2Hplo','MuBzKlfrj',(#455),#474); +#479=IFCPROPERTYSET('3f$Vk1m$v1TuwnYT1K52im',#1,'P4qGgV','CSTg3AMY',(#480,#481,#482,#483,#484,#485,#486,#487,#488,#489,#490,#491,#492)); +#480=IFCPROPERTYSINGLEVALUE('hx2IQRr8','LbYRdAbX',IFCBOOLEAN(.F.),$); +#481=IFCPROPERTYSINGLEVALUE('XxGMq4AfC','3uXnviZ',IFCBOOLEAN(.F.),$); +#482=IFCPROPERTYSINGLEVALUE('zMdGguFE','8Y2GWlw',IFCBOOLEAN(.F.),$); +#483=IFCPROPERTYSINGLEVALUE('IA95PT','yoDEUeqYM',IFCLENGTHMEASURE(0.),$); +#484=IFCPROPERTYSINGLEVALUE('tGoGDqxHWa','u0HvZrwoY',IFCLENGTHMEASURE(0.),$); +#485=IFCPROPERTYSINGLEVALUE('vm5QOwEYZ','q60iGw',IFCLENGTHMEASURE(0.),$); +#486=IFCPROPERTYSINGLEVALUE('DqYVFXDpj2','sSD5afjDQu',IFCLENGTHMEASURE(0.),$); +#487=IFCPROPERTYSINGLEVALUE('xZIAO3rB','IhVpjNC',IFCLENGTHMEASURE(0.),$); +#488=IFCPROPERTYSINGLEVALUE('EmEfBaj','JUac7MPjB2',IFCLENGTHMEASURE(0.),$); +#489=IFCPROPERTYSINGLEVALUE('IZnaZY6','vfMLHls',IFCLENGTHMEASURE(0.),$); +#490=IFCPROPERTYSINGLEVALUE('LaBHe8Hc','dqfn8f',IFCLENGTHMEASURE(0.),$); +#491=IFCPROPERTYSINGLEVALUE('nBLGn9L','9rupuiy9',IFCLENGTHMEASURE(0.),$); +#492=IFCPROPERTYSINGLEVALUE('bbbHK6vi','1nagSW',IFCTEXT(' '),$); +#493=IFCRELDEFINESBYPROPERTIES('0cjsuWdXDFZPzi1fnQznio',#1,'ruZNu8','JJs1vxSa',(#455),#479); +#494=IFCPROPERTYSET('1wc4p7X5DEQhac4WdouKse',#1,'xaCa2SJ','ZNcWNs1OfC',(#495,#496,#497,#498,#499,#500,#501,#502)); +#495=IFCPROPERTYSINGLEVALUE('tFfpzDiig','SIdu2vCQ0T',IFCTEXT('Nessuna'),$); +#496=IFCPROPERTYSINGLEVALUE('XBYI4Nz7','P99Xb4kQv1',IFCLENGTHMEASURE(0.),$); +#497=IFCPROPERTYSINGLEVALUE('vMPA7yc','YF96NtGV3',IFCLENGTHMEASURE(0.),$); +#498=IFCPROPERTYSINGLEVALUE('DBlQJfwae','XNBkwZW',IFCLENGTHMEASURE(0.),$); +#499=IFCPROPERTYSINGLEVALUE('iXYvNx','R1Cdahn',IFCLENGTHMEASURE(0.),$); +#500=IFCPROPERTYSINGLEVALUE('q2vjDsoTpn','7xYoBi',IFCLENGTHMEASURE(0.),$); +#501=IFCPROPERTYSINGLEVALUE('aR2QE7S6M','HFF2ktWX',IFCLENGTHMEASURE(0.),$); +#502=IFCPROPERTYSINGLEVALUE('Xl09s0','ETCde2x8T',IFCLENGTHMEASURE(0.),$); +#503=IFCRELDEFINESBYPROPERTIES('0lWV8$8Xr9gg7TN6orEwfV',#1,'ejbCBpDli4','0fSxnV',(#455),#494); +#504=IFCPROPERTYSET('1O492aJ4jF0AEZVHsS73VU',#1,'x83fUlb','A9Uxxw',(#505,#506,#507,#508,#509,#510,#511,#512,#513)); +#505=IFCPROPERTYSINGLEVALUE('xgnB4Xz1','GB01TE6O',IFCLABEL('Nessuna'),$); +#506=IFCPROPERTYSINGLEVALUE('NNS6Gtu5r','hMmi0B',IFCLENGTHMEASURE(0.),$); +#507=IFCPROPERTYSINGLEVALUE('0BsIr0Pn','dLpsPw',IFCLENGTHMEASURE(0.),$); +#508=IFCPROPERTYSINGLEVALUE('n7nPCvx','QvMaZSY8',IFCLENGTHMEASURE(0.),$); +#509=IFCPROPERTYSINGLEVALUE('MrWy4T','p22FCf2',IFCLENGTHMEASURE(0.),$); +#510=IFCPROPERTYSINGLEVALUE('oZP2FZ8Ko','vGaogr',IFCLENGTHMEASURE(0.),$); +#511=IFCPROPERTYSINGLEVALUE('5gpJDaGzh8','rVRnNNgv',IFCLENGTHMEASURE(0.),$); +#512=IFCPROPERTYSINGLEVALUE('5zDqJVL92l','SYm6N2',IFCLENGTHMEASURE(0.),$); +#513=IFCPROPERTYSINGLEVALUE('h8Aiko978o','Md3wUQCT',IFCLENGTHMEASURE(0.),$); +#514=IFCRELDEFINESBYPROPERTIES('05zHPA7z52tgYXpZunhEJM',#1,'CCCxMu6c','bMVseBd3eo',(#455),#504); +#515=IFCPROPERTYSET('1W6AfK9_X7EB56sl5jkCLj',#1,'qYdmBDzBb','lg6WfWq',(#516)); +#516=IFCPROPERTYSINGLEVALUE('m4dEew','oH1LqF4',IFCLABEL('Nessuna'),$); +#517=IFCRELDEFINESBYPROPERTIES('0f2o9_Tdn6gwsuL5hr_kBU',#1,'vjqTFiYmJQ','QFG5XsTami',(#455),#515); +#518=IFCPROPERTYSET('0n3n48U917$BN9Ch2CaxXX',#1,'VxnloDaX','XvivwyOGd',(#519,#520,#521,#522,#523)); +#519=IFCPROPERTYSINGLEVALUE('Ykk3Fl1X','3VUqTK7MaX',IFCLABEL(' '),$); +#520=IFCPROPERTYSINGLEVALUE('SKW4WMNe','SSe072UYb',IFCLABEL('0'),$); +#521=IFCPROPERTYSINGLEVALUE('9pF76JBpX','hfPZPCItR6',IFCPLANEANGLEMEASURE(0.),$); +#522=IFCPROPERTYSINGLEVALUE('vtqYupnJ','8f6kTFz6',IFCBOOLEAN(.F.),$); +#523=IFCPROPERTYSINGLEVALUE('QindDFDn','n3p67To',IFCBOOLEAN(.F.),$); +#524=IFCRELDEFINESBYPROPERTIES('37mBqR8Vz4e8dkdUtG1sqR',#1,'zRvW3QOVZw','mDPEw1',(#455),#518); +#525=IFCPROPERTYSET('3TFg1lJ$zD_8PzBTfQMbxL',#1,'F0S15o','KtZuIirN',(#526,#527,#528,#529,#530)); +#526=IFCPROPERTYSINGLEVALUE('4OzftT','92E2fg',IFCLABEL(' '),$); +#527=IFCPROPERTYSINGLEVALUE('hTQFz8qJu','P0QLc6nPe',IFCLABEL('0'),$); +#528=IFCPROPERTYSINGLEVALUE('9v1NyCyA1r','tZGK77pt',IFCPLANEANGLEMEASURE(0.),$); +#529=IFCPROPERTYSINGLEVALUE('RS1iVjz3xO','GROJEq3Ov',IFCBOOLEAN(.F.),$); +#530=IFCPROPERTYSINGLEVALUE('hmNptzx','mn9d0qZXJj',IFCBOOLEAN(.F.),$); +#531=IFCRELDEFINESBYPROPERTIES('38zombWMn2kBl9EtUKZUOP',#1,'rRs90vkJ3','qNMxonIm2G',(#455),#525); +#532=IFCPROPERTYSET('0LDSymLX523AilPRchCq_p',#1,'z04QMMDK1','ipsZPuLMl',(#533)); +#533=IFCPROPERTYSINGLEVALUE('OmiOcBoJ','ywTZGI',IFCLABEL('Nessuna'),$); +#534=IFCRELDEFINESBYPROPERTIES('3qgvUbQFX7VhczE8M7G9en',#1,'nm4PxddFNP','U9YwnSsi',(#455),#532); +#535=IFCPROPERTYSET('3b6LS$x9TEfPJIHm9r9a68',#1,'Gp6hfVZI','d5qq35',(#536,#537,#538,#539,#540)); +#536=IFCPROPERTYSINGLEVALUE('TEOdgCl','5oScALYMt',IFCLABEL(' '),$); +#537=IFCPROPERTYSINGLEVALUE('ToYdbRySxi','0jwzSF',IFCLABEL(' '),$); +#538=IFCPROPERTYSINGLEVALUE('brgekRzXk','Fl78ra1lYC',IFCPLANEANGLEMEASURE(0.),$); +#539=IFCPROPERTYSINGLEVALUE('71meagugU','aYuLMVeL',IFCBOOLEAN(.F.),$); +#540=IFCPROPERTYSINGLEVALUE('kSZP69oulZ','3manLWp',IFCLENGTHMEASURE(0.),$); +#541=IFCRELDEFINESBYPROPERTIES('3fm_Sk5x5A4PZj0ajfIcQ_',#1,'caY7BfJv2','SYfIpad',(#455),#535); +#542=IFCPROPERTYSET('0dp0_x3SL8xfqM2Cq0fAqT',#1,'htpeO5qt','HI1sWiAU',(#543,#544,#545,#546,#547)); +#543=IFCPROPERTYSINGLEVALUE('L1k2DYah','w4xzxX4K',IFCLABEL(' '),$); +#544=IFCPROPERTYSINGLEVALUE('4kwLQTf','EeFJr2Mu',IFCLABEL(' '),$); +#545=IFCPROPERTYSINGLEVALUE('KnsQ00U8oh','qi6oDfb',IFCPLANEANGLEMEASURE(0.),$); +#546=IFCPROPERTYSINGLEVALUE('YITtbtt','c23QmyK3A',IFCBOOLEAN(.F.),$); +#547=IFCPROPERTYSINGLEVALUE('yn4VXw','MR3O8P',IFCLENGTHMEASURE(0.),$); +#548=IFCRELDEFINESBYPROPERTIES('2VgX4PRGv4uwGlV3ksY53M',#1,'bH3ipDAZjo','Hba9tr5',(#455),#542); +#549=IFCPROPERTYSET('2LmlXmTbH7twk$MPpz721X',#1,'qfwjly','QfZY9KBvi',(#550,#551)); +#550=IFCPROPERTYSINGLEVALUE('XxdFrul','4WMVjiL8',IFCLABEL('Centre'),$); +#551=IFCPROPERTYSINGLEVALUE('l0YrFnnPME','tPGggjrlz',IFCLENGTHMEASURE(0.),$); +#552=IFCRELDEFINESBYPROPERTIES('2O1wcBJbz0UPTjiA2W3bJ3',#1,'pVjLYINe4S','I2YrnLD6q',(#455),#549); +#553=IFCPROPERTYSET('2KStx_i7L4oxCHRnLmdQjd',#1,'2Kgn9oL','qJrpMOS',(#554,#555)); +#554=IFCPROPERTYSINGLEVALUE('PltIeYn','uwm1oxi',IFCLABEL(' '),$); +#555=IFCPROPERTYSINGLEVALUE('539ZyR','zmqye6Ee',IFCLENGTHMEASURE(0.),$); +#556=IFCRELDEFINESBYPROPERTIES('1YyOAvA3b76RcdwECkTPYI',#1,'OdjE5YZ','TAvPoZPzS',(#455),#553); +#557=IFCPROPERTYSET('2uf1dEkiLALhxObxAi0pCp',#1,'7sbPMfchu','Ity7WksJ',(#558,#559,#560,#561,#562,#563,#564,#565,#566,#567)); +#558=IFCPROPERTYSINGLEVALUE('4ig6NWlREj','GphQBtH8',IFCINTEGER(0),$); +#559=IFCPROPERTYSINGLEVALUE('wwZUgY','PVzivzpVV7',IFCBOOLEAN(.F.),$); +#560=IFCPROPERTYSINGLEVALUE('otf8mqBLIf','gegKg8IRg',IFCBOOLEAN(.F.),$); +#561=IFCPROPERTYSINGLEVALUE('lO8YoAORoS','3ZKhc8hg',IFCLENGTHMEASURE(1.4),$); +#562=IFCPROPERTYSINGLEVALUE('h6NIJwkMYU','NmspH9L5',IFCLENGTHMEASURE(1.5),$); +#563=IFCPROPERTYSINGLEVALUE('Hk7Z3BV','G6stAye',IFCLENGTHMEASURE(0.),$); +#564=IFCPROPERTYSINGLEVALUE('0fSDcj','2uL5LXKZys',IFCLENGTHMEASURE(0.),$); +#565=IFCPROPERTYSINGLEVALUE('yKxlHvi','SppfkNBGjs',IFCLENGTHMEASURE(0.),$); +#566=IFCPROPERTYSINGLEVALUE('qny8kzP','yAD1cPSAq',IFCLENGTHMEASURE(0.),$); +#567=IFCPROPERTYSINGLEVALUE('mNdDnmC','hWAJnQI',IFCLENGTHMEASURE(0.),$); +#568=IFCRELDEFINESBYPROPERTIES('0xiOBb8nTAzxQ03cN2KfVZ',#1,'vUYcam6S','qq2ESTV',(#455),#557); +#569=IFCPROPERTYSET('3YYiT1UMH0G982uyhUoy6o',#1,'zQHEeV','v3aAiH',(#570,#571,#572,#573,#574,#575,#576,#577)); +#570=IFCPROPERTYSINGLEVALUE('1IfTWgm1Ig','Vt8kedoW',IFCLABEL(' '),$); +#571=IFCPROPERTYSINGLEVALUE('hFPiuz','CIxl9lT3a9',IFCLENGTHMEASURE(0.),$); +#572=IFCPROPERTYSINGLEVALUE('JcKlex2li','YCzfY9MgEt',IFCLENGTHMEASURE(0.),$); +#573=IFCPROPERTYSINGLEVALUE('YDbJatz','awAfAN',IFCLENGTHMEASURE(0.),$); +#574=IFCPROPERTYSINGLEVALUE('cQQLWg0S4c','yU4J6V8',IFCLENGTHMEASURE(0.),$); +#575=IFCPROPERTYSINGLEVALUE('Ojim8Pw','pjHP0d',IFCINTEGER(0),$); +#576=IFCPROPERTYSINGLEVALUE('F232k8e','WueDVD',IFCINTEGER(0),$); +#577=IFCPROPERTYSINGLEVALUE('eT8VqmkCiu','6b52Ux',IFCINTEGER(0),$); +#578=IFCRELDEFINESBYPROPERTIES('1Gr5ipuIbEVg3uqVGLSHyf',#1,'l6GDSNx','z7R9Z5tVW',(#455),#569); +#579=IFCPROPERTYSET('3wubA3tDr87AygLjwptVXj',#1,'Sw4nID9C','UmR5na',(#343,#337,#340)); +#580=IFCRELDEFINESBYPROPERTIES('250zcG_C1F9xU8lo2v4GhM',#1,'YcQ3Al','UwZXd5ofw',(#455),#579); +#581=IFCPROPERTYSET('1gj03GGdPDOeYgsC0W9SCQ',#1,'2J0j4uK19D','ypRxxsl',(#582,#583,#584,#585,#586,#587,#588,#589,#590,#591,#592,#593,#594,#595)); +#582=IFCPROPERTYSINGLEVALUE('rYIeZW0Zy8','LqShzW',IFCAREAMEASURE(2.1),$); +#583=IFCPROPERTYSINGLEVALUE('ytEAwimb5','BxHbOLxLJ',IFCAREAMEASURE(1.29),$); +#584=IFCPROPERTYSINGLEVALUE('Z90VhcfWeN','UTdJflXJ',IFCAREAMEASURE(8.1E-1),$); +#585=IFCPROPERTYSINGLEVALUE('onu8rn','JTBpi0aP',IFCAREAMEASURE(0.),$); +#586=IFCPROPERTYSINGLEVALUE('ONwsH1ycaP','1OWzNFZ',IFCAREAMEASURE(0.),$); +#587=IFCPROPERTYSINGLEVALUE('DL7INaW','KSuz2mQhC',IFCAREAMEASURE(0.),$); +#588=IFCPROPERTYSINGLEVALUE('9q6sP9','Ov6gu6JTGJ',IFCAREAMEASURE(2.1),$); +#589=IFCPROPERTYSINGLEVALUE('JEeuVS','Idn32U',IFCAREAMEASURE(0.),$); +#590=IFCPROPERTYSINGLEVALUE('WLZ5YB','ofWuxCbg',IFCAREAMEASURE(0.),$); +#591=IFCPROPERTYSINGLEVALUE('l50bktGui1','zjTGW1k',IFCAREAMEASURE(0.),$); +#592=IFCPROPERTYSINGLEVALUE('gMQrQC','vNHjGPVj8v',IFCVOLUMEMEASURE(0.),$); +#593=IFCPROPERTYSINGLEVALUE('DBofdF','ojZmFGyYO',IFCVOLUMEMEASURE(0.),$); +#594=IFCPROPERTYSINGLEVALUE('RAejYoJpP','IhY7SP1i',IFCAREAMEASURE(0.),$); +#595=IFCPROPERTYSINGLEVALUE('qG1tCvw02N','DBM7ww',IFCVOLUMEMEASURE(0.),$); +#596=IFCRELDEFINESBYPROPERTIES('0N6_wuQ6b9TBLauTqyx5OA',#1,'pveMJY4OsC','o2toDY',(#455),#581); +#597=IFCPROPERTYSET('0tCQwiQgb16REhgBkIGKAn',#1,'asWqmJECF','YBW0RVo',(#598,#599,#600,#601,#602,#603,#604,#605)); +#598=IFCPROPERTYSINGLEVALUE('JBgrhzQl','iKqNcuMaI0',IFCLABEL(' '),$); +#599=IFCPROPERTYSINGLEVALUE('9tkglCAJNN','p7WAW1S',IFCLABEL(' '),$); +#600=IFCPROPERTYSINGLEVALUE('zmWVgP','g7OnIU',IFCLABEL(' '),$); +#601=IFCPROPERTYSINGLEVALUE('VbbEsb','3eL6yia',IFCLABEL(' '),$); +#602=IFCPROPERTYSINGLEVALUE('AxZk5RhNPy','aV16JA',IFCLABEL(' '),$); +#603=IFCPROPERTYSINGLEVALUE('wkMot6','irzlJOi',IFCLABEL(' '),$); +#604=IFCPROPERTYSINGLEVALUE('BF7tQmJz9','KpaRtG',IFCLABEL(' '),$); +#605=IFCPROPERTYSINGLEVALUE('wyXhQdugy','u8DsurLrhF',IFCLABEL(' '),$); +#606=IFCRELDEFINESBYPROPERTIES('3wDw1r54XF$RIDwWQDuhI7',#1,'VgafXZA','NBKiIk9',(#455),#597); +#607=IFCPROPERTYSET('2$mIk2KMH94RZmrgca6JPj',#1,'OHGwEl','vhLajRQ4',(#608,#609,#610,#611,#612,#613,#614,#615,#616,#617)); +#608=IFCPROPERTYSINGLEVALUE('y06N0Vu','wKEGlbf',IFCLABEL(' '),$); +#609=IFCPROPERTYSINGLEVALUE('zZDGZvteEH','cSVnSQ',IFCLABEL('l 01'),$); +#610=IFCPROPERTYSINGLEVALUE('Vy30OerS','iocChJ',IFCLABEL('l'),$); +#611=IFCPROPERTYSINGLEVALUE('Cm3Y6sb','F4jTSftWV',IFCLABEL(' '),$); +#612=IFCPROPERTYSINGLEVALUE('YuPAPjvnZM','9cJTCd',IFCLABEL(' '),$); +#613=IFCPROPERTYSINGLEVALUE('5XHvzoZSZL','UV4EPsL',IFCLABEL('Kefs'),$); +#614=IFCPROPERTYSINGLEVALUE('fJZMbS5X','DWJP2TRfv',IFCLABEL(' '),$); +#615=IFCPROPERTYSINGLEVALUE('j8IemWE','ghB6bV',IFCLABEL(' '),$); +#616=IFCPROPERTYSINGLEVALUE('zBb4RgJ','wGQDxrS',IFCLABEL(' '),$); +#617=IFCPROPERTYSINGLEVALUE('K6BLIsS','bWUYvbYq0',IFCLABEL(' '),$); +#618=IFCRELDEFINESBYPROPERTIES('1YFvhP8rX0ugF8V8s8c2jB',#1,'Wuj33NwX','ifAVIXbuDu',(#455),#607); +#619=IFCPROPERTYSET('0TakpIZB53qg5CfbdHey_8',#1,'WK4r4CE','qwYOHx',(#608,#620,#621,#611,#612,#622,#614,#615,#616,#617)); +#620=IFCPROPERTYSINGLEVALUE('dJQmYKj','Oeajw8YNh',IFCLABEL(' '),$); +#621=IFCPROPERTYSINGLEVALUE('b8wVftkW','ICxZCp',IFCLABEL(' '),$); +#622=IFCPROPERTYSINGLEVALUE('bAPu4P','gMjLgueWdS',IFCLABEL(' '),$); +#623=IFCRELDEFINESBYPROPERTIES('2MaKdVyxbD1v2xN8jAZI6p',#1,'qk3meSp1r','trvvNHv',(#455),#619); +#624=IFCPROPERTYSET('3TANh6Yqz5O9iEv3$3O0d9',#1,'Kvgtr6JTD','cEt8KlVn7',(#608,#620,#621,#611,#612,#622,#614,#615,#616,#617)); +#625=IFCRELDEFINESBYPROPERTIES('0MkKr2jmP3sx0vbdQ9SPEg',#1,'qttWtjj1O','oSdRysOKy',(#455),#624); +#626=IFCPROPERTYSET('0ouygoPJ95kQFthrguc1PE',#1,'0l4a6c','EqVHMmtt1',(#627)); +#627=IFCPROPERTYSINGLEVALUE('JO7Fr7Th','jvMs57Psmb',IFCCOUNTMEASURE(3.),$); +#628=IFCRELDEFINESBYPROPERTIES('0FpNREeMDC2QXDq7MqR943',#1,'utNf3pWPR','Ke5wNq9n',(#455),#626); +#629=IFCMATERIALLIST((#54,#64,#74)); +#630=IFCRELASSOCIATESMATERIAL('3l5bXoGp95veTm5X0d2RMr',#1,'J4BZkDlAlS','VPpYVKDYgz',(#455),#629); +#631=IFCLOCALPLACEMENT(#422,#635); +#632=IFCCARTESIANPOINT((-1.4,-3.99999999999983E-2,0.)); +#633=IFCDIRECTION((0.,0.,1.)); +#634=IFCDIRECTION((1.,0.,0.)); +#635=IFCAXIS2PLACEMENT3D(#632,#633,#634); +#636=IFCPRODUCTDEFINITIONSHAPE('9xz2FaS','7PHCX5L6N2',(#643,#646,#653,#660)); +#637=IFCMAPPEDITEM(#84,#638); +#638=IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#639,#640,#642,1.,#641,1.,1.); +#639=IFCDIRECTION((-1.,0.,0.)); +#640=IFCDIRECTION((0.,0.,1.)); +#641=IFCDIRECTION((0.,1.,0.)); +#642=IFCCARTESIANPOINT((7.E-1,3.99999999999991E-2,0.)); +#643=IFCSHAPEREPRESENTATION(#23,'Body','MappedRepresentation',(#637)); +#644=IFCBOUNDINGBOX(#645,1.4,3.00000000000001E-1,1.5); +#645=IFCCARTESIANPOINT((1.33226762955019E-15,-1.10000000000001E-1,0.)); +#646=IFCSHAPEREPRESENTATION(#388,'Box','BoundingBox',(#644)); +#647=IFCGEOMETRICCURVESET((#648)); +#648=IFCPOLYLINE((#649,#650,#651,#652,#649)); +#649=IFCCARTESIANPOINT((1.4,3.99999999999991E-2,1.5)); +#650=IFCCARTESIANPOINT((1.4,3.99999999999991E-2,0.)); +#651=IFCCARTESIANPOINT((2.66453525910038E-15,3.99999999999991E-2,0.)); +#652=IFCCARTESIANPOINT((2.66453525910038E-15,3.99999999999991E-2,1.5)); +#653=IFCSHAPEREPRESENTATION(#392,'Profile','GeometricCurveSet',(#647)); +#654=IFCGEOMETRICCURVESET((#655)); +#655=IFCPOLYLINE((#656,#657,#658,#659,#656)); +#656=IFCCARTESIANPOINT((1.33226762955019E-15,-1.10000000000001E-1)); +#657=IFCCARTESIANPOINT((1.4,-1.10000000000001E-1)); +#658=IFCCARTESIANPOINT((1.4,1.89999999999999E-1)); +#659=IFCCARTESIANPOINT((3.5527136788005E-15,1.9E-1)); +#660=IFCSHAPEREPRESENTATION(#400,'FootPrint','GeometricCurveSet',(#654)); +#661=IFCRELFILLSELEMENT('0CZVeMI9n8CeAe_Hu8CrQq',#1,'1Qxpixh','EBUnWb',#413,#455); +#662=IFCRELVOIDSELEMENT('0nDPLnFUn9Ne8PPebglkpN',#1,'8Qi1Bv','nDkZl8Hm',#289,#413); +#663=IFCRELCONTAINEDINSPATIALSTRUCTURE('3phbMhk6n5gQs8ekIPgJ6k',#1,'6FWKHjG','upTRn4s',(#289,#455),#281); +#664=IFCBUILDINGSTOREY('0QJSA0NpzBufFwTlz3Iy5_',#1,'zBBauFe2i','qD6PhSO49n',$,#668,$,$,.ELEMENT.,3.2); +#665=IFCPROPERTYSET('1xdMEpsZTCNxPsiSovxvng',#1,'adz0UkJ','09tHHA',(#666)); +#666=IFCPROPERTYSINGLEVALUE('gUyVFncIt','jBHevdgqH',IFCINTEGER(4),$); +#667=IFCRELDEFINESBYPROPERTIES('3LBwZRefDFDgghz8zbZVov',#1,'S2BTTwB9','hHgRT1Ue8',(#664),#665); +#668=IFCLOCALPLACEMENT(#259,#672); +#669=IFCCARTESIANPOINT((0.,0.,3.2)); +#670=IFCDIRECTION((0.,0.,1.)); +#671=IFCDIRECTION((1.,0.,0.)); +#672=IFCAXIS2PLACEMENT3D(#669,#670,#671); +#673=IFCRELAGGREGATES('3KK00pjr12A90PCoglhAXi',#1,'TVl6FDL','JAxRP2o',#258,(#263,#272,#281,#664)); +#674=IFCPOSTALADDRESS($,'8xJDSD',$,$,('OtaYko'),$,'ajhfff','qIxbJ3nFn','jgXIOmcY','8H2CuM'); +#675=IFCRELAGGREGATES('0hEBZpizT7IuA9eddndvFT',#1,'ingoAP9ODB','x1fGA2wNx4',#253,(#258)); +#676=IFCRELAGGREGATES('3OG1ApaM52WPqt1BnjA0YB',#1,'gZTYcL','EH2MRUM',#7,(#253)); +#677=IFCPRESENTATIONLAYERASSIGNMENT('L4ZHNsEut6','Nylsisny',(#373),$); +#678=IFCPRESENTATIONLAYERASSIGNMENT('PEqwLbRM','AYAK8Wk',(#647),$); +#679=IFCWINDOWTYPE('0noPcdJinBDwgoJxIi1TnQ',#1,'ggpDg1iH0','Y3S535',$,$,(#682),$,$,.NOTDEFINED.,.DOUBLE_PANEL_VERTICAL.,.T.,$); +#680=IFCRELDEFINESBYTYPE('2TY6cVTGb848xQ1EQsa0iD',#1,'gdwlhgnO','yHgbWZokpL',(#455),#679); +#681=IFCRELASSOCIATESMATERIAL('3_IxeGc$zEmR6SROarfHBn',#1,'bdFC8V','SziG36vBI',(#679),#629); +#682=IFCREPRESENTATIONMAP(#683,#684); +#683=IFCAXIS2PLACEMENT3D(#21,$,$); +#684=IFCSHAPEREPRESENTATION(#23,'Body','MappedRepresentation',(#637)); +#685=IFCWALLTYPE('3Era5tluX2v8cYG84KNRR4',#1,'VQISJwwUm','tcoIe8eF8',$,$,$,$,$,.NOTDEFINED.); +#686=IFCRELDEFINESBYTYPE('3BCYUELrH4qwMH0jMLPTYA',#1,'ua44ytICh','znXQXp0',(#289),#685); +#687=IFCRELASSOCIATESMATERIAL('1ffsVUv21An8DbhmkxDPv_',#1,'3qlZQDQvip','eCKATG5Yw',(#685),#362); +#688=IFCGROUP('1Eg539twrEAwqJB_DVv5Mr',#1,'4r0vNtV8ea','LjdktE',$); +#689=IFCGROUP('31wxPUExD3bQSEedESlR4J',#1,'xtGRWw','7cYiJyhnQp',$); +#690=IFCGROUP('0okQphQsL1UuzD8vPN60C3',#1,'WFO4j0vHLd','KPeurrKTWm',$); +#691=IFCGROUP('1U1qjkQYvANwXr8zx629j7',#1,'tBZSvpgq8L','H9CoGpwuY',$); +#692=IFCRELASSIGNSTOGROUP('2b_TEbRxXBfBwj9dNT0YkP',#1,'muUVu4c','DhKKtPUx3A',(#289),$,#688); +#693=IFCRELASSIGNSTOGROUP('1p4l43nXb6ReJ$I3j7RJgJ',#1,'Th5L1imLyZ','ooiZPztw',(#289),$,#689); +#694=IFCRELASSIGNSTOGROUP('0q_Zm0AUjF_RJdTi6SKztN',#1,'eGhqTMd','YLLBp2v',(#289),$,#690); +#695=IFCRELASSIGNSTOGROUP('2xOqroc4DBGB40Dn0qLNi2',#1,'fHsIGr0S','Wji7zqVWe7',(#289),$,#691); +#696=IFCRELDECLARES('2lFnbvJk97TR9osOVvfCWC',#1,'FmzTcj','vXjUzGSIfv',#7,(#688,#689,#690,#691)); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/mat000/na-mat000-no_material_ifc2x3.ifc b/test/files/mat000/na-mat000-no_material_ifc2x3.ifc index a0d74e75..5e86db0c 100644 --- a/test/files/mat000/na-mat000-no_material_ifc2x3.ifc +++ b/test/files/mat000/na-mat000-no_material_ifc2x3.ifc @@ -1,4 +1,4 @@ -nISO-10303-21; +ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2024-07-29T08:45:36',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); diff --git a/test/files/pjs003/fail-pjs003-IFC4_3_ADD2_GuidTests.ifc b/test/files/pjs003/fail-pjs003-IFC4_3_ADD2_GuidTests.ifc new file mode 100644 index 00000000..47b896c8 --- /dev/null +++ b/test/files/pjs003/fail-pjs003-IFC4_3_ADD2_GuidTests.ifc @@ -0,0 +1,38 @@ +ISO-10303-21; +HEADER; + +FILE_DESCRIPTION((''),'2;1'); +FILE_NAME('','2024-06-12T09:50:55',(''),(''),'LAB','GMN3DS',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; + +DATA; + +/* PROJECT CONTEXT */ +#1= IFCPROJECT('2eS$fZmw9QmetNIywDEzSR',#2,'ODT',$,$,$,$,(#10),#15); +#2= IFCOWNERHISTORY(#3,#6,$,.NOCHANGE.,$,$,$,152828); +#3= IFCPERSONANDORGANIZATION(#4,#5,$); +#4= IFCPERSON($,'','ALCHEMIST',$,$,$,$,$); +#5= IFCORGANIZATION($,'LAB',$,$,$); +#6= IFCAPPLICATION(#5,'2024','GREY','REVOLT'); + +#10= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-05,#11,$); +#11= IFCAXIS2PLACEMENT3D(#12,$,$); +#12= IFCCARTESIANPOINT((0.,0.,0.)); + +#15= IFCUNITASSIGNMENT((#16)); +#16= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); + + +/* SITES AGGREGATED TO PROJECT */ +#29=IFCRELAGGREGATES('2te7nJfPvJyvPEahDDrZW0',#2,'ProjectContainer',$,#1,(#29990,#30000,#30010,#30020,#30030,#30040)); +#31=IFCLOCALPLACEMENT($,#11); + + +#29990=IFCSITE('14oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withCorrectGuid',$,$,#31,$,$,.COMPLEX.,$,$,$,$,$); +#30010=IFCSITE('14oxcl5',#2,'SITE_withIncorrectGuid','Invalid Length',$,#31,$,$,.ELEMENT.,$,$,$,$,$); +#30020=IFCSITE('1-+=cl5LHMZQ6iCWJKpe5w',#2,'SITE_withIncorrectGuid','Invalid Characters',$,#31,$,$,.PARTIAL.,$,$,$,$,$); +#30030=IFCSITE('b4oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withIncorrectGuid','Invalid Starting Character',$,#31,$,$,.COMPLEX.,$,$,$,$,$); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/fail-pjs003-invalid_characters_ifcproject.ifc b/test/files/pjs003/fail-pjs003-invalid_characters_ifcproject.ifc new file mode 100644 index 00000000..4602feb1 --- /dev/null +++ b/test/files/pjs003/fail-pjs003-invalid_characters_ifcproject.ifc @@ -0,0 +1,190 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition [Ifc4X3NotAssigned]'), '2;1'); +FILE_NAME ('', '2021-05-31T10:35:59', (), (), 'redacted', $, $); +FILE_SCHEMA (('IFC4X3_ADD2')); +ENDSEC; + +DATA; +#1 = IFCOWNERHISTORY(#2, #6, $, .NOCHANGE., $, $, $, 1622457359); +#2 = IFCPERSONANDORGANIZATION(#3, #4, $); +#3 = IFCPERSON($, 'redacted', 'redacted', $, $, $, $, $); +#4 = IFCORGANIZATION($, 'redacted', $, $, $); +#5 = IFCORGANIZATION($, 'redacted', $, $, $); +#6 = IFCAPPLICATION(#5, 'redacted', 'redacted', 'redacted'); +#7 = IFCPROJECT('0A_yMRoU+BdB-FGHn1GH7s', #1, 'Test IFC Project', $, $, $, $, (#13), #8); +#8 = IFCUNITASSIGNMENT((#9, #10, #11, #12)); +#9 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#10 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#11 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#12 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#13 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.E-4, #14, #16); +#14 = IFCAXIS2PLACEMENT3D(#15, $, $); +#15 = IFCCARTESIANPOINT((0., 0., 0.)); +#16 = IFCDIRECTION((0., 1.)); +#17 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#18 = IFCARBITRARYCLOSEDPROFILEDEF(.AREA., 'Simple Profile', #19); +#19 = IFCINDEXEDPOLYCURVE(#20, (IFCLINEINDEX((1, 2)), IFCLINEINDEX((2, 3)), IFCLINEINDEX((3, 4)), IFCLINEINDEX((4, 1))), $); +#20 = IFCCARTESIANPOINTLIST2D(((-4., 0.), (-5., -1.), (5., -1.), (4., 0.)), $); +#24 = IFCSITE('35wH0d2VDFze34cZziHyWH', #1, 'Default Site', $, $, #25, $, $, .ELEMENT., (0, 0, 0), (0, 0, 0), 0., $, $); +#25 = IFCLOCALPLACEMENT($, #28); +#26 = IFCDIRECTION((0., 0., 1.)); +#27 = IFCDIRECTION((1., 0., 0.)); +#28 = IFCAXIS2PLACEMENT3D(#15, #26, #27); +#29 = IFCALIGNMENT('0qI6nq6055HgCBPMUsw303', #1, 'Test Alignment', $, $, #30, #104, $); +#30 = IFCLOCALPLACEMENT(#25, #33); +#31 = IFCDIRECTION((0., 0., 1.)); +#32 = IFCDIRECTION((1., 0., 0.)); +#33 = IFCAXIS2PLACEMENT3D(#15, #31, #32); +#20002 = IFCLOCALPLACEMENT(#30, #33); +#20000 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20001)); +#20001 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve2D', (#54)); +#34 = IFCALIGNMENTHORIZONTAL('2a51YNKc9CIA9mX6PHta0R', #1, $, $, $, #20002, #20000); +#35 = IFCALIGNMENTSEGMENT('2VLcO34uj1ThLg3tnDQSDu', #1, $, $, $, #1501, #1601, #36); +#36 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #37, 0., 0., 0., 400., $, .LINE.); +#37 = IFCCARTESIANPOINT((0., 0.)); +#38 = IFCALIGNMENTSEGMENT('23in7RdgnF5etPmWAUg6Un', #1, $, $, $, #1501, #1611, #39); +#39 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #40, 0., 0., -500.000000000002, 150., $, .CLOTHOID.); +#40 = IFCCARTESIANPOINT((400., 0.)); +#41 = IFCALIGNMENTSEGMENT('2f96e3LmrECxEoe22s5Xpd', #1, $, $, $, #1501, #1621, #42); +#42 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #43, 6.13318530717958, -500.000000000002, -500.000000000002, 400., $, .CIRCULARARC.); +#43 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#44 = IFCRELNESTS('3A9jueO1j2z8C76N1IFh7f', #1, 'Linear Element Nesting', $, #34, (#35, #38, #41, #1101)); +#20003 = IFCLOCALPLACEMENT(#30, #33); +#20010 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20011)); +#20011 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve3D', (#79)); +#45 = IFCALIGNMENTVERTICAL('3SOdKle3DEtuUG6EbrmQpy', #1, $, $, $, #20003, #20010); +#46 = IFCALIGNMENTSEGMENT('16nyAX_5956AZO3WakpmwA', #1, $, $, $, #2501, #2601, #47); +#47 = IFCALIGNMENTVERTICALSEGMENT($, $, 0., 449.999993741124, 150., -9.99999999995544E-4, -9.99999999995544E-4, $, .CONSTANTGRADIENT.); +#48 = IFCALIGNMENTSEGMENT('3Zuiuqd_1EPuTb4o9SuLse', #1, $, $, $, #2501, #2611, #49); +#49 = IFCALIGNMENTVERTICALSEGMENT($, $, 449.999993741124, 100.000006258876, 149.550000006261, -9.99999999995544E-4, 4.44444444449813E-4, 69230.7996321627, .CIRCULARARC.); +#50 = IFCALIGNMENTSEGMENT('1ZSIbG7kLDTxDPZKyT21HX', #1, $, $, $, #2501, #2621, #51); +#51 = IFCALIGNMENTVERTICALSEGMENT($, $, 550., 400., 149.522222225005, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); +#52 = IFCRELNESTS('0f0eGFsknBWxOW9inF_FLN', #1, 'Linear Element Nesting', $, #45, (#46, #48, #50, #2001)); +#53 = IFCRELNESTS('0Ejb6tfov7UebksdwCEIZR', #1, 'Alignment Nesting', $, #29, (#34, #45)); +#54 = IFCCOMPOSITECURVE((#55, #63, #71, #1201), .U.); +#55 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #58, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.), #59); +#56 = IFCCARTESIANPOINT((0., 0.)); +#57 = IFCDIRECTION((1., 0.)); +#58 = IFCAXIS2PLACEMENT2D(#56, #57); +#59 = IFCLINE(#60, #61); +#60 = IFCCARTESIANPOINT((0., 0.)); +#61 = IFCVECTOR(#62, 1.); +#62 = IFCDIRECTION((1., 0.)); +#63 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #66, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(150.), #67); +#64 = IFCCARTESIANPOINT((400., 0.)); +#65 = IFCDIRECTION((1., 0.)); +#66 = IFCAXIS2PLACEMENT2D(#64, #65); +#67 = IFCCLOTHOID(#70, -273.861278752584); +#68 = IFCCARTESIANPOINT((0., 0.)); +#69 = IFCDIRECTION((1., 0.)); +#70 = IFCAXIS2PLACEMENT2D(#68, #69); +#71 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #74, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(-400.), #75); +#72 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#73 = IFCDIRECTION((9.88771077936042E-1, -1.49438132473604E-1)); +#74 = IFCAXIS2PLACEMENT2D(#72, #73); +#75 = IFCCIRCLE(#78, 500.000000000002); +#76 = IFCCARTESIANPOINT((0., 0.)); +#77 = IFCDIRECTION((1., 0.)); +#78 = IFCAXIS2PLACEMENT2D(#76, #77); +#79 = IFCGRADIENTCURVE((#80, #88, #96, #2101), .U., #54, $); +#80 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #83, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(450.000218741065), #84); +#81 = IFCCARTESIANPOINT((0., 150.)); +#82 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#83 = IFCAXIS2PLACEMENT2D(#81, #82); +#84 = IFCLINE(#85, #86); +#85 = IFCCARTESIANPOINT((0., 0.)); +#86 = IFCVECTOR(#87, 1.); +#87 = IFCDIRECTION((1., 0.)); +#88 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #91, IFCLENGTHMEASURE(4.71138898071803), IFCLENGTHMEASURE(100.00001881), #92); +#89 = IFCCARTESIANPOINT((449.999993741124, 149.550000006261)); +#90 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#91 = IFCAXIS2PLACEMENT2D(#89, #90); +#92 = IFCCIRCLE(#95, 69230.7996321627); +#93 = IFCCARTESIANPOINT((0., 0.)); +#94 = IFCDIRECTION((1., 0.)); +#95 = IFCAXIS2PLACEMENT2D(#93, #94); +#96 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #99, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.000039506171), #100); +#97 = IFCCARTESIANPOINT((550., 149.522222225005)); +#98 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#99 = IFCAXIS2PLACEMENT2D(#97, #98); +#100 = IFCLINE(#101, #102); +#101 = IFCCARTESIANPOINT((0., 0.)); +#102 = IFCVECTOR(#103, 1.); +#103 = IFCDIRECTION((1., 0.)); +/* tfk: remove the footprint representation for now in #1002 */ +#104 = IFCPRODUCTDEFINITIONSHAPE($, $, (#106)); +#105 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#106 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Curve3D', (#79)); +#107 = IFCBUILTELEMENT('3k7$iV7T92$R$xNE9oe5R8', #1, 'SimpleProfile', $, $, #108, #115, $); +#108 = IFCLOCALPLACEMENT(#25, #114); +#109 = IFCDIRECTION((0., 0., 1.)); +#110 = IFCDIRECTION((1., 0., 0.)); +#114 = IFCAXIS2PLACEMENT3D(#15, #109, #110); +#115 = IFCPRODUCTDEFINITIONSHAPE($, $, (#127)); +#116 = IFCSECTIONEDSOLIDHORIZONTAL(#79, (#18, #18), (#117, #119)); +#117 = IFCAXIS2PLACEMENTLINEAR(#118, $, $); +#118 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(300.), $, $, $, #79); +#119 = IFCAXIS2PLACEMENTLINEAR(#120, $, $); +#120 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(600.), $, $, $, #79); +#127 = IFCSHAPEREPRESENTATION(#17, 'Body', 'AdvancedSweptSolid', (#116)); +#128 = IFCRELCONTAINEDINSPATIALSTRUCTURE('0de2EMoG5C3AvNHWz3ILSb', #1, 'Container', 'Container to Contained', (#29, #107), #24); +#129 = IFCRELAGGREGATES('0PN7lKNInB_OsofZN8N0Nn', #1, 'Project Container', 'Project to Spatial Element', #7, (#24)); + +#1001 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); + +#1101 = IFCALIGNMENTSEGMENT('1lqBKv7Xz1Hx2tmPCGtaIa', #1, $, $, $, #1501, #1631, #1102); +#1102 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #1103, -0.95, 0., 0., 0., $, .LINE.); +#1103 = IFCCARTESIANPOINT((881.65153753789, -211.03194929054)); + +#1201 = IFCCURVESEGMENT(.DISCONTINUOUS., #1204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #1205); +#1202 = IFCCARTESIANPOINT((0881.65153753789, -211.03194929054)); +#1203 = IFCDIRECTION((0.58168308946, -0.81341550478)); +#1204 = IFCAXIS2PLACEMENT2D(#1202, #1203); +#1205 = IFCLINE(#1206, #1207); +#1206 = IFCCARTESIANPOINT((0., 0.)); +#1207 = IFCVECTOR(#1208, 1.); +#1208 = IFCDIRECTION((1., 0.)); + +#1501 = IFCLOCALPLACEMENT($, #1502); +#1502 = IFCAXIS2PLACEMENT3D(#1503, $, $); +#1503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#1601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1602)); +#1602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#55)); +#1611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1612)); +#1612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#63)); +#1621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1622)); +#1622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#71)); +#1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); +#1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); + +#2001 = IFCALIGNMENTSEGMENT('39fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); + +#2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); +#2102 = IFCCARTESIANPOINT((950., 149.7)); +#2103 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#2104 = IFCAXIS2PLACEMENT2D(#2102, #2103); +#2105 = IFCLINE(#85, #86); +#2106 = IFCCARTESIANPOINT((0., 0.)); +#2107 = IFCVECTOR(#2108, 1.); +#2108 = IFCDIRECTION((1., 0.)); + +#2501 = IFCLOCALPLACEMENT($, #2502); +#2502 = IFCAXIS2PLACEMENT3D(#2503, $, $); +#2503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#2601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2602)); +#2602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#80)); +#2611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2612)); +#2612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#88)); +#2621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2622)); +#2622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#96)); +#2631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2632)); +#2632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#2101)); + +#3000 = IFCRELAGGREGATES('0mRn50inT2pf1XqujacVu9', #1, 'Project Container 2', 'Project to Alignment', #7, (#29)); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/fail-pjs003-invalid_characters_ifcsite.ifc b/test/files/pjs003/fail-pjs003-invalid_characters_ifcsite.ifc new file mode 100644 index 00000000..f4c7a025 --- /dev/null +++ b/test/files/pjs003/fail-pjs003-invalid_characters_ifcsite.ifc @@ -0,0 +1,38 @@ +ISO-10303-21; +HEADER; + +FILE_DESCRIPTION((''),'2;1'); +FILE_NAME('','2024-06-12T09:50:55',(''),(''),'LAB','GMN3DS',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; + +DATA; + +/* PROJECT CONTEXT */ +#1= IFCPROJECT('2eS$fZmw9QmetNIywDEzSR',#2,'ODT',$,$,$,$,(#10),#15); +#2= IFCOWNERHISTORY(#3,#6,$,.NOCHANGE.,$,$,$,152828); +#3= IFCPERSONANDORGANIZATION(#4,#5,$); +#4= IFCPERSON($,'','ALCHEMIST',$,$,$,$,$); +#5= IFCORGANIZATION($,'LAB',$,$,$); +#6= IFCAPPLICATION(#5,'2024','GREY','REVOLT'); + +#10= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-05,#11,$); +#11= IFCAXIS2PLACEMENT3D(#12,$,$); +#12= IFCCARTESIANPOINT((0.,0.,0.)); + +#15= IFCUNITASSIGNMENT((#16)); +#16= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); + + +/* SITES AGGREGATED TO PROJECT */ +#29=IFCRELAGGREGATES('2te7nJfPvJyvPEahDDrZW0',#2,'ProjectContainer',$,#1,(#29990,#30000,#30010,#30020,#30030,#30040)); +#31=IFCLOCALPLACEMENT($,#11); + + +#29990=IFCSITE('14oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withCorrectGuid',$,$,#31,$,$,.COMPLEX.,$,$,$,$,$); +#30020=IFCSITE('1-+=cl5LHMZQ6iCWJKpe5w',#2,'SITE_withIncorrectGuid','Invalid Characters',$,#31,$,$,.PARTIAL.,$,$,$,$,$); + + + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/fail-pjs003-invalid_length_ifcrelnests.ifc b/test/files/pjs003/fail-pjs003-invalid_length_ifcrelnests.ifc new file mode 100644 index 00000000..11e287e8 --- /dev/null +++ b/test/files/pjs003/fail-pjs003-invalid_length_ifcrelnests.ifc @@ -0,0 +1,190 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition [Ifc4X3NotAssigned]'), '2;1'); +FILE_NAME ('', '2021-05-31T10:35:59', (), (), 'redacted', $, $); +FILE_SCHEMA (('IFC4X3_ADD2')); +ENDSEC; + +DATA; +#1 = IFCOWNERHISTORY(#2, #6, $, .NOCHANGE., $, $, $, 1622457359); +#2 = IFCPERSONANDORGANIZATION(#3, #4, $); +#3 = IFCPERSON($, 'redacted', 'redacted', $, $, $, $, $); +#4 = IFCORGANIZATION($, 'redacted', $, $, $); +#5 = IFCORGANIZATION($, 'redacted', $, $, $); +#6 = IFCAPPLICATION(#5, 'redacted', 'redacted', 'redacted'); +#7 = IFCPROJECT('0A_yMRoUvBdBdFGHn1GH7s', #1, 'Test IFC Project', $, $, $, $, (#13), #8); +#8 = IFCUNITASSIGNMENT((#9, #10, #11, #12)); +#9 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#10 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#11 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#12 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#13 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.E-4, #14, #16); +#14 = IFCAXIS2PLACEMENT3D(#15, $, $); +#15 = IFCCARTESIANPOINT((0., 0., 0.)); +#16 = IFCDIRECTION((0., 1.)); +#17 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#18 = IFCARBITRARYCLOSEDPROFILEDEF(.AREA., 'Simple Profile', #19); +#19 = IFCINDEXEDPOLYCURVE(#20, (IFCLINEINDEX((1, 2)), IFCLINEINDEX((2, 3)), IFCLINEINDEX((3, 4)), IFCLINEINDEX((4, 1))), $); +#20 = IFCCARTESIANPOINTLIST2D(((-4., 0.), (-5., -1.), (5., -1.), (4., 0.)), $); +#24 = IFCSITE('35wH0d2VDFze34cZziHyWH', #1, 'Default Site', $, $, #25, $, $, .ELEMENT., (0, 0, 0), (0, 0, 0), 0., $, $); +#25 = IFCLOCALPLACEMENT($, #28); +#26 = IFCDIRECTION((0., 0., 1.)); +#27 = IFCDIRECTION((1., 0., 0.)); +#28 = IFCAXIS2PLACEMENT3D(#15, #26, #27); +#29 = IFCALIGNMENT('0qI6nq6055HgCBPMUsw303', #1, 'Test Alignment', $, $, #30, #104, $); +#30 = IFCLOCALPLACEMENT(#25, #33); +#31 = IFCDIRECTION((0., 0., 1.)); +#32 = IFCDIRECTION((1., 0., 0.)); +#33 = IFCAXIS2PLACEMENT3D(#15, #31, #32); +#20002 = IFCLOCALPLACEMENT(#30, #33); +#20000 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20001)); +#20001 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve2D', (#54)); +#34 = IFCALIGNMENTHORIZONTAL('2a51YNKc9CIA9mX6PHta0R', #1, $, $, $, #20002, #20000); +#35 = IFCALIGNMENTSEGMENT('2VLcO34uj1ThLg3tnDQSDu', #1, $, $, $, #1501, #1601, #36); +#36 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #37, 0., 0., 0., 400., $, .LINE.); +#37 = IFCCARTESIANPOINT((0., 0.)); +#38 = IFCALIGNMENTSEGMENT('23in7RdgnF5etPmWAUg6Un', #1, $, $, $, #1501, #1611, #39); +#39 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #40, 0., 0., -500.000000000002, 150., $, .CLOTHOID.); +#40 = IFCCARTESIANPOINT((400., 0.)); +#41 = IFCALIGNMENTSEGMENT('2f96e3LmrECxEoe22s5Xpd', #1, $, $, $, #1501, #1621, #42); +#42 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #43, 6.13318530717958, -500.000000000002, -500.000000000002, 400., $, .CIRCULARARC.); +#43 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#44 = IFCRELNESTS('3A9jueO1f', #1, 'Linear Element Nesting', $, #34, (#35, #38, #41, #1101)); +#20003 = IFCLOCALPLACEMENT(#30, #33); +#20010 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20011)); +#20011 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve3D', (#79)); +#45 = IFCALIGNMENTVERTICAL('3SOdKle3DEtuUG6EbrmQpy', #1, $, $, $, #20003, #20010); +#46 = IFCALIGNMENTSEGMENT('16nyAX_5956AZO3WakpmwA', #1, $, $, $, #2501, #2601, #47); +#47 = IFCALIGNMENTVERTICALSEGMENT($, $, 0., 449.999993741124, 150., -9.99999999995544E-4, -9.99999999995544E-4, $, .CONSTANTGRADIENT.); +#48 = IFCALIGNMENTSEGMENT('3Zuiuqd_1EPuTb4o9SuLse', #1, $, $, $, #2501, #2611, #49); +#49 = IFCALIGNMENTVERTICALSEGMENT($, $, 449.999993741124, 100.000006258876, 149.550000006261, -9.99999999995544E-4, 4.44444444449813E-4, 69230.7996321627, .CIRCULARARC.); +#50 = IFCALIGNMENTSEGMENT('1ZSIbG7kLDTxDPZKyT21HX', #1, $, $, $, #2501, #2621, #51); +#51 = IFCALIGNMENTVERTICALSEGMENT($, $, 550., 400., 149.522222225005, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); +#52 = IFCRELNESTS('0f0eGFsknBWxOW9inF_FLN', #1, 'Linear Element Nesting', $, #45, (#46, #48, #50, #2001)); +#53 = IFCRELNESTS('0Ejb6tfov7UebksdwCEIZR', #1, 'Alignment Nesting', $, #29, (#34, #45)); +#54 = IFCCOMPOSITECURVE((#55, #63, #71, #1201), .U.); +#55 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #58, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.), #59); +#56 = IFCCARTESIANPOINT((0., 0.)); +#57 = IFCDIRECTION((1., 0.)); +#58 = IFCAXIS2PLACEMENT2D(#56, #57); +#59 = IFCLINE(#60, #61); +#60 = IFCCARTESIANPOINT((0., 0.)); +#61 = IFCVECTOR(#62, 1.); +#62 = IFCDIRECTION((1., 0.)); +#63 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #66, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(150.), #67); +#64 = IFCCARTESIANPOINT((400., 0.)); +#65 = IFCDIRECTION((1., 0.)); +#66 = IFCAXIS2PLACEMENT2D(#64, #65); +#67 = IFCCLOTHOID(#70, -273.861278752584); +#68 = IFCCARTESIANPOINT((0., 0.)); +#69 = IFCDIRECTION((1., 0.)); +#70 = IFCAXIS2PLACEMENT2D(#68, #69); +#71 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #74, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(-400.), #75); +#72 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#73 = IFCDIRECTION((9.88771077936042E-1, -1.49438132473604E-1)); +#74 = IFCAXIS2PLACEMENT2D(#72, #73); +#75 = IFCCIRCLE(#78, 500.000000000002); +#76 = IFCCARTESIANPOINT((0., 0.)); +#77 = IFCDIRECTION((1., 0.)); +#78 = IFCAXIS2PLACEMENT2D(#76, #77); +#79 = IFCGRADIENTCURVE((#80, #88, #96, #2101), .U., #54, $); +#80 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #83, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(450.000218741065), #84); +#81 = IFCCARTESIANPOINT((0., 150.)); +#82 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#83 = IFCAXIS2PLACEMENT2D(#81, #82); +#84 = IFCLINE(#85, #86); +#85 = IFCCARTESIANPOINT((0., 0.)); +#86 = IFCVECTOR(#87, 1.); +#87 = IFCDIRECTION((1., 0.)); +#88 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #91, IFCLENGTHMEASURE(4.71138898071803), IFCLENGTHMEASURE(100.00001881), #92); +#89 = IFCCARTESIANPOINT((449.999993741124, 149.550000006261)); +#90 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#91 = IFCAXIS2PLACEMENT2D(#89, #90); +#92 = IFCCIRCLE(#95, 69230.7996321627); +#93 = IFCCARTESIANPOINT((0., 0.)); +#94 = IFCDIRECTION((1., 0.)); +#95 = IFCAXIS2PLACEMENT2D(#93, #94); +#96 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #99, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.000039506171), #100); +#97 = IFCCARTESIANPOINT((550., 149.522222225005)); +#98 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#99 = IFCAXIS2PLACEMENT2D(#97, #98); +#100 = IFCLINE(#101, #102); +#101 = IFCCARTESIANPOINT((0., 0.)); +#102 = IFCVECTOR(#103, 1.); +#103 = IFCDIRECTION((1., 0.)); +/* tfk: remove the footprint representation for now in #1002 */ +#104 = IFCPRODUCTDEFINITIONSHAPE($, $, (#106)); +#105 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#106 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Curve3D', (#79)); +#107 = IFCBUILTELEMENT('3k7$iV7T92$R$xNE9oe5R8', #1, 'SimpleProfile', $, $, #108, #115, $); +#108 = IFCLOCALPLACEMENT(#25, #114); +#109 = IFCDIRECTION((0., 0., 1.)); +#110 = IFCDIRECTION((1., 0., 0.)); +#114 = IFCAXIS2PLACEMENT3D(#15, #109, #110); +#115 = IFCPRODUCTDEFINITIONSHAPE($, $, (#127)); +#116 = IFCSECTIONEDSOLIDHORIZONTAL(#79, (#18, #18), (#117, #119)); +#117 = IFCAXIS2PLACEMENTLINEAR(#118, $, $); +#118 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(300.), $, $, $, #79); +#119 = IFCAXIS2PLACEMENTLINEAR(#120, $, $); +#120 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(600.), $, $, $, #79); +#127 = IFCSHAPEREPRESENTATION(#17, 'Body', 'AdvancedSweptSolid', (#116)); +#128 = IFCRELCONTAINEDINSPATIALSTRUCTURE('0de2EMoG5C3AvNHWz3ILSb', #1, 'Container', 'Container to Contained', (#29, #107), #24); +#129 = IFCRELAGGREGATES('0PN7lKNInB_OsofZN8N0Nn', #1, 'Project Container', 'Project to Spatial Element', #7, (#24)); + +#1001 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); + +#1101 = IFCALIGNMENTSEGMENT('1lqBKv7Xz1Hx2tmPCGtaIa', #1, $, $, $, #1501, #1631, #1102); +#1102 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #1103, -0.95, 0., 0., 0., $, .LINE.); +#1103 = IFCCARTESIANPOINT((881.65153753789, -211.03194929054)); + +#1201 = IFCCURVESEGMENT(.DISCONTINUOUS., #1204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #1205); +#1202 = IFCCARTESIANPOINT((0881.65153753789, -211.03194929054)); +#1203 = IFCDIRECTION((0.58168308946, -0.81341550478)); +#1204 = IFCAXIS2PLACEMENT2D(#1202, #1203); +#1205 = IFCLINE(#1206, #1207); +#1206 = IFCCARTESIANPOINT((0., 0.)); +#1207 = IFCVECTOR(#1208, 1.); +#1208 = IFCDIRECTION((1., 0.)); + +#1501 = IFCLOCALPLACEMENT($, #1502); +#1502 = IFCAXIS2PLACEMENT3D(#1503, $, $); +#1503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#1601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1602)); +#1602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#55)); +#1611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1612)); +#1612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#63)); +#1621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1622)); +#1622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#71)); +#1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); +#1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); + +#2001 = IFCALIGNMENTSEGMENT('39fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); + +#2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); +#2102 = IFCCARTESIANPOINT((950., 149.7)); +#2103 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#2104 = IFCAXIS2PLACEMENT2D(#2102, #2103); +#2105 = IFCLINE(#85, #86); +#2106 = IFCCARTESIANPOINT((0., 0.)); +#2107 = IFCVECTOR(#2108, 1.); +#2108 = IFCDIRECTION((1., 0.)); + +#2501 = IFCLOCALPLACEMENT($, #2502); +#2502 = IFCAXIS2PLACEMENT3D(#2503, $, $); +#2503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#2601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2602)); +#2602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#80)); +#2611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2612)); +#2612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#88)); +#2621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2622)); +#2622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#96)); +#2631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2632)); +#2632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#2101)); + +#3000 = IFCRELAGGREGATES('0mRn50inT2pf1XqujacVu9', #1, 'Project Container 2', 'Project to Alignment', #7, (#29)); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/fail-pjs003-invalid_length_ifcsite.ifc b/test/files/pjs003/fail-pjs003-invalid_length_ifcsite.ifc new file mode 100644 index 00000000..92d8a9c3 --- /dev/null +++ b/test/files/pjs003/fail-pjs003-invalid_length_ifcsite.ifc @@ -0,0 +1,38 @@ + +ISO-10303-21; +HEADER; + +FILE_DESCRIPTION((''),'2;1'); +FILE_NAME('','2024-06-12T09:50:55',(''),(''),'LAB','GMN3DS',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; + +DATA; + +/* PROJECT CONTEXT */ +#1= IFCPROJECT('2eS$fZmw9QmetNIywDEzSR',#2,'ODT',$,$,$,$,(#10),#15); +#2= IFCOWNERHISTORY(#3,#6,$,.NOCHANGE.,$,$,$,152828); +#3= IFCPERSONANDORGANIZATION(#4,#5,$); +#4= IFCPERSON($,'','ALCHEMIST',$,$,$,$,$); +#5= IFCORGANIZATION($,'LAB',$,$,$); +#6= IFCAPPLICATION(#5,'2024','GREY','REVOLT'); + +#10= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-05,#11,$); +#11= IFCAXIS2PLACEMENT3D(#12,$,$); +#12= IFCCARTESIANPOINT((0.,0.,0.)); + +#15= IFCUNITASSIGNMENT((#16)); +#16= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); + + +/* SITES AGGREGATED TO PROJECT */ +#29=IFCRELAGGREGATES('2te7nJfPvJyvPEahDDrZW0',#2,'ProjectContainer',$,#1,(#29990,#30000,#30010,#30020,#30030,#30040)); +#31=IFCLOCALPLACEMENT($,#11); + + +#29990=IFCSITE('14oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withCorrectGuid',$,$,#31,$,$,.COMPLEX.,$,$,$,$,$); +#30010=IFCSITE('14oxcl5',#2,'SITE_withIncorrectGuid','Invalid Length',$,#31,$,$,.ELEMENT.,$,$,$,$,$); + + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/fail-pjs003-invalid_starting_characters_ifc4x3_add2_ifcsite.ifc b/test/files/pjs003/fail-pjs003-invalid_starting_characters_ifc4x3_add2_ifcsite.ifc new file mode 100644 index 00000000..5dc594cd --- /dev/null +++ b/test/files/pjs003/fail-pjs003-invalid_starting_characters_ifc4x3_add2_ifcsite.ifc @@ -0,0 +1,38 @@ +ISO-10303-21; +HEADER; + +FILE_DESCRIPTION((''),'2;1'); +FILE_NAME('','2024-06-12T09:50:55',(''),(''),'LAB','GMN3DS',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; + +DATA; + +/* PROJECT CONTEXT */ +#1= IFCPROJECT('2eS$fZmw9QmetNIywDEzSR',#2,'ODT',$,$,$,$,(#10),#15); +#2= IFCOWNERHISTORY(#3,#6,$,.NOCHANGE.,$,$,$,152828); +#3= IFCPERSONANDORGANIZATION(#4,#5,$); +#4= IFCPERSON($,'','ALCHEMIST',$,$,$,$,$); +#5= IFCORGANIZATION($,'LAB',$,$,$); +#6= IFCAPPLICATION(#5,'2024','GREY','REVOLT'); + +#10= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-05,#11,$); +#11= IFCAXIS2PLACEMENT3D(#12,$,$); +#12= IFCCARTESIANPOINT((0.,0.,0.)); + +#15= IFCUNITASSIGNMENT((#16)); +#16= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); + + +/* SITES AGGREGATED TO PROJECT */ +#29=IFCRELAGGREGATES('2te7nJfPvJyvPEahDDrZW0',#2,'ProjectContainer',$,#1,(#29990,#30000,#30010,#30020,#30030,#30040)); +#31=IFCLOCALPLACEMENT($,#11); + + +#29990=IFCSITE('14oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withCorrectGuid',$,$,#31,$,$,.COMPLEX.,$,$,$,$,$); +#30030=IFCSITE('b4oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withIncorrectGuid','Invalid Starting Character',$,#31,$,$,.COMPLEX.,$,$,$,$,$); + + + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/fail-pjs003-invalid_starting_charaters_ifc4x3_add2_alignment_segment.ifc b/test/files/pjs003/fail-pjs003-invalid_starting_charaters_ifc4x3_add2_alignment_segment.ifc new file mode 100644 index 00000000..5abd1fb2 --- /dev/null +++ b/test/files/pjs003/fail-pjs003-invalid_starting_charaters_ifc4x3_add2_alignment_segment.ifc @@ -0,0 +1,190 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition [Ifc4X3NotAssigned]'), '2;1'); +FILE_NAME ('', '2021-05-31T10:35:59', (), (), 'redacted', $, $); +FILE_SCHEMA (('IFC4X3_ADD2')); +ENDSEC; + +DATA; +#1 = IFCOWNERHISTORY(#2, #6, $, .NOCHANGE., $, $, $, 1622457359); +#2 = IFCPERSONANDORGANIZATION(#3, #4, $); +#3 = IFCPERSON($, 'redacted', 'redacted', $, $, $, $, $); +#4 = IFCORGANIZATION($, 'redacted', $, $, $); +#5 = IFCORGANIZATION($, 'redacted', $, $, $); +#6 = IFCAPPLICATION(#5, 'redacted', 'redacted', 'redacted'); +#7 = IFCPROJECT('0A_yMRoUvBdBdFGHn1GH7s', #1, 'Test IFC Project', $, $, $, $, (#13), #8); +#8 = IFCUNITASSIGNMENT((#9, #10, #11, #12)); +#9 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#10 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#11 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#12 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#13 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.E-4, #14, #16); +#14 = IFCAXIS2PLACEMENT3D(#15, $, $); +#15 = IFCCARTESIANPOINT((0., 0., 0.)); +#16 = IFCDIRECTION((0., 1.)); +#17 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#18 = IFCARBITRARYCLOSEDPROFILEDEF(.AREA., 'Simple Profile', #19); +#19 = IFCINDEXEDPOLYCURVE(#20, (IFCLINEINDEX((1, 2)), IFCLINEINDEX((2, 3)), IFCLINEINDEX((3, 4)), IFCLINEINDEX((4, 1))), $); +#20 = IFCCARTESIANPOINTLIST2D(((-4., 0.), (-5., -1.), (5., -1.), (4., 0.)), $); +#24 = IFCSITE('35wH0d2VDFze34cZziHyWH', #1, 'Default Site', $, $, #25, $, $, .ELEMENT., (0, 0, 0), (0, 0, 0), 0., $, $); +#25 = IFCLOCALPLACEMENT($, #28); +#26 = IFCDIRECTION((0., 0., 1.)); +#27 = IFCDIRECTION((1., 0., 0.)); +#28 = IFCAXIS2PLACEMENT3D(#15, #26, #27); +#29 = IFCALIGNMENT('0qI6nq6055HgCBPMUsw303', #1, 'Test Alignment', $, $, #30, #104, $); +#30 = IFCLOCALPLACEMENT(#25, #33); +#31 = IFCDIRECTION((0., 0., 1.)); +#32 = IFCDIRECTION((1., 0., 0.)); +#33 = IFCAXIS2PLACEMENT3D(#15, #31, #32); +#20002 = IFCLOCALPLACEMENT(#30, #33); +#20000 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20001)); +#20001 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve2D', (#54)); +#34 = IFCALIGNMENTHORIZONTAL('2a51YNKc9CIA9mX6PHta0R', #1, $, $, $, #20002, #20000); +#35 = IFCALIGNMENTSEGMENT('5VLcO34uj1ThLg3tnDQSDu', #1, $, $, $, #1501, #1601, #36); +#36 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #37, 0., 0., 0., 400., $, .LINE.); +#37 = IFCCARTESIANPOINT((0., 0.)); +#38 = IFCALIGNMENTSEGMENT('23in7RdgnF5etPmWAUg6Un', #1, $, $, $, #1501, #1611, #39); +#39 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #40, 0., 0., -500.000000000002, 150., $, .CLOTHOID.); +#40 = IFCCARTESIANPOINT((400., 0.)); +#41 = IFCALIGNMENTSEGMENT('2f96e3LmrECxEoe22s5Xpd', #1, $, $, $, #1501, #1621, #42); +#42 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #43, 6.13318530717958, -500.000000000002, -500.000000000002, 400., $, .CIRCULARARC.); +#43 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#44 = IFCRELNESTS('3A9jueO1j2z8C76N1IFh7f', #1, 'Linear Element Nesting', $, #34, (#35, #38, #41, #1101)); +#20003 = IFCLOCALPLACEMENT(#30, #33); +#20010 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20011)); +#20011 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve3D', (#79)); +#45 = IFCALIGNMENTVERTICAL('3SOdKle3DEtuUG6EbrmQpy', #1, $, $, $, #20003, #20010); +#46 = IFCALIGNMENTSEGMENT('16nyAX_5956AZO3WakpmwA', #1, $, $, $, #2501, #2601, #47); +#47 = IFCALIGNMENTVERTICALSEGMENT($, $, 0., 449.999993741124, 150., -9.99999999995544E-4, -9.99999999995544E-4, $, .CONSTANTGRADIENT.); +#48 = IFCALIGNMENTSEGMENT('3Zuiuqd_1EPuTb4o9SuLse', #1, $, $, $, #2501, #2611, #49); +#49 = IFCALIGNMENTVERTICALSEGMENT($, $, 449.999993741124, 100.000006258876, 149.550000006261, -9.99999999995544E-4, 4.44444444449813E-4, 69230.7996321627, .CIRCULARARC.); +#50 = IFCALIGNMENTSEGMENT('1ZSIbG7kLDTxDPZKyT21HX', #1, $, $, $, #2501, #2621, #51); +#51 = IFCALIGNMENTVERTICALSEGMENT($, $, 550., 400., 149.522222225005, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); +#52 = IFCRELNESTS('0f0eGFsknBWxOW9inF_FLN', #1, 'Linear Element Nesting', $, #45, (#46, #48, #50, #2001)); +#53 = IFCRELNESTS('0Ejb6tfov7UebksdwCEIZR', #1, 'Alignment Nesting', $, #29, (#34, #45)); +#54 = IFCCOMPOSITECURVE((#55, #63, #71, #1201), .U.); +#55 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #58, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.), #59); +#56 = IFCCARTESIANPOINT((0., 0.)); +#57 = IFCDIRECTION((1., 0.)); +#58 = IFCAXIS2PLACEMENT2D(#56, #57); +#59 = IFCLINE(#60, #61); +#60 = IFCCARTESIANPOINT((0., 0.)); +#61 = IFCVECTOR(#62, 1.); +#62 = IFCDIRECTION((1., 0.)); +#63 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #66, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(150.), #67); +#64 = IFCCARTESIANPOINT((400., 0.)); +#65 = IFCDIRECTION((1., 0.)); +#66 = IFCAXIS2PLACEMENT2D(#64, #65); +#67 = IFCCLOTHOID(#70, -273.861278752584); +#68 = IFCCARTESIANPOINT((0., 0.)); +#69 = IFCDIRECTION((1., 0.)); +#70 = IFCAXIS2PLACEMENT2D(#68, #69); +#71 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #74, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(-400.), #75); +#72 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#73 = IFCDIRECTION((9.88771077936042E-1, -1.49438132473604E-1)); +#74 = IFCAXIS2PLACEMENT2D(#72, #73); +#75 = IFCCIRCLE(#78, 500.000000000002); +#76 = IFCCARTESIANPOINT((0., 0.)); +#77 = IFCDIRECTION((1., 0.)); +#78 = IFCAXIS2PLACEMENT2D(#76, #77); +#79 = IFCGRADIENTCURVE((#80, #88, #96, #2101), .U., #54, $); +#80 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #83, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(450.000218741065), #84); +#81 = IFCCARTESIANPOINT((0., 150.)); +#82 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#83 = IFCAXIS2PLACEMENT2D(#81, #82); +#84 = IFCLINE(#85, #86); +#85 = IFCCARTESIANPOINT((0., 0.)); +#86 = IFCVECTOR(#87, 1.); +#87 = IFCDIRECTION((1., 0.)); +#88 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #91, IFCLENGTHMEASURE(4.71138898071803), IFCLENGTHMEASURE(100.00001881), #92); +#89 = IFCCARTESIANPOINT((449.999993741124, 149.550000006261)); +#90 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#91 = IFCAXIS2PLACEMENT2D(#89, #90); +#92 = IFCCIRCLE(#95, 69230.7996321627); +#93 = IFCCARTESIANPOINT((0., 0.)); +#94 = IFCDIRECTION((1., 0.)); +#95 = IFCAXIS2PLACEMENT2D(#93, #94); +#96 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #99, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.000039506171), #100); +#97 = IFCCARTESIANPOINT((550., 149.522222225005)); +#98 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#99 = IFCAXIS2PLACEMENT2D(#97, #98); +#100 = IFCLINE(#101, #102); +#101 = IFCCARTESIANPOINT((0., 0.)); +#102 = IFCVECTOR(#103, 1.); +#103 = IFCDIRECTION((1., 0.)); +/* tfk: remove the footprint representation for now in #1002 */ +#104 = IFCPRODUCTDEFINITIONSHAPE($, $, (#106)); +#105 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#106 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Curve3D', (#79)); +#107 = IFCBUILTELEMENT('3k7$iV7T92$R$xNE9oe5R8', #1, 'SimpleProfile', $, $, #108, #115, $); +#108 = IFCLOCALPLACEMENT(#25, #114); +#109 = IFCDIRECTION((0., 0., 1.)); +#110 = IFCDIRECTION((1., 0., 0.)); +#114 = IFCAXIS2PLACEMENT3D(#15, #109, #110); +#115 = IFCPRODUCTDEFINITIONSHAPE($, $, (#127)); +#116 = IFCSECTIONEDSOLIDHORIZONTAL(#79, (#18, #18), (#117, #119)); +#117 = IFCAXIS2PLACEMENTLINEAR(#118, $, $); +#118 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(300.), $, $, $, #79); +#119 = IFCAXIS2PLACEMENTLINEAR(#120, $, $); +#120 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(600.), $, $, $, #79); +#127 = IFCSHAPEREPRESENTATION(#17, 'Body', 'AdvancedSweptSolid', (#116)); +#128 = IFCRELCONTAINEDINSPATIALSTRUCTURE('0de2EMoG5C3AvNHWz3ILSb', #1, 'Container', 'Container to Contained', (#29, #107), #24); +#129 = IFCRELAGGREGATES('0PN7lKNInB_OsofZN8N0Nn', #1, 'Project Container', 'Project to Spatial Element', #7, (#24)); + +#1001 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); + +#1101 = IFCALIGNMENTSEGMENT('1lqBKv7Xz1Hx2tmPCGtaIa', #1, $, $, $, #1501, #1631, #1102); +#1102 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #1103, -0.95, 0., 0., 0., $, .LINE.); +#1103 = IFCCARTESIANPOINT((881.65153753789, -211.03194929054)); + +#1201 = IFCCURVESEGMENT(.DISCONTINUOUS., #1204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #1205); +#1202 = IFCCARTESIANPOINT((0881.65153753789, -211.03194929054)); +#1203 = IFCDIRECTION((0.58168308946, -0.81341550478)); +#1204 = IFCAXIS2PLACEMENT2D(#1202, #1203); +#1205 = IFCLINE(#1206, #1207); +#1206 = IFCCARTESIANPOINT((0., 0.)); +#1207 = IFCVECTOR(#1208, 1.); +#1208 = IFCDIRECTION((1., 0.)); + +#1501 = IFCLOCALPLACEMENT($, #1502); +#1502 = IFCAXIS2PLACEMENT3D(#1503, $, $); +#1503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#1601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1602)); +#1602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#55)); +#1611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1612)); +#1612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#63)); +#1621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1622)); +#1622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#71)); +#1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); +#1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); + +#2001 = IFCALIGNMENTSEGMENT('49fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); + +#2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); +#2102 = IFCCARTESIANPOINT((950., 149.7)); +#2103 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#2104 = IFCAXIS2PLACEMENT2D(#2102, #2103); +#2105 = IFCLINE(#85, #86); +#2106 = IFCCARTESIANPOINT((0., 0.)); +#2107 = IFCVECTOR(#2108, 1.); +#2108 = IFCDIRECTION((1., 0.)); + +#2501 = IFCLOCALPLACEMENT($, #2502); +#2502 = IFCAXIS2PLACEMENT3D(#2503, $, $); +#2503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#2601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2602)); +#2602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#80)); +#2611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2612)); +#2612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#88)); +#2621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2622)); +#2622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#96)); +#2631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2632)); +#2632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#2101)); + +#3000 = IFCRELAGGREGATES('0mRn50inT2pf1XqujacVu9', #1, 'Project Container 2', 'Project to Alignment', #7, (#29)); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/pass-pjs003-correct_guid_ifcsite.ifc b/test/files/pjs003/pass-pjs003-correct_guid_ifcsite.ifc new file mode 100644 index 00000000..2f25ce03 --- /dev/null +++ b/test/files/pjs003/pass-pjs003-correct_guid_ifcsite.ifc @@ -0,0 +1,35 @@ +ISO-10303-21; +HEADER; + +FILE_DESCRIPTION((''),'2;1'); +FILE_NAME('','2024-06-12T09:50:55',(''),(''),'LAB','GMN3DS',''); +FILE_SCHEMA(('IFC4X3_ADD2')); +ENDSEC; + +DATA; + +/* PROJECT CONTEXT */ +#1= IFCPROJECT('2eS$fZmw9QmetNIywDEzSR',#2,'ODT',$,$,$,$,(#10),#15); +#2= IFCOWNERHISTORY(#3,#6,$,.NOCHANGE.,$,$,$,152828); +#3= IFCPERSONANDORGANIZATION(#4,#5,$); +#4= IFCPERSON($,'','ALCHEMIST',$,$,$,$,$); +#5= IFCORGANIZATION($,'LAB',$,$,$); +#6= IFCAPPLICATION(#5,'2024','GREY','REVOLT'); + +#10= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-05,#11,$); +#11= IFCAXIS2PLACEMENT3D(#12,$,$); +#12= IFCCARTESIANPOINT((0.,0.,0.)); + +#15= IFCUNITASSIGNMENT((#16)); +#16= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); + + +/* SITES AGGREGATED TO PROJECT */ +#29=IFCRELAGGREGATES('2te7nJfPvJyvPEahDDrZW0',#2,'ProjectContainer',$,#1,(#29990,#30000,#30010,#30020,#30030,#30040)); +#31=IFCLOCALPLACEMENT($,#11); + + +#29990=IFCSITE('14oxcl5LHMZQ6iCWJKpe5w',#2,'SITE_withCorrectGuid',$,$,#31,$,$,.COMPLEX.,$,$,$,$,$); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pjs003/pass-pjs003-correct_guids_larger_file.ifc b/test/files/pjs003/pass-pjs003-correct_guids_larger_file.ifc new file mode 100644 index 00000000..e2999e21 --- /dev/null +++ b/test/files/pjs003/pass-pjs003-correct_guids_larger_file.ifc @@ -0,0 +1,190 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition [Ifc4X3NotAssigned]'), '2;1'); +FILE_NAME ('', '2021-05-31T10:35:59', (), (), 'redacted', $, $); +FILE_SCHEMA (('IFC4X3_ADD2')); +ENDSEC; + +DATA; +#1 = IFCOWNERHISTORY(#2, #6, $, .NOCHANGE., $, $, $, 1622457359); +#2 = IFCPERSONANDORGANIZATION(#3, #4, $); +#3 = IFCPERSON($, 'redacted', 'redacted', $, $, $, $, $); +#4 = IFCORGANIZATION($, 'redacted', $, $, $); +#5 = IFCORGANIZATION($, 'redacted', $, $, $); +#6 = IFCAPPLICATION(#5, 'redacted', 'redacted', 'redacted'); +#7 = IFCPROJECT('0A_yMRoUvBdBdFGHn1GH7s', #1, 'Test IFC Project', $, $, $, $, (#13), #8); +#8 = IFCUNITASSIGNMENT((#9, #10, #11, #12)); +#9 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#10 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#11 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#12 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#13 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.E-4, #14, #16); +#14 = IFCAXIS2PLACEMENT3D(#15, $, $); +#15 = IFCCARTESIANPOINT((0., 0., 0.)); +#16 = IFCDIRECTION((0., 1.)); +#17 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#18 = IFCARBITRARYCLOSEDPROFILEDEF(.AREA., 'Simple Profile', #19); +#19 = IFCINDEXEDPOLYCURVE(#20, (IFCLINEINDEX((1, 2)), IFCLINEINDEX((2, 3)), IFCLINEINDEX((3, 4)), IFCLINEINDEX((4, 1))), $); +#20 = IFCCARTESIANPOINTLIST2D(((-4., 0.), (-5., -1.), (5., -1.), (4., 0.)), $); +#24 = IFCSITE('35wH0d2VDFze34cZziHyWH', #1, 'Default Site', $, $, #25, $, $, .ELEMENT., (0, 0, 0), (0, 0, 0), 0., $, $); +#25 = IFCLOCALPLACEMENT($, #28); +#26 = IFCDIRECTION((0., 0., 1.)); +#27 = IFCDIRECTION((1., 0., 0.)); +#28 = IFCAXIS2PLACEMENT3D(#15, #26, #27); +#29 = IFCALIGNMENT('0qI6nq6055HgCBPMUsw303', #1, 'Test Alignment', $, $, #30, #104, $); +#30 = IFCLOCALPLACEMENT(#25, #33); +#31 = IFCDIRECTION((0., 0., 1.)); +#32 = IFCDIRECTION((1., 0., 0.)); +#33 = IFCAXIS2PLACEMENT3D(#15, #31, #32); +#20002 = IFCLOCALPLACEMENT(#30, #33); +#20000 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20001)); +#20001 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve2D', (#54)); +#34 = IFCALIGNMENTHORIZONTAL('2a51YNKc9CIA9mX6PHta0R', #1, $, $, $, #20002, #20000); +#35 = IFCALIGNMENTSEGMENT('2VLcO34uj1ThLg3tnDQSDu', #1, $, $, $, #1501, #1601, #36); +#36 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #37, 0., 0., 0., 400., $, .LINE.); +#37 = IFCCARTESIANPOINT((0., 0.)); +#38 = IFCALIGNMENTSEGMENT('23in7RdgnF5etPmWAUg6Un', #1, $, $, $, #1501, #1611, #39); +#39 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #40, 0., 0., -500.000000000002, 150., $, .CLOTHOID.); +#40 = IFCCARTESIANPOINT((400., 0.)); +#41 = IFCALIGNMENTSEGMENT('2f96e3LmrECxEoe22s5Xpd', #1, $, $, $, #1501, #1621, #42); +#42 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #43, 6.13318530717958, -500.000000000002, -500.000000000002, 400., $, .CIRCULARARC.); +#43 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#44 = IFCRELNESTS('3A9jueO1j2z8C76N1IFh7f', #1, 'Linear Element Nesting', $, #34, (#35, #38, #41, #1101)); +#20003 = IFCLOCALPLACEMENT(#30, #33); +#20010 = IFCPRODUCTDEFINITIONSHAPE($, $, (#20011)); +#20011 = IFCSHAPEREPRESENTATION(#1001, 'Axis', 'Curve3D', (#79)); +#45 = IFCALIGNMENTVERTICAL('3SOdKle3DEtuUG6EbrmQpy', #1, $, $, $, #20003, #20010); +#46 = IFCALIGNMENTSEGMENT('16nyAX_5956AZO3WakpmwA', #1, $, $, $, #2501, #2601, #47); +#47 = IFCALIGNMENTVERTICALSEGMENT($, $, 0., 449.999993741124, 150., -9.99999999995544E-4, -9.99999999995544E-4, $, .CONSTANTGRADIENT.); +#48 = IFCALIGNMENTSEGMENT('3Zuiuqd_1EPuTb4o9SuLse', #1, $, $, $, #2501, #2611, #49); +#49 = IFCALIGNMENTVERTICALSEGMENT($, $, 449.999993741124, 100.000006258876, 149.550000006261, -9.99999999995544E-4, 4.44444444449813E-4, 69230.7996321627, .CIRCULARARC.); +#50 = IFCALIGNMENTSEGMENT('1ZSIbG7kLDTxDPZKyT21HX', #1, $, $, $, #2501, #2621, #51); +#51 = IFCALIGNMENTVERTICALSEGMENT($, $, 550., 400., 149.522222225005, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); +#52 = IFCRELNESTS('0f0eGFsknBWxOW9inF_FLN', #1, 'Linear Element Nesting', $, #45, (#46, #48, #50, #2001)); +#53 = IFCRELNESTS('0Ejb6tfov7UebksdwCEIZR', #1, 'Alignment Nesting', $, #29, (#34, #45)); +#54 = IFCCOMPOSITECURVE((#55, #63, #71, #1201), .U.); +#55 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #58, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.), #59); +#56 = IFCCARTESIANPOINT((0., 0.)); +#57 = IFCDIRECTION((1., 0.)); +#58 = IFCAXIS2PLACEMENT2D(#56, #57); +#59 = IFCLINE(#60, #61); +#60 = IFCCARTESIANPOINT((0., 0.)); +#61 = IFCVECTOR(#62, 1.); +#62 = IFCDIRECTION((1., 0.)); +#63 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #66, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(150.), #67); +#64 = IFCCARTESIANPOINT((400., 0.)); +#65 = IFCDIRECTION((1., 0.)); +#66 = IFCAXIS2PLACEMENT2D(#64, #65); +#67 = IFCCLOTHOID(#70, -273.861278752584); +#68 = IFCCARTESIANPOINT((0., 0.)); +#69 = IFCDIRECTION((1., 0.)); +#70 = IFCAXIS2PLACEMENT2D(#68, #69); +#71 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #74, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(-400.), #75); +#72 = IFCCARTESIANPOINT((549.662851380011, -7.48795505445)); +#73 = IFCDIRECTION((9.88771077936042E-1, -1.49438132473604E-1)); +#74 = IFCAXIS2PLACEMENT2D(#72, #73); +#75 = IFCCIRCLE(#78, 500.000000000002); +#76 = IFCCARTESIANPOINT((0., 0.)); +#77 = IFCDIRECTION((1., 0.)); +#78 = IFCAXIS2PLACEMENT2D(#76, #77); +#79 = IFCGRADIENTCURVE((#80, #88, #96, #2101), .U., #54, $); +#80 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #83, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(450.000218741065), #84); +#81 = IFCCARTESIANPOINT((0., 150.)); +#82 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#83 = IFCAXIS2PLACEMENT2D(#81, #82); +#84 = IFCLINE(#85, #86); +#85 = IFCCARTESIANPOINT((0., 0.)); +#86 = IFCVECTOR(#87, 1.); +#87 = IFCDIRECTION((1., 0.)); +#88 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #91, IFCLENGTHMEASURE(4.71138898071803), IFCLENGTHMEASURE(100.00001881), #92); +#89 = IFCCARTESIANPOINT((449.999993741124, 149.550000006261)); +#90 = IFCDIRECTION((9.99999500000375E-1, -9.99999499995919E-4)); +#91 = IFCAXIS2PLACEMENT2D(#89, #90); +#92 = IFCCIRCLE(#95, 69230.7996321627); +#93 = IFCCARTESIANPOINT((0., 0.)); +#94 = IFCDIRECTION((1., 0.)); +#95 = IFCAXIS2PLACEMENT2D(#93, #94); +#96 = IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE., #99, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(400.000039506171), #100); +#97 = IFCCARTESIANPOINT((550., 149.522222225005)); +#98 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#99 = IFCAXIS2PLACEMENT2D(#97, #98); +#100 = IFCLINE(#101, #102); +#101 = IFCCARTESIANPOINT((0., 0.)); +#102 = IFCVECTOR(#103, 1.); +#103 = IFCDIRECTION((1., 0.)); +/* tfk: remove the footprint representation for now in #1002 */ +#104 = IFCPRODUCTDEFINITIONSHAPE($, $, (#106)); +#105 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); +#106 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Curve3D', (#79)); +#107 = IFCBUILTELEMENT('3k7$iV7T92$R$xNE9oe5R8', #1, 'SimpleProfile', $, $, #108, #115, $); +#108 = IFCLOCALPLACEMENT(#25, #114); +#109 = IFCDIRECTION((0., 0., 1.)); +#110 = IFCDIRECTION((1., 0., 0.)); +#114 = IFCAXIS2PLACEMENT3D(#15, #109, #110); +#115 = IFCPRODUCTDEFINITIONSHAPE($, $, (#127)); +#116 = IFCSECTIONEDSOLIDHORIZONTAL(#79, (#18, #18), (#117, #119)); +#117 = IFCAXIS2PLACEMENTLINEAR(#118, $, $); +#118 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(300.), $, $, $, #79); +#119 = IFCAXIS2PLACEMENTLINEAR(#120, $, $); +#120 = IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(600.), $, $, $, #79); +#127 = IFCSHAPEREPRESENTATION(#17, 'Body', 'AdvancedSweptSolid', (#116)); +#128 = IFCRELCONTAINEDINSPATIALSTRUCTURE('0de2EMoG5C3AvNHWz3ILSb', #1, 'Container', 'Container to Contained', (#29, #107), #24); +#129 = IFCRELAGGREGATES('0PN7lKNInB_OsofZN8N0Nn', #1, 'Project Container', 'Project to Spatial Element', #7, (#24)); + +#1001 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint', 'Model', *, *, *, *, #13, $, .MODEL_VIEW., $); + +#1101 = IFCALIGNMENTSEGMENT('1lqBKv7Xz1Hx2tmPCGtaIa', #1, $, $, $, #1501, #1631, #1102); +#1102 = IFCALIGNMENTHORIZONTALSEGMENT($, $, #1103, -0.95, 0., 0., 0., $, .LINE.); +#1103 = IFCCARTESIANPOINT((881.65153753789, -211.03194929054)); + +#1201 = IFCCURVESEGMENT(.DISCONTINUOUS., #1204, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #1205); +#1202 = IFCCARTESIANPOINT((0881.65153753789, -211.03194929054)); +#1203 = IFCDIRECTION((0.58168308946, -0.81341550478)); +#1204 = IFCAXIS2PLACEMENT2D(#1202, #1203); +#1205 = IFCLINE(#1206, #1207); +#1206 = IFCCARTESIANPOINT((0., 0.)); +#1207 = IFCVECTOR(#1208, 1.); +#1208 = IFCDIRECTION((1., 0.)); + +#1501 = IFCLOCALPLACEMENT($, #1502); +#1502 = IFCAXIS2PLACEMENT3D(#1503, $, $); +#1503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#1601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1602)); +#1602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#55)); +#1611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1612)); +#1612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#63)); +#1621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1622)); +#1622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#71)); +#1631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#1632)); +#1632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#1201)); + +#2001 = IFCALIGNMENTSEGMENT('39fS3hA8n5YOBvYphrBOIP', #1, $, $, $, #2501, #2631, #2002); +#2002 = IFCALIGNMENTVERTICALSEGMENT($, $, 950., 0., 149.7, 4.44444444449813E-4, 4.44444444449813E-4, $, .CONSTANTGRADIENT.); + +#2101 = IFCCURVESEGMENT(.DISCONTINUOUS., #2104, IFCLENGTHMEASURE(0.), IFCLENGTHMEASURE(0.), #2105); +#2102 = IFCCARTESIANPOINT((950., 149.7)); +#2103 = IFCDIRECTION((9.99999901234583E-1, 4.44444400554072E-4)); +#2104 = IFCAXIS2PLACEMENT2D(#2102, #2103); +#2105 = IFCLINE(#85, #86); +#2106 = IFCCARTESIANPOINT((0., 0.)); +#2107 = IFCVECTOR(#2108, 1.); +#2108 = IFCDIRECTION((1., 0.)); + +#2501 = IFCLOCALPLACEMENT($, #2502); +#2502 = IFCAXIS2PLACEMENT3D(#2503, $, $); +#2503 = IFCCARTESIANPOINT((0., 0., 0.)); + +#2601 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2602)); +#2602 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#80)); +#2611 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2612)); +#2612 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#88)); +#2621 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2622)); +#2622 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#96)); +#2631 = IFCPRODUCTDEFINITIONSHAPE($, $, (#2632)); +#2632 = IFCSHAPEREPRESENTATION(#105, 'Axis', 'Segment', (#2101)); + +#3000 = IFCRELAGGREGATES('0mRn50inT2pf1XqujacVu9', #1, 'Project Container 2', 'Project to Alignment', #7, (#29)); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/pse001/fail-pse001-scenario01-wrong_ifcproperty_name.ifc b/test/files/pse001/fail-pse001-scenario01-wrong_ifcproperty_name.ifc index ac524d97..5f6b75ed 100644 --- a/test/files/pse001/fail-pse001-scenario01-wrong_ifcproperty_name.ifc +++ b/test/files/pse001/fail-pse001-scenario01-wrong_ifcproperty_name.ifc @@ -14,7 +14,7 @@ DATA; #7=IFCWALL('2nJrDaLQfJ1QPhdJR0o97J',#16,$,$,$,$,$,$); #8=IFCPROPERTYSET('16MocU_IDOF8_x3Iqllz0d',#16,'Pset_WallCommon',$,(#11)); #9=IFCRELDEFINESBYPROPERTIES('1xdwj8qGXK4hzoNbvMdXJW',#16,$,$,(#7),#8); -#11=IFCPROPERTYSINGLEVALUE('MyProperty',$,); +#11=IFCPROPERTYSINGLEVALUE('MyProperty',$,IFCLABEL('NEW'),$); #12=IFCPERSON($,$,'',$,$,$,$,$); #13=IFCORGANIZATION($,'',$,$,$); #14=IFCPERSONANDORGANIZATION(#12,#13,$); diff --git a/test/files/pse001/fail-pse001-scenario02-wrong_ifcproperty_type.ifc b/test/files/pse001/fail-pse001-scenario02-wrong_ifcproperty_type.ifc index 342d1fae..c24b7145 100644 --- a/test/files/pse001/fail-pse001-scenario02-wrong_ifcproperty_type.ifc +++ b/test/files/pse001/fail-pse001-scenario02-wrong_ifcproperty_type.ifc @@ -14,6 +14,6 @@ DATA; #7=IFCWALL('2nJrDaLQfJ1QPhdJR0o97J',$,$,$,$,$,$,$,$); #8=IFCPROPERTYSET('16MocU_IDOF8_x3Iqllz0d',$,'Pset_WallCommon',$,(#11)); #9=IFCRELDEFINESBYPROPERTIES('1xdwj8qGXK4hzoNbvMdXJW',$,$,$,(#7),#8); -#11=IFCPROPERTYSINGLEVALUE('Status',$,); +#11=IFCPROPERTYSINGLEVALUE('Status',$,IFCLABEL('NEW'),$); ENDSEC; END-ISO-10303-21; diff --git a/test/files/pse001/fail-pse001-scenario03-custom_pset_prefix.ifc b/test/files/pse001/fail-pse001-scenario03-custom_pset_prefix.ifc index 80a4365e..a18b7a25 100644 --- a/test/files/pse001/fail-pse001-scenario03-custom_pset_prefix.ifc +++ b/test/files/pse001/fail-pse001-scenario03-custom_pset_prefix.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); diff --git a/test/files/pse001/fail-pse001-scenario03-pset_misassigned.ifc b/test/files/pse001/fail-pse001-scenario03-pset_misassigned.ifc index be18543e..d9e85c7d 100644 --- a/test/files/pse001/fail-pse001-scenario03-pset_misassigned.ifc +++ b/test/files/pse001/fail-pse001-scenario03-pset_misassigned.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); diff --git a/test/files/pse001/fail-pse001-scenario03-pset_type_misassigned.ifc b/test/files/pse001/fail-pse001-scenario03-pset_type_misassigned.ifc index 929f72d9..19df343c 100644 --- a/test/files/pse001/fail-pse001-scenario03-pset_type_misassigned.ifc +++ b/test/files/pse001/fail-pse001-scenario03-pset_type_misassigned.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); @@ -11,7 +11,7 @@ DATA; #4=IFCSIUNIT(*,.VOLUMEUNIT.,.MILLI.,.CUBIC_METRE.); #5=IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); #6=IFCUNITASSIGNMENT((#5,#4,#2,#3)); -#7=IfcWallType('2nJrDaLQfJ1QPhdJR0o97J',$,$,$,$,(#8),$,$,$,$); +#7=IFCWALLTYPE('2nJrDaLQfJ1QPhdJR0o97J',$,$,$,$,(#8),$,$,$,$); #8=IFCPROPERTYSET('16MocU_IDOF8_x3Iqllz0d',$,'Pset_WindowCommon',$,(#11)); #10=IFCPROPERTYENUMERATION('Status',(IFCLABEL('NEW'),IFCLABEL('EXISTING'),IFCLABEL('DEMOLISH'),IFCLABEL('TEMPORARY'),IFCLABEL('OTHER'),IFCLABEL('NOTKNOWN'),IFCLABEL('UNSET')),$); #11=IFCPROPERTYENUMERATEDVALUE('Status',$,(IFCLABEL('EXISTING'),IFCLABEL('DEMOLISH')),#10); diff --git a/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_data_type.ifc b/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_data_type.ifc index cab7ed79..a9d58596 100644 --- a/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_data_type.ifc +++ b/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_data_type.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); diff --git a/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_name.ifc b/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_name.ifc index 8fc97826..00fb81c9 100644 --- a/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_name.ifc +++ b/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_name.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); diff --git a/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_type.ifc b/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_type.ifc index 5f7db0e6..87440443 100644 --- a/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_type.ifc +++ b/test/files/pse001/fail-pse001-scenario03-wrong_ifcproperty_type.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); @@ -14,6 +14,6 @@ DATA; #7=IFCWALL('2nJrDaLQfJ1QPhdJR0o97J',$,$,$,$,$,$,$,$); #8=IFCPROPERTYSET('16MocU_IDOF8_x3Iqllz0d',$,'Pset_WallCommon',$,(#11)); #9=IFCRELDEFINESBYPROPERTIES('1xdwj8qGXK4hzoNbvMdXJW',$,$,$,(#7),#8); -#11=IFCPROPERTYSINGLEVALUE('Status',$,); +#11=IFCPROPERTYSINGLEVALUE('Status',$,IFCLABEL('NEW'),$); ENDSEC; END-ISO-10303-21; diff --git a/test/files/pse001/fail-pse001-scenario03-wrong_template_type.ifc b/test/files/pse001/fail-pse001-scenario03-wrong_template_type.ifc index 583b00ca..b33d528b 100644 --- a/test/files/pse001/fail-pse001-scenario03-wrong_template_type.ifc +++ b/test/files/pse001/fail-pse001-scenario03-wrong_template_type.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); diff --git a/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_2x3.ifc b/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_2x3.ifc index 8403a71d..df5ab314 100644 --- a/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_2x3.ifc +++ b/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_2x3.ifc @@ -14,7 +14,7 @@ DATA; #7=IFCWALL('2nJrDaLQfJ1QPhdJR0o97J',#16,$,$,$,$,$,$); #8=IFCPROPERTYSET('16MocU_IDOF8_x3Iqllz0d',#16,'Mywall',$,(#11)); #9=IFCRELDEFINESBYPROPERTIES('1xdwj8qGXK4hzoNbvMdXJW',#16,$,$,(#7),#8); -#11=IFCPROPERTYSINGLEVALUE('IsExternal',$,); +#11=IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.F.),$); #12=IFCPERSON($,$,'',$,$,$,$,$); #13=IFCORGANIZATION($,'',$,$,$); #14=IFCPERSONANDORGANIZATION(#12,#13,$); diff --git a/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_4x3.ifc b/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_4x3.ifc index 2476e08f..f4763b62 100644 --- a/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_4x3.ifc +++ b/test/files/pse001/na-pse001-ifcpropertyset_name_no_pset_4x3.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); diff --git a/test/files/pse001/pass-pse001-ifcpropertyset_name_4x3.ifc b/test/files/pse001/pass-pse001-ifcpropertyset_name_4x3.ifc index ec096085..2286bf00 100644 --- a/test/files/pse001/pass-pse001-ifcpropertyset_name_4x3.ifc +++ b/test/files/pse001/pass-pse001-ifcpropertyset_name_4x3.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); diff --git a/test/files/pse001/pass-pse001-ifcpropertyset_type_check_4x3.ifc b/test/files/pse001/pass-pse001-ifcpropertyset_type_check_4x3.ifc index ff99b6ff..1ca8863c 100644 --- a/test/files/pse001/pass-pse001-ifcpropertyset_type_check_4x3.ifc +++ b/test/files/pse001/pass-pse001-ifcpropertyset_type_check_4x3.ifc @@ -2,7 +2,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); FILE_NAME('','2022-10-07T13:48:43',(),(),'IfcOpenShell v0.7.0-dc67287d','IfcOpenShell v0.7.0-dc67287d',''); -FILE_SCHEMA(('IFC4X3')); +FILE_SCHEMA(('IFC4X3_ADD2')); ENDSEC; DATA; #1=IFCPROJECT('1hqIFTRjfV6AWq_bMtnZwI',$,'PSE001',$,$,$,$,$,#6); @@ -11,7 +11,7 @@ DATA; #4=IFCSIUNIT(*,.VOLUMEUNIT.,.MILLI.,.CUBIC_METRE.); #5=IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); #6=IFCUNITASSIGNMENT((#5,#4,#2,#3)); -#7=IfcWallType('2nJrDaLQfJ1QPhdJR0o97J',$,$,$,$,(#8),$,$,$,$); +#7=IFCWALLTYPE('2nJrDaLQfJ1QPhdJR0o97J',$,$,$,$,(#8),$,$,$,$); #8=IFCPROPERTYSET('16MocU_IDOF8_x3Iqllz0d',$,'Pset_WallCommon',$,(#11)); #10=IFCPROPERTYENUMERATION('Status',(IFCLABEL('NEW'),IFCLABEL('EXISTING'),IFCLABEL('DEMOLISH'),IFCLABEL('TEMPORARY'),IFCLABEL('OTHER'),IFCLABEL('NOTKNOWN'),IFCLABEL('UNSET')),$); #11=IFCPROPERTYENUMERATEDVALUE('Status',$,(IFCLABEL('EXISTING'),IFCLABEL('DEMOLISH')),#10); diff --git a/test/files/swe001/README.md b/test/files/swe001/README.md new file mode 100644 index 00000000..975645ed --- /dev/null +++ b/test/files/swe001/README.md @@ -0,0 +1,30 @@ +![images.png](images.png) + +| File name | Expected result | Description | +| --- | --- | --- | +| pass-swe001-IfcArbitraryClosedProfileDef-non\_intersecting\_tangent-compcurve.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-rect\_redundant-poly.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-parallel\_concave-poly.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-parallel\_rect-indexed.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-parallel\_rect-poly.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-parallel\_concave-indexed.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-rect\_near\_colinear\_cross-indexed.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-rect\_near\_colinear\_cross-poly.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| pass-swe001-IfcArbitraryClosedProfileDef-rect\_redundant-indexed.ifc | pass | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-concave\_parallel\_crossing-poly.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-concave\_non\_parallel\_crossing-poly.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-concave\_parallel\_almost\_crossing-indexed.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-concave\_parallel\_almost\_crossing-poly.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-concave\_parallel\_crossing-indexed.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-intersecting\_arc-compcurve.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-concave\_non\_parallel\_crossing-indexed.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-rect\_colinear\_cross-indexed.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-rect\_colinear\_cross-poly.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-single\_point\_touching-indexed.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-single\_point\_touching-poly.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | +| fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.ifc | fail | Result 1: {'Instance\_id': '', 'Expected': '', 'Observed': ''} | + diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.ifc new file mode 100644 index 00000000..0f7bf3ae --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3fdG4UeSn4wxeXZ0nFoBkX',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,1.),(0.,0.),(1.,0.),(1.,1.),(0.6666666,1.),(0.6666666,0.5),(0.3333333,-0.5),(0.3333333,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,6)),IFCLINEINDEX((6,7)),IFCLINEINDEX((7,8)),IFCLINEINDEX((8,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('1fOBS55YvCuBzdjvObDqp6',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.png new file mode 100644 index 00000000..ac2c6e65 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.ifc new file mode 100644 index 00000000..9b90ff9b --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.ifc @@ -0,0 +1,47 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3tlL3lTaT2ORjKSlYUBKU4',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,1.)); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCCARTESIANPOINT((1.,0.)); +#25=IFCCARTESIANPOINT((1.,1.)); +#26=IFCCARTESIANPOINT((0.6666666,1.)); +#27=IFCCARTESIANPOINT((0.6666666,0.5)); +#28=IFCCARTESIANPOINT((0.3333333,-0.5)); +#29=IFCCARTESIANPOINT((0.3333333,1.)); +#30=IFCPOLYLINE((#22,#23,#24,#25,#26,#27,#28,#29,#22)); +#31=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#30); +#32=IFCDIRECTION((0.,0.,1.)); +#33=IFCEXTRUDEDAREASOLID(#31,$,#32,1.); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('0xANUkD3n4MQga8I_wKNrE',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.png new file mode 100644 index 00000000..52a8d2c2 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.ifc new file mode 100644 index 00000000..f3dcc074 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0BifRH$vbDagf3ubPokzJ6',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,1.),(0.,0.),(1.,0.),(1.,1.),(0.6666666,1.),(0.6666666,1.E-10),(0.3333333,1.E-10),(0.3333333,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,6)),IFCLINEINDEX((6,7)),IFCLINEINDEX((7,8)),IFCLINEINDEX((8,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('24Ikkrhjj2TBz4qN1HG2w8',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.png new file mode 100644 index 00000000..6f3e0fb5 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.ifc new file mode 100644 index 00000000..1b1eff91 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.ifc @@ -0,0 +1,47 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3Fd$nXthr9h9cfBwW3xiyQ',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,1.)); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCCARTESIANPOINT((1.,0.)); +#25=IFCCARTESIANPOINT((1.,1.)); +#26=IFCCARTESIANPOINT((0.6666666,1.)); +#27=IFCCARTESIANPOINT((0.6666666,1.E-10)); +#28=IFCCARTESIANPOINT((0.3333333,1.E-10)); +#29=IFCCARTESIANPOINT((0.3333333,1.)); +#30=IFCPOLYLINE((#22,#23,#24,#25,#26,#27,#28,#29,#22)); +#31=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#30); +#32=IFCDIRECTION((0.,0.,1.)); +#33=IFCEXTRUDEDAREASOLID(#31,$,#32,1.); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('2sqAmFHKL1gAo8Gat4XDYj',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.png new file mode 100644 index 00000000..82c582eb Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.ifc new file mode 100644 index 00000000..cd831c57 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('1ed3gf0SD0RPHN0V8d1Z_A',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,1.),(0.,0.),(1.,0.),(1.,1.),(0.6666666,1.),(0.6666666,-0.5),(0.3333333,-0.5),(0.3333333,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,6)),IFCLINEINDEX((6,7)),IFCLINEINDEX((7,8)),IFCLINEINDEX((8,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('3aBIEzioj7ABpY3G3$4ZJ5',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.png new file mode 100644 index 00000000..1c7ef8cf Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.ifc new file mode 100644 index 00000000..9f26a50c --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.ifc @@ -0,0 +1,47 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2rwbseAk11hxgS5d5$DRh4',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,1.)); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCCARTESIANPOINT((1.,0.)); +#25=IFCCARTESIANPOINT((1.,1.)); +#26=IFCCARTESIANPOINT((0.6666666,1.)); +#27=IFCCARTESIANPOINT((0.6666666,-0.5)); +#28=IFCCARTESIANPOINT((0.3333333,-0.5)); +#29=IFCCARTESIANPOINT((0.3333333,1.)); +#30=IFCPOLYLINE((#22,#23,#24,#25,#26,#27,#28,#29,#22)); +#31=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#30); +#32=IFCDIRECTION((0.,0.,1.)); +#33=IFCEXTRUDEDAREASOLID(#31,$,#32,1.); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('0CpenQfib5dgIe3MNUTjJx',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.png new file mode 100644 index 00000000..55d506b6 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.ifc new file mode 100644 index 00000000..55cdaf68 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.ifc @@ -0,0 +1,60 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('1fDFTHH0T55PoVi4DF7117',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((2.,0.)); +#24=IFCPOLYLINE((#22,#23)); +#25=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#24); +#26=IFCCARTESIANPOINT((2.,0.)); +#27=IFCCARTESIANPOINT((2.,1.)); +#28=IFCPOLYLINE((#26,#27)); +#29=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#28); +#30=IFCCARTESIANPOINT((2.,0.)); +#31=IFCAXIS2PLACEMENT2D(#30,$); +#32=IFCCIRCLE(#31,1.); +#33=IFCTRIMMEDCURVE(#32,(IFCPARAMETERVALUE(1.5707963267949)),(IFCPARAMETERVALUE(4.71238898038469)),.T.,.PARAMETER.); +#34=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#33); +#35=IFCCARTESIANPOINT((2.,-1.)); +#36=IFCCARTESIANPOINT((0.,-2.)); +#37=IFCPOLYLINE((#35,#36)); +#38=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#37); +#39=IFCCARTESIANPOINT((0.,-2.)); +#40=IFCCARTESIANPOINT((0.,0.)); +#41=IFCPOLYLINE((#39,#40)); +#42=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#41); +#43=IFCCOMPOSITECURVE((#25,#29,#34,#38,#42),$); +#44=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#43); +#45=IFCDIRECTION((0.,0.,1.)); +#46=IFCEXTRUDEDAREASOLID(#44,$,#45,1.); +#47=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#46)); +#48=IFCPRODUCTDEFINITIONSHAPE($,$,(#47)); +#49=IFCCARTESIANPOINT((0.,0.,0.)); +#50=IFCAXIS2PLACEMENT3D(#49,$,$); +#51=IFCLOCALPLACEMENT($,#50); +#52=IFCBUILDINGELEMENTPROXY('2WpzeQd8LEYOBjn3kFtsjv',$,'Proxy',$,$,#51,#48,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.png new file mode 100644 index 00000000..502770d0 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.ifc new file mode 100644 index 00000000..10d9fd9a --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2sLJwd81TE6wBgbk4myCy1',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,0.),(3.,0.),(2.,0.),(2.,2.),(0.,2.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('1evou13IrCXevqE$2uBMyP',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.png new file mode 100644 index 00000000..0247c58b Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.ifc new file mode 100644 index 00000000..59c95d47 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('01LAW7Nxv4MevuWbKAihb$',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((3.,0.)); +#24=IFCCARTESIANPOINT((2.,0.)); +#25=IFCCARTESIANPOINT((2.,2.)); +#26=IFCCARTESIANPOINT((0.,2.)); +#27=IFCPOLYLINE((#22,#23,#24,#25,#26,#22)); +#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27); +#29=IFCDIRECTION((0.,0.,1.)); +#30=IFCEXTRUDEDAREASOLID(#28,$,#29,1.); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('3VQAvw9HT1Yws_Jq7b1Q__',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.png new file mode 100644 index 00000000..ef1ca9c0 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-indexed.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-indexed.ifc new file mode 100644 index 00000000..75d46134 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('25QMHHzyj5CRdiBkV6fEq7',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,1.),(0.,0.),(1.,0.),(1.,1.),(0.6666666,1.),(0.6666666,0.5),(0.3333333,0.),(0.3333333,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,6)),IFCLINEINDEX((6,7)),IFCLINEINDEX((7,8)),IFCLINEINDEX((8,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('0de$nPLZLDLPFdRNBUAEq5',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-indexed.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-indexed.png new file mode 100644 index 00000000..809e242c Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-indexed.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-poly.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-poly.ifc new file mode 100644 index 00000000..31ffa865 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-poly.ifc @@ -0,0 +1,47 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('03vEDSRjf3pwjxgeNj1wEi',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,1.)); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCCARTESIANPOINT((1.,0.)); +#25=IFCCARTESIANPOINT((1.,1.)); +#26=IFCCARTESIANPOINT((0.6666666,1.)); +#27=IFCCARTESIANPOINT((0.6666666,0.5)); +#28=IFCCARTESIANPOINT((0.3333333,0.)); +#29=IFCCARTESIANPOINT((0.3333333,1.)); +#30=IFCPOLYLINE((#22,#23,#24,#25,#26,#27,#28,#29,#22)); +#31=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#30); +#32=IFCDIRECTION((0.,0.,1.)); +#33=IFCEXTRUDEDAREASOLID(#31,$,#32,1.); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('3ppY3z0P59GRbtb8i25QwR',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-poly.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-poly.png new file mode 100644 index 00000000..b182489d Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-single_point_touching-poly.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.ifc new file mode 100644 index 00000000..ed1754ee --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3bvutnSrn5CRbChJTVAViq',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,0.),(1.,0.),(0.,1.),(1.,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('2ZAVQgHU147fD8XT78mMnY',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.png new file mode 100644 index 00000000..17d30274 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-indexed.png differ diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.ifc b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.ifc new file mode 100644 index 00000000..b7d753d5 --- /dev/null +++ b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.ifc @@ -0,0 +1,43 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3x9QelWl53feFyrQ$sHz6Y',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.)); +#24=IFCCARTESIANPOINT((0.,1.)); +#25=IFCCARTESIANPOINT((1.,1.)); +#26=IFCPOLYLINE((#22,#23,#24,#25,#22)); +#27=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#26); +#28=IFCDIRECTION((0.,0.,1.)); +#29=IFCEXTRUDEDAREASOLID(#27,$,#28,1.); +#30=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#29)); +#31=IFCPRODUCTDEFINITIONSHAPE($,$,(#30)); +#32=IFCCARTESIANPOINT((0.,0.,0.)); +#33=IFCAXIS2PLACEMENT3D(#32,$,$); +#34=IFCLOCALPLACEMENT($,#33); +#35=IFCBUILDINGELEMENTPROXY('318GNV9Wr5Pw7sw8K40Rxg',$,'Proxy',$,$,#34,#31,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.png b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.png new file mode 100644 index 00000000..79268661 Binary files /dev/null and b/test/files/swe001/fail-swe001-IfcArbitraryClosedProfileDef-zigzag-poly.png differ diff --git a/test/files/swe001/generate.py b/test/files/swe001/generate.py new file mode 100644 index 00000000..d1be1d55 --- /dev/null +++ b/test/files/swe001/generate.py @@ -0,0 +1,215 @@ +import itertools +import math +import ifcopenshell +import ifcopenshell.guid +import ifcopenshell.template + +# polies + +rect = [ + (0., 0.), + (1., 0.), + (1., 1.), + (0., 1.) +] + +zigzag = [ + (0., 0.), + (1., 0.), + (0., 1.), + (1., 1.) +] + +parallel_rect = [ + (0., 0.), + (0.5, 0.), + (1., 0.), + (1., 1.), + (0., 1.) +] + +parallel_concave = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.5], + [0.3333333, 1.0] +] + +concave_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.5], + [0.3333333, 1.0] +] + +concave_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, -0.5], + [0.3333333, -0.5], + [0.3333333, 1.0] +] + +concave_parallel_almost_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 1.e-10], + [0.3333333, 1.e-10], + [0.3333333, 1.0] +] + +concave_non_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, -0.5], + [0.3333333, 1.0] +] + +single_point_touching = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.0], + [0.3333333, 1.0] +] + +rect_redundant = [ + [0.0, 0.0], + [2.0, 0.0], + [3.0, 0.0], + [3.0, 2.0], + [0.0, 2.0], +] + +rect_colinear_cross = [ + [0.0, 0.0], + [3.0, 0.0], + [2.0, 0.0], + [2.0, 2.0], + [0.0, 2.0], +] + +rect_near_colinear_cross = [ + [0.0, 0.0], + [3.0, 0.0], + [2.0, 0.001], + [2.0, 2.0], + [0.0, 2.0], +] + +# comp curve + +pizza = [ + ['l', (0.0, 0.0), (1.0, 0.0)], + ['l', (1.0, 0.0), (1.0, 1.0)], + ['c', (1.0, 0.0), 1.0, True, math.pi / 2., math.pi] +] + +intersecting_arc = [ + ['l', (0.0, 0.0), (2.0, 0.0)], + ['l', (2.0, 0.0), (2.0, 1.0)], + ['c', (2.0, 0.0), 1.0, True, math.pi / 2., 3 * math.pi / 2.], + ['l', (2.0, -1.0), (0., -2.0)], + ['l', (0., -2.0), (0.0, 0.0)], +] + +non_intersecting_tangent = [ + ['l', (0.0, 0.0), (2.0, 0.0)], + ['l', (2.0, 0.0), (2.0, 2.0)], + ['c', (1.0, 2.0), 1.0, False, 0., math.pi], + ['l', (0.0, 2.0), (0., 0.0)], +] + +is_valid = lambda shp: shp in (rect, parallel_rect, parallel_concave, pizza, non_intersecting_tangent, rect_redundant, rect_near_colinear_cross) + +def poly(f, shp): + ps = list(map(f.createIfcCartesianPoint, shp)) + ps += [ps[0]] + return f.createIfcPolyline(ps) + +def indexed(f, shp): + ps = f.createIfcCartesianPointList2D(shp) + return f.createIfcIndexedPolyCurve(ps, [f.createIfcLineIndex([i + 1, (i + 1) % len(shp) + 1]) for i in range(len(shp))]) + +def compcurve(f, shp): + segments = [] + for seg in shp: + match seg: + case ['l', st, en]: + s = f.createIfcPolyline((f.createIfcCartesianPoint(st), f.createIfcCartesianPoint(en))) + case ['c', cent, rad, sense, st, en]: + s = f.createIfcTrimmedCurve( + f.createIfcCircle( + f.createIfcAxis2Placement2D(f.createIfcCartesianPoint(cent)), + rad + ), + [f.createIfcParameterValue(st)], + [f.createIfcParameterValue(en)], + sense, + 'PARAMETER' + ) + segments.append(f.createIfcCompositeCurveSegment('CONTINUOUS', True, s)) + return f.createIfcCompositeCurve(segments) + +def main(): + def process(fn, shp): + isv = is_valid(shp) + shp_name = [name for name, val in globals().items() if val is shp][0] + f = ifcopenshell.template.create() + + # add subcontext so that GEM052 warning is not raised + f.createIfcGeometricRepresentationSubcontext('Body', 'Model', None, None, None, None, f.by_type('IFCGEOMETRICREPRESENTATIONCONTEXT')[0], 1E-2, 'MODEL_VIEW', None) + + # set to radians + f.by_type('IfcUnitAssignment')[0].Units = f.by_type('IfcUnitAssignment')[0].Units[:-1] + (f[16],) + f.remove(f[18]) + + prof = f.createIfcArbitraryClosedProfileDef('AREA', None, fn(f, shp)) + ext = f.createIfcExtrudedAreaSolid( + prof, None, f.createIfcDirection((0., 0., 1.)), 1. + ) + ext_shape = f.createIfcShapeRepresentation(f.by_type('IfcRepresentationContext')[0], 'Body', 'SweptSolid', [ext]) + + prod_def = f.createIfcProductDefinitionShape(None, None, [ext_shape]) + product = f.createIfcBuildingElementProxy( + ifcopenshell.guid.new(), + ObjectPlacement=f.createIfcLocalPlacement( + RelativePlacement=f.createIfcAxis2Placement3D( + f.createIfcCartesianPoint((0., 0., 0.)))), + Name="Proxy", + Representation=prod_def + ) + fail_or_pass = "fail" if not isv else "pass" + model_file_name = f'{fail_or_pass}-swe001-IfcArbitraryClosedProfileDef-{shp_name}-{fn.__name__}.ifc' + header = f.wrapped_data.header + header.file_name.name = model_file_name + + f.write(model_file_name) + for fn, shp in itertools.product((poly, indexed), (rect, zigzag, parallel_rect, parallel_concave, concave_parallel_crossing, concave_parallel_crossing, concave_parallel_almost_crossing, concave_non_parallel_crossing, single_point_touching, rect_redundant, rect_colinear_cross, rect_near_colinear_cross)): + process(fn, shp) + for shp in (pizza, intersecting_arc, non_intersecting_tangent): + process(compcurve, shp) + +if __name__ == "__main__": + main() diff --git a/test/files/swe001/images.png b/test/files/swe001/images.png new file mode 100644 index 00000000..e2e0ce08 Binary files /dev/null and b/test/files/swe001/images.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.ifc new file mode 100644 index 00000000..20da6959 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.ifc @@ -0,0 +1,56 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2S3BpDK9X0Ff9pgKCBj7s9',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((2.,0.)); +#24=IFCPOLYLINE((#22,#23)); +#25=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#24); +#26=IFCCARTESIANPOINT((2.,0.)); +#27=IFCCARTESIANPOINT((2.,2.)); +#28=IFCPOLYLINE((#26,#27)); +#29=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#28); +#30=IFCCARTESIANPOINT((1.,2.)); +#31=IFCAXIS2PLACEMENT2D(#30,$); +#32=IFCCIRCLE(#31,1.); +#33=IFCTRIMMEDCURVE(#32,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(3.14159265358979)),.F.,.PARAMETER.); +#34=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#33); +#35=IFCCARTESIANPOINT((0.,2.)); +#36=IFCCARTESIANPOINT((0.,0.)); +#37=IFCPOLYLINE((#35,#36)); +#38=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#37); +#39=IFCCOMPOSITECURVE((#25,#29,#34,#38),$); +#40=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#39); +#41=IFCDIRECTION((0.,0.,1.)); +#42=IFCEXTRUDEDAREASOLID(#40,$,#41,1.); +#43=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#42)); +#44=IFCPRODUCTDEFINITIONSHAPE($,$,(#43)); +#45=IFCCARTESIANPOINT((0.,0.,0.)); +#46=IFCAXIS2PLACEMENT3D(#45,$,$); +#47=IFCLOCALPLACEMENT($,#46); +#48=IFCBUILDINGELEMENTPROXY('3Wtf279Qf8zfTjUYvAr0lx',$,'Proxy',$,$,#47,#44,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.png new file mode 100644 index 00000000..14048b2e Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-indexed.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-indexed.ifc new file mode 100644 index 00000000..d3c026a9 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2uzu8$3ojAh8PDAbsSKXNE',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,1.),(0.,0.),(1.,0.),(1.,1.),(0.6666666,1.),(0.6666666,0.5),(0.3333333,0.5),(0.3333333,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,6)),IFCLINEINDEX((6,7)),IFCLINEINDEX((7,8)),IFCLINEINDEX((8,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('13l973XzDB4PUqctCvPgCs',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-indexed.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-indexed.png new file mode 100644 index 00000000..8c0c1d64 Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-indexed.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-poly.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-poly.ifc new file mode 100644 index 00000000..8ec73613 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-poly.ifc @@ -0,0 +1,47 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2N8E3QwpXDT82glZ_GsvGB',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,1.)); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCCARTESIANPOINT((1.,0.)); +#25=IFCCARTESIANPOINT((1.,1.)); +#26=IFCCARTESIANPOINT((0.6666666,1.)); +#27=IFCCARTESIANPOINT((0.6666666,0.5)); +#28=IFCCARTESIANPOINT((0.3333333,0.5)); +#29=IFCCARTESIANPOINT((0.3333333,1.)); +#30=IFCPOLYLINE((#22,#23,#24,#25,#26,#27,#28,#29,#22)); +#31=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#30); +#32=IFCDIRECTION((0.,0.,1.)); +#33=IFCEXTRUDEDAREASOLID(#31,$,#32,1.); +#34=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#33)); +#35=IFCPRODUCTDEFINITIONSHAPE($,$,(#34)); +#36=IFCCARTESIANPOINT((0.,0.,0.)); +#37=IFCAXIS2PLACEMENT3D(#36,$,$); +#38=IFCLOCALPLACEMENT($,#37); +#39=IFCBUILDINGELEMENTPROXY('0Ve0aRGLPFxxaRAKyJLkLQ',$,'Proxy',$,$,#38,#35,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-poly.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-poly.png new file mode 100644 index 00000000..35b1046e Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_concave-poly.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-indexed.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-indexed.ifc new file mode 100644 index 00000000..0ce2278e --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0QTxUA1NPAtRYRxYBuiypU',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.5,0.),(1.,0.),(1.,1.),(0.,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('2ZMkqzo311Nu5SzVcC2Y8a',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-indexed.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-indexed.png new file mode 100644 index 00000000..4e755b90 Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-indexed.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-poly.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-poly.ifc new file mode 100644 index 00000000..c08e37eb --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-poly.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('1sAjCd4nj0secngarHxsm$',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((0.5,0.)); +#24=IFCCARTESIANPOINT((1.,0.)); +#25=IFCCARTESIANPOINT((1.,1.)); +#26=IFCCARTESIANPOINT((0.,1.)); +#27=IFCPOLYLINE((#22,#23,#24,#25,#26,#22)); +#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27); +#29=IFCDIRECTION((0.,0.,1.)); +#30=IFCEXTRUDEDAREASOLID(#28,$,#29,1.); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('2l7$5lKvn38QTf5y7nB6Wq',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-poly.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-poly.png new file mode 100644 index 00000000..c0a08985 Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-parallel_rect-poly.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.ifc new file mode 100644 index 00000000..45bf4168 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.ifc @@ -0,0 +1,52 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2iyjtPP1z1WhwIqHcEY9jA',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.)); +#24=IFCPOLYLINE((#22,#23)); +#25=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#24); +#26=IFCCARTESIANPOINT((1.,0.)); +#27=IFCCARTESIANPOINT((1.,1.)); +#28=IFCPOLYLINE((#26,#27)); +#29=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#28); +#30=IFCCARTESIANPOINT((1.,0.)); +#31=IFCAXIS2PLACEMENT2D(#30,$); +#32=IFCCIRCLE(#31,1.); +#33=IFCTRIMMEDCURVE(#32,(IFCPARAMETERVALUE(1.5707963267949)),(IFCPARAMETERVALUE(3.14159265358979)),.T.,.PARAMETER.); +#34=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#33); +#35=IFCCOMPOSITECURVE((#25,#29,#34),$); +#36=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#35); +#37=IFCDIRECTION((0.,0.,1.)); +#38=IFCEXTRUDEDAREASOLID(#36,$,#37,1.); +#39=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#38)); +#40=IFCPRODUCTDEFINITIONSHAPE($,$,(#39)); +#41=IFCCARTESIANPOINT((0.,0.,0.)); +#42=IFCAXIS2PLACEMENT3D(#41,$,$); +#43=IFCLOCALPLACEMENT($,#42); +#44=IFCBUILDINGELEMENTPROXY('2pum9e79z748YTqrgmwqa_',$,'Proxy',$,$,#43,#40,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.png new file mode 100644 index 00000000..a08e772b Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-pizza-compcurve.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.ifc new file mode 100644 index 00000000..83f5f4e5 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3FW0KGaF95Avu63MUf3ray',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,0.),(1.,0.),(1.,1.),(0.,1.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('0$ucSorOz0_w5BWwcwrfI3',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.png new file mode 100644 index 00000000..fd8c1f9f Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-indexed.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.ifc new file mode 100644 index 00000000..2b360972 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.ifc @@ -0,0 +1,43 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('21_Ke$b9fBqAVTUN3sk955',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((1.,0.)); +#24=IFCCARTESIANPOINT((1.,1.)); +#25=IFCCARTESIANPOINT((0.,1.)); +#26=IFCPOLYLINE((#22,#23,#24,#25,#22)); +#27=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#26); +#28=IFCDIRECTION((0.,0.,1.)); +#29=IFCEXTRUDEDAREASOLID(#27,$,#28,1.); +#30=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#29)); +#31=IFCPRODUCTDEFINITIONSHAPE($,$,(#30)); +#32=IFCCARTESIANPOINT((0.,0.,0.)); +#33=IFCAXIS2PLACEMENT3D(#32,$,$); +#34=IFCLOCALPLACEMENT($,#33); +#35=IFCBUILDINGELEMENTPROXY('3KALAZWQvD1x3pxTWqUKAm',$,'Proxy',$,$,#34,#31,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.png new file mode 100644 index 00000000..ed0e2de1 Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect-poly.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.ifc new file mode 100644 index 00000000..fa64e1f1 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0GrzBoaXvD8PDfNwKV$niH',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,0.),(3.,0.),(2.,0.001),(2.,2.),(0.,2.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('0yPlKfqRH4HOU1L8DS8xgD',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.png new file mode 100644 index 00000000..03b9157a Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.ifc new file mode 100644 index 00000000..8a7ef53d --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3bgYf0qYb4QPW4oO6zCVRe',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((3.,0.)); +#24=IFCCARTESIANPOINT((2.,0.001)); +#25=IFCCARTESIANPOINT((2.,2.)); +#26=IFCCARTESIANPOINT((0.,2.)); +#27=IFCPOLYLINE((#22,#23,#24,#25,#26,#22)); +#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27); +#29=IFCDIRECTION((0.,0.,1.)); +#30=IFCEXTRUDEDAREASOLID(#28,$,#29,1.); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('0Tmrp_dAb8swT4NjR_XsC4',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.png new file mode 100644 index 00000000..2a19c510 Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-indexed.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-indexed.ifc new file mode 100644 index 00000000..08b48b0c --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-indexed.ifc @@ -0,0 +1,40 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-indexed.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2_dW0tTyj878phSMY_gCzy',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINTLIST2D(((0.,0.),(2.,0.),(3.,0.),(3.,2.),(0.,2.))); +#23=IFCINDEXEDPOLYCURVE(#22,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,5)),IFCLINEINDEX((5,1))),$); +#24=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#23); +#25=IFCDIRECTION((0.,0.,1.)); +#26=IFCEXTRUDEDAREASOLID(#24,$,#25,1.); +#27=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#26)); +#28=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#29=IFCCARTESIANPOINT((0.,0.,0.)); +#30=IFCAXIS2PLACEMENT3D(#29,$,$); +#31=IFCLOCALPLACEMENT($,#30); +#32=IFCBUILDINGELEMENTPROXY('3W_3ZXTR93sR2czURZSU66',$,'Proxy',$,$,#31,#28,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-indexed.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-indexed.png new file mode 100644 index 00000000..d27fab40 Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-indexed.png differ diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-poly.ifc b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-poly.ifc new file mode 100644 index 00000000..e7312ea4 --- /dev/null +++ b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-poly.ifc @@ -0,0 +1,44 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-poly.ifc','2024-10-05T20:25:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728159945); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2InOqoPgP4GePhoKhzabFW',#5,'',$,$,$,$,(#11),#19); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#22=IFCCARTESIANPOINT((0.,0.)); +#23=IFCCARTESIANPOINT((2.,0.)); +#24=IFCCARTESIANPOINT((3.,0.)); +#25=IFCCARTESIANPOINT((3.,2.)); +#26=IFCCARTESIANPOINT((0.,2.)); +#27=IFCPOLYLINE((#22,#23,#24,#25,#26,#22)); +#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27); +#29=IFCDIRECTION((0.,0.,1.)); +#30=IFCEXTRUDEDAREASOLID(#28,$,#29,1.); +#31=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#30)); +#32=IFCPRODUCTDEFINITIONSHAPE($,$,(#31)); +#33=IFCCARTESIANPOINT((0.,0.,0.)); +#34=IFCAXIS2PLACEMENT3D(#33,$,$); +#35=IFCLOCALPLACEMENT($,#34); +#36=IFCBUILDINGELEMENTPROXY('3W4qo29uLFNhUuSrQkgBnz',$,'Proxy',$,$,#35,#32,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-poly.png b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-poly.png new file mode 100644 index 00000000..868d438d Binary files /dev/null and b/test/files/swe001/pass-swe001-IfcArbitraryClosedProfileDef-rect_redundant-poly.png differ diff --git a/test/files/swe001/plot.py b/test/files/swe001/plot.py new file mode 100644 index 00000000..1f0339c0 --- /dev/null +++ b/test/files/swe001/plot.py @@ -0,0 +1,34 @@ +import os +import sys, numpy, ifcopenshell, ifcopenshell.geom +import matplotlib +import matplotlib.pyplot as plt + +f = ifcopenshell.open(sys.argv[1]) +p = f.by_type('IfcProfileDef')[0][2] +try: + st = ifcopenshell.geom.settings(INCLUDE_CURVES=True) +except: + st = ifcopenshell.geom.settings(DIMENSIONALITY=ifcopenshell.ifcopenshell_wrapper.CURVES) + +shp = ifcopenshell.geom.create_shape(st, p) +print(ifcopenshell.get_log()) +vs = numpy.array(shp.verts).reshape((-1, 3)) +ed = numpy.array(shp.edges).reshape((-1, 2))[:,0] +ed = numpy.concatenate((ed, [ed[0]])) +cs = vs[ed][:,0:2] +plt.figure() + +fn = os.path.basename(sys.argv[1]) + +if fn.startswith('fail-'): + for axis in ['top','bottom','left','right']: + plt.gca().spines[axis].set_linewidth(4) + plt.gca().spines[axis].set_color('#ff0000') + +plt.plot(*cs.T) +plt.title(' '.join(fn.split('-')[3:])[:-4].replace('_', ' ')) + +try: + plt.savefig(sys.argv[2]) +except: + plt.show() diff --git a/test/files/swe001/run.bat b/test/files/swe001/run.bat new file mode 100644 index 00000000..03b8a8fb --- /dev/null +++ b/test/files/swe001/run.bat @@ -0,0 +1,25 @@ +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.ifc fail-gem010-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-indexed.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.ifc fail-gem010-IfcArbitraryClosedProfileDef-concave_non_parallel_crossing-poly.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.ifc fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-indexed.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.ifc fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_almost_crossing-poly.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.ifc fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_crossing-indexed.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.ifc fail-gem010-IfcArbitraryClosedProfileDef-concave_parallel_crossing-poly.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.ifc fail-gem010-IfcArbitraryClosedProfileDef-intersecting_arc-compcurve.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.ifc fail-gem010-IfcArbitraryClosedProfileDef-rect_colinear_cross-indexed.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.ifc fail-gem010-IfcArbitraryClosedProfileDef-rect_colinear_cross-poly.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-single_point_touching-indexed.ifc fail-gem010-IfcArbitraryClosedProfileDef-single_point_touching-indexed.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-single_point_touching-poly.ifc fail-gem010-IfcArbitraryClosedProfileDef-single_point_touching-poly.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-zigzag-indexed.ifc fail-gem010-IfcArbitraryClosedProfileDef-zigzag-indexed.png +python plot.py fail-gem010-IfcArbitraryClosedProfileDef-zigzag-poly.ifc fail-gem010-IfcArbitraryClosedProfileDef-zigzag-poly.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.ifc pass-gem010-IfcArbitraryClosedProfileDef-non_intersecting_tangent-compcurve.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-parallel_concave-indexed.ifc pass-gem010-IfcArbitraryClosedProfileDef-parallel_concave-indexed.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-parallel_concave-poly.ifc pass-gem010-IfcArbitraryClosedProfileDef-parallel_concave-poly.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-parallel_rect-indexed.ifc pass-gem010-IfcArbitraryClosedProfileDef-parallel_rect-indexed.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-parallel_rect-poly.ifc pass-gem010-IfcArbitraryClosedProfileDef-parallel_rect-poly.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-pizza-compcurve.ifc pass-gem010-IfcArbitraryClosedProfileDef-pizza-compcurve.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-rect-indexed.ifc pass-gem010-IfcArbitraryClosedProfileDef-rect-indexed.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-rect-poly.ifc pass-gem010-IfcArbitraryClosedProfileDef-rect-poly.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.ifc pass-gem010-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-indexed.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.ifc pass-gem010-IfcArbitraryClosedProfileDef-rect_near_colinear_cross-poly.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-rect_redundant-indexed.ifc pass-gem010-IfcArbitraryClosedProfileDef-rect_redundant-indexed.png +python plot.py pass-gem010-IfcArbitraryClosedProfileDef-rect_redundant-poly.ifc pass-gem010-IfcArbitraryClosedProfileDef-rect_redundant-poly.png diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_non_parallel_crossing.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_non_parallel_crossing.ifc new file mode 100644 index 00000000..adb57d92 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_non_parallel_crossing.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_concave_non_parallel_crossing.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3Wc3BswSb7Q9QtJuyE8bWQ',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('01cfxQZg59Kv0AZGyptzUy',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('121wuk$Tr3MPRAB1YPbgox',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3Zo2wjtnbEVwGJ9_bTvsyG',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('1mg5ZLi$vDIeHJkYmorCB3',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACE((9,10,11,12,13,14,15,16)); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,0.5,0.),(0.3333333,-0.5,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,0.5,1.),(0.3333333,-0.5,1.),(0.3333333,1.,1.))); +#39=IFCPOLYGONALFACESET(#38,.F.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('18PRCgRCH37gfPK6$rtG7b',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('23vFFxycDEHPeHhRunnZVC',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_parallel_almost_crossing.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_parallel_almost_crossing.ifc new file mode 100644 index 00000000..910bd093 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_parallel_almost_crossing.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_concave_parallel_almost_crossing.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2o9hP57QH0ofwPEUjlPbgX',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('0n2yVhLG91d81zBwwOLQ1N',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('297w$tGy58vAa8W9XAlq7I',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3qcTavsCP7eQ_x2riTbRoD',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('3PoWVw5wz9HPAPjcoUVduN',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACE((9,10,11,12,13,14,15,16)); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,1.E-10,0.),(0.3333333,1.E-10,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,1.E-10,1.),(0.3333333,1.E-10,1.),(0.3333333,1.,1.))); +#39=IFCPOLYGONALFACESET(#38,.F.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('04KEzvkK5ADuAQ76Maeljy',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('3Sm_v2LezA1fSPHZ$yI2Ae',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_parallel_crossing.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_parallel_crossing.ifc new file mode 100644 index 00000000..c44d6b05 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_concave_parallel_crossing.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_concave_parallel_crossing.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0tzYio39z8ugvqMWTVjtGG',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1DmFQxOCL0XQDNZd2$dk6b',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2sGiTjbtv6bBzDL0YuYeVD',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('0K5kV6wezAE8OxVF_3GBOA',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('1bV67XyH10iv29cZT8pTgZ',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACE((9,10,11,12,13,14,15,16)); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,-0.5,0.),(0.3333333,-0.5,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,-0.5,1.),(0.3333333,-0.5,1.),(0.3333333,1.,1.))); +#39=IFCPOLYGONALFACESET(#38,.F.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('0knvBK7MD8qfvq7fzs7HnQ',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('1yf9N$5hr1YAqLi761iNpi',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_rect_collinear_cross.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_rect_collinear_cross.ifc new file mode 100644 index 00000000..5c0f5731 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_rect_collinear_cross.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_rect_collinear_cross.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('39v_gUBVX1k8$AAgDbLozP',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('0NAx71i0X90xN3ZzZjGGh_',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('0LZVxoGgn08BxstMKuVflu',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('1Jcga1MxvC78qrAL62WCbl',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2MbnStZzfB8f8LbRE37rXU',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((6,7,8,3,2,1)); +#30=IFCINDEXEDPOLYGONALFACE((8,9,4,3)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACE((6,7,8,9,10)); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(3.,0.,0.),(2.,0.,0.),(2.,2.,0.),(0.,2.,0.),(0.,0.,1.),(3.,0.,1.),(2.,0.,1.),(2.,2.,1.),(0.,2.,1.))); +#36=IFCPOLYGONALFACESET(#35,.F.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('3uK9RxZUz95eWNq3wunCqa',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('3AbLlPXkzCq9J3sYq1cwmY',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_single_point_touching.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_single_point_touching.ifc new file mode 100644 index 00000000..e8d6aad2 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_single_point_touching.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_single_point_touching.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0pD1mXkqr3ww5wrpWl1Z92',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1sG2sVTQD5v9nkOF5x7Ys6',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2whxxyQ3989xJkC0EsV0vO',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('20ACi3Kuj9IA5sFm1Rbtjh',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2v0ITJquP3DgJtY$8rTZG8',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACE((9,10,11,12,13,14,15,16)); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,0.5,0.),(0.3333333,0.,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,0.5,1.),(0.3333333,0.,1.),(0.3333333,1.,1.))); +#39=IFCPOLYGONALFACESET(#38,.F.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('0Bzs4A8B56zxPXm622hNbB',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('0WYEb2sxD5ZBy4$n7NlJS$',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_non_parallel_crossing.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_non_parallel_crossing.ifc new file mode 100644 index 00000000..7302b9f5 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_non_parallel_crossing.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_w_voids_concave_non_parallel_crossing.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3x$kNAJwrCPOWR$vT2hYHx',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('3XKt8aDK58oheIexAkC5QI',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('0mSW$HFpj02uui3$Qdbaf2',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('39jzgAC5172x7QUuN5Va4Q',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('3AMQLAZNPBH9zpqmCSEDPw',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACEWITHVOIDS((9,10,11,12,13,14,15,16),((24,23,22,21,20,19,18,17))); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,0.5,0.),(0.3333333,-0.5,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,0.5,1.),(0.3333333,-0.5,1.),(0.3333333,1.,1.),(0.1,0.2,1.),(0.1,0.1,1.),(0.2,0.1,1.),(0.2,0.2,1.),(0.16666666,0.2,1.),(0.16666666,0.15,1.),(0.13333333,0.05,1.),(0.13333333,0.2,1.))); +#39=IFCPOLYGONALFACESET(#38,.T.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3aK5o6MrT1BuJsZ4tuZzgd',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('0guzWIXvD9KxbLHs3T$3Rn',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_almost_crossing.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_almost_crossing.ifc new file mode 100644 index 00000000..24197c24 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_almost_crossing.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_almost_crossing.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3j$pPgGED8e8Zs3wXmDMs1',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('3J4$YG1$TCQe6Zv05ZMe0f',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('0QSsMCMx555hdxFm88Y9Wb',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3_tSAsuOH1yeg5fDNUqqU1',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2VakJsIgTB$RPAf59L3xUq',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACEWITHVOIDS((9,10,11,12,13,14,15,16),((24,23,22,21,20,19,18,17))); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,1.E-10,0.),(0.3333333,1.E-10,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,1.E-10,1.),(0.3333333,1.E-10,1.),(0.3333333,1.,1.),(0.1,0.2,1.),(0.1,0.1,1.),(0.2,0.1,1.),(0.2,0.2,1.),(0.16666666,0.2,1.),(0.16666666,0.10000000001,1.),(0.13333333,0.10000000001,1.),(0.13333333,0.2,1.))); +#39=IFCPOLYGONALFACESET(#38,.T.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('1_qt8rMC10zg6GybTyteUh',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('2gy58juej2buNPpBtgl99n',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_crossing.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_crossing.ifc new file mode 100644 index 00000000..6a621f5d --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_crossing.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_w_voids_concave_parallel_crossing.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0m2n3ekVjF9A7u_teR01p$',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('2H8OpE4L5C8w6dFFfdXGWd',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('3yUP_4bwrEdQ6YhEbtebkZ',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('0w3DkCPXb7H81i7G_v9X6Q',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2X2qpj3cX94BU_6ALOOBIf',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACEWITHVOIDS((9,10,11,12,13,14,15,16),((24,23,22,21,20,19,18,17))); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,-0.5,0.),(0.3333333,-0.5,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,-0.5,1.),(0.3333333,-0.5,1.),(0.3333333,1.,1.),(0.1,0.2,1.),(0.1,0.1,1.),(0.2,0.1,1.),(0.2,0.2,1.),(0.16666666,0.2,1.),(0.16666666,0.05,1.),(0.13333333,0.05,1.),(0.13333333,0.2,1.))); +#39=IFCPOLYGONALFACESET(#38,.T.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('1ZQEYyX7fASBKoPDG74NVu',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('1ncHjFcmTBvP7ZBJCyCPGz',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_rect_collinear_cross.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_rect_collinear_cross.ifc new file mode 100644 index 00000000..41e52aa4 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_rect_collinear_cross.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_w_voids_rect_collinear_cross.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('1b5CUKQ0zCThm7yPpcCp6d',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('2cusWipkHAOwbNGquecw5c',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2f2SC04KbAK8s3PuC0SfRR',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3v$HO0l4X9g8eC0PHgBzPv',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2rnIbPKZzABBHTG0M_wwDT',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((6,7,8,3,2,1)); +#30=IFCINDEXEDPOLYGONALFACE((8,9,4,3)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACEWITHVOIDS((6,7,8,9,10),((15,14,13,12,11))); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(3.,0.,0.),(2.,0.,0.),(2.,2.,0.),(0.,2.,0.),(0.,0.,1.),(3.,0.,1.),(2.,0.,1.),(2.,2.,1.),(0.,2.,1.),(0.1,0.1,1.),(0.4,0.1,1.),(0.3,0.1,1.),(0.3,0.3,1.),(0.1,0.3,1.))); +#36=IFCPOLYGONALFACESET(#35,.T.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('3bfyLiIW93NAMUxZpbxIGL',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('3e44FzzK58mAtqbDwPSqJK',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_single_point_touching.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_single_point_touching.ifc new file mode 100644 index 00000000..e4fcf8ea --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_single_point_touching.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_w_voids_single_point_touching.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3lDK_OKmz7awRiDiKF4ZVa',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('2b99FubeTAePBD67Y7vRwK',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2nS8U$bcn2zuD_99T30KnZ',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('24qGGUKujBMPAulALJ6NhP',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('0YFQxPG6HCRfPmoaVzQnu7',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACEWITHVOIDS((9,10,11,12,13,14,15,16),((24,23,22,21,20,19,18,17))); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,0.5,0.),(0.3333333,0.,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,0.5,1.),(0.3333333,0.,1.),(0.3333333,1.,1.),(0.1,0.2,1.),(0.1,0.1,1.),(0.2,0.1,1.),(0.2,0.2,1.),(0.16666666,0.2,1.),(0.16666666,0.15,1.),(0.13333333,0.1,1.),(0.13333333,0.2,1.))); +#39=IFCPOLYGONALFACESET(#38,.T.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3MypsAYRDFZ8UgBTIRpLu8',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('34AF3Teif9H8n07kUfY1hT',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_zigzag.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_zigzag.ifc new file mode 100644 index 00000000..76e66aba --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_w_voids_zigzag.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_w_voids_zigzag.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0UB2DV6e55QAgw6etSx1Je',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('0nMuwrn$51YhWpsVIlREDD',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2u4p$FIGz2nw$Thk9xeaH4',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3Lz$ZHlRr7iwZVk9P9Yrs4',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('3w3BVTzer6rPo2x_nb4hgg',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((1,2,6,5)); +#30=IFCINDEXEDPOLYGONALFACE((4,2,6,8)); +#31=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#32=IFCINDEXEDPOLYGONALFACE((1,3,7,5)); +#33=IFCINDEXEDPOLYGONALFACE((4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACEWITHVOIDS((5,6,7,8),((12,11,10,9))); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(1.,0.,0.),(0.,1.,0.),(1.,1.,0.),(0.,0.,1.),(1.,0.,1.),(0.,1.,1.),(1.,1.,1.),(0.1,0.1,1.),(0.2,0.1,1.),(0.1,0.2,1.),(0.2,0.2,1.))); +#36=IFCPOLYGONALFACESET(#35,.T.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('2wPN2QAxj988j2hwujm28U',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('1J54l4jP5Ad8hbYHPY$4Xu',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/fail-tas001-PolygonalFaceSet_zigzag.ifc b/test/files/tas001/fail-tas001-PolygonalFaceSet_zigzag.ifc new file mode 100644 index 00000000..4c8c0021 --- /dev/null +++ b/test/files/tas001/fail-tas001-PolygonalFaceSet_zigzag.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('fail-tas001-PolygonalFaceSet_zigzag.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2tSbpklTbCIfMOZelRQn08',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1uJU087DrFvPU91nbUvx1I',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('3BEvzVlz5Fd830PEQMI_D4',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('1wfxryVXn61wp0cnKJLk3V',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2VMosa70r0eBHzLmALdjVL',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((1,2,6,5)); +#30=IFCINDEXEDPOLYGONALFACE((4,2,6,8)); +#31=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#32=IFCINDEXEDPOLYGONALFACE((1,3,7,5)); +#33=IFCINDEXEDPOLYGONALFACE((4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(1.,0.,0.),(0.,1.,0.),(1.,1.,0.),(0.,0.,1.),(1.,0.,1.),(0.,1.,1.),(1.,1.,1.))); +#36=IFCPOLYGONALFACESET(#35,.F.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('0azLPbTBr75hagCCXT1L8U',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('2i_7b1laHETwgKEXfYN1yy',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/generate.py b/test/files/tas001/generate.py new file mode 100644 index 00000000..f82163a5 --- /dev/null +++ b/test/files/tas001/generate.py @@ -0,0 +1,311 @@ +import itertools +import math +from typing import List +from typing import Tuple + +import ifcopenshell +import ifcopenshell.guid +import ifcopenshell.template + +# geometry for top and bottom faces + +TOP_ELEV = 1.0 + +rect = [ + [0., 0.], + [1., 0.], + [1., 1.], + [0., 1.], +] + +zigzag = [ + [0., 0.], + [1., 0.], + [0., 1.], + [1., 1.], +] + +parallel_rect = [ + [0., 0.], + [0.5, 0.], + [1., 0.], + [1., 1.], + [0., 1.], +] + +parallel_concave = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.5], + [0.3333333, 1.0], +] + +concave_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, -0.5], + [0.3333333, -0.5], + [0.3333333, 1.0], +] + +concave_parallel_almost_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 1.e-10], + [0.3333333, 1.e-10], + [0.3333333, 1.0], +] + +concave_non_parallel_crossing = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, -0.5], + [0.3333333, 1.0], +] + +single_point_touching = [ + [0.0, 1.0], + [0.0, 0.0], + [1.0, 0.0], + [1.0, 1.0], + [0.6666666, 1.0], + [0.6666666, 0.5], + [0.3333333, 0.0], + [0.3333333, 1.0], +] + +rect_redundant = [ + [0.0, 0.0], + [2.0, 0.0], + [3.0, 0.0], + [3.0, 2.0], + [0.0, 2.0], +] + +rect_collinear_cross = [ + [0.0, 0.0], + [3.0, 0.0], + [2.0, 0.0], + [2.0, 2.0], + [0.0, 2.0], +] + +rect_near_collinear_cross = [ + [0.0, 0.0], + [3.0, 0.0], + [2.0, 0.001], + [2.0, 2.0], + [0.0, 2.0], +] + +def is_valid(shp: List) -> bool: + return shp in (rect, parallel_rect, parallel_concave, rect_redundant, rect_near_collinear_cross) + +def coords_and_indices(f, shp)-> Tuple[List[List[float]], List[Tuple]]: + """ + Generate a list of points from geometry for shape and then determine indices for defining faces + + The geometry in `shp` defines a single 2D face so it needs to be copied up at a different z-elevation + """ + shape_name = [name for name, val in globals().items() if val is shp][0] + coords = list() + for z in [0., TOP_ELEV]: + for point in shp: + coords.append([point[0], point[1], z]) + + # each list of points will be an even number because they include points to define the top and bottom faces. + match shape_name: + case "rect": + indices = [ + (2, 1, 5, 6), # front face + (3, 2, 6, 7), # right face + (4, 3, 7, 8), # back face + (1, 4, 8, 5), # left face + (4, 3, 2, 1), # bottom face + (5, 6, 7, 8), # top face + ] + case "zigzag": + indices = [ + (1, 2, 6, 5), # front face + (4, 2, 6, 8), # right face + (3, 4, 8, 7), # back face + (1, 3, 7, 5), # left face + (4, 3, 2, 1), # bottom face + (5, 6, 7, 8), # top face + ] + case name if name in ( + "parallel_rect", + "rect_redundant", + "rect_collinear_cross", + ): + indices = [ + (6, 7, 8, 3, 2, 1), # front face + (8, 9, 4, 3), # right face + (5, 4, 9, 10), # back face + (1, 5, 10, 6), # left face + (5, 4, 3, 2, 1), # bottom face + (6, 7, 8, 9, 10), # top face + ] + case name if name in [ + "rect_near_collinear_cross", + ]: + indices = [ + (2, 1, 6, 7), # front face + (4, 3, 2, 7, 8, 9), # right face + (5, 4, 9, 10), # back face + (1, 5, 10, 6), # left face + (5, 4, 3, 2, 1), # bottom face + (6, 7, 8, 9, 10), # top face + ] + case name if name in ( + "parallel_concave", + "concave_parallel_crossing", + "concave_parallel_almost_crossing", + "concave_non_parallel_crossing", + "single_point_touching", + ): + indices = [ + (3, 2, 10, 11), # front face + (4, 3, 11, 12), # right face + (6, 5, 4, 12, 13, 14), # back face 1 + (7, 6, 14, 15), # back face 2 + (8, 7, 15, 16), # back face 3 + (1, 8, 16, 9), # back face 4 + (2, 1, 9, 10), # left face + (8, 7, 6, 5, 4, 3, 2, 1), # bottom face + (9, 10, 11, 12, 13, 14, 15, 16), # top face + ] + case _: + raise NameError(f"Unrecognized shape name '{shape_name}'.") + + return coords, indices + + +def PolygonalFaceSet(f, shp)-> ifcopenshell.entity_instance: + coords, indices = coords_and_indices(f, shp) + faces = [f.createIfcIndexedPolygonalFace(_) for _ in indices] + coord_list = f.createIfcCartesianPointList3d(coords) + return f.createIfcPolygonalFaceSet(coord_list, False, faces, None) + + +def PolygonalFaceSet_w_voids(f, shp)-> ifcopenshell.entity_instance: + coords, indices = coords_and_indices(f, shp) + + void_shape = [[(0.1 * _) + 0.1 for _ in point] for point in shp] + num_vertices = len(shp) + void_indices = [int(i + 1) for i in reversed(range(num_vertices * 2, num_vertices * 3))] + for pt in void_shape: + coords.append([pt[0], pt[1], TOP_ELEV]) + faces = [f.createIfcIndexedPolygonalFace(_) for _ in indices[:-1]] + faces.append( + f.createIfcIndexedPolygonalFaceWithVoids( + CoordIndex=indices[-1], + InnerCoordIndices=(tuple(void_indices),) + ) + ) + coord_list = f.createIfcCartesianPointList3d(coords) + return f.createIfcPolygonalFaceSet(coord_list, True, faces, None) + + +def main(): + def process(fn, shp): + isv = is_valid(shp) + shp_name = [name for name, val in globals().items() if val is shp][0] + f = ifcopenshell.template.create() + + site = f.createIfcSite( + GlobalId=ifcopenshell.guid.new(), + OwnerHistory=None, + Name="MySite", + Description="{ProxySite}", + CompositionType="ELEMENT", + LandTitleNumber="1234", + SiteAddress=None + ) + + # add subcontext so that GEM052 warning is not raised + f.createIfcGeometricRepresentationSubcontext('Body', 'Model', None, None, None, None, f.by_type('IFCGEOMETRICREPRESENTATIONCONTEXT')[0], 1E-2, 'MODEL_VIEW', None) + + # add building for spatial containment so that SPS007 error is not raised + building = f.createIfcBuilding( + GlobalId=ifcopenshell.guid.new(), + OwnerHistory=None, + Name="MyBuilding", + Description="ProxyHolder", + ObjectPlacement=f.createIfcLocalPlacement( + RelativePlacement=f.createIfcAxis2Placement3D( + f.createIfcCartesianPoint((0., 0., 0.)) + ) + ) + ) + + f.createIfcRelAggregates( + GlobalId=ifcopenshell.guid.new(), + OwnerHistory=None, + Name=None, + Description=None, + RelatingObject=site, + RelatedObjects=(building,) + ) + + f.createIfcRelAggregates( + GlobalId=ifcopenshell.guid.new(), + RelatingObject=f.by_type("IfcProject")[0], + RelatedObjects = [site] + ) + + # set to radians + f.by_type('IfcUnitAssignment')[0].Units = f.by_type('IfcUnitAssignment')[0].Units[:-1] + (f[16],) + f.remove(f[18]) + + tessellated_shape = f.createIfcShapeRepresentation( + f.by_type('IfcRepresentationContext')[0], 'Body', 'Tessellation', [fn(f, shp)]) + + prod_def = f.createIfcProductDefinitionShape(None, None, [tessellated_shape]) + proxy_product = f.createIfcBuildingElementProxy( + ifcopenshell.guid.new(), + ObjectPlacement=f.createIfcLocalPlacement( + RelativePlacement=f.createIfcAxis2Placement3D( + f.createIfcCartesianPoint((0., 0., 0.)))), + Name="Proxy", + Representation=prod_def + ) + containment = f.createIfcRelContainedInSpatialStructure( + GlobalId=ifcopenshell.guid.new(), + OwnerHistory=None, + Name="Building", + Description="Building Container For Elements", + RelatedElements=[proxy_product], + RelatingStructure=building + ) + fail_or_pass = "fail" if not isv else "pass" + model_file_name = f'{fail_or_pass}-tas001-{fn.__name__}_{shp_name}.ifc' + header = f.wrapped_data.header + header.file_name.name = model_file_name + + f.write(model_file_name) + + for shp in ( + rect, zigzag, parallel_rect, parallel_concave, concave_parallel_crossing, + concave_parallel_crossing, concave_parallel_almost_crossing, concave_non_parallel_crossing, + single_point_touching, rect_redundant, rect_collinear_cross, rect_near_collinear_cross + ): + for function_name in (PolygonalFaceSet, PolygonalFaceSet_w_voids): + process(function_name, shp) + +if __name__ == "__main__": + main() diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_parallel_concave.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_parallel_concave.ifc new file mode 100644 index 00000000..cd1f997b --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_parallel_concave.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_parallel_concave.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('10VKzgZMnDOAT6DgjcEojm',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('0pbwEMqKL5zgESF29kDH8d',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2Wa3Noa$115esPGAt0X3sw',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('0jTKz8t5LEAAWlacra7v5Y',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('3stVHHRLDEuO6aDF82XDCt',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACE((9,10,11,12,13,14,15,16)); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,0.5,0.),(0.3333333,0.5,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,0.5,1.),(0.3333333,0.5,1.),(0.3333333,1.,1.))); +#39=IFCPOLYGONALFACESET(#38,.F.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3uPbg0aGD0ywlDXfdJ7UCC',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('0tHGNDv9L40u5OKfFQGuVB',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_parallel_rect.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_parallel_rect.ifc new file mode 100644 index 00000000..cad45fc0 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_parallel_rect.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_parallel_rect.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('008JTEisP4KRvRJiWrFScZ',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('3POJDyU_j7VfjROkHk3ndM',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('3EK5rIytX7lvcyXS4ybch5',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3fEl4Lu6v8$uJcTNDAuuDb',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('1Keh2ghoT5LRiudjagLqFf',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((6,7,8,3,2,1)); +#30=IFCINDEXEDPOLYGONALFACE((8,9,4,3)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACE((6,7,8,9,10)); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(0.5,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.,1.,0.),(0.,0.,1.),(0.5,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.,1.,1.))); +#36=IFCPOLYGONALFACESET(#35,.F.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('1ZIelvF2rEzOLpCAY006$$',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('0Mmo4Cjav6SgYWASpoMMpF',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_rect.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_rect.ifc new file mode 100644 index 00000000..fca31b5f --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_rect.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_rect.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0c1kJn_Qb6lxCutc7bMdzD',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('0U$cKviQP13wtOZUMKDIyS',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('0irtZ8nxzFvRcKTOGXgg4g',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('2xKsyZHRjC3fxCBLloBBfc',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2T4mGks3r8LgFvcmA7ZUL2',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((2,1,5,6)); +#30=IFCINDEXEDPOLYGONALFACE((3,2,6,7)); +#31=IFCINDEXEDPOLYGONALFACE((4,3,7,8)); +#32=IFCINDEXEDPOLYGONALFACE((1,4,8,5)); +#33=IFCINDEXEDPOLYGONALFACE((4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACE((5,6,7,8)); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.,1.,0.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.,1.,1.))); +#36=IFCPOLYGONALFACESET(#35,.F.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('0A1CD3BUf5vfG_FwB3FzLd',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('0hoRQKeHr6FgZfPsvI5prc',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_rect_near_collinear_cross.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_rect_near_collinear_cross.ifc new file mode 100644 index 00000000..aa8c4434 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_rect_near_collinear_cross.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_rect_near_collinear_cross.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('0KhDk8PPLBq9Ba_ofc4VNo',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1eWfZdXbzBjBteZd9XEBvr',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2FIhzSVBvF49sTp$Me2hEG',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('2VRDJeNCj4AB5kmyllk9uX',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('2pZDE206TBefD8ZAvw$g4W',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((2,1,6,7)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,2,7,8,9)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACE((6,7,8,9,10)); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(3.,0.,0.),(2.,0.001,0.),(2.,2.,0.),(0.,2.,0.),(0.,0.,1.),(3.,0.,1.),(2.,0.001,1.),(2.,2.,1.),(0.,2.,1.))); +#36=IFCPOLYGONALFACESET(#35,.F.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('20Ct0H1P900O9_fRtCrn1K',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('0UQ5Koz9H9rQFhVWqDfwaM',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_rect_redundant.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_rect_redundant.ifc new file mode 100644 index 00000000..d406e6f1 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_rect_redundant.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_rect_redundant.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3A8d9RSaP8Se21vcAdn_yJ',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1CEQv8UH14FwRW3Co92$Rj',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('3piZWOiLj8E8LQXkunrQA8',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('0reUrKWdTBA8$ZaqNbbqtV',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('1Jzl1hhErBT8Uwk0lb0oPt',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((6,7,8,3,2,1)); +#30=IFCINDEXEDPOLYGONALFACE((8,9,4,3)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACE((6,7,8,9,10)); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(2.,0.,0.),(3.,0.,0.),(3.,2.,0.),(0.,2.,0.),(0.,0.,1.),(2.,0.,1.),(3.,0.,1.),(3.,2.,1.),(0.,2.,1.))); +#36=IFCPOLYGONALFACESET(#35,.F.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('05ozZRwafApQPzxFCvJdc7',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('290C6UYmz0IefBduU3EEpD',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_parallel_concave.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_parallel_concave.ifc new file mode 100644 index 00000000..dcf86277 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_parallel_concave.ifc @@ -0,0 +1,54 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_w_voids_parallel_concave.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3FP21$3ufDTuq0331rWeua',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('0dfiQa1cP0FeBuLvlsq273',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('2sPZ52XNP9rOfK$OxxkU$h',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('1tqx9ZysXF$uSeFfdNkJSy',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('1$z_cC$wXAJ9siUX_2zWSU',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((3,2,10,11)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,11,12)); +#31=IFCINDEXEDPOLYGONALFACE((6,5,4,12,13,14)); +#32=IFCINDEXEDPOLYGONALFACE((7,6,14,15)); +#33=IFCINDEXEDPOLYGONALFACE((8,7,15,16)); +#34=IFCINDEXEDPOLYGONALFACE((1,8,16,9)); +#35=IFCINDEXEDPOLYGONALFACE((2,1,9,10)); +#36=IFCINDEXEDPOLYGONALFACE((8,7,6,5,4,3,2,1)); +#37=IFCINDEXEDPOLYGONALFACEWITHVOIDS((9,10,11,12,13,14,15,16),((24,23,22,21,20,19,18,17))); +#38=IFCCARTESIANPOINTLIST3D(((0.,1.,0.),(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.6666666,1.,0.),(0.6666666,0.5,0.),(0.3333333,0.5,0.),(0.3333333,1.,0.),(0.,1.,1.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.6666666,1.,1.),(0.6666666,0.5,1.),(0.3333333,0.5,1.),(0.3333333,1.,1.),(0.1,0.2,1.),(0.1,0.1,1.),(0.2,0.1,1.),(0.2,0.2,1.),(0.16666666,0.2,1.),(0.16666666,0.15,1.),(0.13333333,0.15,1.),(0.13333333,0.2,1.))); +#39=IFCPOLYGONALFACESET(#38,.T.,(#29,#30,#31,#32,#33,#34,#35,#36,#37),$); +#40=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#39)); +#41=IFCPRODUCTDEFINITIONSHAPE($,$,(#40)); +#42=IFCCARTESIANPOINT((0.,0.,0.)); +#43=IFCAXIS2PLACEMENT3D(#42,$,$); +#44=IFCLOCALPLACEMENT($,#43); +#45=IFCBUILDINGELEMENTPROXY('3llvA$IMz71gz0FXVgqdC2',$,'Proxy',$,$,#44,#41,$,$); +#46=IFCRELCONTAINEDINSPATIALSTRUCTURE('06xnTmjwXBve$VB$boEZlx',$,'Building','Building Container For Elements',(#45),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_parallel_rect.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_parallel_rect.ifc new file mode 100644 index 00000000..3bfc1b72 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_parallel_rect.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_w_voids_parallel_rect.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('1xCEKWHq91qQuYGdwclCfb',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1EUhNsbbXEWegA9rwGunay',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('24LGa1QKfBAP2SNWcIwFiy',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3YjhYG_ZL8Pf1xuKI4AGZ7',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('0W1ISQOxn6M9LBP87Jxm0y',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((6,7,8,3,2,1)); +#30=IFCINDEXEDPOLYGONALFACE((8,9,4,3)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACEWITHVOIDS((6,7,8,9,10),((15,14,13,12,11))); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(0.5,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.,1.,0.),(0.,0.,1.),(0.5,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.,1.,1.),(0.1,0.1,1.),(0.15,0.1,1.),(0.2,0.1,1.),(0.2,0.2,1.),(0.1,0.2,1.))); +#36=IFCPOLYGONALFACESET(#35,.T.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('1veR2iAmvFpfuDfXnoZ9Fl',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('3j2rvxrhfDPvz_xUy8kqUG',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect.ifc new file mode 100644 index 00000000..84d28635 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_w_voids_rect.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('34H_7H_YfEpALVOPgS0PYn',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1wACW7Aub4y8XA_xHz_Bj2',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('3IUpnc4dL9Cut4KQy8Z4eW',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('34zb$S2QLAIhGBSbSa44Kz',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('16TfWUvzLFKw2fFuab9she',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((2,1,5,6)); +#30=IFCINDEXEDPOLYGONALFACE((3,2,6,7)); +#31=IFCINDEXEDPOLYGONALFACE((4,3,7,8)); +#32=IFCINDEXEDPOLYGONALFACE((1,4,8,5)); +#33=IFCINDEXEDPOLYGONALFACE((4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACEWITHVOIDS((5,6,7,8),((12,11,10,9))); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.,1.,0.),(0.,0.,1.),(1.,0.,1.),(1.,1.,1.),(0.,1.,1.),(0.1,0.1,1.),(0.2,0.1,1.),(0.2,0.2,1.),(0.1,0.2,1.))); +#36=IFCPOLYGONALFACESET(#35,.T.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('3bIlK2sbfFf8nRgJMPObrw',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('3jip8IXOP4wvYEfAqAnBYY',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect_near_collinear_cross.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect_near_collinear_cross.ifc new file mode 100644 index 00000000..9927ff12 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect_near_collinear_cross.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_w_voids_rect_near_collinear_cross.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('2pKkd5fOTCW8P2qYGWIc9H',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('3m4iutFRPDRAv$SlDSMZlM',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('3Zu7tV6r5EmexibbNXz5kU',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('2U9eHu8T9Axvj6sweeBW2i',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('3XC4lWxUjBWgrht4LLgTV9',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((2,1,6,7)); +#30=IFCINDEXEDPOLYGONALFACE((4,3,2,7,8,9)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACEWITHVOIDS((6,7,8,9,10),((15,14,13,12,11))); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(3.,0.,0.),(2.,0.001,0.),(2.,2.,0.),(0.,2.,0.),(0.,0.,1.),(3.,0.,1.),(2.,0.001,1.),(2.,2.,1.),(0.,2.,1.),(0.1,0.1,1.),(0.4,0.1,1.),(0.3,0.1001,1.),(0.3,0.3,1.),(0.1,0.3,1.))); +#36=IFCPOLYGONALFACESET(#35,.T.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('3DWkeWLqDEheQC6M7dDnZe',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('3Pk6m7BQnBrOwiyMorCdcY',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect_redundant.ifc b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect_redundant.ifc new file mode 100644 index 00000000..50c450e8 --- /dev/null +++ b/test/files/tas001/pass-tas001-PolygonalFaceSet_w_voids_rect_redundant.ifc @@ -0,0 +1,51 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('pass-tas001-PolygonalFaceSet_w_voids_rect_redundant.ifc','2024-10-08T20:16:01',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPERSON($,$,'',$,$,$,$,$); +#2=IFCORGANIZATION($,'',$,$,$); +#3=IFCPERSONANDORGANIZATION(#1,#2,$); +#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f',''); +#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1728418561); +#6=IFCDIRECTION((1.,0.,0.)); +#7=IFCDIRECTION((0.,0.,1.)); +#8=IFCCARTESIANPOINT((0.,0.,0.)); +#9=IFCAXIS2PLACEMENT3D(#8,#7,#6); +#10=IFCDIRECTION((0.,1.)); +#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#10); +#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); +#19=IFCUNITASSIGNMENT((#13,#14,#15,#16)); +#20=IFCPROJECT('3nfNyuH79CJRehVircHY9x',#5,'',$,$,$,$,(#11),#19); +#21=IFCSITE('1WRTWae0z1kOZ0_g1r13qY',$,'MySite','{ProxySite}',$,$,$,$,.ELEMENT.,$,$,$,'1234',$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,0.01,.MODEL_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.,0.)); +#24=IFCAXIS2PLACEMENT3D(#23,$,$); +#25=IFCLOCALPLACEMENT($,#24); +#26=IFCBUILDING('0GfWYEYGz4uBPD8OwhK1oP',$,'MyBuilding','ProxyHolder',$,#25,$,$,$,$,$,$); +#27=IFCRELAGGREGATES('3CUu8GcDb6$9VmCtDFMwBJ',$,$,$,#21,(#26)); +#28=IFCRELAGGREGATES('21$Tjikl9Dzv$LDtDdGTwQ',$,$,$,#20,(#21)); +#29=IFCINDEXEDPOLYGONALFACE((6,7,8,3,2,1)); +#30=IFCINDEXEDPOLYGONALFACE((8,9,4,3)); +#31=IFCINDEXEDPOLYGONALFACE((5,4,9,10)); +#32=IFCINDEXEDPOLYGONALFACE((1,5,10,6)); +#33=IFCINDEXEDPOLYGONALFACE((5,4,3,2,1)); +#34=IFCINDEXEDPOLYGONALFACEWITHVOIDS((6,7,8,9,10),((15,14,13,12,11))); +#35=IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(2.,0.,0.),(3.,0.,0.),(3.,2.,0.),(0.,2.,0.),(0.,0.,1.),(2.,0.,1.),(3.,0.,1.),(3.,2.,1.),(0.,2.,1.),(0.1,0.1,1.),(0.3,0.1,1.),(0.4,0.1,1.),(0.4,0.3,1.),(0.1,0.3,1.))); +#36=IFCPOLYGONALFACESET(#35,.T.,(#29,#30,#31,#32,#33,#34),$); +#37=IFCSHAPEREPRESENTATION(#11,'Body','Tessellation',(#36)); +#38=IFCPRODUCTDEFINITIONSHAPE($,$,(#37)); +#39=IFCCARTESIANPOINT((0.,0.,0.)); +#40=IFCAXIS2PLACEMENT3D(#39,$,$); +#41=IFCLOCALPLACEMENT($,#40); +#42=IFCBUILDINGELEMENTPROXY('0r4Q31mwn2Z9EHy3j5nMnx',$,'Proxy',$,$,#41,#38,$,$); +#43=IFCRELCONTAINEDINSPATIALSTRUCTURE('0qMOQMsqL9O8PG4phIgAQS',$,'Building','Building Container For Elements',(#42),#26); +ENDSEC; +END-ISO-10303-21; diff --git a/test/test_main.py b/test/test_main.py index 720e947b..f05ff59c 100644 --- a/test/test_main.py +++ b/test/test_main.py @@ -50,7 +50,9 @@ def test_invocation(filename): print('The Gherkin tests did not run for the specified test file, and the JSON report is empty. Please review the test file for any errors.') rule_is_disabled = feature_info['rule_is_disabled'] - validation_outcomes = gherkin_results[1:] + protocol_errors = next((d for d in gherkin_results if 'protocol_errors' in d), None) + + validation_outcomes = [d for d in gherkin_results[1:] if 'protocol_errors' not in d] error_outcomes = [outcome for outcome in validation_outcomes if outcome['severity'] in ['Error', 'Warning']] activating_outcomes = [outcome for outcome in validation_outcomes if outcome['severity'] == 'Executed'] @@ -75,6 +77,16 @@ def test_invocation(filename): # state originating from given steps. Therefore when results without disabled messages # is empty, it means that the rule has not been activated. I.e given statements # did not result in an actionable set of instances at the time of the first then step. + + #first, check if there are no protocol errors + if protocol_errors: + red_text = "\033[91m" + reset_text = "\033[0m" + print(f'{red_text}\n\nWARNING: The following protocol errors have been found:{reset_text}') + print(tabulate.tabulate([[error] for error in protocol_errors['protocol_errors']], headers=['Details'], tablefmt='fancy_grid')) + assert False # table should be printed before the assertion + + if base.startswith('fail'): assert len(error_outcomes) > 0 elif base.startswith('pass'):