public void IfcBlockTest() { using (var m = new MemoryModel(new Xbim.Ifc4.EntityFactoryIfc4())) { using (var txn = m.BeginTransaction("Test")) { var block = IfcModelBuilder.MakeBlock(m, 10, 15, 20); var solid = geomEngine.CreateSolid(block); Assert.IsTrue(solid.Faces.Count == 6, "6 faces are required of a block"); Assert.IsTrue(solid.Vertices.Count == 8, "8 vertices are required of a block"); var meshRec = new MeshHelper(); geomEngine.Mesh(meshRec, solid, m.ModelFactors.Precision, m.ModelFactors.DeflectionTolerance * 10); Assert.IsTrue(meshRec.FaceCount == 6, "6 mesh faces are required of a block"); Assert.IsTrue(meshRec.PointCount == 24, "24 mesh points are required of a block"); txn.Commit(); } } }
public void IfcRightCircularCylinderTest() { using (var m = new MemoryModel(new Xbim.Ifc4.EntityFactoryIfc4())) { using (var txn = m.BeginTransaction("Test")) { const double h = 2; const double r = 0.5; var cylinder = IfcModelBuilder.MakeRightCircularCylinder(m, r, h); var solid = geomEngine.CreateSolid(cylinder); Assert.IsTrue(solid.Faces.Count == 3, "3 faces are required of a cylinder"); Assert.IsTrue(solid.Vertices.Count == 2, "2 vertices are required of a cylinder"); var meshRec = new MeshHelper(); geomEngine.Mesh(meshRec, solid, m.ModelFactors.Precision, m.ModelFactors.DeflectionTolerance * 10); Assert.IsTrue(meshRec.FaceCount == 3, "3 mesh faces are required of a cylinder"); Assert.IsTrue(meshRec.PointCount == 106, "106 mesh points are required of a cylinder"); txn.Commit(); } } }