Method of generating shape profile of component in computer-aided design model
By generating mesh representations and vector representations of shape features of components in a CAD system, and combining quasi-random distribution and concentric sphere partitioning, the complexity problem of identifying similar components is solved, achieving efficient component clustering and design simplification.
Patent Information
- Application Number
- CN202380098931.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-05
- Publication Date
- 2025-12-26
AI Technical Summary
In computer-aided design (CAD) systems, the process of identifying and selecting similar components is complex and limited, especially when designing complex or large products. Existing methods struggle to efficiently generate component shape profiles, impacting design efficiency.
By generating a grid representation of the components, using a quasi-randomly distributed set of points and concentric spheres, a vector representation of the shape features of the components is calculated, and a clustering algorithm is used to identify components with similar shapes.
It enables efficient and accurate identification and clustering of components with similar shapes, simplifying the design process and improving design efficiency and accuracy.
Smart Images

Figure CN121219704A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to a computer-implemented method for generating a shape profile of a component in a computer-aided design (CAD) model. BACKGROUND
[0002] Computer-aided design (CAD) systems are used in many fields, such as engineering, manufacturing and design, for creating and manipulating solid model representations of objects. Boundary representation (B-rep) technology dominates CAD modeling. B-rep technology provides an efficient and adaptive part representation by combining classical geometry (analytic surfaces and curves, non-uniform rational B-splines (NURBS) and procedural surfaces and curves) and topology, which captures connectivity and interaction between geometric elements. Additive manufacturing is the process of creating three-dimensional objects using a three-dimensional printer, based on a CAD or other digital three-dimensional model. Objects can be scanned as a precursor to create a CAD model, or can be designed from scratch and stored in the form of an STL (stereolithography file format) or AMF (additive manufacturing file format) file for future printing.
[0003] As part of the design of an assembly model, a user can choose to create or use a component that is the same or similar to other components within the environment of the main assembly. Finding a component that is an exact match is a relatively simple process, but this is not the case for similar components. Similar components are those that share a common shape element with another component. This common shape element is a property of the component, such as size, geometry, feature, function, color or texture. For example, a user can be designing a vehicle that requires a nut and bolt fitting to secure two components together. As part of the design process, the user can have used a similar nut and bolt fitting and therefore now wishes to find a suitable, but similar, nut and bolt pairing in order to complete this aspect of the design.
[0004] The user can identify components based on visual similarity, consistency of use of naming conventions, categorization or other ranking and / or consistent language in order to determine similarity. While this can be a simple task if all of these aspects are present or only a limited number of components are in use, this task can become more difficult as the design becomes larger or more complex. One possibility is to limit the search outside of the CAD application to find similar components to add to the product. If operating within the CAD application, the user can select a component within the graphical screen or from a representation of a bill of materials of components that the user wishes to operate on.
[0005] Based on the property that distinguishes whether two components are similar, users can also pre-create component sets. For example, a user can create a set of bolts, nuts, and screws before manipulating a product within a CAD application. However, this depends on the user being able to spend time selecting similar components from a large library provided by the CAD software, and the user being able to predict the similarity or range of uses of the components needed to model various products. Another problem is that this pre-preparation limits the selection, thereby eliminating the ability to predict and provide users with alternative similar products during the design process.
[0006] Another approach is based on clustering. Clustering is an unsupervised machine learning method used to classify or cluster similar data points together. Clustering algorithms discover and analyze patterns or similarities within a dataset and group the data based on these patterns or features. To apply clustering algorithms to the context of identifying similar components in a CAD model, the components are first given a mathematical description, i.e., a numerical vector, which is referred to as a shape profile in this paper. The shape profile is obtained by extracting the numerical features of the components, thus mapping the objects to a metric space. Mathematical operations can then be applied to the resulting shape profile. Summary of the Invention
[0007] The objective of this disclosure is to provide a method for generating consistent shape profiles of components in a CAD model.
[0008] The aforementioned and other objectives are achieved through the features of the independent claims. Other implementations can be found in the dependent claims, the specification, and the drawings.
[0009] According to a first aspect, a computer-implemented method is provided for generating a vector representation of shape features of a component forming part of a computer-aided design (CAD) model. The method includes: a) generating a mesh representation of the component, the mesh representation comprising a plurality of triangular faces; b) determining a set of points quasi-randomly distributed on the mesh representation. V c) Divide the region containing the component into multiple concentric spheres; d) For each sphere S :i) In the ball S point set in V Chinese identification k A subset of points ; and ii) the vector that determines the data values λ S Each data value represents a point v j Along the subset V S The variance of the principal axes; and e) the combined vectors. λ S Vector representation of the shape features that form the components λ .
[0010] The method according to the first aspect achieves this task by providing a consistent shape profile. This is achieved by using a quasi-random distribution of points spread over the mesh representation of the component.
[0011] According to a second aspect, a computer-implemented method for generating a vector representation of a shape feature of a component forming part of a computer-aided design (CAD) model is provided. The method comprises: a) generating a mesh representation of the component, the mesh representation comprising a plurality of triangular faces; b) determining a set of points distributed over the mesh representation V ; c) dividing an area containing the component into a plurality of concentric spheres; d) for each sphere S : i) identifying a subset of K points in the set of points S contained in the sphere V ; and ii) determining a vector λ S of data values, each data value representing a variance of points v j along a principal axis of the subset V S ; and e) combining the vectors λ S to form a vector representation of the shape feature of the component λ , wherein each vector λ S further comprises a ratio of the radius of the sphere S to the radius of the outermost sphere.
[0012] In a first implementation, for each face T , the set of points V comprises a number of points T n T .
[0013] In a second implementation, the number of points n T is: where N is the number of points in the set of points V , a T is the area of the face T , and A is the total area of the plurality of faces.
[0014] In a third implementation, for each face T , determining the set of points V comprises: identifying a pair of edge vectors T A , B ; Generate a set The set includes n T A quasi-random number pair; determine n T A quasi-randomly distributed point and the point P i Located on the surface T Outside of, along the vector A-B The line reflects at that point.
[0015] In the fourth implementation, the quasi-random number pair is generated by a Halton sequence.
[0016] In the fifth implementation, for each ball S Vectors that determine data values λ S Includes: determining the covariance matrix C S ,in: and yes V S The equilibrium point; and determining the covariance matrix. C S The eigenvalues are used to form a vector λ S .
[0017] In the sixth implementation, dividing the region containing the component into multiple concentric spheres includes: selecting the radius of the spheres such that the point set... V The points in the diagram are evenly distributed between rings of continuous concentric spheres.
[0018] According to the third aspect, a method is provided. The method includes: generating a vector representation for each of a plurality of components in a CAD model based on the method according to the first aspect; and applying a clustering algorithm to the vector representations of the plurality of components to form one or more clusters of the components based on shape similarity.
[0019] In the eighth implementation, the method includes: receiving a component selected by a user via a user interface, the selected component representing a shape feature desired by the user; and identifying other components with similar shape features to the selected component based on the selection and one or more clusters.
[0020] In the ninth implementation, the method includes performing CAD operations on the identified components.
[0021] These and other aspects are evident from the following embodiments. Attached Figure Description
[0022] For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings in which:
[0023] Figure 1 is a schematic diagram illustrating a method of generating a shape profile according to an example;
[0024] Figure 2 is a graph of a face according to an example;
[0025] Figure 3 is a graphical representation of a distribution of points in a three-dimensional space according to an example;
[0026] Figure 4 is a graph illustrating components in a three-dimensional model according to an example;
[0027] Figure 5A and Figure 5B is an example of a three-dimensional component dataset with clustering;
[0028] Figure 6 is a flowchart illustrating a method according to an embodiment of the present disclosure; and
[0029] Figure 7 An example of a data processing system in which embodiments of the present disclosure can be implemented is illustrated. DETAILED DESCRIPTION
[0030] The example embodiments are described in sufficient detail to enable those skilled in the art to make and use it, and is not intended to limit the examples to the specific examples set forth herein. It is further understood that embodiments can be provided in many alternate forms and that they should not be construed as limited to the examples set forth herein.
[0031] Accordingly, while the examples are amenable to modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail herein. It should be understood that the disclosed specific form or embodiment is not intended to limit the particular aspects disclosed herein. Rather, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. In the drawings and detailed description, elements of example embodiments are appropriately designated by like reference numerals.
[0032] The terminology used in the description herein is not intended to be limiting in scope. The articles "a", "the", and "the" are singular in that they have only a single referent, however, the use of the singular herein will also cover the plural unless the context clearly dictates otherwise. In other words, elements referred to in singular form only can also mean one or more, unless the context clearly dictates otherwise. The terms "comprises" and / or "comprising", when used in this document, specify the presence of stated features, items, steps, operations, elements, and / or components but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof.
[0033] Unless otherwise defined, all terms (including technical and scientific terms) used herein are to be interpreted as is customary in the art. Commonly used terms are to be interpreted in accordance with their normal and customary meaning within the relevant art, and not in an idealized or overly formal sense unless specifically defined herein.
[0034] The methods described herein are based on mapping a mesh representation of a component to a vector representation to form a shape profile. Figure 1 A schematic diagram of the process of obtaining a vector representation from a component is shown. In Figure 1 In the example, the component is a sphere 110. The surface of the sphere 110 is converted to a mesh representation 120 comprising a plurality of triangular faces. The face data 130 representing the plurality of triangular faces is converted to a vector 150 by mapping 140.
[0035] The mapping 140 described herein comprises two stages. In the first stage, a well-distributed scatter of points is obtained on the faces of the mesh representation. These well-distributed points are distributed well enough that a high-quality consistent shape profile can be obtained from the points that accurately describes the shape features of the component. In the second stage, the space occupied by the shape is divided using concentric spheres and values describing the variance of the scatter of points in each sphere are determined. A vector representation of the shape is obtained from these values.
[0036] In the first stage, a well-distributed scatter of points can be obtained using a quasi-random sequence of numbers. A quasi-random sequence is a deterministic sequence that exhibits some properties of randomness. However, unlike a random sequence, a quasi-random sequence can have a smaller bias. Bias quantifies the difference between the expected distribution of numbers in the sequence and the actual distribution. Quasi-random sequences aim to minimise this bias, providing a more regular and evenly spaced distribution. Using a quasi-random sequence to generate points provides a more regular and evenly spaced distribution of points over the faces in generating a shape profile.
[0037] The Halton sequence is an example of a quasi-random number sequence that can be used to generate the scattered points for the mapping 140. The Halton sequence can be efficiently generated without a seed input and is easy to compute. In particular, the values of the Halton sequence are computed by successive division by a given base. For example, for a given base of 2, the first nine elements are as follows: 1 / 2, 1 / 4, 3 / 4, 1 / 8, 5 / 8, 3 / 8, 7 / 8, 1 / 16, 9 / 16. Examples of other quasi-random sequences include the Sobol sequence and the Hammersley sequence.
[0038] Figure 2 A diagram illustrating a triangular face 200 according to an example is shown. The face 200 has a pair of edge vectors A , B . An arbitrary point P is given by the equation P = Ax + By where 0≤x, y≤1 will lie in the parallelogram 210 shown, which corresponds to the parallelogram determined by the edge vectors of the face 200. Figure 2
[0039] A set of quasi-randomly distributed points can be obtained by generating a quasi-random number pair (x, y) and reflecting an arbitrary point lying in the upper triangle of the parallelogram along a line 220 corresponding to the vector A-B According to an example, x and y can be determined by the Halton sequence described previously, where x is generated using a base of 2 and y is generated using a base of 3.
[0040] Figure 3 An example of a point scatter on a face obtained based on a quasi-random number sequence using the methods described herein is shown. As can be observed from Figure 3 , the resulting points are uniformly distributed over the surface of the face.
[0041] The number of points for each face can be determined based on the proportion of the area of the face to the total area of all faces and the total number of points to be used in the point scatter. In particular, for each face T , the number of points T assigned to the face n T is: where N is the total number of points, a T is the area of the face T , and A is the total area of all faces. A suitable value for the total number of points for the methods described herein can be, for example, N = 50000.
[0042] As previously described, the second phase of the mapping 140 continues by dividing the area of the component into a plurality of concentric spheres. Figure 4 The component 410 is shown, and the space containing this component is divided 420 into three concentric spheres S 1 , S 2 , S 3 of the example.
[0043] All spheres are centered at the same point M , which is referred to herein as the point of equilibrium. A set of N scattered points is denoted , and the point of equilibrium M is determined as follows:
[0044] The radii of the spheres S are chosen such that the points are evenly distributed between the rings of consecutive concentric spheres. In other words, in Figure 4 the number of scattered points between the spheres S 1 , S 2 is the same as the number of scattered points between the spheres S 2 , S 3 This provides for the area to be divided into intervals of the same complexity, and is therefore meaningful. This can for example help in choosing the radii such that the spheres are equidistant from each other, as this can lead to some spheres containing very few points. This leads to the points within these spheres having too large an influence on the properties of the shape profile. Conversely, if there are too many points within the spheres, then it is difficult to extract any meaningful features from the profile for them.
[0045] The points are assigned to each sphere based on a "redundant assignment", each sphere containing the points within it. Then, a covariance matrix C S is computed for each sphere: where is the subset of points in S in the sphere V , and is the point of equilibrium of V S
[0046] The matrix C S is a 3x3 matrix comprising the vectors V j – M The eigen system of a matrix describes how the points spread in the space of the matrix C S The eigen vectors of a feature system describe how the points spread in the sphere S V S The eigen values of a feature system describe the variance along the three principal axes and, thus, can be used to characterize the shape of the elements of a sphere C S The eigen values of a feature system describe the variance along the three principal axes and, thus, can be used to characterize the shape of the elements of a sphere λ S The eigen values of a feature system describe the variance along the three principal axes and, thus, can be used to characterize the shape of the elements of a sphere V S The eigen values of a feature system describe the variance along the three principal axes and, thus, can be used to characterize the shape of the elements of a sphere
[0047] For example, for an elongated object (e.g., a tube), the eigen system includes an eigen vector pointing along the axis of the tube and two eigen vectors perpendicular to that axis: the eigen value of the axis eigen vector is much larger than the eigen values of the two vectors pointing out of the surface of the tube. On the other hand, a disc-shaped object has two perpendicular eigen vectors with large eigen values embedded in the plane of the disc; and a third eigen vector with a much smaller eigen value pointing perpendicular to the disc. A regularly shaped object (e.g., a sphere) has eigen vectors with the same or approximately the same eigen values.
[0048] For each sphere, the eigen values λ S are determined and serialized into a vector λ which forms the shape profile of the component.
[0049] According to examples described herein, for each sphere, the vector λ S may include the ratio of the radius of the sphere S to the radius of the outermost sphere. This adds an additional numerical value to each sphere. However, because the ratio is less than 1 and can be used in conjunction with the eigen values, including the ratio does not require any additional normalization operations. Moreover, including the ratio significantly improves the results of the subsequent clustering algorithm.
[0050] Figure 5A and Figure 5B show examples of applying the methods described herein to perform clustering. Figure 5A show test cases that proved difficult to obtain the expected clustering results with the assembly, including 75 parts including 15 spheres, 15 cuboids, 15 cones, and 30 irregularly shaped objects.
[0051] Figure 5B show results of clustering shapes using shape profiles generated by using the methods described herein. As can be seen from Figure 5B As can be seen, the resulting vectors are tightly grouped into clusters 510, 520, 530, and 540.
[0052] Figure 6 is a flowchart illustrating a computer-implemented method for generating a vector representation of a shape feature of a component in a CAD model. The method 600 can be used in conjunction with the examples described herein and other methods and systems. The method 600 can be implemented by a CAD application on a data processing system.
[0053] At step 610, the method includes generating a mesh representation of the component. In an example, the mesh representation includes a plurality of triangular faces.
[0054] At step 620, the method includes determining a set of quasi-randomly distributed points on the mesh representation.
[0055] At step 630, the method 600 includes dividing the region containing the component into a plurality of concentric spheres.
[0056] At step 640, the method includes, for each sphere S , identifying a subset of points S k contained in the set of points .
[0057] At step 650, the method 600 includes determining a vector λ S of data values for each sphere v j , each data value representing a variance of points V along a principal axis of the subset
[0058] At step 660, the method 600 includes combining the vectors λ S to form a vector representation of a shape feature of the component λ .
[0059] The method 600 can also be implemented as part of a manufacturing process for manufacturing an item modeled in a CAD system. In particular, the method 600 can be used in conjunction with a clustering algorithm to efficiently identify components that are similar in shape and perform actions on the identified components prior to manufacturing the item. Examples of actions can include modifying the item, reporting data related to the components, and transmitting data related to the components to a downstream operation.
[0060] Figure 7 An example of a data processing system in which embodiments of the disclosure can be implemented is shown, e.g., a CAD application configured to perform the methods described herein, is shown. The data processing system 700 includes a processor 710 connected to a local system bus 720. The local system bus connects the processor to main memory 730 and a graphics display adapter 740, which can be connected to a display 750. The data processing system can communicate with other systems via a wireless user interface adapter connected to the local system bus 720 or via a wired network, such as a local area network. Additional memory 760 can also be connected to the local system bus 720.
[0061] Suitable adapters for other peripheral devices, such as a keyboard 780 and a mouse 790 or other pointing device, e.g., a wireless user interface adapter 770, allow a user to provide input to the data processing system. Other peripheral devices can include one or more I / O controllers, e.g., a USB controller, a Bluetooth controller, and / or a dedicated audio controller (connected to speakers and / or a microphone). It should also be appreciated that various peripheral devices can be connected to a USB controller (via various USB ports), including input devices (e.g., a keyboard, a mouse, a touchscreen, a trackball, a camera, a microphone, a scanner), output devices (e.g., a printer, speakers), or any other type of device operable to provide input to or receive output from the data processing system.
[0062] It should also be appreciated that many devices referred to as input devices or output devices can provide both input to and receive output from the data processing system. It should also be appreciated that other peripheral hardware connected to the I / O controller can include any type of device, machine, or component configured to communicate with the data processing system.
[0063] An operating system included in the data processing system enables output from the system to be displayed to a user on a display and enables the user to interact with the system. Examples of operating systems used in data processing systems can include Microsoft Windows™, Linux™, UNIX™, iOS™, and Android™ operating systems.
[0064] It should also be appreciated that the data processing system 700 can be implemented in a network environment, a distributed system environment, virtual machines in a virtual machine architecture, and / or a cloud environment. For example, the processor and associated components can correspond to a virtual machine running in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.
[0065] Those of ordinary skill in the art will appreciate that the hardware depicted in data processing system 700 can vary depending on the particular implementation. For example, data processing system 700 in the present example can correspond to a computer, a workstation, and / or a server. However, it should be appreciated that alternative embodiments of data processing system can be configured with corresponding or alternative components, such as in the form of a mobile telephone, tablet, controller board, or any other system operable to process data and perform the functionality and features described herein in association with the operation of data processing systems, computers, processors, and / or controllers discussed herein. The depicted examples are merely for illustrative purposes and are not meant to imply architectural limitations of the present disclosure.
[0066] Data processing system 700 can be connected to a network (not part of data processing system 700) that can be any public or private data processing system network or combination of networks, including the Internet, as known by those of ordinary skill in the art. Data processing system 700 can communicate over the network with one or more other data processing systems, such as a server (also not part of data processing system 700). However, alternative data processing systems can correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with the several data processing systems can communicate over one or more network connections and can collectively perform tasks described as being performed by a single data processing system. Thus, it should be understood that when referring to a data processing system, such a system can be implemented on several data processing systems organized as a distributed system in communication with each other over a network.
[0067] Data processing system 700 is configured to perform methods in accordance with the embodiments described herein. For example, keyboard 780 and mouse 790 can be used as user input devices to receive information from a user, processor 710 can be configured to perform methods, and display 750 can be configured to display particular views to a user. Computer program products include instructions that, when run on a computer, such as data processing system 700, can be provided to cause the computer to perform the methods of embodiments of the present disclosure outlined above.
[0068] The present disclosure is described with reference to the flowcharts and / or block diagrams of the methods, devices and systems according to examples of the present disclosure. Although the flowcharts illustrate a particular order of execution, the order of execution can differ from that which is depicted. Blocks described with reference to one flowchart can be combined with blocks described with reference to another flowchart. In some examples, some blocks of the flowcharts can not be required, and / or additional blocks can be added.
[0069] The present disclosure can be embodied in other specific apparatus and / or methods. The described embodiments are to be considered in all respects as illustrative only and not restrictive in character. In particular, the scope of the present disclosure is indicated by the appended claims, rather than by the description and figures herein. All changes that come within the meaning of and equivalency of the claims are to be embraced within their scope.
Claims
1. A computer-implemented method for generating a vector representation of shape features of a component forming part of a computer-aided design (CAD) model, the method comprising: a) generating a mesh representation of the component, the mesh representation comprising a plurality of triangular faces; b) determining a set of points quasi-randomly distributed over the grid representation V ; c) dividing a region containing the component into a plurality of concentric spheres; d) for each ball S : i) identifying a subset of points in the set of points comprised in the respective sphere S V k ; and ii) determining a vector of data values λ S each data value representing a point v j along a principal axis of the respective subset V S variance of the principal axis and e) combining the vectors λ S to form a vector representation of a shape feature of the component λ .
2. The method of claim 1, wherein for each face T , the point set V comprises a number n of points located on the respective face T T .
3. The method of claim 2, wherein the point number n T is: wherein: N For the number of points in the point set V points, a T for the area of the face T of the face A is the total area of the plurality of triangular facets.
4. The method of claim 2, wherein for each face T , determining the point set V includes: identifying the respective face T a pair of edge vectors A , B ; Generating a set , the set comprising n T pairs of quasi-random numbers; determining n T points of a quasi-random distribution and When a point P i located outside the respective face T is reflected along a line corresponding to the vector A-B .
5. The method of claim 4, wherein the quasi-random numbers are generated by a Halton sequence.
6. The method of claim 1, wherein for each ball S determining the vector of data values λ S comprising: Determining a covariance matrix C S wherein: , wherein is V the equilibrium point, and determining eigenvalues of the covariance matrix C S to form a vector λ S .
7. The method of claim 1, wherein dividing the region containing the component into the plurality of concentric spheres comprises: The radii of the plurality of concentric spheres are chosen such that the points in the point set V are evenly distributed between the rings of consecutive concentric spheres.
8. A method comprising: generating a vector representation for each component of a plurality of components in a computer-aided design (CAD) model based on the method of any one of claims 1 to 7; and applying a clustering algorithm to the vector representations of the plurality of components to form one or more clusters of components based on shape similarity.
9. The method of claim 8, further comprising: receiving a component selection from a user via a user interface, wherein the selected component represents a shape feature desired by the user; and based on the component selection and the one or more clusters, identifying other components having similar shape features to the selected component.
10. The method of claim 9, further comprising: performing a CAD operation on the identified other components.
11. A computer-implemented method for generating a vector representation of shape features of a component forming part of a computer-aided design (CAD) model, the method comprising: a) generating a mesh representation of the component, the mesh representation comprising a plurality of triangular faces; b) determining a set of points distributed over the mesh representation V ; c) dividing a region containing the component into a plurality of concentric spheres; d) for each ball S : i) identifying a subset of points in the set of points comprised in the respective sphere S V k ; and ii) determining a vector of data values λ S each data value representing a point v j along a principal axis of the respective subset V S variance; e) combining the vectors λ S to form a vector representation of a shape feature of the component λ , where each vector λ S Also included are the ratio of the radius of the sphere S to the radius of the outermost sphere.
12. A data processing system comprising: a processor configured to generate a vector representation of shape features of a component forming part of a computer-aided design (CAD) model, wherein the adaptation for generating the vector representation for each component comprises: a) an adaptation for generating a mesh representation of the component, the mesh representation comprising a plurality of triangular faces; b) for determining a set of points quasi-randomly distributed over the grid representation V adaptation; c) an adaptation for dividing a region containing the component into a plurality of concentric spheres; d) for each ball S : i) an adaptive for identifying a subset of points in a set of points contained in a respective sphere S V k ii) a vector of data values λ S adaptation, each data value representing a point v j along a respective subset V S of principal axes; and e) for combining the vectors λ S vector representation of a shape feature forming the component λ adaptation.
13. The data processing system of claim 12, wherein the processor is further configured to apply a clustering algorithm to the vector representations to form one or more clusters of components based on shape similarity.