A Multi-Scene Drilling Layout and Planar Modeling Method Based on BIM Software

By using a multi-scenario borehole layout and planar modeling method based on BIM software, the problems of lack of flexibility and low data management efficiency in existing borehole layout methods are solved. This method achieves multi-scenario adaptability and efficient data management, provides intuitive visualization and interactivity, and improves the accuracy of geological data and engineering efficiency.

CN119337481BActive Publication Date: 2025-10-28CHINA TRANSPORT INFORMATION TECH GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411561389.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2024-08-22
Filing Date
2024-11-04
Publication Date
2025-10-28
Estimated Expiration
2044-11-04

AI Technical Summary

Technical Problem

Existing borehole layout methods lack flexibility, are difficult to adapt to diverse engineering needs, cannot achieve planar modeling, result in low efficiency in geological data management, and make it difficult to flexibly define and store various data types.

Method used

A multi-scenario borehole layout and planar modeling method based on BIM software is adopted, including reading BIM model files, activating terrain and routes, defining and laying out boreholes, importing borehole data into the database, planar modeling and data updating and maintenance, using OpenGL and Qt for 3D rendering, combining TIN algorithm and GeoJSON format for data storage and visualization, using Kafka and RDS for data processing, and using PostgreSQL for data management and trigger monitoring.

Benefits of technology

It enables flexible adaptation to borehole layout in multiple scenarios, improves the efficiency and accuracy of geological data management, supports engineering needs under various geological conditions, provides intuitive visualization and interactivity, and enhances the efficiency of geological data management and analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119337481B_ABST
    Figure CN119337481B_ABST
Patent Text Reader

Abstract

This invention relates to the field of Building Information Modeling (BIM) technology, and in particular to a multi-scene borehole layout and planar modeling method based on BIM software, comprising the following steps: S1, reading the BIM model file, including importing terrain and route information, extracting node data, and rendering the terrain and route information into 3D graphics; S2, activating the terrain and routes, including activating the imported terrain and route information in the software to ensure that subsequent operations are based on accurate data; S3, defining and arranging boreholes, including drawing and defining the borehole layout based on the terrain and route information in the BIM model; S4, importing borehole data into the database, including data conversion and standardization processing, and storing the data in a cloud database; S5, planar modeling, including generating triangular meshes using the TIN algorithm, visualizing geological features, and editing and updating annotations; S6, data updating and maintenance, including real-time updating of borehole data and maintaining the data in the database.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of building information modeling (BIM) technology, and in particular to a multi-scene drilling layout and planar modeling method based on BIM software. Background Technology

[0002] Existing borehole layout methods are mostly designed for specific geological conditions, such as coal mines and mountain railways, lacking flexibility and failing to adapt to diverse engineering needs. Furthermore, existing borehole layout technologies are often single-function, unable to achieve planar modeling, resulting in low efficiency in geological data management and difficulty in flexibly defining and storing various data types.

[0003] The information disclosed in this background section is intended only to enhance the understanding of the general background of the invention and should not be construed as an admission or in any way implying that the information constitutes prior art known to those skilled in the art. Summary of the Invention

[0004] The purpose of this invention is to provide a multi-scenario drilling layout and planar modeling method based on BIM software to solve the technical problems existing in the prior art.

[0005] To achieve the above objectives, the present invention adopts the following technical solution:

[0006] This invention provides a method for multi-scene borehole layout and planar modeling based on BIM software, which includes the following steps:

[0007] S1. Read the BIM model file, including importing terrain and route information, extracting node data, and rendering the terrain and route information into 3D graphics;

[0008] S2. Activate terrain and routes, including activating imported terrain and route information in the software to ensure that subsequent operations are based on accurate data;

[0009] S3. Define and arrange boreholes, including drawing and defining the borehole layout based on the terrain and route information in the BIM model;

[0010] S4. Drilling data import, including data conversion and standardization processing, and data storage to cloud database:

[0011] S5, planar modeling, including generating triangular meshes using the TIN algorithm, visualizing geological features, and editing and updating annotations;

[0012] S6. Data update and maintenance, including real-time updates of borehole data and maintenance of data in the database.

[0013] Preferably, step S1 includes the following steps:

[0014] S11. When the user selects the "File Import" function in the BIMBase software, the system displays a file selection dialog box;

[0015] S12. After the user selects a file, the system starts the DOM parser and reads the file content node by node: for terrain nodes, it extracts the name, boundary, and layer information attributes; for line nodes, it extracts the start point, end point, and path information.

[0016] S13. After parsing is completed, the system stores the parsed information in memory and manages it using a linked list structure.

[0017] S14. Using the OpenGL library, terrain and route information are rendered into 3D graphics, which users can rotate and zoom on the interface to view, providing an intuitive geological scene display.

[0018] Preferably, step S14 includes the following steps:

[0019] S141. Initialize the OpenGL context:

[0020] When the BIMBase software starts, it initializes the OpenGL context to prepare for graphics rendering and configures rendering parameters.

[0021] S142. Load terrain and route data:

[0022] The terrain and route information, including vertex coordinates, boundaries, and attributes, is obtained from the parsed BIM model; this information is then converted into a vertex format usable by OpenGL using a data parser.

[0023] S143. Create a Vertex Buffer Object (VBO):

[0024] Create VBOs for the vertex data of the terrain and lines; generate buffer objects using the glGenBuffers() function and bind the data to the GPU using glBindBuffer();

[0025] S144. Writing and using shader programs:

