IFC file encapsulation data processing method for steel structure material list

By performing data analysis and processing on the IFC file, steel structure material list data can be directly extracted, solving the problems of low efficiency in existing technologies that rely on foreign software platforms and drawing statistics. This enables fast and accurate generation of material lists, reducing costs and time consumption.

CN117389961BActive Publication Date: 2026-04-14SHANGHAI BAOYE GRP CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI BAOYE GRP CORP
Filing Date
2023-09-28
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing technologies for generating steel structure material lists rely on foreign third-party software platforms, which are costly, have high hardware requirements, and contain closed data, or rely on drawings for statistical work, which is labor-intensive and complex, resulting in low efficiency in material list statistics.

Method used

By performing data analysis and processing on the IFC file, the steel structure material list data can be directly extracted. This includes opening the IFC model file, traversing the entity classes, removing duplicate information, sorting and encapsulating the data into an Excel file, ensuring data integrity and availability.

Benefits of technology

It enables the rapid and accurate generation of bills of materials without relying on third-party software platforms, reducing software and hardware costs, decreasing statistical time and labor intensity, and improving data processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117389961B_ABST
    Figure CN117389961B_ABST
Patent Text Reader

Abstract

The present application relates to a kind of IFC file packaging data processing method for steel structure material list, one: opening file;Two: confirm whether IFC file;Three: attempt to read IFC model file;Four: confirm whether file is read successfully;Five: file is written into memory for subsequent traversal;Six: traverse entire file in memory and find IFC "product" class;Seven: remove duplicate entity class name;Eight: select one kind of IFC "product" class of list, traverse all relevant data of the class and write into memory;Nine: relevant processing is carried out to multiple packaging data.The program function is positioned clear, it is convenient for front-line material statistical personnel to use, and low hardware requirement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computers and a method for encapsulating and processing IFC files for steel structure bills of materials. Background Technology

[0002] Steel structures are structures composed of steel materials and are one of the main types of equipment and building structures. The various steel structural components or parts are typically connected by welds or bolts. Due to their light weight and simple construction, they are widely used in large industrial equipment, large factories, stadiums, and high-rise buildings. Therefore, improving the application of information technology will help steel structure manufacturing and processing enterprises reduce costs, increase efficiency, and catch up with world-class standards.

[0003] A steel structure material list is a fundamental document for steel structure production and processing. The vast majority of steel structure orders are billed by weight; therefore, timely calculation of the weight of steel structure production orders through the material list is crucial for confirming the contract amount. Furthermore, the steel structure material list is closely related to subsequent steel structure production, and is closely linked to subsequent production management decisions such as raw material procurement planning, loss control, and fabrication scheduling.

[0004] In the domestic and international steel structure manufacturing and processing industry, bills of materials are often generated using foreign third-party software platforms (such as TEKLA) or by manually identifying and compiling drawings. Both methods have their own drawbacks.

[0005] As one of the storage media files for steel structure models, the IFC file type and its encapsulation standard conform to the ISO 16739 standard, do not involve the intellectual property rights of third-party software platforms, and are a relatively common international file format. Currently, the steel structure manufacturing industry mainly uses IFC files for 3D model display, or as a simple information transmission medium for layout, material cutting, and transmitting information to other software platforms, without involving the analysis of the encapsulated data within the IFC file itself or the extraction of specific data. Therefore, the core objective of this invention is to efficiently and accurately extract the data required for the bill of materials used in steel structure manufacturing through computer software analysis and processing of the encapsulated data in IFC files, without using third-party software platforms.

[0006] I. Processing and Statistical Methods for Existing Steel Structure Material Lists

[0007] Existing methods for processing and statistically analyzing steel structure material list data are mainly divided into two categories: methods based on output from foreign third-party software platforms (such as TEKLA) and methods based on drawings.

[0008] First, TEKLA model files require the TEKLA STRUCTURE software platform. The software's "Drawings and Reports" function can quickly generate a material list required for steel structure production and processing. This list can then be used to compile a final material list for subsequent operations and production activities. However, this method has the following significant drawbacks:

