Quick point location searching method and device based on BIM (Building Information Modeling) space
By projecting the boundary boxes of 3D components in the BIM model onto a 2D plane, generating an index table, and enabling rapid lookup, the problems of low computational efficiency and high resource consumption in existing technologies are solved. This achieves an efficient and flexible point lookup method suitable for rapid querying of BIM models.
Patent Information
- Application Number
- CN202511295529.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-11
- Publication Date
- 2026-01-30
AI Technical Summary
Existing BIM model intersection relationship calculation methods are inefficient and resource-intensive when dealing with large-scale data and complex spatial structures. They are particularly inflexible and inefficient in dynamic environments, making it difficult to meet real-time requirements.
By projecting the bounding box of a 3D component onto a horizontal plane, a 2D index range of the component region is generated. A component index table with a key-value structure is constructed, and the search is performed based on the index value of the occupied range. This simplifies the operation to 2D space and reduces the amount of 3D computation.
It improves the speed and efficiency of point location search, reduces computing resource consumption, adapts to different precision requirements and query ranges, and enhances the flexibility and real-time performance of operations.
Smart Images

Figure CN121435313A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of building information modeling, and in particular to a point position rapid searching method and device based on BIM space. BACKGROUND
[0002] In the application process of BIM model (Building Information Modeling) geometry operation, the intersection relationship operation between components is one of the common applications. Therefore, the operation performance of the intersection relationship is of great concern.
[0003] The current common intersection relationship operation method includes: 1, using a fast filter to screen a preliminary intersection component list, the fast filter refers to an API interface specially designed by the BIM design platform to improve the performance of the filter; 2, using a slow filter to further screen the intersection component list, step two screens based on the result of step one, reducing the calculation amount, thereby improving the efficiency. The application scene of the above method is suitable for horizontal intersection and cross-floor vertical intersection, and has universality. However, the above method still has certain performance bottleneck, especially in the case of paying attention to the horizontal intersection relationship, which is relatively cumbersome. For example: when facing a dynamically changing environment (for example, component addition, deletion and modification), the filter may need to be frequently updated or the index may need to be recalculated, resulting in insufficient flexibility and efficiency. When dealing with multi-component intersection problems, these methods need to screen and calculate a large number of components multiple times, especially in the case of needing to deal with vertical and horizontal intersection relationships, which may consume a large amount of computing resources and memory, causing system burden.
[0004] Therefore, there is an urgent need for a point position rapid searching method based on BIM space, which can improve the query efficiency by simplifying the processing of spatial data, optimize the use of computing resources, and further improve the performance and meet the real-time requirements of horizontal related relationship operation. SUMMARY
[0005] Therefore, the present application provides a point position rapid searching method and device based on BIM space, which solves the technical problems of low calculation efficiency, large resource consumption and slow response caused by the existing intersection relationship operation method when dealing with large-scale data and complex spatial structure.
[0006] To achieve the above technical purpose, the present application adopts the following technical scheme:
[0007] In a first aspect, the present application provides a point position rapid searching method based on BIM space, comprising:
[0008] obtaining the three-dimensional bounding box of all components in the specified floor space, projecting the three-dimensional bounding box to a horizontal plane to obtain a component area horizontal outer frame;
[0009] generating a component index range of all components in a two-dimensional space based on the extreme points of the component region horizontal outer frame;
[0010] obtaining a coordinate of a point to be searched and a search radius, and calculating a corresponding occupied range according to the coordinate of the point and the search radius;
[0011] searching for the index value of the occupied range in the component index range to obtain an intersecting component list of the point within the search radius range.
[0012] Further, based on the extreme points of the component region horizontal outer frame, a component index range of all components in a two-dimensional space is generated, including:
[0013] respectively taking the lower left corner vertex and the upper right corner vertex of the component region horizontal outer frame as the minimum point and the maximum point;
[0014] dividing the coordinates of the minimum point and the maximum point by a preset step to obtain a component index range, the index range representing a planar range occupied by the component.
[0015] Further, generating a component index range of all components in a two-dimensional space further includes:
[0016] constructing a key-value structure component index table with each coordinate index value in the component region index range as the key and the identification list of the corresponding component as the value.
[0017] Further, the construction of the key-value structure component index table includes:
[0018] for any component, sequentially traversing all integer coordinates from the minimum point coordinate index value to the maximum point coordinate index value along a first direction;
[0019] at each first direction coordinate, sequentially traversing all integer coordinates from the minimum point coordinate index value to the maximum coordinate index value along a second direction;
[0020] taking the current first direction coordinate and the second direction coordinate together to form an index key;
[0021] repeating the construction process of the index key until all components are processed to generate the component index table.
[0022] Further, the construction of the key-value structure component index table further includes:
[0023] if the current index key exists in the component index table, the corresponding component identification is added to the component list corresponding to the key; if it does not exist, an empty component list is first created, and then the component identification is added to the component list corresponding to the key.
[0024] Further, coordinates of a point to be searched and a search radius are acquired, and a corresponding occupied range is calculated according to the coordinates of the point and the search radius, including:
[0025] A square coverage area is constructed with the point to be searched as the center and with half of the search radius as the side length.
[0026] The minimum vertex coordinates and the maximum vertex coordinates of the coverage area are divided by a preset step length respectively to determine minimum index values and maximum index values of a searching range, and the point in the occupied range corresponding to the search radius is obtained.
[0027] Further, index values of the occupied range are searched in the component index range to obtain a list of intersecting components of the point within the search radius range, including:
[0028] All index values corresponding to the occupied range are used to query the component index table one by one.
[0029] If an entry matching any index value is found, a component list corresponding to the entry is acquired, and component identifiers in the list are included in the search result.
[0030] After the iteration is completed, a set of non-repeated component identifiers obtained is taken as a list of components intersecting with the point coordinates and the search radius.
[0031] In a second aspect, the present application further provides a point searching method based on BIM space, including:
[0032] A component area determination module is configured to acquire three-dimensional bounding boxes of all components in a specified floor space, project the three-dimensional bounding boxes to a horizontal plane, and obtain a component area horizontal outer frame.
[0033] An index establishment module is configured to generate a component index range of all components in a two-dimensional space based on extreme points of the component area horizontal outer frame.
[0034] A data acquisition module is configured to acquire coordinates of a point to be searched and a search radius, and calculate a corresponding occupied range according to the coordinates of the point and the search radius.
[0035] A searching module is configured to search index values of the occupied range in the component index range to obtain a list of intersecting components of the point within the search radius range.
[0036] In a third aspect, the present application provides an electronic device including a processor and a memory, wherein the memory stores a computer program, and the computer program is executed by the processor to implement the point searching method based on BIM space.
[0037] In a fourth aspect, the present application provides a computer readable storage medium, wherein a computer program is stored in the computer readable storage medium, and the computer program, when executed by a processor, implements the point location fast searching method based on BIM space.
[0038] Compared with the prior art, the point location fast searching method based on BIM space has the following advantages:
[0039] (1) By projecting the bounding box of the three-dimensional component to the horizontal plane and extracting the horizontal outer frame of the component region, the spatial position of the component on the two-dimensional plane can be efficiently determined, avoiding the processing of complex three-dimensional data, simplifying the calculation process, and at the same time, the point location and the components near the point location can be efficiently located.
[0040] (2) Based on the index range of the component, the searching space can be greatly reduced, the three-dimensional data is mapped to a two-dimensional region index, and the searching operation is only performed in the related region, thereby improving the speed and efficiency of the searching. By calculating the occupancy range and combining the searching radius, it can be flexibly applied to different query scenarios and adapt to various precision requirements and query ranges.
[0041] In summary, by projection, region division and index optimization, the present application avoids complex calculation in three-dimensional space, thereby effectively reducing the consumption of computing resources and improving the speed and efficiency of searching. BRIEF DESCRIPTION OF DRAWINGS
[0042] Figure 1 The flowchart of the point location fast searching method based on BIM space provided by the present application is shown.
[0043] Figure 2 The index table construction execution logic diagram provided by the present application is shown.
[0044] Figure 3 The index table searching execution logic diagram provided by the present application is shown.
[0045] Figure 4 The structure diagram of the point location fast searching device based on BIM space provided by the present application is shown.
[0046] Figure 5 The structure diagram of the electronic device provided by the present application is shown. DETAILED DESCRIPTION
[0047] The preferred embodiments of the present application will be specifically described below in conjunction with the accompanying drawings, wherein the drawings constitute a part of the present application, and together with the embodiments of the present application, serve to illustrate the principles of the present application, but are not used to limit the scope of the present application.
[0048] Please refer to Figure 1The embodiment provides a point location quick searching method based on a BIM space, which comprises the following steps:
[0049] Step S101: obtaining three-dimensional bounding boxes of all components in a specified floor space, projecting the three-dimensional bounding boxes to a horizontal plane to obtain a horizontal outer frame of a component region;
[0050] Step S102: generating a component index range of all components in a two-dimensional space based on extreme points of the horizontal outer frame of the component region;
[0051] Step S103: obtaining coordinates and a radius of a point location to be searched, and calculating a corresponding occupied range according to the coordinates and the radius of the point location;
[0052] Step S104: searching in the component index range based on an index value of the occupied range to obtain an intersecting component list in the point location coordinate range.
[0053] The method of the embodiment firstly constructs a plane component index range, and describes component occupation of a corresponding space point location by each index value of a two-dimensional matrix according to XY plane coverage of all components in a specified floor space; secondly, a corresponding matrix index value range is generated according to point location coordinates and a range to be searched, and then the component index matrix is searched according to the matrix index value range, so that a corresponding component list in the point location coordinate range is quickly obtained.
[0054] As a specific embodiment, in step S101, the specific method for obtaining three-dimensional bounding boxes of all components in a specified floor space and projecting the three-dimensional bounding boxes to a horizontal plane to obtain a horizontal outer frame of a component region comprises the following steps:
[0055] Step S11, obtaining a component list: obtaining a component list of all components in a specified floor space; in actual application, a floor view frame (View) of BIM model software Revit is usually used to obtain all visible components to obtain a component list A.
[0056] Step S12, obtaining a bounding box: traversing the component list A in step S11, obtaining a component A1 in the component list A, and obtaining a three-dimensional bounding box of the component A1. Specifically, the API: get_BoundingBox is used in Revit to obtain the BoundingBoxXYZ (three-dimensional bounding box) of the component A1.
[0057] As a preferred embodiment, in step S102, the component index range of all components in a two-dimensional space is generated based on extreme points of the horizontal outer frame of the component region, which comprises the following steps:
[0058] The left lower corner vertex and the right upper corner vertex of the horizontal outer frame of the component region are respectively taken as minimum points and maximum points.
[0059] Divide the coordinates of the minimum point and the maximum point by a preset step size to obtain a component index range, the index range representing a planar range occupied by the component.
[0060] It should be noted that the preset step size here is generally considered according to the common width of the component. For example, for a wall component of a civil engineering type, since the width of the wall component is relatively small, the width of the wall, i.e., 200 mm, is taken as the step size.
[0061] As a specific embodiment, in actual execution, first, a rectangular frame parallel to the XY axis is obtained according to the projection of the three-dimensional bounding box obtained in step S12 on the XY plane; second, the top points of the left lower corner and the right upper corner of the rectangular frame are obtained through the rectangular frame, and the two points are the minimum coordinate point and the maximum coordinate point; and finally, the XY coordinates of the two top points of the left lower corner and the right upper corner are divided by the step size (GridSize) to obtain the covered index range.
[0062] Specifically, the minimum and maximum coordinate indexes are determined through Math.Floor and Math.Ceiling in the BIM model software to ensure that all possible index ranges are covered. It should be noted that the index range refers to the space between two two-dimensional matrix positions, such as M[1, 1]~M[10, 10], which indicates that the component covers a range of 10*10 on the plane.
[0063] As a preferred embodiment, in step S102, the generating of the component index range of all components in the two-dimensional space further includes:
[0064] A component index table in a key-value structure is constructed, with each coordinate index value in the component region index range as a key and with a list of identifiers of corresponding components as a value.
[0065] As a preferred embodiment, the constructing of the component index table in the key-value structure includes:
[0066] For any component, all integer coordinates from the minimum point coordinate index value to the maximum point coordinate index value are sequentially traversed along a first direction;
[0067] Under each first direction coordinate, all integer coordinates from the minimum point coordinate index value to the maximum coordinate index value are sequentially traversed along a second direction;
[0068] The current first direction coordinate and the second direction coordinate together form an index key;
[0069] The construction process of the index key is repeated until all components are processed.
[0070] Through the above process, by traversing each grid, it is ensured that the component leaves an index key in all occupied grids without omission; when retrieving, only the list is taken according to the grid coordinates, without the need for complex geometric calculation, and the operation amount is greatly reduced.
[0071] Further, in order to solve the data initialization problem when the index key appears for the first time, avoid data loss or program exception, when the index key B does not exist in the component index table, a new entry with the index key B as the key and the empty component list as the value is created in the component index table; when the index key B already exists in the component index table, the component list corresponding to the index key is directly called.
[0072] In addition, in order to solve the ownership problem when the same grid is occupied by multiple components at the same time, whether there is an entry in the index table or not, the component is added to the component list corresponding to the index key. In this way, the situation of missing storage due to "key already exists" or being unable to store due to "key does not exist" is avoided, so as to ensure that all components falling within the same grid can be recorded completely, and ensure that no potential intersection object is missed during subsequent query.
[0073] The following will be combined with Figure 2 The specific execution method of the above process is shown in detail.
[0074] Assuming that the lower left corner coordinate point of the component area range is (minPoint.X, minPoint.Y); the upper right corner coordinate point is (maxPoint.X, maxPoint.Y), the lower left corner coordinate point (minimum coordinate point) index value calculation method is:
[0075] int minGridX = (int) Math.Floor(minPoint.X / GridSize);
[0076] int minGridY = (int) Math.Floor(minPoint.Y / GridSize);
[0077] The upper right corner coordinate point (maximum coordinate point) index value calculation is:
[0078] int maxGridX = (int) Math.Ceiling(maxPoint.X / GridSize);
[0079] int maxGridY = (int) Math.Ceiling(maxPoint.Y / GridSize);
[0080] Therefore, the plane space range covered by the component area is represented as:
[0081] M[minGridX,minGridY] ~ M[maxGridX,maxGridY].
[0082] The index table is a Key-Value list; the Key stores the coordinate index value (X, Y) calculated above, and the Value stores the component Id list.
[0083] As shown in Figure 2 The index table is built by outer loop and inner loop. For any component, the specific processing method is as follows:
[0084] Step S21, outer loop: traverse the index in the first direction (e.g. X-axis direction); use variable x to increase from minGridX to maxGridX with a step of 1;
[0085] Step S22, inner loop: traverse the index in the second direction (e.g. Y-axis direction); for each x, use variable y to increase from minGridY to maxGridY with a step of 1;
[0086] Step S221, generate Key: combine the current (x, y) into gridKey of Tuple<int, int> type as the basis for indexing - check whether the values of X and Y are consistent;
[0087] Step S222, check index table (table): if there is no entry corresponding to gridKey in the index table table, first create and initialize an empty component list M, and then add gridKey and component list M as a key-value pair to table; if there is a corresponding gridKey, take out the corresponding component list.
[0088] Step S223, add component: regardless of whether there is an entry in the index table, add the component to the component list corresponding to gridKey.
[0089] Step S23, return to step S22 to continue the inner loop, and after the inner loop is completed, return to step S21 to continue the next x, until the outer loop ends.
[0090] Finally, repeat steps S21-S23 until all components in the component list A obtained in the previous step S12 are processed.
[0091] Since the circular region is not directly described in the two-dimensional grid index, we use a minimum square (side length = 2R) that can just cover the circle to approximate, and fill the components according to the spatial position index into the corresponding matrix range for fast spatial query. As a preferred embodiment, in step S103, the coordinates of the point to be searched and the search radius are obtained, and the corresponding occupied range is calculated according to the coordinates of the point and the search radius, including:
[0092] A square coverage area is constructed with the point to be searched as the center and half of the search radius as the side length.
[0093] The minimum vertex coordinates and the maximum vertex coordinates of the coverage area are divided by the preset step length respectively to determine the minimum index value and the maximum index value of the search range, and the point in the search radius corresponding to the occupied range is obtained.
[0094] Wherein, the left lower corner coordinate of the square = (point X-radius, point Y-radius); the right upper corner coordinate = (point X+radius, point Y+radius).
[0095] After converting the boundary of the square into a grid index range, all the components that "may fall within the circle" can be taken out at one time; then the parts that are not really within the circle are screened out by subsequent fine geometric calculation. In this way, both the accuracy is preserved and the number of components that need to be calculated finely is greatly reduced, thereby improving the overall search efficiency.
[0096] As a specific embodiment, the specific process of point search based on the index table in actual execution is as follows:
[0097] First, the search parameters are obtained, that is, the point coordinates to be searched and the search radius input by the user are obtained;
[0098] Secondly, the grid range covered by the radius is calculated, and the principle is to calculate the left lower corner and right upper corner coordinates of the square according to the point coordinates, and the calculation method is similar to the index value calculation of the component region range, the difference is that the XY coordinates need to be processed by addition and subtraction:
[0099] int minGridX=(int)Math.Floor((position.X-radius) / GridSize);
[0100] int minGridY=(int)Math.Floor((position.Y-radius) / GridSize);
[0101] int maxGridX=(int)Math.Ceiling((position.X+radius) / GridSize);
[0102] int maxGridY = (int) Math.Ceiling((position.Y + radius) / GridSize);
[0103] wherein radius is the search radius, the coordinates of the point to be searched are (position.X, position.Y), and GridSize is the step size.
[0104] As a preferred embodiment, in step S104, the index value of the occupancy range is used to search the component index range, to obtain a list of intersecting components within the search radius range of the point, including:
[0105] All index values corresponding to the occupancy range are used to query the component index table one by one.
[0106] If an entry matching any index value is found, the component list corresponding to the entry is obtained, and the component identifiers in the list are included in the search result.
[0107] After the traversal is completed, the obtained set of non-repeating component identifiers is taken as the list of components intersecting the point coordinates and the search radius.
[0108] As a specific embodiment, the following describes the construction of the intersection search process in detail. Figure 3 The above search process for constructing the intersection is described in detail. In actual operation, the search process is also implemented through two layers of loops, specifically including:
[0109] Step S31, outer loop: traverse the index in the X-axis direction: x increases from minGridX to maxGridX.
[0110] Step S32, inner loop: traverse the index in the Y-axis direction: under each value of x, y increases from minGridY to maxGridY (inclusive).
[0111] Step S321, construct the current grid key, combine the current (x, y) into a gridKey of type Tuple<int, int>.
[0112] Step S322, if the dictionary_grid contains the key gridKey, traverse the component list corresponding to the key, and store the component Id in the search result list resultIds.
[0113] Step S33, after the two layers of loops are completed, all non-repeating component Ids appearing in the grid (x, y) region have been collected in resultIds.
[0114] By double-layer circulation, all possible grids containing intersecting components are locked once, avoiding indiscriminate scanning of the whole layer space. By step S322, instant deduplication is completed when traversing the component list, avoiding the same component being repeatedly recorded due to crossing multiple grids, ensuring that resultIds only contain non-repeated IDs, saving memory and subsequent processing time.
[0115] As shown in Figure 4 The embodiment of the application also provides a point location quick finding device 400 based on BIM space, which comprises:
[0116] A component area determination module 401 is configured to obtain three-dimensional bounding boxes of all components in a specified floor space, project the three-dimensional bounding boxes to a horizontal plane, and obtain a component area horizontal outer frame;
[0117] An index establishment module 402 is configured to generate component index ranges of all components in a two-dimensional space based on extreme points of the component area horizontal outer frame;
[0118] A data acquisition module 403 is configured to acquire coordinates of a point location to be found and a search radius, and calculate a corresponding occupied range according to the coordinates of the point location and the search radius;
[0119] A finding module 404 is configured to find, based on index values of the occupied range, in the component index ranges, a list of intersecting components of the point location within the search radius range.
[0120] As shown in Figure 5 The above-mentioned point location quick finding method based on BIM space, the application also provides an electronic device 600, which can be a mobile terminal, a desktop computer, a notebook computer, a palm computer and a server, etc. The electronic device comprises a processor 501, a memory 502 and a display 503.
[0121] The memory 502 can be an internal storage unit of the computer device, such as a hard disk or a memory of the computer device in some embodiments. The memory 502 can also be an external storage device of the computer device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device in some other embodiments. Further, the memory 502 can include both the internal storage unit and the external storage device of the computer device. The memory 502 is used to store application software and various data installed on the computer device, such as program codes installed on the computer device. The memory 502 can also be used to temporarily store data that has been output or will be output. In an embodiment, the memory 502 stores a point position quick searching method based on BIM space program 504, which can be executed by the processor 501 to implement the point position quick searching method based on BIM space of various embodiments of the present application.
[0122] The processor 501 can be a central processing unit (CPU), a microprocessor or other data processing chip in some embodiments, used to run program codes or process data stored in the memory 502, such as to execute the point position quick searching method based on BIM space program, etc.
[0123] The display 503 can be an LED display, a liquid crystal display, a touch liquid crystal display, an OLED (Organic Light-Emitting Diode) touch, etc. in some embodiments. The display 503 is used to display information of the computer device and to display visualized user interfaces. The components 501-503 of the computer device communicate with each other through a system bus.
[0124] The embodiment also provides a computer readable storage medium, which stores a computer program. When the computer program is executed by a processor, the point position quick searching method based on BIM space of any of the above technical solutions is implemented.
[0125] The computer readable storage medium and the computer device provided by the above embodiments of the present application can be implemented according to the content described in the implementation of the point position quick searching method based on BIM space as described above, and have similar beneficial effects to the point position quick searching method based on BIM space as described above, which will not be described here.
[0126] The above merely describes preferred specific embodiments of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed by the present application, which should be covered within the protection scope of the present application.
Claims
1. A BIM space-based point location quick search method, characterized in that, The method comprises the following steps: Obtain the three-dimensional bounding box of all components in the specified floor space, project the three-dimensional bounding box onto the horizontal plane to obtain the horizontal outer frame of the component area; Based on the extreme points of the horizontal outer frame of the component area, generate the component index range of all components in the two-dimensional space; Obtain the coordinates of the point to be searched and the search radius, and calculate the corresponding occupied range according to the coordinates of the point and the search radius; Based on the index value of the occupied range, search in the component index range to obtain the intersecting component list of the point within the search radius range.
2. The BIM space-based point location quick search method according to claim 1, characterized in that, Based on the extreme points of the horizontal outer frame of the component area, generate the component index range of all components in the two-dimensional space, comprising: Respectively take the lower left corner vertex and the upper right corner vertex of the horizontal outer frame of the component area as the minimum point and the maximum point; Divide the coordinates of the minimum point and the maximum point by a preset step size to obtain the component index range, which represents the planar range occupied by the component.
3. The BIM space-based point location quick search method according to claim 1, characterized in that , generate the component index range of all components in the two-dimensional space, further comprising: Construct a key-value structure component index table with each coordinate index value in the component area index range as the key and the corresponding component identification list as the value.
4. The BIM space-based point location quick search method according to claim 3, characterized in that, The construction of the key-value structure component index table comprises: For any component, sequentially traverse all integer coordinates from the minimum point coordinate index value to the maximum point coordinate index value along the first direction; Under each first direction coordinate, sequentially traverse all integer coordinates from the minimum point coordinate index value to the maximum coordinate index value along the second direction; Take the current first direction coordinate and the second direction coordinate together to form an index key, Repeat the construction process of the index key until all components are processed to generate the component index table.
5. The BIM space-based point location quick lookup method according to claim 4, characterized in that, The construction of the key-value structure component index table further comprises: If the current index key exists in the component index table, add the corresponding component identification to the component list corresponding to the key; if not, first create an empty component list, and then add the component identification to the component list corresponding to the key.
6. The BIM space-based point location quick search method according to claim 1, characterized in that, Obtain the coordinates of the point to be searched and the search radius, and calculate the corresponding occupied range according to the coordinates of the point and the search radius, comprising: Construct a square coverage area with the point to be searched as the center and half the side length of the search radius; Divide the minimum vertex coordinates and the maximum vertex coordinates of the coverage area by a preset step size to determine the minimum index value and the maximum index value of the to-be-searched range, and obtain the occupied range of the point corresponding to the search radius.
7. The BIM space-based point location quick lookup method according to claim 6, characterized in that, Based on the index value of the occupied range, search in the component index range to obtain the intersecting component list of the point within the search radius range, comprising: Use all index values corresponding to the occupied range to query one by one in the component index table; if an entry matching any index value is found, obtain the component list corresponding to the entry, and include the component identification in the list in the search result; After traversal is completed, the obtained set of non-repeating component identifications is taken as the component list intersecting with the point coordinates and the search radius.
8. A BIM space-based point location quick search device, characterized in that, The method comprises the following steps: A component area determination module is configured to obtain the three-dimensional bounding box of all components in the specified floor space, project the three-dimensional bounding box onto the horizontal plane to obtain the horizontal outer frame of the component area; An index establishing module is configured to generate a component index range of all components in a two-dimensional space based on extreme points of the component area horizontal frame; A data obtaining module is configured to obtain coordinates of a point to be searched and a search radius, and calculate a corresponding occupied range according to the coordinates of the point and the search radius; A searching module is configured to search in the component index range based on an index value of the occupied range, and obtain a list of intersecting components of the point within the search radius.
9. An electronic device, comprising: The computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement the point searching method based on BIM space according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement the point searching method based on BIM space according to any one of claims 1-7.