[0026] Use GLSL to write vertex and fragment shaders to control the lighting, materials, and color effects of graphics; define light sources and viewpoints in the shaders to enhance the sense of layering and depth of 3D scenes;

[0027] S145, Rendering 3D graphics:

[0028] Call the glDrawArrays() or glDrawElements() function to render the terrain and lines based on the vertex data; convert the 3D coordinates to screen coordinates through the model-view projection matrix to complete the rendering process;

[0029] S146. Implement interactive functions:

[0030] Use Qt's event handling mechanism to listen for user keyboard and mouse input;

[0031] Implement zoom, rotate, and translate functions: respond to user interaction by modifying the view matrix;

[0032] Zoom: Adjust the scale of the view matrix using the mouse wheel;

[0033] Among them, rotation: adjust the rotation angle of the view matrix by dragging the mouse;

[0034] Among them, translation: adjust the position of the view matrix using the keyboard arrow keys;

[0035] S147. Real-time update display:

[0036] During user interaction, the 3D scene is redrawn in real time to ensure that users can view changes in the geological scene on the interface in real time; the system updates the display at a refresh rate of 60 frames per second to provide a smooth user experience.

[0037] Preferably, step S2 includes the following steps:

[0038] S21. When the user clicks the "Activate Terrain" button in the "Exploration and Testing" module, the system enters the terrain selection mode;

[0039] S22. The system listens for mouse click events using Qt's signal and slot mechanism: when the user clicks on the terrain boundary, the event handler function is triggered to obtain the element at the clicked position; the color attribute of the selected terrain is updated using OpenGL VBO, and the highlight effect is rendered in real time.

[0040] S23. After the user confirms activation, the system will pop up a prompt box to display the currently activated terrain information;

[0041] S24. Users can activate line elements, and the system uses event listening and efficient rendering technology to select and highlight the lines.

[0042] Preferably, step S3 includes the following steps:

[0043] S31. When the user clicks the "Drilling Definition" button in the "Exploration and Testing" module, the system enters the definition mode;

[0044] S32. When the mouse selects a polyline, the system pops up a drill definition window: the user enters the drill number and type, and selects the drill location; the system uses SQL statements to insert the drill information into the database; transactions are used to ensure the atomicity of each operation and prevent data inconsistency caused by failures in the middle.

[0045] S33. The user enters the "Drilling Layout" window, inputs the site name, estimated hole depth, color parameters, and clicks OK;

[0046] S34. The system automatically generates a borehole layout model and marks its location on the map, supporting integrated display with other geological data: it generates a borehole location information file using GeoJSON format; it loads the GeoJSON file through QGIS to display the borehole location on the map; and it overlays the borehole model with the surrounding geological information, allowing users to view and adjust details through the map interface.

[0047] Preferably, step S4 includes the following steps:

[0048] S41. The user selects the borehole number to be put into storage and clicks the "Put into Storage" button;

[0049] S42. The system uses Kafka to transform data and upload it to the RDS database: the data is transformed into a standardized format, and Kafka is used for data stream processing; the data is transmitted to the RDS database using an HTTP POST request, and the server parses and stores the data.

[0050] S43. After the data is entered into the database, the system generates an operation log to record the entry status and detailed information.

[0051] S44. Run ETL jobs regularly to ensure data synchronization and consistency across different storage tiers.

[0052] Preferably, step S5 includes the following steps:

[0053] S51. Enter the planar modeling module and select "Generate Planar View":

[0054] Users launch the BIMBase software and enter the "Plane Modeling" module;

[0055] Clicking the "Generate Plan View" button will automatically load the borehole data for the current project, including the borehole coordinates, depth, and geological attributes.

[0056] The interface adopts the Qt framework GUI design, allowing users to operate through an intuitive options interface, ensuring the convenience and efficiency of the process;

[0057] S52. Generate a triangular network, including the following steps:

[0058] S521. Read borehole coordinates;

[0059] S522, Construct the initial point set and triangle network;

[0060] S53 optimization and subdivision of triangular networks includes the following steps:

[0061] S531, High-precision area subdivision:

[0062] S532, Laplace smoothing:

[0063] S54. Visualize TIN using matplotlib, including the following steps:

[0064] S541. Draw a triangular mesh:

[0065] S542, Geological Attribute Color Coding:

[0066] S55, Graphic Editing and Real-time Updates, includes the following steps:

[0067] S551. The system uses Qt's event handling mechanism to capture user editing operations on the visual interface;

[0068] S552. Users can add annotations or modify paths in the graph, and the system updates the TIN network in real time and regenerates the visualization results.

[0069] S553. Dynamic linkage between graphic editing and visualization is achieved through the signal and slot mechanism, ensuring synchronization between user operation and model update;

[0070] S56. Store the graphic data to the project database, including the following steps:

[0071] S561. After the floor plan is generated, the system stores the TIN model and related data in the project database to ensure data security and durability.

[0072] S562. Use transaction mechanisms to ensure atomicity during data storage and prevent inconsistencies caused by partial data writes;

[0073] S563. Record graphical data and its version information using SQL statements to support version control and historical record queries;

[0074] S564. Users can view, edit, or revert to historical versions in subsequent visits, which facilitates project management and analysis.

[0075] Preferably, step S6 includes the following steps:

[0076] S61. Set up triggers in PostgreSQL to monitor insert, update, and delete operations on the borehole data table;

