Ejemplo n.º 1
0
 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();
             }
             
         }
     }
 }
Ejemplo n.º 2
0
 public void CanOpenTemporaryModel()
 {
     var model = XbimModel.CreateTemporaryModel();
     model.Initialise();
     var helper = new CoBieLiteHelper(model, "UniClass");
     helper.GetFacilities();
 }
Ejemplo n.º 3
0
        public void CanOpenTemporaryModel()
        {
            var model = XbimModel.CreateTemporaryModel();

            model.Initialise();
            var helper = new CoBieLiteHelper(model, "UniClass");

            helper.GetFacilities();
        }
Ejemplo n.º 4
0
        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())
            {
            }
        }
Ejemplo n.º 5
0
 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);
             }
         }
     }
 }
Ejemplo n.º 6
0
 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);
         }
     }
 }
Ejemplo n.º 7
0
        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();
            }
        }
Ejemplo n.º 8
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 9
0
        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);
                }
            }
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
                }
            }
        } 
Ejemplo n.º 12
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 13
0
        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);
                        }
                    }
                }
            }
        }