A PLM online preview processing method for lightweight conversion of a three-dimensional model

CN123020758APending Publication Date: 2026-10-30HANGZHOU MILA DIGITAL TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611103426.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-23
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0005]本发明所要解决的技术问题在于:提供一种三维模型轻量化转换的PLM在线预览处理方法,它解决了现有预览策略与用户工程意图不匹配导致算力受限时工程语义特征丢失的问题

Benefits of technology

[0057]1.通过引入工程语义权重并结合屏幕投影几何权重生成综合调度权重,使模型的调度策略能够根据用户的观察尺度自适应地平衡视觉显著性与工程重要性,预览策略更加符合实际工程意图;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123020758A_ABST
    Figure CN123020758A_ABST
Patent Text Reader

Abstract

The application discloses a kind of PLM online preview processing methods of three-dimensional model light weight conversion, belong to three-dimensional model online preview technical field.It includes: obtaining the space index data of target three-dimensional model, geometric attribute data and the engineering semantic weight of each model node;According to the current interactive state, the screen projection geometry weight is calculated and the engineering semantic weight is combined to generate comprehensive scheduling weight;Build double-cone architecture, based on engineering semantic weight correction logic pre-fetching cone body generates inflation pre-fetching cone body and carries out intersection test to pre-load model data;According to comprehensive scheduling weight and system resource state, model node is executed hierarchical scheduling;For the node of projection size less than threshold value, according to engineering semantic weight, visual rejection, minimal agent or double-mode degradation processing is executed.The application solves the problem that engineering semantic features are lost when the existing preview strategy does not match the user's engineering intent and the computing power is limited.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a PLM online preview processing method for lightweight conversion of 3D models, belonging to the technical field of online preview of 3D models. Background Technology

[0002] With the increasing popularity of Product Lifecycle Management (PLM) systems, the demand for online previewing of 3D models on web and mobile devices is growing. Due to the massive data volume of 3D assembly models, and limited by the computing power and network bandwidth of terminal devices, the models usually need to be lightweighted and converted before online previewing.

[0003] Existing technologies typically rely on purely geometric visual features such as fixed viewing distance, screen projection area, or bounding box volume to cull model nodes or switch levels of detail (LOD) to reduce rendering pressure. However, this preview strategy fails to consider the importance of model nodes in engineering semantics. When the viewing distance is far or the system's computing power is insufficient, key engineering semantic features (such as mating surfaces, hole positions, and reference axes) will be culled or downgraded as minor details, causing the preview interface to lose its reference value for engineering attributes.

[0004] Therefore, existing technologies suffer from the technical problem of losing engineering semantic features in scenarios with limited computing power due to the mismatch between the preview strategy and the user's engineering intent. Summary of the Invention

[0005] The technical problem to be solved by this invention is to provide a PLM online preview processing method for lightweight conversion of 3D models, which solves the problem of loss of engineering semantic features when computing power is limited due to the mismatch between existing preview strategies and user engineering intentions.

[0006] The technical problem to be solved by this invention is achieved by the following technical solution:

[0007] A PLM online preview processing method for lightweight conversion of 3D models includes the following steps:

[0008] Obtain the spatial index data, geometric attribute data, and engineering semantic weights of each model node of the target 3D model;

[0009] The screen projection geometric weights of each model node are calculated based on the current interaction state parameters, and the comprehensive scheduling weights of each model node are generated by combining the engineering semantic weights.

[0010] A dual-view frustum architecture consisting of a main rendering view frustum and a logical prefetch view frustum is constructed. The projection parameters of the logical prefetch view frustum are corrected based on the engineering semantic weights to generate an inflated prefetch view frustum. The inflated prefetch view frustum is used to perform an intersection test with the spatial index data to trigger the preloading of model data.

[0011] Based on the comprehensive scheduling weight and the current system resource status parameters, hierarchical scheduling is performed on the model nodes;

[0012] For model nodes whose projection size is smaller than a preset pixel threshold, if the model node is determined to be in a visually invisible area and its engineering semantic weight is lower than the protection threshold, then visual culling or minimalist proxy rendering is performed; if the model node is determined to be in a visually invisible area and its engineering semantic weight is higher than the protection threshold, then bimodal degradation processing is triggered: in the logic layer, the parametric geometric primitives of the model node are retained and its facet data loading is suppressed, and in the rendering layer, the model node is converted into engineering symbols for display.

[0013] Optionally, the step of obtaining the engineering semantic weights of each model node includes:

[0014] Obtain the part type factor, assembly constraint factor, tolerance factor, and assembly level factor of the model node;

[0015] The part type factor, assembly constraint factor, tolerance factor, and assembly level factor are respectively normalized and mapped to obtain the corresponding first mapping value, second mapping value, third mapping value, and fourth mapping value.

[0016] The engineering semantic weight is obtained by multiplying the first mapping value, the second mapping value, the third mapping value, and the fourth mapping value by their respective preset weight coefficients and then summing them.

[0017] Listen for design change events of the target 3D model. When the design change event is detected, recalculate the engineering semantic weights.

[0018] Optionally, the step of correcting the projection parameters of the logical prefetch frustum based on the engineering semantic weights includes:

[0019] Obtain target features whose engineering semantic weights are greater than the protection threshold within the current main rendering view frustum, and obtain the predicted viewpoint position at future moments;

[0020] The semantic attraction vector is obtained by accumulating the product of the position difference corresponding to each target feature and the engineering semantic weight, wherein the position difference is the difference between the spatial position of the target feature and the predicted future viewpoint position.

[0021] Obtain the right and top vectors of the camera's local coordinate system, and perform dot product operations between the semantic attraction vector and the right and top vectors respectively to obtain the first projection component and the second projection component;

[0022] Multiply the first projection component and the second projection component by their respective preset gain coefficients, and divide by the sum of the magnitude of the semantic attraction vector and the zero constant to obtain the lateral viewport offset and the longitudinal viewport offset.

[0023] The lateral viewport offset and the longitudinal viewport offset are used as shear plane offset parameters to generate an asymmetric off-axis projection matrix to correct the projection parameters of the logical prefetched view frustum.

[0024] When the magnitude of the semantic attraction vector is less than a preset vector threshold, it is determined that there is a conflict in the direction of the target feature within the current main rendering frustum. The asymmetric off-axis projection matrix is ​​then switched to an isotropic frustum expansion mode to uniformly expand the range of the logical prefetch frustum in all directions.

[0025] Optionally, the step of obtaining the predicted future viewpoint position includes:

[0026] An extended Kalman filter is used to predict the state based on angular velocity, translational velocity, and position data from a preset number of past frames, thus obtaining the predicted future viewpoint position.

[0027] Obtain the trace of the prediction covariance matrix of the extended Kalman filter;

[0028] When the predicted covariance matrix trace exceeds a preset covariance threshold, a conservative prefetching strategy is triggered, requesting only model data within a preset dilation coefficient range around the current main rendering view frustum.

[0029] Optionally, the step of triggering the dual-modal degradation process includes:

[0030] The parameterized geometric primitives of the model nodes reside in memory. The parameterized geometric primitives are boundary representation surface data or non-uniform rational B-spline geometric data extracted from the lightweight model format of product lifecycle management. The lightweight model format adopts a dual-track storage structure of display information and geometric information.

[0031] In the rendering layer, a screen space rendering mode is adopted, and coordinate transformation is used to map the three-dimensional feature coordinates to the screen two-dimensional coordinate system to generate the engineering symbol with a preset fixed pixel size.

[0032] The engineering semantic type of the model node is mapped to the corresponding engineering symbol graphic primitive for rendering through a pre-configured lookup table. Among them, the hole feature is mapped to the crosshair, the mating surface feature is mapped to the dashed box, the reference axis feature is mapped to the dotted line, and the thread feature is mapped to the thread symbol.

[0033] When an interactive operation is received for the engineering symbol, the pre-calculated metadata is read and the corresponding engineering attributes are displayed.

[0034] Optionally, the determination step for model nodes with a projection size smaller than a preset pixel threshold includes:

[0035] Calculate the projection diameter of the model node in screen space;

[0036] When the projection diameter is less than a preset pixel threshold, the spatial frequency of the model node is extracted;

[0037] The spatial frequency is input into a preset contrast sensitivity function model to calculate the contrast sensitivity. The contrast sensitivity function model is used to characterize the contrast perception attenuation characteristics of the human eye at different spatial frequencies. Its calculation process is based on the exponential attenuation and bandpass filtering characteristics of spatial frequencies.

[0038] When the contrast sensitivity is lower than a preset visual threshold, the model node is determined to be in a visually invisible area.

[0039] Optionally, the step of performing hierarchical scheduling on the model nodes based on the comprehensive scheduling weight and the current system resource status parameters includes:

[0040] Real-time sampling of the current client's system status parameters, including frame rate, video memory usage, and network latency;

[0041] When the frame rate is greater than or equal to the first threshold, high-quality rendering mode is executed; when the frame rate is less than the first threshold but greater than or equal to the second threshold, balanced mode is executed; when the frame rate is less than the second threshold, minimalist mode is executed.

[0042] The switching between different modes is handled using hysteresis thresholds and easing curves.

[0043] Optionally, a mutual feedback adjustment mechanism is formed between the hierarchical scheduling and the preloading of the model data, the mutual feedback adjustment mechanism including:

[0044] Obtain the cache hit rate during the preloading process of the model data;

[0045] When the cache hit rate is higher than a preset hit rate threshold, the prefetch strength is reduced, including reducing the expansion amplitude of the prefetched frustum; when the cache hit rate is lower than a preset hit rate threshold, the prefetch strength is increased, including increasing the expansion amplitude of the prefetched frustum.

[0046] The number of concurrent prefetch requests is adjusted in reverse based on the current frame rate detection result, and the protection threshold is dynamically fine-tuned based on the current frame rate.

[0047] Optionally, the step of performing visual culling or minimalist proxy rendering includes:

[0048] For model nodes whose screen projection area is smaller than the preset minimum value and whose engineering semantic weight is lower than the minimum weight threshold, no content is rendered, and they are retained as logical placeholders in the scene tree.

