public void ConvertCoBieLiteToJson() { using (var m = new XbimModel()) { var IfcTestFile = "2012-03-23-Duplex-Handover.ifc"; //IfcTestFile = @"D:\Users\steve\My Documents\DPoW\001 NBS Lakeside Restaurant 2014.ifc"; var XbimTestFile = Path.ChangeExtension(IfcTestFile, "xbim"); var JsonFile = Path.ChangeExtension(IfcTestFile, "json"); m.CreateFrom(IfcTestFile, XbimTestFile, null, true, true); var helper = new CoBieLiteHelper(m,"UniClass"); var facilities = helper.GetFacilities(); foreach (var facilityType in facilities) { Assert.IsTrue(facilityType.FacilityDefaultLinearUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultAreaUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultVolumeUnitSpecified); using (var fs = new StreamWriter(JsonFile)) { CoBieLiteHelper.WriteJson(fs, facilityType); fs.Close(); } } } }
public void CanOpenTemporaryModel() { var model = XbimModel.CreateTemporaryModel(); model.Initialise(); var helper = new CoBieLiteHelper(model, "UniClass"); helper.GetFacilities(); }
public void CanOpenTemporaryModel() { var model = IfcStore.Create(new XbimEditorCredentials(), XbimSchemaVersion.Ifc2X3, XbimStoreType.InMemoryModel); var helper = new CoBieLiteHelper(model, "UniClass"); foreach (var facilityType in helper.GetFacilities()) { } }
public void ConvertCoBieLiteToIfc() { using (var m = new XbimModel()) { m.CreateFrom("2012-03-23-Duplex-Handover.ifc", "2012-03-23-Duplex-Handover.xbim", null, true, true); var helper = new CoBieLiteHelper(m, "UniClass"); var facilities = helper.GetFacilities(); foreach (var facilityType in facilities) { using (var sw = new FileStream("facility.bson", FileMode.Create)) { helper.WriteIfc(Console.Out, facilityType); } } } }
public void ConvertCoBieLiteToJson() { using (var m = new XbimModel()) { var IfcTestFile = "2012-03-23-Duplex-Handover.ifc"; // IfcTestFile = @"D:\Users\steve\xBIM\Test Models\Autodesk\002ALakesiderestaurant.ifc"; var XbimTestFile = Path.ChangeExtension(IfcTestFile, "xbim"); m.CreateFrom(IfcTestFile, XbimTestFile, null, true, true); var helper = new CoBieLiteHelper(m, "UniClass"); var facilities = helper.GetFacilities(); foreach (var facilityType in facilities) { Assert.IsTrue(facilityType.FacilityDefaultLinearUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultAreaUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultVolumeUnitSpecified); CoBieLiteHelper.WriteJson(Console.Out, facilityType); } } }
static void Main(string[] args) { const string filename = "20200404CV.01.ifc"; using (var model = IfcStore.Open(filename)) { var context = new Xbim3DModelContext(model); context.CreateContext(); var wexBimFilename = Path.ChangeExtension(filename, "wexBim"); using (var wexBimfile = File.Create(wexBimFilename)) { using (var wexBimBinaryWriter = new BinaryWriter(wexBimfile)) { model.SaveAsWexBim(wexBimBinaryWriter); wexBimBinaryWriter.Close(); } wexBimfile.Close(); } string cobieFileName = Path.ChangeExtension(filename, "json"); using (var cobieFile = new FileStream(cobieFileName, FileMode.Create)) { var helper = new CoBieLiteHelper(model, "UniClass"); var fac = helper.GetFacilities().FirstOrDefault(); if (fac != null) { using (var writer = new StreamWriter(cobieFile)) { CoBieLiteHelper.WriteJson(writer, fac); writer.Close(); } } } model.Close(); } }
public void ConvertCoBieLiteToJson() { var IfcTestFile = "2012-03-23-Duplex-Handover.ifc"; using (var m = IfcStore.Open(IfcTestFile)) { //IfcTestFile = @"D:\Users\steve\My Documents\DPoW\001 NBS Lakeside Restaurant 2014.ifc"; var xbimTestFile = Path.ChangeExtension(IfcTestFile, "xbim"); var jsonFile = Path.ChangeExtension(IfcTestFile, "json"); var helper = new CoBieLiteHelper(m, "UniClass"); var facilities = helper.GetFacilities(); foreach (var facilityType in facilities) { Assert.IsTrue(facilityType.FacilityDefaultLinearUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultAreaUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultVolumeUnitSpecified); using (var fs = new StreamWriter(jsonFile)) { CoBieLiteHelper.WriteJson(fs, facilityType); fs.Close(); } } } }
public static void ConvertIfcToWexbimAndCobie(Stream input, CloudBlockBlob outputWexbimBlob, CloudBlockBlob outputCobieBlob, string inputExtension) { //temp files var fileName = Path.GetTempPath() + Guid.NewGuid() + inputExtension; var xbimFileName = Path.ChangeExtension(fileName, ".xBIM"); var wexBimFileName = Path.ChangeExtension(fileName, ".wexBIM"); var cobieFileName = Path.ChangeExtension(fileName, ".json"); try { using (var fileStream = File.OpenWrite(fileName)) { input.CopyTo(fileStream); fileStream.Flush(); fileStream.Close(); //open the model and import using (var model = new XbimModel()) { model.CreateFrom(fileName, null, null, true); var m3DModelContext = new Xbim3DModelContext(model); using (var wexBimFile = new FileStream(wexBimFileName, FileMode.Create)) { using (var bw = new BinaryWriter(wexBimFile)) { m3DModelContext.CreateContext(XbimGeometryType.PolyhedronBinary); m3DModelContext.Write(bw); bw.Close(); wexBimFile.Close(); outputWexbimBlob.UploadFromFile(wexBimFileName, FileMode.Open); } } using (var cobieFile = new FileStream(cobieFileName, FileMode.Create)) { var helper = new CoBieLiteHelper(model, "UniClass"); var facility = helper.GetFacilities().FirstOrDefault(); if (facility != null) { using (var writer = new StreamWriter(cobieFile)) { CoBieLiteHelper.WriteJson(writer, facility); writer.Close(); outputCobieBlob.UploadFromFile(cobieFileName, FileMode.Open); } } } model.Close(); } } } finally { //tidy up if (File.Exists(fileName)) { File.Delete(fileName); } if (File.Exists(xbimFileName)) { File.Delete(xbimFileName); } if (File.Exists(wexBimFileName)) { File.Delete(wexBimFileName); } if (File.Exists(cobieFileName)) { File.Delete(cobieFileName); } } }
public static string ConvertToWexbim(string fileName, int roomId, bool createJson = false) { var wexBimFilename = Path.ChangeExtension(fileName, "wexbim"); byte[] temp; using (ISelect select = new QQContext()) { temp = select.GetRoomModel ( roomId ); } if (temp == null) { return(null); } File.WriteAllBytes ( fileName, temp ); using (var model = IfcStore.Open(fileName)) { var context = new Xbim3DModelContext(model); context.CreateContext(); using (var wexBiMfile = File.Create(wexBimFilename)) { using (var wexBimBinaryWriter = new BinaryWriter(wexBiMfile)) { model.SaveAsWexBim(wexBimBinaryWriter); wexBimBinaryWriter.Close(); } wexBiMfile.Close(); } if (createJson) { var cobieFileName = Path.ChangeExtension ( fileName, "json" ); using (var cobieFile = new FileStream ( cobieFileName, FileMode.Create )) { var helper = new CoBieLiteHelper ( model, "UniClass" ); var facility = helper.GetFacilities() .FirstOrDefault(); if (facility != null) { using (var writer = new StreamWriter ( cobieFile )) { CoBieLiteHelper.WriteJson ( writer, facility ); writer.Close(); } } } } } File.Delete(fileName); return(wexBimFilename); }
public void ConvertCoBieLiteToXml() { using (var m = new XbimModel()) { const string ifcTestFile = "2012-03-23-Duplex-Handover.ifc"; // var IfcTestFile = @"D:\Users\steve\xBIM\Test Models\BimAlliance BillEast\Model 1 Duplex Apartment\Duplex_MEP_20110907.ifc"; var xbimTestFile = Path.ChangeExtension(ifcTestFile, "xbim"); m.CreateFrom(ifcTestFile, xbimTestFile, null, true, true); var helper = new CoBieLiteHelper(m, "UniClass"); var facilities = helper.GetFacilities(); var i = 1; foreach (var facilityType in facilities) { Assert.IsTrue(facilityType.FacilityDefaultLinearUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultAreaUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultVolumeUnitSpecified); var outName = string.Format("Facility{0}.xml", i++); using (TextWriter writer = File.CreateText(outName)) { CoBieLiteHelper.WriteXml(writer, facilityType); } CoBieLiteHelper.WriteXml(Console.Out, facilityType); // attempt reading CoBieLiteHelper.ReadXml(outName); } } }
public void ConvertCoBieLiteToIfc() { using (var m = new XbimModel()) { m.CreateFrom("2012-03-23-Duplex-Handover.ifc", "2012-03-23-Duplex-Handover.xbim", null, true, true); var helper = new CoBieLiteHelper(m, "UniClass"); var facilities = helper.GetFacilities(); foreach (var facilityType in facilities) { using (new FileStream("facility.bson", FileMode.Create)) { helper.WriteIfc(Console.Out, facilityType); } } } }
public void ConvertCoBieLiteToBson() { using (var m = new XbimModel()) { const string ifcTestFile = "2012-03-23-Duplex-Handover.ifc"; // IfcTestFile = @"C:\Data\dev\XbimTeam\XbimExchange\Tests\TestFiles\Standard_Classroom_CIC_6_Project_mod2.ifc"; var xbimTestFile = Path.ChangeExtension(ifcTestFile, "xbim"); m.CreateFrom(ifcTestFile, xbimTestFile, null, true, true); var helper = new CoBieLiteHelper(m, "UniClass"); var facilities = helper.GetFacilities(); foreach (var facilityType in facilities) { Assert.IsTrue(facilityType.FacilityDefaultLinearUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultAreaUnitSpecified); Assert.IsTrue(facilityType.FacilityDefaultVolumeUnitSpecified); using (var sw = new FileStream("facility.bson",FileMode.Create)) { using (var bw = new BinaryWriter(sw)) { CoBieLiteHelper.WriteBson(bw, facilityType); } } } } }