WR test cases for MLS / usedin()

This commit is contained in:
Thomas Krijnen
2023-01-11 12:48:53 +01:00
parent 2336f299f7
commit fc3c6599c7
4 changed files with 84 additions and 0 deletions
@@ -0,0 +1,20 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2022-12-25T12:56:47',(),(),'IfcOpenShell v0.7.0-fa6bbf2d','IfcOpenShell v0.7.0-fa6bbf2d','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCPERSON('tfk',$,'Thomas',$,$,$,$,$);
#2=IFCORGANIZATION($,'AECgeeks',$,$,$);
#3=IFCPERSONANDORGANIZATION(#1,#2,$);
#4=IFCAPPLICATION(#2,'v0.7.0-fa6bbf2d','IfcOpenShell','IfcOpenShell v0.7.0-fa6bbf2d');
#5=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#6=IFCUNITASSIGNMENT((#5));
#7=IFCOWNERHISTORY(#3,#4,$,.ADDED.,$,$,$,1671969407);
#8=IFCWALLSTANDARDCASE('3A0qnrKy5ALRxyzNP1mYaN',#7,$,$,$,$,$,$);
#9=IFCMATERIALLAYER($,0.1,$);
#10=IFCMATERIALLAYERSET((#9),$);
#11=IFCRELASSOCIATESMATERIAL('2B7uDMC_v8wOWBBvP1Vtcc',#7,$,$,(#8),#10);
ENDSEC;
END-ISO-10303-21;
@@ -0,0 +1,17 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2022-12-25T12:56:47',(),(),'IfcOpenShell v0.7.0-fa6bbf2d','IfcOpenShell v0.7.0-fa6bbf2d','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCPERSON('tfk',$,'Thomas',$,$,$,$,$);
#2=IFCORGANIZATION($,'AECgeeks',$,$,$);
#3=IFCPERSONANDORGANIZATION(#1,#2,$);
#4=IFCAPPLICATION(#2,'v0.7.0-fa6bbf2d','IfcOpenShell','IfcOpenShell v0.7.0-fa6bbf2d');
#5=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#6=IFCUNITASSIGNMENT((#5));
#7=IFCOWNERHISTORY(#3,#4,$,.ADDED.,$,$,$,1671969407);
#8=IFCWALLSTANDARDCASE('313_Ms2Mn4GvZ$AjGfM64i',#7,$,$,$,$,$,$);
ENDSEC;
END-ISO-10303-21;
@@ -0,0 +1,26 @@
import time
import ifcopenshell
for i, nm in enumerate(("no-mls", "mls", "mlsu")):
f = ifcopenshell.file(schema="IFC2X3")
p = f.createIfcPerson(Id="tfk", GivenName="Thomas")
o = f.createIfcOrganization(Name="AECgeeks")
pando = f.createIfcPersonAndOrganization(p, o)
appl = f.createIfcApplication(o, ifcopenshell.version, "IfcOpenShell", f"IfcOpenShell {ifcopenshell.version}")
units = f.createIfcUnitAssignment(Units=[f.createIfcSIUnit(None, "LENGTHUNIT", None, "METRE")])
ownerhist = f.createIfcOwnerHistory(pando, appl, ChangeAction="ADDED", CreationDate=int(time.time()))
wall = f.createIfcWallStandardCase(
ifcopenshell.guid.new(),
ownerhist
)
if i in (1,2):
mls = f.createIfcMaterialLayerSet([f.createIfcMaterialLayer(None, 0.1)])
if i == 2:
mls = f.createIfcMaterialLayerSetUsage(mls, 'AXIS2', 'POSITIVE', 0.)
f.createIfcRelAssociatesMaterial(
ifcopenshell.guid.new(),
ownerhist,
RelatedObjects=[wall],
RelatingMaterial=mls
)
f.write(f"{'pass' if i == 2 else 'fail'}-wall-{nm}-ifc2x3.ifc")
@@ -0,0 +1,21 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2022-12-25T12:56:47',(),(),'IfcOpenShell v0.7.0-fa6bbf2d','IfcOpenShell v0.7.0-fa6bbf2d','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCPERSON('tfk',$,'Thomas',$,$,$,$,$);
#2=IFCORGANIZATION($,'AECgeeks',$,$,$);
#3=IFCPERSONANDORGANIZATION(#1,#2,$);
#4=IFCAPPLICATION(#2,'v0.7.0-fa6bbf2d','IfcOpenShell','IfcOpenShell v0.7.0-fa6bbf2d');
#5=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#6=IFCUNITASSIGNMENT((#5));
#7=IFCOWNERHISTORY(#3,#4,$,.ADDED.,$,$,$,1671969407);
#8=IFCWALLSTANDARDCASE('0UESs$hdv87RIdHOSrIF3B',#7,$,$,$,$,$,$);
#9=IFCMATERIALLAYER($,0.1,$);
#10=IFCMATERIALLAYERSET((#9),$);
#11=IFCMATERIALLAYERSETUSAGE(#10,.AXIS2.,.POSITIVE.,0.);
#12=IFCRELASSOCIATESMATERIAL('1kPrksfuLC2uYKxDq_Z6_W',#7,$,$,(#8),#11);
ENDSEC;
END-ISO-10303-21;