[0049] When the bounding box volume of the model node is between a preset first volume threshold and a second volume threshold, a directed bounding box is rendered. The transparency of the directed bounding box is dynamically adjusted according to the level of the model node in the assembly tree, and the border line is highlighted.

[0050] When the bounding box volume of the model node is greater than the second volume threshold, the original vertex data of the subtree is read, and a preset proportion of vertices are extracted by random downsampling and rendered as point cloud proxies, wherein the first volume threshold is less than the second volume threshold.

[0051] Optionally, when the model node undergoes a precision switch, a smooth transition process is further included, the smooth transition process including:

[0052] Simultaneously render both high-precision and low-precision models;

[0053] Calculate the mixing factor based on the current line-of-sight distance;

[0054] In the fragment shader, a fixed jitter noise value is obtained by sampling a pre-generated spatial blue noise texture based on the screen coordinates of the current pixel.

[0055] When the random noise value is greater than the mixing factor, the pixels of the high-precision model are discarded; when the random noise value is less than or equal to the mixing factor, the pixels of the low-precision model are discarded.

[0056] The beneficial effects of this invention are:

[0057] 1. By introducing engineering semantic weights and combining them with screen projection geometric weights to generate comprehensive scheduling weights, the model's scheduling strategy can adaptively balance visual saliency and engineering importance according to the user's observation scale, making the preview strategy more in line with actual engineering intent.

[0058] 2. A dual-view frustum architecture was constructed and the view frustum was prefetched based on engineering semantic weights and predicted viewpoint dynamic correction logic. This enabled semantically driven directional data preloading, which improved the cache hit rate and effectively reduced loading stuttering during viewpoint switching.

[0059] 3. For nodes with a projection size smaller than the threshold, a dual-modal degradation processing mechanism is adopted. Parametric geometric primitives are retained in the logic layer to maintain engineering accuracy and interactivity, while fixed-size engineering symbols are used to replace them in the rendering layer. Without consuming a large amount of GPU rendering resources, the visual loss of key engineering semantic features is effectively avoided, and a balance between rendering performance and engineering semantic fidelity is achieved. Attached Figure Description

[0060] Figure 1 This is a flowchart of the method of the present invention.

[0061] Figure 2 This is a flowchart of the dual-view cone architecture and projection parameter correction of the present invention. Detailed Implementation

[0062] To facilitate a clear understanding of the technical means, creative features, objectives, and effects of this invention, the invention will be further described below in conjunction with specific illustrations.

[0063] To address the technical problems in existing technologies such as long-distance loss of engineering semantic features, performance lag due to insufficient computing power, and mismatch between preview strategies and user engineering intentions when previewing 3D models online on web and mobile devices, this application provides a PLM online preview processing method for lightweight conversion of 3D models, referencing... Figure 1 This includes the following steps.

[0064] S1: Obtain the spatial index data, geometric attribute data, and engineering semantic weights of each model node of the target 3D model.

[0065] In this step, the target 3D model is a 3D assembly model in the PLM system, which contains a large number of part nodes and engineering attribute data for each node. The spatial index data is an index built based on an octree structure, used to quickly locate the positional relationship of model nodes in 3D space. The geometric attribute data includes triangular facet data, vertex coordinates, normal information, and other geometric information used for rendering and display for each model node. It should be noted that the "triangular facet data" referred to throughout this application is a common form of facet data; quadrilateral facets or other polygonal facet data may also be used in other embodiments.

[0066] The process of obtaining engineering semantic weights includes the following steps.

[0067] First, obtain the part type factor, assembly constraint factor, tolerance factor, and assembly level factor for each model node. The part type factor is assigned based on the part's classification in the BOM, with lower values ​​for standard parts and fasteners, and higher values ​​for critical structural parts and brackets, ranging from 0 to 1. The assembly constraint factor is obtained by counting and normalizing the number of assembly constraints the node participates in; a higher number of constraints indicates a more critical part in the assembly. The tolerance factor is assigned based on the dimensional and geometric tolerance grades associated with the node; higher tolerance grades and stricter precision requirements result in higher values. The assembly level factor is calculated based on the node's depth in the assembly tree, with higher values ​​for top-level components and lower values ​​for bottom-level standard parts.

[0068] Then, normalization mapping is performed on the part type factor, assembly constraint factor, tolerance factor, and assembly level factor, mapping each factor to a uniform numerical range of 0 to 1, eliminating the influence of differences in dimensions and value ranges between different factors. Normalization mapping can employ Min-Max, Z-score standardization, or decimal scaling, among other normalization methods.

[0069] Next, the normalized first, second, third, and fourth mapping values ​​are multiplied by their corresponding preset weight coefficients and summed to obtain the engineering semantic weights. The weight coefficients are calibrated using the analytic hierarchy process combined with industry expert experience, and the sum of all weight coefficients is 1. These weight coefficients can be adjusted according to the actual engineering needs of different industries.

[0070] In this embodiment, the calculation of engineering semantic weights is performed on the server side. After the calculation is completed, the engineering semantic weights are embedded as lightweight metadata in the octree node and sent to the client along with the spatial index. At the same time, the system continuously monitors design change events of the target 3D model. When a design change event is detected, the system automatically triggers the recalculation of engineering semantic weights to ensure that the weight data always reflects the latest state of the model.

