Rapid automatic modeling method, device and program product based on building information, medium

By constructing a composite spatial index structure of the geometric data of graphic elements, using R-tree and KD-tree for efficient query and search, and automatically identifying wall lines and objects, the problem of excessive manual operation in existing architectural modeling is solved, and a fast and efficient conversion of drawings into parametric 3D models is achieved.

CN119740299BActive Publication Date: 2025-10-24BWTON TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411938342.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-10-24
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

Existing building modeling relies on a large amount of manual operations, making it difficult to quickly automate and accurately convert drawings into three-dimensional models, and is unable to adapt to the development needs of BIM.

Method used

By constructing a composite spatial index structure of the geometric data of graphic elements, using R-tree and KD-tree for efficient query and search, wall lines and objects are automatically identified, and parametric 3D models are generated to reduce manual intervention.

Benefits of technology

It realizes the rapid and efficient conversion of drawings into parametric three-dimensional models, reduces manual operations, improves the accuracy and efficiency of modeling, and adapts to the development of BIM.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119740299B_ABST
    Figure CN119740299B_ABST
Patent Text Reader

Abstract

The application provides a rapid automatic modeling method, device and program product based on building information, and a medium. In the implementation of the application, a given drawing is first parsed, a continuous wall search is implemented based on a geometric data composite space index structure, and then the continuous wall search and identification are used to provide a data basis for modeling, and wall, door and window data are obtained. The wall, door and window data are obtained through the identification of the drawing, and a large amount of complete building information scattered in the drawing is obtained without manual operation. Finally, the wall, door and window data are used to create a wall and doors and windows on the wall, and a parameterized three-dimensional model is obtained. The conversion of the drawing to the parameterized three-dimensional model is automatically and efficiently and accurately implemented without manual intervention, and the rapid automatic modeling of the drawing is provided for building design and engineering.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of geometric three-dimensional modeling, in particular to a rapid automatic modeling method based on building information, a computer device, a computer program product, and a computer readable storage medium. BACKGROUND

[0002] In the process of architectural design and engineering, three-dimensional modeling needs to be performed on many drawings respectively, and two-dimensional drawings are converted into three-dimensional models for design, analysis and construction. However, the existing building modeling relies on manual operation.

[0003] For each drawing, a large amount of manual operation is needed to sort a large amount of building information scattered in the drawing, and then a three-dimensional model with complete building information is obtained based on the complete building information.

[0004] How to reduce manual intervention is a requirement in architectural design and engineering, and then it can adapt to the development of BIM. Efficient and accurate rapid automatic modeling of drawings is a problem to be solved at present. SUMMARY

[0005] One object of the present application is to realize rapid automatic modeling of drawings to greatly reduce manual intervention and efficiently and accurately construct a model.

[0006] According to an aspect of an embodiment of the present application, a rapid automatic modeling method based on building information is disclosed, the method comprising:

[0007] constructing a geometric data composite space index structure of a drawing carrying building information, generating a parametric three-dimensional model based on the building information carried by the drawing;

[0008] performing continuous wall search on the geometric data composite space index structure according to a to-be-searched wall line list formed by the identification of wall lines belonging to the drawing, obtaining wall lines constituting the continuous wall and blocks of objects arranged in the continuous wall;

[0009] obtaining a geometric entity corresponding to the continuous wall on the drawing and the distribution of objects arranged on the geometric entity according to the wall lines constituting the continuous wall and the blocks of objects arranged in the continuous wall;

[0010] obtaining wall, door and window data of the drawing by identifying the geometric entity and the objects arranged on the geometric entity;

[0011] performing wall creation and door and window creation on the wall to obtain the parametric three-dimensional model.

[0012] According to an aspect of the embodiments of the present application, a computer device is disclosed, comprising a memory, a processor and a computer program stored in the memory, the processor executes the computer program to implement the steps of the method as described above.

[0013] According to an aspect of the embodiments of the present application, a computer program product is disclosed, comprising a computer program, the computer program is executed by a processor to implement the steps of the method as described above.

[0014] According to an aspect of the embodiments of the present application, a computer readable storage medium is disclosed, having a computer program stored thereon, the program is executed by a processor to implement the steps of the method as described above.

[0015] In the embodiments of the present application, for a given drawing, firstly, a geometric data composite space index structure of graph elements is constructed, then a continuous wall search is performed in the geometric data composite space index structure according to a wall line list to be searched which is composed of graph element identifications attributed to wall lines in the drawing, so as to obtain wall lines constituting a continuous wall and graph blocks of objects arranged in the continuous wall, the geometric entity corresponding to the continuous wall on the drawing and the distribution of objects arranged on the geometric entity are obtained from the wall lines constituting the continuous wall and the graph blocks of objects arranged in the continuous wall, and then the wall, door and window data of the drawing is obtained by identifying the geometric entity and the objects arranged on the geometric entity, which is obtained by recognizing the drawing without manual operation, and a large amount of complete building information dispersed in the drawing is obtained, and finally, the wall creation and the door and window creation on the wall are performed based on the complete building information, i.e. the wall, door and window data, to obtain a parametric three-dimensional model, and the conversion from the drawing to the parametric three-dimensional model is automatically realized in a high efficiency and high precision without manual intervention, and the fast automatic modeling of the drawing is provided for the building design and engineering.

[0016] Other features and advantages of the present application will become apparent from the following detailed description, or will be learned by practice of the present application.

[0017] It should be understood that the general description above and the following detailed description are only exemplary and are not limiting on the present application. BRIEF DESCRIPTION OF DRAWINGS

[0018] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:

[0019] Figure 1 A flow chart of a fast automatic modeling method based on building information according to an embodiment of the present application is shown.

[0020] Figure 2 is according to Figure 1Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0021] Figure 3 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment. Figure 2 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0022] Figure 4 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment. Figure 2 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0023] Figure 5 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0024] Figure 6 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment. Figure 1 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0025] Figure 7 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment. Figure 1 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0026] Figure 8 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0027] Figure 9 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0028] Figure 10 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment. Figure 9 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0029] Figure 11 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0030] Figure 12 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment.

[0031] Figure 13 Method flow chart of the step of constructing the geometric data composite space index structure of the drawing carrying the building information according to the corresponding embodiment. Figure 12Figure 1 is a schematic diagram of the end points of the wall line calculated.

[0032] Figure 14 Figure 2 is a schematic diagram of the end points of the wall center line calculated. Figure 13

[0033] Figure 15 Figure 3 is a schematic diagram of the distribution of the feature points collected for a single door block in an example.

[0034] Figure 16 Figure 4 is a schematic diagram of the distribution of the feature points collected for a double door block in an example.

[0035] Figure 17 Figure 5 is a schematic diagram of the creation of a wall model in an example.

[0036] Figure 18 Figure 6 is a schematic diagram of the creation of a door in the wall in the corresponding example. Figure 17

[0037] Figure 19 Figure 7 is a schematic diagram of the creation of a window in the wall in the corresponding example. Figure 17

[0038] Figure 20 Figure 8 is a schematic diagram of the creation of the resulting parametric three- dimensional model in the corresponding example. Figure 17 DETAILED DESCRIPTION

