Model construction method and device, topography measurement method, and storage medium
Patent Information
- Application Number
- CN202610959379.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-29
- Publication Date
- 2026-10-20
AI Technical Summary
[0003]针对现有技术存在的问题,本申请提供了一种模型构建方法及装置、形貌量测方法、存储介质,能够将构建块之间复杂曲面边界交叠计算转变为线单元之间的重叠点计算和基于线单元之间的截断和重构,显著降低计算复杂度,从而在实现对待测结构,包括一些复杂的待测结构的模型构建的同时,满足快速、稳定地构建模型的需求
[0055]本申请通过对待测结构进行分段,并对分段结构执行初始截面曲线的确定步骤以得到各个切片对应的初始截面曲线,之后将每个初始截面曲线划分为多个线单元,基于初始截面曲线和多个线单元确定重构截面曲线,从而构建分段结构的模型,进而构建出待测结构的模型。能够对复杂的待测结构进行拆分,降低模型构建的复杂性,并将构建块之间复杂曲面边界交叠计算转变为线单元之间的重叠点计算和基于线单元之间的截断和重构,显著降低计算复杂度,从而进一步降低模型构建的复杂性,提升模型构建的速度和稳定性,以满足待测结构,包括复杂的待测结构的三维模型构建的快速、稳定的需求。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This invention relates to the field of semiconductor testing technology, specifically to a model building method and apparatus, a morphology measurement method, and a storage medium. Background Technology
[0002] In the field of semiconductor inspection technology, OCD (Optical Critical Dimension Metrology), with its unique optical scattering measurement principle and the combination of powerful computing capabilities and advanced modeling algorithms, has successfully met the demand for rapid, non-destructive, and high-precision three-dimensional topographic measurement of semiconductors (such as wafers), thus becoming an indispensable key measurement pillar in advanced semiconductor manufacturing nodes. OCD is essentially a model-based scattering measurement method. It establishes a parametric geometric model, iteratively matches the measured scattering signal with the model's analog signal, and performs high-frequency geometric model reconstruction during the iteration process to determine the size and topographic parameters of the structure under test. However, as semiconductor structures become increasingly complex, the overlap of boundaries caused by these complex structures increases significantly. This leads to a significant increase in the computational complexity of the geometric engine during measurement, resulting in decreased model building efficiency and stability, and consequently affecting measurement accuracy. Summary of the Invention
[0003] To address the problems existing in the prior art, this application provides a model building method and apparatus, a topography measurement method, and a storage medium. These methods transform the calculation of complex surface boundary overlaps between building blocks into the calculation of overlap points between line elements and the truncation and reconstruction based on line elements, significantly reducing computational complexity. This allows for the construction of models of the structures under test, including some complex ones, while simultaneously meeting the requirement for rapid and stable model building. The technical solution is as follows:
[0004] On the one hand, a model building method is provided, the method comprising:
[0005] The target building block group is determined based on the structure to be tested, and the function set corresponding to each building block in the target building block group is determined.
[0006] The structure under test is segmented based on the target building block group to obtain at least one segmented structure, and each segmented structure includes the whole or part of at least one building block;
[0007] The initial cross-sectional curve determination step is performed for each segmented structure, including: slicing the segmented structure sequentially to obtain multiple slices arranged in order, and determining the slice height corresponding to each slice; and determining the initial cross-sectional curve corresponding to each slice based on the slice height corresponding to each slice and the function set of the building blocks corresponding to each slice.
[0008] For each initial cross-sectional curve, a reconstructed cross-sectional curve determination step is performed, including: dividing the initial cross-sectional curve into multiple line units; and determining the reconstructed cross-sectional curve based on the initial cross-sectional curve and its corresponding multiple line units.
[0009] Based on multiple reconstructed cross-sectional curves and their corresponding slices, the model of the segmented structure is determined, and based on the models of the multiple segmented structures, the model of the structure to be tested is constructed.
[0010] Optionally, the step of segmenting the structure under test based on the target building block group to obtain at least one segmented structure includes:
[0011] At least two dividing interfaces are defined by at least one of the opposing surfaces of at least one building block, the dividing interfaces extending along the boundary or interior of the building block that defines them.
[0012] The structure to be tested is segmented according to the at least two dividing interfaces to obtain at least one segmented structure, wherein the same segmented structure has the same spatial distribution characteristics.
[0013] Optionally, determining the function set corresponding to each building block in the target building block group includes:
[0014] Determine the set of side curve functions for the building block, the set of side curve functions being used to indicate the relationship between the coordinates of the side boundary of the building block and its height; and / or
[0015] Determine the center point function set of the building block, which is used to indicate the relationship between the center offset of the building block and the height.
[0016] Optionally, determining the initial cross-sectional curve corresponding to each slice based on the slice height and the function set of the building blocks corresponding to each slice includes:
[0017] For each slice:
[0018] The slice height of the slice is substituted into the function set of the corresponding building block to determine multiple boundary coordinates of each building block in the segmented structure; based on the boundary coordinates, the cross-sectional curve corresponding to the building block is determined.
[0019] The superposition of the cross-sectional curves of the building blocks corresponding to the slice is determined as the initial cross-sectional curve corresponding to the slice.
[0020] Optionally, dividing the initial cross-sectional curve into multiple line units includes:
[0021] For the cross-sectional curve of each building block in the initial cross-sectional curve: the cross-sectional curve is divided circumferentially according to the vertex or tangent point in the cross-sectional curve to obtain multiple monotonic line units, each of the multiple line units containing its own start coordinates and end coordinates.
[0022] Optionally, determining the reconstructed cross-sectional curve based on the initial cross-sectional curve and its corresponding plurality of line elements includes:
[0023] Determine whether the initial cross-sectional curve is a superposition of cross-sectional curves of multiple building blocks;
[0024] When the initial cross-sectional curve is the superposition of cross-sectional curves of multiple building blocks, the start coordinates and end coordinates of the line elements of the initial cross-sectional curve are traversed, and the coordinates of the line elements that exist on at least two different cross-sectional curves are marked.
[0025] Record the coordinates of the marked line elements into the overlapping coordinate set;
[0026] Based on the overlapping coordinate set and the coverage relationship of the multiple building blocks, the reconstructed cross-sectional curve is determined.
[0027] Optionally, determining the reconstructed cross-sectional curve based on the overlapping coordinate set and the coverage relationship of the plurality of building blocks includes:
[0028] The traversal rules are determined based on the coverage relationship;
[0029] Starting from any line unit coordinate in the overlapping coordinate set, the multiple line units of the initial cross-section curve are traversed along the circumferential direction according to the traversal rules until the starting point is returned, so as to form at least one closed loop.
[0030] Remove line units that do not belong to any closed loop;
[0031] The at least one closed loop is combined to obtain a reconstructed cross-sectional curve.
[0032] Optionally, determining the model of the segmented structure based on multiple reconstructed cross-sectional curves and their corresponding slices includes:
[0033] Discrete point interpolation is performed on the line elements in each reconstructed cross-sectional curve;
[0034] Align the reconstructed cross-sectional curves corresponding to adjacent slices;
[0035] Interpolation points corresponding to adjacent slices of the same aligned building block are connected to construct surfaces, thereby determining the model of the segmented structure.
[0036] Optionally, when the number of line elements in the reconstructed section curves corresponding to adjacent slices is not the same, aligning the reconstructed section curves belonging to the same building block in adjacent slices includes:
[0037] Align the reconstructed cross-section curve with fewer line elements with the reconstructed cross-section curve that has more line elements.
[0038] The step of connecting the interpolation points corresponding to adjacent slices of the same aligned building block includes:
[0039] Interpolation points in the reconstructed section curve with a larger number of line elements that exceed the corresponding relationship are connected to the start or end coordinates of the nearest line element in the reconstructed section of the adjacent slice to form a triangular face.
[0040] Optionally, determining the target building block group comprising the structure under test based on the structure under test includes:
[0041] Based on the structure to be tested, the target building block group is determined from the pre-stored building block library.
[0042] On the other hand, a model building apparatus is provided, the apparatus comprising:
[0043] The first determining module is used to determine the target building block group based on the structure to be tested, and to determine the function set corresponding to each building block in the target building block group;
[0044] The segmentation module is used to segment the structure under test based on the target building block group to obtain at least one segmented structure, and each segmented structure includes the whole or part of at least one building block.
[0045] The second determining module is used to perform an initial cross-sectional curve determination step for each segmented structure, including: sequentially slicing the segmented structure to obtain multiple slices arranged in sequence, and determining the slice height corresponding to each slice; and determining the initial cross-sectional curve corresponding to each slice based on the slice height corresponding to each slice and the function set of the building blocks corresponding to each slice.
[0046] The third determining module is used to perform a reconstructed cross-section curve determining step for each initial cross-section curve, including: dividing the initial cross-section curve into multiple line units; and determining the reconstructed cross-section curve based on the initial cross-section curve and its corresponding multiple line units.
[0047] The fourth determining module is used to determine the model of the segmented structure based on multiple reconstructed cross-sectional curves and their corresponding slices, and to construct the model of the structure to be tested based on the models of the multiple segmented structures.
[0048] On the other hand, a morphology measurement method is provided, the method comprising:
[0049] Obtain the measured spectrum of the structure under test;
[0050] The theoretical spectrum is determined according to the steps of the model construction method described above;
[0051] Based on the matching relationship between the measured spectrum and the theoretical spectrum, the morphological parameters of the structure to be tested are determined.
[0052] On the other hand, a computer-readable storage medium is provided, wherein a computer program is stored therein, and the computer program can be executed by a processor to implement the steps of the model building method and the morphology measurement method described above.
[0053] On the other hand, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the steps of the model building method and the morphology measurement method described above.
[0054] The technical solution provided in this application can bring at least the following beneficial effects:
[0055] This application divides the structure under test into segments and performs an initial cross-sectional curve determination step on each segment to obtain the initial cross-sectional curve corresponding to each slice. Then, each initial cross-sectional curve is divided into multiple line elements. Based on the initial cross-sectional curves and multiple line elements, a reconstructed cross-sectional curve is determined, thereby constructing a model of the segmented structure, and ultimately a model of the structure under test. This approach enables the decomposition of complex structures under test, reducing the complexity of model construction. It transforms the calculation of complex surface boundary overlaps between building blocks into the calculation of overlap points between line elements and truncation and reconstruction based on line elements, significantly reducing computational complexity. This further reduces the complexity of model construction, improving its speed and stability, thus meeting the requirements for rapid and stable 3D model construction of structures under test, including complex ones. Attached Figure Description
[0056] Figure 1 This is a schematic diagram of the structure of a spectral measurement system provided in an embodiment of this application;
[0057] Figure 2 A flowchart illustrating a model building method provided in this application embodiment;
[0058] Figure 3 This is a schematic diagram of a structure to be tested provided in an embodiment of this application;
[0059] Figure 4 This is a schematic diagram of another structure to be tested provided in an embodiment of this application;
[0060] Figure 5This is a schematic diagram of another structure to be tested provided in an embodiment of this application;
[0061] Figure 6 This is a schematic diagram of another structure to be tested provided in an embodiment of this application;
[0062] Figure 7 A schematic diagram of an initial cross-sectional curve provided for an embodiment of this application;
[0063] Figure 8 A schematic diagram of a cross-sectional curve of a building block provided in an embodiment of this application;
[0064] Figure 9 A schematic diagram of a target cross-sectional curve provided in an embodiment of this application;
[0065] Figure 10 This is a schematic diagram of a segmented structure provided in an embodiment of this application;
[0066] Figure 11 This is a schematic diagram of the structure of a model building device provided in an embodiment of this application;
[0067] Figure 12 This is a flowchart of a morphology measurement method provided in an embodiment of this application. Detailed Implementation
[0068] The present invention will now be described in further detail with reference to specific embodiments and accompanying drawings. Similar elements in different embodiments are referred to by associated similar element reference numerals. In the following embodiments, many details are described to facilitate a better understanding of this application. However, those skilled in the art will readily recognize that some features may be omitted in different situations, or may be replaced by other elements, materials, or methods. In some cases, certain operations related to this application are not shown or described in the specification. This is to avoid obscuring the core parts of this application with excessive description. For those skilled in the art, detailed description of these related operations is not necessary; they can fully understand the related operations based on the description in the specification and general technical knowledge in the art.
[0069] Furthermore, the features, operations, or characteristics described in the specification can be combined in any suitable manner to form various embodiments. At the same time, the steps or actions in the method description can be rearranged or adjusted in a manner obvious to those skilled in the art. Therefore, the various orders in the specification and drawings are only for the clear description of a particular embodiment and do not imply a necessary order, unless otherwise stated that a particular order must be followed.
[0070] The serial numbers assigned to components in this document, such as "first" and "second," are used only to distinguish the described objects and have no sequential or technical meaning. The terms "connection" and "linkage" used in this application, unless otherwise specified, include both direct and indirect connections (linkages).
[0071] Before providing a detailed explanation of the model building method provided in the embodiments of this application, the application scenarios and implementation environment involved in the embodiments of this application will be introduced first.
[0072] OCD (Optical Dispersion Measurement) is essentially a model-based scattering measurement method. In practice, it typically constructs a parametric geometric model based on the semiconductor's (e.g., wafer's structural design and process information). The semiconductor structure is divided into multiple layers with variable parameters. The actual measured signal is compared with the analog signal calculated by the theoretical model. Through iterative algorithms, key parameters in the geometric model (such as critical dimensions, height, and sidewall angles) are continuously adjusted until the analog signal and the measured signal achieve optimal matching. At this point, the parameters of the geometric model are considered the actual dimensions and morphology of the semiconductor structure. During this iterative process, the geometry engine undertakes the model reconstruction function and needs to be frequently invoked to quickly and accurately reconstruct the geometric model based on updated parameters. With the evolution of semiconductor processes, device structures are becoming increasingly complex, such as 3D NAND staircase structures and GAA transistor nanosheet stacked structures. The increased boundary overlap caused by these complex structures leads to a sharp rise in the computational complexity of the geometry engine, reducing the efficiency and stability of geometric model construction and rendering, and consequently affecting online measurement efficiency and user experience.
[0073] Based on this, embodiments of this application provide a model construction method. The method involves segmenting the structure under test to obtain at least one segmented structure, slicing each segment, and dividing the initial cross-sectional curve corresponding to each slice into line elements. Based on these line elements, a reconstructed cross-sectional curve is determined, thereby defining the model of the segmented structure and constructing the model of the structure under test. This method transforms the calculation of complex surface boundary overlaps between building blocks into the calculation of overlap points between line elements and the truncation and reconstruction based on line elements, significantly reducing computational complexity. This allows for the construction of models of the structure under test, including some complex structures, while simultaneously meeting the requirements for fast and stable model construction.
[0074] Please refer to Figure 1 , Figure 1 This is a schematic diagram of a spectral measurement system provided in an embodiment of this application. This spectral measurement system is used to scan and image a analyte to detect it. Please refer to... Figure 1 The spectral measurement system includes, in sequence along the optical path transmission direction, a light source 101, a polarizer 102, a sample stage 103, a compensator 104, an analyzer 105, and a detector 106. The detector 106 is also connected to the processor 107.
[0075] Among them, the light source 101 is used to emit an illumination beam ( Figure 1 (The gray portion in the image). It should be noted that the light source 101 can be any of the following: LED, xenon lamp, mercury lamp, halogen lamp, laser lamp, laser plasma lamp, or laser-driven white light source 101 lamp, or other light source components. In other words, the embodiments of this application do not limit the light source 101.
[0076] The polarizer 102 is disposed in the outgoing optical path of the light source 101 to receive the illumination beam and polarize it to generate an incident beam with a specific polarization direction.
[0077] The sample stage 103 is positioned in the output optical path of the polarizer 102 to support the structure under test. The incident beam emitted from the polarizer 102 illuminates the surface of the structure under test at a preset incident angle, and after reflection / diffraction by the structure under test, it forms a reflected beam carrying information about the shape of the structure under test.
[0078] It should be noted that the structure under test in the embodiments of this application can be a grating (such as a critical dimension measurement grating fabricated on a wafer). In order to perform accurate OCD measurement on the structure under test, it is necessary to determine the boundary information of the structure under test, and then characterize the critical dimensions of the corresponding process layer on the structure under test.
[0079] The compensator 104 is disposed in the reflected optical path of the structure under test and is used to introduce an adjustable phase difference into the reflected beam in order to modulate the polarization state of the reflected beam.
[0080] The analyzer 105 is disposed in the output optical path of the compensator 104 and is used to perform polarization filtering on the reflected beam after phase modulation by the compensator 104.
[0081] Detector 106 is positioned in the output optical path of analyzer 105 to receive the reflected light beam filtered by analyzer 105. Detector 106 converts the received reflected light beam into a corresponding electrical signal and outputs the electrical signal as the measured spectrum.
[0082] To achieve high-precision measurement of the structure under test, the spectral measurement system also includes a processor 107, which is communicatively connected to the detector 106 (either wired or wireless) to receive the measured spectrum of the structure under test output by the detector 106.
[0083] In other embodiments, the scattering signal of the micro-nano structure can also be measured based on measurement techniques or equipment such as CD small-angle X-ray scattering technology and CD scanning electron microscope. In this case, the light source can be replaced by X-rays or an electron gun, and its detector receives the scattered X-ray photons or the scattered X-ray photon signal.
[0084] In some embodiments, the processor 107 is further configured to: determine a target building block group based on the structure under test, and determine the function set corresponding to each building block in the target building block group; then, segment the structure under test based on the target building block group to obtain at least one segmented structure, each segmented structure including the whole or part of at least one building block; subsequently, perform an initial cross-sectional curve determination step for each segmented structure, and perform a reconstructed cross-sectional curve determination step for each initial cross-sectional curve, so as to determine the model of the segmented structure based on multiple reconstructed cross-sectional curves and their corresponding slices, and construct the model of the structure under test based on the model of multiple segmented structures.
[0085] In some embodiments, the processor 107 is further configured to acquire the measured spectrum of the structure under test, then determine the theoretical spectrum according to the model construction method described above, and then determine the morphological parameters of the structure under test based on the matching relationship between the measured spectrum and the theoretical spectrum.
[0086] In some embodiments, the processor 107 can determine the theoretical spectrum of the constructed model of the structure under test based on the model of the structure under test constructed by the above model construction method and by using algorithms such as rigorous coupled-wave analysis.
[0087] It should be noted that the above explanation is based on performing rigorous coupled-wave analysis to determine the theoretical spectrum corresponding to the model of the constructed structure under test. Alternatively, other methods can be used to determine the theoretical response signal of the structure under test under preset detection conditions. That is, the aforementioned detection conditions are not limited to light sources in a specific wavelength band, but can be any form of detection wave source (such as electromagnetic wave sources, detection X-ray sources, etc.), and the theoretical response signal is not limited to the theoretical spectrum, but can also include any characterizing signal reflecting the interaction between the electromagnetic wave and the structure under test, such as theoretical polarization parameters, Mueller matrix elements, reflectivity / transmittance data, or diffraction efficiencies at various levels. This allows the method provided in this application to be compatible with various measurement techniques with different physical parameter detection dimensions, such as scattering measurement techniques, CD (Critical Dimension) small-angle X-ray scattering techniques, or measurement devices such as ellipsometers, CD scanning electron microscopes, etc., to measure the reflected beam of the structure under test in order to obtain information about different dimensions of the structure under test in subsequent processes.
[0088] In some embodiments, the processor 106 is further configured to determine the morphological parameters of the structure under test based on the matching relationship between the measured spectrum and the theoretical spectrum.
[0089] In some embodiments, the processor 106 includes, but is not limited to, means for interpreting computer instructions and processing data in computer software, such as a central processing unit (CPU), a micro controller unit (MCU), a field-programmable gate array (FPGA), and a digital signal processing unit (DSP).
[0090] In some embodiments, the processor 106 is capable of executing various computer applications in the non-transitory computer-readable storage medium, thereby performing corresponding steps and methods. For example, the processor 106 can be implemented by software, hardware, firmware, or a combination thereof, and can be at least one of the following: circuitry, single or multiple application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), central processing units (CPUs), controllers, microcontrollers, and microprocessors. This allows the processor 106 to execute some or all of the steps or any combination of the steps in the boundary information determination method of the various embodiments of this application; or, it allows the processor 106 to execute some or all of the steps or any combination of the steps in the electromagnetic field analysis method of the various embodiments of this application; or, it allows the processor 106 to execute some or all of the steps or any combination of the steps in the various embodiments of this application.
[0091] Those skilled in the art should understand that the above-described light source 101, polarizer 102, sample stage 103, compensator 104, analyzer 105, detector 106, and processor 107 are merely examples. Other existing or future light sources, polarizers, sample stages, compensators, analyzers, detectors, and processors that are applicable to the embodiments of this application should also be included within the protection scope of the embodiments of this application, and are hereby incorporated by reference.
[0092] It should be noted that the application scenarios and implementation environments described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the emergence of new application scenarios and the evolution of implementation environments, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0093] Next, a model building method provided in the embodiments of this application will be explained in detail.
[0094] Figure 2 This is a flowchart of a model construction method provided in an embodiment of this application. Please refer to it. Figure 2 The method includes the following steps:
[0095] Step 201: Determine the target building block group based on the structure to be tested, and determine the function set corresponding to each building block in the target building block group.
[0096] In some embodiments, since any complex structure can be considered as being composed of building blocks stacked on top of each other, a target building block group that can form the structure to be tested can be determined first based on the structure to be tested. That is, the structure obtained by combining one or more building blocks in the target building block group is the same as the structure to be tested.
[0097] In some embodiments, a target building block group can be determined from a pre-stored building block library based on the structure to be tested. For example, the building block library may store building blocks of some basic shapes, such as cubes, spheres, and tables. Thus, according to the shape of the structure to be tested, the corresponding building blocks can be selected from the building blocks and incorporated into the target building block group, so that the target building block group can be combined to obtain the structure to be tested.
[0098] In addition, in some embodiments, if the building block library does not store the building blocks required for the structure under test, the corresponding building blocks can be constructed and stored in the building block library.
[0099] In some embodiments, in order to quickly determine the boundary information of the corresponding height in subsequent processes, it is also necessary to determine the function set corresponding to each building block in the target building block group.
[0100] In some embodiments, a set of side curve functions for the building block can be determined, which indicates the relationship between the coordinates of the side boundaries of the building block and the height; and / or a set of center point functions for the building block can be determined, which indicates the relationship between the center offset of the building block and the height.
[0101] For example, suppose the shape of the building block is as follows: Figure 3 As shown, from Figure 3As can be seen, the center of this building block does not shift with the height, but its side boundary changes with the height. Therefore, it is not necessary to determine the center point function set of the building block, but only the side curve function set of the building block. Thus, the side curve function set can be used to describe the change of the coordinates of the side boundary of the building block with the height of the z-axis.
[0102] For example, suppose the shape of the building block is as follows: Figure 4 As shown, from Figure 4 As can be seen, the center of this building block will shift with the height, and the side boundaries will also shift linearly with the center. Therefore, it is not necessary to determine the side curve function set of this building block, but only the center point function set of this building block. Thus, the center coordinates of this building block can be described by the center point function set as the z-axis height changes.
[0103] In some embodiments, since the side boundaries of the building block change with the height, the center of the building block also shifts with the height. In this case, both the side curve function set and the center point function set of the building block can be determined to accurately determine the boundary information of the building block at the corresponding height in subsequent processes.
[0104] In some embodiments, the constructed set of lateral curve functions and the set of center point functions can be of the type of polynomial functions, B-spline functions, or composite functions composed of multiple functions. This application does not limit the type of the set of lateral curve functions and the set of center point functions.
[0105] It should be noted that existing or future technologies can be used to determine the side curve functions and / or center point function sets of the building blocks, which will not be elaborated in the embodiments of this application.
[0106] Step 202: Segment the structure to be tested based on the target building block group to obtain at least one segmented structure, each segmented structure including the whole or part of at least one building block.
[0107] In some embodiments, at least two dividing interfaces can be defined with at least one of the opposing surfaces of at least one building block as the boundary. The dividing interfaces extend along the boundary or interior of the building block that defines them. Then, the structure under test is segmented according to the at least two dividing interfaces to obtain at least one segmented structure, wherein the same segmented structure has the same spatial distribution characteristics.
[0108] In some embodiments, the opposing surfaces of a building block refer to a set of outer surfaces that are opposite in position, facing opposite directions, and do not intersect each other on the building block, which together constitute the two boundary end faces of the building block in a certain direction. For example, the opposing surfaces can be the upper and lower surfaces, the front and rear surfaces, the left and rear surfaces of the building block, etc.
[0109] As described above, a target building block group can include one or more building blocks. That is to say, the structure under test can be composed of a single building block or multiple building blocks.
[0110] When the target building block group includes a single building block, meaning the structure under test is composed of a single building block, at least two dividing interfaces can be determined based on two of the opposing surfaces of the building block in order to ensure that the same segmented structure has the same spatial distribution characteristics. For example, a dividing interface defined by the left surface of the building block can be formed, and a dividing interface defined by the right surface of the building block can be formed.
[0111] When the target building block group includes multiple building blocks, that is, when the structure under test is composed of multiple building blocks, at least two dividing interfaces can be determined by using at least one of the relative surfaces of at least one of the multiple building blocks as the boundary.
[0112] In some embodiments, when multiple identical building blocks in the structure under test are simply spliced or overlapped without overlapping, in order to ensure that the same segmented structure has the same spatial distribution characteristics, such as the same cross-section of the same segmented structure, the outermost surface (e.g., top, bottom, left, right, back, front) of the multiple identical building blocks along the segmentation direction can be used as the boundary to form the dividing interface defined by the surface. That is, when segmenting the structure under test from top to bottom, the dividing interface can be determined based on the highest and lowest surfaces along the height direction of the multiple building blocks; when segmenting the structure under test from front to back, the dividing interface can be determined based on the front and back surfaces along the depth direction of the multiple building blocks; when segmenting the structure under test from left to right, the dividing interface can be determined based on the leftmost and rightmost surfaces along the width direction of the multiple building blocks.
[0113] For example, if multiple building blocks such as Figure 5 As shown in the diagram, building blocks 1, 2, 3, and 4 represent simple overlaps between building blocks. When segmented from top to bottom, from... Figure 5As can be seen, the upper surface of building block 1 is the uppermost surface among the multiple building blocks, and the lower surface of building block 4 is the lowermost surface among the multiple building blocks. Therefore, a dividing interface defined by the upper surface of building block 1 can be formed, and a dividing interface defined by the lower surface of building block 4 can be formed.
[0114] In some embodiments, the structure under test has multiple building blocks that overlap. To ensure that the same segmented structure has the same spatial distribution characteristics, such as identical cross-sections within the same segmented structure, a dividing interface defined by the same-oriented surfaces of the multiple building blocks can be formed. For example, if the multiple building blocks are as follows... Figure 5 As shown in the diagram, building blocks 5, 6, 7, 8, and 9 are overlapping. Therefore, the upper surfaces of building blocks 5, 6, 7, 8, and 9 form a boundary, which is jointly defined by the upper surfaces of building blocks 5, 6, 7, 8, and 9. The lower surfaces of building blocks 5, 6, 7, 8, and 9 form a boundary, which is jointly defined by the lower surfaces of building blocks 5, 6, 7, 8, and 9.
[0115] In some embodiments, the structure under test is composed of multiple building blocks. However, when one building block is not spliced or overlapped with other building blocks, in order to ensure that the same segmented structure has the same spatial distribution characteristics, such as the same cross-section of the same segmented structure, at least two dividing interfaces can be determined by two of the opposing surfaces of the building block. For example, if the building block is as follows: Figure 5 As shown in the building block 10, a dividing interface defined by the upper surface of the building block 10 can be formed, and a dividing interface defined by the lower surface of the building block 10 can be formed.
[0116] In some embodiments, the surfaces of the same orientation among the relative surfaces of multiple building blocks in the structure under test are not at the same height, width, or depth. In order to make the same segmented structure have the same spatial distribution characteristics, the dividing interface defined by the surface can be determined by at least one of the relative surfaces of one of the building blocks; or, the dividing interface defined by the surfaces of multiple building blocks that are in the same orientation and at the same height, width, or depth can be determined by the surfaces of the multiple building blocks.
[0117] For example, such as Figure 6 As shown, Figure 6 This is a schematic diagram of another structure to be tested provided in an embodiment of this application. Figure 6 As can be seen, if the structure to be tested needs to be segmented from top to bottom, the upper surfaces of building blocks 1, 2, and 3 are not at the same height, but the lower surfaces of building blocks 1 and 2 are at the same height. In order to make the cross-sections of the same segmented structure the same, a dividing interface can be formed with the upper surface of building block 1 as the boundary, the upper surface of building block 2 as the boundary, the upper surface of building block 3 as the boundary, the lower surfaces of building blocks 2 and 3 as the boundary, and the lower surface of building block 1 as the boundary.
[0118] Continuing the description above, the dividing interface is defined by the opposing surfaces of the building blocks and extends along the boundaries or interior of the building blocks that define them. That is, after determining the reference point for the dividing interface, i.e., after determining that the dividing interface is defined by at least one of the opposing surfaces of the building blocks, the dividing interface can extend along the boundaries or interior of the building blocks that define them: when the dividing interface extends along the boundary of at least one building block, the dividing interface extends along the outer contour boundary of that building block, with the overall boundary of that building block serving as the dividing line. When the dividing interface extends along the interior of at least one building block, the dividing interface extends within the interior space of that building block, forming a segmented boundary only within that building block.
[0119] It should be noted that the structure under test can be segmented along the vertical direction, i.e., the height direction, such as segmenting the structure from top to bottom or bottom to top; it can also be segmented along the horizontal direction, i.e., the width direction, such as segmenting the structure from left to right or left to right; it can also be segmented along the depth direction, such as segmenting the structure from front to back or back to front. Alternatively, the structure under test can be segmented along other directions. This application does not limit this approach.
[0120] Continuing from the previous description, after identifying at least two partitioning boundaries, the structure under test can be segmented according to these two boundaries to obtain at least one segmented structure. For an example, please refer to... Figure 5 According to the division interface Figure 5 The structure to be tested shown is segmented to obtain a first segment structure, a second segment structure, and a third segment structure. For another example, please refer to... Figure 6 According to the division interface Figure 6 After the structure to be tested is segmented, the first segmented structure, the second segmented structure, the third segmented structure, and the fourth segmented structure can be obtained.
[0121] In some embodiments, after the division interface is determined, there may be multiple division interfaces with different surfaces, but these surfaces overlap in height, width or depth. Therefore, the multiple division interfaces also overlap. In this case, it is only necessary to divide according to any one of the division interfaces.
[0122] As an example, please refer to Figure 5 After determining the dividing interface defined by the top surface of building block 1, the dividing interface defined by the bottom surface of building block 4, the dividing interface jointly defined by the top surfaces of building blocks 5, 6, 7, 8, and 9, the dividing interface jointly defined by the bottom surfaces of building blocks 5, 6, 7, 8, and 9, the dividing interface defined by the top surface of building block 10, and the dividing interface defined by the bottom surface of building block 10, it can be seen that the dividing interface defined by the bottom surface of building block 4 and the dividing interface jointly defined by the top surfaces of building blocks 5, 6, 7, 8, and 9 overlap, and it is only necessary to segment the structure under test using any one of these dividing interfaces; the dividing interface jointly defined by the bottom surfaces of building blocks 5, 6, 7, 8, and 9 and the dividing interface defined by the top surface of building block 10 overlap, and it is only necessary to segment the structure under test using any one of these dividing interfaces.
[0123] Continuing the description above, after segmenting the structure under test according to the dividing interface, at least one segment can be obtained, and each segment structure includes the whole or part of at least one building block, and the same segment structure has the same spatial distribution characteristics, such as the same cross-section within the same segment structure. For example, from... Figure 5 As can be seen, the structure under test is divided into three segments. The first segment includes the entirety of building blocks 1, 2, 3, and 4; the second segment includes the entirety of building blocks 5, 6, 7, 8, and 9; and the third segment includes the entirety of building block 10. For example, from... Figure 6 As can be seen, the structure under test is divided into four segments. The first segment includes the part of building block 3, the second segment includes the part of building block 2 and the part of building block 3, the third segment includes the entire building block 1, the part of building block 2 and the part of building block 3, and the fourth segment includes the part of building block 3.
[0124] Step 203: Perform the initial cross-section curve determination step for each segment structure.
[0125] In some embodiments, an initial cross-sectional curve determination step is performed for each segmented structure, including: sequentially slicing the segmented structure to obtain multiple slices arranged in sequence, determining the slice height corresponding to each slice, and then determining the initial cross-sectional curve corresponding to each slice based on the slice height corresponding to each slice and the function set of the building blocks corresponding to each slice.
[0126] In addition, in some embodiments, in order to facilitate the determination of adjacent slices in subsequent processes and thus construct the corresponding segmented structure model, the segmented structure can be sliced sequentially to obtain multiple slices arranged in order, thereby directly determining adjacent slices.
[0127] The slice height is the height value of the position when the segmented structure is sliced along the height direction.
[0128] In some embodiments, the segmented structure can be sliced uniformly, that is, the height of each slice is distributed at equal intervals. Therefore, in subsequent processes, the slice height corresponding to each slice can be determined based on the current slice order. As an example, assuming the slice height interval is 'a', and the slice height of the first slice is 'a' (i.e., the first slice is located at height 'a'), then the slice height of the Nth slice is 'Na' (i.e., the Nth slice is located at height 'Na').
[0129] In some embodiments, when slicing the segmented structure, the corresponding slice height can be recorded for each slice, thereby directly determining the slice height corresponding to each slice. As an example, the slice height is recorded as 'a' for the first slice, 'b' for the second slice, 'c' for the third slice, and so on, to obtain multiple slices and determine the slice height corresponding to each slice.
[0130] Based on the above description, it can be determined that the function set of the building block may include a side curve function set and / or a center point function set. The side curve function set indicates the relationship between the side boundary coordinates of the building block and its height, while the center point function set indicates the relationship between the center offset of the building block and its height. Therefore, after determining the slice height of each slice, the initial cross-sectional curve corresponding to each slice can be determined based on the function set of at least one building block corresponding to each slice.
[0131] In some embodiments, the segmented structure includes parts or the entirety of a plurality of building blocks, where the plurality of building blocks are intersecting and overlapping (e.g., ...). Figure 5The second segmented structure in the model (where slicing this segmented structure at different slice heights results in multiple slices, each corresponding to a building block) needs to have its own initial cross-sectional curve based on the function set of the building blocks corresponding to these slices. For an example, please refer to [reference needed]. Figure 5 , Figure 5 The second segment structure includes the entirety of building blocks 5, 6, 7, 8, and 9. Furthermore, each slice obtained by slicing the second segment structure corresponds to one of these building blocks. Therefore, when determining the initial cross-sectional curve of the first slice obtained by slicing the second segment structure, it is necessary to determine the initial cross-sectional curve of the first slice based on the function sets corresponding to building blocks 5, 6, 7, 8, and 9. Similarly, when determining the initial cross-sectional curves of other slices (such as the second slice, third slice, etc.) obtained by slicing the second segment structure, it is also necessary to determine the initial cross-sectional curves based on the function sets corresponding to building blocks 5, 6, 7, 8, and 9.
[0132] In some embodiments, the segmented structure includes parts or the whole of multiple building blocks, and when these multiple building blocks are simply overlapped or spliced (e.g. Figure 5 The first segment structure in the structure is sliced at different slice heights. Each slice corresponds to only one building block. When determining the initial cross-sectional curves corresponding to these slices, it is also necessary to determine the initial cross-sectional curves corresponding to each slice in the segment structure based on the function set of the building blocks corresponding to these slices.
[0133] As described above, the side curve function set indicates the relationship between the side boundary coordinates of the building block and its height, while the center point function set indicates the relationship between the center offset of the building block and its height. Furthermore, when slicing the segmented structure, the slice height for each slice is determined. Therefore, for each slice: the slice height can be substituted into the function set of the corresponding building block to determine multiple boundary coordinates of each building block in the segmented structure. Then, based on the boundary coordinates, the corresponding cross-sectional curve of the building block is determined. Finally, the superposition of the cross-sectional curves of the building blocks corresponding to that slice is determined as the initial cross-sectional curve for that slice.
[0134] In other words, the slice height of each slice needs to be substituted into the function set corresponding to each building block of that slice. For an example, please refer to [link / reference]. Figure 5 ,right Figure 5The first slice obtained by slicing the second segmented structure in the image has building blocks 5, 6, 7, 8, and 9. For each building block corresponding to this first slice (building blocks 5, 6, 7, 8, and 9), the slice height of the first slice needs to be substituted into the function sets corresponding to each building block to determine multiple boundary coordinates when the height of each building block in the second segmented structure is equal to the slice height of the first slice. Based on these boundary coordinates, the cross-sectional curves corresponding to building blocks 5, 6, 7, 8, and 9 are obtained; the cross-sectional curves corresponding to building blocks 6, 7, 8, and 9 are obtained; the cross-sectional curves corresponding to building blocks 8, 8, and 9 are obtained; and the cross-sectional curves corresponding to building blocks 9 are obtained.
[0135] For example, suppose that for Figure 5 The fourth slice obtained by slicing the first segment structure has a building block 2. Then, the slice height needs to be substituted into the function set corresponding to building block 2 to determine multiple boundary coordinates when the height of building block 2 in the first segment structure is the slice height corresponding to the fourth slice. Based on the multiple boundary coordinates corresponding to building block 2, the cross-sectional curve corresponding to the building block can be obtained.
[0136] In some embodiments, after determining the multiple boundary coordinates corresponding to the building block, the multiple boundary coordinates can be connected to determine the cross-sectional curve corresponding to the building block.
[0137] In some embodiments, since some slices may correspond to multiple cross-sectional curves, the superposition of the multiple cross-sectional curves corresponding to each slice can be determined as its own initial cross-sectional curve.
[0138] For example, please refer to Figure 7 Assuming Figure 7 Curve 1 is the cross-sectional curve corresponding to building block 1, and curve 2 is the cross-sectional curve corresponding to building block 2. Both building blocks 1 and 2 are building blocks corresponding to the fifth slice. Therefore, the superposition of curves 1 and 2 can be determined as the initial cross-sectional curve of the corresponding fifth slice.
[0139] In addition, in some embodiments, where some slices among the plurality of slices correspond to only one cross-sectional curve, the cross-sectional curve corresponding to each slice can be determined as its own initial cross-sectional curve.
[0140] Step 204: Perform the reconstructed cross-sectional curve determination step for each initial cross-sectional curve.
[0141] As described above, each slice has a corresponding initial cross-sectional curve. Therefore, multiple initial cross-sectional curves can be obtained. To determine the model of the segmented structure in subsequent processes, it is necessary to determine the reconstructed cross-sectional curve corresponding to each of these initial cross-sectional curves.
[0142] In some embodiments, a reconstructed cross-sectional curve determination step is performed for each initial cross-sectional curve, including the following steps (1)-(2);
[0143] (1) Divide the initial cross-sectional curve into multiple line units.
[0144] In some embodiments, the initial cross-sectional curve may include a cross-sectional curve corresponding to one building block or cross-sectional curves corresponding to multiple building blocks. Then, the cross-sectional curve corresponding to each building block can be divided separately, thereby dividing the initial cross-sectional curve into multiple line elements. That is, for the cross-sectional curve of each building block in the initial cross-sectional curve: the cross-sectional curve is sequentially divided circumferentially according to its vertices or tangent points to obtain multiple monotonic line elements. Each line element contains its own start and end coordinates.
[0145] In some embodiments, the cross-sectional curve corresponding to the building block is obtained by connecting multiple boundary coordinates. Therefore, the cross-sectional curve corresponding to the building block may contain inflection points, extreme points, or abrupt changes in curvature. In order to ensure that the obtained multiple line elements have monotonicity, the cross-sectional curve can be divided sequentially along the circumference according to the vertices or tangent points in the cross-sectional curve corresponding to the building block.
[0146] Vertices can include geometric feature points such as extreme points, inflection points, and corner points of the cross-sectional curve, while tangent points can include the points where the cross-sectional curve is tangent to auxiliary lines, baselines, or adjacent structural contours. Dividing along the circumferential direction refers to dividing the entire cross-sectional curve into multiple continuous curve segments according to the circumferential extension direction of the cross-sectional curve, using adjacent vertices or tangent points as dividing points.
[0147] The resulting multiple line units are all monotonic curve segments, meaning that each curve segment exhibits only a monotonically increasing or monotonically decreasing change in its corresponding coordinate direction. Furthermore, each of these multiple line units contains its own starting and ending coordinates; that is, each line unit is uniquely defined by two coordinate points at its boundary: one coordinate point is the starting point of the line unit in the circumferential direction, denoted as the starting coordinate; the other coordinate point is the ending point of the line unit in the circumferential direction, denoted as the ending coordinate. The curved portion of the same line unit lies between its starting and ending coordinates.
[0148] As described above, the slice height of each slice can be substituted into the function set of the corresponding building block to determine the multiple boundary coordinates of each building block in the segmented structure. That is, the boundary coordinates of the cross-sectional curve of each building block in the initial cross-sectional curve can be determined. Therefore, the starting and ending coordinates of each line element in the multiple line elements obtained by dividing each cross-sectional curve can also be determined.
[0149] In some embodiments, each of the plurality of line units may further include its own line unit type, which indicates the type of the curved portion of the line unit (i.e., the portion located between the start and end coordinates of the line unit). For example, if the line unit type is a straight line unit, it means that the curved portion of the line unit is a straight line, i.e., a curve with zero curvature; if the line unit type is an arc line unit, it means that the curved portion of the line unit is an arc.
[0150] As an example, when the cross-sectional curve of the building block is a rectangular curve, such as Figure 8 As shown in Figure a, the four vertices of the rectangular curve can be used as nodes ( Figure 8 The rectangle is divided into four connected line units counterclockwise (using dots in the diagram). Each line unit includes its own start and end coordinates, as well as its line unit type (straight line unit). Figure 8 As can be seen from a, all four line elements exhibit monotonicity; when the cross-sectional curve of the building block is an elliptic curve, such as Figure 8 As shown in b, the two points of tangency in the horizontal direction and the two slices in the vertical direction of the ellipse can be used as nodes to divide the elliptic curve into four interconnected line units in a counterclockwise direction. Each line unit includes its own start and end coordinates, as well as the line unit type (arc line unit). Figure 8 As can be seen from b, all four line elements exhibit monotonicity; when the cross-sectional curve of the building block is a rectangular curve with rounded corners, such as Figure 8 As shown in Figure c, the curve can be divided into eight interconnected line units counterclockwise, using the eight tangent points of the rounded corners and straight edges as nodes. Each line unit includes its own start and end coordinates, as well as the line unit type (arc line unit or straight line unit). Figure 8 As can be seen from c, all 8 line units are monotonic.
[0151] It should be noted that the above description refers to dividing the cross-sectional curve in a counterclockwise circumferential direction. Alternatively, in applications, the cross-sectional curve can also be divided in a clockwise circumferential direction, or in other ways. This application does not limit this approach.
[0152] (2) Based on the initial cross-sectional curve and its corresponding multiple line elements, determine the reconstructed cross-sectional curve.
[0153] In some embodiments, overlapping surface boundaries may exist between building blocks. Similarly, the corresponding segmented structure will also exhibit overlapping surface boundaries. Likewise, the initial cross-sectional curve corresponding to the slice obtained from this segmented structure will also have overlapping surface boundaries. After dividing the initial cross-sectional curve into multiple line elements, the overlapping surface boundaries between building blocks can be resolved by truncating and reconstructing multiple line elements at their intersection points. This achieves the calculation of boundary overlap between building blocks, reducing the complexity of boundary overlap calculation. Therefore, after obtaining multiple line elements, a reconstructed cross-sectional curve can be determined based on the initial cross-sectional curve and its corresponding multiple line elements, allowing for subsequent determination of boundary information based on the reconstructed cross-sectional curve.
[0154] In some embodiments, the reconstructed cross-sectional curve can be determined by following steps ad;
[0155] a. Determine whether the initial cross-sectional curve is a superposition of cross-sectional curves of multiple building blocks;
[0156] b. In the case where the initial cross-sectional curve is the superposition of cross-sectional curves of multiple building blocks, traverse the start coordinates and end coordinates of the line elements of the initial cross-sectional curve, and mark the coordinates of the line elements that exist on at least two different cross-sectional curves at the same time.
[0157] In some embodiments, when the initial cross-sectional curve is the superposition of cross-sectional curves of multiple building blocks, there may be overlapping of line elements. In order to reduce the complexity of boundary overlap calculation, the start coordinates and end coordinates of the line elements included in the multiple cross-sectional curves can be traversed to determine whether there is coordinate overlap among the multiple line elements.
[0158] When traversing the start and end coordinates of multiple line units, coordinate points that exist simultaneously on at least two different cross-sectional curves can be marked.
[0159] As an example, please refer to Figure 7 Assuming curve 1 is the cross-sectional curve corresponding to building block 1, Figure 7 Curve 2 in the figure is the cross-sectional curve corresponding to building block 2; from Figure 7 As can be seen, curve 1 includes 8 line units, and the endpoint and starting coordinates of these 8 line units are a, b, c, d, e, f, g, and h; curve 2 includes 8 line units, and the endpoint and starting coordinates of these 8 line units are a, c, i, j, e, g, k, and l. Therefore, we can traverse all the endpoint and starting coordinates mentioned above. Since a, c, e, and g exist in both curve 1 and curve 2, it indicates that there is coordinate overlap in these multiple line units. Therefore, we can mark a, c, e, and g.
[0160] In some embodiments, when the initial cross-sectional curve includes only the cross-sectional curve of one building block, it indicates that this building block does not overlap with other building blocks, and therefore, there will be no line element overlap. In this case, there is no need to truncate and reconstruct the initial cross-sectional curve; the initial cross-sectional curve can be directly determined as the reconstructed cross-sectional curve. That is to say, when the initial curve includes only the cross-sectional curve of one building block, step bd is not required.
[0161] c. Record the coordinates of the marked line units to the overlapping coordinate set;
[0162] Continuing with the example above, after marking a, c, e, and g, a, c, e, and g can be recorded in the overlapping coordinate set.
[0163] d. Determine the reconstructed cross-sectional curve based on the overlapping coordinate set and the coverage relationship between the multiple building blocks.
[0164] In some embodiments, the overlay relationship is used to indicate the overlay and covered relationship between the plurality of building blocks, wherein a building block at the top or outside covers a building block at the bottom or inside, that is, a building block at the top or outside is an overlay building block, and a building block at the bottom or inside is a covered building block.
[0165] In some embodiments, in order to truncate and reconstruct the initial cross-sectional curve according to the coverage relationship between the multiple building blocks, a traversal rule can be determined first based on the coverage relationship. Then, starting from any line cell coordinate in the overlapping coordinate set, the multiple line cells of the initial cross-sectional curve are traversed along the circumferential direction according to the traversal rule until the starting point is returned to form at least one closed loop. After that, line cells that do not belong to any closed loop are removed. Finally, the multiple closed loops are combined to obtain the reconstructed cross-sectional curve.
[0166] In some embodiments, the cutoff position of the line element in the initial cross-sectional curve can be determined based on the coverage relationship between the plurality of building blocks, so as to reconstruct the line element in subsequent processes and obtain the reconstructed cross-sectional curve. For example, determining the traversal rule based on the coverage relationship includes: identifying the covering building block and the covered building block among the plurality of building blocks, and selecting the line element corresponding to the covering building block at the coordinates of the overlapping line element as the next line element for circumferential traversal. That is, in the traversal rule, the line element corresponding to the covering building block should be traversed first.
[0167] After determining the traversal rules, any line unit coordinate in the overlapping coordinate set can be used as the starting point. The multiple line units that constitute the initial cross-sectional curve can be traversed sequentially along the circumferential direction according to the traversal rules. During the traversal, the line units passed through are recorded sequentially until the traversal path returns to the starting point (i.e., the coordinates of the line unit) to form at least one closed loop.
[0168] As an example, please refer to Figure 7 Assuming Figure 7 In the code, builder block 1 is the overriding builder block, and builder block 2 is the overridden builder block. Figure 7 The overlapping line unit coordinates include a, c, e, and g. In other words, the overlapping coordinate set includes line unit coordinates a, c, e, and g. For example, starting from a, we can traverse the multiple line units constituting the initial cross-sectional curve in reverse time according to the traversal rules. The traversal order could be: line unit ah (selecting the line unit ah corresponding to building block 1 at the overlapping line unit coordinates as the next line unit), line unit hg, line unit gf (selecting the line unit ah corresponding to building block 1 at the overlapping line unit coordinates as the next line unit), line unit fe, line unit ed (selecting the line unit ah corresponding to building block 1 at the overlapping line unit coordinates as the next line unit), line unit dc, line unit cb (selecting the line unit ah corresponding to building block 1 at the overlapping line unit coordinates as the next line unit), line unit ba. At this point, we return to the starting point a. Please refer to [reference needed]. Figure 9 ,from Figure 9 As can be seen, three closed loops, A, B1, and B2, have been formed at this point.
[0169] For example, starting from g, the traversal can be performed counter-clockwise on the multiple line units that constitute the initial cross-sectional curve, following the traversal rules. The traversal order could be line unit gf, line unit fe, line unit ed, line unit dc, line unit cb, line unit ba, line unit ah, and line unit hg. This returns to the starting point g. Please refer to [reference needed]. Figure 9 ,from Figure 9 As can be seen, three closed loops, A, B1, and B2, have also been formed at this time.
[0170] It should be noted that the above description describes the process of sequentially traversing the multiple line units constituting the initial cross-sectional curve in a counter-clockwise manner according to the traversal rules. In practice, the process can also be performed by sequentially traversing the multiple line units constituting the initial cross-sectional curve in a clockwise manner according to the traversal rules, or by performing circumferential traversal in other orders. This application does not limit this approach.
[0171] After extracting all closed loops, the remaining line elements that were not included in any closed loop are discarded. These line elements are usually redundant segments or invalid boundaries, and they do not participate in forming the effective cross-sectional profile. Discarding them can avoid interfering with the subsequent construction of the reconstructed cross-sectional curves and improve the accuracy of determining boundary information.
[0172] As an example, from Figure 7 and Figure 9 As can be seen, the line unit composed of a and c, and the line unit composed of g and e, do not belong to any of the closed loops A, B1, and B2. Therefore, the line unit composed of a and c, and the line unit composed of g and e, can be eliminated.
[0173] Continuing from the previous description, after removing line elements that do not belong to any closed loop, the extracted closed loops are combined to eliminate duplicates and conflicts between them, resulting in a reconstructed cross-sectional curve. For an example, please refer to... Figure 9 , Figure 9 This is a schematic diagram of a reconstructed cross-sectional curve provided in an embodiment of this application.
[0174] Therefore, the problem of overlapping surface boundaries between building blocks can be solved by truncation and reconstruction of multiple line elements through the intersection points between line elements. This achieves the calculation of boundary overlap between building blocks, reduces the complexity of boundary overlap calculation, and obtains accurate reconstructed cross-sectional curves.
[0175] Step 205: Based on multiple reconstructed cross-sectional curves and their corresponding slices, determine the model of the segmented structure, and construct the model of the structure to be tested based on the models of multiple segmented structures.
[0176] As described above, each slice has a corresponding reconstructed cross-sectional curve, and each slice is obtained by slicing the segmented structure. Therefore, the model of the segmented structure can be determined based on multiple reconstructed cross-sectional curves and their corresponding slices.
[0177] In some embodiments, discrete point interpolation can be performed on the line elements in each reconstructed cross-section curve. Then, the reconstructed cross-section curves corresponding to adjacent slices are aligned. After that, the interpolation points corresponding to adjacent slices of the same building block after alignment are connected to construct a surface, thereby determining the model of the segmented structure.
[0178] As described above, a line element is a line segment defined by its starting and ending coordinates. In other words, a line element is usually just a curve segment between two endpoints. In order to accurately reproduce the subtle changes in the model outline of the segmented structure in subsequent processes and improve the accuracy of the geometric modeling of the structure under test, discrete point interpolation can be performed on each line element in each reconstructed cross-sectional curve.
[0179] For example, for each line element: using the start and end coordinates of the line element as the start and end points, a series of ordered interpolation points are generated between the two points using equal-interval interpolation or adaptive density interpolation. By performing discrete point interpolation, a single line element can be transformed into a set of points consisting of multiple interpolation points, thereby accurately representing the geometry of the segmented structure model in subsequent processes.
[0180] In some embodiments, adjacent slices can be two slices that are vertically adjacent. For example, please refer to... Figure 10 , Figure 10 Slice 1 and slice 2 are adjacent slices, slice 2 and slice 3 are adjacent slices, and slice 3 and slice 4 are adjacent slices.
[0181] In some embodiments, since each slice in the segmented structure has the same spatial distribution characteristics, such as similar initial cross-sectional curves corresponding to each slice, the reconstructed cross-sectional curves corresponding to each slice are also similar. Therefore, it can be understood that after discrete point interpolation, each interpolation point in the reconstructed cross-sectional curves corresponding to adjacent slices corresponds one-to-one. For example, please refer to... Figure 10 ,like Figure 10 As shown, point a1 in the first reconstructed cross-sectional curve corresponds to point a2 in the second reconstructed cross-sectional curve, point b1 in the first reconstructed cross-sectional curve corresponds to point b2 in the second reconstructed cross-sectional curve, point c1 in the first reconstructed cross-sectional curve corresponds to point c2 in the second reconstructed cross-sectional curve, point d1 in the first reconstructed cross-sectional curve corresponds to point c2 in the second reconstructed cross-sectional curve, and so on. Each interpolation point in the first reconstructed cross-sectional curve has a corresponding interpolation point in the second reconstructed cross-sectional curve.
[0182] In some embodiments, to align the reconstructed cross-sectional curves corresponding to adjacent slices, the adjacent slices can be adjusted, and during the adjustment process, the sum distance of all corresponding interpolation points in the adjacent reconstructed cross-sectional curves can be determined; that is, the sum of the distances between all corresponding interpolation points in the adjacent reconstructed cross-sectional curves can be determined. For example, please refer to... Figure 10 The sum of distances is the sum of the distances between all corresponding interpolation points, such as the distance between points a1 and a2, the distance between points b1 and b2, the distance between points c1 and c2, and the distance between points d1 and d2.
[0183] In some embodiments, when the summation distance is at its minimum, it indicates that the reconstructed cross-sectional curves corresponding to adjacent slices are already aligned, and there is no need to adjust the adjacent slices further.
[0184] It should be noted that the above explanation uses the sum of the interpolation points of all corresponding points in adjacent reconstructed cross-sectional curves to determine whether the reconstructed cross-sectional curves of adjacent slices are aligned. Alternatively, in application, other methods can be used to determine whether the reconstructed cross-sectional curves corresponding to adjacent slices are aligned. This application does not limit this approach.
[0185] After aligning the reconstructed cross-sectional curves of adjacent slices, the interpolation points belonging to the same building block are selected from the upper and lower layers. The corresponding interpolation points of this building block on adjacent slices are then connected sequentially, forming spatial connection surfaces between adjacent point pairs, and these connection surfaces are then interlocked. Thus, by completing the point-to-point connections and surface construction for all adjacent slices and each building block, a complete three-dimensional geometric model of the segmented structure can be constructed, thereby achieving the overall morphological reconstruction of the complex segmented structure.
[0186] As an example, please refer to Figure 10 By connecting points a1 with points a2, b1 with points b2, c1 with points c2, d1 with points d2, etc., a model of this segmented structure can be constructed.
[0187] In some embodiments, when the number of line elements in the reconstructed cross-sectional curves corresponding to adjacent slices are not the same, the reconstructed cross-sectional curve with more line elements can be used as a reference to align with the reconstructed cross-sectional curve with fewer line elements. Then, the interpolation points in the reconstructed cross-sectional curve with more line elements that exceed the correspondence are connected to the start coordinates or end coordinates of the nearest line element in the reconstructed cross-section of the adjacent slice to form a triangular face.
[0188] In other words, the number of line elements in the reconstructed cross-sectional curves corresponding to adjacent slices may be different. In order to achieve a stable segmented structure model construction, the reconstructed cross-sectional curve with more line elements can be selected as the alignment benchmark, and its line element distribution, contour direction and interpolation point arrangement rules can be used as a reference to adapt and align the other reconstructed cross-sectional curve with fewer line elements.
[0189] Continuing from the previous description, since the reconstructed cross-sectional curve with a larger number of line elements may have more interpolation points, these extra interpolation points cannot form a one-to-one correspondence with interpolation points in another reconstructed cross-sectional curve. For each of the aforementioned extra interpolation points, the distance between this extra interpolation point and the start and end coordinates of each line element in the reconstructed cross-sectional curve of the adjacent slice can be determined, and the start or end coordinate with the shortest distance can be selected as the point to connect to this extra interpolation point.
[0190] Next, the redundant interpolation point is connected to the shortest starting or ending coordinates. This forms a triangular face, which improves the topological gap caused by the different number of interpolation points in the two reconstructed cross-sectional curves. This improves the problem of cross-sectional profile matching discontinuities and model damage in scenarios where the number of line elements in the reconstructed cross-sectional curves of adjacent slices is unequal, ensuring a continuous surface transition between adjacent slices and completing the 3D geometric model construction of the segmented structure in a complete and closed manner.
[0191] After constructing the model of each segment structure in the multiple segmented structures, the multiple segmented structures can be spliced together in the manner in which they were segmented to construct the model of the structure to be tested.
[0192] This application embodiment segments the structure under test and performs an initial cross-sectional curve determination step on the segmented structure to obtain the initial cross-sectional curve corresponding to each slice. Then, each initial cross-sectional curve is divided into multiple line elements. Based on the initial cross-sectional curves and multiple line elements, a reconstructed cross-sectional curve is determined, thereby constructing a model of the segmented structure, and then constructing a model of the structure under test. It can decompose complex structures under test, reduce the complexity of model construction, and transform the calculation of complex surface boundary overlaps between building blocks into the calculation of overlap points between line elements and based on truncation and reconstruction between line elements, significantly reducing computational complexity, thereby further reducing the complexity of model construction, improving the speed and stability of model construction, and meeting the requirements of fast and stable 3D model construction of structures under test, including complex structures.
[0193] Figure 11 This is a schematic diagram of the structure of a model building device provided in an embodiment of this application. See also... Figure 11 The device includes: a first determining module 1101, a segmentation module 1102, a second determining module 1103, a third determining module 1104, and a fourth determining module 1105.
[0194] The first determining module 1101 is used to construct a block group based on the target structure to be tested, and to determine the function set corresponding to each block in the target block group;
[0195] Segmentation module 1102 is used to segment the structure under test based on the target building block group to obtain at least one segmented structure, each segmented structure including the whole or part of at least one building block;
[0196] The second determining module 1103 is used to perform an initial cross-sectional curve determination step for each segmented structure, including: sequentially slicing the segmented structure to obtain multiple slices arranged in sequence, determining the slice height corresponding to each slice, and then determining the initial cross-sectional curve corresponding to each slice based on the slice height corresponding to each slice and the function set of the building blocks corresponding to each slice.
[0197] The third determining module 1104 is used to perform a reconstructed cross-section curve determining step for each initial cross-section curve, including: dividing the initial cross-section curve into multiple line units, and then determining the reconstructed cross-section curve based on the initial cross-section curve and its corresponding multiple line units;
[0198] The fourth determination module 1105 is used to determine the model of the segmented structure based on multiple reconstructed cross-sectional curves and their corresponding slices, and to construct the model of the structure to be tested based on the models of multiple segmented structures.
[0199] This application embodiment segments the structure under test and performs an initial cross-sectional curve determination step on the segmented structure to obtain the initial cross-sectional curve corresponding to each slice. Then, each initial cross-sectional curve is divided into multiple line elements. Based on the initial cross-sectional curves and multiple line elements, a reconstructed cross-sectional curve is determined, thereby constructing a model of the segmented structure, and then constructing a model of the structure under test. It can decompose complex structures under test, reduce the complexity of model construction, and transform the calculation of complex surface boundary overlaps between building blocks into the calculation of overlap points between line elements and based on truncation and reconstruction between line elements, significantly reducing computational complexity, thereby further reducing the complexity of model construction, improving the speed and stability of model construction, and meeting the requirements of fast and stable 3D model construction of structures under test, including complex structures.
[0200] It should be noted that the model building apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when building a model of the structure to be tested. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the model building apparatus can be divided into different functional modules to complete all or part of the functions described above. In addition, the model building apparatus provided in the above embodiments and the model building method embodiments belong to the same concept, and the specific implementation process is described above, and will not be repeated here.
[0201] Figure 12 This is a flowchart of a morphology measurement method provided in an embodiment of this application. Please refer to it. Figure 12 The method includes the following steps:
[0202] Step 1201: Obtain the measured spectrum of the structure to be tested.
[0203] Other existing or future technologies can be used to obtain the measured spectrum of the structure under test, which will not be elaborated in the embodiments of this application.
[0204] Step 1202: Determine the theoretical spectrum according to any embodiment of the model construction method described above.
[0205] In some embodiments, the model of the structure under test is constructed using the above-described model construction method, and the theoretical spectrum of the constructed model of the structure under test is determined using algorithms such as rigorous coupled-wave analysis.
[0206] It should be noted that the above description is based on performing rigorous coupled-wave analysis to determine the theoretical spectrum corresponding to the model of the constructed structure under test. Alternatively, in applications, other methods can be used to determine the theoretical response signal of the structure under test under preset detection conditions, other than the theoretical spectrum. In other words, other existing or future technologies can be used to determine the theoretical response signal (such as the theoretical spectrum) corresponding to the structure under test. This application will not elaborate on this aspect.
[0207] Step 1203: Determine the morphological parameters of the structure to be tested based on the matching relationship between the measured spectrum and the theoretical spectrum.
[0208] It should be noted that other existing or future technologies can be used to determine the morphological parameters of the structure to be tested, but this application will not elaborate on this aspect in the embodiments.
[0209] The embodiments of this application obtain accurate theoretical spectra by constructing accurate and stable models, which can improve the accuracy of the matching relationship between measured spectra and theoretical spectra, and thus improve the accuracy of the determined morphological parameters of the structure to be tested.
[0210] Those skilled in the art will understand that all or part of the functions of the various methods in the above embodiments can be implemented by hardware or by computer programs. When all or part of the functions in the above embodiments are implemented by computer programs, the program can be stored in a computer-readable storage medium, which may include: read-only memory, random access memory, disk, optical disk, hard disk, etc., and the program is executed by a computer to achieve the above functions. For example, the program can be stored in the memory of a device, and when the program in the memory is executed by the processor, all or part of the above functions can be achieved. In addition, when all or part of the functions in the above embodiments are implemented by computer programs, the program can also be stored in a server, another computer, disk, optical disk, flash drive, or external hard drive, etc., and can be downloaded or copied to the memory of a local device, or the system of the local device can be updated. When the program in the memory is executed by the processor, all or part of the functions in the above embodiments can be achieved.
[0211] The above examples illustrate the present invention only to aid in understanding it and are not intended to limit the scope of the invention. Those skilled in the art can make various simple deductions, modifications, or substitutions based on the principles of this invention.
Claims
1. A model construction method, characterized in that, The method includes: The target building block group is determined based on the structure to be tested, and the function set corresponding to each building block in the target building block group is determined. The structure under test is segmented based on the target building block group to obtain at least one segmented structure, and each segmented structure includes the whole or part of at least one building block; The initial cross-sectional curve determination step is performed for each segmented structure, including: slicing the segmented structure sequentially to obtain multiple slices arranged in order, and determining the slice height corresponding to each slice; and determining the initial cross-sectional curve corresponding to each slice based on the slice height corresponding to each slice and the function set of the building blocks corresponding to each slice. For each initial cross-sectional curve, a reconstructed cross-sectional curve determination step is performed, including: dividing the initial cross-sectional curve into multiple line units; and determining the reconstructed cross-sectional curve based on the initial cross-sectional curve and its corresponding multiple line units. Based on multiple reconstructed cross-sectional curves and their corresponding slices, the model of the segmented structure is determined, and based on the models of the multiple segmented structures, the model of the structure to be tested is constructed.
2. The model construction method as described in claim 1, characterized in that, The step of segmenting the structure under test based on the target building block group to obtain at least one segmented structure includes: At least two dividing interfaces are defined by at least one of the opposing surfaces of at least one building block, the dividing interfaces extending along the boundary or interior of the building block that defines them. The structure to be tested is segmented according to the at least two dividing interfaces to obtain at least one segmented structure, wherein the same segmented structure has the same spatial distribution characteristics.
3. The method as described in claim 1, characterized in that, The step of determining the function set corresponding to each building block in the target building block group includes: Determine the set of side curve functions for the building block, the set of side curve functions being used to indicate the relationship between the coordinates of the side boundary of the building block and its height; and / or Determine the center point function set of the building block, which is used to indicate the relationship between the center offset of the building block and the height.
4. The model construction method as described in claim 3, characterized in that, The determination of the initial cross-sectional curve corresponding to each slice based on the slice height and the function set of the building blocks corresponding to each slice includes: For each slice: The slice height of the slice is substituted into the function set of the corresponding building block to determine multiple boundary coordinates of each building block in the segmented structure; based on the boundary coordinates, the cross-sectional curve corresponding to the building block is determined. The superposition of the cross-sectional curves of the building blocks corresponding to the slice is determined as the initial cross-sectional curve corresponding to the slice.
5. The model construction method as described in claim 4, characterized in that, The step of dividing the initial cross-sectional curve into multiple line units includes: For the cross-sectional curve of each building block in the initial cross-sectional curve: the cross-sectional curve is divided circumferentially according to the vertex or tangent point in the cross-sectional curve to obtain multiple monotonic line units, each of the multiple line units containing its own start coordinates and end coordinates.
6. The model construction method as described in claim 5, characterized in that, The step of determining the reconstructed cross-sectional curve based on the initial cross-sectional curve and its corresponding plurality of line elements includes: Determine whether the initial cross-sectional curve is a superposition of cross-sectional curves of multiple building blocks; When the initial cross-sectional curve is the superposition of cross-sectional curves of multiple building blocks, the start coordinates and end coordinates of the line elements of the initial cross-sectional curve are traversed, and the coordinates of the line elements that exist on at least two different cross-sectional curves are marked. Record the coordinates of the marked line elements into the overlapping coordinate set; Based on the overlapping coordinate set and the coverage relationship of the multiple building blocks, the reconstructed cross-sectional curve is determined.
7. The model construction method as described in claim 6, characterized in that, Determining the reconstructed cross-sectional curve based on the overlapping coordinate set and the coverage relationship of the multiple building blocks includes: The traversal rules are determined based on the coverage relationship; Starting from any line unit coordinate in the overlapping coordinate set, the multiple line units of the initial cross-section curve are traversed along the circumferential direction according to the traversal rules until the starting point is returned, so as to form at least one closed loop. Remove line units that do not belong to any closed loop; The at least one closed loop is combined to obtain a reconstructed cross-sectional curve.
8. The model construction method as described in claim 1, characterized in that, The process of determining the model of the segmented structure based on multiple reconstructed cross-sectional curves and their corresponding slices includes: Discrete point interpolation is performed on the line elements in each reconstructed cross-sectional curve; Align the reconstructed cross-sectional curves corresponding to adjacent slices; Interpolation points corresponding to adjacent slices of the same aligned building block are connected to construct surfaces, thereby determining the model of the segmented structure.
9. The model construction method as described in claim 8, characterized in that, When the number of line elements in the reconstructed section curves corresponding to adjacent slices is not the same, aligning the reconstructed section curves belonging to the same building block in adjacent slices includes: Align the reconstructed cross-section curve with fewer line elements with the reconstructed cross-section curve that has more line elements. The step of connecting the interpolation points corresponding to adjacent slices of the same aligned building block includes: Interpolation points in the reconstructed section curve with a larger number of line elements that exceed the corresponding relationship are connected to the start or end coordinates of the nearest line element in the reconstructed section of the adjacent slice to form a triangular face.
10. The model construction method as described in claim 1, characterized in that, The step of determining the target building block group that makes up the structure under test based on the structure under test includes: Based on the structure to be tested, the target building block group is determined from the pre-stored building block library.
11. A model building apparatus, characterized in that, include: The first determining module is used to determine the target building block group based on the structure to be tested, and to determine the function set corresponding to each building block in the target building block group; The segmentation module is used to segment the structure under test based on the target building block group to obtain at least one segmented structure, and each segmented structure includes the whole or part of at least one building block. The second determining module is used to perform an initial cross-sectional curve determination step for each segmented structure, including: sequentially slicing the segmented structure to obtain multiple slices arranged in sequence, and determining the slice height corresponding to each slice; and determining the initial cross-sectional curve corresponding to each slice based on the slice height corresponding to each slice and the function set of the building blocks corresponding to each slice. The third determining module is used to perform a reconstructed cross-section curve determining step for each initial cross-section curve, including: dividing the initial cross-section curve into multiple line units; and determining the reconstructed cross-section curve based on the initial cross-section curve and its corresponding multiple line units. The fourth determining module is used to determine the model of the segmented structure based on multiple reconstructed cross-sectional curves and their corresponding slices, and to construct the model of the structure to be tested based on the models of the multiple segmented structures.
12. A method for measuring morphology, characterized in that, The method includes: Obtain the measured spectrum of the structure under test; The theoretical spectrum is determined according to the model building method described in any one of claims 1-10; Based on the matching relationship between the measured spectrum and the theoretical spectrum, the morphological parameters of the structure to be tested are determined.
13. A computer-readable storage medium, characterized in that, The medium stores a computer program that can be executed by a processor to implement the method as described in any one of claims 1-10.