[0071] S2 calculates the screen projection geometric weights of each model node based on the current interaction state parameters, and generates the comprehensive scheduling weights of each model node by combining the engineering semantic weights.

[0072] During real-time operation on the client side, the current interaction state parameters are first acquired, including viewpoint position, viewing direction, field of view, and user operation speed. For each model node, its screen projection geometric weight is obtained by normalizing the projected area of ​​its bounding box in screen space. The screen projection geometric weight reflects the magnitude of the node's visual contribution from the current viewpoint.

[0073] Then, the screen projection geometric weights and the engineering semantic weights sent from the server to the client are weighted and summed to obtain the overall scheduling weight. The formula for calculating the overall scheduling weight is:

[0074]

[0075] in, The comprehensive scheduling weight for model node N, The screen projection geometric weight of this node. This is the engineering semantic weight of the node. and For dynamic adjustment coefficients, satisfying . and The value is automatically adjusted according to the scaling ratio of the current scene.

[0076] For example, when a user zooms in to view the details of a specific area, the zoom level is relatively large. The corresponding increase in scale gives screen projection geometry a higher weight in the overall scheduling, prioritizing the rendering quality of large areas within that region and providing users with a clear local visual experience. Conversely, when users zoom out to view the global layout of the entire assembly, the scaling ratio is smaller, at which point... The weighting of engineering semantics is increased accordingly, giving it a higher proportion in the overall scheduling. The system prioritizes ensuring that critical components (such as load-bearing components, precision-fitting components, and reference components) are not lost due to their small projected area, and that they always retain their logical existence or are displayed in proxy within the scene. Through this dynamic adjustment, the overall scheduling weight can adaptively balance visual salience and engineering importance according to the user's observation scale.

[0077] S3 constructs a dual-view frustum architecture that includes a main rendering view frustum and a logical prefetch view frustum. It corrects the projection parameters of the logical prefetch view frustum according to the engineering semantic weights to generate an inflated prefetch view frustum. It then uses the inflated prefetch view frustum and spatial index data to perform an intersection test, triggering the preloading of model data.

[0078] refer to Figure 2 The specific implementation process of this step is as follows.

[0079] First, the client constructs a dual-view frustum architecture. This architecture contains two independent camera objects: a primary rendering camera and a logical prefetch camera. The primary rendering camera maintains a constant standard symmetric perspective projection matrix and is used to output the user interaction screen. This matrix is ​​never modified under any circumstances, thus avoiding stretching or shearing distortion in the perspective projection of the primary rendering screen. The logical prefetch camera is an invisible virtual camera whose spatial pose is completely synchronized with the primary rendering camera. However, this camera does not attach any rendering targets, does not execute any GPU rendering instructions, and is only used for spatial bounding box intersection calculations. The projection matrix of the logical prefetch camera is set independently and is completely decoupled from the projection matrix of the primary rendering camera.

[0080] Then, the projection parameters of the logically prefetched view frustum are corrected according to the engineering semantic weights. This includes the following sub-steps.

[0081] The system acquires target features within the current main rendering view frustum whose engineering semantic weights are greater than a protection threshold, and predicts the viewpoint position at future moments. The protection threshold is used to filter out feature points that are of engineering significance; features below this threshold are considered to have low semantic importance and are not included in the determination of the prefetching direction. The preferred range for the protection threshold is 0.6 to 0.8, and the specific value can be adjusted based on the total number of parts in the target 3D model and the distribution characteristics of the engineering semantic weights.

[0082] The predicted future viewpoint position is obtained using an Extended Kalman Filter (EKF) based on angular velocity, translational velocity, and position data from a preset number of past frames. The EKF effectively handles some nonlinear features in user interaction by linearizing the nonlinear observation model. Simultaneously, the system acquires the trace of the predicted covariance matrix from the EKF in real time. When the trace exceeds a preset covariance threshold, it indicates insufficient prediction confidence, and the system automatically triggers a conservative prefetch strategy. Under this strategy, only model data within a preset dilation coefficient range around the currently rendered main rendering frustum is requested, pausing semantically driven directional prefetching until the covariance recovers below the threshold.

[0083] For each target feature, the spatial difference between the target feature's location and the predicted future viewpoint location is calculated. This spatial difference is then multiplied by the target feature's engineered semantic weight to obtain a product for each target feature. These products for each target feature are then summed to obtain a semantic attraction vector. This semantic attraction vector represents the overall attraction direction and intensity of all high-semantic features to the user's focus direction.

[0084] Then, the right and top vectors of the camera's local coordinate system are obtained. The semantic attraction vector is multiplied by the right and top vectors respectively to obtain the first and second projection components. The first and second projection components are multiplied by their corresponding preset gain coefficients and divided by the sum of the magnitude of the semantic attraction vector and the zero-prevention constant to obtain the lateral viewport offset and the longitudinal viewport offset. The zero-prevention constant is a very small positive number, preferably... This is used to prevent division by zero errors when the semantic attraction vector is zero. Since the magnitude of the semantic attraction vector varies with the number of high-semantic features, the above division operation normalizes the semantic attraction vector. The gain coefficient is calibrated based on the normalized vector, thus ensuring that the projection matrix offset is not affected by fluctuations in the number of features.