[0039] Example implementations are now described with reference to the drawings; however, these implementations are merely examples of implementations and are not intended to limit the scope of what is described herein. Rather, the scope of what is described herein is to be given by the appended claims and their equivalents. Furthermore, description made herein in connection with a described example implementation can also hold true for other, similar, or even different implementations. In other words, claims should not be viewed as being limited to the described examples merely because the examples include features that are not described in one or more other examples.

[0040] In addition, well-known structures, methods, implementations, or operations are not necessarily described in detail in order to avoid obscuring the aspects of examples described herein. The descriptions are not meant to be taken in a limiting sense as well. For example, features or aspects described herein can be used in a wide variety of implementations and with a wide variety of other features or aspects. Thus, the examples described herein are merely examples and are not intended to limit the scope of what is described herein.

[0041] ​​​​Some of the block diagrams shown in the drawings are functional entities, which do not necessarily have to correspond to physically or logically independent entities. These functional entities can be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0042] The embodiment of the present application provides rapid automatic modeling based on BIM (Building Information Model, building information model), and thus can implement efficient and accurate three-dimensional modeling for a large number of drawings.

[0043] The embodiment of the present application can provide automatic modeling for a large number of drawings for a user through deployment of a rapid automatic modeling client, and through cooperation of the rapid automatic modeling client and the recognition server, the rapid automatic modeling client can provide automatic modeling services for the user.

[0044] Reference is made to Figure 1 , Figure 1 A flowchart of a rapid automatic modeling method based on building information is shown according to an embodiment of the present application. The embodiment of the present application provides a rapid automatic modeling method based on building information, which comprises the following steps:

[0045] In step S110, a geometric data composite space index structure of a graph element is constructed based on a drawing carrying building information, the drawing generates a parameterized three-dimensional model according to the building information.

[0046] In step S120, a continuous wall search is performed in the geometric data composite space index structure according to a to-be-searched wall line list formed by graph element identification belonging to wall lines in the drawing, and wall lines constituting a continuous wall and graph blocks of objects arranged in the continuous wall are obtained.

[0047] In step S130, a geometric entity corresponding to the continuous wall on the drawing and distribution of objects arranged on the geometric entity are obtained according to the wall lines constituting the continuous wall and the graph blocks of objects arranged in the continuous wall.

[0048] In step S140, wall door and window data of the drawing are obtained by recognizing the geometric entity and the objects arranged on the geometric entity.

[0049] In step S150, wall creation and door and window creation on the wall are performed through the wall door and window data, and a parameterized three-dimensional model is obtained.

[0050] The steps are described in detail as follows.

[0051] For example, a drawing depicts walls and objects such as doors and windows distributed in a building in a two-dimensional form, and a series of drawings depict the whole building. The drawings contain a large amount of information related to the design, construction and function of the building, such as not only geometric shapes and spatial layout, but also materials, construction methods, spatial functions, dimensioning and other building information.

[0052] Further classification, drawings carry building information, including wall information, door and window information, etc. According to the building information carried, the attribution information of each graphic element on the drawing is obtained, and then the attribution information is used to determine the graphic elements belonging to the wall line on the drawing.

[0053] Since the drawing carries building information, the geometric data of each wall line can be obtained from the wall information in the building information, and by analogy, the geometric data belonging to the door and / or window can also be obtained from the door and window information in the building information, so that it is not necessary to obtain it by manual operation, greatly reducing or even shielding human intervention.

[0054] In step S110, for a drawing, such as the aforementioned two-dimensional drawing, building information is scattered on the drawing, and the drawing needs to be analyzed to obtain the building information in the drawing. Specifically, the building information obtained by analysis includes the geometric data of the graphic elements distributed on the drawing and the attribution information of the graphic elements, that is, the graphic element and even the attribute extraction of the graphic element of the drawing is performed.

[0055] With the graphic element extraction performed by the drawing analysis, all geometric data will be extracted from the drawing, which is used to represent the walls, doors and windows of the building, and the distribution of each graphic element on the drawing can be obtained through the geometric data, such as the two-dimensional geometric range and key point position of the graphic element indicated by the geometric data.

[0056] The layer information contained in the building information in the drawing, such as "Walls", "Doors", "Windows", etc., as layer information, identifies the classification of the attribution of the graphic elements, such as the graphic elements on the layer belong to wall lines, doors, windows, etc.

[0057] Therefore, by performing drawing analysis, the geometric data of the graphic elements distributed on the drawing and the attribution information can be obtained.

[0058] In another embodiment, the drawing may not be normatively compiled, and the graphic elements distributed on the drawing are not completely attributed to the corresponding layer according to the category, for example, the graphic elements of a wall line are not set on the wall line layer in the drawing, but in other layers. At this time, the attribute extraction of the graphic elements needs to be performed in the drawing analysis process, rather than relying only on the layer information contained in the building information to obtain the attribution information of the graphic elements.

[0059] Specifically, the performed primitive attribute extraction is semantic information extraction of the primitives, and then the type of the primitives is determined according to the semantic information of the primitives to obtain the ownership information.

[0060] The semantic information includes annotation, line shape, size, material and the like, which are supplemented into the drawing analysis process to assist the operation of obtaining the ownership information of the primitives based on the layer information, so as to guarantee the accuracy and comprehensiveness of the obtained ownership information of the primitives, and avoid the confusion or even the loss of the obtained ownership information of the primitives.

[0061] After the geometric data and the ownership information of the primitives obtained by analyzing the drawing, the geometric data composite space index structure for storing the geometric data of the primitives can be constructed, and the obtained ownership information is used to generate a to-be-searched wall line list from the primitives obtained by analyzing the drawing, so that efficient search can be implemented in the geometric data composite space index structure according to the to-be-searched wall line list.

[0062] The geometric data composite space index structure is constructed based on the characteristics of the drawing and is adapted to the geometric data of the drawing. The geometric data composite space index structure realizes the structured storage of the geometric data of the analyzed primitives and the efficient search of the analyzed geometric data.

[0063] It should be clear that the geometric data composite space index structure is constructed for automatic and rapid modeling of each drawing. That is, one drawing can correspond to one geometric data composite space index structure, so as to guarantee the ordered storage and efficient search of the data of the drawing, and then the rapid modeling of the drawing can be realized.

[0064] Exemplarily, the geometric data composite space index structure is tree-shaped and includes a plurality of nodes, and the geometric data is stored through the tree-shaped distributed nodes. That is, the geometric data composite space index structure is used to insert the geometric data into the nodes with the primitive identifier as the index. In an exemplary embodiment, the geometric data composite space index structure includes two space index structures, in other words, the two space index structures are adapted to the two-dimensional geometric range and the key point position information corresponding to the primitives in the geometric data.

[0065] As described above, the geometric data of the primitives includes two-dimensional geometric range and key point position information, and the two space index structures included in the geometric data composite space index structure are R-tree and KD-tree, respectively. The two-dimensional geometric range is inserted into the nodes of the R-tree with the primitive identifier as the index. Since the R-tree supports hierarchical storage of rectangular regions, and most of the two-dimensional geometric ranges are rectangular regions, the efficient query search of the geometric data in the drawing can be realized under the support of the R-tree.

[0066] Further, by inserting the key point position information into the node of the KD tree with the graphic element identifier as the index, the KD tree suitable for two-dimensional spatial data is used to realize the query search of the key point position information.

[0067] In summary, two spatial index structures are constructed as the composite spatial index structure of the geometric data according to the characteristics of various types of data in the geometric data, and the data ordered storage is realized while the efficiency of the subsequent query search is ensured.

