Method and system for quickly adding attribute information based on Rhinoceros

By building materials and copying attribute information in Rhinoceros, the problem of inefficiency in manual addition of BIM model attribute information is solved, automatic synchronization of attribute information is added and rapid reuse is achieved, and design efficiency and accuracy are improved.

CN119066759BActive Publication Date: 2025-01-24CHINA SOUTHWEST ARCHITECTURAL DESIGN & RES INST CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411575351.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-06
Publication Date
2025-01-24
Estimated Expiration
2044-11-06

AI Technical Summary

Technical Problem

In the prior art, users need to manually add attribute information to the Building Information Model (BIM), which is inefficient and prone to errors, and the attribute information of the same type of model components is difficult to reuse quickly.

Method used

By constructing materials in RhinoCeros, and store attribute information in the scalable tag language files, create the same type of second material, and copy the attribute information from the first material to the second material through the attribute information memory to achieve attribute information Automatic synchronous adding.

Benefits of technology

It greatly reduces the designer's workload of manually adding attribute information, improves the reuse efficiency of attribute information, and ensures the accuracy and consistency of attribute information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119066759B_ABST
    Figure CN119066759B_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of building information modeling, and specifically relates to a method and system for quickly adding attribute information based on Rhinoceros, constructing a first material, and adding attribute information to the first material, wherein the attribute information is stored in an extensible markup language file; creating a second material of the same type based on the first material, and simultaneously copying the attribute information from the first material to the second material through an attribute information storage device created in Rhinoceros; adding the second material to a building information model, and synchronously adding the attribute information to the building information model. With the material as a carrier, the attribute information contained in the building information model is pre-added to the material. When a user adds a material to a model component, the attribute information pre-added to the material will be automatically added to the model component, without the need for the user to manually add attribute information to the model component, which greatly reduces the workload of designers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of building information modeling, and in particular relates to a method and a system for quickly adding attribute information based on Rhinoceros. Background Art

[0002] In recent years, site planning, design optimization, construction organization, and operation and maintenance management based on building information modeling (BIM) have been widely used in the entire life cycle of engineering projects. By taking advantage of the large amount of information data carried by building information modeling (BIM), the data, processes, and resources of different stages and stakeholders in the entire life cycle of engineering projects are connected, which significantly reduces the construction and operation and maintenance costs of engineering projects and improves the management and service quality.

[0003] The patent discloses "A Rhinoceros-based Building Information Model Data Management Method, System and Medium" (Publication No. CN117171866A), and establishes a multi-level, multi-category data standard system based on the national or local requirements for the depth of model component attribute information in the Building Information Model (BIM) delivery standard. The data standard system is divided into four levels according to the project stage. The first level contains 3 major categories and 12 minor categories of attribute information, the second level contains 2 major categories and 6 minor categories of attribute information, the third level contains 1 major category and 3 minor categories of attribute information, and the fourth level contains 2 major categories and 6 minor categories of attribute information.

[0004] Under the existing technical solution, users need to manually add attribute information to the building information model (BIM) according to the project stage and delivery requirements. However, this manual addition of attribute information has the following defects:

[0005] 1) Manually adding attribute information to the building information model (BIM) is inefficient and prone to errors. According to the technology disclosed in the patent "A method, system and medium for building information model data management based on Rhinoceros" (publication number CN117171866A), users need to manually add attribute information to the building information model (BIM) according to the project stage and delivery requirements. The building information model (BIM) of a project often contains hundreds or thousands of model components, each of which contains several items of attribute information. Manually adding attribute information to the building information model (BIM) is not only a huge workload, but also very easy to cause problems such as missing or incorrect filling.

[0006] 2) The attribute information of the same type of model components is difficult to reuse quickly. In a project's building information model (BIM), there are often a large number of model components of the same type. These model components have similar attribute information but different geometric appearances. For example, PVC pipes of different sizes have different geometric appearances, but the attribute information of the model components is similar. Under the existing technical solution, for model components with similar attribute information but different geometric appearances, attribute information still needs to be added separately. This method will undoubtedly increase the user's repetitive work, reduce work efficiency, and prolong working time. Summary of the invention