[0085] Using the lateral and longitudinal viewport offsets as clipping plane offset parameters, an asymmetric off-axis projection matrix is ​​generated to correct the projection parameters of the logical prefetch frustum. This matrix modifies the clipping plane parameters of the logical prefetch camera, causing the frustum to undergo continuously adjustable directional dilation in the semantic gravity direction, thus forming an asymmetric dilated prefetch frustum.

[0086] When the magnitude of the semantic attraction vector is less than a preset vector threshold, it indicates that there is a conflict in the target feature directions within the current main rendering frustum. That is, high semantic features are evenly distributed in all directions around the frustum, and there is no dominant prefetch direction. In this case, the system automatically switches the asymmetric off-axis projection matrix to an isotropic frustum expansion mode, uniformly expanding the range of the logical prefetch frustum in all directions.

[0087] Finally, the client performs an intersection test using the dilated prefetched view frustum and the spatial index data. Specifically, it performs a bounding box intersection test using the dilated prefetched view frustum and the octree spatial index structure provided by the server. All nodes falling inside the dilated prefetched view frustum but not inside the main rendering view frustum are marked as preload candidate nodes. The client asynchronously requests lightweight data for these candidate nodes from the server, requesting only geometric metadata and key engineering attributes, not high-precision texture data, and stores the loaded data in a cache pool. The cache pool uses a least recently used eviction policy to manage cache space and prevent the cache from growing indefinitely. When the user subsequently rotates the viewpoint, causing the aforementioned nodes to enter the main rendering view frustum, their lightweight transformation data is already ready in the local cache and can be directly loaded and rendered from the cache.

[0088] S4 performs hierarchical scheduling on model nodes based on the comprehensive scheduling weight and the current system resource status parameters.

[0089] During client operation, current system status parameters are sampled in real time, including frame rate, video memory usage, and network latency. Based on these parameters, the client is categorized into different operating modes, and corresponding scheduling strategies are executed. The determination of these system status parameters serves as the global enable condition for subsequent visual culling and bimodal degradation processing in S5.

[0090] When the frame rate exceeds a first threshold, a high-quality rendering mode is executed. In this mode, nodes with engineering semantic weights higher than a preset high threshold are preferentially loaded with medium-precision meshes, and engineering symbols are only enabled in sub-pixel areas. The first threshold is preferably 30fps.

[0091] When the frame rate is between the first and second thresholds, a balanced mode is executed. In this mode, the system allows activation of the bimodal degradation processing described in S5, i.e., for key feature nodes located in visually invisible areas, degradation processing is performed by preserving the parameterized geometric primitives of the logic layer and proxying the display of engineering symbols in the rendering layer. The second threshold is preferably 15fps.

[0092] When the frame rate falls below the second threshold or the video memory usage exceeds the video memory alarm threshold, a simplified mode is executed. In this mode, non-critical subtrees are forced into visual sleep mode to release GPU rendering resources, critical nodes retain engineering symbol proxy display, and the number of concurrent preload requests is actively reduced to save network bandwidth.

[0093] The switching between modes is handled using hysteresis thresholds and easing curves. Hysteresis thresholds, by setting different rising and falling thresholds, prevent frequent ping-pong switching at threshold boundaries. Easing curves ensure a smooth transition of parameter changes during mode switching, thus maintaining a consistent user experience.

[0094] Furthermore, a feedback adjustment mechanism is formed between hierarchical scheduling and model data preloading. Specifically, the system obtains the cache hit rate in real time during the model data preloading process. When the cache hit rate is higher than the preset hit rate threshold, it indicates that the current prefetching strategy is effective, and the prefetching intensity is appropriately reduced, i.e., the expansion of the prefetched view frustum is reduced. When the cache hit rate is lower than the preset hit rate threshold, it indicates that the current prefetching strategy has failed to effectively cover the user's focus direction, and the prefetching intensity is appropriately increased, i.e., the expansion of the prefetched view frustum is increased. At the same time, the concurrency of prefetching requests is adjusted in reverse according to the current frame rate detection results. When the frame rate decreases, the prefetching concurrency is reduced to prioritize the smoothness of the rendering thread. The protection threshold for dual-modal degradation is dynamically fine-tuned according to the current frame rate. This protection threshold is the critical value for triggering dual-modal degradation processing. When the frame rate increases, the protection threshold is reduced to allow more nodes to enter symbolic keep-alive mode. When the frame rate decreases, the protection threshold is increased to allow more nodes to enter visual sleep mode to release GPU rendering resources.

[0095] S5 performs visual invisibility determination and bimodal degradation processing for model nodes whose projection size is smaller than a preset pixel threshold.

[0096] This step involves accurately determining the visual invisibility of model nodes when system resources are limited (such as when executing the balanced mode or minimalist mode described in S4), and then performing bimodal degradation, visual culling, or minimalist proxy rendering based on the determination results and engineering semantic weights.

[0097] The specific process for determining visual invisibility is as follows.

[0098] First, calculate the projection diameter of the model node in screen space. The projection diameter is determined based on the projection range of the node's bounding box in screen space, and the unit is pixels.