[0077] S62. Regularly run Python scripts to perform data maintenance tasks: clean up redundant data in the database, update indexes, and improve query performance; use SQL statements to generate data reports and provide them to the administrator for review.

[0078] S63. After data changes, the system notifies the administrator via email, providing details of the changes and suggested actions.

[0079] By adopting the above technical solution, the present invention has the following beneficial effects:

[0080] This invention enables borehole layout and planar modeling in multiple scenarios, flexibly adapting to different geological conditions and engineering needs, and improving the efficiency and accuracy of geological data management. Attached Figure Description

[0081] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0082] Figure 1 A flowchart illustrating the multi-scenario drilling layout and planar modeling method based on BIM software provided in this embodiment of the invention;

[0083] Figure 2 This is a schematic diagram illustrating the operation of activating terrain according to an embodiment of the present invention;

[0084] Figure 3 This is an example of the operational intent shown in the activation line information provided in the embodiments of the present invention;

[0085] Figure 4 This is a schematic diagram of the definition and arrangement of boreholes provided in an embodiment of the present invention;

[0086] Figure 5 This is a schematic diagram of drilling and silo insertion provided in an embodiment of the present invention;

[0087] Figure 6 This is a schematic diagram of planar modeling generation provided for an embodiment of the present invention. Detailed Implementation

[0088] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0089] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit the present invention. Example 1

[0090] Combination Figures 1 to 6 As shown, this invention provides a multi-scene drilling layout and planar modeling method based on BIM software, which includes the following steps:

[0091] S1. Read the BIM model file, including importing terrain and route information, extracting node data, and rendering the terrain and route information into 3D graphics;

[0092] Among them, the technical solution is as follows:

[0093] File parsing algorithm: The DOM (Document Object Model) parser is used to parse IFC format BIM model files. The DOM parser loads the entire file into memory to build a tree structure, facilitating random access and manipulation of the model data.

[0094] Data storage structure: A linked list structure is used to store the parsed terrain and route information. Each node represents a building or geological element, including attributes such as name, type, and location coordinates.

[0095] Specifically, step S1 includes the following steps:

[0096] S11. When the user selects the "File Import" function in the BIMBase software, the system displays a file selection dialog box;

[0097] S12. After the user selects a file, the system starts the DOM parser and reads the file content node by node: for terrain nodes, it extracts the name, boundary, and layer information attributes; for line nodes, it extracts the start point, end point, and path information.

[0098] S13. After parsing is completed, the system stores the parsed information in memory and manages it using a linked list structure.

[0099] S14. Using the OpenGL library, terrain and route information are rendered into 3D graphics, which users can rotate and zoom on the interface to view, providing an intuitive geological scene display.

[0100] Specifically, step S14 includes the following steps:

[0101] S141. Initialize the OpenGL context:

[0102] When the BIMBase software starts, it initializes the OpenGL context to prepare for graphics rendering; it also configures rendering parameters such as background color and lighting settings to ensure the correctness of the rendering environment.

[0103] S142. Load terrain and route data:

[0104] The terrain and route information, including vertex coordinates, boundaries, and attributes, is obtained from the parsed BIM model; this information is then converted into a vertex format usable by OpenGL using a data parser.

[0105] S143. Create a Vertex Buffer Object (VBO):

[0106] Create VBOs for the vertex data of the terrain and routes;

[0107] Use the glGenBuffers() function to generate buffer objects and bind data to the GPU using glBindBuffer().

[0108] S144. Writing and using shader programs:

[0109] Use GLSL to write vertex and fragment shaders to control the lighting, materials, and color effects of graphics; define light sources and viewpoints in the shaders to enhance the sense of layering and depth of 3D scenes;

[0110] S145, Rendering 3D graphics:

[0111] Call the glDrawArrays() or glDrawElements() function to render the terrain and lines based on the vertex data; convert the 3D coordinates to screen coordinates through the model-view projection matrix to complete the rendering process;

[0112] S146. Implement interactive functions:

[0113] Use Qt's event handling mechanism to listen for user keyboard and mouse input;

[0114] Implement zoom, rotate, and translate functions: respond to user interaction by modifying the view matrix;

[0115] Zoom: Adjust the scale of the view matrix using the mouse wheel;

[0116] Among them, rotation: adjust the rotation angle of the view matrix by dragging the mouse;

[0117] Among them, translation: adjust the position of the view matrix using the keyboard arrow keys;

[0118] S147. Real-time update display:

[0119] During user interaction, the 3D scene is redrawn in real time to ensure that users can view changes in the geological scene on the interface in real time; the system updates the display at a refresh rate of 60 frames per second to provide a smooth user experience.

[0120] S2, Activate terrain and routes;

[0121] Event listening and rendering techniques: Qt's signal and slot mechanism is used to listen for user mouse click events. Real-time rendering is then performed using OpenGL to highlight selected elements.

[0122] High-efficiency rendering technology: Rendering is performed using OpenGL's Vertex Buffer Objects (VBOs) and shader programs, accelerating graphics drawing and updates.

[0123] Specifically, step S2 includes the following steps:

[0124] S21. When the user clicks the "Activate Terrain" button in the "Exploration and Testing" module, the system enters the terrain selection mode;

[0125] S22. The system listens for mouse click events using Qt's signal and slot mechanism: when the user clicks on the terrain boundary, the event handler function is triggered to obtain the element at the clicked position; the color attribute of the selected terrain is updated using OpenGL VBO, and the highlight effect is rendered in real time.

[0126] S23. After the user confirms activation, the system will pop up a prompt box to display the currently activated terrain information;

