/// <summary> /// On Click Generate Button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnGenerate_Click(object sender, EventArgs e) { if (chkBoxFlipFilter.Checked) { var result = MessageBox.Show("Flip Filter is ticked, this will show only excluded items, Do you want to continue", "Warning", MessageBoxButtons.YesNo); if (result == System.Windows.Forms.DialogResult.No) { return; } } btnGenerate.Enabled = false; if (_cobieWorker == null) { _cobieWorker = new COBieLiteWorker(); _cobieWorker.Worker.ProgressChanged += WorkerProgressChanged; _cobieWorker.Worker.RunWorkerCompleted += WorkerCompleted; } //get Excel File Type ExportTypeEnum excelType = GetExcelType(); //set filters RoleFilter filterRoles = SetRoles(); if (!chkBoxNoFilter.Checked) { _assetfilters.ApplyRoleFilters(filterRoles); _assetfilters.FlipResult = chkBoxFlipFilter.Checked; } //set parameters var args = new Params { ModelFile = txtPath.Text, TemplateFile = txtTemplate.Text, Roles = filterRoles, ExportType = excelType, FlipFilter = chkBoxFlipFilter.Checked, OpenExcel = chkBoxOpenFile.Checked, FilterOff = chkBoxNoFilter.Checked, ExtId = chkBoxIds.Checked ? EntityIdentifierMode.IfcEntityLabels : EntityIdentifierMode.GloballyUniqueIds, SysMode = SetSystemMode(), Filter = chkBoxNoFilter.Checked ? new OutPutFilters() : _assetfilters, ConfigFile = ConfigFile.FullName, Log = chkBoxLog.Checked, }; //run worker _cobieWorker.Run(args); }
public void IfcToCoBieLiteUkTest() { const string ifcTestFile = @"Lakeside_Restaurant.ifc"; using (var m = IfcStore.Open(ifcTestFile)) { var jsonFile = Path.ChangeExtension(ifcTestFile, "json"); var facilities = new List <Facility>(); var rolefilters = new OutPutFilters(); const RoleFilter reqRoles = RoleFilter.Unknown; //RoleFilter.Architectural | RoleFilter.Mechanical | RoleFilter.Electrical | RoleFilter.FireProtection | RoleFilter.Plumbing; rolefilters.ApplyRoleFilters(reqRoles); var ifcToCoBieLiteUkExchanger = new IfcToCOBieLiteUkExchanger(m, facilities, null, rolefilters); facilities = ifcToCoBieLiteUkExchanger.Convert(); foreach (var facilityType in facilities) { var log = new StringWriter(); facilityType.ValidateUK2012(log, true); string msg; facilityType.WriteJson(jsonFile, true); facilityType.WriteCobie("..\\..\\Lakeside_Restaurant.xlsx", out msg, rolefilters, "UK2012", true); break; } } }
/// <summary> /// On Click Generate Button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnGenerate_Click(object sender, EventArgs e) { if (chkBoxFlipFilter.Checked) { // ReSharper disable LocalizableElement var result = MessageBox.Show( "Flip Filter is ticked, this will show only excluded items, Do you want to continue", "Warning", MessageBoxButtons.YesNo); if (result == DialogResult.No) { return; } } btnGenerate.Enabled = false; //get required type of COBie COBieType cobieType; Enum.TryParse <COBieType>(cmBoxCOBieType.SelectedValue.ToString(), out cobieType); if (cobieType == COBieType.COBieLiteUK) { if (_cobieWorker == null || !(_cobieWorker is CobieLiteConverter)) { _cobieWorker = new CobieLiteConverter(); _cobieWorker.Worker.ProgressChanged += WorkerProgressChanged; _cobieWorker.Worker.RunWorkerCompleted += WorkerCompleted; } } else if (cobieType == COBieType.COBieExpress) { if (_cobieWorker == null || !(_cobieWorker is CobieExpressConverter)) { _cobieWorker = new CobieExpressConverter(); _cobieWorker.Worker.ProgressChanged += WorkerProgressChanged; _cobieWorker.Worker.RunWorkerCompleted += WorkerCompleted; } } else { throw new ArgumentException("Unknown COBieType requested"); } //get Excel File Type var excelType = GetExcelType(); //set filters var filterRoles = SetRoles(); if (!chkBoxNoFilter.Checked) { _assetfilters.ApplyRoleFilters(filterRoles); _assetfilters.FlipResult = chkBoxFlipFilter.Checked; } //set parameters var conversionSettings = new CobieConversionParams { Source = txtPath.Text, OutputFileName = Path.ChangeExtension(txtPath.Text, "Cobie"), TemplateFile = txtTemplate.Text, ExportFormat = excelType, ExtId = chkBoxIds.Checked ? EntityIdentifierMode.IfcEntityLabels : EntityIdentifierMode.GloballyUniqueIds, SysMode = SetSystemMode(), Filter = chkBoxNoFilter.Checked ? new OutPutFilters() : _assetfilters, ConfigFile = ConfigFile.FullName, Log = chkBoxLog.Checked }; //run worker _cobieWorker.Run(conversionSettings); }
public void IfcToCoBieLiteUkTest() { using (var m = new XbimModel()) { const string ifcTestFile = @"Lakeside_Restaurant.ifc"; var xbimTestFile = Path.ChangeExtension(ifcTestFile, "xbim"); var jsonFile = Path.ChangeExtension(ifcTestFile, "json"); m.CreateFrom(ifcTestFile, xbimTestFile, null, true, true); var facilities = new List<Facility>(); OutPutFilters rolefilters = new OutPutFilters(); RoleFilter reqRoles = RoleFilter.Unknown; //RoleFilter.Architectural | RoleFilter.Mechanical | RoleFilter.Electrical | RoleFilter.FireProtection | RoleFilter.Plumbing; rolefilters.ApplyRoleFilters(reqRoles); var ifcToCoBieLiteUkExchanger = new IfcToCOBieLiteUkExchanger(m, facilities, null, rolefilters); facilities = ifcToCoBieLiteUkExchanger.Convert(); foreach (var facilityType in facilities) { var log = new StringWriter(); facilityType.ValidateUK2012(log, true); string msg; facilityType.WriteJson(jsonFile, true); facilityType.WriteCobie("..\\..\\Lakeside_Restaurant.xlsx", out msg, rolefilters, "UK2012", true); break; } } }