Method for determining a dimension of a mechanical part
The method simplifies and enhances precision in mechanical part dimension measurement by triangulating points on a section curve and calculating dimensions using a computer-controlled probe, addressing the complexity and control issues of existing methods.
Patent Information
- Application Number
- PCT/FR2025/050340
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-22
- Filing Date
- 2025-04-22
- Publication Date
- 2025-10-30
AI Technical Summary
Existing methods for measuring the dimensions of mechanical parts are complex and difficult to control precisely, necessitating a simplification for improved quality control in industrial manufacturing processes.
A method involving triangulation of points on a section curve, determination of a skeleton curve with filtered centers, and calculation of dimensions based on these centers, using a computer-controlled probe or radiographic sensor, to simplify and enhance precision in dimension measurement.
The method provides precise and simplified dimension measurement, enabling better control and performance in industrial manufacturing by ensuring high accuracy and consistency in determining mechanical part dimensions.
Smart Images

Figure FR2025050340_30102025_PF_FP_ABST
Abstract
Description
[0001] DESCRIPTION
[0002] TITLE: Method for determining the dimension of a mechanical part
[0003] The present invention relates to the field of dimensional measurement of mechanical parts, in particular by computer, in particular for quality control in industrial manufacturing processes.
[0004] It is known to measure a dimension of a mechanical part from points positioned on a section of the mechanical part.
[0005] The drawback of known processes is that they are complex and their operation is difficult to control precisely. Therefore, there is a need for simplification, particularly to allow for better control and even improved performance.
[0006] The invention therefore aims to provide a solution to all or part of these problems.
[0007] To this end, the present invention relates to a method for determining the dimension of a mechanical part, the method being implemented by computer and comprising the following steps:
[0008] - measurement of a position, in a plane of a section of the part, of a plurality of points positioned on an edge of the section of the part, the edge of the section of the part forming a curved section in said plane,
[0009] - determination of a skeleton curve comprising a plurality of skeleton points, the determination of the skeleton curve comprising the following steps:
[0010] - Calculation of a triangulation of the plurality of points of the section curve, the triangulation comprising a set of triangles, each triangle of the set of triangles being formed by three points of the plurality of points of the section curve,
[0011] - for each triangle in the triangulation, determination of a center of said triangle, defined by the center of a circle circumscribed about said triangle, and of a barycenter of said triangle, defined by the barycenter of the vertices of said triangle, so as to obtain a set of barycenters and a set of centers, each triangle in the triangulation corresponding to a barycenter of the set of barycenters and to a center of the set of centers,
[0012] - filtering of centers, based on barycenters, to obtain a set of filtered centers, the determined skeleton curve comprising the set of filtered centers,
[0013] - determination of the dimension of the mechanical part, at a skeleton point of the skeleton curve, as a function of the position of said skeleton point on the skeleton curve.
[0014] According to one embodiment, the invention comprises one or more of the following features, alone or in a technically acceptable combination.
[0015] According to one implementation method, the position of the points of the section curve is measured with a probe, or a radiographic sensor, said probe or radiographic sensor being controlled by the computer, the computer being configured to receive the measurement made by the probe, or radiographic sensor.
[0016] In one embodiment, the triangulation is a Delaunay triangulation, in which the circumcircle of a triangle of the triangulation does not contain within its perimeter any vertex of another triangle of the triangulation. In another embodiment, the skeleton point is positioned at a first distance from a first part of the section curve, and at a second distance from a second part of the section curve, the first and second distances being measured transversely to the skeleton curve, the dimension of the mechanical part at said skeleton point of the skeleton curve being equal to a sum of the first and second distances.
[0017] According to one implementation method, a difference between the first distance and the second distance, referred to half the sum of the first distance and the second distance, is less than 1 / 100, preferably less than 1 / 1000, preferably equal to 0.
[0018] According to these provisions, the points of the skeleton curve are equidistant from the points of the first part and the second part of the section curve.
[0019] According to one implementation method, the first part and the second part of the section curve are respectively on either side of an area of the section curve forming a cavity in the section curve.
[0020] According to one embodiment, the first distance and the second distance are measured along a direction transverse to the skeleton curve at a determined skeleton point of the skeleton curve located at a distance from the cavity of the section curve, the direction transverse to the skeleton curve being determined from a subset of skeleton points positioned around said determined skeleton point.
[0021] According to one implementation method, a number of points from the subset of skeleton points is predetermined.
[0022] According to one implementation method, the filtering step includes:
[0023] - the determination that a barycenter of a triangle is an inconsistent barycenter, and that the triangle corresponding to the inconsistent barycenter is an inconsistent triangle, and that the center of the inconsistent triangle is an inconsistent center,
[0024] - the removal of said inconsistent center from the set of centers, to obtain the set of filtered centers.
[0025] According to one implementation method, the skeleton curve determination step includes an extrapolation of complementary points from the set of filtered centers, so that the skeleton curve includes the complementary points and the set of filtered centers.
[0026] According to one implementation mode, the extrapolation includes the use of another subset of skeleton points, of the skeleton curve, to estimate a tangent to the skeleton curve, said tangent defining a direction of extrapolation from the skeleton curve to a cavity in the section curve.
[0027] According to one implementation mode, the number of points in the other subset of skeleton points, used to estimate the extrapolation direction of the skeleton curve, is predetermined.
[0028] According to one implementation method, the complementary points are extrapolated along a piece of curve, the piece of curve being, for example, linear or quadratic.
[0029] According to one implementation method, the extrapolation of complementary points step includes an ordering of the points from the set of filtered centers.
[0030] According to one implementation method, the step of determining that a barycenter of a triangle is an inconsistent barycenter includes:
[0031] - the construction, from the points of the section curve, of a filtering polygon; - the determination that a barycenter is inconsistent if it is outside said filtering polygon.
[0032] According to one implementation method, the step of constructing the filtering polygon includes the determination of a set of vertices of said filtering polygon, each vertex being positioned in a direction defined from a subset of points of the section curve, at a predetermined distance from said subset of points of the section curve, the direction defined from the subset of points of the section curve being transverse to a portion of the section curve passing through the points of said subset of points of the section curve.
[0033] According to one implementation mode, the direction defined from the subset of points of the section curve is defined by an eigenvector of a covariance matrix calculated from the coordinates of the points of the subset of points of the section curve.
[0034] According to one implementation method, the covariance matrix is written M=A T *A, where A is a matrix with N rows and 2 columns, N being a number of points in the subset of points considered, the first and second columns of each row comprising respectively the x and y coordinates of each point in the subset of points considered, A T being a transpose of A, such that M is a 2x2 matrix.
[0035] According to one embodiment, the section curve is closed so as to delimit an interior of the section curve, and in which the vertex of the filtering polygon is positioned in the direction transverse to the portion of the section curve passing through the points of said subset of points of the section curve, such that an oriented segment from said portion of the section curve to said vertex, along said transverse direction, is oriented towards the interior of the section curve.According to one embodiment, the method further includes a step of reversing the orientation of said oriented segment, when said oriented segment intersects the section curve at a point of intersection and when an intermediate point is located outside the section curve, said intermediate point being positioned between an origin point of the oriented segment and said point of intersection, said origin point being located on said portion of the section curve, said reversal of the orientation generating an inverted oriented segment, in the opposite direction to the oriented segment, said inverted oriented segment being directed towards the inside of the section curve.
[0036] According to another aspect, the invention relates to a computer program product comprising code instructions implementing a part dimension determination method as defined above, when these code instructions are executed by a processing unit.
[0037] According to another aspect, the invention also relates to a computer-readable medium on which code instructions are recorded implementing a method for determining part dimensions as defined above.
[0038] For its proper understanding, an embodiment and / or implementation of the invention is described with reference to the accompanying drawings, which represent, by way of non-limiting example, one embodiment or implementation of a method according to an example of the invention. The same reference numerals in the drawings designate similar elements or elements with similar functions.
[0039] [Fig. 1] is a perspective view of a first mechanical part, for example a turbine blade leading edge, and a second mechanical part, for example a turbine blade, the first mechanical part being intended to be mounted superimposed on an external surface of the second mechanical part.
[0040] [Fig. 2] is a view of a section curve of a mechanical part in a section plane, and of a skeleton curve of the section curve.
[0041] [Fig. 3] is an illustration of two different 4-point triangulations, with a first triangulation on the left of Figure 3 which is not a Delaunay triangulation, and with a second triangulation on the right of Figure 3 which is a Delaunay triangulation.
[0042] [Fig. 4] is an example of Delaunay triangulation constructed from the points of a section curve, with the barycentres of the triangles represented by round points and the centres of the triangles represented by stars.
[0043] [Fig. 5] is an example of a filtering polygon constructed from the points of the section curve of the previous figure, the barycenters of the triangles located outside the filtering polygon having been eliminated, as well as the centers of the circles circumscribed to these triangles, so that only the centers of the triangles filtered according to an example of the invention remain, which form the skeleton curve of the section curve.
[0044] [Fig. 6] is an example of a subset of points of the section curve used to determine a vertex of the filtering polygon in a direction transverse to the portion of the section curve that passes through the points of the subset of points of the section curve.
[0045] [Fig. 7] illustrates a case in which the determination of a vertex of the filtering polygon in a direction transverse to the portion of the section curve that passes through the points of the subset of points of the section curve includes a step of reversing the oriented segment SO2 so that said segment is oriented towards the interior of the section curve.
[0046] [Fig. 8] represents a diagram of the sequence of steps of the process according to an example of implementation of the invention.
[0047] The method 100 according to the invention aims to determine a dimension of a mechanical part PM1, PM2, in particular to verify a good correspondence between the dimensions of a first mechanical part PM1 intended to be attached to a second mechanical part PM2, for example in the aeronautical field, to form a turbine blade. An example of a mechanical part PM1, i.e. a leading edge, intended to be attached to a second mechanical part PM2, i.e. a turbine blade, to form a complete turbine blade, is shown in Figure 1.
[0048] It should be noted that process 100 can also be applied to other types of mechanical parts, such as, for example, turbomachine blower blades, or turbomachine compressor blades.
[0049] To determine a dimension of a mechanical part, the method 100 according to the invention comprises a first step 101 of measuring the position of a plurality of points positioned, in a plane of a section of the part, on an edge of the section of the part. The edge of the section of the part forms a section curve CS in said plane of the section, illustrated by way of example in Figure 2.
[0050] For example, measurement 101 of the position of the points of the curve section CS is measured with a probe, or a radiographic sensor, said probe or radiographic sensor being able to be controlled by a computer, the computer being configured to control the probe or radiographic sensor, and to receive the measurements made by the probe or radiographic sensor, before implementing the following steps of process 100.
[0051] The next step in process 100 is the determination 102 of a skeleton curve CSQ comprising a plurality of skeleton points. These skeleton points of the skeleton curve CSQ are, by definition, each located in the plane of the section curve CS, ideally equidistant from a first part B1 of the section curve CS and a second part B2 of the section curve CS. The determination 102 of the skeleton points of the skeleton curve CSQ comprises the following steps:
[0052] - Calculation 1021 of a triangulation of the plurality of points of the section curve, the triangulation comprising a set of triangles, each triangle of the set of triangles being formed by three points of the plurality of points of the section curve,
[0053] - for each triangle of the triangulation, determination 1022 of a center CT of said triangle, defined by the center of a circle circumscribed to said triangle, and of a barycenter BT of said triangle, defined by the barycenter of the vertices of said triangle, so as to obtain a set of barycenters BT and a set of centers CT, each triangle of the triangulation corresponding to a barycenter BT of the set of barycenters and to a center CT of the set of centers; figure 4 illustrates as an example a triangulation obtained from the points of the section curve CS, the barycenters of the triangles of the triangulation represented by circles, and the centers of the triangles represented by stars.
[0054] - filtering 1023 of CT centers, based on BT barycenters, to obtain a set of filtered CTF centers.
[0055] The CSQ skeleton curve thus determined by process 100 includes all the CTF filtered centers.
[0056] Finally, process 100 includes the determination 103 of the dimension D of the mechanical part at a determined skeleton point of the skeleton curve CSQ.
[0057] For example, the dimension D of the mechanical part at the skeleton point of the CSQ skeleton curve is equal to the sum of a first distance D1 from the skeleton point to the first part B1 of the CS section curve, and a second distance D2 from the skeleton point to the second part B2 of the CS section curve, the first distance D1 and the second distance D2 being measured transversely to the skeleton curve. In practice, the skeleton points, obtained from the CTF filtered centers by method 100, are not perfectly equidistant from the first part B1 of the CS section curve and the second part B2 of the CS section curve.
[0058] In practice, for example, a difference between the first distance D1 and the second distance D2 referred to a half sum of the first distance D1 and the second distance D2 is less than 1 / 100, preferably less than 1 / 1000, preferably equal to 0 in the ideal case where the skeleton point is perfectly equidistant from the first part B1 and the second part B2 of the section curve CS.
[0059] More specifically, the first part B1 and the second part B2 of the section curve CS are respectively on either side of an area of the section curve forming a cavity CA of the section curve.
[0060] More specifically, dimension D is measured at a specific skeleton point on the CSQ skeleton curve located at a distance from the CA cavity of the CS section curve, the transverse direction to the CSQ skeleton curve being determined, from a subset of skeleton points positioned around said specific skeleton point. For example, a number of points from the subset of skeleton points is predetermined for this purpose.
[0061] According to one example implementation, the skeleton curve determination step 102 includes an extrapolation 1024 of complementary PC points from the CTF filtered center set, so that the CSQ skeleton curve includes the complementary PC points and the CTF filtered center set, as illustrated in Figure 2.
[0062] According to a particular implementation example, extrapolation 1024 involves using another subset of skeleton points from the skeleton curve CSQ to estimate a tangent to the skeleton curve. This tangent defines a direction of extrapolation from the skeleton curve CSQ to a cavity CA of the section curve CS. Thus, for example, the number of points in the other subset of skeleton points used to estimate the direction of extrapolation of the skeleton curve is predetermined. From this other subset of points, a matrix A' with N' rows and 2 columns can be constructed, where N' is the number of points in the other subset of points under consideration. The first and second columns of each row contain the x and y coordinates, respectively, of each point in the other subset of points under consideration. T being a transpose matrix of A', M' = A' T*A' is a 2x2 matrix. The matrix M can be diagonalized, and an eigenvector associated with the highest eigenvalue is determined to define a tangent direction to a virtual curve that passes through the points of the other subset of points; the skeleton curve can then be extrapolated along this tangent direction to the cavity CA of the section curve CS. In a more specific implementation example, the complementary points are extrapolated along a curve segment, the curve segment being, for example, linear or quadratic.
[0063] The extrapolation step 1024 of complementary PC points may in particular include a 1024bis scheduling of the points of the set of filtered centers CT F.
[0064] According to one implementation example, the triangulation is a Delaunay triangulation, in which the circumcircle of one triangle of the triangulation contains no vertices of any other triangle of the triangulation within its perimeter. Figure 3 illustrates the case of a Delaunay triangulation on the right, while the triangulation on the left does not satisfy the constraint that the circumcircle of one triangle of the triangulation contains no vertices of any other triangle of the triangulation within its perimeter. According to one implementation example, filtering step 1023 comprises the following steps:
[0065] - the determination 10231 that a barycenter of a triangle is an inconsistent barycenter, and that the triangle corresponding to the inconsistent barycenter is an inconsistent triangle, and that the center of the inconsistent triangle is an inconsistent center
[0066] - the removal of said inconsistent center 10232 from the set of centers, to obtain the set of filtered centers.
[0067] For example, step 10231 of determining that a barycenter of a triangle is an inconsistent barycenter includes:
[0068] - the construction 102311, from the points of the section curve CS, of a filtering polygon PF;
[0069] - the determination 102312 that a barycenter is inconsistent if it is outside said filtering polygon PF.
[0070] Thus, as an example, Figure 5 shows the SPF vertices of a filtering polygon PF constructed from the points of the section curve CS, and the barycenters and centers of the filtered triangles, i.e. those that remain after the elimination of the triangles whose barycenters were located outside the filtering polygon PF.
[0071] Optionally, the construction step 102311 of the filter polygon PF includes the determination 1023111 of a set of vertices SPF of said filter polygon PF; as shown, by way of example, in Figure 6, each vertex SPF is positioned in a defined direction DT from a subset of points SEP of the section curve CS, at a predetermined distance from said subset of points SEP of the section curve CS; the defined direction DT from the subset of points SEP of the section curve CS is transverse to a portion of the section curve CS which passes through the points of said subset of points SEP of the section curve CS.
[0072] According to one example implementation, the direction defined DT from the subset of points SEP of the section curve is defined by an eigenvector, associated with a minimum eigenvalue, of a covariance matrix calculated from the coordinates of the points of the subset of points SEP of the section curve CS.
[0073] For example, the covariance matrix is written M=A T *A, where A is a matrix with N rows and 2 columns, N being a number of points in the considered SEP point subset, the first and second columns of each row comprising respectively the x and y coordinates of each point in the considered SEP point subset, A T is a transpose of A, so M is a 2x2 matrix.
[0074] Optionally, the section curve CS is closed so as to delimit an interior of the section curve CS; and the vertex SPF of the filtering polygon PF is positioned in the direction DT transverse to the portion of the section curve CS passing through the points of said subset of points SEP of the section curve CS, such that an oriented segment SO, SO1, from said portion of the section curve CS to said vertex SPF, along said transverse direction DT, is oriented towards the interior of the section curve CS, as shown in Figure 6 and Figure 7. It should be noted that, in the example of the oriented segment SO1 illustrated in Figure 7, the oriented segment SO1 is indeed oriented towards the interior of the section curve CS from the origin point PO1, placed on the portion of the section curve CS that passes through the points of said subset of points SEP of the section curve CS, although the vertex SPF1 is not inside the section curve.On the other hand, the oriented segment SO2, whose vertex SPF2 is nevertheless inside the curve section CS, is not oriented towards the inside of the curve section CS, starting from the origin point PO2, placed on the portion of the curve section CS which passes through the points of said subset of points SEP of the curve section CS.
[0075] Therefore, determining the vertex SPF of the filtering polygon PF can further include a step of reversing the orientation of said oriented segment SO2, illustrated in Figure 7, when said oriented segment SO2 intersects the section curve CS at an intersection point PI2 and an intermediate point PI2' lies outside the section curve, said intermediate point PI2' being positioned between an origin point PO2 of the oriented segment SO2 and said intersection point PI2, said origin point PO2 being located on said portion of the section curve CS. This reversal of orientation generates a reversed oriented segment SO2I, in the opposite direction to the oriented segment SO2, said reversed oriented segment SO2I being directed towards the interior of the section curve CS.
[0076] According to one aspect, the invention relates to a computer program product comprising code instructions implementing a part dimension determination method as defined above, when these code instructions are executed by a processing unit.
[0077] According to another aspect, the invention also relates to a computer-readable medium on which code instructions are recorded, implementing a method for determining part dimensions as defined above.
Claims
DEMANDS 1. Method (100) for determining a dimension (D) of a mechanical part (PM1, PM2), the method being implemented by computer and comprising the following steps: - measurement (101) of a position, in a plane of a section of the part, of a plurality of points positioned on an edge of the section of the part, the edge of the section of the part forming a curved section (CS) in said plane, - determination (102) of a skeleton curve (CSQ) comprising a plurality of skeleton points, the determination (102) of the skeleton curve (CSQ) comprising the following steps: - calculation (1021) of a triangulation of the plurality of points of the section curve (CS), the triangulation comprising a set of triangles, each triangle of the set of triangles being formed by three points of the plurality of points of the section curve (CS), - for each triangle of the triangulation, determination (1022) of a center (CT) of said triangle, defined by the center of a circle circumscribed about said triangle, and of a barycenter (BT) of said triangle, defined by the barycenter of the vertices of said triangle, so as to obtain a set of barycenters (BT) and a set of centers (CT), each triangle of the triangulation corresponding to a barycenter (BT) of the set of barycenters and to a center (CT) of the set of centers, - filtering (1023) of the centers (CT), based on the barycenters (BT), to obtain a set of filtered centers (CTF), the determined skeleton curve (CSQ) comprising the set of filtered centers (CTF), - determination (103) of the dimension (D) of the mechanical part, at a skeleton point of the skeleton curve (CSQ), as a function of the position of said skeleton point on the skeleton curve (CSQ).
2. A method (100) according to claim 1, wherein said skeleton point is positioned at a first distance (D1) from a first part (B1) of the curve section (CS), and at a second distance (D2) from a second part (B2) of the curve section (CS), the first distance (D1) and the second distance (D2) being measured transversely to the skeleton curve, the dimension (D) of the mechanical part at said skeleton point of the skeleton curve (CSQ) being equal to a sum of the first distance (D1) and the second distance (D2).
3. A method (100) according to any one of claims 1 or 2, wherein the filtering step (1023) comprises: - the determination (10231) that a barycenter of a triangle is an inconsistent barycenter, and that the triangle corresponding to the inconsistent barycenter is an inconsistent triangle, and that the center of the inconsistent triangle is an inconsistent center, - the removal (10232) of said inconsistent center from the set of centers, to obtain the set of filtered centers.
4. A method (100) according to any one of claims 1 to 3, wherein the skeleton curve determination step (102) comprises an extrapolation (1024) of complementary points from the filtered center set (CTF), so that the skeleton curve (CSQ) comprises the complementary points (PC) and the filtered center set (CTF).
5. Method (100) according to claim 4, wherein the extrapolation step (1024) of complementary points (CP) includes a scheduling (1024bis) of the points of the filtered center set (CTF).
6. A method (100) according to claim 3, wherein the step of determining (10231) that a barycenter of a triangle is an inconsistent barycenter comprises: - the construction (102311), from the points of the section curve (CS), of a filtering polygon (PF); - the determination (102312) that a barycentre is inconsistent if it is outside said filtering polygon (PF).
7. Method (100) according to claim 6, wherein the construction step (102311) of the filtering polygon (PF) comprises the determination (1023111) of a set of vertices (SPF) of said filtering polygon (PF), each vertex (SPF) being positioned in a defined direction (DT) from a subset of points (SEP) of the section curve (CS), at a predetermined distance from said subset of points (SEP) of the section curve (CS), the defined direction (DT) from the subset of points (SEP) of the section curve (CS) being transverse to a portion of the section curve (CS) passing through the points of said subset of points (SEP) of the section curve (CS).
8. Method (100) according to claim 7, wherein the direction defined (DT) from the subset of points (SEP) of the section curve is defined by an eigenvector of a covariance matrix calculated from the coordinates of the points of the subset of points (SEP) of the section curve (CS).
9. Method (100) according to any one of claims 7 or 8, wherein the section curve (CS) is closed so as to delimit an interior of the section curve, and wherein the vertex (SPF) of the filtering polygon (PF) is positioned in the direction (DT) transverse to the portion of the section curve (CS) passing through the points of said subset of points (SEP) of the section curve (CS), such that an oriented segment (SO, SO1, SO2) of said portion of the section curve (CS) towards said vertex (SPF), along said transverse direction (DT), is oriented towards the interior of the section curve (CS).
10. Method (100) according to the preceding claim, further comprising a step of reversing the orientation of said oriented segment (SO2), when said oriented segment (SO2) intersects the section curve (CS) at an intersection point (PI2) and when an intermediate point (PI2') is located outside the section curve, said intermediate point (PI2') being positioned between an origin point (PO2) of the oriented segment (SO2) and said intersection point (PI2), said origin point (PO2) being located on said portion of the section curve (CS), said reversal of the orientation generating an inverted oriented segment (SO2I), in the opposite direction to the oriented segment (SO2), said inverted oriented segment (SO2I) being directed towards the inside of the section curve (CS).
Citation Information
Patent Citations
Method and system for automatic characterization of a three-dimensional (3D) point cloud
US20230047211A1