A method for optimizing and data-driven three-dimensional models of offshore platforms
By optimizing the mesh number and material settings of the jacket model and combining it with a data-driven approach, the long parsing time and low efficiency in identifying safety hazards of the offshore jacket model on low-performance hardware were resolved, enabling efficient model display and real-time monitoring.
Patent Information
- Application Number
- CN202510363570.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2045-03-26
AI Technical Summary
In existing technologies, parsing and generating offshore jacket models takes an excessively long time on low-performance hardware, resulting in high performance loss. Furthermore, the efficiency of identifying structural safety hazards in jacket models is low, and marine environmental impacts cannot be detected in a timely manner.
By obtaining the jacket model file in ".fbx" format, the number of mesh faces is optimized using a 3D editor, and lightweight processing is performed using methods such as vertex clustering, edge folding, and merging adjacent parallel faces. Material setting and mapping are also performed, and real-time monitoring is carried out in a data-driven manner.
This enables efficient display of jacket models on lower-performance hardware, reducing resource consumption. It also enables real-time monitoring of the jacket model's health status through data-driven analytics, enabling rapid identification of structural safety hazards.
Smart Images

Figure CN119885396B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of model optimization, and in particular to a method for optimizing and data-driven three-dimensional models of offshore platforms. Background Art
[0002] Currently, when developing a digital twin health management system for an offshore jacket model, it is necessary to establish the jacket model within the digital twin health management system based on the acquired source jacket model file. However, since the application scenario of the offshore jacket model digital twin health management system is far from land and resources are limited, lower-performance hardware is generally used to conserve resources. Since the acquired source jacket model is relatively complex, for lower-performance hardware, directly using the source jacket model as the final jacket model requires time to parse the file and generate the model, resulting in excessive performance loss, prone to lag, and reduced work efficiency. Furthermore, the jacket model may have problems such as a large number of mesh faces and overlapping faces. Therefore, the jacket model needs to be lightweighted and subjected to secondary optimization. Existing technologies typically determine whether a jacket model has structural safety hazards based on abstract monitoring data (such as displacement values) and solution data (such as member UC values). This results in low judgment efficiency and an inability to promptly detect the impact of the marine environment on the jacket model. Summary of the Invention
[0003] The present invention provides a method for optimizing and data-driven three-dimensional models of offshore platforms, so as to overcome the technical problems that, for low-performance hardware, it takes a certain amount of time to parse files and generate jacket models, resulting in excessive performance loss and reduced work efficiency. In addition, the prior art also suffers from low efficiency in determining whether a jacket model has structural safety hazards, and the impact of the marine environment on the jacket model cannot be detected in a timely manner.
[0004] In order to achieve the above object, the technical solution of the present invention is:
[0005] A method for optimizing and data-driven three-dimensional models of offshore platforms, comprising the following steps:
[0006] S1: Obtain the jacket model file in “.fbx” format;
[0007] S2: optimizing the number of mesh faces in the jacket model file based on a 3D editor to obtain a lightweight jacket model;
[0008] S3: performing material setting and mapping processing on the lightweight jacket model based on modeling software to obtain an optimized jacket model;
[0009] S4: driving the optimized jacket model in a data-driven manner to achieve real-time monitoring of the jacket model's health status.
[0010] Furthermore, in S2, optimizing the number of mesh faces in the jacket model file based on a 3D editor includes:
[0011] S21: Use the vertex clustering algorithm to optimize several nodes of the jacket model, including:
[0012] S211: Randomly select a node P and calculate the cluster radius of node P. The cluster radius calculation formula is as follows:
[0013] ,
[0014] Where R is the cluster radius, MD is the rod diameter, and A is the set model refinement;
[0015] S212: Draw a circle O with node P as the center and R as the radius, and merge the nodes within circle O whose distance from the center P is less than R with the center P;
[0016] S213: Execute operations on the remaining nodes according to S211-S212 until the optimization is completed;
[0017] S22: Optimize the edges of the jacket model using edge folding operations, including:
[0018] All edges of the jacket model are traversed using the rod diameter as the search radius. For areas within the search radius where the number of edges is greater than or equal to the error threshold, these areas are optimized using edge collapse. If the number of edges within the search radius is less than the error threshold, no optimization is performed.
[0019] The calculation formula of the error threshold is:
[0020] B=A / C
[0021] Where, B is the set error threshold; A is the set model precision; C is the empirical constant;
[0022] S23: Merge adjacent parallel faces, including:
[0023] Traverse all faces of the member and check whether adjacent faces are parallel. If there are adjacent parallel faces, merge them by deleting the line segments shared by the two adjacent parallel faces.
[0024] Furthermore, the edge collapse operation is used to optimize the region within the search radius where the number of edges is greater than or equal to the set error threshold, including:
[0025] Delete all edges within the search radius whose number of edges is greater than or equal to the error threshold B. Each time an edge is deleted, compare the distances between the two endpoints V1 and V2 of the deleted edge and the newly generated line segment after folding.
[0026] Determine whether the distance exceeds an error threshold B. If the distance is greater than B, do not perform an edge folding operation on the edge; if the distance is less than B, perform an edge folding operation, wherein the edge folding operation includes:
[0027] Delete points V1 and V2 and the line segment connecting these two points;
[0028] Take the midpoint V between V1 and V2 and connect V to the points previously connected to V1 and V2.
[0029] Furthermore, in S3, setting the material of the lightweight jacket model includes:
[0030] Get the specific values of the reflectivity, roughness, and metallicity of the rod material, including:
[0031] The normal extraction method is used to calculate the smoothness, metallicity and roughness value range of the rod material. The process is as follows:
[0032] a) Obtain on-site pictures of several jacket platforms;
[0033] b) Use the photo-to-normal mapping method to extract the member normals from the on-site pictures;
[0034] c) Filter out the non-member parts;
[0035] d) Using the pixel color extraction method, the reflectivity, roughness, and metallicity of each pixel in each image are extracted in sequence to obtain the reflectivity range (A1, A2), roughness range (B1, B2), and metallicity range (C1, C2) of the rod material.
[0036] Build eight material setting models based on the reflectivity range, roughness range, and metallic range of the rod material;
[0037] in,
[0038] Material No. 1 sets the reflectivity, roughness, and metalness of the model to (A1, B1, C1) respectively;
[0039] The reflectivity, roughness and metalness of the model set by material No. 2 are (A2, B1, C1) respectively;
[0040] The reflectivity, roughness and metalness of the model set in material No. 3 are (A1, B2, C1) respectively;
[0041] The reflectivity, roughness and metalness of the model set by material No. 4 are (A1, B1, C2) respectively;
[0042] Material No. 5 sets the reflectivity, roughness, and metalness of the model to (A2, B2, C1) respectively;
[0043] Material No. 6 sets the reflectivity, roughness, and metalness of the model to (A2, B1, C2).
[0044] Material No. 7 sets the reflectivity, roughness, and metalness of the model to (A1, B2, C2).
[0045] Material No. 8 sets the reflectivity, roughness, and metalness of the model to (A2, B2, C2) respectively;
[0046] Scoring the eight material setting models using a scoring method to obtain specific values of reflectivity, roughness, and metallicity of the rod material;
[0047] The material of the optimized jacket model is set based on the specific values of the reflectivity, roughness and metallicity of the rod material.
[0048] Furthermore, the eight material setting models are scored using a scoring method to obtain specific values of the reflectivity, roughness, and metallicity of the rod material, including:
[0049] Construct a scoring table, including:
[0050] Subjective scoring: Multiple testers compare the material setting models with the on-site pictures and score the similarity of the material setting models on a scale of 0-5.
[0051] Comparison of statistical scores: if the reflectivity A is evaluated, the scores (A1, B x , C y ) and (A2, B x , C y ) are summed to obtain the reflectivity score statistics T1 and T2; x=1,2; y=1,2;
[0052] Among them, T1 is (A1, B x , C y ) score sum, T2 is (A2, B x , C y ) Sum of ratings;
[0053] If the roughness B is evaluated, the scores (A x , B1, C y ) and (A x , B2, C y ) and sum to get the roughness score statistics and ;
[0054] in, For (A x , B1, C y) Sum of ratings, For (A x , B2, C y ) Sum of ratings;
[0055] If the metalness C is evaluated, the score (A x , B y , C1) and (A x , B y , C2) and sum to get the metallicity score statistics and ;
[0056] in, For (A x , B y , C1) Sum of scores, For (A x , B y , C2) total score;
[0057] Calculate the final selected value using the formula:
[0058] The calculation formula for reflectivity A is: A=A1+(A2-A1)*T1 / (T1+T2)
[0059] The calculation formula for roughness B is: B=B1+(B2-B1)*T1 / (T1+T2)
[0060] The calculation formula for metallicity C is: C=C1+(C2-C1)*T1 / (T1+T2).
[0061] Furthermore, mapping is performed based on the modeling software, including:
[0062] The texture of the jacket model is divided into three levels according to the level of detail: High, Medium and Low.
[0063] Assume that the initial position of the jacket model is the origin of the world coordinates, the origin coordinates of the world coordinates are (0,0,0), create a camera model, and set the initial position coordinates of the camera model to , h is the height of the jacket model;
[0064] When the position of the camera model is changed, the distance between the camera model and the jacket model is obtained, and different levels of textures are set according to the distance between the camera model and the jacket model, that is:
[0065] When the distance between the camera model and the jacket model is less than twice the length of the longest rod, use the High level texture for the jacket model;
[0066] When the distance between the camera model and the jacket model is between 2 and 5 times the length of the longest rod, use the Medium level map for the jacket model.
[0067] When the distance between the camera model and the jacket model is greater than 5 times the length of the longest rod, the jacket model uses a Low level map.
[0068] Furthermore, in S4, driving the optimized jacket model in a data-driven manner to achieve real-time monitoring of the jacket model health status includes:
[0069] 1) A model statistics table is established based on the jacket model file in the ".fbx" format, and the rod names and rod entities are stored in the model statistics table. The rod entity is any of the specific objects, references or pointers of the model;
[0070] 2) Construct a displacement time-history response condition database
[0071] Through numerical simulation, the relationship between the effects of sea breeze, waves, currents and the node displacements in the jacket model is obtained, thereby constructing a database of node displacement time-history response conditions.
[0072] 3) Driving the jacket model based on the node displacement time history response condition database, including:
[0073] Obtain actual ocean environment data, including: current direction data, current velocity data, wave height data, period data, wind speed data and wind direction data;
[0074] Matching similar working conditions: When a set of actual marine environment data is given, the working condition data closest to this set of business data is found from the node displacement time history response working condition database. The search order is:
[0075] According to the flow direction data in the actual ocean environment data, searching for the closest set of working condition data from the node displacement time history response working condition database as the first working condition data;
[0076] According to the flow velocity data in the actual ocean environment data, searching for the closest set of operating condition data from the first operating condition data as the second operating condition data;
[0077] According to the wave height data in the actual ocean environment data, searching for the closest set of working condition data from the second working condition data as the third working condition data;
[0078] searching for a set of operating condition data closest to the third operating condition data according to periodic data in the actual ocean environment data as fourth operating condition data;
[0079] According to the wind speed data in the actual ocean environment data, searching for the closest set of operating condition data from the fourth operating condition data as the fifth operating condition data;
[0080] According to the wind direction data in the actual ocean environment data, searching for the closest set of operating condition data from the fifth operating condition data as the sixth operating condition data;
[0081] Presenting the jacket model animation effect: according to the sixth working condition data, the displacement time-history response data of each member node is obtained from the node displacement time-history response working condition database, key frames are set in the modeling software, and the transition curves between the key frames of the animation are edited, thereby realizing driving the jacket model.
[0082] Beneficial Effects: This invention obtains a jacket model file in ".fbx" format, optimizes the mesh face count within the jacket model file using a 3D editor, and removes unnecessary details (including points and edges that do not affect model accuracy) to create a lightweight jacket model. Material settings and texture processing are then performed on the lightweight jacket model, reducing the jacket model's computer resource consumption and meeting display requirements on lower-performance hardware. The optimized jacket model is accurately driven by data to enable real-time monitoring of the jacket model's health. This invention allows technicians to intuitively and quickly identify areas of significant jacket displacement by observing the model, significantly accelerating the detection of jacket structural safety hazards and facilitating subsequent analysis, such as offshore platform design and optimization, offshore platform safety analysis, and marine disaster warning. BRIEF DESCRIPTION OF THE DRAWINGS
[0083] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0084] Figure 1 This is a first flow chart of a method for optimizing and data-driven three-dimensional models of an offshore platform in the present invention;
[0085] Figure 2 A second flow chart of a method for optimizing and data-driven three-dimensional models of an offshore platform according to the present invention;
[0086] Figure 3 This is a rendering of the jacket model processed by edge folding operation in an embodiment of the present invention;
[0087] Figure 4 A site diagram of a jacket model according to an embodiment of the present invention;
[0088] Figure 5 Schematic diagram of extracting rod normals using a photo-to-normal mapping method in an embodiment of the present invention;
[0089] Figure 6 Schematic diagram of a jacket model after filtering out non-rod parts in an embodiment of the present invention;
[0090] Figure 7 Schematic diagram of a completed jacket model according to an embodiment of the present invention. DETAILED DESCRIPTION
[0091] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0092] This embodiment provides a method for optimizing and data-driven three-dimensional models of marine platforms. Figure 1 and Figure 2 As shown, the specific steps include:
[0093] S1: Obtain the jacket model file in “.fbx” format;
[0094] S2: optimizing the number of mesh faces in the jacket model file based on a 3D editor to obtain a lightweight jacket model;
[0095] S3: performing material setting and mapping processing on the lightweight jacket model based on modeling software to obtain an optimized jacket model;
[0096] Specifically, in this embodiment, any modeling software among Unity, Blender, 3DMax, C4D and MaYa can be used to perform material setting and mapping on the lightweight jacket model.
[0097] S4: driving the optimized jacket model in a data-driven manner to achieve real-time monitoring of the jacket model's health status.
[0098] In a specific embodiment, in S2, optimizing the number of mesh faces in the jacket model file based on a 3D editor includes:
[0099] S21: Use the vertex clustering algorithm to optimize several nodes of the jacket model, including:
[0100] S211: Randomly select a node P and calculate the cluster radius of node P. The cluster radius calculation formula is as follows:
[0101] ,
[0102] Where R is the cluster radius, MD is the rod diameter, and A is the set model refinement;
[0103] S212: Draw a circle O with node P as the center and R as the radius, and merge the nodes within circle O whose distance from the center P is less than R with the center P;
[0104] S213: Execute operations on the remaining nodes according to S211-S212 until the optimization is completed;
[0105] S22: Optimize the edges of the jacket model using edge folding operations, including:
[0106] All edges of the jacket model are traversed using the rod diameter as the search radius. If the number of edges within the search radius is less than the error threshold, this indicates that the number of edges in this area is small and no edge collapse optimization is required. Therefore, in this embodiment, only areas within the search radius where the number of edges is greater than or equal to the error threshold are found, and edge collapse is used to optimize these areas to reduce the number of edges.
[0107] Specifically, the calculation formula of the error threshold is:
[0108] B=A / C
[0109] Where B is the set error threshold; C is the empirical constant. The principle for selecting C is that when comparing the model before and after edge folding, there is no error visible to the naked eye when the maximum magnification ratio is 5:1. Usually, C is set to 2.
[0110] In a specific embodiment, Figure 3 As shown in the figure, the edge collapse operation is used to optimize the area within the search radius where the number of edges is greater than or equal to the set error threshold, including:
[0111] Delete all edges within the search radius whose number of edges is greater than or equal to the error threshold B. Each time an edge is deleted, compare the distances between the two endpoints V1 and V2 of the deleted edge and the newly generated line segment after folding.
[0112] Determine whether the distance exceeds an error threshold B. If the distance is greater than B, do not perform an edge folding operation on the edge; if the distance is less than B, perform an edge folding operation, wherein the edge folding operation includes:
[0113] Delete points V1 and V2 and the line segment connecting these two points;
[0114] Take the midpoint V between V1 and V2 and connect V to the points previously connected to V1 and V2.
[0115] Specifically, each folding can simplify one edge and two faces of the original jacket model.
[0116] S23: Merge adjacent parallel faces, including:
[0117] Traverse all faces of the member and check whether adjacent faces are parallel. If there are adjacent parallel faces, merge them by deleting the line segments shared by the two adjacent parallel faces.
[0118] Specifically, this embodiment optimizes the number of mesh faces by sequentially optimizing points using a vertex clustering method, optimizing edges using an edge collapse operation, and merging adjacent parallel faces.
[0119] Specifically, after computer processing is completed, the user manually checks the topology of the model to ensure that there are no redundant edges and vertices; and manually repairs the incorrect topology in the model, such as overlapping faces, non-manifold geometry, etc.
[0120] In a specific embodiment, in S3, the process of setting the material of the optimized jacket model is as follows:
[0121] According to actual needs and usage scenarios, use the "Add material function to white model" to set the lighting material type of the catheter rack model and set the transparency α value to 100%;
[0122] The smoothness, metallicity, and roughness of the rod material are calculated using the normal extraction method and on-site images of the jacket platform. This information provides data support for drawing the rod material in the jacket model, making the material more compliant with PBR (Physically-Based Rendering) standards.
[0123] Get the specific values of the reflectivity, roughness, and metallicity of the rod material. The specific process is as follows:
[0124] Specifically, if Figures 4 to 6 As shown in the figure, the normal extraction method is used to calculate the smoothness of the rod material. The range of metalness and roughness values includes:
[0125] a) Obtain on-site images of several jacket platforms
[0126] b) Use the photo-to-normal mapping method to extract the member normals from the on-site pictures
[0127] c) Filter out non-member parts
[0128] d) Using the pixel color extraction method, the reflectivity, roughness, and metallicity of each pixel in each image are extracted in sequence to obtain the reflectivity range (A1, A2), roughness range (B1, B2), and metallicity range (C1, C2) of the rod material.
[0129] Eight material setting models are constructed based on the reflectivity range, roughness range, and metalness range of the rod material, among which:
[0130] Material No. 1 sets the reflectivity, roughness, and metalness of the model to (A1, B1, C1) respectively;
[0131] The reflectivity, roughness and metalness of the model set by material No. 2 are (A2, B1, C1) respectively;
[0132] The reflectivity, roughness and metalness of the model set in material No. 3 are (A1, B2, C1) respectively;
[0133] The reflectivity, roughness and metalness of the model set by material No. 4 are (A1, B1, C2) respectively;
[0134] Material No. 5 sets the reflectivity, roughness, and metalness of the model to (A2, B2, C1) respectively;
[0135] Material No. 6 sets the reflectivity, roughness, and metalness of the model to (A2, B1, C2).
[0136] Material No. 7 sets the reflectivity, roughness, and metalness of the model to (A1, B2, C2).
[0137] Material No. 8 sets the reflectivity, roughness, and metalness of the model to (A2, B2, C2) respectively;
[0138] Scoring the eight material setting models using a scoring method to obtain specific values of reflectivity, roughness, and metallicity of the rod material;
[0139] The material of the optimized jacket model is set based on the specific values of the reflectivity, roughness and metallicity of the rod material.
[0140] In a specific embodiment, the eight material setting models are scored using a scoring method to obtain specific values of reflectivity, roughness, and metallicity of the rod material, including:
[0141] Construct a scoring table, including:
[0142] Subjective scoring: Multiple testers compare the material setting models with the on-site pictures and score the similarity of the material setting models on a scale of 0-5.
[0143] Comparison of statistical scores: if the reflectivity A is evaluated, the scores (A1, B x , C y ) and (A2, B x , C y ) are summed to obtain the reflectivity score statistics T1 and T2; x=1,2; y=1,2;
[0144] Among them, T1 is (A1, B x , C y ) score sum, T2 is (A2, B x , C y ) Sum of ratings;
[0145] If the roughness B is evaluated, the scores (A x , B1, C y ) and (A x , B2, C y ) and sum to get the roughness score statistics and ;
[0146] in, For (A x , B1, C y ) Sum of ratings, For (A x , B2, C y ) Sum of ratings;
[0147] If the metalness C is evaluated, the score (A x , B y , C1) and (A x , B y , C2) and sum to get the metallicity score statistics and ;
[0148] in, For (A x , B y , C1) Sum of scores, For (A x , B y , C2) total score;
[0149] Calculate the values of the final selected modeling parameters using the following formula:
[0150] The calculation formula for reflectivity A is: A=A1+(A2-A1)*T1 / (T1+T2)
[0151] The calculation formula for roughness B is: B=B1+(B2-B1)*T1 / (T1+T2)
[0152] The calculation formula for metallicity C is: C=C1+(C2-C1)*T1 / (T1+T2).
[0153] In a specific embodiment, the process of mapping based on modeling software is as follows:
[0154] The textures for each model were divided into three levels of detail: High (512x512 pixels), Medium (256x256 pixels), and Low (128x128 pixels).
[0155] Assume that the initial position of the jacket model is the origin of the world coordinates, the origin coordinates of the world coordinates are (0,0,0), create a camera model, and set the initial position coordinates of the camera model to , h is the height of the jacket model;
[0156] When the position of the camera model is changed, the distance between the camera model and the jacket model is obtained, and different levels of textures are set according to the distance between the camera model and the jacket model, that is:
[0157] When the distance between the camera model and the jacket model is less than twice the length of the longest rod, use the High level texture for the jacket model;
[0158] When the distance between the camera model and the jacket model is between 2 and 5 times the length of the longest rod, use the Medium level map for the jacket model.
[0159] When the distance between the camera model and the jacket model is greater than 5 times the length of the longest rod, the jacket model uses a Low level map.
[0160] In this embodiment, PVRTC texture compression technology is also used to reduce the size of texture files and improve the smoothness of model display. PVRTC texture compression technology has certain requirements for the texture size of texture files. The width and height of the texture must be powers of 2 (for example, 16×16, 32×32, 64×64, etc.). This is because PVRTC texture compression technology can more efficiently divide and encode data blocks when processing textures with power-of-2 sizes. If the texture size does not meet this requirement, it needs to be adjusted through scaling or padding to meet the size requirements.
[0161] Specifically, this embodiment simplifies the jacket model by deleting unnecessary details (including points and edges that do not affect the model accuracy) and selecting an appropriate texture resolution based on the model display scale. This ensures the jacket model's presentation effect while reducing the consumption of computer resources.
[0162] Specifically, in this embodiment, Figure 7 The optimized model shown is tested on the target platform (web or host) to check the format, color space and other properties of the materials and textures to ensure that the materials and textures used are supported on the target platform.
[0163] In a specific embodiment, in S4, the process of driving the processed jacket model in a data-driven manner to achieve real-time monitoring of the jacket model is as follows:
[0164] Binding business data and model data using prefix names allows for quick and accurate connection between the two, allowing data-driven model changes to occur. Furthermore, this approach ensures data consistency and integrity, facilitating data management and maintenance, and facilitating subsequent expansion and optimization.
[0165] Under the influence of sea breeze, waves and currents, the jacket platform will shake. Data-driven simulation can be used to simulate the shaking effect of the jacket platform. The data-driven process can be divided into establishing a model statistical table, establishing a model sub-level list, constructing a displacement time-history response condition database, and driving the jacket model based on the node displacement time-history response condition database. The details are as follows.
[0166] 1) Create a model statistics table based on the jacket model file in ".fbx" format. In the model statistics table,
[0167] Use a unified naming rule to name the members to avoid duplication and ambiguity. At the same time, the member name should accurately reflect the characteristics and purpose of the member to facilitate identification and search in the system. The member name is expressed as "AAAA-BBBB", where "AAAA" represents the starting node and "BBBB" represents the end node, and the direction of the member is from "AAAA" to "BBBB". The member name and member entity are stored in the model statistics table. The member entity can be a specific object, reference or pointer of the model to facilitate the system to quickly access and operate the model; when storing the member entity, the data storage method and efficiency should be considered to ensure that the model data can be quickly loaded and accessed.
[0168] Specifically, in this embodiment, in order to facilitate driving the model, a model sub-level list is also established, and each model sub-level in the model sub-level list is assigned a unique identifier. The function of the identifier is to establish a relationship between the driving data and the model sub-level. When the data changes, the model sub-level related to the data can be quickly found through this correspondence, thereby driving the model.
[0169] According to the characteristics of platform data, each rod is unique, and a data dictionary is constructed. The data dictionary consists of the rod name key and the rod information value, ensuring that the value can be obtained by searching the key.
[0170] 2) Construct a database of node displacement time-history response conditions
[0171] Through numerical simulation, the relationship between the effects of sea breeze, waves, and currents and the displacement of the jacket platform nodes is obtained, thereby constructing a node displacement time-history response condition database. The node displacement time-history response condition database is named "X_Y_Z", where X is the sea breeze data (wind speed and direction), Y is the wave data (wave height and period), and Z is the current data (current velocity and direction). When calculating the data for each condition, the displacement time-history response simulation duration is set to 120 seconds, and data from 61 to 120 seconds are stored in the database.
[0172] 3) Driving the jacket model based on the node displacement time history response condition database, including:
[0173] Obtaining actual ocean environment data: Real-time ocean environment data, namely sea breeze data (wind speed and direction), wave data (wave height and period), and current data (current speed and direction), are collected through anemometers, wave radars, and current meters. The data collection interval is set to 60 seconds.
[0174] Matching similar working conditions: When a set of actual marine environment data is given, the working condition data closest to this set of business data is found from the node displacement time history response working condition database. The search order is:
[0175] According to the flow direction data in the actual ocean environment data, searching for the closest set of working condition data from the node displacement time history response working condition database as the first working condition data;
[0176] According to the flow velocity data in the actual ocean environment data, searching for the closest set of operating condition data from the first operating condition data as the second operating condition data;
[0177] According to the wave height data in the actual ocean environment data, searching for the closest set of working condition data from the second working condition data as the third working condition data;
[0178] searching for a set of operating condition data closest to the third operating condition data according to periodic data in the actual ocean environment data as fourth operating condition data;
[0179] According to the wind speed data in the actual ocean environment data, searching for the closest set of operating condition data from the fourth operating condition data as the fifth operating condition data;
[0180] According to the wind direction data in the actual ocean environment data, searching for the closest set of operating condition data from the fifth operating condition data as the sixth operating condition data;
[0181] Specifically, in this embodiment, if two or more sets of the closest sixth operating condition data are obtained after matching the operating condition data, a set of operating condition data with a larger value than the actual ocean environment data is selected.
[0182] Presenting the jacket model animation effect: According to the sixth working condition data, the displacement time-history response data of each member node is obtained from the node displacement time-history response working condition database, that is, the 60-second displacement time-history response data of each member node is obtained according to the above process. Key frames are set in the modeling software (such as 3DMax), and the transition curves between the key frames of the animation are edited to make the jacket model change process smoother.
[0183] Specifically, in this embodiment, it is set to perform a similar working condition matching operation every 60 seconds; through the above process, 60 seconds of each rod node displacement time-history response data can be obtained from the node displacement time-history response working condition database, and the driving data is obtained by matching similar working condition operations, which reduces the consumption of computer resources and improves the response speed.
[0184] Specifically, in this embodiment, the node displacement time-history response condition database includes the displacement changes of all jacket model nodes over time, and the displacement changes over time can be displayed more smoothly through the transition curve.
[0185] Specifically, in this embodiment, a jacket model is driven by a database of node displacement time-history response conditions, visually displaying the displacement of each node in the jacket model. This allows technicians to quickly and intuitively identify areas of significant jacket displacement by observing the jacket model, significantly improving the speed of identifying jacket structural safety hazards. This facilitates subsequent analysis, such as offshore platform design and optimization, offshore platform safety analysis, and marine disaster warning. This eliminates the situation where technicians are forced to rely solely on abstract monitoring data (such as displacement values) and solution data (such as member UC values) to determine whether a jacket model has structural safety hazards. In practice, the warning thresholds for displacement values at different nodes may vary. For example, significant displacement may be permitted at the top of a jacket platform, but not at the bottom. This can lead to inefficient judgment and delays in timely detection of dangerous issues.
[0186] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements 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 optimizing and data-driven three-dimensional models of offshore platforms, characterized in that: The specific steps include: S1: Obtain the jacket model file in ".fbx" format; S2: Optimizing the number of mesh faces in the jacket model file using a 3D editor to obtain a lightweight jacket model, including: S21: Use the vertex clustering algorithm to optimize several nodes of the jacket model, including: S211: Randomly select a node P and calculate the cluster radius of node P. The cluster radius calculation formula is as follows: R=π·MD / A Where R is the cluster radius, MD is the rod diameter, and A is the set model refinement; S212: Draw a circle O with node P as the center and R as the radius, and merge the nodes within circle O whose distance from the center P is less than R with the center P; S213: Execute operations on the remaining nodes according to S211-S212 until the optimization is completed; S22: Optimize the edges of the jacket model using edge folding operations, including: All edges of the jacket model are traversed using the rod diameter as the search radius. For areas within the search radius where the number of edges is greater than or equal to the error threshold, these areas are optimized using edge collapse. If the number of edges within the search radius is less than the error threshold, no optimization is performed. The edge collapse operation is used to optimize the area within the search radius where the number of edges is greater than or equal to the set error threshold, including: Delete all edges within the search radius whose number of edges is greater than or equal to the error threshold B. Each time an edge is deleted, compare the distances between the two endpoints V1 and V2 of the deleted edge and the newly generated line segment after folding. Determine whether the distance exceeds an error threshold B. If the distance is greater than B, do not perform an edge folding operation on the edge; if the distance is less than B, perform an edge folding operation, wherein the edge folding operation includes: Delete points V1 and V2 and the line segment connecting these two points; Take the midpoint V between V1 and V2 and connect V to the points previously connected to V1 and V2; The calculation formula of the error threshold is: B=A / C Where, B is the set error threshold; A is the set model precision; C is the empirical constant; S23: Merge adjacent parallel faces, including: Traverse all faces of the member and check whether adjacent faces are parallel. If there are adjacent parallel faces, merge them by deleting the line segments shared by the two adjacent parallel faces. S3: performing material setting and mapping processing on the lightweight jacket model based on modeling software to obtain an optimized jacket model; The material setting for the lightweight jacket model includes: Obtain on-site images of several jacket platforms; Based on on-site photos of several jacket platforms, the normal extraction and scoring methods were used to obtain the specific values of the reflectivity, roughness, and metallicity of the rod material; Setting the material of the lightweight jacket model based on the specific values of reflectivity, roughness, and metallicity of the rod material; S4: driving the optimized jacket model in a data-driven manner to achieve real-time monitoring of the jacket model's health status; Driving the optimized jacket model in a data-driven manner includes: S41: creating a model statistics table based on the jacket model file in the ".fbx" format, wherein the model statistics table stores rod names and rod entities, where the rod entity is any one of a specific object, reference, or pointer of the model; S42: The relationship between the effects of sea breeze, waves, and currents and the node displacements in the jacket model is obtained through numerical simulation, thereby constructing a database of node displacement time-history response conditions. S43: Driving the optimized jacket model based on the model statistics table and the node displacement time history response condition database, including: Obtain actual ocean environment data, including: current direction data, current velocity data, wave height data, period data, wind speed data and wind direction data; Matching similar working conditions: When a set of actual marine environment data is given, the working condition data closest to this set of business data is found from the node displacement time history response working condition database; Presenting the jacket model animation effect: according to the working condition data closest to the set of business data, setting key frames in the modeling software, editing the transition curves between the key frames of the animation, and combining the model statistics table to realize driving the optimized jacket model.
2. The method for optimizing and data-driven three-dimensional models of offshore platforms according to claim 1, characterized in that: In S3, based on on-site images of several jacket platforms, the specific steps for obtaining the reflectivity, roughness, and metallicity of the rod material using the normal extraction and scoring methods include: The normal extraction method is used to calculate the value range of the reflectivity, metallicity and roughness of the rod material. The process is as follows: a) Using the photo-to-normal mapping method, the normal lines of the rods were extracted from the on-site photos of several jacket platforms. b) Filter out non-rod parts c) Using a pixel color extraction method, the reflectivity, roughness, and metallicity of each pixel in each image are extracted in sequence to obtain the reflectivity range (A1, A2), roughness range (B1, B2), and metallicity range (C1, C2) of the rod material; Build eight material setting models based on the reflectivity range, roughness range, and metallic range of the rod material; in, Material No. 1 sets the reflectivity, roughness, and metalness of the model to (A1, B1, C1) respectively; The reflectivity, roughness and metalness of the model set by material No. 2 are (A2, B1, C1) respectively; The reflectivity, roughness and metalness of the model set in material No. 3 are (A1, B2, C1) respectively; The reflectivity, roughness and metalness of the model set by material No. 4 are (A1, B1, C2) respectively; The reflectivity, roughness, and metalness of the model set in material No. 5 are (A2, B2, C1) respectively; Material No. 6 sets the reflectivity, roughness, and metalness of the model to (A2, B1, C2) respectively; Material No. 7 sets the reflectivity, roughness, and metalness of the model to (A1, B2, C2) respectively; Material No. 8 sets the reflectivity, roughness, and metalness of the model to (A2, B2, C2) respectively; The eight material setting models are scored using a scoring method to obtain specific values of the reflectivity, roughness, and metallicity of the rod material.
3. The method for optimizing and data-driven three-dimensional models of offshore platforms according to claim 2, characterized in that: The eight material setting models are scored using a scoring method to obtain the specific values of the reflectivity, roughness, and metallicity of the rod material, including: Construct a scoring table, including: Subjective scoring: Multiple testers compare the material setting models with the on-site pictures and score the similarity of the material setting models on a scale of 0-5. Comparison of statistical scores: if the reflectivity A is evaluated, the scores (A1, B x , C y ) and (A2, B x , C y ) are summed to obtain the reflectivity score statistics T1 and T2; x = 1, 2; y = 1, 2; Where T1 is (A1, B x , C y ) score sum, T2 is (A2, B x , C y ) Sum of ratings; If the roughness B is evaluated, the scores (A x , B1, C y ) and (A x , B2, C y ) are summed to obtain the roughness score statistics T′1 and T′2; Where T′1 is (A x , B1, C y ) score, T′2 is (A x , B2, C y ) Sum of ratings; If the metalness C is evaluated, the score (A x , B y , C1) and (A x , B y , C2) and sum to obtain the metallicity score statistics T″1 and T″2; Wherein, T″1 is (A x , B y , C1) score sum, T″2 is (A x , B y , C2) total score; Calculate the final selected value using the formula: The calculation formula of reflectivity A is: A=A1+(A2-A1)*T1 / (T1+T2) The calculation formula for roughness B is: B = B1 + (B2 - B1) * T1 / (T1 + T2) The calculation formula for metallicity C is: C=C1+(C2-C1)*T1 / (T1+T2).
4. The method for optimizing and data-driven three-dimensional models of offshore platforms according to claim 3, characterized in that: Mapping based on modeling software, including: The texture of the jacket model is divided into three levels according to the level of detail: High, Medium and Low. Assume that the initial position of the jacket model is the origin of the world coordinates, the origin coordinates of the world coordinates are (0,0,0), create a camera model, and set the initial position coordinates of the camera model to h is the height of the jacket model; When the position of the camera model is changed, the distance between the camera model and the jacket model is obtained, and different levels of textures are set according to the distance between the camera model and the jacket model, that is: When the distance between the camera model and the jacket model is less than twice the length of the longest rod, use the High level texture for the jacket model. When the distance between the camera model and the jacket model is between 2 and 5 times the length of the longest rod, use the Medium level map for the jacket model. When the distance between the camera model and the jacket model is greater than 5 times the length of the longest rod, use the Low level map for the jacket model.
5. The method for optimizing and data-driven three-dimensional models of offshore platforms according to claim 4, characterized in that: In S43, When a set of actual marine environment data is given, the search order for finding the working condition data closest to this set of business data from the node displacement time history response working condition database is: According to the flow direction data in the actual ocean environment data, searching for the closest set of working condition data from the node displacement time history response working condition database as the first working condition data; According to the flow velocity data in the actual ocean environment data, searching for the closest set of operating condition data from the first operating condition data as the second operating condition data; According to the wave height data in the actual ocean environment data, searching for the closest set of working condition data from the second working condition data as the third working condition data; searching for a set of operating condition data closest to the third operating condition data according to periodic data in the actual ocean environment data as fourth operating condition data; According to the wind speed data in the actual ocean environment data, searching for the closest set of operating condition data from the fourth operating condition data as the fifth operating condition data; According to the wind direction data in the actual ocean environment data, the closest set of operating condition data is searched from the fifth operating condition data as the sixth operating condition data, and the sixth operating condition data is used as the operating condition data closest to the set of business data.
Citation Information
Patent Citations
Mesh model simplifying method and mesh model transmission method based on same
CN102546647A
Image rendering method and device, equipment, storage medium and program product
CN114359458A
Engine digital twin operation and maintenance model platform building method based on digital-analog linkage
CN118568942A
Method, system and equipment for supporting lightweight processing and lossless compression of multi-source three-dimensional model and storage medium
CN119396785A