[0068] Further, the two-dimensional geometric range defined by the graphic element can be obtained by calculating the outer box of the graphic element. The outer box is the minimum rectangular bounding box of the graphic element in the two-dimensional space, and specifically, the outer box can be an axis-aligned outer box. Thus, the minimum matrix bounding box of the graphic element in the two-dimensional space will serve as the two-dimensional geometric range defined by the graphic element, and the two-dimensional geometric range and the graphic element identifier of each graphic element are inserted into the R-tree as a node of the R-tree, thereby realizing the hierarchical storage of the geometric data in the drawing and efficiently supporting the query search.

[0069] It should be understood that the two-dimensional geometric range of the graphic element obtained by analyzing the drawing can be a straight line, an arc, a polyline, a spline, etc., and the spatial relationship between the graphic elements can be quickly determined under the action of the two-dimensional geometric range. In combination with the R-tree suitable for storing and searching this type of data, the storage is optimized, the data search performance in the modeling process is enhanced, the lightweight modeling is ensured, and the timeliness is enhanced.

[0070] The composite spatial index structure of the geometric data is not due to the complexity of the geometric data, but due to the construction of two spatial index structures according to the characteristics of the geometric data, thereby achieving fast query search of the graphic elements.

[0071] The key point position information of the graphic element and the two-dimensional geometric range are both part of the geometric data obtained by analyzing the drawing, but they are optimally processed according to their respective characteristics under the action of the composite spatial index structure of the geometric data. For example, the key point position information of the graphic element can exist in the form of point coordinates, such as the starting point coordinates and the ending point coordinates of the graphic element corresponding to a straight line, an arc, a polyline, a spline, etc.

[0072] The construction of the KD tree is based on point coordinates, and for all graphic elements, the point coordinates of the geometric data are taken as the key point position information of the graphic element, such as the starting point coordinates and the ending point coordinates mentioned above, and then the graphic element identifier is inserted into the KD tree. In the drawing, the graphic element is obtained by decomposing the graphic block, and thus the execution process of analyzing the drawing essentially includes decomposing the graphic block in the drawing, obtaining the decomposed graphic element and the key point position information of the graphic element, and then constructing the corresponding spatial index structure.

[0073] In the geometric data, whether the key point position information or the two-dimensional geometric range, is the characterization and description of the corresponding graphic element. The two-dimensional geometric range limits the graphic element in space, and the key point position information represents the key points of the graphic element, such as the starting point coordinates and the ending point coordinates as mentioned above. Therefore, analyzing the drawing to obtain the two-dimensional geometric information, the key point position information, and even the attribution information, from various dimensions, characterizes and describes the corresponding graphic element, thereby greatly improving the accuracy of subsequent model construction.

[0074] The R-tree and KD-tree two spatial index structures cooperate to realize the storage of geometric data of graphic elements in the drawing, which can significantly improve the query search efficiency of geometric data, improve the accuracy of spatial relationship judgment, and be applicable to batch modeling under large-scale drawings in subsequent building information modeling (BIM) and automatic modeling.

[0075] Please refer to Figure 2 , Figure 2 According to Figure 1 The method flowchart of constructing the geometric data composite spatial index structure of the graphic element of the drawing carrying the building information is shown according to the corresponding embodiment.

[0076] The embodiment of the present application provides the step S110 of constructing the geometric data composite spatial index structure of the graphic element of the drawing carrying the building information, comprising:

[0077] Step S111, performing drawing analysis to obtain the geometric data of the distributed graphic element and the attribution information of the graphic element;

[0078] Step S112, generating a spatial index for the geometric data of the graphic element, so that the corresponding graphic element identifier is respectively constructed with the two-dimensional geometric range and the key point position information in the geometric data which limit the graphic element.

[0079] The two steps are described in detail below.

[0080] The drawing carrying the building information is analyzed, and the geometric data and the attribution information of the graphic element distributed in the drawing are extracted from the drawing. The attribution information indicates the classification, i.e., the type, of the attribution of the graphic element, in other words, according to the attribution information, it can be known that the corresponding graphic element is a wall line or a door and window.

[0081] The geometric information of the graphic element at least includes the two-dimensional geometric range and the key point position information, so that the spatial index structure can be constructed based on the two-dimensional geometric range and the key point position information.

[0082] In one example embodiment, the two spatial index structures include an R-tree and a KD-tree, wherein the R-tree creates nodes with primitive identification and corresponding two-dimensional geometric range, and the KD-tree creates nodes with primitive identification and corresponding key point position information.

[0083] In one example embodiment, the key point position is the start point coordinate and the end point coordinate of the corresponding primitive.

[0084] Also refer to Figure 3 , Figure 3 is to Figure 2 The corresponding embodiment shows the generation of spatial index for the geometric data of the primitives, so that the corresponding primitive identification is respectively constructed with the two-dimensional geometric range defined for the primitives in the geometric data and the key point position information to form two spatial index structure steps.

[0085] The spatial index structure is an R-tree, and the embodiment of the present application provides the generation of spatial index for the geometric data of the primitives, so that the corresponding primitive identification is respectively constructed with the two-dimensional geometric range defined for the primitives in the geometric data and the key point position information to form two spatial index structure steps S112, which includes:

[0086] Step S1121a, calculating the two-dimensional geometric range defined by each primitive;

[0087] Step S1122a, creating an R-tree, and inserting the corresponding primitive identification and the two-dimensional geometric range of each primitive into the nodes of the R-tree one by one to construct an R-tree that maps the two-dimensional geometric range defined by the primitives in the drawing.

[0088] The two steps are described in detail below.

[0089] For example, the two-dimensional geometric range of the primitive can be defined by the minimum coordinate and the maximum coordinate of the primitive to represent the spatial range of the primitive in the two-dimensional space. For the primitive, the two-dimensional geometric range can be determined by the coordinate values of its vertices, and the two-dimensional geometric range gives the boundary of the primitive.

[0090] The two-dimensional geometric range calculation performed is adapted to the type to which the primitive belongs. For example, for a wall line formed by a line segment, the axis-aligned bounding box mapped by the two end points thereof contains all the spatial range of the wall line, and thus can be used as the two-dimensional geometric range.

[0091] For a wall line formed by a polyline, all the spatial range defined by the entire polyline needs to be used as the two-dimensional geometric range; and for an arc, the two-dimensional geometric range thereof can be calculated by the start and end angles of the arc.

[0092] The two-dimensional geometric range calculation for each graphic element provides a basis for the construction of a spatial index of the graphic element, and the two-dimensional geometric range calculation is used as a core step of geometric data processing, which can be used to create an efficient spatial index structure for the graphic element when processing large-scale architectural data, thereby supporting fast query search and ultimately accelerating automatic modeling of buildings.

[0093] For each drawing, an R-tree is created, and the two-dimensional geometric range corresponding to each graphic element is inserted into the R-tree one by one, so that the graphic element identifier and the two-dimensional geometric range of each graphic element are stored on a node of the R-tree. In this way, the two-dimensional geometric range of all graphic elements on the drawing is placed on the R-tree, and finally an R-tree that maps the two-dimensional geometric range defined by the graphic elements in the drawing is obtained.

[0094] Please also refer to Figure 4 , Figure 4 is to Figure 2 The corresponding embodiment shows the method of generating a spatial index of the geometric data of the graphic element, which includes two steps of constructing a spatial index structure of the graphic element identifier and the two-dimensional geometric range and the key point position information defined by the graphic element in the geometric data.

