Node-based data writing method and device and related medium
By using a node-based data writing method and the Dynamo platform to automatically parse and synchronize component data in the BIM model, the problem of low accuracy caused by manual data entry is solved, and efficient and accurate data writing and model management are achieved.
Patent Information
- Application Number
- CN202510834152.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-20
- Publication Date
- 2025-10-03
AI Technical Summary
In the existing technology, the data of the building model needs to be manually entered, resulting in low input accuracy, affecting the efficiency of model quality acceptance and the progress of project approval.
A node-based data writing method is adopted to parse the BIM model through the node graph of the Dynamo platform, automatically identify the type or family information of the component information list, generate the component data set, and set the node parameters and synchronize them to the BIM model.
It realizes the automatic batch writing of component data, significantly improves the input accuracy, shortens the processing time, improves the consistency and integrity of the model data, and meets the requirements of engineering specifications.
Smart Images

Figure CN120743902A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of software design, and in particular to a data writing method and device based on nodeization and related media. Background Art
[0002] Currently, in actual engineering applications, BIM designers typically need to manually enter the corresponding IFC data for each component in the model after completing or updating the building model, based on various component lists. This manual data entry process is not only cumbersome and labor-intensive, but is also prone to human errors, leading to data consistency and compliance issues, significantly impacting the efficiency of model quality acceptance and the overall progress of project approvals. Summary of the Invention
[0003] The embodiments of the present invention provide a node-based data writing method, device and related media, aiming to solve the problem in the prior art that building model data needs to be manually entered, resulting in low entry accuracy.
[0004] In a first aspect, an embodiment of the present invention provides a data writing method based on nodeization, comprising:
[0005] Collect the BIM model to be processed and the preset component information list, and build the input environment for the data to be written;
[0006] Parsing the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list to obtain a component data set;
[0007] Outputting objects to be assigned that meet preset conditions according to the component data set;
[0008] Setting node parameters for the object to be assigned and writing the parameters into the component data set to obtain an updated component data set;
[0009] The updated component data set is synchronized to the BIM model to complete the writing of the model data.
[0010] In a second aspect, an embodiment of the present invention provides a data writing device based on nodeization, comprising:
[0011] The data acquisition unit is used to collect the BIM model to be processed and the preset component information list, and to build an input environment for the data to be written;
[0012] A data parsing unit, configured to parse the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list and obtain a component data set;
[0013] A data output unit, configured to output an object to be assigned that meets preset conditions according to the component data set;
[0014] A data writing unit, configured to set node parameters for the object to be assigned and write the parameters into the component data set to obtain an updated component data set;
[0015] A data synchronization unit is used to synchronize the updated component data set to the BIM model to complete the writing of model data.
[0016] In a third aspect, an embodiment of the present invention provides a computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the node-based data writing method of the first aspect when executing the computer program.
[0017] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the node-based data writing method of the first aspect is implemented.
[0018] An embodiment of the present invention provides a data writing method based on nodeization, including collecting a BIM model to be processed and a preset component information list, and constructing an input environment for the data to be written; parsing the BIM model based on the input environment using a preset node diagram to identify the type or family information of the component information list to obtain a component data set; outputting an object to be assigned that meets preset conditions according to the component data set; setting node parameters for the object to be assigned and writing the component data set to obtain an updated component data set; synchronizing the updated component data set to the BIM model to complete the writing of the model data. The present invention sets node parameters for the output object to be assigned and writes it back to the component data set, and then synchronizes it to the BIM model. In this way, there is no need to manually enter data, which greatly improves the input accuracy.
[0019] The embodiment of the present invention also provides a data writing device, computer equipment and storage medium based on nodeization, which also have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0021] Figure 1A schematic diagram of a process flow of a data writing method based on nodeization provided by an embodiment of the present invention;
[0022] Figure 2 A schematic block diagram of a node-based data writing device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0023] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0024] It will be understood that when used in this specification and the appended claims, the terms “comprises” and “comprising” indicate the presence of described features, integers, steps, operations, elements and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0025] 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 present invention. As used in the specification and appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.
[0026] It should be further understood that the term "and / or" used in the present description and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0027] See below Figure 1 , Figure 1 A flowchart of a node-based data writing method provided in an embodiment of the present invention specifically includes steps S101 to S105.
[0028] S101: Collect the BIM model to be processed and the preset component information list, and build an input environment for the data to be written;
[0029] S102: parsing the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list to obtain a component data set;
[0030] S103, outputting objects to be assigned that meet preset conditions according to the component data set;
[0031] S104, setting node parameters for the object to be assigned and writing them into the component data set to obtain an updated component data set;
[0032] S105: Synchronize the updated component data set into the BIM model to complete the writing of model data.
[0033] In step S101, the BIM model to be processed and the pre-set component information list are collected. The BIM model is a building information model developed under the Revit platform. The component information list can be manually loaded into the model from a template file and used as a reference data source in subsequent processing. Based on this data, an input environment is constructed, providing data support and structural foundation for the subsequent operation of the Dynamo program.
[0034] In step S102, based on the input environment, the preset Dynamo node graph is called to parse the BIM model. Specifically, all available family types (such as pipe types, nozzle types, etc.) in the Revit document can be obtained through the node "ElementTypes", and then all instance elements of the corresponding family type can be extracted using the "All Elements of Type" node. The name information of the instance element is extracted through the "Element.Name" node, and combined with the "List.FilterByBoolMask" node and the "Code Block" judgment logic, the component family information and type attributes in the component information list are identified, thereby obtaining a component data set that meets the filtering conditions.
[0035] In one embodiment, step S102 includes:
[0036] Parsing all available component family types in the BIM model through the node graph to obtain a component family type set;
[0037] Extracting corresponding component instance elements based on the component family type set to obtain a component instance set, and extracting corresponding name attribute information in the component instance set;
[0038] The name attribute information is matched based on the component identification field in the component information list, and the components that are successfully matched are written into the component data set.
[0039] In this example, the BIM model is parsed using a pre-defined node graph to extract all available component family types within the model. This process uses the "ElementTypes" node in Dynamo to retrieve all available family types (FamilyTypes) within the current project from the Revit document, such as pipe types, fitting types, and sprinkler types. This node operation eliminates the need to manually enter family names; instead, it automatically identifies family type resources within the model and organizes them into a unified component family type collection.
[0040] Furthermore, based on the component family type set, the "All Elements of Type" node is called to extract instances of each family type to obtain all corresponding component instance elements in the model. The element set corresponding to each family type will be uniformly included in the component instance set for subsequent information parsing and matching processing. The name attribute information of each instance element is extracted from the component instance set through the node "Element.Name". The name attributes include but are not limited to family name, type name, etc., which can be used as the main identification information for identifying and screening components. During the extraction process, the node graph traverses each component instance and outputs its name field to form name attribute information.
[0041] Furthermore, the aforementioned name attribute information is matched based on the component identification field in the component information table. This matching process employs Boolean logic, comparing component name information with the preset identification fields in the component information table one by one to select successfully matched component instances. Successfully matched components are then included in the component data set, providing a target object basis for subsequent data assignment and writing steps.
[0042] In one embodiment, the step S102 further includes:
[0043] Obtain the family category information specified in the component information list;
[0044] Extracting corresponding available family types from the BIM model according to the family category information to obtain a family type set;
[0045] Component instances corresponding to the family type set are placed in the BIM model to obtain a family instance set, and the family instance set is incorporated into the component data set.
[0046] In this embodiment, the family category information specified in the component information list is obtained. The family category information is used to identify the component type to be written into the BIM model, such as a sprinkler, valve, or fire hydrant box, etc., as the basis for subsequent family type screening. Based on the family category information, the "FamilyTypes" node in Dynamo is used to extract all available family types (FamilySymbol) corresponding to the family category from the BIM model to form a family type set. The "FamilyTypes" node can automatically identify all family types belonging to this category in the currently active project in the Revit document, avoiding the tedious process of manual item-by-item screening. Using the "FamilyInstance.ByFamilyType" node, component instances corresponding to the family type set can be placed in the Revit document. This node generates corresponding component family instances (FamilyInstance) based on the input family type, and automatically arranges them in the model space to form a family instance set.
[0047] Furthermore, the family instance set is merged into the component data set to centrally manage subsequent data writes. This merging operation ensures that all component instances automatically placed by family type are included in subsequent processing. Together with the component instance set obtained through parsing, they form a complete component data set, providing basic data support for node parameter setting and model synchronization.
[0048] In one embodiment, placing component instances corresponding to the family type set into the BIM model to obtain a family instance set includes:
[0049] calling component instance generation instructions in the node graph in sequence, and inputting the family type set into the component instance generation node to create a corresponding component family instance;
[0050] The component family instance is extracted and placed into the BIM model to obtain a family instance set.
[0051] In this embodiment, the component instance generation instructions in the node graph are called in sequence, that is, the "FamilyInstance.ByFamilyType" node is used as the core processing unit in the Dynamo environment. The function of this node is to automatically generate the corresponding component family instance in the Revit document based on the input family type information. Specifically, the family type set obtained through the "Family Types" node is passed as an input parameter to the "FamilyInstance.ByFamilyType" node. The node graph executes the component instance creation operation and generates the corresponding component family instances in sequence according to the input family type set. The above-mentioned component family instances are model elements in the Revit document that can be identified, retrieved and have parameter attributes, covering typical component types such as sprinklers, valves, and fire hydrant boxes.
[0052] Furthermore, component family instances are extracted from the node diagram and effectively placed in the specified location or default coordinate area in the Revit document, completing the model embedding process of the component instance. The generated family instances are unified into a family instance collection, which, as part of the component data collection, provides a component carrier for subsequent parameter assignment and data writing steps.
[0053] In step S103, based on the component data set, objects to be assigned that meet the preset assignment criteria are output. This process relies on the pre-set Boolean filtering logic in Dynamo. By constructing matching rules, component instances that meet a specific family type (such as "PPR Pipe" or "ZB Nozzle_Upright (DN25): 25mm Upright") are filtered out as the target objects (i.e., objects to be assigned) for subsequent data writing.
[0054] In one embodiment, step S103 includes:
[0055] Based on the name attribute of each component in the component data set, calling the screening module in the node graph to determine whether each component meets the preset conditions;
[0056] Filtering the components that meet the preset conditions into a candidate object set;
[0057] Extracting the first valid component from the candidate object set as the object to be assigned, and outputting a null value processing instruction if the candidate object set is empty;
[0058] Alternatively, when the component is a family instance, the family definition information to which the component belongs is extracted, and the family definition information is set as the object to be assigned.
[0059] In this embodiment, based on the name attribute of each component in the component data set, the filtering module in the node diagram is called to perform conditional judgment processing on the component. Specifically, the name information of each component can be extracted through the "Element.Name" node, and used as input, combined with the logical expression constructed by the "Code Block" node, and compared with the component type or family name set in the component information list. The "List.FilterByBoolMask" node is used to perform Boolean filtering on the comparison results. This node divides the input component list into two sublists according to the Boolean value mask: one group is a set of components that meet the preset conditions (such as the component name is equal to "PPR pipe" or "seamless steel pipe"), and the other group is a set that does not meet the conditions. Components that meet the conditions are identified as candidate object sets. The "List.FirstItem" node is called from the above candidate object set to extract the first valid component and set the component as the object to be assigned. If the candidate object set is empty, the "List.FirstItem" node returns a null value, and the null value processing instruction is triggered based on the return result to prompt that there is no valid assignment target, ensuring the integrity of the process logic and preventing program abnormal interruption.
[0060] Alternatively, if a component belongs to a family instance (FamilyInstance), the "FamilyInstance.GetFamily" node is further called to extract the family definition (Family) from the component instance. This family definition information can be used to set family-level parameter properties or perform unified value assignment across the entire family file, ensuring complete and consistent parameter writing. This processing method is suitable for applications requiring unified settings for an entire family type, and is particularly advantageous for batch processing of standardized family components such as sprinklers and valves.
[0061] In one embodiment, calling a screening module in the node graph based on the name attribute of each component in the component data set to determine whether each component meets a preset condition includes:
[0062] Obtaining the name attribute of each component in the component data set;
[0063] Comparing the name attribute with the preset name on the screening module for consistency, and generating a corresponding Boolean judgment result set;
[0064] Using a Boolean mask screening node to divide the Boolean judgment result set into two component subsets that meet a preset condition and do not meet the preset condition;
[0065] The component subset corresponding to the output Boolean value being true is regarded as the component object that meets the preset conditions.
[0066] In this embodiment, the name attribute of each component in the component data set is obtained. The "Element.Name" node in Dynamo is used to traverse and extract the input component instance set, and the identification fields such as the type name or family name of each component are output to obtain the name attribute. The name attribute is input into the "Code Block" node in the node graph and compared with the preset target name (such as "PPR pipe", "seamless steel pipe", etc.) for consistency. The "Code Block" node is used to construct a logical judgment expression, which is generally in the form of "name attribute = target name", and outputs the Boolean value (True or False) of each comparison result, thereby forming a Boolean judgment result set.
[0067] Furthermore, the "List.FilterByBoolMask" node is called as a Boolean mask filtering node to perform conditional filtering on the Boolean judgment result set. In the specific operation, the original component list is input as "list", and the Boolean judgment result set is input as "mask". The "List.FilterByBoolMask" node divides the original list according to the Boolean value. The output port "in" of the node corresponds to the component set with a Boolean value of True, that is, the subset that meets the preset conditions; the output port "out" corresponds to the component set with a Boolean value of False, that is, the subset that does not meet the preset conditions. The component subset obtained from the output port "in" is then output to the subsequent processing flow as a component object that meets the preset conditions for parameter assignment and data writing operations.
[0068] In step S104, the corresponding parameters are set for the object to be assigned and written into the component data set. In specific implementations, the "Element.SetParameterByName" node can be used to batch-set component parameter values based on parameter names (e.g., "Component Identifier") and preset parameter values (e.g., "Polypropylene Pipe" or "Closed Vertical Sprinkler"). This setting process can be accomplished by replicating multiple "Element.SetParameterByName" nodes to match different component types with their corresponding parameters, enabling batch updates of component data sets (i.e., updated component data sets).
[0069] In one embodiment, the step S104 includes:
[0070] Calling the parameter setting module in the node graph to obtain target parameters and simultaneously obtaining the type or family information of the object to be assigned;
[0071] Writing the target parameter value into the type or family information of the object to be assigned to complete the parameter assignment;
[0072] The assignment object after parameter assignment is completed is written into the component data set to obtain an updated component data set.
[0073] In this embodiment, the parameter setting module in the node graph is called to obtain the target parameter and its corresponding parameter value. The "Element.SetParameterByName" node in Dynamo is used as the parameter setting module. The input parameters include three items: the Revit element to be assigned a value (element), which is the filtered component instance object or family definition object; the target parameter name (parameterName), such as "component identifier"; and the parameter value (value), such as "polypropylene pipe" or "closed upright sprinkler." This parameter value can be entered as a string according to the settings specified in the component information table.
[0074] Furthermore, the type or family information of the object to be assigned is extracted as the target for parameter writing. In actual operation, for component instance objects, their instance parameters can be written directly; for family instance objects, their associated family definitions (obtained through the "FamilyInstance.GetFamily" node) can be called to perform unified assignment processing of family-level parameters. The above assignment operation is automatically completed through the "Element.SetParameterByName" node to ensure that each target component is assigned according to the corresponding parameters. According to the logic of the integrated node graph, the assignment objects that have completed parameter assignment are uniformly written into the component data set to obtain an updated component data set. This set contains all component instances with updated parameter values, which serves as the input source for synchronizing the final data to the BIM model.
[0075] For example, in the PPR pipe scenario, the "Element.SetParameterByName" node can be used to batch-set the "Component Identifier" parameter of all filtered PPR pipes to "Polypropylene Pipe." Another example is the nozzle scenario, where the "Component Identifier" parameter of the nozzle component with the family name "ZB Nozzle_Upright (DN25): 25mm Upright" can be set to "Closed Upright Nozzle." These assignments can be batch processed to create a complete Dynamo parameter setting flowchart.
[0076] In step S105, by running the Dynamo player and calling the built and debugged Dynamo script (.dyn file), all the above node operations can be automatically executed, thereby achieving batch writing of component IFC data information and ensuring that all target components in the model have updated their relevant parameter information.
[0077] Specifically, the following describes the usage process of the node-based data writing method, as follows:
[0078] Step 1: Load the component information table. This operation is usually completed by manually inserting it from a preset template file in the Revit document. The component information table includes the identification fields of the target component to be written, the target parameter names and corresponding parameter values, etc., and serves as the data source when the Dynamo program is running. The main purpose of loading this table before writing is to confirm whether the data was written successfully and the content is accurate by comparing it with the component data in the model after the program is executed.
[0079] Step 2: Run Dynamo Player. Dynamo Player is an automated script execution tool integrated into the Revit platform, used to call and execute pre-written and debugged Dynamo program files (.dyn files). Users do not need to enter the Dynamo programming interface; simply open Dynamo Player directly in the Revit environment, select the target program file, and click Run to automatically complete the operation process defined in each node diagram, including component family type extraction, component screening, parameter assignment, and data synchronization.
[0080] The two steps above enable a complete automated data writing process. The specific process is: load the detailed list → run the Dynamo player → call the pre-set Dynamo node graph → automatically write batch IFC data information. This process simplifies traditional manual data entry operations and significantly improves work efficiency and data consistency. In summary, combining Revit and the Dynamo platform, utilizing standardized operating procedures and visual scripting logic, enables batch writing and efficient management of component parameters in BIM models, meeting the strict requirements for model data integrity and standardization during the construction project application phase.
[0081] The node-based data writing method provided in the embodiment of the present invention also has significant beneficial effects, which are specifically reflected as follows:
[0082] In terms of data processing efficiency, the introduction of the Dynamo platform's node-based programming approach enables automated batch writing of IFC properties for components in Revit documents. Compared to the traditional process of manually entering parameters item by item, this significantly reduces operation time from several hours to just minutes. This is particularly true when processing large-scale BIM models with thousands of components, resulting in overall efficiency improvements of over 90%, significantly optimizing project data processing cycles.
[0083] In terms of the standardization and traceability of data management, the program node diagram is used as the execution basis, and the parameter setting process is standardized and clearly visualized, which is conducive to the subsequent review and technical transfer during the project handover. Through the automated execution of component family type screening, parameter name matching and assignment operations, human operation errors are significantly reduced, and the accuracy and consistency of model data are improved. In addition, in a cross-disciplinary collaborative environment, it can ensure a high degree of consistency in the data interface of multi-disciplinary BIM models, enhance the structural integrity and semantic compliance of the model, and effectively support the data flow and system integration in the design review, construction permit application, completion delivery, and operation and maintenance stages, thereby improving the information management quality of the entire construction project life cycle.
[0084] Combine Figure 2 As shown, Figure 2 A schematic block diagram of a node-based data writing device provided in an embodiment of the present invention is provided. The node-based data writing device 200 includes:
[0085] The data collection unit 201 is used to collect the BIM model to be processed and the preset component information list, and to build an input environment for the data to be written;
[0086] A data parsing unit 202 is configured to parse the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list and obtain a component data set;
[0087] The data output unit 203 is used to output the object to be assigned that meets the preset conditions according to the component data set;
[0088] The data writing unit 204 is used to set node parameters for the object to be assigned and write the parameters into the component data set to obtain an updated component data set;
[0089] The data synchronization unit 205 is used to synchronize the updated component data set to the BIM model to complete the writing of the model data.
[0090] In one embodiment, the data parsing unit 202 is specifically configured to:
[0091] Parsing all available component family types in the BIM model through the node graph to obtain a component family type set;
[0092] Extracting corresponding component instance elements based on the component family type set to obtain a component instance set, and extracting corresponding name attribute information in the component instance set;
[0093] The name attribute information is matched based on the component identification field in the component information list, and the components that are successfully matched are written into the component data set.
[0094] In one embodiment, the data parsing unit 202 is further configured to:
[0095] Obtain the family category information specified in the component information list;
[0096] Extracting corresponding available family types from the BIM model according to the family category information to obtain a family type set;
[0097] Component instances corresponding to the family type set are placed in the BIM model to obtain a family instance set, and the family instance set is incorporated into the component data set.
[0098] In one embodiment, the data parsing unit 202 is further configured to:
[0099] calling component instance generation instructions in the node graph in sequence, and inputting the family type set into the component instance generation node to create a corresponding component family instance;
[0100] The component family instance is extracted and placed into the BIM model to obtain a family instance set.
[0101] In one embodiment, the data output unit 203 is specifically configured to:
[0102] Based on the name attribute of each component in the component data set, calling the screening module in the node graph to determine whether each component meets the preset conditions;
[0103] Filtering the components that meet the preset conditions into a candidate object set;
[0104] Extracting the first valid component from the candidate object set as the object to be assigned, and outputting a null value processing instruction if the candidate object set is empty;
[0105] Alternatively, when the component is a family instance, the family definition information to which the component belongs is extracted, and the family definition information is set as the object to be assigned.
[0106] In one embodiment, the data output unit 203 is further configured to:
[0107] Obtaining the name attribute of each component in the component data set;
[0108] Comparing the name attribute with the preset name on the screening module for consistency, and generating a corresponding Boolean judgment result set;
[0109] Using a Boolean mask screening node to divide the Boolean judgment result set into two component subsets that meet a preset condition and do not meet the preset condition;
[0110] The component subset corresponding to the output Boolean value being true is regarded as the component object that meets the preset conditions.
[0111] In one embodiment, the data writing unit 204 is specifically configured to:
[0112] Calling the parameter setting module in the node graph to obtain target parameters and simultaneously obtaining the type or family information of the object to be assigned;
[0113] Writing the target parameter value into the type or family information of the object to be assigned to complete the parameter assignment;
[0114] The assignment object after parameter assignment is completed is written into the component data set to obtain an updated component data set.
[0115] Since the embodiments of the apparatus part correspond to the embodiments of the method part, please refer to the description of the embodiments of the method part for the embodiments of the apparatus part, and they will not be repeated here.
[0116] The present invention also provides a computer-readable storage medium having a computer program stored thereon. When executed, the computer program can implement the steps provided in the above embodiments. The storage medium can include a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, among other media capable of storing program code.
[0117] The present invention also provides a computer device that may include a memory and a processor. The memory stores a computer program, and when the processor calls the computer program in the memory, the steps provided in the above embodiment can be implemented. Of course, the computer device may also include various network interfaces, a power supply, and other components.
[0118] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referred to each other. For the system disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of this application, several improvements and modifications can be made to this application, and these improvements and modifications also fall within the scope of protection of the claims of this application.
[0119] It should also be noted that, in this specification, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.
Claims
1. A data writing method based on nodeization, characterized in that: include: Collect the BIM model to be processed and the preset component information list, and build the input environment for the data to be written; Parsing the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list to obtain a component data set; Outputting objects to be assigned that meet preset conditions according to the component data set; Setting node parameters for the object to be assigned and writing the parameters into the component data set to obtain an updated component data set; The updated component data set is synchronized to the BIM model to complete the writing of the model data.
2. The node-based data writing method according to claim 1, characterized in that: The step of parsing the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list and obtain a component data set includes: Parsing all available component family types in the BIM model through the node graph to obtain a component family type set; Extracting corresponding component instance elements based on the component family type set to obtain a component instance set, and extracting corresponding name attribute information in the component instance set; The name attribute information is matched based on the component identification field in the component information list, and the components that are successfully matched are written into the component data set.
3. The node-based data writing method according to claim 1, characterized in that: The step of parsing the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list to obtain a component data set further includes: Obtain the family category information specified in the component information list; Extracting corresponding available family types from the BIM model according to the family category information to obtain a family type set; Component instances corresponding to the family type set are placed in the BIM model to obtain a family instance set, and the family instance set is incorporated into the component data set.
4. The node-based data writing method according to claim 3, characterized in that: Placing component instances corresponding to the family type set into the BIM model to obtain a family instance set includes: calling component instance generation instructions in the node graph in sequence, and inputting the family type set into the component instance generation node to create a corresponding component family instance; The component family instance is extracted and placed into the BIM model to obtain a family instance set.
5. The node-based data writing method according to claim 1, characterized in that: Outputting the to-be-assigned object that meets the preset conditions according to the component data set includes: Based on the name attribute of each component in the component data set, calling the screening module in the node graph to determine whether each component meets the preset conditions; Filtering the components that meet the preset conditions into a candidate object set; Extracting the first valid component from the candidate object set as the object to be assigned, and outputting a null value processing instruction if the candidate object set is empty; Alternatively, when the component is a family instance, the family definition information to which the component belongs is extracted, and the family definition information is set as the object to be assigned.
6. The node-based data writing method according to claim 5, characterized in that: The calling of the screening module in the node graph based on the name attribute of each component in the component data set to determine whether each component meets a preset condition includes: Obtaining the name attribute of each component in the component data set; Comparing the name attribute with the preset name on the screening module for consistency, and generating a corresponding Boolean judgment result set; Using a Boolean mask screening node to divide the Boolean judgment result set into two component subsets that meet a preset condition and do not meet the preset condition; The component subset corresponding to the output Boolean value being true is regarded as the component object that meets the preset conditions.
7. The node-based data writing method according to claim 1, characterized in that: The step of setting node parameters of the object to be assigned and writing the parameters into the component data set to obtain an updated component data set includes: Calling the parameter setting module in the node graph to obtain target parameters and simultaneously obtaining the type or family information of the object to be assigned; Writing the target parameter value into the type or family information of the object to be assigned to complete the parameter assignment; The assignment object after parameter assignment is completed is written into the component data set to obtain an updated component data set.
8. A data writing device based on nodeization, characterized in that: include: The data acquisition unit is used to collect the BIM model to be processed and the preset component information list, and to build an input environment for the data to be written; A data parsing unit, configured to parse the BIM model using a preset node diagram based on the input environment to identify the type or family information of the component information list and obtain a component data set; A data output unit, configured to output an object to be assigned that meets preset conditions according to the component data set; A data writing unit, configured to set node parameters for the object to be assigned and write the parameters into the component data set to obtain an updated component data set; A data synchronization unit is used to synchronize the updated component data set to the BIM model to complete the writing of model data.
9. A computer device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the node-based data writing method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the node-based data writing method according to any one of claims 1 to 7 is implemented.