Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge development into main #194

Merged
merged 12 commits into from
May 13, 2024
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@implementer-agreement
@PSE
@version1
@version2
@E00020
Feature: PSE001 - Standard properties and property sets validation
The rule verifies that each IfcPropertySet starting with Pset is defined correctly.
Expand All @@ -9,66 +9,28 @@ The rule verifies that each IfcPropertySet starting with Pset is defined correct
Given An IfcPropertySet
Given its Name attribute starts with Pset

Scenario Outline: IfcPropertySet Name

Given a file with Schema "<schema>"

Then The IfcPropertySet Name attribute value must use predefined values according to the "<csv_table>" table

Examples:
| schema | csv_table |
| IFC2X3 | IFC2x3_definitions.csv |
| IFC4 | IFC4_definitions.csv |
| IFC4X3 | IFC4X3_definitions.csv |


Scenario Outline: Property Name

Given a file with Schema "<schema>"
Scenario: IfcPropertySet Name

Then The IfcPropertySet Name attribute value must use predefined values according to the "pset_definitions" table

Then Each associated IfcProperty must be named according to the property set definitions table "<csv_table>"

Examples:
| schema | csv_table |
| IFC2X3 | IFC2x3_definitions.csv |
| IFC4 | IFC4_definitions.csv |
| IFC4X3 | IFC4X3_definitions.csv |
Scenario: Property Name


Scenario Outline: PropertySet definitions
Then Each associated IfcProperty must be named according to the property set definitions table "pset_definitions"

Given a file with Schema "<schema>"

Then The IfcPropertySet must be assigned according to the property set definitions table "<csv_table>"
Scenario: PropertySet definitions

Examples:
| schema | csv_table |
| IFC2X3 | IFC2x3_definitions.csv |
| IFC4 | IFC4_definitions.csv |
| IFC4X3 | IFC4X3_definitions.csv |
Then The IfcPropertySet must be assigned according to the property set definitions table "pset_definitions"


Scenario Outline: Property Type
Scenario: Property Type

Given a file with Schema "<schema>"
Then Each associated IfcProperty must be of type according to the property set definitions table "pset_definitions"

Then Each associated IfcProperty must be of type according to the property set definitions table "<csv_table>"

Scenario: Property Data Type

Examples:
| schema | csv_table |
| IFC2X3 | IFC2x3_definitions.csv |
| IFC4 | IFC4_definitions.csv |
| IFC4X3 | IFC4X3_definitions.csv |
Then Each associated IfcProperty value must be of data type according to the property set definitions table "pset_definitions"


Scenario Outline: Property Data Type

Given a file with Schema "<schema>"

Then Each associated IfcProperty value must be of data type according to the property set definitions table "<csv_table>"

Examples:
| schema | csv_table |
| IFC2X3 | IFC2x3_definitions.csv |
| IFC4 | IFC4_definitions.csv |
| IFC4X3 | IFC4X3_definitions.csv |
6 changes: 3 additions & 3 deletions features/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ Follow these steps to add a new rule to the Validation Service

