Room filling block modeling method and device, computer equipment and storage medium
By calculating the projection and Boolean calculation of the building's room structural parts, the room filling block model is automatically created, which solves the problems of low human modeling efficiency and poor accuracy, and achieves efficient and accurate room filling block modeling.
Patent Information
- Application Number
- CN202510397681.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2025-07-18
AI Technical Summary
In the prior art, artificially creating room filling blocks has low efficiency and is prone to inaccurate three-dimensional modeling.
By obtaining the structural component models of each room of the building, the projection of the walls, columns, and base plates on the horizontal plane is calculated, the maximum outer contour figure is calculated using the counterclockwise angle algorithm, and Boolean calculation is performed, combining the projected polygon set and the base plate top elevation and the base plate bottom elevation to model the room filling block.
Automatically create room fill block models, improve modeling efficiency, avoid errors caused by artificial missed selection of key points, and ensure the accuracy of modeling.
Smart Images

Figure CN120339539A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of 3D design, and particularly relates to a method, device, computer device and storage medium for modeling room filling blocks. Background Art
[0002] During the nuclear power engineering design process, many design data are related to rooms, such as the functions, volumes, and surface areas of structural components in the rooms. In 3D design using BIM software, room filling blocks are usually used to record this room information. The room filling blocks fill the entire room and do not interfere with structural components such as walls, slabs, beams, and columns, and can be used to calculate room geometric properties such as room volume and surface area, and are used to assist in design processes such as material summary and flooding calculation.
[0003] In the prior art, room filling blocks are usually created manually. However, when creating room filling blocks manually, key control points generally need to be selected manually, and the volumes occupied by room structural components such as beams need to be manually deducted for the room filling blocks. This modeling efficiency is low, and it is easy to cause problems with inaccurate 3D modeling. Summary of the Invention
[0004] In view of this, the present invention provides a method, device, computer device and storage medium for modeling room filling blocks to solve the problem of low modeling efficiency of manually creating room filling blocks in the prior art.
[0005] In a first aspect, the present invention provides a method for modeling room filling blocks, the method comprising:
[0006] Obtain the models of each structural component of each room on the current floor of the target building, and calculate the projections of the walls, columns, and floor slabs on the horizontal plane respectively, where the structural components include walls, columns, and floor slabs;
[0007] Based on the projections of the walls, columns, and floor slabs on the horizontal plane, calculate the maximum outer contour graph of the current floor on the horizontal plane;
[0008] Based on the projections of the walls and columns on the horizontal plane and the maximum outer contour graph of the current floor on the horizontal plane, perform Boolean calculation to obtain a set of projection polygons of each room on the horizontal plane;
[0009] Based on the set of projection polygons, the top elevation of the floor slab of each room, and the bottom elevation of the ceiling slab, perform modeling of room filling blocks.
[0010] The present invention projects each structural member of a room onto a horizontal plane, calculates the maximum outer contour figure of the current floor on the horizontal plane and the set of projected polygons of each room on the horizontal plane, so as to complete the modeling of room filling blocks according to the set of projected polygons, the top elevation of the bottom plate of each room, and the bottom elevation of the top plate, thereby realizing the automatic creation of room filling block models, improving the efficiency of room filling block modeling, and avoiding errors caused by human misselection of key points and the like.
[0011] In an alternative embodiment, the projections of the wall, column, and bottom plate on the horizontal plane are calculated respectively, including:
[0012] Obtain the geometric definitions of each surface of the wall, column, and bottom plate and the normal direction of the surface;
[0013] Project the surfaces with the normal directions of the wall and column onto the horizontal plane, and use the counterclockwise angle algorithm to obtain the maximum outer contour line of the projection, so as to obtain the set of projections of the bottom surfaces of each wall and column on the horizontal plane;
[0014] Project the surface with the normal direction of the top surface of the bottom plate onto the horizontal plane to obtain the set of projections of the top surface of the bottom plate on the horizontal plane.
[0015] The present invention projects the wall and column, and uses the counterclockwise angle algorithm to ensure the consistency of operations, and respectively obtains the set of projections of the bottom surfaces of the wall and column on the horizontal plane and the set of projections of the top surface of the bottom plate on the horizontal plane.
[0016] In an alternative embodiment, based on the projections of the wall, column, and bottom plate on the horizontal plane, calculate the maximum outer contour figure of the current floor on the horizontal plane, including:
[0017] Loop through the set of projections of the bottom surfaces of each wall and column on the horizontal plane and the set of projections of the top surface of the bottom plate on the horizontal plane, read the line segments forming each projection surface, and obtain the line segment set;
[0018] Use the counterclockwise angle algorithm to calculate the maximum outer contour corresponding to the line segment set to obtain the maximum outer contour figure of the current floor on the horizontal plane.
[0019] The present invention reads the line segments forming each projection surface and uses the counterclockwise angle algorithm to calculate the maximum outer contour to ensure that the directions of the obtained maximum outer contours are consistent.
[0020] In an alternative embodiment, based on the projections of the wall and column on the horizontal plane and the maximum outer contour figure of the current floor on the horizontal plane, perform Boolean calculations to obtain the set of projected polygons of each room on the horizontal plane, including:
[0021] Adjust the normal directions of the projected polygons in the set of projections of the bottom surfaces of the wall and column on the horizontal plane;
[0022] Set a tolerance distance to expand the projected polygon outward to obtain the expanded set;
[0023] Perform a Boolean difference operation on the expanded set and adjust the normal direction to obtain the set of projected polygons of each room on the horizontal plane.
[0024] The present invention adjusts the normal direction of the projected polygon for subsequent Boolean calculations, sets a tolerance distance, expands the projected polygon outward to eliminate the small gaps between models caused by modeling errors, and eliminates the errors caused by calculation accuracy, performs a Boolean difference operation, and adjusts the normal direction to finally obtain the set of projected polygons.
[0025] In an alternative embodiment, based on the set of projected polygons, the top elevation of the bottom slab of each room, and the bottom elevation of the top slab, room filling block modeling is performed, including:
[0026] Expand each room polygon in the set of projected polygons outward, perform triangular meshing on the expanded polygon to obtain the triangular patches of each room polygon;
[0027] Calculate the geometric center of the triangular patch to obtain a straight line passing through the geometric center and with the direction of the normal direction;
[0028] Obtain the bottom slab model of the upper floor of this floor, use the bottom surface of the bottom slab model as the top surface of the top slab, calculate the intersection points of the straight line with the top surface of the bottom slab and the bottom surface of the top slab, and determine the bottom elevation and top elevation of the room filling block;
[0029] Perform a stretching body with the room polygon as the cross-section, and perform room filling block modeling with the bottom elevation and top elevation as the starting point and ending point of the stretching body respectively.
[0030] The present invention expands the polygon outward to eliminate the influence of the expansion in the previous step, and realizes automatic and rapid modeling of the room filling block by performing a stretching body with the room polygon as the cross-section and using the determined bottom elevation and top elevation as the starting point and ending point, improving the modeling efficiency.
[0031] In an alternative embodiment, the method further includes:
[0032] Obtain all beam models within the range of the room filling block, and create a negative solid model identical to the beam model in the room under the room filling block until the modeling of all room blocks on this floor is completed.
[0033] The present invention creates a negative solid model identical to the beam model in the room under the room filling block to facilitate the deduction of its occupancy from the room filling block.
[0034] In a second aspect, the present invention provides a device for room filling block modeling, and the device includes:
[0035] The first calculation module is configured to obtain the structural component models of each room constituting the current floor of the target building, and calculate the projections of the walls, columns, and floor slabs on the horizontal plane respectively. The structural components include walls, columns, and floor slabs.
[0036] The second calculation module is configured to calculate the maximum outer contour figure of the current floor on the horizontal plane based on the projections of the walls, columns, and floor slabs on the horizontal plane.
[0037] The third calculation module is configured to perform Boolean calculation based on the projections of the walls and columns on the horizontal plane and the maximum outer contour figure of the current floor on the horizontal plane to obtain a set of projection polygons of each room on the horizontal plane.
[0038] The modeling module is configured to perform room filling block modeling based on the set of projection polygons, the top elevation of the floor slab of each room, and the bottom elevation of the ceiling slab.
[0039] In a third aspect, the present invention provides a computer device, including: a memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to perform the room filling block modeling method according to the first aspect or any corresponding embodiment thereof.
[0040] In a fourth aspect, the present invention provides a computer-readable storage medium, on which computer instructions are stored. The computer instructions are used to cause a computer to execute the room filling block modeling method according to the first aspect or any corresponding embodiment thereof.
[0041] In a fifth aspect, the present invention provides a computer program product, including computer instructions, which are used to cause a computer to execute the room filling block modeling method according to the first aspect or any corresponding embodiment thereof. Description of the Drawings
[0042] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for the description of the specific embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0043] Figure 1 is a schematic flowchart of the room filling block modeling method according to an embodiment of the present invention;
[0044] Figure 2 is a schematic diagram of the projection polygon of the room filling block after the structural component is enlarged and the boundary of the projection polygon of the room filling block after being enlarged;
[0045] Figure 3 It is a schematic diagram of the geometric polygon after expansion according to an embodiment of the present invention and the triangular grid division of the geometric polygon;
[0046] Figure 4 It is a schematic diagram of a room filling block according to an embodiment of the present invention;
[0047] Figure 5 It is a structural block diagram of a room filling block modeling device according to an embodiment of the present invention;
[0048] Figure 6 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed implementation manners
[0049] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are some but not all of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0050] First, explanations are made for the proper nouns:
[0051] Room filling block: A three-dimensional physical item used to record information such as room names and functions, and the surfaces of its model are completely fitted to the surfaces of structural components such as the structural walls, top elevation plane of the floor slab, and bottom elevation plane of the ceiling slab that make up the room.
[0052] According to an embodiment of the present invention, an embodiment of a room filling block modeling method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.
[0053] In this embodiment, a room filling block modeling method is provided. Figure 1 It is a flowchart of the room filling block modeling method according to an embodiment of the present invention. As Figure 1 shown, the process includes the following steps:
[0054] Step S101, obtain the model of each structural component of each room on the current floor of the target building, and respectively calculate the projections of the walls, columns, and floor slabs on the horizontal plane.
[0055] In an embodiment of the present invention, the structural members include walls, columns, and floor slabs. The structural model node ZONE stores the structural model of the floor slab, the walls, columns, beams, etc. of this floor. The floor numbers are represented by -D, -E, -F... respectively. The lower node STRU differentiates different types of structural members by naming. Among them, -S represents stairs, -C represents columns, -F represents floor slabs, -W represents walls, -B represents beams. The model types of walls and columns are STWALL, GWALL, or WALL.
[0056] Based on the above model storage and naming rules, the wall and column models of each room on this floor can be obtained. In an embodiment of the present invention, all walls and columns are modeled using the STAWLL, GWALL, or WALL type, and the slabs are modeled using the FLOOR type, and the projections of the walls, columns, and floor slabs on the horizontal plane are calculated respectively.
[0057] Step S102: Calculate the maximum outer contour graph of this floor on the horizontal plane based on the projections of the walls, columns, and floor slabs on the horizontal plane.
[0058] In an embodiment of the present invention, based on the projections of the walls, columns, and floor slabs of each room on this floor calculated, the maximum outer contour graph of this floor on the horizontal plane is calculated.
[0059] Step S103: Perform Boolean calculations based on the projections of the walls and columns on the horizontal plane and the maximum outer contour graph of this floor on the horizontal plane to obtain the set of projection polygons of each room on the horizontal plane.
[0060] In an embodiment of the present invention, based on the projections of the walls and columns of each room on this floor calculated on the horizontal plane and the maximum outer contour graph of this floor on the horizontal plane, Boolean calculations are performed based on Clipper2 to obtain the set of projection polygons of each room on the horizontal plane.
[0061] Step S104: Perform room filling block modeling based on the set of projection polygons, the top elevation of the floor slab of each room, and the bottom elevation of the ceiling slab.
[0062] In an embodiment of the present invention, based on the set of projection polygons of each room on the horizontal plane calculated and the top elevation of the floor slab and the bottom elevation of the ceiling slab of each room, the modeling of the room filling blocks is automatically completed, effectively avoiding inaccurate 3D modeling caused by operation errors and operation mistakes, effectively improving the accuracy and efficiency of the room filling block modeling, and solving the problems of inaccurate 3D modeling and modeling efficiency caused by the easy omission and misselection of key control points during the 3D modeling of room filling blocks in current BIM software.
[0063] The room filling block modeling method provided in this embodiment projects each structural member of the room onto a horizontal plane, calculates the maximum outer contour graph of this floor on the horizontal plane and the set of projection polygons of each room on the horizontal plane, so as to complete the modeling of the room filling block according to the set of projection polygons, the top elevation of the bottom plate of each room, and the bottom elevation of the top plate, thereby realizing the automatic creation of the room filling block model, improving the modeling efficiency of the room filling block, and avoiding errors caused by human misselection of key points, etc.
[0064] In this embodiment, a room filling block modeling method is provided, and the process includes the following steps:
[0065] Step S201: Obtain the model of each structural member of each room on this floor of the target building, and calculate the projections of the wall, column, and bottom plate on the horizontal plane respectively.
[0066] Specifically, the above step S201 includes:
[0067] Step S2011: Obtain the geometric definitions of each surface of the wall, column, and bottom plate and the normal direction of the surface.
[0068] Step S2012: Project the surfaces with the normal directions of the wall and column onto the horizontal plane, and use the counterclockwise angle algorithm to obtain the maximum outer contour line of the projection, and obtain the set of projections of the bottom surfaces of each wall and column on the horizontal plane.
[0069] Step S2013: Project the surface with the normal direction of the top surface of the bottom plate onto the horizontal plane, and obtain the set of projections of the top surface of the bottom plate on the horizontal plane.
[0070] In the embodiment of the present invention, the CSG (Constructive Solid Geometry) models of structural members such as walls and plates are converted into B-rep (Boundary Representation) models. The geometric definitions of each surface of the wall, plate, and column and the normal direction of the surface are obtained through the CSG-related API interface. In this embodiment, the bottom surfaces of the wall and column are used as the cross-sections of the wall and column, and the direction from the inside of the model to the outside of the model is used as the positive direction of the normal of the surface. Passing through the point (0, 0, 0) with the normal direction of U, and defining the plane XOY as the horizontal plane, project the surfaces with the normal of the wall and column being D onto the horizontal plane, and use the counterclockwise angle algorithm to obtain the maximum outer contour line of the projection. According to this method, the set of projections of the bottom surfaces of each wall and column on the horizontal plane W is obtained S ; define the surface with the normal of the plate being U as the top surface F of the bottom plate DUS of the bottom plate, project F DUS onto the horizontal plane, and obtain the set of projection polygons of the top surface of the bottom plate on the horizontal plane F S .
[0071] By projecting the wall and column, the counterclockwise angle algorithm is used to ensure the consistency of the operation, and the set of projections of the bottom surfaces of the wall and column on the horizontal plane and the set of projections of the top surface of the bottom plate on the horizontal plane are obtained respectively.
[0072] Step S202: Calculate the maximum outer contour graph of this floor on the horizontal plane based on the projections of the walls, columns, and floor slab on the horizontal plane.
[0073] Specifically, the above step S202 includes:
[0074] Step S2021: Loop through the projection sets of the bottom surfaces of each wall and column on the horizontal plane and the projection set of the top surface of the floor slab on the horizontal plane, read the line segments forming each projection plane, and obtain a line segment set.
[0075] Step S2022: Use the counterclockwise angle algorithm to calculate the maximum outer contour corresponding to the line segment set, and obtain the maximum outer contour graph of this floor on the horizontal plane.
[0076] In the embodiment of the present invention, first loop through the above projection sets W S and F S , read the line segments forming each projection plane, convert the projection sets into a line segment set, and then find the maximum outer contour of the line segment set through the counterclockwise angle algorithm.
[0077] By reading the line segments forming each projection plane and using the counterclockwise angle algorithm to calculate the maximum outer contour, it is ensured that the directions of the obtained maximum outer contours are consistent.
[0078] Step S203: Based on the projections of the walls and columns on the horizontal plane and the maximum outer contour graph of this floor on the horizontal plane, perform a Boolean calculation to obtain the projection polygon sets of each room on the horizontal plane.
[0079] Specifically, the above step S203 includes:
[0080] Step S2031: Adjust the normal directions of the projection polygons in the projection set of the bottom surfaces of the walls and columns on the horizontal plane.
[0081] Step S2032: Set a tolerance distance, expand the projection polygons outward, and obtain an outward-expanded set.
[0082] Step S2033: Perform a Boolean difference operation on the outward-expanded set, adjust the normal directions, and obtain the projection polygon sets of each room on the horizontal plane.
[0083] In the embodiment of the present invention, the open-source project Clipper2 is used for Boolean calculations of geometric figures. Loop through the set W S Process the projection of each wall and column on the horizontal plane. First, in order to facilitate subsequent Boolean calculations, adjust the normal direction of each projection polygon to U. Secondly, as Figure 2As shown in the figure, in order to eliminate the small gaps between models caused by modeling errors and the errors caused by calculation accuracy, the projected polygon is expanded outward by a tolerance distance. The tolerance distance is set to 5 mm. The polygon is expanded based on the InflatePaths function of Clipper2, and the set W is obtained after processing one by one. SU , and perform a Boolean difference operation on the set W SU to obtain the polygon set O S . Adjust the normal direction of O S to D to obtain the polygon set O SD . Based on Clipper2, perform a Boolean difference operation on O SD and W SU to obtain the projected polygon set R of each room on the horizontal plane S .
[0084] By adjusting the normal direction of the projected polygon to facilitate subsequent Boolean calculations, setting the tolerance distance, expanding the projected polygon outward to eliminate the small gaps between models caused by modeling errors and the errors caused by calculation accuracy, performing a Boolean difference operation, and adjusting the normal direction to finally obtain the projected polygon set.
[0085] Step S204: Based on the projected polygon set, the top elevation of the bottom slab and the bottom elevation of the top slab of each room, perform room filling block modeling.
[0086] Specifically, the above step S204 includes:
[0087] Step S2041: Expand each room polygon in the projected polygon set outward, and perform triangular meshing on the expanded polygon to obtain the triangular patches of each room polygon.
[0088] Step S2042: Calculate the geometric center of the triangular patch to obtain a straight line passing through the geometric center and with the direction of the normal direction.
[0089] Step S2043: Obtain the bottom slab model of the upper floor of this floor, use the bottom surface of the bottom slab model as the top surface of the top slab, calculate the intersection points of the straight line with the top surface of the bottom slab and the bottom surface of the top slab, and determine the bottom elevation and top elevation of the room filling block.
[0090] Step S2044: Use the room polygon as the cross-section to make a stretched body, and perform room filling block modeling with the bottom elevation and top elevation as the starting point and end point of the stretched body respectively.
[0091] In the embodiment of the present invention, first expand each room polygon in the room polygon set R S outward to eliminate the influence of the outward expansion in step S203. Set the outward expansion range to 5 mm, and then perform triangular meshing on the expanded polygon. For exampleFigure 3 As shown, the open-source project Triangle.Net is used for planar triangular mesh division, and the first triangular patch of each room polygon is obtained. The geometric center P of it is calculated, and a straight line L passing through point P and in the direction of U is made. (P,U) .
[0092] According to the same method in step S201, the bottom surface of the floor slab model of the upper floor of this floor is obtained as the top surface F of the ceiling. UDS , calculate L (P,U) and the intersection points with the top surface F of the above-mentioned floor slab DUS and the bottom surface F of the ceiling. UDS Take the Z value of the intersection point as the bottom elevation and top elevation of the room filling block. Make a stretched body PANE with the room polygon as the cross-section, and use the calculated bottom elevation and top elevation as the start and end points of the stretched body to complete the modeling of the room filling block. The room filling block is as Figure 4 shown.
[0093] By expanding the polygon outwards to eliminate the influence of the outward expansion in the previous steps, and making a stretched body with the room polygon as the cross-section, using the determined bottom elevation and top elevation as the start and end points, the automatic and rapid modeling of the room filling block is realized, improving the modeling efficiency.
[0094] In some alternative embodiments, the method further includes:
[0095] Step S205, obtaining all beam models within the range of the room filling block, and creating a negative solid model identical to the beam models in the room under the room filling block until the modeling of all room blocks on this floor is completed.
[0096] In the embodiment of the present invention, all beam models within the range of the room filling block are obtained, and a negative solid model identical to the beams in the room is created under the room filling block, and the occupied spaces of structural members such as beams and corbels are deducted, and the range occupied by the beams is removed from the room filling block, and the loop R S completes the modeling of all room blocks on this floor.
[0097] The room filling block modeling method provided in this embodiment creates a negative solid model identical to the beam models in the room under the room filling block, so as to facilitate the deduction of its occupancy from the room filling block.
[0098] In this embodiment, a room filling block modeling device is also provided. This device is used to implement the above-mentioned embodiments and preferred embodiments, and those that have been described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that can achieve a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and contemplated.
[0099] This embodiment provides a room filling block modeling device, as Figure 5 shown, including:
[0100] A first calculation module 501, configured to obtain the structural element models of each room constituting the current floor of the target building, and respectively calculate the projections of the walls, columns, and floor slabs on the horizontal plane, where the structural elements include walls, columns, and floor slabs.
[0101] A second calculation module 502, configured to calculate the maximum outer contour graph of the current floor on the horizontal plane based on the projections of the walls, columns, and floor slabs on the horizontal plane.
[0102] A third calculation module 503, configured to perform a Boolean calculation based on the projections of the walls and columns on the horizontal plane and the maximum outer contour graph of the current floor on the horizontal plane, to obtain a set of projection polygons of each room on the horizontal plane.
[0103] A modeling module 504, configured to perform room filling block modeling based on the set of projection polygons, the top elevation of the floor slab of each room, and the bottom elevation of the ceiling slab.
[0104] In some alternative embodiments, the first calculation module 501 includes:
[0105] An acquisition unit, configured to acquire the geometric definitions of each surface of the walls, columns, and floor slabs and the normal direction of the surface.
[0106] A first calculation unit, configured to project the surfaces in the normal direction of the walls and columns onto the horizontal plane, and use the counterclockwise angle algorithm to obtain the maximum outer contour line of the projection, to obtain a set of projections of the bottom surfaces of each wall and column on the horizontal plane.
[0107] A first obtaining unit, configured to project the surface in the normal direction of the top surface of the floor slab onto the horizontal plane, to obtain a set of projections of the top surface of the floor slab on the horizontal plane.
[0108] In some alternative embodiments, the second calculation module 502 includes:
[0109] A reading unit, configured to loop through the set of projections of the bottom surfaces of each wall and column on the horizontal plane and the set of projections of the top surface of the floor slab on the horizontal plane, read the line segments constituting each projection surface, to obtain a set of line segments.
[0110] A second calculation unit, configured to use the counterclockwise angle algorithm to calculate the maximum outer contour corresponding to the set of line segments, to obtain the maximum outer contour graph of the current floor on the horizontal plane.
[0111] In some alternative embodiments, the third calculation module 503 includes:
[0112] An adjustment unit, configured to adjust the normal direction of the projection polygons in the set of projections of the bottom surfaces of the walls and columns on the horizontal plane.
[0113] A first expansion unit for setting a tolerance distance and expanding the projected polygon outward to obtain an expanded set.
[0114] A second obtaining unit for performing a Boolean difference operation on the expanded set, adjusting the normal direction, and obtaining the set of projected polygons of each room on the horizontal plane.
[0115] In some alternative embodiments, the modeling module 504 includes:
[0116] A second expansion unit for expanding each room polygon in the set of projected polygons outward and performing triangular meshing on the expanded polygons to obtain triangular patches of each room polygon.
[0117] A third calculation unit for calculating the geometric center of the triangular patch to obtain a straight line passing through the geometric center and having a normal direction.
[0118] A fourth calculation unit for obtaining the bottom plate model of the upper floor of this floor, taking the bottom surface of the bottom plate model as the top surface of the ceiling, calculating the intersection points of the straight line with the top surface of the bottom plate and the bottom surface of the ceiling, and determining the bottom elevation and top elevation of the room filling block.
[0119] A modeling unit for making a stretched body with the room polygon as the cross-section and performing modeling of the room filling block with the bottom elevation and top elevation as the starting point and ending point of the stretched body respectively.
[0120] In some alternative embodiments, the device further includes:
[0121] A creation module for obtaining all beam models within the range of the room filling block and creating a negative solid model identical to the beam model in the room under the room filling block until the modeling of all room blocks on this floor is completed.
[0122] The further functional descriptions of the above various modules and units are the same as those in the corresponding above embodiments and will not be elaborated here.
[0123] The room filling block modeling device in this embodiment is presented in the form of functional units. Here, the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and a memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.
[0124] An embodiment of the present invention further provides a computer device having the above Figure 5 shown room filling block modeling device.
[0125] Please refer to Figure 6 , Figure 6It is a schematic structural diagram of a computer device provided by an alternative embodiment of the present invention. As Figure 6 shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including a high-speed interface and a low-speed interface. Each component communicates with each other using different buses and can be installed on a common motherboard or in other ways as needed. The processor can process instructions executed within the computer device, including instructions stored in the memory or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some alternative embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a set of blade servers, or a multi-processor system). Figure 6 Here, one processor 10 is taken as an example.
[0126] The processor 10 can be a central processing unit, a network processor, or a combination thereof. Among them, the processor 10 can further include a hardware chip. The above-mentioned hardware chip can be an application-specific integrated circuit, a programmable logic device, or a combination thereof. The above-mentioned programmable logic device can be a complex programmable logic device, a field programmable gate array, a generic array logic, or any combination thereof.
[0127] Among them, the memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiments.
[0128] The memory 20 can include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function; the data storage area can store data created according to the use of the computer device. In addition, the memory 20 can include a high-speed random access memory and can also include a non-transitory memory, such as at least one disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some alternative embodiments, the memory 20 can optionally include a memory remotely set relative to the processor 10, and these remote memories can be connected to the computer device through a network. Examples of the above-mentioned network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.
[0129] The memory 20 can include a volatile memory, such as a random access memory; the memory can also include a non-volatile memory, such as a flash memory, a hard disk, or a solid-state drive; the memory 20 can also include a combination of the above types of memories.
[0130] The computer device further includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30, and the output device 40 may be connected by a bus or other means. Figure 6 Taking connection by a bus as an example.
[0131] The input device 30 can receive input digital or character information and generate key signal inputs related to the user settings and function controls of the computer device, such as a touch screen, etc. The output device 40 may include a display device, etc.
[0132] The embodiment of the present invention further provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or be implemented as computer code that can be recorded on a storage medium, or be implemented by downloading through a network the original computer code stored in a remote storage medium or a non-transitory machine-readable storage medium and to be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium may be a magnetic disk, an optical disc, a read-only memory, a random access memory, a flash memory, a hard disk, or a solid-state drive, etc.; further, the storage medium may further include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code, and when the software or computer code is accessed and executed by the computer, the processor, or the hardware, the method shown in the above embodiment is implemented.
[0133] A part of the present invention can be applied as a computer program product, such as computer program instructions, which when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should be able to understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Herein, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible by the computer.
[0134] Although the embodiments of the present invention are described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations all fall within the scope of this application.
Claims
1. A method for modeling a room filling block, characterized in that The method includes: Obtain the structural element models of each room on the current floor of the target building, and calculate the projections of the walls, columns, and floor slabs on the horizontal plane respectively. The structural elements include walls, columns, and floor slabs. Based on the projections of the walls, columns, and floor slabs on the horizontal plane, calculate the maximum outer contour graph of the current floor on the horizontal plane. Based on the projections of the walls and columns on the horizontal plane and the maximum outer contour graph of the current floor on the horizontal plane, perform a Boolean calculation to obtain a set of projected polygons of each room on the horizontal plane. Based on the set of projected polygons, the top elevation of the floor slab of each room, and the bottom elevation of the ceiling slab, perform room filling block modeling.
2. The method according to claim 1, characterized in that The step of calculating the projections of the walls, columns, and floor slabs on the horizontal plane respectively includes: Obtain the geometric definitions of each face of the walls, columns, and floor slabs and the normal direction of the face. Project the faces with the normal directions of the walls and columns onto the horizontal plane, and use the counterclockwise angle algorithm to obtain the maximum outer contour line of the projection, so as to obtain a set of projections of the bottom surfaces of each wall and column on the horizontal plane. Project the face with the normal direction of the top surface of the floor slab onto the horizontal plane to obtain a set of projections of the top surface of the floor slab on the horizontal plane.
3. The method according to claim 2, characterized in that, The step of calculating the maximum outer contour graph of the current floor on the horizontal plane based on the projections of the walls, columns, and floor slabs on the horizontal plane includes: Loop through the set of projections of the bottom surfaces of each wall and column on the horizontal plane and the set of projections of the top surface of the floor slab on the horizontal plane, read the line segments that make up each projection surface, and obtain a set of line segments. Use the counterclockwise angle algorithm to calculate the maximum outer contour corresponding to the set of line segments, and obtain the maximum outer contour graph of the current floor on the horizontal plane.
4. The method according to claim 1, characterized in that, The step of performing a Boolean calculation based on the projections of the walls and columns on the horizontal plane and the maximum outer contour graph of the current floor on the horizontal plane to obtain a set of projected polygons of each room on the horizontal plane includes: Adjust the normal direction of the projected polygons in the set of projections of the bottom surfaces of the walls and columns on the horizontal plane. Set a tolerance distance, expand the projected polygons outward, and obtain an expanded set. Perform a Boolean difference operation on the expanded set, adjust the normal direction, and obtain a set of projected polygons of each room on the horizontal plane.
5. The method according to claim 1, characterized in that The step of performing room filling block modeling based on the set of projected polygons, the top elevation of the floor slab of each room, and the bottom elevation of the ceiling slab includes: Expand each room polygon in the set of projected polygons outward, and perform triangular meshing on the expanded polygons to obtain triangular patches of each room polygon. Calculate the geometric center of the triangular patches to obtain a straight line passing through the geometric center and with the direction of the normal direction. Obtain the floor slab model of the upper floor of the current floor, use the bottom surface of the floor slab model as the ceiling bottom surface, calculate the intersection points of the straight line with the top surface of the floor slab and the bottom surface of the ceiling slab, and determine the bottom elevation and top elevation of the room filling block. Use the room polygon as the cross-section to make a stretched body, and use the bottom elevation and top elevation as the starting point and ending point of the stretched body respectively to perform room filling block modeling.
6. The method according to claim 1, characterized in that, The method further includes: Obtain all beam models within the range of the room filling block, and create a negative solid model identical to the beam model in the room under the room filling block until the modeling of all room blocks on the current floor is completed.
7. A room filling block modeling device, characterized in that The device includes: A first calculation module, configured to obtain the structural member models of each room constituting the current floor of the target building, and calculate the projections of walls, columns, and floor slabs on a horizontal plane respectively, where the structural members include walls, columns, and floor slabs; A second calculation module, configured to calculate the maximum outer contour graph of the current floor on the horizontal plane based on the projections of the walls, columns, and floor slabs on the horizontal plane; A third calculation module, configured to perform a Boolean calculation based on the projections of the walls and columns on the horizontal plane and the maximum outer contour graph of the current floor on the horizontal plane to obtain a set of projected polygons of each room on the horizontal plane; A modeling module, configured to perform room filling block modeling based on the set of projected polygons, the top elevation of the floor slab of each room, and the bottom elevation of the ceiling slab; 8. A computer device, characterized in that, Comprising: A memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to execute the room filling block modeling method according to any one of claims 1 to 6; 9. A computer-readable storage medium, characterized in that, Computer instructions are stored on the computer-readable storage medium, and the computer instructions are used to cause a computer to execute the room filling block modeling method according to any one of claims 1 to 6; 10. A computer program product, characterized in that, Including computer instructions, the computer instructions are used to cause a computer to execute the room filling block modeling method according to any one of claims 1 to 6.