[0007] In order to overcome the above-mentioned defects of manually adding attribute information to the BIM model and realize automatic attribute information addition, a method and system for quickly adding attribute information based on Rhinoceros are proposed.

[0008] In order to achieve the above objectives, the following technical solutions are proposed:

[0009] The method for quickly adding attribute information based on Rhinoceros includes the following steps:

[0010] Constructing a first material and adding attribute information to the first material, wherein the attribute information is stored in the first material file via an extensible markup language file and is used to digitally express the physical and functional characteristics of the material;

[0011] A second material of the same type is created based on the first material, and attribute information is copied from the first material to the second material through an attribute information storage device created in Rhinoceros; the second material is added to a building information model, and the attribute information is synchronously added to the building information model.

[0012] As a preferred solution, the creation of the same type of second material based on the first material is achieved through copying, specifically including: obtaining the first material object selected by the user through the Get method of the Get Object class in Rhino Common; adding the material index value and attribute information in the first material to the attribute information storage.

[0013] As a preferred solution, the creation of a second material of the same type based on the first material further includes: using the Load method of the Xml Document class in the .NET Framework to load and parse the data information in the Extensible Markup Language file in the first material.

[0014] As a preferred solution, the material index value and the attribute information are stored in the attribute information storage according to the corresponding relationship through the Add method of the User Data class in Rhino Common.

[0015] As a preferred solution, the attribute information storage is an invisible and non-deletable geometric object.

[0016] As a preferred solution, the first material also includes basic information of the material itself, and the basic information is synchronously copied to the second material when the second material is created based on the first material.

[0017] As a preferred solution, creating a second material of the same type based on the first material specifically includes:

[0018] Get the name of the first material through the Name method of the Material class in Rhino Common; get the material list through the Find By Name method of the Render Material Table class in RhinoCommon, and find the material corresponding to the first material name in the material list; create a new material through the Create method of the Render Material class, and find the basic information corresponding to the first material name in the material library through the Copy From method of the Render Material class and copy it to the new material to generate the second material.

[0019] As a preferred solution, a plurality of material objects and their attribute information are also generated based on the first material.

[0020] As a preferred solution, the model component that needs to reuse the first material is obtained through the Get method of the Get Object class in Rhino Common; the material information on the model component is obtained through the Materials method of the Rhino Doc class in RhinoCommon; the material index value in the material information is then obtained through the Material Index method of the Object Attributes class in Rhino Common; the corresponding attribute information is searched and obtained in the attribute information storage according to the material index value; and the Set User String method of the Group class in RhinoCommon is used to add the obtained attribute information to the geometric object that needs to add attribute information.

[0021] Based on the same concept, a system for quickly adding attribute information based on Rhinoceros is also proposed, including at least one processor and a memory communicatively connected to the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any of the above-mentioned methods for quickly adding attribute information based on Rhinoceros.

[0022] Compared with the prior art, the present invention has the following beneficial effects: the method of the present invention uses materials as carriers, and pre-adds a series of attribute information in the building information model (BIM) to the materials. When the user adds materials to the model components, the attribute information pre-added to the materials will be automatically added to the model components, without the need for the user to manually add attribute information to the model components, which greatly reduces the workload of designers. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 is a flow chart of the method for quickly adding attribute information based on Rhinoceros in Example 1;

[0024] Figure 2 It is a flow chart of the method for quickly adding attribute information by establishing a parent-child material library in Example 1. DETAILED DESCRIPTION

[0025] The present invention is further described in detail below in conjunction with test examples and specific implementation methods. However, this should not be understood as the scope of the above subject matter of the present invention being limited to the following embodiments, and all technologies realized based on the content of the present invention belong to the scope of the present invention.

[0026] Example 1

[0027] A method for quickly adding attribute information based on Rhinoceros, as shown in the flowchart Figure 1 As shown, the following steps are included:

