Shield segment coding method based on DiRootsOne

By using the shield tube sheet encoding method based on DiRootsOne in building information model technology, the encoding parameters are automatically assigned, which solves the problem of manual entry errors and omissions, and improves component encoding entry efficiency.

CN120218860APending Publication Date: 2025-06-27CCCC THIRD HARBOR ENGINEERING CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510349431.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-24
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In the existing building information model technology, there is a risk of errors and omissions in manual entry of component encoding, and it is difficult to add and adapt the coding fields based on the existing model, resulting in low component encoding entry efficiency.

Method used

The shield-structured tube-piece encoding method based on DiRootsOne is adopted, and the encoding parameters are added using the ParaManager panel through the Revit software and the DiRootsOne plug-in, and the encoding values ​​in the EXCEL table are batched through the WPS macro editor, and the tube-piece model in the Revit software is automatically assigned.

Benefits of technology

It effectively improves the efficiency of component coding entry, avoids the risk of errors and omissions caused by manual entry, and simplifies the error correction and modification process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120218860A_ABST
    Figure CN120218860A_ABST
Patent Text Reader

Abstract

The invention discloses a shield segment coding method based on DiRootsOne, and the method comprises the steps: S1, opening a built shield segment model file in Revit software; s2, opening a D iRootsOne plug-in, and adding a'code 'parameter name for each segment by using a family parameter adding function in a ParaManager panel of the D iRootsOne plug-in; s3, in the DiRootsOne plug-in, an EXCEL table is exported by using an export function, and the table has three columns; s4, the WPS software is opened, the EXCEL table is imported, and a third column, namely a coding column, of the table is set in batches through a WPS macro editor; and step S5, in the D iRootsOne plug-in, importing the processed table, and completing automatic assignment of the segment model'coding 'parameter in the Revit software. According to the method, the component code input efficiency is effectively improved, and mistakes and omissions caused by manual input are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of building information modeling, and specifically provides a shield segment coding method based on DiRootsOne. Background Art

[0002] The coding of BIM (Building Information Modeling) model components is of great significance for component classification management and statistics. Currently, the common practice is to manually enter the corresponding codes when creating components. However, when the number of components is large, there is a risk of errors and omissions in manual entry, and error correction and modification are very complicated; even if the entry is accurate, it is also difficult to add or modify coding fields on the existing model.

[0003] Shield segments have the characteristic of a large quantity. The shield segment coding method based on DiRootsOne (a multi-functional plug-in based on the Revit platform) can effectively improve the efficiency of component coding entry and avoid the risk of errors and omissions caused by manual entry.

[0004] Therefore, a shield segment coding method based on DiRootsOne is provided. Summary of the Invention

[0005] The purpose of the present invention is to provide a shield segment coding method based on DiRootsOne to overcome the existing defects, which effectively improves the efficiency of component coding entry and avoids the risk of errors and omissions caused by manual entry.

[0006] The technical solution to achieve the above purpose is as follows:

[0007] A shield segment coding method based on DiRootsOne includes:

[0008] Step S1: In the Revit software (software specifically designed for building information modeling), open the created shield segment model file;

[0009] Step S2: Open the DiRootsOne plug-in, and use the family parameter addition function in its ParaManager panel to add the parameter name "coding" to each segment;

[0010] Step S3: In the DiRootsOne plug-in, use the export function to export an EXCEL table, where the table has 3 columns;

[0011] Step S4: Open the WPS software, import the above EXCEL table, and use the WPS macro editor to batch-set the third column of the table, that is, the "coding" column;

[0012] Step S5: In the DiRootsOne plug-in, import the processed table, and the "coding" parameter of the segment model in the Revit software is automatically assigned.

[0013] Preferably, in step S1, a single pipe ring in the shield segment model is composed of 6 segments, including 3 standard segments, 2 adjacent segments and 1 closing segment. The forward direction of the shield segment placement is from the paper surface outward. In the clockwise direction towards this direction, the 6 segments are incremented in natural numbers along the forward direction of the shield segment placement.

[0014] Preferably, in step S2, add the parameter name of "coding" to each segment, including:

[0015] Step S21, in the family name column in the ParaManager (a plug-in for quickly batch creating and managing parameters in project files and family files) panel, check the family name and select all segment models;

[0016] Step S22, in the parameter name column in the ParaManager panel, enter "coding" to add the parameter name of "coding" to each segment model at one time.

[0017] Preferably, in step S21, all segment models belong to the same family and have the same family name.

[0018] Preferably, in step S3, the header of the first column in the table is the globally unique identifier GUID; the header of the second column is Element ID (data ID). The numbers in the above first and second columns are the unique identification codes of each segment automatically generated by the Revit system when the segment model is loaded into Revit; the header of the third column is "coding", and this column is a blank column for subsequent processing; each row in the table represents each segment, excluding the header.

[0019] Preferably, step S4 includes:

[0020] Step S41, in the WPS macro editor, set multiple parameters, including the total number of rows in the table ROW_ALL, the number of header rows ROW, the total number of segments N_P = ROW_ALL - ROW, the total number of pipe rings N_H = N_P / 6, the row number N_START of the first segment of the first pipe ring in the table = ROW + 1, the row number N_END of the first segment of the last pipe ring in the table = ROW_ALL - 5, and the counting parameter count;

[0021] Step S42, use nested for loops to traverse and set the coding values of each segment. The outer loop is used to traverse each pipe ring, initialize the loop variable i = N_START, the conditional expression is i <= N_END, and the iterative expression is i += 6;

[0022] Step S43: The inner loop is used to traverse the 6 segments included in each pipe ring. Initialize the loop variable j = 0, the conditional expression is j <= 5, and the iterative expression is j++.

[0023] Step S44: The Cells(i + j, 3).Value2 property represents the table value in the (i + j)-th row and the 3rd column of the table. The loop body of the nested for loop consists of an if judgment statement.

[0024] Step S45: When j is 5, the assignment statement is Cells(i + j, 3).Value2 = 'K' + String(count);

[0025] Step S46: When j is 0 or 4, the assignment statement is Cells(i + j, 3).Value2 = 'B' + String(count);

[0026] Step S47: When j is 1 or 2 or 3, the assignment statement is Cells(i + j, 3).Value2 = 'A' + String(count);

[0027] Step S48: When the inner loop executes once, the counting parameter count is incremented by 1 to complete the setting of the "coding" column in the table.

[0028] The beneficial effects of the present invention are as follows: By setting the corresponding codes in the WPS macro editor, the present invention avoids the problems of manual entry with the risks of errors and omissions and the complexity of error correction and modification, effectively improves the efficiency of component code entry, and avoids the risks of errors and omissions caused by manual entry. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 is a flowchart of a shield segment coding method based on DiRootsOne of the present invention;

[0030] Figure 2 is a specific flowchart of adding the "coding" parameter name to each segment in the present invention;

[0031] Figure 3 is a specific flowchart of batch setting the "coding" column of the table using the WPS macro editor in the present invention;

[0032] Figure 4 is a schematic diagram of the overall model of the shield segment in the present invention;

[0033] Figure 5 is a schematic diagram of the segment model in the first pipe ring in the present invention;

[0034] Figure 6 is a schematic diagram of the code in the WPS macro editor in the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0035] The technical solution of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. In the description of the present invention, it should be noted that the orientation or positional relationship indicated by the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc. is based on the orientation or positional relationship shown in the accompanying drawings. It is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be construed as a limitation to the present invention. In addition, the terms "first", "second", "third" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance.

[0036] The present invention will be further described below in conjunction with the accompanying drawings.

[0037] As Figure 1 shown, a shield segment coding method based on DiRootsOne includes:

[0038] Step S1, in the Revit software, open the created shield segment model file.

[0039] As Figure 4 、 5 shown, a single pipe ring in the shield segment model is composed of 6 segments, including 3 standard segments (type A segments), 2 adjacent segments (type B segments) and 1 closing segment (type K segment). The forward direction of the shield segment placement is from the paper surface outward. In the clockwise order towards this direction, the 6 segments (the first pipe ring) are respectively designated as B1, A1, A1, A1, B1, K1. Among them, the letter represents the segment type, and the number represents the pipe ring number, which increases in natural numbers along the forward direction of the shield segment placement.

[0040] Step S2, open the DiRootsOne plug-in, and use the family parameter addition function in its ParaManager panel to add the parameter name of "coding" to each segment.

[0041] As Figure 2 shown, adding the parameter name of "coding" to each segment includes:

[0042] Step S21, in the family name column of the ParaManager panel, check the family name and select all the segment models.

[0043] In the embodiment, all the segment models belong to the same family and have the same family name.

[0044] Step S22, in the parameter name column of the ParaManager panel, enter "coding" to add the parameter name of "coding" to each segment model at one time.

[0045] Step S3: In the DiRootsOne plugin, use the export function to export an EXCEL table, where the table has 3 columns.

[0046] In the embodiment, the header of the first column of the table is "Element ID", and this number is the unique identification code of each segment automatically generated by the Revit system when the segment model is loaded into Revit; the header of the second column is "Coding", and this column is a blank column to be processed later; each row of the table represents each segment, excluding the header.

[0047] Step S4: Open the WPS software, import the above EXCEL table, and use the WPS macro editor to batch-set the third column of the table, that is, the "Coding" column.

[0048] As Figure 3 、 6 shown, Step S4 includes:

[0049] Step S41: In the WPS macro editor, set multiple parameters, including the total number of rows of the table ROW_ALL, the number of header rows ROW, the total number of segments N_P = ROW_ALL - ROW, the total number of ring segments N_H = N_P / 6, the row number N_START of the first segment of the first ring segment in the table = ROW + 1, the row number N_END of the first segment of the last ring segment in the table = ROW_ALL - 5, and the counting parameter count.