[0127] S24. Users can activate line elements, and the system uses event listening and efficient rendering technology to select and highlight the lines.

[0128] S3. Define and arrange the boreholes;

[0129] Interactive User Interface and Data Storage: The interactive interface is designed based on the Qt framework and combined with QGIS for geographic information processing. Borehole data is stored in a PostgreSQL database, using transaction processing and index optimization to ensure data integrity and query efficiency.

[0130] Location identification and data integration: The borehole location information is stored in GeoJSON format and integrated with other geological data for display, ensuring the compatibility of the borehole model with the map system.

[0131] Step S3 includes the following steps:

[0132] S31. When the user clicks the "Drilling Definition" button in the "Exploration and Testing" module, the system enters the definition mode;

[0133] S32. Select the polyline with the mouse, and the system will pop up the drill definition window: The user enters the drill number and type, and selects the drill location; the system uses SQL statements to insert the drill information into the database;

[0134] BEGIN;

[0135] INSERT INTO DrillHoles (BoreholeID, Type, Coordinates) VALUES ($1, $2, $3);

[0136] COMMIT;

[0137] Use transactions to ensure the atomicity of each operation and prevent data inconsistency caused by failures midway;

[0138] S33. The user enters the "Drilling Layout" window, inputs the site name, estimated hole depth, color parameters, and clicks OK;

[0139] S34. The system automatically generates a borehole layout model and marks its location on the map, supporting integrated display with other geological data: it generates a borehole location information file using GeoJSON format; it loads the GeoJSON file through QGIS to display the borehole location on the map; and it overlays the borehole model with the surrounding geological information, allowing users to view and adjust details through the map interface.

[0140] S4. Drilling data import, including data conversion and standardization, and data storage to cloud database:

[0141] Technical Solution: Cloud Database Management and ETL Processing: AWS RDS and Apache Kafka are used to remotely store and process borehole data. ETL (Extract, Transform, Load) tools are used to extract, transform, and load the data to ensure data consistency and accessibility.

[0142] Step S4 includes the following steps:

[0143] S41. The user selects the borehole number to be put into storage and clicks the "Put into Storage" button;

[0144] S42. The system uses Kafka to transform data and upload it to the RDS database: the data is transformed into a standardized format, and Kafka is used for data stream processing; the data is transmitted to the RDS database using an HTTP POST request, and the server parses and stores the data.

[0145] S43. After the data is entered into the database, the system generates an operation log to record the entry status and detailed information.

[0146] S44. Run ETL jobs regularly to ensure data synchronization and consistency across different storage tiers.

[0147] S5, planar modeling, including generating triangular meshes using the TIN algorithm, visualizing geological features, and editing and updating annotations;

[0148] Technical Solution: TIN Algorithm and Visualization: The TIN (Triangulated Irregular Network) algorithm is used to generate triangulated planar maps of boreholes, and two-dimensional visualization is performed using Python's matplotlib library. The TIN algorithm forms a triangular network by connecting irregular discrete points, accurately representing the spatial distribution of geological data, and is suitable for terrain modeling and geological analysis.

[0149] Step S5 includes the following steps:

[0150] S51. Enter the planar modeling module and select "Generate Planar View":

[0151] Users launch the BIMBase software and enter the "Plane Modeling" module;

[0152] Clicking the "Generate Plan View" button will automatically load the borehole data for the current project, including the borehole coordinates, depth, and geological attributes.

[0153] The interface adopts the Qt framework GUI design, allowing users to operate through an intuitive options interface, ensuring the convenience and efficiency of the process;

[0154] S52. Generating a triangular network:

[0155] S521. Read borehole coordinates:

[0156] The system executes SQL queries (such as SELECT x, y, z FROM borehole_data WHERE project_id=?) through the relational database PostgreSQL to extract the spatial coordinates and geological attributes of all boreholes in the current project.

[0157] The data was formatted as a list containing information on all borehole points, which served as input for triangulation.

[0158] S522, Construct the initial point set and triangle network;

[0159] The Delaunay triangulation algorithm is based on:

[0160] The Delaunay triangulation algorithm is used to generate an optimal initial triangular mesh, ensuring that the minimum angle of each triangle is maximized. Its characteristic is that the circumcircle of any triangle does not contain any other data points.

[0161] The C++ and CGAL libraries are used:

[0162] CGAL (Computational Geometry Algorithms Library) provides efficient and stable geometric calculation algorithms, suitable for processing geological data. Implemented in C++, it can significantly improve the performance of large-scale triangulation processing.

[0163] Detailed operation steps:

[0164] S5221. Generation of the initial point set:

[0165] Data preparation includes:

[0166] Extract the spatial coordinates (x, y, z) and geological attributes of the borehole from the PostgreSQL database;

[0167] Execute an SQL query (e.g., `SELECT x, y, z FROM borehole_data WHERE project_id=?`) to retrieve data and format the result as a list of point sets;

[0168] Coordinate standardization:

[0169] The borehole coordinates are projected and standardized to meet the requirements of planar triangulation.

[0170] Use the geographic coordinate transformation tool Proj4 to ensure that the point set is in the same coordinate system;

[0171] Implementation of S5222 and Delaunay triangulation:

[0172] Among them, triangulation calculation:

[0173] Using the Delaunay triangulation function in CGAL, call the `CGAL::Delaunay_triangulation_2` function and input a standardized point set for triangulation.

