public void ValidateXlsLakeside()
 {
     const string xlsx = @"LakesideWithDocuments.xls";
     string msg;
     var cobie = Facility.ReadCobie(xlsx, out msg);
     var req = Facility.ReadJson(@"Lakeside_Restaurant-stage6-COBie.json");
     var validator = new FacilityValidator();
     var result = validator.Validate(req, cobie);
     result.WriteJson(@"..\..\XlsLakesideWithDocumentsValidationStage6.json", true);
 }
Exemple #2
0
        static void Main(string[] args)
        {
            const string xlsx = @"Lakeside_Restaurant_fabric_only.xlsx";
            string msg;
            var cobie = Facility.ReadCobie(xlsx, out msg);
            var req = Facility.ReadJson(@"003-Lakeside_Restaurant-stage6-COBie.json");
            var validator = new FacilityValidator();
            var result = validator.Validate(req, cobie);

            //create report
            using (var stream = File.Create(@"Lakeside_Restaurant_fabric_only.report.xlsx"))
            {
                var report = new ExcelValidationReport();
                report.Create(result, stream, ExcelValidationReport.SpreadSheetFormat.Xlsx);
                stream.Close();
            }
        }
        private static Facility GetValidated(string requirementFile)
        {
            const string ifcTestFile = @"Lakeside_Restaurant_fabric_only.ifczip";
            Facility sub = null;

            //create validation file from IFC
            using (var m = new XbimModel())
            {
                var xbimTestFile = Path.ChangeExtension(ifcTestFile, "xbim");
                m.CreateFrom(ifcTestFile, xbimTestFile, null, true, true);
                var facilities = new List<Facility>();
                var ifcToCoBieLiteUkExchanger = new IfcToCOBieLiteUkExchanger(m, facilities);
                facilities = ifcToCoBieLiteUkExchanger.Convert();
                sub = facilities.FirstOrDefault();
            }
            Assert.IsTrue(sub!=null);
            var vd = new FacilityValidator();
            var req = Facility.ReadJson(requirementFile);
            var validated = vd.Validate(req, sub);
            return validated;
        }
Exemple #4
0
        private void ValidateLoadedFacilities()
        {
            if (RequirementFacility == null && SubmissionFacility != null)
            {
                // I want to save the cobie here.
                var filters = new List <string>
                {
                    "COBie excel|*.xlsx",
                    "COBie binary excel|*.xls"
                };

                FileSelector.Filter = string.Join("|", filters.ToArray());
                FileSelector.Title  = "Select destination file";

                var ret = FileSelector.ShowDialog();
                if (ret != DialogResult.OK)
                {
                    return;
                }

                string msg;
                SubmissionFacility.WriteCobie(FileSelector.FileName, out msg);
                if (OpenOnExported && File.Exists(FileSelector.FileName))
                {
                    Process.Start(FileSelector.FileName);
                }
            }
            else if (RequirementFacility != null && SubmissionFacility != null)
            {
                ActivityStatus = "Validation in progress";
                var f = new cobieUKValidation.FacilityValidator();
                ValidationFacility = f.Validate(RequirementFacility, SubmissionFacility);
                ActivityStatus     = "Validation completed";
                if (ExportOnValidated)
                {
                    ExportValidatedFacility();
                }
            }
        }
        private void ValidateLoadedFacilities()
        {
            if (RequirementFacility == null && SubmissionFacility != null)
            {
                // I want to save the cobie here.
                var filters = new List<string>
                {
                    "COBie excel|*.xlsx", 
                    "COBie binary excel|*.xls"
                };
                
                FileSelector.Filter = string.Join("|", filters.ToArray());
                FileSelector.Title = "Select destination file";

                var ret = FileSelector.ShowDialog();
                if (ret != DialogResult.OK) 
                    return;
                
                string msg;
                SubmissionFacility.WriteCobie(FileSelector.FileName, out msg);
                if (OpenOnExported && File.Exists(FileSelector.FileName))
                {
                    Process.Start(FileSelector.FileName);
                }
            }
            else if (RequirementFacility != null && SubmissionFacility != null)
            {
                ActivityStatus = "Validation in progress";
                var f = new cobieUKValidation.FacilityValidator();
                ValidationFacility = f.Validate(RequirementFacility, SubmissionFacility);
                ActivityStatus = "Validation completed";
                if (ExportOnValidated)
                {
                    ExportValidatedFacility();
                }
            }
        }
 private void TestValidation()
 {
     if (ReqFacility == null || ModelFacility == null)
         return;
     var f = new FacilityValidator();
     ValFacility = f.Validate(ReqFacility, ModelFacility);
     SetFacility(ValFacility);
 }