[0095] The spatial index structure is a KD-tree, and the method of generating a spatial index of the geometric data of the graphic element provided by the embodiment includes two steps S122 of constructing a spatial index structure of the graphic element identifier and the two-dimensional geometric range and the key point position information defined by the graphic element in the geometric data.

[0096] Step S1221b: taking the start point coordinates and the end point coordinates of each graphic element as the key point position information of the graphic element;

[0097] Step S1222b: creating a KD-tree, and inserting the graphic element identifier and the key point position information of each graphic element into the node of the KD-tree one by one, to construct a KD-tree that maps the key point position information of the graphic element in the drawing.

[0098] The two steps will be described in detail below.

[0099] As described above, the construction of the geometric data composite spatial index structure includes the construction of the R-tree for the two-dimensional geometric range and the construction of the KD-tree for the key point position information. The R-tree is used to perform a query of the objects set by the continuous wall, including but not limited to doors and / or windows, and the KD-tree is used to perform a search for the next wall line in the continuous wall search.

[0100] That is, through the cooperation of the R-tree and the KD-tree, the continuous wall search in the drawing and the search for the graphic block corresponding to the door and the window on the continuous wall are realized, so that each component on the building is quickly and accurately obtained, and then precise and fast automatic modeling is implemented.

[0101] With the execution of step S110, the corresponding geometric data composite space index structure is constructed for the drawing, and then the search for the continuous wall and the objects arranged on the continuous wall is performed on the geometric data composite space index structure through the execution of step S120.

[0102] Step S110 realizes the dataization of the drawing, and step S120 realizes the query search for the constructed dataized drawing, such as the wall and the various objects on the wall, such as doors and windows.

[0103] In step S120, the search for the continuous wall is performed on the KD tree. The KD tree searches for the next wall line for the current wall line through the key point positions stored on the nodes by the graph elements, until the search for the current continuous wall is completed.

[0104] In the search for the next wall line, if there is no next wall line, the search for the graph block intersected by the current wall line is performed through the R tree.

[0105] Thus, the search for the continuous wall and the door and window graph blocks on the continuous wall is performed through the R tree and the KD tree, so that the automatic modeling is significantly improved in the wall modeling efficiency and accuracy, and the consumption of computer resources is reduced.

[0106] In the drawing, the wall is one of the most basic and most widely covered elements, and the door and window are important components on the wall. Efficient and accurate identification of the continuous wall (i.e., a series of adjacent and connected wall lines) and the door and window thereon helps to quickly generate a model.

[0107] For example, the search for the continuous wall facing the drawing is performed according to the wall line list to be searched. The search for the continuous wall is performed according to the wall line list to be searched, so as to efficiently identify a group of continuous and connected walls.

[0108] The wall line list to be searched contains all the wall lines in the drawing. These wall lines can have different shapes and sizes in geometry, for example, they can be straight lines, curved lines or multi-segment lines, and each wall line has a unique graph element identifier. Therefore, in an example embodiment, the wall line list to be searched will be marked in the form of a graph element identifier in the drawing, which is the wall line to be searched for the current modeling. In other words, the wall to be searched is placed in the form of its corresponding graph element identifier in the search list during the process of implementing the continuous wall search, so as to complete the data preparation for the continuous wall search to be performed.

[0109] Thus, before the execution of the continuous wall search, the generation process of the wall line list to be searched will also be performed.

[0110] Also refer to Figure 5 , Figure 5is a flow chart of a fast automatic modeling method based on building information according to another exemplary embodiment.

[0111] The fast automatic modeling method based on building information provided by the embodiment of the present application further comprises the following steps before step S120 is executed:

[0112] In step S210, the attribution information of the graphic elements in the drawing is identified, and the graphic element identification attributed to the wall line is determined in the geometric data composite space index structure.

[0113] In step S220, a wall line list to be searched is generated with all the graphic element identifications corresponding to the wall line, and the wall line list to be searched indicates the wall lines existing in the drawing.

[0114] The two steps are described in detail below.

[0115] As described above, the attribution information of each graphic element in the drawing is identified according to the layer information output by the analysis of the drawing in step S210 or the semantic information extracted from the graphic element, that is, the attribution information is obtained.

[0116] The attribution information of the graphic element indicates whether the graphic element is attributed to the wall line or other components in the drawing, such as the graphic element attributed to the door or window. According to the attribution information of the graphic element, all the wall lines in the drawing are formed into the wall line list to be searched with the graphic element identification, and the wall line list to be searched is used to determine the graphic element identification attributed to the wall line and the corresponding geometric data in the geometric data composite space index structure. In summary, the attribution information of the graphic element is used to indicate the entity type of the object corresponding to the graphic element, and the entity type includes the wall, the door and the window.

[0117] The geometric data composite space index structure contains the geometric data of all the graphic elements in the drawing, not limited to the graphic elements attributed to the wall line. Therefore, after the attribution information of the graphic element is obtained, the node attributed to the wall line and the graphic element identification above the node in the geometric data composite space index structure can be located via the attribution information, and then the wall line list to be searched is formed.

[0118] The wall line list to be searched is used to build the corresponding graphic elements of the wall line in the geometric data composite space index structure into the table, so that the geometric data composite space index structure can orderly search the several continuous walls of the drawing under the cooperation control of the wall line list to be searched, that is, the wall line list to be searched is used to determine the current wall line and the next wall line to be searched for the execution of the continuous wall search, so as to guarantee the search of the current continuous wall and the search of the next continuous wall.

[0119] Therefore, in the execution of step S120, the search of the wall line in the continuous wall and the search of the graphic block of the object such as the door and the window in the current continuous wall are implemented according to the wall line list to be searched formed by the graphic element identification attributed to the wall line in the drawing.

[0120] With the search going on, the corresponding primitive identifier is removed from the list of wall lines to be searched, i.e. the wall line is removed from the list of wall lines to be searched, so that the search of the wall line is no longer performed.

[0121] In this way, after the search of a continuous wall is completed, the first wall line in the next continuous wall search is determined through the list of wall lines to be searched, which is then taken as the current wall to perform the search of the next continuous wall, until the list of wall lines to be searched is empty, and the search of all continuous walls in the drawing is completed.

[0122] At this point, it can be clearly seen that, under the action of the list of wall lines to be searched, the comprehensiveness of the continuous wall search of the drawing is also ensured, and the omission of wall lines and other objects is avoided.

[0123] Also see Figure 6 , Figure 6 is according to Figure 1 The steps of the process for searching continuous walls according to the list of wall lines to be searched formed according to the primitive identifiers belonging to wall filaments in a drawing in a geometric data composite space index structure to obtain wall lines constituting continuous walls and tiles of objects arranged in continuous walls are described in a flowchart.

[0124] The steps S120 of searching continuous walls according to the list of wall lines to be searched formed according to the primitive identifiers belonging to wall filaments in a drawing in a geometric data composite space index structure to obtain wall lines constituting continuous walls and tiles of objects arranged in continuous walls provided by the embodiments of the present application include:

[0125] Step S121: taking the first wall line in the list of wall lines to be searched as the current wall line, and listing the wall line in the list of wall lines to be searched;

[0126] Step S122: searching for a continuous wall in the geometric data composite space index structure to query a next wall line connected to the first and last wall lines of the current wall line;