[0174] The algorithm automatically identifies and establishes the optimal initial triangle mesh, ensuring that there are no other points inside the circumcircle of any triangle.

[0175] Incremental insertion and edge flipping are included:

[0176] An incremental algorithm is used to handle the dynamic addition of new data points, inserting them point by point and adjusting the existing triangle structure in real time.

[0177] After each insertion, perform an edge flipping operation to check and optimize the triangle shape while maintaining the satisfaction of the Delaunay condition.

[0178] By utilizing the optimization tools provided by CGAL, the edge flipping process is automated, ensuring both computational accuracy and efficiency.

[0179] S53 optimization and subdivision of triangular networks;

[0180] S531, High-precision area subdivision:

[0181] Among them, the subdivision algorithm:

[0182] Local subdivision strategies accurately identify triangular regions requiring refinement and employ appropriate methods for local optimization. Regions requiring higher precision are identified using shape factors (such as aspect ratio) and geological features (such as anomalous rock formations).

[0183] Detailed operation steps:

[0184] S5311, Region Identification:

[0185] Calculate area and shape factor: Calculate the area and interior angles of each triangle and compare them with preset thresholds (such as triangles smaller than a certain area).

[0186] Threshold selection: Based on engineering needs or geological complexity, set thresholds for shape factors and area (such as excessively small interior angles or excessively large aspect ratios) to identify areas that require high-precision processing.

[0187] S5312, Mesh Subdivision:

[0188] Midpoint subdivision method:

[0189] For the identified triangles that need further subdivision, insert the midpoint and divide them into smaller triangles.

[0190] Update the adjacency list to ensure seamless connection between the new triangle and the existing mesh.

[0191] Vertex insertion:

[0192] For specific geologically anomalous areas, additional data points are inserted to improve local grid accuracy.

[0193] After applying the insertion, use edge flipping to adjust adjacent triangles and optimize mesh quality.

[0194] S532, Laplace smoothing:

[0195] Smoothing Algorithm: The Laplace smoothing algorithm reduces irregular changes and improves the overall smoothness of the model by moving vertices to the average position of their neighborhoods.

[0196] Detailed operation steps:

[0197] S5321. Neighborhood average calculation:

[0198] For each vertex, identify the set of its directly adjacent vertices.

[0199] Calculate the geometric center of the vertex's neighborhood as the smoothed target location.

[0200] S5322. Vertex Movement:

[0201] Translate the vertex along the vector direction to the calculated geometric center.

[0202] Preserve key geological features and ensure the integrity of geological information by limiting the distance of movement.

[0203] S5323. Iterative Processing:

[0204] Iteratively apply smoothing operations until the set smoothness standard is met or the maximum number of iterations is reached.

[0205] After each iteration, evaluate the mesh deformation and adjust the smoothing parameters if necessary.

[0206] S54. Visualizing TIN using matplotlib:

[0207] S541. Draw a triangular mesh:

[0208] Technical solution: Use a Python script to call the matplotlib function `plot_trisurf()` to draw a 3D surface mesh and visually display geological features.

[0209] Detailed operation steps:

[0210] S5411, Data Preparation:

[0211] Export the triangulated grid data to Python format and extract the spatial coordinates and geological attributes of each triangle vertex.

[0212] S5412, Visual Script Execution:

[0213] Write a Python script to generate 3D graphics using matplotlib.

[0214] Call `plot_trisurf(x,y,z,triangles=triangles,cmap='terrain')` to draw a grid with geological features.

[0215] S542, Geological Attribute Color Coding:

[0216] Technical solution: Geological attributes (such as soil type and lithology) are encoded into triangular meshes through color mapping, and different hues are used to distinguish them;

[0217] Detailed operation steps:

[0218] S5421, Attribute Mapping:

[0219] Based on geological attribute values, attribute categories are mapped to preset colors.

[0220] Use the `cmap` parameter to set the color mapping scheme, such as `cmap='viridis'`.

[0221] S5422, Color Rendering:

[0222] Color mapping is applied in the drawing to generate clearly identifiable geological feature graphics.

[0223] Implement a legend function, using `plt.colorbar()` to provide users with explanations of the color codes.

[0224] S5423, Visualization Result Optimization:

[0225] It supports user interaction to adjust the color range to suit different analysis needs.

[0226] It provides a graphical export function, allowing users to save analysis results as reports or use them for further processing in other software.

[0227] S55, Graphic Editing and Real-time Updates:

[0228] S551. The system uses Qt's event handling mechanism to capture user editing operations on the visual interface;

[0229] S552. Users can add annotations or modify paths in the graph, and the system updates the TIN network in real time and regenerates the visualization results.

[0230] S553. Dynamic linkage between graphic editing and visualization is achieved through the signal and slot mechanism to ensure synchronization between user operation and model update;

[0231] S56. Store graphic data to the project database:

[0232] S561. After the floor plan is generated, the system stores the TIN model and related data in the project database to ensure data security and durability.

[0233] S562. Use transactions to ensure atomicity during data storage and prevent inconsistencies caused by partial data writes.

[0234] S563. Record graphical data and its version information using SQL statements, such as INSERT INTO model_data(tin_data, version) VALUES(?, ?), to support version control and historical record queries.

[0235] S564. Users can view, edit, or revert to historical versions in subsequent visits, which facilitates project management and analysis.

[0236] S6. Data update and maintenance.

[0237] Automatic monitoring and triggers: Use PostgreSQL triggers to monitor data changes, and combine them with Python scripts for data management and monitoring.

