The main goal of this research is to create and implement an innovative yet scalable FM optimum solution without the need for expertise, with an optimal cost, and within an available budget. To achieve this goal, the proposed framework that was created using Python will use real-time data and predictive models to optimize maintenance plans, schedules, and resource allocations. The proposed BIM-based decision support system framework for predictive maintenance management of building facilities is a comprehensive approach to optimizing the maintenance processes of building facilities. The framework is based on the integration of BIM, predictive maintenance, and data analytics to provide building facility managers with the necessary information to make informed maintenance decisions. Figure 3 shows the key components of the framework:

Fig. 3
figure 3

Key components of the framework.

Overall, the proposed BIM-based decision support system framework for predictive maintenance management of building facilities can help facility managers improve their maintenance processes, reduce maintenance downtime, extend the life of the building assets, and reduce maintenance costs. All these problems and others are mentioned in24,25, and the proposed system helps to solve most of them. This research suggests that the integration of BIM systems in preventive and predictive maintenance can improve efficiency, reduce costs, and prevent unexpected system failures. However, the success of BIM implementation depends on proper training, standardized guidelines, and addressing technological infrastructure limits.

The flowchart for the proposed workflow is illustrated in Figs. 4 and 5. There are three main steps: (i) creating the model of the building that needs a maintenance system, then exporting elements from Revit into an Excel sheet, (ii) filling the Excel sheet with element data that need to be maintained, and importing data back into Revit, (iii) calculate the budget and create outcome values.

Fig. 4
figure 4

Flowchart for the proposed workflow.

Fig. 5
figure 5

Flowcharts of export elements, import data, and calculation of the budget at the proposed framework.

After adding the add-in to Revit, the screen of Revit changes as shown in Fig. 6, with the three main buttons.

Fig. 6
figure 6

Revit- screen after integrating the proposed add-in.

To implement this add-in with Revit, the present work pursued a methodology with the following steps, also documented in Table 1.

Table 1 The proposed flowchart and the step-by-step method for its process.

Firstly, create a BIM (3D, 4D, or 5D) model, which is a digital representation of a building or structure. In the model, different elements like walls, doors, windows, roofs, and floors are used to create the virtual representation of the building. These elements are parametric, meaning they can be easily modified and updated throughout the design process. In the same way, the software not only captures the geometry of the building but also stores important all data associated with each element (Pricing, budgeting, and financial estimations for construction, maintenance, time-related information, including construction sequencing, project timelines, energy efficiency, sustainability metrics, and environmental impact, Maintenance schedules, expected lifespan, and replacement planning). Enhancing a Common Data Environment (CDE) collaboration, real-time modifications by an automated system, strong tracking on time and cost for all elements, risk contingency by reducing over costs, and performance tracking for each item in the mode are the reflections of this data on the proposed system.

Secondly, related to the building information collection, the data collected from the created models includes material properties, dimensions, and structural information. This integration of geometry and data enables better coordination and collaboration among project team members. All of this data is ready to export to an Excel sheet.

Thirdly, the responsible engineer or a maintenance engineer should fill all the cells in the exported Excel sheet, based on their on-site inspection. Column 1 lists the items exported from the software model. Column 2 requires the user to define the importance of each item/facility with a ranking from 1 to 10, where 1 is least important and 10 is most important. Column 3 identifies whether payment for maintaining/replacing this item is immediate (indicated by 1) or can be postponed (indicated by zero). If payment can be postponed, indicate the maximum number of delay days in Column 4. If payment can be deferred, the following information is to be entered: Column 5 is the advanced payment amount, Column 6 is the deferred/remaining payment amount, and Column 7 is the days required to pay the remaining payment amount. Finally, in Column 8, it is important to link the dependencies of each element. This is important information to include and ensures that the user checks all related elements and components. This is typically missed in traditional maintenance schemes.