In the buildingSMART [GitHub repository containing all rules](https://github.com/buildingSMART/ifc-gherkin-rules), create the branch that will be used to develop the new rule.

- Name the branch with the name of the new rule. Example: `GEM900` for a new rule in the geometry functional part
- Add 1 rule per branch, to facilitate review (1 rule = 1 `.feature` file)
- Name the branch with the name of the new rule. Example: `GEM900` for a new rule in the geometry functional part.
- Add 1 rule per branch, to facilitate review (1 rule = 1 `.feature` file).

## 2. Rule development

Expand Down Expand Up @@ -470,4 +470,4 @@ implemented in [ifc-validation-data-model/main/models.py#L937](https://github.co
`Executed` refers to a rule that does apply because of schema version,
but the model does not contain any entities validated as part of a particular rule.

Both outcomes are reported as "N/A" in the validation service user interface.
Both outcomes are reported as "N/A" in the validation service user interface.
201 changes: 145 additions & 56 deletions features/steps/thens/relations.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCDISTRIBUTIONCONTROLELEMENT('3cwHfAkmrFyxsJHKTT6QJn',$,$,$,$,$,$,$,$);
#2=IFCACTUATORTYPE('3JK9PZxJ1238tf4wouR9lj',$,$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#3=IFCRELDEFINESBYTYPE('2PKLCeai9F8h$susMK0HKP',$,$,$,(#1),#2);
#4=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#5=IFCPROPERTYSET('0$9$1s7hLE3xEgW6Bnuqry',$,'Pset_ActuatorTypeElectricActuator',$,(#4));
#6=IFCRELDEFINESBYPROPERTIES('2UqkgSEDv2BetlZ9mNBzy1',$,$,$,(#2),#5);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('2kREszuBn77wEjC3VqRPen',$,$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('2P9hnca4P8_QtRZRcVNVnD',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('1dP8kimmnFtAmBpxg1sXqa',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('0HBu0DkbbB8Onfa9h8Iuhd',$,$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('10lEPLyDn8E8yTNTIXPJvZ',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('1ZkH5B56f6_eiguyrP5Nve',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCACTUATOR('30DR4x6Mr3LeGgsC81usuV',$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('0rlthfLsbFmhP8DRsRTvAE',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('0EKNx_L1rFIfXnwnaOW4JU',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('1WXt2Yz5H2xhEWrs8Dw9pA',$,$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('0tkgBeMuD80PXkkOcPrbWq',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('3QuA$qdmnDK9Xy66hUUrYA',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('39GrDsS4b5Ku$c_4Y5ioVV',$,$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('3GoqndVSzBw9xqtSkJaJpN',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('3yJIxVp_LAjxlpXqVXKjDv',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
#1=IFCACTUATOR('1dUSrSOVvBDf$O4DBTXDa8',$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('0t6_hyyzPCF8JF8xqSYrKk',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('3BZ9tZmnv5iREtEKWcIWKU',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('0WZEKfGUr3AvMGS9tmetU8',$,$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('3LXdrUAE93eBMV0LpJ$XQH',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('11rnZZZPLBcQ7JnTa6JPj5',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('3ker9Nxa59eBmOksxCK9C_',$,$,$,$,$,$,$,$,.HANDOPERATEDACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('0MWDa0_vn6aPk3RoHAUrPr',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('1MOSuP6rP3wxf_DDJkf6Cx',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
21 changes: 13 additions & 8 deletions test/files/pse001/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@

configs = [(True, 'ELECTRICACTUATOR'), (False, 'HANDOPERATEDACTUATOR')]

for schema in ['ifc2x3', 'ifc4']:
for schema in ['ifc2x3', 'ifc4', 'ifc4x3_add2']:
entity_names = {e.name() for e in w.schema_by_name(schema).entities()}
for create_type in [True, False]:
for create_type in [None, True, 'HasPropertySets']:
for is_valid, ptype in configs:
f = ifcopenshell.file(schema=schema)
entity = 'IfcActuator' + ('Type' if create_type else '')
if entity not in entity_names:
# ifc2x3: "Usage of IfcActuatorType defines the parameters for one or more occurrences of IfcDistributionControlElement ..."
entity = 'IfcDistributionControlElement'
act = f.create_entity(entity, ifcopenshell.guid.new())
act_type = act
attr_names = {a.name() for a in w.schema_by_name(schema).declaration_by_name(entity).all_attributes()}
if 'PredefinedType' in attr_names:
act.PredefinedType = ptype
Expand All @@ -33,9 +34,13 @@
f.createIfcPropertySingleValue(Name='ActuatorInputPower', NominalValue=f.createIfcPowerMeasure(1.0))
]
)
f.createIfcRelDefinesByProperties(
ifcopenshell.guid.new(),
RelatedObjects = [act],
RelatingPropertyDefinition = pset
)
f.write(f'{"pass" if is_valid else "fail"}-pse001-{schema}-{"on-type" if create_type else "on-occurence"}-electric-actuator-pset.ifc')
if create_type == 'HasPsets':
act_type.HasPropertySets = (pset,)
else:
f.createIfcRelDefinesByProperties(
ifcopenshell.guid.new(),
RelatedObjects = [act],
RelatingPropertyDefinition = pset
)

f.write(f'{"pass" if is_valid else "fail"}-pse001-{schema}-{"on-type-forward-attr" if create_type == "HasPropertySets" else "on-type" if create_type else "on-occurence"}-electric-actuator-pset.ifc')
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCDISTRIBUTIONCONTROLELEMENT('1h0GKIQHX3l95of0lIoq74',$,$,$,$,$,$,$,$);
#2=IFCACTUATORTYPE('1DWjvpiLj3lx308QhBJjGz',$,$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#3=IFCRELDEFINESBYTYPE('3AR$0ry1H71h7K$OpMhy77',$,$,$,(#1),#2);
#4=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#5=IFCPROPERTYSET('3wC$NS5qj9xeU1DPKJsa9l',$,'Pset_ActuatorTypeElectricActuator',$,(#4));
#6=IFCRELDEFINESBYPROPERTIES('2oeLufxtj6ChtmxdNp7pw4',$,$,$,(#2),#5);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('0OGwOwLYv7jAG48OUIzsej',$,$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('0M0$sfK2T6SPaAG_8$5khN',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('2nn7fyMJLBMxvS79VULSoU',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('1cz$pnxqnC8xm5j0bLzHX4',$,$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('1lca0KBuz1RPGHuSaABiRa',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('2QHwZQAWr0_BCf8awYcGT2',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCACTUATOR('2ZDc2qA8T97wc_nvzZGumk',$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('3O4Bw3As5EYuV2j0PT5jpV',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('3Tflls_1TDlekf78O6J9Vv',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('3XJJfX_AfE8QO6oVG1iyjf',$,$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('05s$I5Ev96JuxX3eIcUtiB',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('1qBPYiw5f3XAZnnapI2iRe',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('0qOYt7stzETA$5EJaSAvKS',$,$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('2sHMDTy2518fpCjYsvO3f1',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('1EuOZ8c5P4JfF_2mfX4nI7',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
#1=IFCACTUATOR('2tnEUUrG92tBGJmIuVXcvm',$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('1jil4Mbov5lemQ5v8UPWBu',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('0ZEllolWD0XO1HtFAZ9ZDf',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-05-09T13:24:48',(),(),'IfcOpenShell v0.7.0-f7c03db75','IfcOpenShell v0.7.0-f7c03db75','');
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
#1=IFCACTUATORTYPE('2AudbZdF1Exw2cIw8i93FM',$,$,$,$,$,$,$,$,.ELECTRICACTUATOR.);
#2=IFCPROPERTYSINGLEVALUE('ActuatorInputPower',$,IFCPOWERMEASURE(1.),$);
#3=IFCPROPERTYSET('1JPl48lnj0cfIglECzXc6q',$,'Pset_ActuatorTypeElectricActuator',$,(#2));
#4=IFCRELDEFINESBYPROPERTIES('3W2gSzukH6xxn8iHsK2hnW',$,$,$,(#1),#3);
ENDSEC;
END-ISO-10303-21;
Loading
Loading