[0238] S61. Set up triggers in PostgreSQL to monitor insert, update, and delete operations on the borehole data table:

[0239] CREATE TRIGGER data_change_trigger

[0240] AFTER INSERT OR UPDATE OR DELETE ON DrillData

[0241] FOR EACH ROW EXECUTE PROCEDURE data_change_handler();

[0242] The data_change_handler() stored procedure is responsible for recording change logs and performing necessary data updates and maintenance.

[0243] S62. Regularly run Python scripts to perform data maintenance tasks: clean up redundant data in the database, update indexes, and improve query performance; use SQL statements to generate data reports and provide them to the administrator for review.

[0244] S63. After data changes, the system notifies the administrator via email, providing details of the changes and suggested actions.

[0245] In summary, the innovations and advantages of this invention are as follows:

[0246] ① The flexible adaptability of geological borehole data across multiple scenarios:

[0247] This invention achieves flexible adaptability in various complex geological scenarios, overcoming the limitations of traditional technologies that are only applicable to specific geological conditions. By importing and parsing terrain and route information into BIM software, users can dynamically define and arrange boreholes according to actual geological conditions. Employing advanced OpenGL rendering and Qt event handling technology, the system can highlight and activate specific terrain and routes in real time, making borehole design more interactive and flexible. This method not only improves the system's applicability and exploration efficiency but also effectively reduces the complexity and uncertainty caused by the diversity of geological conditions.

[0248] ②Comprehensive borehole planar modeling capabilities:

[0249] Compared to traditional methods, this invention not only supports borehole layout but also achieves planar modeling of borehole data by generating accurate 2D planar maps in a BIM-based environment using the TIN algorithm. This modeling method utilizes borehole information from a database for spatial triangulation and visualizes it using Python's matplotlib library. In this way, users can intuitively view, edit, and update borehole data, ensuring the dynamic integrity and accuracy of the information. Furthermore, the planar modeling function supports version management and historical record queries, greatly improving the efficiency of geological data management and the accuracy of decision-making. This innovation significantly enhances the convenience and precision of geological analysis and construction decisions. Example 2

[0250] This embodiment uses a specific example of borehole layout and planar modeling for a highway project. In this case, precise geological analysis and borehole layout for complex terrain along the route (such as hilly areas, plains, and riverine regions) provide crucial data support for engineering design and construction. The following are the detailed implementation steps of this project:

[0251] 1. Read BIM model files

[0252] Operating procedures:

[0253] 1.1 Importing the BIM model:

[0254] Users can select the "File Import" function in the BIMBase software to import BIM model files containing terrain and route information.

[0255] The system automatically starts the DOM parser to parse the file content and extract terrain and route information along the highway.

[0256] 1.2 Data Analysis:

[0257] For terrain nodes, the system extracts information including name, boundary, and level.

[0258] For each route node, the system extracts information such as the starting point, ending point, and path.

[0259] 1.3 Information Display:

[0260] After the analysis is complete, the system renders the information into 3D graphics, and users can view the geological scenes along the highway through the interface.

[0261] 2. Activate terrain and routes

[0262] Operating procedures:

[0263] 2.1 When the user clicks the "Activate Terrain" button in the "Exploration and Testing" module, the system enters the terrain selection mode.

[0264] 2.2 The user selects a hilly terrain area with the mouse, and the system uses OpenGL to highlight it before confirming the selection.

[0265] 2.3 The system prompts "Currently active terrain: Hilly area".

[0266] 2.4 When the user selects the "Activate Route" button and selects the main highway route, the system confirms and highlights it.

[0267] 3. Define and arrange boreholes

[0268] Operating procedures:

[0269] 3.1 In the “Exploration and Testing” module, the user clicks the “Borehole Definition” button.

[0270] 3.2 The user selects the specific location where drilling is to be performed on the interface (such as near station K5+300), and the system pops up the drilling definition window.

[0271] 3.3 The user enters the borehole number (e.g., G001), selects the borehole type (e.g., geological borehole), and defines the borehole location.

[0272] 3.4 The system uses SQL statements to store drilling information in a PostgreSQL database to ensure data accuracy.

[0273] 3.5 Users enter the "Drilling Layout" window and set parameters such as the drilling site name, estimated hole depth (e.g., 20 meters), and color.

[0274] 3.6 The system automatically generates a borehole layout model and marks the center location of the boreholes on the map.

[0275] 4. Drilling data import

[0276] Operating procedures:

[0277] 4.1 The user selects the borehole number to be added to the inventory and clicks the "Add to Inventory" button.

[0278] 4.2 The system uses Kafka to standardize the data and then transmits it to the AWS RDS database for storage.

[0279] 4.3 After data storage is completed, the system generates operation logs and uses ETL tools to ensure data synchronization and consistency.

[0280] 5. Plane Modeling

[0281] Operating procedures:

[0282] 5.1 Users enter the "Plane Modeling" module and select "Generate Plan View".

[0283] 5.2 System call to TIN algorithm to construct triangular mesh:

[0284] Read all borehole coordinates and geological attributes from the database.

[0285] The initial mesh is generated using Delaunay triangulation, and then refined and optimized in high-precision regions.

[0286] 5.3 System calls to Python scripts for visualization using matplotlib:

[0287] Draw a triangular mesh and label the geological properties of each triangle.

[0288] Color coding helps users analyze geological features.

[0289] 5.4 Users can edit and annotate on the plan view, and the system automatically updates the TIN model and displays the latest visualization results.