[0028] Constructing a first material and adding attribute information to the first material, wherein the attribute information is stored in an extensible markup language file and is used to digitally express physical and functional characteristics of the material;

[0029] A second material of the same type is created based on the first material, and attribute information is copied from the first material to the second material through an attribute information storage device created in Rhinoceros; the second material is added to a building information model, and the attribute information is synchronously added to the building information model.

[0030] In order to specifically describe the solution of the present invention, a first material library is constructed, and the first material library is used as a parent material, and the second material library is used as a child material library for a specific description of the solution. The flowchart of the method for quickly adding attribute information in the way of establishing a parent-child material library is as follows: Figure 2 As shown, the overall steps include:

[0031] 1. Create two material libraries for Rhinoceros;

[0032] 2. Create a master material with pre-added attribute information and add it to the master material library;

[0033] 3. Select the material in the master material library and add it to the sub-material library;

[0034] 4. Quickly add attribute information to the Building Information Model (BIM) through sub-materials in the sub-material library.

[0035] A more detailed description is as follows:

[0036] 1. Create two material libraries for Rhinoceros

[0037] Create two material libraries for Rhinoceros and name them as the parent material library (first material library) and the child material library (second material library), which are used to store materials and manage project materials respectively. The parent material library stores materials with added attribute information. The materials in the material library are called parent materials (first materials). Parent materials can be applied to any type of project. When a project needs to call the parent material in the parent material library, the parent material needs to be instantiated. The instantiated parent material is called a child material (second material), and the child material is stored in the child material library. Instantiation specifically means creating a child material based on the parent material. The two materials share the same basic information and attribute information, but the two materials are independent of each other. Users can modify the child material information (such as mapping, texture, refraction, reflection, attribute information, etc.) according to project needs without affecting the parent material. The purpose of designing a dual material library is to enable users to modify the child material information according to project needs without affecting the parent material. The material information includes basic information and attribute information. Basic information refers to the name, texture, physical properties, etc. of the material. Attribute information refers to the building information model (BIM) attribute information type specified in the patent "A method, system and medium for building information model data management based on Rhinoceros" (publication number CN117171866A). Rhinoceros provides a way to set basic information for materials, but does not provide a way to add attribute information to materials.

[0038] 2. Create a master material with pre-added attribute information and add it to the master material library

[0039] (1) Create a new material and set basic information for the new material

[0040] Use the Create Material method of the Material class in Rhino Common to create a new material. This method allows you to set basic information about the material, such as material name, texture, reflection, refraction, and other parameters. Users can create materials through the UI panel and add basic information to them.

[0041] Create granite and add basic information, create concrete and add basic information, create two materials, granite and concrete, and add material name, map, reflection, refraction and other parameters.

[0042] (2) Add attribute information to the new material

[0043] Attribute information refers to the building information model (BIM) attribute information type specified in the patent "A method, system and medium for building information model data management based on Rhinoceros" (publication number CN117171866A), which includes 4 levels, 7 categories and 27 subcategories, as shown in the following table:

[0044]

[0045] Since the tool set provided by the Rhinoceros API does not have a method for adding user-defined information to material objects, the idea of ​​this patent is to add the above attribute information to the material file (.rmtl) through Xml (Extensible Markup Language), and the above operation can be achieved through an Xml editor. In order to simplify the operation, this patent creates a UI panel, and users can add attribute information to the material by editing the UI panel. The attribute information includes the attribute name and the attribute value corresponding to the attribute name. Through the above method, you can create a material with pre-added attribute information and store it in the Rhinoceros parent material library.

[0046] 3. Select the material in the master material library and add it to the sub-material library

[0047] (1) Instantiate the material in the parent material library and add it to the child material library

[0048] Instancing means creating a sub-material from a parent material. The two materials share the same basic information and attribute information, but the two materials are independent of each other. Users can modify the sub-material information as needed without affecting the parent material.

