BIM model component parameter intelligent batch processing method and device, equipment and medium
Patent Information
- Application Number
- CN202611024474.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-10
- Publication Date
- 2026-10-20
- Estimated Expiration
- 2046-07-10
AI Technical Summary
[0004]本发明实施例提供了BIM模型构件参数智能批处理方法、装置、设备及介质,旨在解决现有技术中在完成了对当前建筑项目的多个BIM模型构件的建模后,针对BIM模型的构件参数的赋值和填写补全,采用的是人工检查填写的操作为主,导致存在填写处理效率低下且人力成本较高的问题
[0009]本发明实施例提供了BIM模型构件参数智能批处理方法、装置、设备及介质,方法包括:响应于BIM模型构件参数赋值指令,获取对应的前置需求自然语言信息;其中,所述前置需求自然语言信息中包括构件范围信息和构件参数赋值逻辑信息;将所述前置需求自然语言信息输入至预训练的大语言模型,得到对应的当前目标代码;将所述当前目标代码导入至已启动的BIM模型平台,并通过所述BIM模型平台执行所述当前目标代码,以对所述BIM模型平台中基于所述构件范围信息筛选出的若干个目标BIM模型构件均进行参数初始获取计算及参数写入,且更新若干个目标BIM模型构件的BIM模型构件参数;获取BIM模型构件参数校验策略,根据所述BIM模型构件参数校验策略对所述BIM模型平台中所述若干个目标BIM模型构件的BIM模型构件参数进行参数校验,得到当前BIM模型构件参数校验结果。本发明实施例能通过将前置需求自然语言信息输入至大语言模型生成可在BIM模型平台相应节点执行的当前目标代码,并在执行后对筛选出的若干个目标BIM模型构件均进行参数初始获取计算及参数写入,实现BIM构件参数的批量智能化自动赋值写入,提高了参数填写效率且降低了人工处理成本。
Smart Images