[0050] Step S42: Use nested for loops to traverse and set the coding values of each segment. The outer loop is used to traverse each ring segment, initialize the loop variable i = N_START, the conditional expression is i <= N_END, and the iterative expression is i += 6.

[0051] Step S43: The inner loop is used to traverse the 6 segments included in each ring segment, initialize the loop variable j = 0, the conditional expression is j <= 5, and the iterative expression is j++.

[0052] Step S44: The Cells(i + j, 3).Value2 property represents the table value of the (i + j)-th row and the 3rd column of the table. The loop body of the nested for loop consists of an if judgment statement.

[0053] Step S45: When j is 5, the assignment statement is Cells(i + j, 3).Value2 = 'K' + String(count).

[0054] Step S46: When j is 0 or 4, the assignment statement is Cells(i + j, 3).Value2 = 'B' + String(count).

[0055] Step S47, when j is 1 or 2 or 3, the assignment statement is Cells(i + j, 3).Value2 = 'A' + String(count).

[0056] Step S48, the inner loop is executed once, and the counting parameter count is incremented by 1 to complete the setting of the "Code" column in the table.

[0057] Step S5, in the DiRootsOne plug-in, import the processed table, and the "Code" parameter of the segment model in the Revit software is automatically assigned.

[0058] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A shield segment coding method based on DiRootsOne, characterized in that: include: Step S1, in Revit software, open the created shield segment model file; Step S2, open the DiRootsOne plug-in, use the family parameter adding function in its ParaManager panel to add a "coding" parameter name to each segment; Step S3, in the DiRootsOne plug-in, use the export function to export an EXCEL table, where the table has two columns; Step S4, open the WPS software, import the above EXCEL table, and use the WPS macro editor to batch set the third column of the table, that is, the "coding" column; Step S5, in the DiRootsOne plug-in, import the processed table, and the "coding" parameters of the pipe segment model in the Revit software are automatically assigned.

2. According to a shield segment coding method based on DiRootsOne according to claim 1, it is characterized in that: In step S1, a single pipe ring in the shield segment model is composed of 6 segments, including 3 standard blocks, 2 adjacent blocks and 1 capping block. From the paper surface outward, the shield segment is placed in the forward direction. The 6 segments are placed in a clockwise order along the shield segment placement forward direction in natural numbers.

3. According to a shield segment coding method based on DiRootsOne according to claim 1, it is characterized in that: In step S2, a "coding" parameter name is added to each segment, including: Step S21, in the Family Name column of the ParaManager panel, check the family name and select all the segment models; Step S22, in the parameter name column of the ParaManager panel, enter "Code" and add the "Code" parameter name to each segment model at one time.

4. A shield segment coding method based on DiRootsOne according to claim 3, characterized in that: In step S21, all segment models belong to the same family and have the same family name.

5. The shield segment coding method based on DiRootsOne according to claim 1, characterized in that: In step S3, the header of the first column of the table is the globally unique identifier GUID; the header of the second column is Element ID, and the numbers in the first and second columns are the unique identification code of each segment automatically generated by the Revit system when the segment model is loaded into Revit; the header of the third column is "Code", which is a blank column for subsequent processing; each row of the table represents each segment, except for the header.

6. A shield segment coding method based on DiRootsOne according to claim 5, characterized in that: The step S4 comprises: Step S41, in the WPS macro editor, set multiple parameters, including the total number of table rows ROW_ALL, the number of table header rows ROW, the total number of pipe segments N_P = ROW_ALL-ROW, the total number of pipe rings N_H = N_P / 6, the row number of the first pipe segment of the first pipe ring in the table N_START = ROW+1, the row number of the first pipe segment of the last pipe ring in the table N_END = ROW_ALL-5, and the counting parameter count; Step S42, using a nested for loop to traverse and set the code value of each pipe segment, the outer loop is used to traverse each pipe ring, the loop variable i=N_START is initialized, the conditional expression is i<=N_END, and the iteration expression is i+=6; Step S43, the inner loop is used to traverse the six pipe segments contained in each pipe ring, initialize the loop variable j=0, the conditional expression is j<=5, and the iteration expression is j++; Step S44, Cells(i+j,3).Value2 attribute represents the table value of the i+jth row and the 3rd column of the table, and the loop body of the nested for loop is composed of an if judgment statement; Step S45, when j is 5, the assignment statement is Cells(i+j,3).Value2='K'+String(count); Step S46, when j is 0 or 4, the assignment statement is Cells(i+j,3).Value2='B'+String(count); Step S47, when j is 1 or 2 or 3, the assignment statement is Cells(i+j,3).Value2='A'+String(count); Step S48: the inner loop is executed once, and the counting parameter count is incremented by 1, completing the setting of the "code" column in the table.