The third icon in the add-in takes care of the next step, which requires the user to insert the allowable budget for maintenance for this period. Manual documentation ensures data integrity and verification through human oversight, which minimizes the risk of errors or misinterpretations that automated systems may introduce when handling large volumes of data. Additionally, it aids in maintaining compliance with regulatory and industry standards, as many construction projects necessitate specific documentation protocols that automated systems might not fully address. In areas with limited infrastructure or technological capabilities, manual inspections continue to be the most reliable method for accurate data collection and adherence to necessary standards.

The user then runs the algorithm to determine the optimum list of items and their components that need maintenance in this period within the allowable budget. It’s essential to mention that the Multi-Criteria Decision Analysis (MCDA) is the optimization method considered in the proposed plugin. MCDA is used in this study related to the ability of this method to evaluate multiple criteria in decision- making within using qualitative and quantitative evaluation. Finally, a report of the final results is issued. The module helps organizations implement and monitor maintenance plans across multiple assets and provision resources more effectively, reducing costs, increasing asset lifespan, and preventing potential equipment failures or downtime.

The Revit API code implements several optimization techniques for budget allocation and element management. First, it uses (sorting-based optimization) through the Sort-Parameter-Data function to organize elements by dependencies, enabling efficient data retrieval. Second, filtering-based optimization is applied via Filter-Sorted-List-By-Budget, which refines elements based on budget constraints for better resource allocation. Additionally, the code incorporates error handling and validation. Like (Number-Validation-Text-Box), (Check-Needed-Columns), to maintain data integrity before processing. Also, Transaction-based optimization) Ensures efficient modifications by using Revit Transactions, minimizing computational overhead. Finally, memory management optimization) is achieved through memory streams for Excel file handling, enhancing performance during data export and import operations. Together, these techniques improve efficiency, accuracy, and resource management in the Revit environment.

The primary objective of the optimization is to maximize the selection of elements while adhering to a predefined budget constraint. This is implemented through the function called (Filter-Sorted-List-By-Budget), which systematically evaluates and filters elements to ensure compliance with financial limitations. Python is designed to code which used in the proposed system. The following lines show the objective function, which is formulated mathematically as:

$$Max\sum\limits_{{i = 1}}^{n}[ {E_{i} } ]$$

(1)

Where (E_i) denotes an element satisfying the budget constraint; (n) represents the total number of candidate elements under consideration.

The optimization process is governed by the following parameters:

  1. 1.

    Budget Value—A user-defined financial threshold that constrains element selection.

  2. 2.

    Element IDs & Parameters—Extracted from the Revit model and utilized for filtering and prioritization.

  3. 3.

    Task Importance & Dependencies—Encoded within an Excel file to guide hierarchical processing.

  4. 4.

    Comment Parameter—Serves as a metadata container for element-specific data retrieval.

On the other hand, there are some constraints of the proposed system, which will be summarized below:

Budget constraint

Ensure the total cost of selected elements does not exceed the specified budget:

$$[\sum_{i = 1}^{n} C_i \cdot x_i \leq \text{Budget} ]$$

(2)

Where (C_i) = cost of element I; (x_i \in {0,1}) indicates whether element i is selected (1) or not (0).

Element selection constraint

Only valid elements from the Revit model (based on parameters or filters) are eligible for inclusion:

$$[ x_i = 0 \quad \text{if element } i \text{ does not meet the required filters} ]$$

(3)

Dependency constraint

Enforce ordering or dependencies from your Excel file. For instance, if Task A must be completed before Task B:

This prevents selecting Task B without also selecting Task A.

Task importance priority

You might require certain high-priority elements to be always included or have a minimum representation:

$$[ sum_{i \in \text{HighPriority}} x_i \geq k ]$$

(5)

Where k is a threshold set by the user.

Comment parameter constraint

Limit selection based on specific metadata tags embedded in the “Comment” parameter:

$$[ x_i = 0 \quad \text{if Comment}_i \notin \text{AllowedTags} ].$$

(6)



Source link