[0127] Step S123: if there is no next wall line, querying a tile intersecting the current wall line;

[0128] Step S124: if a next wall line is obtained, continuing the search of the continuous wall with the wall line as the current wall line, and removing the wall line from the list of wall lines to be searched;

[0129] Step S125: after the search of the current continuous wall is completed, continuing the search of other continuous walls until the list of wall lines to be searched is empty.

[0130] The steps are described in detail below.

[0131] It should be first pointed out that the continuous wall search performed can take any one wall line on the drawing as the first wall line, obtain the corresponding geometric data in the geometric data composite space index structure, and perform a query search for the next wall line which is connected to the first wall line.

[0132] In addition, the first wall line in the wall line list to be searched can also be directly taken as the current wall line to initiate the current continuous wall search. Specifically, the geometric data of the wall line is obtained, and a query search for the next wall line is initiated, so as to simplify the algorithm logic, reduce the complexity of the algorithm, and improve the execution efficiency.

[0133] Thus, in the execution of step S121, the first wall line in the wall line list to be searched is taken to initiate the current continuous wall search. When the first wall line is taken as the current wall line, the wall line is removed from the wall line list to be searched, so that the query search for the wall line is no longer performed.

[0134] In the continuous wall search, the next wall line connected to the current wall line is searched in the execution process of the geometric data composite space index structure. If there is no next wall line connected to the current wall line, the block intersecting with the current wall line is searched.

[0135] That is, in the search of the continuous wall, the next wall line is searched first, and if there is no next wall line, the block such as a door or a window is searched.

[0136] For example, the search for the next wall line is implemented by using the key point position information, that is, the key point position information of the current wall line and the key point position information of the next wall line can confirm whether the searched wall line is connected to the current wall line.

[0137] As described above, for the primitives belonging to the wall line, the key point position information includes the start point coordinate and the end point coordinate, so that whether the two wall lines are connected can be determined based on the end point coordinate of the current wall line and the start point coordinate of the searched wall line.

[0138] In an example embodiment, the key point position information of the primitive is stored in the KD tree in the geometric data composite space index structure, so that the query search for the next wall line is performed in the KD tree in the geometric data composite space index structure.

[0139] Specifically, whether the start point coordinate stored in each node corresponding to the wall line in the KD tree in the geometric data composite space index structure is the same as the end point coordinate of the current wall line and the wall line is collinear with the current wall line is determined, so that the wall line is obtained as the next wall line.

[0140] When the current wall line fails to successfully search the next wall line in the KD tree, the search jumps to the tile corresponding to the door or window, i.e. the search of the tile corresponding to the door or window. If a tile intersects the current wall line, it means that the tile is an object, such as a door or window, arranged on the continuous wall where the current wall line is located.

[0141] The tile intersecting the current wall line needs to be determined by the two-dimensional geometric range in the geometric data. Whether the two-dimensional geometric range of the current wall line intersects the two-dimensional geometric range of other primitives is determined. If the two-dimensional geometric range of the current wall line intersects the two-dimensional geometric range of other primitives, it is determined that the tile where the primitive is located is an object, such as a door or window, arranged on the continuous wall where the current wall line is located.

[0142] The two-dimensional geometric range of the primitive is stored in the R-tree in the geometric data composite space index structure. Therefore, the query of the tile intersecting the current wall line is performed in the R-tree in the geometric data composite space index structure.

[0143] Specifically, for the tile of other objects in the R-tree wall line in the geometric data composite space index structure, the tile intersecting the current wall line is queried according to the two-dimensional geometric range defined by the contained primitive. If the tile intersecting the current wall line is obtained, the wall line query of the R-tree is performed. According to whether the next wall line is obtained in the wall line query of the R-tree, the query of the tile of other objects or the obtaining of the next wall line is iteratively performed.

[0144] By searching the door and window tiles intersecting or contacting the wall line in the R-tree, it can be determined which doors and windows belong to the part of the continuous wall.

[0145] For each continuous wall line, all door and window tiles intersecting the wall line are found by the query of the R-tree. The two-dimensional geometric range of each door and window tile can be tested for intersection with the two-dimensional geometric range of the wall line, so as to determine whether it is within the two-dimensional geometric range of the current wall line. If it is within the two-dimensional geometric range of the current wall line, it is determined that the intersection exists.

[0146] In addition, in other exemplary embodiments, the tile, i.e. the door and window tile, close to the current wall line can also be found by the proximity search, so as to adapt to the more complex architectural design, in which the door and window can not be directly located within the two-dimensional geometric range of the wall line.

[0147] Thus, by the cooperation of the R-tree and the KD-tree, the query efficiency of the wall line and the door and window can be greatly improved by the use of the R-tree and the KD-tree, especially in the context of large-scale architectural drawings or complex structures, avoiding the inefficient way of checking all primitives one by one.

[0148] By the intersection and proximity query of the R-tree, the range of the continuous wall can be automatically identified, avoiding the complexity of manual division, and achieving the automatic identification of the continuous wall.

[0149] Through the implementation of continuous wall search, the spatial relationship between wall line and door and window can be accurately identified, and the generated model can accurately reflect the drawing, and the door and window blocks can be accurately positioned on the continuous wall, ensuring the consistency of the position and size of the door and window in the modeling process. Even in multi-story buildings and buildings with complex geometric shapes, it still has very good performance.

[0150] For large-scale drawings of large building projects, the continuous wall search implemented by the present application can efficiently process very large drawing data, improving the modeling capability on the basis of improving the system processing speed and response capability.

[0151] With the execution of step S120, the search of the continuous wall on the drawing and the search of the wall line, door and window in the continuous wall are completed, and the corresponding blocks set based on the wall line and the continuous wall are reconstructed through step S130 to reconstruct the geometric entity and the distribution of the objects on the geometric entity.

[0152] That is, in the execution of step S130, the continuous wall corresponding to the geometric entity is reconstructed based on the searched wall line, and the distribution of the objects on the reconstructed continuous wall is set according to the blocks intersecting with the wall line, that is, the setting of the objects such as doors and / or windows on the continuous wall, thereby realizing the digitization of the drawing.

[0153] In an exemplary embodiment, the execution of step S120 includes reconstructing the geometric entity corresponding to the continuous wall in the drawing according to the wall line, and reconstructing the door and / or window on the continuous wall according to the blocks of the set objects.

[0154] Exemplarily, for step S120, the corresponding geometric entity and its attached objects can be constructed from the searched continuous wall and the objects such as doors and windows on the wall (i.e. the searched blocks), and the automatic generation of the parametric three-dimensional model is completed.

[0155] Here, for the continuous wall, the corresponding geometric data will be involved. First, the geometric merging of the wall line is performed, that is, the wall lines (straight lines, curves, etc.) belonging to the same continuous wall are merged in order to form the contour polygon or path of the wall. The connection continuity and direction consistency of the wall line are ensured by the end point alignment.

[0156] Then the blocks are analyzed, which are used to represent doors, windows, openings or decorations on the wall. Each block has corresponding geometric data, based on which the center point, direction angle and position relationship of the block relative to the wall line are obtained, so as to set it on the wall based on this.

[0157] Through the reconstruction of the geometric entity and the object attached thereto, the geometric entity and the object arranged thereon are obtained in two-dimensional space, and further, the identification of the geometric entity and the object arranged thereon is performed through the execution of step S140, and the wall door and window data of the drawing is obtained.