Exemple #7
0
        static void Main(string[] args)
        {
            
            if (args.Length < 1)
            {
                Console.WriteLine("No Ifc or xBim file specified");
                return;
            }
            var fileName = args[0];
            Console.WriteLine("Reading " + fileName);
           
            using (var model = GetModel(fileName))
            {
                if (model != null)
                {
                   
                    var context = new Xbim3DModelContext(model);
                    context.CreateContext(geomStorageType: XbimGeometryType.PolyhedronBinary);
                    var wexBimFilename = Path.ChangeExtension(fileName, "wexBIM");
                    using (var wexBiMfile = new FileStream(wexBimFilename, FileMode.Create, FileAccess.Write))
                    {
                        using (var wexBimBinaryWriter = new BinaryWriter(wexBiMfile))
                        {
                            Console.WriteLine("Creating " + wexBimFilename);
                            context.Write(wexBimBinaryWriter);
                            wexBimBinaryWriter.Close();
                        }
                        wexBiMfile.Close();
                    }
                    //now do the DPoW files
                    var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileName);
                    var fileDirectoryName = Path.GetDirectoryName(fileName);
                    var facilities = new List<Facility>();
                    var ifcToCoBieLiteUkExchanger = new IfcToCOBieLiteUkExchanger(model, facilities);
                    facilities = ifcToCoBieLiteUkExchanger.Convert();
                    
                    var facilityNumber = 0;

                    foreach (var facility in facilities)
                    {
                        var dpow = "DPoW";
                        if (facilities.Count > 1) 
                            dpow += ++facilityNumber;
                        // ReSharper disable AssignNullToNotNullAttribute
                        var dPoWFile = Path.Combine(fileDirectoryName, fileNameWithoutExtension + "_" + dpow);
                        // ReSharper restore AssignNullToNotNullAttribute
                        dPoWFile = Path.ChangeExtension(dPoWFile, "json");
                        Console.WriteLine("Creating " + dPoWFile);

                        facility.WriteJson(dPoWFile);
                        string cobieFile = Path.ChangeExtension(dPoWFile, "Xlsx");
                        Console.WriteLine("Creating " + cobieFile);
                        string error;
                        facility.WriteCobie(cobieFile, out error);
                        if (!string.IsNullOrWhiteSpace(error))
                            Console.WriteLine("COBie Errors: " + error);

                        dPoWFile = Path.ChangeExtension(dPoWFile, "xml");
                        Console.WriteLine("Creating " + dPoWFile);
                       // facility.WriteXml(dPoWFile);
                        var req = Facility.ReadJson(@"..\..\Tests\ValidationFiles\Lakeside_Restaurant-stage6-COBie.json");
                        var validator = new FacilityValidator();
                        var result = validator.Validate(req, facility);
                        var verificationResults = Path.ChangeExtension(dPoWFile, "verified.xlsx");
                        Console.WriteLine("Creating " + verificationResults);
                        //create report
                        using (var stream = File.Create(verificationResults))
                        {
                            var report = new ExcelValidationReport();
                            report.Create(result, stream, ExcelValidationReport.SpreadSheetFormat.Xlsx);
                            stream.Close();
                        }

                        facility.ValidateUK2012(Console.Out,true);
                        string cobieValidatedFile = Path.ChangeExtension(dPoWFile, "Validated.Xlsx");
                        facility.WriteCobie(cobieValidatedFile, out error);
                        dPoWFile = Path.ChangeExtension(dPoWFile, "xbim");
                        Console.WriteLine("Creating " + dPoWFile);
                        using (var ifcModel = XbimModel.CreateModel(dPoWFile))
                        {
                            ifcModel.Initialise("Xbim Tester", "XbimTeam", "Xbim.Exchanger", "Xbim Development Team", "3.0");
                            ifcModel.ReloadModelFactors();
                            using (var txn = ifcModel.BeginTransaction("Convert from COBieLiteUK"))
                            {
                                var coBieLiteUkToIfcExchanger = new CoBieLiteUkToIfcExchanger(facility, ifcModel);
                                coBieLiteUkToIfcExchanger.Convert();
                                txn.Commit();
                                //var err = model.Validate(model.Instances, Console.Out);
                            }
                            dPoWFile = Path.ChangeExtension(dPoWFile, "ifc");
                            Console.WriteLine("Creating " + dPoWFile);
                            ifcModel.SaveAs(dPoWFile, XbimStorageType.IFC);
                            ifcModel.Close();
                        }
                    }
                    model.Close();
                }
            }
            Console.WriteLine("Press any key to exit");
            Console.Read();
        }
 private static Facility LakeSide0()
 {
     const string xlsx = @"LakesideWithDocuments.xls";
     string msg;
     var cobie = Facility.ReadCobie(xlsx, out msg);
     var req = Facility.ReadJson(@"Lakeside_Restaurant-stage0-COBie.json");
     var validator = new FacilityValidator();
     var result = validator.Validate(req, cobie);
     return result;
 }