Skip to content

Commit

Permalink
Merge pull request #321 from buildingSMART/IVS-178-VER000
Browse files Browse the repository at this point in the history
IVS-178 - VER000
  • Loading branch information
civilx64 authored Nov 6, 2024
2 parents 3309ad2 + 1a9e19f commit e36a2df
Show file tree
Hide file tree
Showing 5 changed files with 124 additions and 0 deletions.
17 changes: 17 additions & 0 deletions features/VER000_Versioning-and-revision-control.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
@implementer-agreement
@VER
@version1
@E00020

Feature: VER000 - Versioning and revision control
The rule verifies the presence of IFC entities used to track changes to building data over time and maintain a comprehensive history of those changes.
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Object_Attributes/Revision_Control/content.html


Scenario: Check for activation

Given an IfcRoot
Given its attribute OwnerHistory

Then The IFC model contains information on the selected functional part

26 changes: 26 additions & 0 deletions test/files/ver000/na-ver000-no_owner_history.ifc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-11-04T15:52:08',(''),(''),'IfcOpenShell-0.8.1-92b63a0ef','IfcOpenShell-0.8.1-92b63a0ef','');
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
#1=IFCPERSON($,$,'',$,$,$,$,$);
#2=IFCORGANIZATION($,'',$,$,$);
#3=IFCPERSONANDORGANIZATION(#1,#2,$);
#4=IFCAPPLICATION(#2,'0.8.1-92b63a0ef','IfcOpenShell-0.8.1-92b63a0ef','');
#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.);
#19=IFCUNITASSIGNMENT((#13,#14,#15,#16));
#20=IFCPROJECT('1n_MANr8D3hxpaZawb45R3',$,'',$,$,$,$,(#11),#19);
ENDSEC;
END-ISO-10303-21;
27 changes: 27 additions & 0 deletions test/files/ver000/pass-ver000-owner_with_last_modify_date.ifc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-11-03T20:21:45',(''),(''),'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,1730665305);
#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.);
#19=IFCUNITASSIGNMENT((#13,#14,#15,#16));
#20=IFCPROJECT('2E3LRVubTBHOM7zf4qZDFp',#5,'',$,$,$,$,(#11),#19);
ENDSEC;
END-ISO-10303-21;
27 changes: 27 additions & 0 deletions test/files/ver000/pass-ver000-owner_without_versioning.ifc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-11-03T20:21:45',(''),(''),'IfcOpenShell-0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f','');
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
#1=IFCPERSON($,$,'',$,$,$,$,$);
#2=IFCORGANIZATION($,'Validation Service Team',$,$,$);
#3=IFCPERSONANDORGANIZATION(#1,#2,$);
#4=IFCAPPLICATION(#2,'0.7.11-d51fa2c5f','IfcOpenShell-0.7.11-d51fa2c5f','');
#5=IFCOWNERHISTORY(#3,#4,$,.NOTDEFINED.,$,#3,#4,1730665305);
#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.);
#19=IFCUNITASSIGNMENT((#13,#14,#15,#16));
#20=IFCPROJECT('2C0_5FU_vCLOZjbb7Ve_lz',#5,'',$,$,$,$,(#11),#19);
ENDSEC;
END-ISO-10303-21;
27 changes: 27 additions & 0 deletions test/files/ver000/pass-ver000-versioning_attributes_present.ifc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-11-03T20:21:45',(''),(''),'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,$,.MODIFIED.,1320688800,#3,#4,1730665305);
#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.);
#19=IFCUNITASSIGNMENT((#13,#14,#15,#16));
#20=IFCPROJECT('2E3LRVubTBHOM7zf4qZDFp',#5,'',$,$,$,$,(#11),#19);
ENDSEC;
END-ISO-10303-21;

0 comments on commit e36a2df

Please sign in to comment.