[0009] Obtaining proprietary model files from overseas third-party software platforms is difficult: TEKELA model files represent the designer's work, but their intellectual property rights may belong to the end user or owner. Furthermore, possessing TEKELA model files allows for convenient redesign and secondary processing of existing designs; therefore, designers and purchasing parties are often reluctant to directly provide TEKELA model files. This phenomenon is particularly pronounced in overseas projects.

[0010] Foreign third-party software platforms have high usage costs: TKELA model files are a proprietary format of the TKELA STRUCTURE software, requiring this software to function effectively. However, a single TKELA STRUCTURE software license costs as much as $7,500 per year. From a business perspective, this method of software usage is excessively expensive.

[0011] Foreign third-party software platforms have high hardware costs: TKELA STRUCTURE software has many functions, but it is highly dependent on hardware. Taking TKELA STRUCTURE 2022 as an example, in addition to a professional graphics card, the official recommended minimum configuration is at least a 1TB solid-state drive, at least 16GB of RAM, and an Intel i7 CPU with a speed of 3GHz or higher. This hardware requirement is higher than the average computer configuration in China in 2022, increasing the hardware purchase costs for enterprises.

[0012] Foreign third-party software platforms have closed data structures: the encoding format, data encapsulation format, and related dependency library files of TKELA model files are all the work of the Finnish company TKELA. Secondary development by users of TKELA model files is based on the use of the API (Application Programming Interface) open to the TKELA STRUCTURE software. This results in a high degree of interdependence between TKELA model files and TKELA STRUCTURE software, and limited support for bill of materials output functions on other storage media.

[0013] In practical applications, even if a TEKLA model is obtained and an IFC model file is output through TKELA STRUCTURE software, the generated IFC model file may not be effectively used in TKELA STRUCTURE software to generate the parts list required for steel structure production and processing using the "Drawings and Reports" function. (That is, the following situation exists: the IFC file contains material list data, but the material list cannot be directly output using TEKLA STRUCTURE software.)

[0014] Secondly, preparing a material list based on drawings is currently the most common method, commonly known as "quantity deduction." Designers typically use TKELA STRUCTURE software, which holds a dominant position in steel structure design, to model the steel structure. They then output CAD drawings from the model and refine the design, resulting in layout drawings, component drawings, assembly drawings, and part drawings, which are provided to the purchasing party. The refined drawings are then submitted to the owner / user for approval, and the purchasing party distributes them to the steel structure manufacturing company for subsequent operation and production. The distributed drawings are primarily CAD or PDF files. Although the distributed drawings are annotated with "Issue for Construction," "Approve for Construction," and additional drawing descriptions to indicate that the drawings can be directly used for the company's construction production, clarifying the extent of the drawings' proprietary rights, and making it very easy for the steel structure manufacturing company to obtain the documents, this method still has other significant drawbacks:

[0015] Workload for drawing statistics: A medium-sized equipment steel structure project can have thousands or even tens of thousands of detailed drawings. The personnel responsible for compiling the bill of materials (BOM) need to open each component or part drawing using AutoCAD or PDF software, perform preliminary identification, and then compile a material list based on the drawings. Therefore, compiling a BOM based on drawings consumes a significant amount of time. For example, a single component drawing may contain information on multiple components and several related parts. Each component and part involves material information such as material type, cross-section type, and dimensions, making it extremely time-consuming to compile a material list for each part. While compiling material lists for each part has many benefits for subsequent refined production, for complex industrial equipment projects and large steel structure projects, companies often do not compile a BOM based on each part due to time and personnel cost considerations. Therefore, currently, many BOM compilations based on drawings are actually based on BOMs compiled from component drawings.

[0016] Complexity of drawing statistics and identification: In the production of steel structures for equipment, there are often several identical pieces of equipment corresponding to one set of drawings. However, the material list on the part drawing and the material list on the component drawing do not usually directly reflect the number of sets. Therefore, when material statistics personnel open the drawings, they need to pay attention to identify whether there are drawing descriptions or drawings related to the number of sets in order to avoid missing items in material statistics.

