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;
                }
            }
        }
 public FilterViewModel(OutPutFilters modelFilter)
 {
     _filters          = modelFilter;
     ProductFilters    = makeFilter(modelFilter.IfcProductFilter);
     TypeObjectFilters = makeFilter(modelFilter.IfcTypeObjectFilter);
     AssemblyFilters   = makeFilter(modelFilter.IfcAssemblyFilter);
 }
Example #3
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="filter">OutPutFilters</param>
        /// <param name="readOnly"></param>
        public FilterTab(OutPutFilters filter, bool readOnly = false)
        {
            _filter  = filter;
            ReadOnly = readOnly;
            InitializeComponent();
            listViewDefinedTypes.UpdatedListView += SetPreDefinedTypes;
            if (readOnly)
            {
                listViewDefinedTypes.SetReadOnly();
            }
            _common    = (PropertySetFilters)tabPropertyCtr.TabPages["tabCommon"].Controls["pSetFiltersCommon"];
            _zone      = (PropertySetFilters)tabPropertyCtr.TabPages["tabZone"].Controls["pSetFiltersZone"];
            _type      = (PropertySetFilters)tabPropertyCtr.TabPages["tabType"].Controls["pSetFiltersType"];
            _space     = (PropertySetFilters)tabPropertyCtr.TabPages["tabSpace"].Controls["pSetFiltersSpace"];
            _floor     = (PropertySetFilters)tabPropertyCtr.TabPages["tabFloor"].Controls["pSetFiltersFloor"];
            _facility  = (PropertySetFilters)tabPropertyCtr.TabPages["tabFacility"].Controls["pSetFiltersFacility"];
            _spare     = (PropertySetFilters)tabPropertyCtr.TabPages["tabSpare"].Controls["pSetFiltersSpare"];
            _component = (PropertySetFilters)tabPropertyCtr.TabPages["tabComponent"].Controls["pSetFiltersComponent"];

            Init(_filter);

            if (!readOnly)
            {
                return;
            }
            chkListBoxComp.ItemCheck += chkList_OnItemCheck;
            chkListBoxType.ItemCheck += chkList_OnItemCheck;
            chkListBoxAss.ItemCheck  += chkList_OnItemCheck;
        }
        public Window1()
        {
            InitializeComponent();
            var f = OutPutFilters.GetDefaults(RoleFilter.Unknown);

            Filters = new FilterViewModel(f);
        }