[0099] When the projection diameter is smaller than a preset pixel threshold, the spatial frequency of the model node is extracted. The preset pixel threshold is preferably between 8 and 16 pixels, a range determined based on the human eye's resolution limit for small objects at typical mobile screen resolutions. The spatial frequency is calculated based on the current screen resolution, viewing distance, and the node's projection size in screen space. Specifically, the number of pixels corresponding to each degree of viewing angle is determined based on the viewing distance and screen resolution. The node's projection diameter is divided by this number of pixels to obtain the angle of view (in degrees) corresponding to the node. The reciprocal of this angle of view is taken to obtain the spatial frequency, expressed as cycles per degree.

[0100] The spatial frequency is input into a preset contrast sensitivity function model to calculate the contrast sensitivity. The Barten model is used to characterize the attenuation characteristics of contrast perception at different spatial frequencies. Its calculation process is based on the exponential decay and high-frequency boost characteristics of spatial frequencies. The specific calculation formula of the Barten model is as follows:

[0101]

[0102] Where u is the spatial frequency (in periods / degrees), a is the preset peak sensitivity coefficient, b is the preset spatial frequency attenuation coefficient, c is the preset high-frequency boost coefficient, and d is the preset high-frequency attenuation coefficient. In the above formula, the high-frequency term exp(-d·u) ensures that as the spatial frequency u increases, the contrast sensitivity approaches 0, which conforms to the high-frequency visual attenuation characteristics of the human eye.

[0103] Of the parameters mentioned above, the peak sensitivity coefficient 'a' is preferably 540, the spatial frequency attenuation coefficient 'b' is preferably 0.12, the high-frequency boost coefficient 'c' is preferably 0.13, and the exponential adjustment coefficient 'd' is preferably 0.13. These parameters are applicable to standard observation conditions, i.e., a background brightness of 100 cd / m² and a viewing angle of not less than 2 degrees. In the client implementation, the parameters can be adaptively fine-tuned based on the actual screen brightness and ambient light sensor data to ensure visual perception consistency under the current environment. When ambient light data is unavailable, the above recommended values ​​are used as the default configuration.

[0104] When the contrast sensitivity is lower than a preset visual threshold, the model node is determined to be in the visually invisible area. The visual threshold is preferably 0.01, which corresponds to the visual physiological threshold at which the human eye cannot perceive a contrast difference of less than 1%.

[0105] Based on the visual invisibility determination result and the engineering semantic weight, the following branch processing is performed.

[0106] For model nodes located in visually invisible areas, their engineering semantic weights are extracted and compared with a protection threshold. When the engineering semantic weight is lower than the protection threshold, the node is considered a normal feature and undergoes visual culling or minimalist proxy rendering. Specifically, for model nodes with a screen projection area smaller than a preset minimum value and an engineering semantic weight lower than the minimum weight threshold, no content is rendered; only their logical placeholder in the scene tree is retained, freeing up GPU rendering resources. The preset minimum value is preferably 1 square pixel, and the minimum weight threshold is preferably 0.2. When the bounding box volume of a model node is between a preset first volume threshold and a second volume threshold, the system renders the node's directed bounding box as a proxy. The transparency of the directed bounding box is dynamically adjusted according to the node's hierarchy in the assembly tree, and the border lines are highlighted. When the bounding box volume of a model node is greater than the second volume threshold, the system reads the original vertex data of the subtree, performs random downsampling to extract vertices at a preset ratio, and renders them as point cloud proxies. The first volume threshold is lower than the second volume threshold.

[0107] When the engineering semantic weight of a model node exceeds the protection threshold, the node is considered a key feature, triggering bimodal degradation processing. Bimodal degradation processing includes two parallel dimensions: logic layer processing and rendering layer processing.

[0108] At the logical layer, the client resides the parametric geometric primitives of the model node in memory and actively suppresses the loading of the corresponding patch data (such as triangular patch data). These parametric geometric primitives can be sent from the server along with the spatial index data in the S1 phase and reside in the client's memory, or they can be obtained by the client through a separate request to the server when bimodal degradation is triggered. The parametric geometric primitives are boundary representation surface data or non-uniform rational B-spline geometric data extracted from the lightweight model format of the product lifecycle management system. This lightweight model format adopts a dual-track storage structure for display and geometric information, such as the ISO-standardized JT format. This format contains not only triangular model patch data for rendering but also boundary representation surface data for precise queries. The client extracts the boundary representation surface data or non-uniform rational B-spline geometric data from this lightweight model format and resides it in memory, while choosing not to load the corresponding triangular patch data, thereby saving GPU rendering resources. Subsequent engineering attribute queries are implemented by reading pre-computed metadata and do not involve real-time boundary representation surface calculations.

[0109] In the rendering layer, the client converts model nodes into engineering symbols for display. Specifically, a screen-space rendering mode is used, employing coordinate transformation to map the 3D feature coordinates to the screen's 2D coordinate system, generating engineering symbols with a preset fixed pixel size. The display pixel size of the engineering symbols on the screen is fixed and does not shrink as the 3D object's physical depth from the camera increases, ensuring that engineers can clearly identify the location and type of key features even at a distance. A pre-configured lookup table maps the engineering semantic type of the model nodes to the corresponding engineering symbol primitives for rendering. Specifically, hole features are mapped to crosshairs, mating surface features to dashed boxes, datum axis features to dashed lines, and thread features to thread symbols. The color of the engineering symbols is encoded according to the engineering semantic type; for example, red represents key mating surfaces, blue represents datum features, and green represents measurement features.