[0017] Drawing statistics error correction: In some cases, drawing detailing personnel may mix the material list for fasteners (bolts) with that for structural steel, plates, etc., in the same material list on the same drawing. For production and procurement needs, material statistics personnel need to separately count the relevant main and auxiliary materials, which adds a lot of extra workload to the material statistics work. Summary of the Invention

[0018] The present invention aims to overcome the shortcomings of the prior art and provide a method for processing encapsulated data of IFC files for steel structure material lists. This method can quickly and easily extract the data required for the steel structure material list by directly analyzing and processing the encapsulated data of the IFC file.

[0019] To solve the above-mentioned technical problems, the present invention is implemented as follows:

[0020] A method for encapsulating and processing IFC (Information Technology) files for steel structure bills of materials, characterized by comprising the following steps:

[0021] Step 1: Open the IFC model file;

[0022] Step 2: Confirm if it is an IFC file. If so, proceed to the next step.

[0023] Step 3: Attempt to pre-read the IFC model file;

[0024] Step 4: Confirm whether the file was read successfully. If so, proceed to the next step.

[0025] Step 5: Write the IFC model file into memory for subsequent traversal;

[0026] Step Six: Traverse the entire file in memory to find the IFC "Product" class;

[0027] Step 7: Remove duplicate entity class names from the IFC "Product" class and output a list of duplicate IFC "Product" entity classes.

[0028] Step 8: Select one IFC "Product" class from the list, iterate through all related data of that class and write it into memory;

[0029] Step 9: Process the data using methods such as reading, sorting, removing special characters, and merging data groups from the multi-encapsulated data container, add fields to facilitate subsequent retrieval and sorting, and then obtain the output data for each part under the IFC "Product" entity class, and further encapsulate the data for subsequent output.

[0030] Step 10: Create a temporary Excel file in memory and write all the repackaged part data line by line into the temporary memory file;

[0031] Step 11: Write the temporary Excel file in memory to the hard drive in one go.

[0032] The method for encapsulating data processing of IFC files for steel structure material lists is characterized in that: in step six, the IFC is an industry basic class, and the data to be extracted depends on the defined standard class. At the software level, the IFC standard class (entity class) is first iterated in a loop to avoid missing data.

[0033] The method for encapsulating data processing of IFC files for steel structure material lists is characterized in that: in step seven, after traversal, it is ensured that no entity classes containing material list information required for steel structure manufacturing and processing are omitted from the IFC file, but a large number of duplicate entity class names will be generated. This large amount of duplicate information is not convenient for users to view in subsequent output. A second loop traversal is performed on the already traversed entity classes to remove duplicate names so that they can be viewed and output in subsequent output.

[0034] After the first loop traversal finds all entity classes, the second loop traversal eliminates duplicate entity classes, and the output list of entity classes is reduced by removing the duplicate parts.

[0035] The method for encapsulating data in IFC files for steel structure material lists is characterized in that: in step nine, after preliminary testing and analysis, it was found that the data of standard classes (entity classes) related to the steel structure material list in the IFC file were encapsulated in multiple data groups using "dictionaries" as data containers, and anonymous functions were used to re-encapsulate the data encapsulated in the "dictionary" containers into "tuples" for sorting.

[0036] In addition to sorting the data by name, this step also adds the number of data groups (counts) corresponding to the data extraction time to each output data as an extra index, which helps users sort and filter the final output data.

[0037] The sorted data still contains special characters such as curly braces and square brackets. These special characters are not conducive to users' overall sorting and filtering of the output data. The sorted data is encapsulated into a "string" container and the special characters are deleted.

[0038] Before final output, the data in the "string" container is encapsulated into a "list" container for output, reducing code complexity and improving the efficiency of computer data output.

[0039] The beneficial effects of this invention are as follows: As can be seen from the above technical solution, this application provides a data processing method for encapsulating IFC files for steel structure material lists, and its data processing approach is as follows:

[0040] 1. Ensure that the IFC file is opened correctly and that the user has not selected the wrong file.

[0041] 2. Select the IfcProduct entity class and iterate through the IFC file to obtain all related entity classes.

[0042] 3. Perform a second traversal on the entity class traversal results to remove duplicates.

[0043] 4. Remove the classes in the entity class that do not contain material data. At this point, the user can see the names of the entity classes in the file.

[0044] 5. Users can select an entity class by entity class name to traverse the data. For example, IfcColumn is used to filter the data contained in columns defined by the IFC standard (these data include material data).

[0045] 6. Since the data obtained through traversal is encapsulated in multiple dictionaries, it is necessary to sort the data using anonymous functions. In this process, the data container is converted into tuples before it can be sorted more conveniently.

[0046] 7. Some data is generated from secondary development by the design team, or the data groups have been redefined. Therefore, an additional index, "class len," is added. This allows the output file to show how many data groups the data originally contained within the multi-dictionary encapsulation, facilitating subsequent user filtering. (For example, the standard data on the TEKLA platform consists of two data groups encapsulated in a multi-dictionary. If a user finds that the "class len" in the first column of the output Excel file corresponds to 2, then this data likely did not undergo secondary development or had no additional data group definition. If the material corresponding to the data has potential for further optimization of steel structure nodes to optimize material usage, the optimization team can continue to use TEKLA STRUCTURE and its model for node optimization.)

[0047] 8. As the entity class data is traversed, the data name and data are written to an Excel spreadsheet row by row, and then saved to a file.

[0048] 9. Users can directly sort a column in an Excel file as needed to obtain the relevant material list (e.g., sort by material, length, weight, etc.).

[0049] When the purchaser is unwilling to provide third-party software platform files (such as TKELA model files), the IFC model files are often provided to the steel structure manufacturer. IFC is a product of the Automotive Alliance for Interoperability, which promotes IFC as a neutral product model supporting the building lifecycle. In 2013, IFC was registered with the International Organization for Standardization (ISO 16739) as ISO 16739 "Industry Foundation Class (IFC) for data sharing in the building and facilities management industry".

[0050] Therefore, the core of the technical solution of this invention is to perform data analysis and data processing on the data of the IFC model file itself, so that steel structure material statisticians can easily and quickly obtain the data required for the material list. After obtaining the data (EXCEL file), the material statisticians can simply sort the data according to the production and procurement needs and then put it into production.

[0051] The beneficial effects of this invention are:

[0052] Research and software specifically addressing data encapsulation and processing within IFC model files are relatively niche. Current applications of IFC model files largely rely on foreign third-party software platforms (such as TEKLA and REVIT). In most cases, companies use IFC files merely as a data transmission medium for information exchange between design software and BIM platforms, or between software and mechanical equipment. Furthermore, current IFC-related research and practical applications primarily focus on model building, image output, visualization, BIM platforms, and their architecture. No similar methods, independent software, or literature have been found regarding data analysis and processing of steel structure IFC model files themselves.

[0053] Furthermore, in special circumstances that prevent enterprises from obtaining TKELA software licenses, this invention can also utilize the analysis and processing of the data encapsulated within the IFC file itself to quickly and accurately obtain the data required for the steel structure material list. This invention is tailored to the characteristics of the steel structure industry, focusing on the critical work node of material list data statistics. By emphasizing data processing and technological innovation, the software of this invention can quickly and accurately output the data required for the material list, reducing the time and labor intensity of material statistics and significantly lowering software and hardware costs. Simultaneously, the method and software developed based on this invention theoretically support the extraction of data from standard IFC entity classes within IFC files in other industries. Attached Figure Description

[0054] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments:

[0055] Figure 1 This is a schematic diagram of the process of the present invention. Detailed Implementation

[0056] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection claimed in this application.

[0057] like Figure 1 The following is a method for encapsulating and processing data in an IFC file for a steel structure bill of materials. The steps are as follows:

[0058] 1. Double-click the software to run the program and enter the login interface;

[0059] 2. Enter your username and password on the login screen, and click "Login" to enter the tool interface;

[0060] This step:

[0061] The purpose is to limit the scope of use of this method (software).

[0062] 3. Click the button "1. Select Model", and then select the IFC model file;

[0063] This step:

[0064] By adding function parameters during the software development process, files ending in *.ifc can be specified for selection, thus avoiding accidental operations.

[0065] 4. Click the button "2. Preliminary Analysis", and then obtain the entity classes of "IFC products" contained in the IFC model file in the text box (such as ifcPlate for plates, ifcColumn for columns, ifcBeam for beams, ifcMechanicalFastener for fasteners, etc.).

[0066] This step:

[0067] 4.1 IFC stands for Industry Foundation Class, and the data to be extracted relies on the defined standard classes. Therefore, at the software level, the IFC standard classes (entity classes) are first iterated through to avoid missing data.

[0068] 4.2 According to the standard definitions of IFC "Industry Foundation Classes" in ISO 16739 and the Automotive Alliance for Interoperability, IFC natively defines as many as 653 entity classes in IFC 2x3 alone, and these entity classes have complex inheritance and derivation relationships. The bill of materials (BOM) related data relies on these entity classes. Taking the standard entity classes IfcBeam and IfcMechanicalFastener as examples, both entity classes initially inherit from IfcRoot, but IfcBeam's parent class is IfcBuildingElement, while IfcMechanicalFastener's parent class is IfcFastener. Therefore, to accommodate the traversal of entity classes with different inheritance and derivation relationships, while ensuring traversal of all physical object-related entity classes, this method selects IfcProduct as the IFC standard class for loop traversal.

[0069] 4.3 While the traversal ensures that no entity classes containing the material list information required for steel structure manufacturing and processing are omitted, it also generates a large number of duplicate entity class names. This large amount of repetitive information makes subsequent output viewing inconvenient for users. Therefore, a second loop is performed on the already traversed entity classes to remove duplicate names for easier viewing of the output.

[0070] 4.4 After the initial loop traversal finds all entity classes, a second loop traversal eliminates duplicate entity classes. At this point, there are still a small number of entity classes that are completely unrelated to the bill of materials data, such as IfcSite, IfcBudiling, and IfcElementAssembly. To facilitate subsequent use by users, the entity class list displayed in the output has been reduced for these entities.

[0071] 4.5 After the above sub-steps, users can clearly see the names of the IFC standard definition entity classes in the IFC model file that are directly related to the bill of materials and indirectly related to the material definitions in the output box next to the "2. Preliminary Analysis" button. Users can select the required entity classes to output the bill of materials data in subsequent steps.

[0072] 5. Click the button "3. Output Directory" and select the path required to parse the "Entity Class" and output the parts list EXCEL file.

[0073] This step:

[0074] 5.1 Allow users to clearly define the storage path, making it easier to find and use the final output file.

[0075] 6. Copy the "IFC entity class" that needs to be parsed into the text box next to the button "4. Analysis List".

[0076] 7. Click the button "4. Analyze List" to output the relevant bill of materials (part level) corresponding to the EXCEL file in the required path.

[0077] This step:

[0078] 7.1 Preliminary testing and analysis revealed that in the IFC file, data in the standard class (entity class) related to the steel structure material list was encapsulated multiple times using dictionaries as data containers. Since the data encapsulated in the dictionary containers lacks sorting attributes, direct extraction could easily lead to mismatches between data titles and content. Therefore, to ensure matching between data titles and content and consistency with the original data, this step used anonymous functions to re-encapsulate the data in the dictionary containers into tuples for sorting.

[0079] 7.2 Based on preliminary testing and analysis, some designers may define data groups differently during the design process or their secondary development may cause changes in data groups, potentially affecting the final output data length (number of data items) or the order of data after sorting. Therefore, in addition to sorting the data within the "tuple" container by name, this step adds an extra index to each output data item, indicating the number of data groups extracted at the time of data extraction. This will facilitate users in sorting and filtering the final output data.