[0049] Instantiating materials in the parent material library and adding them to the child material library includes the following steps: select a material to be instantiated in the parent material library; get the material name through the Name method of the Material class in Rhino Common; get the material list in the name "parent material library" through the Find By Name method of the Render Material Table class in Rhino Common, and find the material with the specified name in the material list; Render MaterialTable is a class in Rhino Common. This class provides a series of methods and properties that allow operations on the material list in Rhino, such as searching, adding, deleting, etc. Through Render Material Table, you can get the material list of the current document and manage the rendering materials in it.

[0050] Next, create a new material through the Create method of the Render Material class, and copy the information of the material with the specified name found in the parent material library to the new material through the Copy From method of the RenderMaterial class; the Render Material class inherits from the Render Content class, which provides a series of methods and properties that allow you to create, copy, delete, add, and other operations on materials in Rhino. Finally, add the new material to the material list named "Sub-Material Library" through the Add method of the Render Material class.

[0051] (2) Add the attribute information contained in the parent material to the attribute information storage

[0052] Through the above-mentioned material instantiation method, the child material can inherit the basic information of the parent material. Since the process of Rhinoceros instantiating a material is equivalent to initializing the material (assigning initial values ​​to the material attributes), the attribute information added to the material through XML (Extensible Markup Language) cannot be inherited by the child material after instantiation. Therefore, this patent will create a method that can receive and store the attribute information contained in the parent material, as follows:

[0053] First, create an attribute information storage in Rhinoceros for receiving and storing attribute information. The method is to create any geometric object (Geometry) in the project through the Sphere Constructor function in Rhino Common, such as a sphere with a center coordinate of (0, 0, 0) and a radius of 1mm. Then use the Attributes method of the Rhino Object class in Rhino Common to obtain the attributes of the sphere (allowing you to get and set the attributes of an object), and set its Visible attribute to invisible (false), and the Locked attribute to read-only (Ture). At this point, a geometric object (Geometry) that is invisible to the user and cannot be deleted is created in the project. This geometric object is the attribute information storage.

[0054] Secondly, create a data dictionary in the attribute information storage to store, manage and call attribute information. The data dictionary structure is Dictionary (id, string, object), where id is the material index value (Index) of the material, string is the attribute information name, object is the attribute value corresponding to the attribute name, and the material index value (index) is the unique identifier of the material in the project, which is automatically generated when the material is created. Taking concrete material as an example, assuming that the material contains attribute information that the concrete strength grade is C30, then in the digital dictionary, id is the material index value (Index) of the concrete material, string is the strength grade, and object is C30.

[0055] Finally, add the attribute information contained in the parent material to the data dictionary of the attribute information storage. Get the parent material object selected by the user through the Get method of the Get Object class in Rhino Common. When the user selects a material, it is necessary to obtain the material index value (Index) of the material and the attribute information added to the material.

[0056] The Object Attributes class provides a series of methods and properties to obtain object-related attributes, such as material, color, layer, material index, etc. The Material Index method of the Object Attributes class in RhinoCommon can be used to obtain the material index value (Index) of the material selected by the user.

[0057] Since the attribute information in the material is stored in the material in the form of Xml (Extensible Markup Language), considering that the .NET platform contains a huge class library called .NET Framework (or .NET Core, .NET 5 and higher versions), this class library provides a large number of basic components and tools to simplify the work of developers. Among them, the XmlDocument class is a class in the .NET Framework that is used to process and operate XML data. In order to obtain the attribute information in the material, the Load method of the Xml Document class in the .NET Framework is used to load and parse the Xml data in the material file. After obtaining the material index value (Index) and attribute information, the material index value (Index) and attribute information are stored in the corresponding position of the data dictionary (the structure relationship is Dictionary (id, string, object)) in the attribute information storage through the Add method of the User Data class in RhinoCommon. Among them, id stores the material index (Index), string stores the attribute name, and object stores the attribute value corresponding to the attribute name.

[0058] 4. Quickly add attribute information to the Building Information Model (BIM) through sub-materials in the sub-material library

[0059] (1) Quickly add attribute information to the Building Information Model (BIM) through sub-materials