[0110] Since high-precision triangular facets are not loaded, when a user performs interactive operations on the engineering symbol, such as mouse hover or finger touch, the system achieves the interactive response by extracting the bounding box of the parametric geometric primitives retained in the logic layer and performing 3D ray casting detection; or by directly using a fixed pixel area of ​​the engineering symbol in the screen's 2D coordinate system to perform 2D collision testing. Both of these methods are optional interactive response implementations in this step. When an interactive operation is received, the system reads pre-calculated metadata to display the corresponding engineering attributes, including tolerance values, reference points, material information, etc.

[0111] S6 performs a smooth transition when switching model precision.

[0112] When a model node switches between different precision levels (e.g., a node is scheduled to a higher or lower detail level due to changes in the overall scheduling weight), both the high-precision and low-precision models are rendered simultaneously. A blending factor is calculated based on the current view distance, with a value ranging from 0 to 1. In the fragment shader, a pre-generated spatial blue noise texture (or Bayer matrix) is sampled based on the current pixel's screen coordinates to obtain a fixed jitter noise value. When this noise value is greater than the blending factor, pixels from the high-precision model are discarded, and pixels from the low-precision model are displayed; when the noise value is less than or equal to the blending factor, pixels from the low-precision model are discarded, and pixels from the high-precision model are displayed. The spatial blue noise texture is generated during rendering pipeline initialization and passed to the fragment shader as a uniform sampler. Its noise pattern is spatially continuous and temporally fixed, avoiding screen flickering caused by random frame-by-frame refresh.

[0113] As the viewing distance changes, the blending factor gradually transitions from 0 to 1. Pixels of the high-precision model and the low-precision model are randomly interleaved according to the blending factor, thus achieving a smooth visual transition. This method eliminates the need to calculate intermediate transition meshes; all calculations are performed in the fragment shader with constant complexity.

[0114] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention, all of which fall within the scope of protection claimed by the present invention. The scope of protection of the present invention is defined by the appended claims and their equivalents.

Claims

1. A PLM online preview processing method for lightweight conversion of 3D models, characterized in that, Includes the following steps: Obtain the spatial index data, geometric attribute data, and engineering semantic weights of each model node of the target 3D model; The screen projection geometric weights of each model node are calculated based on the current interaction state parameters, and the comprehensive scheduling weights of each model node are generated by combining the engineering semantic weights. A dual-view frustum architecture consisting of a main rendering view frustum and a logical prefetch view frustum is constructed. The projection parameters of the logical prefetch view frustum are corrected based on the engineering semantic weights to generate an inflated prefetch view frustum. The inflated prefetch view frustum is used to perform an intersection test with the spatial index data to trigger the preloading of model data. Based on the comprehensive scheduling weight and the current system resource status parameters, hierarchical scheduling is performed on the model nodes; For model nodes whose projection size is smaller than a preset pixel threshold, if the model node is determined to be in a visually invisible area and its engineering semantic weight is lower than the protection threshold, then visual culling or minimalist proxy rendering is performed; if the model node is determined to be in a visually invisible area and its engineering semantic weight is higher than the protection threshold, then bimodal degradation processing is triggered: in the logic layer, the parametric geometric primitives of the model node are retained and its facet data loading is suppressed, and in the rendering layer, the model node is converted into engineering symbols for display.

2. The method according to claim 1, characterized in that, The steps for obtaining the engineering semantic weights of each model node include: Obtain the part type factor, assembly constraint factor, tolerance factor, and assembly level factor of the model node; The part type factor, assembly constraint factor, tolerance factor, and assembly level factor are respectively normalized and mapped to obtain the corresponding first mapping value, second mapping value, third mapping value, and fourth mapping value. The engineering semantic weight is obtained by multiplying the first mapping value, the second mapping value, the third mapping value, and the fourth mapping value by their respective preset weight coefficients and then summing them. Listen for design change events of the target 3D model. When the design change event is detected, recalculate the engineering semantic weights.

3. The method according to claim 1, characterized in that, The step of correcting the projection parameters of the logical prefetch frustum based on the engineering semantic weights includes: Obtain target features whose engineering semantic weights are greater than the protection threshold within the current main rendering view frustum, and obtain the predicted viewpoint position at future moments; The semantic attraction vector is obtained by accumulating the product of the position difference corresponding to each target feature and the engineering semantic weight, wherein the position difference is the difference between the spatial position of the target feature and the predicted future viewpoint position. Obtain the right and top vectors of the camera's local coordinate system, and perform dot product operations between the semantic attraction vector and the right and top vectors respectively to obtain the first projection component and the second projection component; Multiply the first projection component and the second projection component by their respective preset gain coefficients, and divide by the sum of the magnitude of the semantic attraction vector and the zero constant to obtain the lateral viewport offset and the longitudinal viewport offset. The lateral viewport offset and the longitudinal viewport offset are used as shear plane offset parameters to generate an asymmetric off-axis projection matrix to correct the projection parameters of the logical prefetched view frustum. When the magnitude of the semantic attraction vector is less than a preset vector threshold, it is determined that there is a conflict in the direction of the target feature within the current main rendering frustum. The asymmetric off-axis projection matrix is ​​then switched to an isotropic frustum expansion mode to uniformly expand the range of the logical prefetch frustum in all directions.