[0158] In step S140, the geometric entity corresponding to the continuous wall is repeatedly obtained, the wall width thereof is extracted, and the material, layer, etc. are obtained from the building information carried by the drawing, so as to construct the wall door and window data of the continuous wall. The parameters provided by the wall door and window data will be used as the basis for generating the model subsequently.

[0159] For the objects such as doors, windows, openings, and decorations attached to the continuous wall, the feature point extraction and matching are performed through the reconstruction of the objects on the geometric entity, so as to realize the identification of the objects and obtain the wall door and window data of the objects attached to the continuous wall.

[0160] Therefore, in summary, please refer to Figure 7 , Figure 7 According to Figure 1 The method flowchart for identifying the geometric entity and the object arranged thereon to obtain the wall door and window data of the drawing is shown in the following table.

[0161] The step S140 for identifying the geometric entity and the object arranged thereon to obtain the wall door and window data of the drawing provided by the embodiment of the present application comprises:

[0162] In step S141, the center line of the wall and the wall width are calculated for the geometric entity corresponding to the continuous wall, and the identification result of the continuous wall is obtained.

[0163] In step S142, the position, width, type, and opening direction of the object distributed on the identified continuous wall are generated, and the identification result of the object is obtained.

[0164] In step S143, the wall door and window data of the drawing is constructed based on the identification result of the continuous wall and the object thereon.

[0165] For example, in order to identify the structure, firstly, for the door and window, the feature point extraction is performed on the constructed object, such as sampling the existing straight line, multi-segment line, even curve, and block, so as to obtain the feature point set corresponding to each object. After the normalization processing, the matching is performed with the built-in data set, so as to confirm the attributes such as the type and opening direction of the corresponding door and window.

[0166] The built-in data set comprises the collected built-in door and window feature point data set. For example, the feature point collection is performed on each type of door and window block such as single-door block and double-door block, so as to be used as a data and identify the type and opening direction of the door and window, and stored in the built-in data set, so as to be used for door and window matching.

[0167] In the feature point extraction on the object, the straight line sampling is the execution process of obtaining the start point and the midpoint of the straight line; the multi-segment line sampling is the execution process of obtaining all control points of the multi-segment line; the sampling of the quadratic and multi-order curves is the execution process of multi-point uniform sampling; and the sampling of the block is the execution process of decomposing the block, extracting the decomposed straight line, multi-segment line or curve, and then sampling.

[0168] After obtaining the feature points, normalization processing is needed to adapt to the built-in data set, and then the matching process of calculating the sum of squares is performed to calculate the sum of squares of each item, obtain the item with the smallest sum of squares as the highest matching belief result, and then obtain the corresponding attribute to complete the recognition of the constructed geometric entity and the attached object thereon, and obtain the recognition result. The obtained recognition structure constitutes the door, wall and window data of the drawing.

[0169] For example, in order to ensure the lightweight of the rapid automatic modeling, the execution process as described above can be implemented by deploying the recognition server, and each rapid automatic modeling client obtains the recognition result, i.e. the wall, door and window data, through interaction with the recognition server, and then directly creates the corresponding parameterized three-dimensional model.

[0170] In step S150, under the action of the wall, door and window data, the modeling of the wall and the attached door, window and even decoration on the wall is performed to obtain the parameterized three-dimensional model corresponding to the drawing.

[0171] The parameterized three-dimensional model is a three-dimensional model obtained by implementing parameterized modeling on the drawing, and a three-dimensional model that can be described by a mathematical expression is obtained. It should be clear that, for the modeling process, the obtained parameterized three-dimensional model has a geometric shape controlled by parameters, i.e. the wall, door and window data as described above, and its attribute is bound to the geometric shape, which is logically constrained by the parameterized model.

[0172] Further, in the execution of step S150, the wall is created by the wall data in the wall, door and window data, the door is created on the wall according to the door data in the wall, door and window data, and the window is created on the wall according to the window data in the wall, door and window data, to obtain the parameterized three-dimensional model corresponding to the drawing.

[0173] In step S150, a parameterized three-dimensional wall model is first constructed based on the wall, door and window data of the wall. For example, the recognition result, i.e. the obtained wall, door and window data, contains wall data, which indicates the start point coordinates and the end point coordinates of the wall, and the wall width directly creates the wall, and the corresponding wall height can be the floor height.

[0174] Then, the creation of the attached components on the wall, such as doors, windows, decorations, etc. is performed, such as creating doors and then creating windows, to obtain the overall model.

[0175] Specifically, the recognition result, i.e. the obtained wall-door-window data, contains door data, which includes the wall body to which the door belongs, the door center coordinates, the type, the width and the opening direction, etc. Thus, a door can be directly created on the wall body according to the door center coordinates and the width, and the style of the door can be set according to the type and the opening direction.

[0176] The obtained wall-door-window data also contains window data, which includes the wall body to which the window belongs, the window center coordinates, the type, the width and the opening direction. Thus, a window can be directly created on the wall body according to the window center coordinates and the width, and the type and the opening direction of the window can be set.

[0177] By analogy, the creation of the overall model corresponding to the drawing is finally realized to obtain the parametric three-dimensional model.

[0178] It should be understood that, in a specific implementation, the step S150 will be implemented through the deployed rapid modeling client, so as to realize the lightweight rapid modeling terminal and one-key wall generation. It is no longer necessary to manually draw walls and components on the walls one by one. Only the drawing of the architectural plane is input, and a complete three-dimensional model can be generated through the wall line and related parameters at one time, completely avoiding human error in the modeling process and ensuring the consistency of the constructed model and the drawing.

[0179] Through the embodiments of the present application, the parametric three-dimensional model is generated from the drawing at one key, and then the personalized model can be quickly adjusted in the subsequent process, supporting dynamic updating of the model. Thus, the constructed model can be linked with the design changes on the drawing and dynamically updated to adapt to the design changes made on the drawing.

[0180] In the applicable scene level, through the implementation of the embodiments of the present application, the drawing analysis, geometric entity reconstruction and recognition can be supported. For example, the complex wall modeling is not only suitable for straight walls, but also can handle complex shape walls such as curved walls, and the continuous walls can be distinguished and processed under the control of the wall-door-window data, thereby enhancing the model performance.

[0181] The method implementation of the present application will be described below in combination with a specific example. It should be first explained that, when the drawing is triggered for modeling in a rapid automatic modeling client, the construction of the implemented spatial index structure and the search thereon are performed, and the geometric entity reconstruction, the recognition through feature matching and the final pulling of the overall model are performed, so as to achieve rapid automatic modeling with the cooperation of the recognition server.

[0182] Referring to Figure 8 illustrated, Figure 8is a full process of automatic modeling in a specific example. In this example, DWG drawings are taken as input, and parameters such as layer name and wall width range are set in the drawings. The recognition server responds to the modeling initiated by the automatic modeling client for the drawings, and after analysis, the recognition results such as wall edge line, door and window position, size and orientation are obtained, that is, the wall, door and window data are obtained. After the recognition result is serialized and AES encryption is implemented, the automatic modeling client can obtain the encrypted data, and then modeling is performed according to the wall, door and window size parameters obtained by recognition.

[0183] The automatic modeling client is used to input drawings and parameters, such as setting the path of the original DWG drawing file, inputting the DWG drawing to the automatic modeling client, and then uploading to the recognition server to request the recognition server to analyze.