[0060] The patent "A method, system and medium for data management of building information model based on Rhinoceros" (publication number CN117171866A) establishes a multi-level and multi-category data standard system for the attribute information of building information model (BIM), and uses the User Data class in Rhino Common to create a digital dictionary for managing attribute information. Its data dictionary structure is Dictionary(string, object), where string is the attribute name and object is the attribute value corresponding to the attribute name. Taking the model component as concrete as an example, when string is the strength grade, object is any value among C15, C20, C25, C30, C35, C40, C45, C50, C55, C60, C65, C70, C75, and C80.

[0061] In this patent, the attribute information and data structure pre-added to the material are consistent with the data standard system and data dictionary structure established in the patent "A method, system and medium for building information model data management based on Rhinoceros" (publication number CN117171866A). Therefore, when the user adds material to the model component, the system will automatically add the attribute information in the material to the building information model (BIM) attribute information management system described in the patent "A method, system and medium for building information model data management based on Rhinoceros" (publication number CN117171866A).

[0062] When the user selects a material in the sub-material library, the program obtains the material object selected by the user through the Get method of the Get Object class in Rhino Common; obtains the material index value (Index) of the material object selected by the user through the MaterialIndex method of the Object Attributes class in Rhino Common; uses the Find method of the UserData class in Rhino Common, which can traverse the data dictionary in the attribute information storage (the structural relationship is Dictionary(id, string, object)). Since the material index value (Index) corresponds to the ID in the Dictionary, the attribute information corresponding to the index is searched and obtained according to the material index value (Index) (for example, the attribute information corresponds to string=attribute name, object=attribute value); obtains the geometric object selected by the user to add attribute information through the Get method of the Get Object class in Rhino Common; uses the Set User String method of the Group class in RhinoCommon to add the obtained attribute information to the geometric object to which attribute information is added; finally, uses the Write method of the Rhino APP class in Rhino Common The Line method displays the added attribute information in the building information model (BIM) attribute information management system described in the patent "A method, system and medium for building information model data management based on Rhinoceros" (publication number CN117171866A).

[0063] (2) Rapid reuse of attribute information

[0064] There are often a large number of model components of the same type in a project's building information model (BIM). These model components have the same attribute information but different geometric appearances. This patent provides users with a pipette tool. When users need to reuse the material and its attribute information on a model component, they can use the pipette tool to "absorb" the material to be reused, and then use the paint bucket tool to assign the material to a new model component. At this time, the basic information and attribute information of the material will be added to the new model, realizing the rapid reuse of attribute information.

[0065] Get the model component whose material needs to be reused by the user through the Get method of the Get Object class in Rhino Common, and use the GeometryFilter method to limit the user to select only geometric bodies; get the material information on the model component through the Materials method of the Rhino Doc class in Rhino Common; get the material index value (Index) in the material information through the Material Index method of the ObjectAttributes class in Rhino Common; use the Find method of the UserData class in Rhino Common to traverse the data dictionary in the attribute information storage (the structural relationship is Dictionary(id, string, object)), and find and get the attribute information corresponding to the index according to the material index value (Index); get the geometric object selected by the user to add attribute information through the Get method of the Get Object class in Rhino Common; use the Set User String method of the Group class in Rhino Common to add the obtained attribute information to the geometric object to which attribute information needs to be added; finally, use the Write Line method of the Rhino APP class in Rhino Common to display the added attribute information in the new model component.

[0066] The present invention uses materials as carriers, and pre-adds a series of attribute information (such as project information, system information, technical information, construction information, asset information, etc.) in the building information model (BIM) to the materials. When the user adds materials to the model components, the attribute information pre-added to the materials will be automatically added to the model components, without the need for the user to manually add attribute information to the model components, which greatly reduces the workload of designers.

[0067] Materials with added attribute information are universal and can be reused in any type of project. As the number of materials accumulates, the efficiency of users adding attribute information to building information models (BIM) will be greatly improved.

