public void IfcShellBasedSurfaceModelTest() { using (var eventTrace = LoggerFactory.CreateEventTrace()) { using (var m = new XbimModel()) { m.CreateFrom("SolidTestFiles\\16 - IfcShellBasedSurfaceModel.ifc", null, null, true, true); var sbsm = m.Instances[38] as IfcShellBasedSurfaceModel; Assert.IsTrue(sbsm != null, "No IfcShellBasedSurfaceModel found"); Assert.IsTrue(sbsm.SbsmBoundary.First is IfcOpenShell, "ifc OpenShell not found"); _xbimGeometryCreator.CreateSurfaceModel(sbsm); Assert.IsTrue(eventTrace.Events.Count == 0, "Warning or Error events were raised"); //we should have no warnings } } }
public void IIfcFaceBasedSurfaceModelAsSolid() { using (var eventTrace = LoggerFactory.CreateEventTrace()) { using (var m = IfcStore.Open("SolidTestFiles\\FacebasedModelWithMissingFace.ifc")) { var fbsm = m.Instances[154529] as IIfcFaceBasedSurfaceModel; Assert.IsTrue(fbsm != null, "No IIfcFaceBasedSurfaceModel found"); int faceCount = fbsm.FbsmFaces.Count(); var surface = _xbimGeometryCreator.CreateSurfaceModel(fbsm); var solid = _xbimGeometryCreator.CreateSolidSet(); solid.Add(surface); Assert.IsTrue(eventTrace.Events.Count == 0, "Warning or Error events were raised"); //we should have no warnings Assert.IsTrue(solid.FirstOrDefault() != null); IfcCsgTests.GeneralTest(solid.First); } } }
public void TriangulatedFaceSetBasicTest() { using (var model = IfcStore.Open(@"Ifc4TestFiles\BeamTessellated.ifc")) { var faceSet = model.Instances.OfType <IfcTriangulatedFaceSet>().FirstOrDefault(); Assert.IsNotNull(faceSet); var beam = _xbimGeometryCreator.CreateSurfaceModel(faceSet); Assert.IsTrue(Math.Abs(beam.BoundingBox.Volume - 20000000) < 1); } }