[0290] 5.5 The system will store the generated floor plans and data in the project database, and provide version management and historical record query functions to support engineers in subsequent decision analysis.

[0291] 6. Data updates and maintenance

[0292] Operating procedures:

[0293] 6.1 Set up PostgreSQL triggers to monitor changes in borehole data.

[0294] 6.2 Perform database maintenance tasks regularly using Python scripts to ensure data consistency and integrity.

[0295] 6.3 The system sends email notifications to relevant engineers after data changes, so that adjustments and decisions can be made in a timely manner.

[0296] In summary, the present invention has the following advantages:

[0297] (I) Technical Effects:

[0298] (1) Multi-scenario adaptability:

[0299] This invention breaks through the limitations of existing technologies that are only applicable to single geological scenarios (such as coal mines, mountain railways, etc.), and can flexibly adapt to the drilling layout requirements under various geological conditions. By importing and activating different terrain and route information in BIM software, the system can automatically adapt to different geological environments, allowing users to arrange drilling according to actual geological conditions. This multi-scenario adaptability significantly improves the system's flexibility and applicability, reducing the complexity and uncertainty caused by the diversity of geological conditions.

[0300] (2) Efficient data processing and modeling:

[0301] This invention employs the TIN (Triangulated Irregular Network) algorithm and the incremental Delaunay triangulation algorithm for planar modeling of borehole data. Compared with traditional two-dimensional layout methods, triangulation can more accurately represent the spatial distribution of geological data, making the model more realistic and accurate. Simultaneously, through efficient data processing workflows and intelligent algorithm applications, this invention achieves real-time data updates and synchronization, improving model generation efficiency and shortening geological data analysis time.

[0302] (3) Intuitive visualization and user interaction:

[0303] Utilizing visualization technologies such as OpenGL and matplotlib, this invention provides efficient 3D and 2D geological model display. Users can view and analyze geological information through an intuitive graphical interface, supporting interactive operations such as zooming, rotating, and panning views. This visualization capability not only enhances the presentation of geological data but also improves the user experience and decision-making ability.

[0304] (II) Economic Effects:

[0305] (1) Reduce exploration costs:

[0306] By employing precise borehole positioning and an efficient modeling process, this invention reduces repetitive and ineffective drilling operations, thereby lowering exploration costs. Simultaneously, real-time data synchronization and updates minimize human intervention, reducing construction delays and rework caused by inaccurate or outdated data, thus improving overall project efficiency.

[0307] (2) Improve resource utilization:

[0308] Its flexibility and adaptability across multiple environments enable more rational allocation and utilization of drilling resources, avoiding waste. Precise geological models allow for better planning and management of exploration resources, improving resource utilization efficiency.

[0309] (III) Social Impact:

[0310] (1) Improve engineering safety:

[0311] Through precise geological data analysis and model prediction, this invention can help engineers identify potential geological risks in advance, such as earthquake faults and groundwater leakage, and then take effective preventive measures to improve engineering safety.

[0312] (2) Promote geological data sharing and cooperation:

[0313] This invention promotes the sharing and collaboration of geological data through standardized data storage and management. Engineers and project managers can access and analyze geological information through a unified platform, improving team collaboration efficiency and project management capabilities.

[0314] (3) Promoting technological progress:

[0315] The multi-scenario adaptability and planar modeling technology of this invention have promoted technological progress in the field of geological exploration and provided the industry with more efficient and advanced solutions.

[0316] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for multi-scene borehole layout and planar modeling based on BIM software, characterized in that, Includes the following steps: S1. Read the BIM model file, including importing terrain and route information, extracting node data, and rendering the terrain and route information into 3D graphics; S2. Activate terrain and routes, including activating imported terrain and route information in the software to ensure that subsequent operations are based on accurate data; S3. Define and arrange boreholes, including drawing and defining the borehole layout based on terrain and route information in the BIM model; S4. Drilling data import, including data conversion and standardization, and data storage to cloud database: S5, planar modeling, including generating triangular meshes using the TIN algorithm, visualizing geological features, and editing and updating annotations; S6. Data update and maintenance, including real-time updates of borehole data and maintenance of data in the database; Step S1 includes the following steps: S11. When the user selects the "File Import" function in the BIMBase software, the system displays a file selection dialog box; S12. After the user selects a file, the system starts the DOM parser and reads the file content node by node: for terrain nodes, it extracts the name, boundary, and layer information attributes; for line nodes, it extracts the start point, end point, and path information. S13. After parsing is completed, the system stores the parsed information in memory and manages it using a linked list structure. S14. Using the OpenGL library, terrain and route information are rendered into 3D graphics, which users can rotate and zoom on the interface to view, providing an intuitive geological scene display. Step S5 includes the following steps: S51. Enter the planar modeling module and select "Generate Planar View": Users launch the BIMBase software and enter the "Plane Modeling" module; Clicking the "Generate Plan View" button will automatically load the borehole data for the current project, including the borehole coordinates, depth, and geological attributes. The interface adopts the Qt framework GUI design, allowing users to operate through an intuitive options interface, ensuring the convenience and efficiency of the process; S52. Generate a triangular network, including the following steps: S521. Read borehole coordinates; S522, Construct the initial point set and triangle network; S53. Optimize and subdivide the triangular network, including the following steps: S531, high-precision area subdivision; S532, Laplace smoothing; S54. Visualize TIN using matplotlib, including the following steps: S541. Draw a triangular mesh; S542, Geological attribute color coding; S55, Graphic Editing and Real-time Updates, includes the following steps: S551. The system uses Qt's event handling mechanism to capture user editing operations on the visual interface; S552. Users can add annotations or modify paths in the graph, and the system updates the TIN network in real time and regenerates the visualization results. S553. Dynamic linkage between graphic editing and visualization is achieved through the signal and slot mechanism to ensure synchronization between user operation and model update; S56. Store the graphic data to the project database, including the following steps: S561. After the floor plan is generated, the system stores the TIN model and related data in the project database to ensure data security and durability. S562. Use transaction mechanisms to ensure atomicity during data storage and prevent inconsistencies caused by partial data writes; S563. Record graphical data and its version information using SQL statements to support version control and historical record queries; S564. Users can view, edit, or revert to historical versions in subsequent visits, which facilitates project management and analysis.