4. The method according to claim 3, characterized in that, The step of obtaining the predicted future viewpoint position includes: An extended Kalman filter is used to predict the state based on angular velocity, translational velocity, and position data from a preset number of past frames, thus obtaining the predicted future viewpoint position. Obtain the trace of the prediction covariance matrix of the extended Kalman filter; When the predicted covariance matrix trace exceeds a preset covariance threshold, a conservative prefetching strategy is triggered, requesting only model data within a preset dilation coefficient range around the current main rendering view frustum.

5. The method according to claim 1, characterized in that, The steps for triggering the dual-modal degradation process include: The parameterized geometric primitives of the model nodes reside in memory. The parameterized geometric primitives are boundary representation surface data or non-uniform rational B-spline geometric data extracted from the lightweight model format of product lifecycle management. The lightweight model format adopts a dual-track storage structure of display information and geometric information. In the rendering layer, a screen space rendering mode is adopted, and coordinate transformation is used to map the three-dimensional feature coordinates to the screen two-dimensional coordinate system to generate the engineering symbol with a preset fixed pixel size. The engineering semantic type of the model node is mapped to the corresponding engineering symbol graphic primitive for rendering through a pre-configured lookup table. Among them, the hole feature is mapped to the crosshair, the mating surface feature is mapped to the dashed box, the reference axis feature is mapped to the dotted line, and the thread feature is mapped to the thread symbol. When an interactive operation is received for the engineering symbol, the pre-calculated metadata is read and the corresponding engineering attributes are displayed.

6. The method according to claim 1, characterized in that, The determination step for model nodes whose projection size is smaller than a preset pixel threshold includes: Calculate the projection diameter of the model node in screen space; When the projection diameter is less than a preset pixel threshold, the spatial frequency of the model node is extracted; The spatial frequency is input into a preset contrast sensitivity function model to calculate the contrast sensitivity. The contrast sensitivity function model is used to characterize the contrast perception attenuation characteristics of the human eye at different spatial frequencies. Its calculation process is based on the exponential attenuation and bandpass filtering characteristics of spatial frequencies. When the contrast sensitivity is lower than a preset visual threshold, the model node is determined to be in a visually invisible area.

7. The method according to claim 1, characterized in that, The step of performing hierarchical scheduling on the model nodes based on the comprehensive scheduling weight and the current system resource status parameters includes: Real-time sampling of the current client's system status parameters, including frame rate, video memory usage, and network latency; When the frame rate is greater than or equal to the first threshold, high-quality rendering mode is executed; when the frame rate is less than the first threshold but greater than or equal to the second threshold, balanced mode is executed; when the frame rate is less than the second threshold, minimalist mode is executed. The switching between different modes is handled using hysteresis thresholds and easing curves.

8. The method according to claim 7, characterized in that, A mutual feedback adjustment mechanism is formed between the hierarchical scheduling and the preloading of the model data, and the mutual feedback adjustment mechanism includes: Obtain the cache hit rate during the preloading process of the model data; When the cache hit rate is higher than a preset hit rate threshold, the prefetch strength is reduced, including reducing the expansion amplitude of the prefetched frustum; when the cache hit rate is lower than a preset hit rate threshold, the prefetch strength is increased, including increasing the expansion amplitude of the prefetched frustum. The concurrency of prefetch requests is adjusted in reverse based on the current frame rate detection results, and the protection threshold is dynamically fine-tuned based on the current frame rate.

9. The method according to claim 1, characterized in that, The steps for performing visual culling or minimalist proxy rendering include: For model nodes whose screen projection area is smaller than the preset minimum value and whose engineering semantic weight is lower than the minimum weight threshold, no content is rendered, and they are retained as logical placeholders in the scene tree. When the bounding box volume of the model node is between a preset first volume threshold and a second volume threshold, a directed bounding box is rendered. The transparency of the directed bounding box is dynamically adjusted according to the level of the model node in the assembly tree, and the border line is highlighted. When the bounding box volume of the model node is greater than the second volume threshold, the original vertex data of the subtree is read, and a preset proportion of vertices are extracted by random downsampling and rendered as point cloud proxies, wherein the first volume threshold is less than the second volume threshold.

10. The method according to claim 1, characterized in that, When the model node undergoes a precision switch, a smooth transition process is also included, which includes: Simultaneously render both high-precision and low-precision models; Calculate the mixing factor based on the current line-of-sight distance; In the fragment shader, a fixed jitter noise value is obtained by sampling a pre-generated spatial blue noise texture based on the screen coordinates of the current pixel. When the random noise value is greater than the mixing factor, the pixels of the high-precision model are discarded; when the random noise value is less than or equal to the mixing factor, the pixels of the low-precision model are discarded.