[0184] The necessary parameter input can include the input of the layer name where the wall, door and window are located, the wall width recognition range, etc., which is not limited here. The input parameters are transmitted to the recognition server in JSON format.

[0185] The recognition server performs drawing analysis and initialization. Specifically, the recognition server analyzes the DWG drawing to obtain the geometric data of the drawing primitives, and then constructs a composite spatial index structure of R-tree and KD-tree according to the geometric data of the drawing primitives, that is, the geometric data composite spatial index structure as described above.

[0186] Specifically, for the extracted geometric data, on the one hand, the geometric data composite spatial index structure is constructed, and on the other hand, the drawing primitives and their geometric data are initialized, that is, all geometric data belonging to the wall, door and window and the corresponding drawing primitive identifiers are stored in a hash table, that is, the drawing primitive identifier is taken as the index, and the corresponding geometric data is taken as the value to write into the hash table, so that the corresponding drawing primitive can be quickly obtained through the drawing primitive identifier in the subsequent execution process.

[0187] As for the construction of R-tree and KD-tree, 1) the construction of R-tree is based on two-dimensional geometric range, such as axis-aligned bounding box; for each drawing primitive in the wall, door and window column, its axis-aligned bounding box is calculated, and then the drawing primitive identifier and the axis-aligned bounding box of the drawing primitive are created to insert a node into the R-tree. For example, as shown in the wall edge line and door block in Figure 9 , the axis-aligned bounding box as shown in Figure 10 is calculated for each drawing primitive.

[0188] 2) The construction of KD-tree is based on key point position information such as start point coordinates and end point coordinates. For each drawing primitive in the wall, door and window column, if it is a straight line, an arc, a polyline or a spline, the start point coordinates and the end point coordinates are taken as the key point position information, and the drawing primitive identifier and the key point position information are inserted into the KD-tree.

[0189] If the tile is a graphic tile, the graphic tile is decomposed to obtain decomposed straight lines, arc lines, polyline, spline, and the like, and the graphic elements are inserted into the KD tree based on the graphic element identifier and the key point position information.

[0190] The wall lines in the drawing are generated into a to-be-searched wall line list, so as to realize the implementation of the continuous wall search in the R tree and the KD tree.

[0191] For the continuous wall search, please refer to Figure 11 , Figure 11 is a detailed schematic diagram of a continuous wall execution flow according to an exemplary embodiment.

[0192] In Figure 11 the execution flow shown, a to-be-searched wall line list is first initialized for the search of a continuous wall, and the search of the continuous wall is performed according to the to-be-searched wall line list.

[0193] It should be understood that the search of the continuous wall is the search of at least one continuous wall in the drawing. In the search of each continuous wall, the search of the wall line and the search of the objects arranged on the continuous wall, such as the search of the door graphic element, the window graphic element, and the search of other decorative graphic elements, are performed.

[0194] The searched wall line is recorded as the current continuous wall, and the search of the next wall line is performed with the current wall. Correspondingly, the to-be-searched wall line list is removed from the wall line, as described in steps S450 to S470.

[0195] With the completion of the current continuous wall, the search of the next continuous wall is also performed, and the search of the next continuous wall is initiated by the first wall existing in the current to-be-searched wall line list, as in step S440.

[0196] Further elaborated, in the process of searching the wall line and the door and window, starting from any wall edge line, the KD tree is used to search the next wall line with the head and tail endpoints intersecting and parallel to the line. If it cannot be found, the R tree is used to quickly search the end tile of the wall line, and feature matching is performed on the searched tile to determine whether it is a door or a window. If it is not, the search is ended, and the continuous wall search is completed. If it is a door or a window, the position, size, and orientation of the door and window are calculated and identified, and the next wall line is continuously searched until all wall edge lines are searched.

[0197] That is, when the wall line and the door and window tiles constituting the continuous wall are searched, on the one hand, the door and window tiles are identified by feature matching to obtain the door data and the window data in the wall door and window data.

[0198] And for the searched continuous wall, the wall centerline coordinates and the wall width are calculated through the reconstructed geometric entity.

[0199] Figure 12This is a schematic diagram of the left wall line and the right wall line that have been searched in the example. Figure 12 As shown, among the searched left wall lines 1 and 2 and the right wall line 3, wall line 1 and wall line 2 are collinear but are interrupted by a horizontal wall.

[0200] Figure 13 Yes Figure 12 Schematic diagram of the endpoints obtained by calculating the wall lines. Specifically, calculate the two farthest endpoints A and B on the collinear wall lines 1 and 2, and calculate the two farthest endpoints C and D on the right wall line 3. From this, we can obtain straight line AB and straight line CD. We can calculate the direction of a straight line that is parallel to and equidistant from straight line AB and straight line CD, project the four endpoints A, B, C, and D onto the straight line, and take the two farthest points from the four projected points as the two endpoints of the wall centerline, that is, Figure 14 The endpoints S and E are shown, and the distance between straight lines AB and CD is the wall width.

[0201] for Figure 11 The door and window recognition performed in step S520 , on the one hand, pre-configures the built-in data set, and on the other hand, recognizes the door blocks, window blocks, etc. based on the built-in data set to obtain corresponding door data and window data.

[0202] The configuration of the built-in dataset includes the collection of door and window feature point sets, that is, collecting feature points for single-door blocks, double-door blocks, etc. For example, by collecting door and window blocks from common and commonly used design drawings, the feature points of each type of door and window block are sampled as a piece of data, and the door and window type and opening direction corresponding to the data are identified. The feature data of all types of door and window blocks constitute the door and window feature point dataset.

[0203] For example, Figure 15 The figure shows the distribution of feature points collected for a single door image block in an example; Figure 16 The figure shows the distribution of feature points collected for a double-door image in an example.

[0204] For the blocks obtained from the continuous wall search, feature points will be extracted for door and window matching with the built-in dataset.

[0205] For example, the feature points collected from the door and window graphics to be matched are normalized and matched with the built-in data set. The SSD square difference algorithm is used to calculate the sum of square differences between the feature point data to be matched and each item in the feature point data set. The item with the smallest sum of square differences is the door and window type with the highest matching similarity and the corresponding opening direction.

[0206] At this point, the recognition server completes the processing of the input DWG drawing, and returns the obtained recognition result, i.e., the wall, door and window data, after serialization and encryption, to the rapid automatic modeling client.

[0207] Further, the serialized wall, door and window data includes the following fields in the complete description information: coordinates of the two endpoints of the wall center line, wall width, center position of each door installed on the wall, door width, door type and door opening direction, center position of each window installed on the wall, window width, window type and window opening direction, etc., which are represented and transmitted in the Json format.

[0208] The serialized wall, door and window data is encrypted by AES to prevent third-party developers from illegally calling the interface and using the recognition results. The encrypted content is not readable. The recognition result after AES encryption can only be decrypted and restored by a unique key. The encrypted recognition result obtained by the third-party user without the key has no use value, effectively preventing the abuse of the recognition interface.

[0209] Correspondingly, the rapid automatic modeling client restores the Json content to plaintext after AES decryption of the return value using a unique key. The Json content can be deserialized into a memory object to obtain the properties and parameters of the wall, door and window.

[0210] Therefore, the rapid automatic modeling client can create a model, including but not limited to wall creation, door creation and window creation.