[0080] 7.3 Even after sorting, the data still contains special characters such as curly braces and square brackets, which hinder users from sorting and filtering the output data. Therefore, the sorted data is encapsulated in a "string" container, and the special characters are removed.

[0081] 7.4 In order to facilitate the input of data (data name and its corresponding data) after filtering, deduplication, sorting, adding indexes and deleting special characters into an Excel file line by line, the data in the "String" container is encapsulated into a "List" container for output before the final output. This will reduce code complexity and improve the efficiency of computer data output.

[0082] 7.5 After the above sub-steps, based on the selected entity class, the user can obtain an EXCEL file in XLSX format. This file contains the material list data for the selected IFC entity class that can be used for steel structure production and processing. The user can repeat steps 7 and 8 as needed to obtain the corresponding material list data for other entity classes (such as beams, columns, and fasteners) in the IFC file. In practical applications, users can easily sort and filter the data (material, weight, number, elevation, surface area, volume, etc.) according to their needs, thereby compiling a material list for steel structure production and processing.

[0083] Compared with traditional technical solutions, the technological innovation of this invention has significant advantages in the following aspects: time consumption, workload, and software and hardware costs.

[0084] The above are merely embodiments provided in this application and are not intended to limit this application. Although this application has been described in detail with reference to the embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. However, any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for encapsulating and processing IFC (Information Technology) files for steel structure bills of materials, characterized in that, Includes the following steps: Step 1: Open the IFC model file; Step 2: Confirm if it is an IFC file. If so, proceed to the next step. Step 3: Attempt to pre-read the IFC model file; Step 4: Confirm whether the file was read successfully. If so, proceed to the next step. Step 5: Write the IFC model file into memory for subsequent traversal; Step Six: Traverse the entire file in memory to find the IFC product entity class; Step 7: Remove duplicate entity class names from IFC product entity classes and output a list of duplicate IFC product entity classes. Step 8: Select the IFC product entity class from the list, and iterate through all related data of the class to write it into memory; Step 9: Process the multi-encapsulated data using container reading, sorting, special character removal, and data group merging methods, add fields to facilitate subsequent retrieval and sorting, and then obtain the output data for each part under the IFC product entity class, and encapsulate the data again for subsequent output. After preliminary testing and analysis, it was found that in the IFC file, the standard class data related to the steel structure material list was encapsulated in multiple data groups using dictionaries as data containers. Anonymous functions were used to re-encapsulate the data encapsulated in the dictionary containers into tuples for sorting. In addition to sorting the data by name, this step also adds the number of data groups corresponding to the data extraction time as an extra index for each output data, which is helpful for users to sort and filter the final output data. The sorted data is encapsulated into a string container, and special characters are deleted. Before final output, the data in the string container is encapsulated into a list container for output. Step 10: Create a temporary Excel file in memory and write all the repackaged part data line by line into the temporary memory file; Step 11: Write the temporary Excel file in memory to the hard drive in one go.

2. The method for encapsulating and processing IFC files for steel structure bills of materials according to claim 1, characterized in that: In step six, IFC is the industry-based basic class. The data to be extracted relies on the defined standard class. At the software level, the IFC standard class is first iterated in a loop to avoid missing data.

3. The method for encapsulating and processing IFC files for steel structure bills of materials according to claim 1, characterized in that: In step seven, after traversal, it is ensured that no entity class containing the material list information required for steel structure manufacturing and processing is omitted from the IFC file. A second loop is performed on the traversed entity classes to remove duplicate names so that they can be viewed and output later. After the first loop traversal finds all entity classes, the second loop traversal eliminates duplicate entity classes. The output list of entity classes is reduced by removing duplicate parts and typical entity classes that do not contain material data.

Citation Information

Patent Citations

  • Web-based IFC format data detail dynamic extraction method and system

    CN116226037A

  • Information storage medium for storing metadata supporting multiple languages, and systems and methods of processing metadata

    US20060059192A1