Figure CN122571759B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of building information modeling automation technology, and in particular to a method, apparatus, equipment and medium for intelligent batch processing of BIM model component parameters. Background Technology
[0002] Currently, Revit is the most widely used core BIM modeling software in the construction industry. Its model parameters are the core data carrier for BIM to achieve compliant delivery, quantity calculation, construction management, and operation and maintenance control. In Revit, after modeling multiple BIM model components for a current building project, the assignment and completion of component parameters are primarily done manually. Taking a medium-sized project as an example, the number of BIM model components in a single discipline can reach thousands, with each component requiring the maintenance of 5-10 mandatory parameters. The total number of check items for the entire model can reach over 80,000. Manual processing suffers from low efficiency and high labor costs.
[0003] Furthermore, when manual checking and data entry are used, the high error rate due to human fatigue can easily lead to substandard parameters, failure to pass building permit approvals, and even information gaps in subsequent quantity surveying and construction phases. Additionally, when BIM standards are periodically updated for a project, there is a lack of lightweight and rapidly implementable technical solutions for batch updating of BIM model component parameters from previous projects, resulting in extremely high compliance costs and poor project adaptability. Summary of the Invention
[0004] This invention provides a method, apparatus, device, and medium for intelligent batch processing of BIM model component parameters. It aims to solve the problem that in the prior art, after modeling multiple BIM model components of the current building project, the assignment and completion of the component parameters of the BIM model are mainly done by manual checking and filling, which leads to low filling efficiency and high labor costs.
[0005] In a first aspect, embodiments of the present invention provide an intelligent batch processing method for BIM model component parameters, comprising: In response to the BIM model component parameter assignment command, the corresponding prerequisite natural language information is obtained; wherein, the prerequisite natural language information includes component range information and component parameter assignment logic information; The preceding requirement natural language information is input into a pre-trained large language model to obtain the corresponding current target code; wherein, the large language model is deployed in the cloud or on the user terminal locally; if the large language model is deployed in the cloud, when the large language model in the cloud receives the preceding requirement natural language information in the form of an HTTP request, it extracts the preceding requirement natural language information included in the request body and inputs it as the current input prompt word into the large language model, and obtains the current target code through the processing of the large language model; The current target code is imported into the launched BIM model platform, and the current target code is executed through the BIM model platform to perform initial parameter acquisition calculation and parameter writing for several target BIM model components selected based on the component range information in the BIM model platform, and update the BIM model component parameters of several target BIM model components. Obtain the BIM model component parameter verification strategy, and verify the BIM model component parameters of the several target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy to obtain the current BIM model component parameter verification result.
[0006] Secondly, embodiments of the present invention also provide an intelligent batch processing device for BIM model component parameters, comprising: The pre-requirement acquisition unit is used to acquire the corresponding pre-requirement natural language information in response to the BIM model component parameter assignment instruction; wherein, the pre-requirement natural language information includes component range information and component parameter assignment logic information; The current target code generation unit is used to input the prior requirement natural language information into a pre-trained large language model to obtain the corresponding current target code; wherein, the large language model is deployed in the cloud or on the user terminal; if the large language model is deployed in the cloud, when the large language model in the cloud receives the prior requirement natural language information in the form of an HTTP request, it extracts the prior requirement natural language information included in the request body and inputs it as the current input prompt word into the large language model, and obtains the current target code through the processing of the large language model; The component parameter batch processing unit is used to import the current target code into the started BIM model platform, and execute the current target code through the BIM model platform to perform initial parameter acquisition calculation and parameter writing for several target BIM model components selected based on the component range information in the BIM model platform, and update the BIM model component parameters of several target BIM model components. The component parameter verification unit is used to obtain the BIM model component parameter verification strategy, and to perform parameter verification on the BIM model component parameters of the plurality of target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy, so as to obtain the current BIM model component parameter verification result.
[0007] Thirdly, embodiments of the present invention also provide a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method described in the first aspect above.
[0008] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, the computer program including program instructions that, when executed by a processor, can implement the method described in the first aspect above.
[0009] This invention provides a method, apparatus, device, and medium for intelligent batch processing of BIM model component parameters. The method includes: responding to a BIM model component parameter assignment instruction, acquiring corresponding pre-requirement natural language information; wherein the pre-requirement natural language information includes component scope information and component parameter assignment logic information; inputting the pre-requirement natural language information into a pre-trained large language model to obtain the corresponding current target code; importing the current target code into an activated BIM model platform, and executing the current target code through the BIM model platform to perform initial parameter acquisition calculation and parameter writing for several target BIM model components selected based on the component scope information in the BIM model platform, and updating the BIM model component parameters of the several target BIM model components; acquiring a BIM model component parameter verification strategy, and performing parameter verification on the BIM model component parameters of the several target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy to obtain the current BIM model component parameter verification result. The embodiments of the present invention can generate current target code that can be executed at the corresponding node of the BIM model platform by inputting the natural language information of the prior requirements into the large language model. After execution, the parameters of several selected target BIM model components are initially acquired, calculated and written, realizing the batch intelligent automatic assignment and writing of BIM component parameters, which improves the efficiency of parameter filling and reduces the manual processing cost. Attached Figure Description
[0010] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a schematic diagram illustrating an application scenario of the intelligent batch processing method for BIM model component parameters provided in this embodiment of the invention. Figure 2 This is a flowchart illustrating the intelligent batch processing method for BIM model component parameters provided in an embodiment of the present invention. Figure 3 This is a schematic diagram of the first sub-process of the intelligent batch processing method for BIM model component parameters provided in an embodiment of the present invention; Figure 4 This is a schematic diagram of the second sub-process of the intelligent batch processing method for BIM model component parameters provided in an embodiment of the present invention; Figure 5 This is a schematic diagram of the third sub-process of the intelligent batch processing method for BIM model component parameters provided in an embodiment of the present invention; Figure 6 This is a schematic diagram of the fourth sub-process of the intelligent batch processing method for BIM model component parameters provided in an embodiment of the present invention. Figure 7 A schematic block diagram of the intelligent batch processing device for BIM model component parameters provided in an embodiment of the present invention; Figure 8 A schematic block diagram of a computer device provided for an embodiment of the present invention. Detailed Implementation
[0012] The technical solutions of the embodiments of the present invention 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 the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0013] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0014] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0015] It should also be further understood that the term "and / or" as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0016] Please also refer to Figure 1 and Figure 2 ,in Figure 1 This is a schematic diagram illustrating a scenario of the intelligent batch processing method for BIM model component parameters according to an embodiment of the present invention. Figure 2 This is a flowchart illustrating the intelligent batch processing method for BIM model component parameters provided in this embodiment of the invention. Figure 1 As shown, the intelligent batch processing method for BIM model component parameters provided in this embodiment of the invention is applied to user terminal 10, which is connected to cloud 20 (such as cloud server, backend server, etc.).
[0017] like Figure 2 As shown, the method includes the following steps S110 to S140.
[0018] S110, In response to the BIM model component parameter assignment command, obtain the corresponding prerequisite natural language information.
[0019] The aforementioned pre-requirement natural language information includes component range information and component parameter assignment logic information.
[0020] In this embodiment, the technical solution is described with the user terminal as the execution subject. The user terminal is a smart terminal used by the user (such as a desktop computer, tablet computer, smartphone, etc.), on which BIM software (such as Revit) can be installed. Through the BIM software (BIM stands for Building Information Modeling), the user can open and view the local BIM model, and assign parameter values to the model attributes of several BIM model components. If the user manually opens a BIM model component and assigns values to the parameters related to its model attributes, it is generally necessary to query other related parameters and perform calculations based on the referenced calculation logic before the parameters can be supplemented. This greatly increases the amount of user data processing and makes the parameter assignment process of the corresponding model attributes of the BIM model component inefficient.
[0021] If, as described in this application, parameters of model attributes corresponding to BIM model components in a BIM model opened in BIM software are to be quickly and intelligently assigned in batches, a Python Script node can be first opened in a specified secondary development tool (such as Dynamo) of the BIM software. This Python Script node interacts with the BIM software by calling corresponding interfaces (such as the Revit API interface, where API stands for Application Programming Interface) to perform data reading, multi-condition logical judgment, complex numerical calculation, batch parameter reading and writing, exception handling, and logging of the BIM model components opened in the BIM software. The Python Script node supports full interface calls of the Python standard library and the Revit API, thus adapting to complex engineering business rules. Moreover, in order to ensure that the Python Script node has development boundaries, it needs to follow the calling rules and transaction mechanism of the Revit API, cannot modify the built-in read-only parameters of the Revit system, and the code execution is controlled by the Revit process. Therefore, memory management and exception handling must be well managed to avoid causing the Revit software to crash.
[0022] Furthermore, besides interacting with BIM software, this Python Script node can also call a large language model that supports REST APIs (Application Programming Interfaces that follow REST architectural design principles) by sending HTTP requests (HTTP stands for Hypertext Transfer Protocol). In the Python Script node's editing interface, users can input preliminary requirements in natural language. For example, the preliminary requirements entered by the user in natural language are as follows: "You are a senior Revit secondary development engineer, proficient in Dynamo Python development. Please generate Python code that can run directly in the Revit 2020 and Dynamo 2.6 environments based on the following requirements:" 1. Core Function: Filter specified pipe components and assign start and end pipe bottom elevation parameters in batches according to rules; 2. Input: IN[0] is the list of pipe components; 3. Business rules: (1) Filter pipes whose system type names contain the words "fire hydrant", "automatic sprinkler", "self-spraying", "water supply" and "hot water"; (2) If the middle elevation and bottom elevation of the pipe are equal, assign the bottom elevation of the starting pipe to the displayed value of the bottom elevation, and assign the bottom elevation of the ending pipe to the displayed value of the top elevation; (3) If the two values are not equal, assign the bottom elevation of the starting pipe and the bottom elevation of the ending pipe to the displayed value of the middle elevation; (4) Do not process other pipes. 4. Adaptation Requirements: Both reading and writing should use the Revit interface to display values, eliminating the need for unit conversion; complete exception handling should be added to prevent code interruption; and Revit API transaction rules should be strictly followed. 5. Output: Number of successfully processed components, number of failed components, and reasons for exceptions. Detailed Chinese comments are added to the code. The prerequisite requirements natural language information should include at least the following: runtime environment (to specify the Revit version, Dynamo version, and Python runtime environment), core functions (to specify the core business objectives of the node, such as reading all parameter names and values displayed on the interface of Revit pipe components), input and output (to specify the input variables of the node, such as a list of pipe components, and the output format, such as a structured list of parameter key-value pairs), business rules (to specify detailed processing logic, branch conditions, and boundary value handling rules), adaptation requirements (to specify unit processing methods, exception handling requirements, and compatibility requirements), and format specifications (to specify code commenting specifications and structural requirements to ensure that the code can be run directly in Dynamo).
[0023] By parsing the core functions, inputs and outputs, business rules, adaptation requirements, and format specifications in the natural language information of the pre-requirements, component scope information and component parameter assignment logic information can be extracted. For example, by specifically parsing the natural language information of the pre-requirements in the aforementioned example, the following information is obtained: The component scope information specifically filters BIM piping components whose system type names contain the words "fire hydrant", "automatic sprinkler", "sprinkler", "water supply" and "hot water". The specific logic for assigning component parameters is as follows: if the intermediate elevation and the bottom elevation of the pipeline are equal, the starting pipe bottom elevation is assigned the displayed value of the bottom elevation, and the ending pipe bottom elevation is assigned the displayed value of the top elevation; if the two values are not equal, both the starting pipe bottom elevation and the ending pipe bottom elevation are assigned the displayed value of the intermediate elevation; other pipelines are not processed.
[0024] By precisely defining both the component scope information and the component parameter assignment logic, the corresponding pre-requirement natural language information can more accurately guide subsequent code generation.
[0025] Furthermore, in addition to the examples above, the component parameter assignment logic information can include more specific and complete information about the target parameter. This complete information includes the parameter name (which must strictly match the case and full parameter name in Revit), the parameter type (e.g., whether it belongs to a project parameter, shared parameter, instance parameter, or type parameter), the data type (e.g., string, number, element ID, etc.), and compliance standards (e.g., format requirements, numerical range, naming rules). It also confirms whether the parameter is writable, preemptively ruling out write failures caused by read-only parameters. The business rules in the component parameter assignment logic information (used to clarify detailed processing logic, branch conditions, and boundary value handling rules) ensure that all components follow completely consistent processing standards.
[0026] In one embodiment, the method further includes the following step before step S110: Obtain recommended pre-requirement natural language information templates that have been received and stored from the cloud server in advance; If a natural language information template display instruction is detected, the recommended prerequisite natural language information template will be displayed in the corresponding display area.
[0027] In this embodiment, if users encounter difficulties manually editing the pre-requirement natural language information, a recommended information template button and display area can be set in the Python Script node's editing interface. When a user clicks the recommended information template button, the recommended pre-requirement natural language information template received and stored from the cloud server will be displayed in the display area. At this time, the user can copy the recommended pre-requirement natural language information template and paste it into the natural language input area of the editing page. Then, the user can adjust the recommended pre-requirement natural language information template according to the actual user needs (such as modifying the input, output, business rules, and other specific content) to obtain the pre-requirement natural language information. This method of recommending and modifying natural language information templates reduces the operational difficulty for users in initially editing pre-requirement natural language information.
[0028] S120. Input the aforementioned prerequisite natural language information into a pre-trained large language model to obtain the corresponding current target code.
[0029] In this embodiment, after the input of the prerequisite natural language information is completed in the editing interface of the Python Script node, an HTTP request (including a request header and a request body, and the prerequisite natural language information is included in the request body) is sent to the large language model deployed locally on the user terminal or deployed in the cloud through the Python Script node. Through the data processing of the large language model, the current target code is obtained. For example, the obtained current target code is Python code that can be executed in the Python Script node.
[0030] In one embodiment, if the large language model is deployed in the cloud, such as Figure 3 As shown, step S120 includes: S121. The preceding requirement natural language information is sent to the large language model in the form of an HTTP request. The preceding requirement natural language information is used as the current input prompt word of the large language model and the corresponding result generation processing is performed to obtain the current target code. S122. Obtain the current target code output by the large language model and fill it into the activated BIM-related code processing node.
[0031] In this embodiment, if the large language model is deployed in the cloud, after the user has completed the input of the prerequisite natural language information in the editing interface corresponding to the Python Script node of the BIM software (such as Revit) that has been launched on the user terminal, the Python Script node sends the prerequisite natural language information as the request body of an HTTP request to the large language model in the cloud in the form of an HTTP request.
[0032] When the large language model in the cloud receives an HTTP request, it extracts the prior requirement natural language information included in the request body and inputs it as the current input prompt word into the large language model. Through processing by the large language model, the current target code is obtained. To enable the large language model to generate code based on the text-based prior requirement natural language information, after pre-training, the large language model can also communicate with a domain knowledge base in the construction field via the MCP protocol (Model Context Protocol). This domain knowledge base includes high-density semantic vectors of at least the full Revit API documentation, function parameter descriptions, historical Dynamo Python case studies, error solutions, building structure modeling specifications, component size standards, historically successfully run Dynamo script libraries, industry BIM design atlases, and construction technology knowledge. When the prior requirement natural language information is input as the current input prompt word into the large language model, after initial instruction vectorization, it is searched and matched against the corresponding high-density semantic vectors in the domain knowledge base to obtain the current target code output by the large language model. The large language model comprises, in sequence, an input fusion adaptation layer (used to align the user's original natural language commands with the external contextual knowledge retrieved from the architecture domain knowledge base, perform format alignment, position identification, and weight differentiation, and then uniformly concatenate them before feeding them into the large language model), a word embedding layer, a positional encoding layer, a stacked decoding block (e.g., composed of forty identical decoding blocks stacked sequentially, each decoding block including a multi-head causal self-attention mechanism, a pre-layer, and a feedforward neural network), and an output layer (e.g., a linear projection layer or a Softmax probabilistic decoding layer). Of course, each decoding block in the stacked decoding block has a residual bypass configured in its multi-head causal self-attention mechanism and feedforward neural network (e.g., a residual connection structure to ensure that fragmented knowledge retrieved from the architecture domain knowledge base can penetrate multiple layers of the network and be transmitted to the output layer).
[0033] The cloud can then send the current target code to the user terminal via an HTTP request. The Python Script node (i.e., the BIM-related code processing node) on the user terminal receives the current target code and automatically populates it into the code editing area of the Python Script node. At this point, the user can visually view the current target code and manually check it using their professional experience. After confirming that it is correct, the user can execute the current target code through the Python Script node to achieve batch parameter processing of BIM model components.
[0034] If the user terminal has good hardware performance and can deploy the large language model locally and privately, the prerequisite natural language information of the Python Script node is still sent to the large language model in the form of an HTTP request. The prerequisite natural language information is used as the current input prompt word of the large language model, and corresponding result generation processing is performed to obtain the current target code. The method of deploying the large language model on the user terminal can refer to the method of deploying the large language model in the cloud, which will not be elaborated here.
[0035] S130. Import the current target code into the started BIM model platform, and execute the current target code through the BIM model platform to perform initial parameter acquisition calculation and parameter writing for several target BIM model components selected based on the component range information in the BIM model platform, and update the BIM model component parameters of several target BIM model components.
[0036] In this embodiment, if the BIM model platform (i.e., BIM software) has been started on the user terminal and the Dynamo tool and its Python Script node are running, after the Python Script node has obtained the current target code, the current target code can be executed through the Python Script node. This allows for the initial acquisition, calculation, and writing of parameters for several target BIM model components selected based on the component range information in the BIM model platform, thereby updating the BIM model component parameters of several target BIM model components.
[0037] In one embodiment, as a first embodiment of step S130, such as Figure 4 As shown, step S130 includes: S1311. If it is determined that the component range information corresponding to the current target code filters out several target BIM model components with the same BIM component type, then the filtered several target BIM model components are obtained. S1312. For each of the plurality of target BIM model components, execute the parameter assignment logic code segment in the current target code corresponding to the component parameter assignment logic information, so as to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and update the BIM model component parameters of the target BIM model component.
[0038] In this embodiment, referring to the aforementioned specific example, the component range information extracted from the core function in the pre-requirement natural language information specifically includes pipes containing the words "fire hydrant," "automatic sprinkler," "self-sprinkling," "water supply," and "hot water." The component parameter assignment logic is as follows: if the intermediate elevation and bottom elevation of the pipe are equal, the starting pipe bottom elevation is assigned the displayed value of the bottom elevation, and the ending pipe bottom elevation is assigned the displayed value of the top elevation; if the two values are not equal, both the starting and ending pipe bottom elevations are assigned the displayed value of the intermediate elevation; other pipes are not processed. After the component range information is executed in the code segment corresponding to the current target code, several target BIM model components are selected. For example, the target BIM model components include fire hydrant pipe 1, fire hydrant pipe 2, automatic sprinkler pipe 1, automatic sprinkler pipe 2, automatic sprinkler pipe 3, water supply pipe 1, water supply pipe 2, hot water pipe 1, hot water pipe 2, and hot water pipe 3. The multiple specified types of pipes selected above are the assignment objects for assigning component parameters.
[0039] Next, taking the parameter assignment of fire hydrant pipe 1 in the above example as an example, when executing the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code, all parameter names and specific parameter values of fire hydrant pipe 1 are read and cancelled first. Among them, some parameter names may have null values. These null parameters are the objects to be processed for automatic parameter assignment this time. After executing the parameter assignment logic code segment corresponding to fire hydrant pipe 1, for example, if the parameter values of the starting pipe bottom elevation and the ending pipe bottom elevation are null, if the intermediate elevation and the bottom elevation of fire hydrant pipe 1 are equal, the starting pipe bottom elevation of fire hydrant pipe 1 is assigned the display value of the bottom elevation, and the ending pipe bottom elevation of fire hydrant pipe 1 is assigned the display value of the top elevation; if the two values are not equal, both the starting pipe bottom elevation and the ending pipe bottom elevation of fire hydrant pipe 1 are assigned the display value of the intermediate elevation. The processing procedure for other component parameter assignment objects is the same as the specific process for assigning parameters to fire hydrant pipe 1, and will not be repeated here.
[0040] In one embodiment, step S1312 includes: When executing the parameter assignment logic code segment in the current target code that corresponds to the component parameter assignment logic information, the target BIM model component is filtered and its parameters are initially obtained through the FilteredElementCollector filter and the AsValueString() method, respectively. After obtaining the parameter values through the corresponding calculation logic in the parameter assignment logic code segment, the corresponding parameters are written through the SetValueString() method, and the BIM model component parameters of the target BIM model component are updated.
[0041] In this embodiment, referring to the example above, it should be noted that when executing the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code, if a parameter in the BIM model component has a null value, the Python Script node executes the corresponding parameter assignment logic code segment to filter the corresponding BIM model component from the BIM software. Specifically, this is based on the FilteredElementCollector filter of the Revit API to achieve fast filtering of the target BIM model component. The above filtering supports combined filtering with / or / not multiple conditions (mainly including three types of core filtering logic: the first type is keyword fuzzy matching, such as filtering pipes whose system type names contain keywords such as fire hydrant, automatic sprinkler, and water supply; the second type is numerical range judgment, such as filtering pipes with a length greater than 1 meter and a diameter greater than DN50). The first category is pipes; the second category is attribute condition comparison, such as determining whether the middle elevation and bottom elevation of a pipe are equal, to achieve accurate component selection under complex business rules); then, the display parameters of the target BIM model components in the BIM software are read using the AsValueString() method. For issues such as missing parameters, insufficient permissions, or data corruption when reading the display parameters of the target BIM model components, a try-except exception handling mechanism is set up to mark the exception information for failed readings without interrupting the overall reading process, and an exception log is recorded for subsequent problem location; after reading the display parameters of the target model components in the BIM software, they are output in a structured format (such as component ID-component type-parameter name-parameter value) to provide a standardized data foundation for subsequent selection and calculation stages.
[0042] Before the read parameters are output in a structured format and assigned to their corresponding values, it is necessary to determine whether the parameter value requires further logical calculation. When performing logical calculations on the parameter values, all calculation logic adopts a standardized process design: first, boundary condition checks are performed; then, numerical calculations are executed; and finally, format standardization is performed to ensure that the calculation results fully comply with the format requirements of BIM specifications. Furthermore, for different parameters of different target model components, list-based derivation and vectorized calculation methods can be used to improve data processing efficiency through optimized batch data processing, rather than using a loop to iterate through individual components.
[0043] When the read parameters are output in a structured format and assigned to their corresponding values, the Revit API's transaction rules are strictly followed. All parameter write operations are executed within independent transactions. Within a transaction, a standardized process of transaction initiation, batch writing, and transaction commit ensures the atomicity of parameter value writing operations. If an exception occurs during the writing process, a transaction rollback is immediately executed to restore the state before the write, preventing model data corruption. Furthermore, to address the issue of unit mismatch leading to assignment errors after reading the display values of target BIM model components from the BIM software, the SetValueString() method is used to directly write the interface display values of the target BIM model components read from the BIM software into the target parameters, eliminating the need for unit conversion. This completely resolves the compatibility issue between the imperial units within the BIM software and the metric units in the interface, ensuring that the written values are completely consistent with the expected values. Moreover, the batch commit method used for different parameters of different target model components merges the write operations for multiple components into a single transaction, preventing stuttering and crashes when writing large-scale models. After each parameter value is assigned and written, the parameter value must be read back immediately and compared with the expected assignment result. If the comparison is inconsistent, the component that failed to write and the reason for the writing failure are marked. In this way, without interrupting the overall writing process, all writing operations can be traced and verified.
[0044] In one embodiment, as a second embodiment of step S130, such as Figure 5 As shown, step S130 includes: S1321. If it is determined that the component range information corresponding to the current target code filters out several target BIM model components with multiple BIM component types, then the filtered several target BIM model components are obtained. S1322. Group the selected target BIM model components according to their corresponding BIM component types, so that target BIM model components with the same BIM component type are divided into the same group, and the target BIM model component grouping results are obtained. S1323. For each target BIM model component included in each group in the target BIM model component grouping result, execute the parameter assignment logic code segment in the current target code corresponding to the component parameter assignment logic information, so as to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and update the BIM model component parameters of the target BIM model component.
[0045] In this embodiment, referring to the aforementioned specific example, the component scope information extracted from the core function in the pre-requirement natural language information specifically includes not only pipes but also doors, windows, walls, etc. The component parameter assignment logic information specifically defines specific parameter assignment logic for each type of component such as pipes, doors, windows, and walls. In the second embodiment of step S130, the selected target BIM model components have already been grouped according to their corresponding BIM component types, so that target BIM model components with the same BIM component type are grouped into the same group to obtain the target BIM model component grouping result. The specific parameter assignment for each type of component can be referred to the specific process of the first embodiment of step S130, which will not be repeated here.
[0046] S140. Obtain the BIM model component parameter verification strategy, and verify the BIM model component parameters of the several target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy to obtain the current BIM model component parameter verification result.
[0047] In this embodiment, the BIM model component parameter verification strategy can be implemented in various ways to verify the BIM model component parameters of several target BIM model components in the BIM model platform, thereby verifying the correctness and rationality of the assigned parameters. Furthermore, by performing parameter verification on the BIM model component parameters of the several target BIM model components in a traversal manner, it is possible to verify the correctness or conformity of each parameter of each target BIM model component, thus obtaining the current BIM model component parameter verification result.
[0048] In one embodiment, as a first embodiment of step S140, step S140 includes: Obtain the BIM model component parameter verification file corresponding to the BIM model component parameter verification strategy, perform parameter traversal verification on the plurality of target BIM model components in the BIM model platform according to the BIM model component parameter verification file, obtain the parameter verification sub-result corresponding to each of the plurality of target BIM model components, and form the current BIM model component parameter verification result.
[0049] In this embodiment, as a first specific implementation of the BIM model component parameter verification strategy, it can be a table-based verification file that specifically defines the expected value range and numerical value specifications of each parameter, or it can be a designated industry standard reference file (which also defines the expected value range and numerical value specifications of each parameter of the BIM component). By performing parameter traversal verification on the several target BIM model components in the BIM model platform according to the BIM model component parameter verification file, the parameter verification sub-results corresponding to each parameter of each target BIM model component can be marked one by one (for example, parameters that pass the verification are marked with the corresponding indicator value, such as "passed"; parameters that fail the verification are marked with the corresponding indicator value, such as "failed"). Moreover, the parameter verification sub-results corresponding to each of the several target BIM model components can be output in the form of a verification report for users to view. Afterwards, users can adjust the parameters of the several target BIM model components in the BIM model platform according to the current BIM model component parameter verification results in the form of a report to make them conform to the corresponding parameter value filling specifications.
[0050] In one embodiment, such as Figure 6 As shown, in a second embodiment of step S140, step S140 includes: S141. Obtain the natural language information of the component parameter verification requirements corresponding to the BIM model component parameter verification strategy and input it into the large language model to obtain the corresponding current verification code. S142. Import the current verification code into the BIM model platform, and execute the current verification code through the BIM model platform to perform parameter traversal verification on the plurality of target BIM model components in the BIM model platform, obtain parameter verification sub-results corresponding to each of the plurality of target BIM model components, and form the current BIM model component parameter verification result.
[0051] In this embodiment, as a second specific implementation of the BIM model component parameter verification strategy, it can continue to utilize the code generation capabilities of the large language model. First, the component parameter verification requirements in natural language (e.g., specifying the industry standard reference documents to be followed for parameter verification, which define the expected value range and numerical value specifications for each parameter of the BIM component) are input into the large language model. Then, this is input into the large language model to obtain the corresponding current verification code (which is also in Python format). Finally, the current verification code is executed in the Python Script node, thereby performing a parameter traversal verification on the several target BIM model components in the BIM model platform according to the BIM model component parameter verification file. This allows for the marking of the parameter verification sub-results corresponding to each parameter of each target BIM model component (e.g., parameters that pass verification are marked with a corresponding indicator value, such as "passed," and parameters that fail verification are marked with a corresponding indicator value, such as "failed"). Similarly, the parameter verification sub-results corresponding to each of the several target BIM model components can be output as a verification report for user viewing. Afterwards, users can adjust the parameters of the target BIM model components on the BIM model platform according to the current BIM model component parameter verification results in the form of a report, so that they conform to the filling specifications corresponding to the parameter values.
[0052] As can be seen, the implementation of this method can generate the current target code that can be executed at the corresponding node of the BIM model platform by inputting the natural language information of the prior requirements into the large language model. After execution, the method performs initial parameter acquisition calculation and parameter writing for several selected target BIM model components, thereby realizing the batch intelligent automatic assignment and writing of BIM component parameters, which improves the efficiency of parameter filling and reduces the manual processing cost.
[0053] Figure 7 This is a schematic block diagram of an intelligent batch processing device for BIM model component parameters provided in an embodiment of the present invention. Figure 7 As shown, corresponding to the above-described intelligent batch processing method for BIM model component parameters, the present invention also provides an intelligent batch processing device 100 for BIM model component parameters. This intelligent batch processing device 100 includes a unit for executing the above-described intelligent batch processing method for BIM model component parameters. Please refer to... Figure 7 The intelligent batch processing device 100 for BIM model component parameters includes: a pre-requirement acquisition unit 110, a current target code generation unit 120, a component parameter batch processing unit 130, and a component parameter verification unit 140.
[0054] The pre-requirement acquisition unit 110 is used to acquire the corresponding pre-requirement natural language information in response to the BIM model component parameter assignment command.
[0055] The aforementioned pre-requirement natural language information includes component range information and component parameter assignment logic information.
[0056] In this embodiment, the technical solution is described with the user terminal as the execution subject. The user terminal is a smart terminal used by the user (such as a desktop computer, tablet computer, smartphone, etc.), on which BIM software (such as Revit) can be installed. Through the BIM software (BIM stands for Building Information Modeling), the user can open and view the local BIM model, and assign parameter values to the model attributes of several BIM model components. If the user manually opens a BIM model component and assigns values to the parameters related to its model attributes, it is generally necessary to query other related parameters and perform calculations based on the referenced calculation logic before the parameters can be supplemented. This greatly increases the amount of user data processing and makes the parameter assignment process of the corresponding model attributes of the BIM model component inefficient.
[0057] If, as described in this application, parameters of model attributes corresponding to BIM model components in a BIM model opened in BIM software are to be quickly and intelligently assigned in batches, a Python Script node can be first opened in a specified secondary development tool (such as Dynamo) of the BIM software. This Python Script node interacts with the BIM software by calling corresponding interfaces (such as the Revit API interface, where API stands for Application Programming Interface) to perform data reading, multi-condition logical judgment, complex numerical calculation, batch parameter reading and writing, exception handling, and logging of the BIM model components opened in the BIM software. The Python Script node supports full interface calls of the Python standard library and the Revit API, thus adapting to complex engineering business rules. Moreover, in order to ensure that the Python Script node has development boundaries, it needs to follow the calling rules and transaction mechanism of the Revit API, cannot modify the built-in read-only parameters of the Revit system, and the code execution is controlled by the Revit process. Therefore, memory management and exception handling must be well managed to avoid causing the Revit software to crash.
[0058] In addition to interacting with BIM software, this Python Script node can also call a large language model that supports REST API (an application programming interface that follows the REST architectural design principles) by sending HTTP requests (HTTP stands for Hypertext Transfer Protocol). In the editing interface of the Python Script node, users can input natural language information for their prior needs.
[0059] By parsing the core functions, inputs and outputs, business rules, adaptation requirements, and format specifications in the natural language information of the pre-requirements, component scope information and component parameter assignment logic information can be extracted. By precisely defining both the component scope information and the component parameter assignment logic information, the corresponding pre-requirement natural language information can more accurately guide subsequent code generation.
[0060] Furthermore, in addition to the examples above, the component parameter assignment logic information can include more specific and complete information about the target parameter. This complete information includes the parameter name (which must strictly match the case and full parameter name in Revit), the parameter type (e.g., whether it belongs to a project parameter, shared parameter, instance parameter, or type parameter), the data type (e.g., string, number, element ID, etc.), and compliance standards (e.g., format requirements, numerical range, naming rules). It also confirms whether the parameter is writable, preemptively ruling out write failures caused by read-only parameters. The business rules in the component parameter assignment logic information (used to clarify detailed processing logic, branch conditions, and boundary value handling rules) ensure that all components follow completely consistent processing standards.
[0061] In one embodiment, the intelligent batch processing device 100 for BIM model component parameters further includes: The Natural Language Information Template Acquisition Unit is used to acquire recommended prerequisite natural language information templates that have been received and stored from the cloud server in advance. The natural language information template display unit is used to display the recommended prerequisite natural language information template in the corresponding display area if a natural language information template display instruction is detected.
[0062] In this embodiment, if users encounter difficulties manually editing the pre-requirement natural language information, a recommended information template button and display area can be set in the Python Script node's editing interface. When a user clicks the recommended information template button, the recommended pre-requirement natural language information template received and stored from the cloud server will be displayed in the display area. At this time, the user can copy the recommended pre-requirement natural language information template and paste it into the natural language input area of the editing page. Then, the user can adjust the recommended pre-requirement natural language information template according to the actual user needs (such as modifying the input, output, business rules, and other specific content) to obtain the pre-requirement natural language information. This method of recommending and modifying natural language information templates reduces the operational difficulty for users in initially editing pre-requirement natural language information.
[0063] The current target code generation unit 120 is used to input the aforementioned prerequisite natural language information into a pre-trained large language model to obtain the corresponding current target code.
[0064] In this embodiment, after the input of the prerequisite natural language information is completed in the editing interface of the Python Script node, an HTTP request (including a request header and a request body, and the prerequisite natural language information is included in the request body) is sent to the large language model deployed locally on the user terminal or deployed in the cloud through the Python Script node. Through the data processing of the large language model, the current target code is obtained. For example, the obtained current target code is Python code that can be executed in the Python Script node.
[0065] In one embodiment, if the large language model is deployed in the cloud, the current target code generation unit 120 is specifically used for: The preceding natural language information is sent to the large language model in the form of an HTTP request. The preceding natural language information is used as the current input prompt word of the large language model and the corresponding result generation process is performed to obtain the current target code. Obtain the current target code output by the large language model and populate it into the activated BIM-related code processing node.
[0066] In this embodiment, if the large language model is deployed in the cloud, after the user has completed the input of the prerequisite natural language information in the editing interface corresponding to the Python Script node of the BIM software (such as Revit) that has been launched on the user terminal, the Python Script node sends the prerequisite natural language information as the request body of an HTTP request to the large language model in the cloud in the form of an HTTP request.
[0067] When the large language model in the cloud receives an HTTP request, it extracts the prior requirement natural language information included in the request body and inputs it as the current input prompt word into the large language model. Through processing by the large language model, the current target code is obtained. To enable the large language model to generate code based on the text-based prior requirement natural language information, after pre-training, the large language model can also communicate with a domain knowledge base in the construction field via the MCP protocol (Model Context Protocol). This domain knowledge base includes high-density semantic vectors of at least the full Revit API documentation, function parameter descriptions, historical Dynamo Python case studies, error solutions, building structure modeling specifications, component size standards, historically successfully run Dynamo script libraries, industry BIM design atlases, and construction technology knowledge. When the prior requirement natural language information is input as the current input prompt word into the large language model, after initial instruction vectorization, it is searched and matched against the corresponding high-density semantic vectors in the domain knowledge base to obtain the current target code output by the large language model. The large language model comprises, in sequence, an input fusion adaptation layer (used to align the user's original natural language commands with the external contextual knowledge retrieved from the architecture domain knowledge base, perform format alignment, position identification, and weight differentiation, and then uniformly concatenate them before feeding them into the large language model), a word embedding layer, a positional encoding layer, a stacked decoding block (e.g., composed of forty identical decoding blocks stacked sequentially, each decoding block including a multi-head causal self-attention mechanism, a pre-layer, and a feedforward neural network), and an output layer (e.g., a linear projection layer or a Softmax probabilistic decoding layer). Of course, each decoding block in the stacked decoding block has a residual bypass configured in its multi-head causal self-attention mechanism and feedforward neural network (e.g., a residual connection structure to ensure that fragmented knowledge retrieved from the architecture domain knowledge base can penetrate multiple layers of the network and be transmitted to the output layer).
[0068] The cloud can then send the current target code to the user terminal via an HTTP request. The Python Script node (i.e., the BIM-related code processing node) on the user terminal receives the current target code and automatically populates it into the code editing area of the Python Script node. At this point, the user can visually view the current target code and manually check it using their professional experience. After confirming that it is correct, the user can execute the current target code through the Python Script node to achieve batch parameter processing of BIM model components.
[0069] If the user terminal has good hardware performance and can deploy the large language model locally and privately, the prerequisite natural language information of the Python Script node is still sent to the large language model in the form of an HTTP request. The prerequisite natural language information is used as the current input prompt word of the large language model, and corresponding result generation processing is performed to obtain the current target code. The method of deploying the large language model on the user terminal can refer to the method of deploying the large language model in the cloud, which will not be elaborated here.
[0070] The component parameter batch processing unit 130 is used to import the current target code into the started BIM model platform, and execute the current target code through the BIM model platform to perform initial parameter acquisition calculation and parameter writing for several target BIM model components selected based on the component range information in the BIM model platform, and update the BIM model component parameters of several target BIM model components.
[0071] In this embodiment, if the BIM model platform (i.e., BIM software) has been started on the user terminal and the Dynamo tool and its Python Script node are running, after the Python Script node has obtained the current target code, the current target code can be executed through the Python Script node. This allows for the initial acquisition, calculation, and writing of parameters for several target BIM model components selected based on the component range information in the BIM model platform, thereby updating the BIM model component parameters of several target BIM model components.
[0072] In one embodiment, as a first embodiment of the component parameter batch processing unit 130, the component parameter batch processing unit 130 is specifically used for: If it is determined that the component range information corresponding to the current target code filters out several target BIM model components with the same BIM component type, then the filtered several target BIM model components are obtained. For each of the plurality of target BIM model components, the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code is executed to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and update the BIM model component parameters of the target BIM model component.
[0073] In this embodiment, referring to the aforementioned specific example, the component range information extracted from the core function in the pre-requirement natural language information specifically includes pipes containing the words "fire hydrant," "automatic sprinkler," "self-sprinkling," "water supply," and "hot water." The component parameter assignment logic is as follows: if the intermediate elevation and bottom elevation of the pipe are equal, the starting pipe bottom elevation is assigned the displayed value of the bottom elevation, and the ending pipe bottom elevation is assigned the displayed value of the top elevation; if the two values are not equal, both the starting and ending pipe bottom elevations are assigned the displayed value of the intermediate elevation; other pipes are not processed. After the component range information is executed in the code segment corresponding to the current target code, several target BIM model components are selected. For example, the target BIM model components include fire hydrant pipe 1, fire hydrant pipe 2, automatic sprinkler pipe 1, automatic sprinkler pipe 2, automatic sprinkler pipe 3, water supply pipe 1, water supply pipe 2, hot water pipe 1, hot water pipe 2, and hot water pipe 3. The multiple specified types of pipes selected above are the assignment objects for assigning component parameters.
[0074] Next, taking the parameter assignment of fire hydrant pipe 1 in the above example as an example, when executing the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code, all parameter names and specific parameter values of fire hydrant pipe 1 are read and cancelled first. Among them, some parameter names may have null values. These null parameters are the objects to be processed for automatic parameter assignment this time. After executing the parameter assignment logic code segment corresponding to fire hydrant pipe 1, for example, if the parameter values of the starting pipe bottom elevation and the ending pipe bottom elevation are null, if the intermediate elevation and the bottom elevation of fire hydrant pipe 1 are equal, the starting pipe bottom elevation of fire hydrant pipe 1 is assigned the display value of the bottom elevation, and the ending pipe bottom elevation of fire hydrant pipe 1 is assigned the display value of the top elevation; if the two values are not equal, both the starting pipe bottom elevation and the ending pipe bottom elevation of fire hydrant pipe 1 are assigned the display value of the intermediate elevation. The processing procedure for other component parameter assignment objects is the same as the specific process for assigning parameters to fire hydrant pipe 1, and will not be repeated here.
[0075] In one embodiment, for each of the plurality of target BIM model components, executing the parameter assignment logic code segment in the current target code corresponding to the component parameter assignment logic information to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and updating the BIM model component parameters of the target BIM model component, includes: When executing the parameter assignment logic code segment in the current target code that corresponds to the component parameter assignment logic information, the target BIM model component is filtered and its parameters are initially obtained through the FilteredElementCollector filter and the AsValueString() method, respectively. After obtaining the parameter assignment through the corresponding calculation logic in the parameter assignment logic code segment, the corresponding parameters are written through the SetValueString() method, and the BIM model component parameters of the target BIM model component are updated.
[0076] In this embodiment, referring to the example above, it should be noted that when executing the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code, if a parameter in the BIM model component has a null value, the Python Script node executes the corresponding parameter assignment logic code segment to filter the corresponding BIM model component from the BIM software. Specifically, this is based on the FilteredElementCollector filter of the Revit API to achieve fast filtering of the target BIM model component. The above filtering supports combined filtering with / or / not combined filtering with multiple conditions (mainly including three types of core filtering logic: the first type is keyword fuzzy matching, such as filtering pipes whose system type names contain keywords such as fire hydrant, automatic sprinkler, and water supply; the second type is numerical range judgment, such as filtering pipes with a length greater than 1 meter and a diameter greater than DN50). The first category is pipes; the second category is attribute condition comparison, such as determining whether the middle elevation and bottom elevation of a pipe are equal, to achieve accurate component selection under complex business rules); then, the display parameters of the target BIM model components in the BIM software are read using the AsValueString() method. For issues such as missing parameters, insufficient permissions, or data corruption when reading the display parameters of the target BIM model components, a try-except exception handling mechanism is set up to mark the exception information for failed readings without interrupting the overall reading process, and an exception log is recorded for subsequent problem location; after reading the display parameters of the target model components in the BIM software, they are output in a structured format (such as component ID-component type-parameter name-parameter value) to provide a standardized data foundation for subsequent selection and calculation stages.
[0077] Before the read parameters are output in a structured format and assigned to their corresponding values, it is necessary to determine whether the parameter value requires further logical calculation. When performing logical calculations on the parameter values, all calculation logic adopts a standardized process design: first, boundary condition checks are performed; then, numerical calculations are executed; and finally, format standardization is performed to ensure that the calculation results fully comply with the format requirements of BIM specifications. Furthermore, for different parameters of different target model components, list-based derivation and vectorized calculation methods can be used to improve data processing efficiency through optimized batch data processing, rather than using a loop to iterate through individual components.
[0078] When the read parameters are output in a structured format and assigned to their corresponding values, the Revit API's transaction rules are strictly followed. All parameter write operations are executed within independent transactions. Within a transaction, a standardized process of transaction initiation, batch writing, and transaction commit ensures the atomicity of parameter value writing operations. If an exception occurs during the writing process, a transaction rollback is immediately executed to restore the state before the write, preventing model data corruption. Furthermore, to address the issue of unit mismatch leading to assignment errors after reading the display values of target BIM model components from the BIM software, the SetValueString() method is used to directly write the interface display values of the target BIM model components read from the BIM software into the target parameters, eliminating the need for unit conversion. This completely resolves the compatibility issue between the imperial units within the BIM software and the metric units in the interface, ensuring that the written values are completely consistent with the expected values. Moreover, the batch commit method used for different parameters of different target model components merges the write operations for multiple components into a single transaction, preventing stuttering and crashes when writing large-scale models. After each parameter value is assigned and written, the parameter value must be read back immediately and compared with the expected assignment result. If the comparison is inconsistent, the component that failed to write and the reason for the writing failure are marked. In this way, without interrupting the overall writing process, all writing operations can be traced and verified.
[0079] In one embodiment, as a second embodiment of the component parameter batch processing unit 130, the component parameter batch processing unit 130 is specifically used for: If it is determined that the component range information corresponding to the current target code filters out several target BIM model components with multiple BIM component types, then the filtered several target BIM model components are obtained. The selected target BIM model components are grouped according to their corresponding BIM component types, so that target BIM model components with the same BIM component type are grouped into the same group, thus obtaining the target BIM model component grouping results. For each target BIM model component included in each group in the target BIM model component grouping result, execute the parameter assignment logic code segment in the current target code corresponding to the component parameter assignment logic information, so as to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and update the BIM model component parameters of the target BIM model component.
[0080] In this embodiment, referring to the aforementioned specific example, the component scope information extracted from the core function in the pre-requirement natural language information specifically includes not only pipes but also doors, windows, walls, etc. The component parameter assignment logic information specifically defines specific parameter assignment logic for each type of component such as pipes, doors, windows, and walls. In the second embodiment of step S130, the selected target BIM model components have already been grouped according to their corresponding BIM component types, so that target BIM model components with the same BIM component type are grouped into the same group to obtain the target BIM model component grouping result. The specific parameter assignment for each type of component can be referred to the specific process of the first embodiment of step S130, which will not be repeated here.
[0081] The component parameter verification unit 140 is used to obtain the BIM model component parameter verification strategy, and to perform parameter verification on the BIM model component parameters of the plurality of target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy, so as to obtain the current BIM model component parameter verification result.
[0082] In this embodiment, the BIM model component parameter verification strategy can be implemented in various ways to verify the BIM model component parameters of several target BIM model components in the BIM model platform, thereby verifying the correctness and rationality of the assigned parameters. Furthermore, by performing parameter verification on the BIM model component parameters of the several target BIM model components in a traversal manner, it is possible to verify the correctness or conformity of each parameter of each target BIM model component, thus obtaining the current BIM model component parameter verification result.
[0083] In one embodiment, as a first embodiment of the component parameter verification unit 140, the component parameter verification unit 140 is specifically used for: Obtain the BIM model component parameter verification file corresponding to the BIM model component parameter verification strategy, perform parameter traversal verification on the plurality of target BIM model components in the BIM model platform according to the BIM model component parameter verification file, obtain the parameter verification sub-result corresponding to each of the plurality of target BIM model components, and form the current BIM model component parameter verification result.
[0084] In this embodiment, as a first specific implementation of the BIM model component parameter verification strategy, it can be a table-based verification file that specifically defines the expected value range and numerical value specifications of each parameter, or it can be a designated industry standard reference file (which also defines the expected value range and numerical value specifications of each parameter of the BIM component). By performing parameter traversal verification on the several target BIM model components in the BIM model platform according to the BIM model component parameter verification file, the parameter verification sub-results corresponding to each parameter of each target BIM model component can be marked one by one (for example, parameters that pass the verification are marked with the corresponding indicator value, such as "passed"; parameters that fail the verification are marked with the corresponding indicator value, such as "failed"). Moreover, the parameter verification sub-results corresponding to each of the several target BIM model components can be output in the form of a verification report for users to view. Afterwards, users can adjust the parameters of the several target BIM model components in the BIM model platform according to the current BIM model component parameter verification results in the form of a report to make them conform to the corresponding parameter value filling specifications.
[0085] In one embodiment, as a second embodiment of the component parameter verification unit 140, the component parameter verification unit 140 is specifically used for: Obtain the natural language information of the component parameter verification requirements corresponding to the BIM model component parameter verification strategy and input it into the large language model to obtain the corresponding current verification code; The current verification code is imported into the BIM model platform, and the current verification code is executed through the BIM model platform to perform parameter traversal verification on the plurality of target BIM model components in the BIM model platform, thereby obtaining parameter verification sub-results corresponding to each of the plurality of target BIM model components, and forming the parameter verification result of the current BIM model component.
[0086] In this embodiment, as a second specific implementation of the BIM model component parameter verification strategy, it can continue to utilize the code generation capabilities of the large language model. First, the component parameter verification requirements in natural language (e.g., specifying the industry standard reference documents to be followed for parameter verification, which define the expected value range and numerical value specifications for each parameter of the BIM component) are input into the large language model. Then, this is input into the large language model to obtain the corresponding current verification code (which is also in Python format). Finally, the current verification code is executed in the Python Script node, thereby performing a parameter traversal verification on the several target BIM model components in the BIM model platform according to the BIM model component parameter verification file. This allows for the marking of the parameter verification sub-results corresponding to each parameter of each target BIM model component (e.g., parameters that pass verification are marked with a corresponding indicator value, such as "passed," and parameters that fail verification are marked with a corresponding indicator value, such as "failed"). Similarly, the parameter verification sub-results corresponding to each of the several target BIM model components can be output as a verification report for user viewing. Afterwards, users can adjust the parameters of the target BIM model components on the BIM model platform according to the current BIM model component parameter verification results in the form of a report, so that they conform to the filling specifications corresponding to the parameter values.
[0087] As can be seen, the implementation of this device can generate the current target code that can be executed at the corresponding node of the BIM model platform by inputting the natural language information of the prior requirements into the large language model. After execution, it can perform initial parameter acquisition calculation and parameter writing for several selected target BIM model components, realize the batch intelligent automatic assignment and writing of BIM component parameters, improve the parameter filling efficiency and reduce the manual processing cost.
[0088] The aforementioned intelligent batch processing device for BIM model component parameters can be implemented as a computer program, which can perform tasks such as... Figure 8 It runs on the computer device shown.
[0089] Please see Figure 8 , Figure 8 This is a schematic block diagram of a computer device provided in an embodiment of the present invention. This computer device integrates any of the intelligent batch processing devices for BIM model component parameters provided in the embodiments of the present invention.
[0090] See Figure 8 The computer device 400 includes a processor 402, a memory, and a network interface 405 connected via a system bus 401. The memory may include a storage medium 403 and internal memory 404.
[0091] The storage medium 403 may store an operating system 4031 and a computer program 4032. The computer program 4032 includes program instructions that, when executed, cause the processor 402 to perform an intelligent batch processing method for BIM model component parameters.
[0092] The processor 402 provides computing and control capabilities to support the operation of the entire computer device.
[0093] The internal memory 404 provides an environment for the computer program 4032 in the storage medium 403 to run. When the computer program 4032 is executed by the processor 402, the processor 402 can execute the above-mentioned intelligent batch processing method for BIM model component parameters.
[0094] This network interface 405 is used for network communication with other devices. Those skilled in the art will understand that... Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present invention and does not constitute a limitation on the computer device to which the present invention is applied. A specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0095] The processor 402 is used to run the computer program 4032 stored in the memory to implement the above-mentioned intelligent batch processing method for BIM model component parameters.
[0096] It should be understood that, in this embodiment of the invention, the processor 402 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0097] It will be understood by those skilled in the art that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program includes program instructions and can be stored in a storage medium, which is a computer-readable storage medium. The program instructions are executed by at least one processor in the computer system to implement the process steps of the embodiments of the above methods.
[0098] Therefore, the present invention also provides a computer-readable storage medium. This computer-readable storage medium stores a computer program, wherein the computer program includes program instructions. When executed by a processor, the program instructions cause the processor to perform the above-described intelligent batch processing method for BIM model component parameters.
[0099] The storage medium can be any computer-readable storage medium that can store program code, such as a USB flash drive, external hard drive, read-only memory (ROM), magnetic disk, or optical disk.
[0100] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0101] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of each unit is merely a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
[0102] The steps in the method of this invention can be adjusted, merged, or reduced in order according to actual needs. The units in the device of this invention can be merged, divided, or reduced according to actual needs. Furthermore, the functional units in the various embodiments of this invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0103] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a terminal, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.
[0104] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and these modifications or substitutions should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for intelligent batch processing of BIM model component parameters, characterized in that, include: In response to the BIM model component parameter assignment command, the corresponding prerequisite natural language information is obtained; wherein, the prerequisite natural language information includes component range information and component parameter assignment logic information; The preceding requirement natural language information is input into a pre-trained large language model to obtain the corresponding current target code; wherein, the large language model is deployed in the cloud or on the user terminal locally; if the large language model is deployed in the cloud, when the large language model in the cloud receives the preceding requirement natural language information in the form of an HTTP request, it extracts the preceding requirement natural language information included in the request body and inputs it as the current input prompt word into the large language model, and obtains the current target code through the processing of the large language model; The current target code is imported into the launched BIM model platform, and the current target code is executed through the BIM model platform to perform initial parameter acquisition calculation and parameter writing for several target BIM model components selected based on the component range information in the BIM model platform, and update the BIM model component parameters of several target BIM model components. Obtain the BIM model component parameter verification strategy, and verify the BIM model component parameters of the several target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy to obtain the current BIM model component parameter verification result. The process of importing the current target code into the launched BIM model platform and executing the current target code through the BIM model platform to perform initial parameter acquisition calculations and parameter writing for several target BIM model components selected based on the component scope information in the BIM model platform, and to update the BIM model component parameters of several target BIM model components, includes: If it is determined that the component range information corresponding to the current target code filters out several target BIM model components with the same BIM component type, then the filtered several target BIM model components are obtained. For each of the plurality of target BIM model components, the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code is executed to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and update the BIM model component parameters of the target BIM model component.
2. The method according to claim 1, characterized in that, Before the step of obtaining the corresponding natural language information of the prerequisite requirements in response to the BIM model component parameter assignment instruction, the method further includes: Obtain recommended pre-requirement natural language information templates that have been received and stored from the cloud server in advance; If a natural language information template display instruction is detected, the recommended prerequisite natural language information template will be displayed in the corresponding display area.
3. The method according to claim 1, characterized in that, After inputting the aforementioned prerequisite natural language information into a pre-trained large language model to obtain the corresponding current target code, the method further includes: Obtain the current target code output by the large language model and populate it into the activated BIM-related code processing node.
4. The method according to claim 1, characterized in that, For each of the plurality of target BIM model components, the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code is executed to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and to update the BIM model component parameters of the target BIM model component, including: When executing the parameter assignment logic code segment in the current target code that corresponds to the component parameter assignment logic information, the target BIM model component is filtered and its parameters are initially obtained through the FilteredElementCollector filter and the AsValueString() method, respectively. After obtaining the parameter values through the corresponding calculation logic in the parameter assignment logic code segment, the corresponding parameters are written through the SetValueString() method, and the BIM model component parameters of the target BIM model component are updated.
5. The method according to claim 1, characterized in that, The process of importing the current target code into the launched BIM model platform and executing the current target code through the BIM model platform to perform initial parameter acquisition calculations and parameter writing for several target BIM model components selected based on the component scope information in the BIM model platform, and to update the BIM model component parameters of several target BIM model components, includes: If it is determined that the component range information corresponding to the current target code filters out several target BIM model components with multiple BIM component types, then the filtered several target BIM model components are obtained. The selected target BIM model components are grouped according to their corresponding BIM component types, so that target BIM model components with the same BIM component type are grouped into the same group, thus obtaining the target BIM model component grouping results. For each target BIM model component included in each group in the target BIM model component grouping result, execute the parameter assignment logic code segment in the current target code corresponding to the component parameter assignment logic information, so as to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and update the BIM model component parameters of the target BIM model component.
6. The method according to claim 1, characterized in that, The step of verifying the BIM model component parameters of the plurality of target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy, and obtaining the current BIM model component parameter verification result, includes: Obtain the natural language information of the component parameter verification requirements corresponding to the BIM model component parameter verification strategy and input it into the large language model to obtain the corresponding current verification code; The current verification code is imported into the BIM model platform, and the current verification code is executed through the BIM model platform to perform parameter traversal verification on the plurality of target BIM model components in the BIM model platform, thereby obtaining parameter verification sub-results corresponding to each of the plurality of target BIM model components, and forming the parameter verification result of the current BIM model component.
7. A smart batch processing device for BIM model component parameters, characterized in that, include: The pre-requirement acquisition unit is used to acquire the corresponding pre-requirement natural language information in response to the BIM model component parameter assignment instruction; wherein, the pre-requirement natural language information includes component range information and component parameter assignment logic information; The current target code generation unit is used to input the prior requirement natural language information into a pre-trained large language model to obtain the corresponding current target code; wherein, the large language model is deployed in the cloud or on the user terminal; if the large language model is deployed in the cloud, when the large language model in the cloud receives the prior requirement natural language information in the form of an HTTP request, it extracts the prior requirement natural language information included in the request body and inputs it as the current input prompt word into the large language model, and obtains the current target code through the processing of the large language model; The component parameter batch processing unit is used to import the current target code into the started BIM model platform, and execute the current target code through the BIM model platform to perform initial parameter acquisition calculation and parameter writing for several target BIM model components selected based on the component range information in the BIM model platform, and update the BIM model component parameters of several target BIM model components. The component parameter verification unit is used to obtain the BIM model component parameter verification strategy, and to perform parameter verification on the BIM model component parameters of the plurality of target BIM model components in the BIM model platform according to the BIM model component parameter verification strategy, so as to obtain the current BIM model component parameter verification result. The component parameter batch processing unit is specifically used for: If it is determined that the component range information corresponding to the current target code filters out several target BIM model components with the same BIM component type, then the filtered several target BIM model components are obtained. For each of the plurality of target BIM model components, the parameter assignment logic code segment corresponding to the component parameter assignment logic information in the current target code is executed to perform initial parameter acquisition calculation and parameter writing for the target BIM model component, and update the BIM model component parameters of the target BIM model component.
8. A computer device, characterized in that, The computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the intelligent batch processing method for BIM model component parameters as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which includes program instructions that, when executed by a processor, can implement the intelligent batch processing method for BIM model component parameters as described in any one of claims 1-6.
Citation Information
Patent Citations
Three-dimensional model updating method and device, computer equipment and storage medium
CN116977558A