[0211] For wall creation, in the rapid automatic modeling client, the wall data in the obtained recognition result includes the starting point coordinates, the ending point coordinates and the wall width, so the wall model can be directly created based on this. Figure 17 is a schematic diagram of creating a wall model in an example.

[0212] The door data in the recognition result includes the wall to which the door belongs, the door center coordinates, the type, the width and the opening direction. The door is directly created on the wall model based on this, as shown in Figure 18 .

[0213] The window data in the recognition result includes the wall to which the window belongs, the window center coordinates, the type, the width and the opening direction. The window is also directly created on the wall model based on this, as shown in Figure 19 .

[0214] By analogy, the overall model is created through the model creation of the wall, door and window, and the parametric three-dimensional model corresponding to the drawing is obtained, as shown in Figure 20 .

[0215] In addition, for the rapid automatic modeling client, it will also be supplemented that the input drawing is often limited by non-standard drawing factors, and the layer information is often incomplete or missing. Therefore, after the drawing is imported, the keywords can be set in the automatic modeling interface to facilitate the automatic identification of the layer, and the drawings can also be added to the corresponding layer by clicking the drawings, so as to further ensure the smoothness and accuracy of automatic modeling.

[0216] In one example embodiment, the present application also provides a computer device comprising a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method as described above.

[0217] In one example embodiment, the present application also provides a computer program product comprising a computer program, wherein the computer program is executed by a processor to implement the steps of the method as described above.

[0218] In one example embodiment, the present application also provides a computer readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the steps of the method as described above.

[0219] From the above description of the embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or a network, and includes a plurality of instructions to make a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiments of the present application.

[0220] In the example embodiments of the present application, a computer program medium is also provided, which stores computer readable instructions, and when the computer readable instructions are executed by a processor of a computer, the computer executes the method described in the method embodiment part.

[0221] According to one embodiment of the present application, a program product for implementing the method in the above method embodiment is also provided, which can be a portable compact disc read-only memory (CD-ROM) and includes program code, and can run on a terminal device such as a personal computer. However, the program product of the present application is not limited to this, and in this document, the readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, device or apparatus.

[0222] The program product can take any combination of one or more computer-readable media. The computer-readable media can be a computer-readable storage medium or a computer-readable signal medium. The computer-readable storage medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include the following: an electrical connection having one or more wires, a portable disc, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0223] The computer-readable signal medium can include a computer-readable storage medium that is configured to store and deliver a computer-readable program code. The computer-readable program code can be propagated as a computer-readable signal medium.

[0224] The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination of the foregoing.

[0225] The program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++, etc., and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server. In the latter scenario, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computing device, such as through the Internet using an Internet Service Provider.

[0226] It should be noted that, although several modules or units of the device for action execution are mentioned in the foregoing detailed description, such a division is not mandatory. Indeed, according to an embodiment of the present application, features and functionalities of two or more modules or units described above can be embodied in one module or unit. Conversely, features and functionalities of one module or unit described above can be further divided into a plurality of modules or units.

[0227] Furthermore, although individual steps of the methods in the present application are described in a particular order in the drawings, this is not required or implied as to the order in which the steps are performed, nor is it required that all of the steps shown be performed to achieve the desired result. Additionally or alternatively, certain steps can be omitted, combined into a single step, broken into multiple steps, and / or the like.

[0228] Those skilled in the art will readily understand that the example embodiments described herein can be implemented by software and / or by software in combination with the necessary hardware. Thus, the technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash disk, a mobile hard disk, or the like) or a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to perform the methods according to the embodiments of the present application.

[0229] Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the present application cover any and all variations of the application that come within the scope of the general inventive concepts described herein and including all such variations as fall within the scope of the claims. The specification and examples are illustrative of the application and are not intended to be limiting.

Claims

1. A method for fast automatic modeling based on building information, characterized in that, The method comprises: constructing a geometric data composite space index structure of graph elements of a drawing carrying building information, generating a parametric three-dimensional model from the building information carried by the drawing; performing continuous wall searching on the geometric data composite space index structure according to a wall line list to be searched formed by graph element identifiers belonging to wall lines in the drawing, to obtain wall lines constituting the continuous wall and graph blocks of objects arranged on the continuous wall; obtaining geometric entities corresponding to the continuous wall on the drawing and the distribution of objects arranged on the geometric entities according to the wall lines constituting the continuous wall and the graph blocks of objects arranged on the continuous wall; identifying the geometric entities and the objects arranged on the geometric entities to obtain wall, door and window data of the drawing, comprising: calculating a wall centerline and a wall width of the geometric entities corresponding to the continuous wall to obtain an identification result of the continuous wall; generating an identification result of the objects by the position, width, type and opening direction of the objects distributed on the continuous wall; and constructing wall, door and window data of the drawing by the identification result of the continuous wall and the objects on the continuous wall; performing wall creation and door and window creation on the wall to obtain the parametric three-dimensional model; the method further comprises: performing drawing analysis to obtain geometric data of the distributed graph elements and attribution information of the graph elements; generating a space index of the geometric data of the graph elements, so that two space index structures are constructed by the corresponding graph element identifiers and two-dimensional geometric ranges and key point position information in the geometric data defining the graph elements.

2. The method of claim 1, wherein, the method further comprises: identifying the attribution information of the graph elements in the drawing to determine graph element identifiers belonging to wall lines in the geometric data composite space index structure; generating a wall line list to be searched by all graph element identifiers corresponding to wall lines, the wall line list to be searched indicating wall lines existing in the drawing.

3. The method of claim 1, wherein, the method further comprises: obtaining a first wall line in the wall line list to be searched as a current wall line, and removing the wall line from the wall line list to be searched; performing continuous wall searching in the geometric data composite space index structure to query a next wall line connected to the first and last ends of the current wall line, and if there is no next wall line, querying a graph block intersecting the current wall line; if the next wall line is obtained, continuing the continuous wall searching by taking the wall line as the current wall line, and removing the wall line from the wall line list to be searched; after the searching of the current continuous wall is completed, continuing the searching of other continuous walls until the wall line list to be searched is empty.

4. The method of claim 3, wherein, the query of the next wall line is performed in a KD tree in the geometric data composite space index structure.

5. The method of claim 3, wherein, The query of the tile intersecting with the current wall line is executed in the R-tree of the geometric data composite space index structure.

6. The method of claim 1, wherein, The geometric entity corresponding to the continuous wall on the drawing is obtained according to the wall lines constituting the continuous wall and the tiles of the objects arranged on the continuous wall, and the distribution of the objects arranged on the geometric entity, including: The geometric entity corresponding to the continuous wall on the drawing is reconstructed according to the wall lines, and the door and / or window on the continuous wall is reconstructed according to the tiles of the objects arranged on the geometric entity.

7. A computer device comprising a memory, a processor, and a computer program stored on the memory, wherein the computer program comprises instructions that, when executed by the processor, cause the processor to perform the method of any one of claims 1-6. The processor executes the computer program to implement the steps of the method of any one of claims 1-6.

8. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method of any one of claims 1-6. 9.A computer readable storage medium, having stored thereon a computer program, which is executed by a processor to implement the steps of the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Large-scale three-dimensional model rendering method, device, system and storage medium

    CN109377554A

  • Computer room three-dimensional model automatic generation method and device based on CAD two-dimensional drawing

    CN114092662A