2. The multi-scene drilling layout and planar modeling method based on BIM software according to claim 1, characterized in that, Step S14 includes the following steps: S141. Initialize the OpenGL context: When the BIMBase software starts, it initializes the OpenGL context to prepare for graphics rendering and configures rendering parameters. S142. Load terrain and route data: The terrain and route information, including vertex coordinates, boundaries, and attributes, is obtained from the parsed BIM model; this information is then converted into a vertex format usable by OpenGL using a data parser. S143. Create a Vertex Buffer Object (VBO): Create VBOs for the vertex data of the terrain and lines; generate buffer objects using the glGenBuffers() function and bind the data to the GPU using glBindBuffer(); S144. Writing and using shader programs: Use GLSL to write vertex and fragment shaders to control the lighting, materials, and color effects of graphics; define light sources and viewpoints in the shaders to enhance the sense of layering and depth of 3D scenes; S145, Rendering 3D graphics: Call the glDrawArrays() or glDrawElements() function to render the terrain and lines based on the vertex data; convert the 3D coordinates to screen coordinates through the model-view projection matrix to complete the rendering process; S146. Implement interactive functions: Use Qt's event handling mechanism to listen for user keyboard and mouse input; Implement zoom, rotate, and translate functions: respond to user interaction by modifying the view matrix; Zoom: Adjust the scale of the view matrix using the mouse wheel; Among them, rotation: adjust the rotation angle of the view matrix by dragging the mouse; Among them, translation: adjust the position of the view matrix using the keyboard arrow keys; S147. Real-time update display: During user interaction, the 3D scene is redrawn in real time to ensure that users can view changes in the geological scene on the interface in real time; the system updates the display at a refresh rate of 60 frames per second to provide a smooth user experience.

3. The multi-scene drilling layout and planar modeling method based on BIM software according to claim 1, characterized in that, Step S2 includes the following steps: S21. When the user clicks the "Activate Terrain" button in the "Exploration and Testing" module, the system enters the terrain selection mode; S22. The system listens for mouse click events using Qt's signal and slot mechanism: when the user clicks on the terrain boundary, the event handler function is triggered to obtain the element at the clicked position; the color attribute of the selected terrain is updated using OpenGL VBO, and the highlight effect is rendered in real time. S23. After the user confirms activation, the system will pop up a prompt box to display the currently activated terrain information; S24. Users can activate line elements, and the system uses event listening and efficient rendering technology to select and highlight the lines.

4. The multi-scene drilling layout and planar modeling method based on BIM software according to claim 1, characterized in that, Step S3 includes the following steps: S31. When the user clicks the "Drilling Definition" button in the "Exploration and Testing" module, the system enters the definition mode; S32. When the mouse selects a polyline, the system pops up a drill definition window: the user enters the drill number and type, and selects the drill location; the system uses SQL statements to insert the drill information into the database; transactions are used to ensure the atomicity of each operation and prevent data inconsistency caused by failures in the middle. S33. The user enters the "Drilling Layout" window, inputs the site name, estimated hole depth, color parameters, and clicks OK; S34. The system automatically generates a borehole layout model and marks its location on the map, supporting integrated display with other geological data: it generates a borehole location information file using GeoJSON format; it loads the GeoJSON file through QGIS to display the borehole location on the map; and it overlays the borehole model with the surrounding geological information, allowing users to view and adjust details through the map interface.

5. The multi-scene drilling layout and planar modeling method based on BIM software according to claim 1, characterized in that, Step S4 includes the following steps: S41. The user selects the borehole number to be put into storage and clicks the "Put into Storage" button; S42. The system uses Kafka to transform data and upload it to the RDS database: the data is transformed into a standardized format, and Kafka is used for data stream processing; the data is transmitted to the RDS database using an HTTP POST request, and the server parses and stores the data. S43. After the data is entered into the database, the system generates an operation log to record the entry status and detailed information. S44. Run ETL jobs regularly to ensure data synchronization and consistency across different storage tiers.

6. The multi-scene drilling layout and planar modeling method based on BIM software according to claim 1, characterized in that, Step S6 includes the following steps: S61. Set up triggers in PostgreSQL to monitor insert, update, and delete operations on the borehole data table; S62. Regularly run Python scripts to perform data maintenance tasks: clean up redundant data in the database, update indexes, and improve query performance; Use SQL statements to generate data reports and provide them to the administrator for review; S63. After data changes, the system notifies the administrator via email, providing details of the changes and suggested actions.

Citation Information

Patent Citations

  • Method for stimulating and displaying geological drilling information on digital earth software platform

    CN103345540A

  • BIM geological model modeling method based on database and GIS technology

    CN110610541A