[0068] Assigning materials to model components is itself a link in the traditional design process. The present invention enables adding attribute information that complies with national and local building information model (BIM) delivery standards while assigning materials to model components, thereby achieving a technical effect of killing two birds with one stone.

[0069] Finally, it should be noted that the embodiments described in detail above are only the best practices of the invention and cannot be used to limit the scope of rights of the invention. Equivalent replacement of the technical solutions recorded in the aforementioned embodiments does not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the invention, and they should all be included in the scope of the claims and description of the invention.

Claims

1. A method for quickly adding attribute information based on Rhinoceros, characterized in that: The following steps are involved: Constructing a first material and adding attribute information to the first material, wherein the attribute information is stored in the first material file via an extensible markup language file and is used to digitally express the physical and functional characteristics of the material; Creating a second material of the same type based on the first material, and simultaneously copying attribute information from the first material to the second material through an attribute information storage created in Rhinoceros; adding the second material to a building information model, and synchronously adding the attribute information to the building information model; Copying the attribute information from the first material to the second material via the attribute information storage created in Rhinoceros comprises the following steps: Creating an attribute information storage device in Rhinoceros for receiving and storing attribute information; A data dictionary is created in the attribute information storage for storing, managing and calling the attribute information; the attribute information contained in the first material is added to the data dictionary in the attribute information storage; and the material index value and the attribute information are stored in the attribute information storage according to the corresponding relationship through the Add method of the User Data class in Rhino Common.

2. The method for quickly adding attribute information based on Rhinoceros according to claim 1, characterized in that: The creation of the second material of the same type based on the first material is achieved by copying, specifically including: obtaining the first material object selected by the user through the Get method of the GetObject class in Rhino Common; adding the material index value and attribute information in the first material to the attribute information storage.

3. The method for quickly adding attribute information based on Rhinoceros according to claim 2, characterized in that: The creating of the second material of the same type based on the first material further comprises: using the Load method of the Xml Document class in the .NET Framework to load and parse the data information in the extensible markup language file in the first material.

4. The method for quickly adding attribute information based on Rhinoceros according to claim 1, characterized in that: The attribute information storage is a geometric object that is invisible and cannot be deleted.

5. The method for quickly adding attribute information based on Rhinoceros according to claim 1, characterized in that: The first material also includes basic information of the material itself, and the basic information is synchronously copied to the second material when the second material is created based on the first material.

6. The method for quickly adding attribute information based on Rhinoceros according to claim 5, characterized in that: Creating a second material of the same type based on the first material specifically includes: Get the name of the first material through the Name method of the Material class in Rhino Common; get the material list through the Find By Name method of the Render Material Table class in Rhino Common, and find the material corresponding to the first material name in the material list; create a new material through the Create method of the Render Material class, and find the basic information corresponding to the first material name in the material library through the Copy From method of the Render Material class and copy it to the new material to generate the second material.

7. The method for quickly adding attribute information based on Rhinoceros according to any one of claims 1 to 6, characterized in that: A plurality of material objects and their attribute information are also generated based on the first material.

8. The method for quickly adding attribute information based on Rhinoceros according to claim 7, characterized in that: Get the model component that needs to reuse the first material through the Get method of the Get Object class in Rhino Common; get the material information on the model component through the Materials method of the Rhino Doc class in RhinoCommon; then get the material index value in the material information through the Material Index method of the Object Attributes class in Rhino Common; search and get the corresponding attribute information in the attribute information storage according to the material index value; use the Set User String method of the Group class in Rhino Common to add the obtained attribute information to the geometric object that needs to add attribute information.

9. Rapidly add attribute information system based on Rhinoceros, characterized by: The invention comprises at least one processor and a memory which is communicatively connected to the at least one processor; the memory stores instructions which can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for quickly adding attribute information based on Rhinoceros as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Building information model data management method and system based on Rhinoceros and medium

    CN117171866A

  • Method, device and equipment for quickly generating landscape engineering parameter information

    CN117271859A

  • Method for generating Archicad parameterized component by utilizing Grasshopper

    CN118485564A