Example #5
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="filter">OutPutFilters</param>
        public FilterTab(OutPutFilters filter, bool readOnly = false)
        {
            Filter = filter;
            ReadOnly = readOnly;
            InitializeComponent();
            listViewDefinedTypes.UpdatedListView += SetPreDefinedTypes;
            if (readOnly)
            {
                listViewDefinedTypes.SetReadOnly(); 
            }
            _common = (PropertySetFilters)tabPropertyCtr.TabPages["tabCommon"].Controls["pSetFiltersCommon"];
            _zone = (PropertySetFilters)tabPropertyCtr.TabPages["tabZone"].Controls["pSetFiltersZone"];
            _type = (PropertySetFilters)tabPropertyCtr.TabPages["tabType"].Controls["pSetFiltersType"];
            _space = (PropertySetFilters)tabPropertyCtr.TabPages["tabSpace"].Controls["pSetFiltersSpace"];
            _floor = (PropertySetFilters)tabPropertyCtr.TabPages["tabFloor"].Controls["pSetFiltersFloor"];
            _facility = (PropertySetFilters)tabPropertyCtr.TabPages["tabFacility"].Controls["pSetFiltersFacility"];
            _spare = (PropertySetFilters)tabPropertyCtr.TabPages["tabSpare"].Controls["pSetFiltersSpare"];
            _component = (PropertySetFilters)tabPropertyCtr.TabPages["tabComponent"].Controls["pSetFiltersComponent"];

            Init(Filter);

            if (readOnly)
            {
                chkListBoxComp.ItemCheck += new ItemCheckEventHandler(this.chkList_OnItemCheck);
                chkListBoxType.ItemCheck += new ItemCheckEventHandler(this.chkList_OnItemCheck);
                chkListBoxAss.ItemCheck += new ItemCheckEventHandler(this.chkList_OnItemCheck); 
            }
        }
        /// <summary>
        /// On Click Class filter Button
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnClassFilter_Click(object sender, EventArgs e)
        {
            var dir = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);

            //set the defaults if not already set
            if (_assetfilters.DefaultsNotSet)
            {
                _assetfilters.FillRolesFilterHolderFromDir(dir);
            }
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                var filterDlg = new FilterDlg(_assetfilters);
                if (filterDlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
                _assetfilters = filterDlg.RolesFilters;
                _assetfilters.WriteXmlRolesFilterHolderToDir(dir);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Example #7
0
 public FilterDlg(OutPutFilters assetfilters, bool seeMergeFilterOnRole = false, Dictionary <FileInfo, OutPutFilters> FedFilters = null)
 {
     InitializeComponent();
     SeeMergeFilter = seeMergeFilterOnRole;
     Roles          = assetfilters.AppliedRoles;
     RolesFilters   = assetfilters;
     SetFilter(FedFilters);
 }
Example #8
0
 public FilterDlg(OutPutFilters assetfilters, bool seeMergeFilterOnRole = false, Dictionary<FileInfo, OutPutFilters> FedFilters = null)
 {
     InitializeComponent();
     SeeMergeFilter = seeMergeFilterOnRole;
     Roles = assetfilters.AppliedRoles;
     RolesFilters = assetfilters;
     SetFilter(FedFilters);
 }
Example #9
0
        /// <summary>
        /// Reset to the default resource config file
        /// </summary>
        private void SetDefault()
        {
            var        name = this.Parent.Name;
            RoleFilter role;

            if (Enum.TryParse(name, out role))
            {
                var defaultFilter = OutPutFilters.GetDefaults(role);
                if (defaultFilter != null)
                {
                    Filter.Copy(defaultFilter);
                    Init(Filter);
                }
            }
        }
Example #10
0
        /// <summary>
        /// Set up control items
        /// </summary>
        /// <param name="filter">OutPutFilters</param>
        private void Init(OutPutFilters filter)
        {
            SetUpPropertNameLists(_common, filter.CommonFilter);
            SetUpPropertNameLists(_zone, filter.ZoneFilter);
            SetUpPropertNameLists(_type, filter.TypeFilter);
            SetUpPropertNameLists(_space, filter.SpaceFilter);
            SetUpPropertNameLists(_floor, filter.FloorFilter);
            SetUpPropertNameLists(_facility, filter.FacilityFilter);
            SetUpPropertNameLists(_spare, filter.SpareFilter);
            SetUpPropertNameLists(_component, filter.ComponentFilter);

            SetUpObjectsList(chkListBoxComp, filter.IfcProductFilter.Items);
            SetUpObjectsList(chkListBoxType, filter.IfcTypeObjectFilter.Items);
            SetUpObjectsList(chkListBoxAss, filter.IfcAssemblyFilter.Items);
        }
Example #11
0
        /// <summary>
        /// Set up control items
        /// </summary>
        /// <param name="filter">OutPutFilters</param>
        private void Init (OutPutFilters filter)
        {
            SetUpPropertNameLists(_common, filter.CommonFilter);
            SetUpPropertNameLists(_zone, filter.ZoneFilter);
            SetUpPropertNameLists(_type, filter.TypeFilter);
            SetUpPropertNameLists(_space, filter.SpaceFilter);
            SetUpPropertNameLists(_floor, filter.FloorFilter);
            SetUpPropertNameLists(_facility, filter.FacilityFilter);
            SetUpPropertNameLists(_spare, filter.SpareFilter);
            SetUpPropertNameLists(_component, filter.ComponentFilter);

            SetUpObjectsList(chkListBoxComp, filter.IfcProductFilter.Items);
            SetUpObjectsList(chkListBoxType, filter.IfcTypeObjectFilter.Items);
            SetUpObjectsList(chkListBoxAss, filter.IfcAssemblyFilter.Items);
        }
Example #12
0
        /// <summary>
        /// Reset to the default resource config file
        /// </summary>
        private void SetDefault()
        {
            var        name = Parent.Name;
            RoleFilter role;

            if (!Enum.TryParse(name, out role))
            {
                return;
            }
            var defaultFilter = OutPutFilters.GetDefaults(role);

            if (defaultFilter == null)
            {
                return;
            }
            _filter.Copy(defaultFilter);
            Init(_filter);
        }
Example #13
0
        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;
                }
            }
        }
 public LibalIfcToCOBieLiteUkExchanger(IModel source, List <Facility> target, ReportProgressDelegate reportProgress = null, OutPutFilters filter = null, string configFile = null, EntityIdentifierMode extId = EntityIdentifierMode.GloballyUniqueIds, SystemExtractionMode sysMode = SystemExtractionMode.System | SystemExtractionMode.Types)
     : base(source, target, reportProgress, filter, configFile, extId, sysMode)
 {
     ReportProgress.Progress = reportProgress;
     Helper = new CoBieLiteUkHelper(source, ReportProgress, filter, configFile, extId, sysMode);
 }
        /// <summary>
        /// Instantiates a new IIfcToCOBieLiteUkExchanger class.
        /// </summary>
        public IfcToCoBieExpressExchanger(IfcStore source, IModel target, ReportProgressDelegate reportProgress = null, OutPutFilters filter = null, string configFile = null, EntityIdentifierMode extId = EntityIdentifierMode.IfcEntityLabels, SystemExtractionMode sysMode = SystemExtractionMode.System | SystemExtractionMode.Types, bool classify = false)
            : base(source, target)
        {
            ReportProgress.Progress = reportProgress; //set reporter
            Helper = new COBieExpressHelper(this, ReportProgress, filter, configFile, extId, sysMode);
            Helper.Init();

            _classify = classify;
        }
 /// <summary>
 /// On Click Class filter Button
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnClassFilter_Click(object sender, EventArgs e)
 {
     DirectoryInfo dir = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);
     //set the defaults if not already set
     if (_assetfilters.DefaultsNotSet)
     {
         
         _assetfilters.FillRolesFilterHolderFromDir(dir);
     }
     try
     {
         Cursor.Current = Cursors.WaitCursor;
         FilterDlg filterDlg = new FilterDlg(_assetfilters);
         if (filterDlg.ShowDialog() == DialogResult.OK)
         {
             _assetfilters = filterDlg.RolesFilters;
             _assetfilters.WriteXMLRolesFilterHolderToDir(dir);
         }
     }
     finally
     {
         Cursor.Current = Cursors.Default;
     }
     
 }
Example #17
0
 /// <summary>
 /// Instantiates a new IfcToCOBieLiteUkExchanger class.
 /// </summary>
 /// <param name="source"></param>
 /// <param name="target"></param>
 /// <param name="reportProgress"></param>
 /// <param name="filter"></param>
 /// <param name="configFile"></param>
 /// <param name="extId"></param>
 /// <param name="sysMode"></param>
 /// <param name="classify"></param>
 public IfcToCOBieLiteUkExchanger(XbimModel source, List <Facility> target, ReportProgressDelegate reportProgress = null, OutPutFilters filter = null, string configFile = null, EntityIdentifierMode extId = EntityIdentifierMode.IfcEntityLabels, SystemExtractionMode sysMode = SystemExtractionMode.System | SystemExtractionMode.Types, bool classify = false) : base(source, target)
 {
     ReportProgress.Progress = reportProgress; //set reporter
     Helper         = new CoBieLiteUkHelper(source, ReportProgress, filter, configFile, extId, sysMode);
     this._classify = classify;
 }