Method and computerized system for determining local variation in surface of fabricated component

The method and system project surface scan data onto an XY plane perpendicular to the average normal vector, addressing the challenge of determining local variations in complex surfaces, facilitating accurate shim design for smooth mating surfaces.

JP2025178107APending Publication Date: 2025-12-05THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025033742
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-22
Filing Date
2025-03-04
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Existing methods struggle to accurately determine local variations in the surface of manufactured parts, especially when they need to mate with additional parts during assembly, due to the impracticality of mapping complex surfaces without CAD representation.

Method used

A method and computerized system that projects surface scan data onto an XY plane perpendicular to the average normal vector of each point, using local average normals to filter surface data, enabling effective determination of local differences and generating shim designs for smooth mating surfaces.

Benefits of technology

Enables accurate assessment of surface quality and generation of shims or polishing courses to improve surface smoothness, applicable to a wide range of curved and contoured surfaces without requiring expert intervention or additional software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025178107000001_ABST
    Figure 2025178107000001_ABST
Patent Text Reader

Abstract

To provide examples of methods and computerized systems for determining local variations in a surface of a fabricated component, and a non-transitory computer-readable medium related thereto.SOLUTION: A method for determining local variations in a surface of a fabricated component includes the steps of: comparing surface scan data for the fabricated component represented in a first XYZ coordinate system to surface design data for the surface of the fabricated component; determining deviation data values for the surface based on the comparing step, the deviation data values being represented as deviation data points; selecting a first data point and neighboring data points from the deviation data points; determining an average normal vector for the first data point based on normal vectors of the first data point and the neighboring data points; defining an XY plane of a second XYZ coordinate system perpendicular to the average normal vector for the first data point; and projecting the first data point and the neighboring data points from the first XYZ coordinate system onto the XY plane of the second XYZ coordinate system.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to determining local differences in the surface of a manufactured part, and in particular to the surface of a manufactured part that must mate with an additional part during assembly. The local differences between the surface of the manufactured part and the surface design of the manufactured part can be used to generate a shim design that fills in the local differences and provides a smooth surface that properly mates with the additional part when the manufactured part, shim, and additional part are joined together during assembly. [Background technology]

[0002] Aerial filtering is an established method for separating surface features such as waviness, bumps, depressions, and roughness from the overall shape and measurement noise of surface measurements. In traditional aerial filtering, surfaces are considered either planar or cylindrical (see, for example, ISO 16610-71). For planar surfaces, the coordinate system is arranged so that surface measurements can be treated as Z = f(X,Y), and the Z values ​​are filtered. For cylindrical coordinates, the coordinate system is arranged so that R = f(θ,Z), and the R values ​​are filtered. Previous work has mapped (X,Y,Z) surfaces to the (U,V) plane, so that three-dimensional surfaces can be represented as W = f(U,V), and the W values ​​are filtered. However, a mapping function from (X,Y,Z) to (U,V) must be developed for each case. This is impractical for surfaces that do not have a CAD representation and for surfaces that are too complex for simple mapping.

[0003] Therefore, those skilled in the art continue to conduct research and development efforts to introduce new techniques to determine local variations in the surfaces of manufactured parts, especially parts that need to be mated with additional parts during assembly. Summary of the Invention [Problem to be solved by the invention]

[0004]

[0003] Examples of methods and computerized systems for determining local variations in the surface of a manufactured part, and related non-transitory computer-readable media, are disclosed. The following is a non-exhaustive list of examples of subject matter according to the present disclosure, some of which may be claimed and some of which may not. [Means for solving the problem]

[0005] In one example, a disclosed method for determining local differences on a surface of a manufactured part includes: (1) comparing surface scan data of the manufactured part expressed in a first XYZ coordinate system with surface design data of the surface of the manufactured part; (2) determining deviation data values ​​for the surface of the manufactured part based on the comparing step, the deviation data values ​​being expressed as a plurality of deviation data points; (3) selecting a first data point and neighboring data points from the plurality of deviation data points; (4) determining an average normal vector of the first data point based on normal vectors of the first data point and the neighboring data points; (5) defining an XY plane of a second XYZ coordinate system that is perpendicular to the average normal vector of the first data point; and (6) projecting the first data point and the neighboring data points from the first XYZ coordinate system onto the XY plane of the second XYZ coordinate system.

[0006] In one example, a disclosed computerized system for determining local variations in a surface of a manufactured part includes at least one computing device, at least one application program storage device, and at least one data storage device. The at least one computing device includes at least one processor, associated memory, and a network interface. The network interface is in operative communication with the at least one processor and configured to communicate with a manufactured part data repository and a design data repository over a communications network. The at least one application program storage device is in operative communication with the at least one processor and configured to store a surface analysis application program and a surface filter application program. The at least one data storage device is in operative communication with the at least one processor. The at least one processor and network interface are configured to retrieve a three-dimensional point cloud representing the surface of the manufactured part from the manufactured part data repository. The at least one processor and network interface are configured to retrieve surface design data of the manufactured part from the design data repository. The at least one processor is configured to store the three-dimensional point cloud and the surface design data in the at least one data storage device.

[0007] In one example, a disclosed non-transitory computer-readable medium includes program instructions that, when executed by at least one processor, cause at least one computing device to perform a method for determining local variations in a surface of a manufactured part. In one example, the method includes the steps of: (1) comparing surface scan data of the manufactured part expressed in a first XYZ coordinate system with surface design data for the surface of the manufactured part; (2) determining deviation data values ​​for the surface of the manufactured part based on the comparing step, the deviation data values ​​being represented as a plurality of deviation data points; (3) selecting a first data point and neighboring data points from the plurality of deviation data points; (4) determining an average normal vector of the first data point based on normal vectors of the first data point and the neighboring data points; (5) defining an XY plane of a second XYZ coordinate system that is perpendicular to the average normal vector of the first data point; and (6) projecting the first data point and the neighboring data points from the first XYZ coordinate system onto the XY plane of the second XYZ coordinate system.

[0008] Other examples of the disclosed method and computerized system for determining local variations in the surface of a manufactured part, and associated non-transitory computer-readable medium, will become apparent from the following detailed description, the accompanying drawings, and the appended claims. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a flow diagram of an example method for determining local variations in the surface of a manufactured part. [Figure 2A] FIG. 1 is a functional diagram showing a side view of an example manufactured part having local variations in its surface, and scan data reflecting the local differences. [Figure 2B] FIG. 2B is a functional diagram illustrating a side view of an example of surface design data for the manufactured part of FIG. 2A. [Figure 2C] 2B. FIG. 2C is a functional diagram showing a side view of an example of deviation data values ​​comparing the scan data of FIG. 2A with the surface design data of FIG. 2B. [Figure 2D] FIG. 2D is a functional diagram showing a rear view of an example of the deviation data values ​​of FIG. 2C. [Figure 3A] FIG. 2D is a functional diagram illustrating a side view of an example of the deviation data values ​​of FIG. 2C after selection of a first data point and a neighboring data point. [Figure 3B] FIG. 3B is a functional diagram showing a rear view of deviation data values ​​of the first data point and neighboring data points of FIG. 3A. [Figure 4] 1 , is a flow diagram of another example of a method for determining local variations in the surface of a manufactured part. [Figure 5] FIG. 2 is a flow diagram of an example of steps for comparing surface scan data to the surface design data of FIG. 1; [Figure 6] FIG. 2 is a flow diagram of an example of the steps for determining deviation data values ​​of FIG. 1. [Figure 7] FIG. 2 is a flow diagram of an example of the step of projecting the first data point and neighboring data points of FIG. 1. [Figure 8] 2 is a flow diagram of another example of the step of projecting the first data point and neighboring data points of FIG. 1. [Figure 9] 1 , is a flow diagram of yet another example of a method for determining local variations in the surface of a manufactured part. [Figure 10] 1 and 9, combined, is a flow diagram of yet another example method for determining local variations in the surface of a manufactured part. [Figure 11] 11 is a flow diagram of yet another example of a method for determining local variations in the surface of a manufactured part in combination with FIGS. 1, 9, and 10; FIG. [Figure 12] FIG. 1 is a block diagram of an example of a computerized system for determining local variations in the surface of a manufactured part. [Figure 13] FIG. 12 is a block diagram of an example of a non-transitory computer-readable medium associated with the methods of FIGS. 1 and 4-11. [Figure 14] FIG. 1 is a block diagram of an aircraft production and service methodology. [Figure 15] 1 is a schematic diagram of an aircraft. DETAILED DESCRIPTION OF THE INVENTION

[0010] Various example methods and computerized systems for determining local differences in the surface of a manufactured part are disclosed herein. Various example non-transitory computer-readable media related to the methods and computerized systems are disclosed herein. Various examples provide techniques for determining local differences. In particular, the techniques include determining local differences in the surface of a manufactured part that must mate with an additional part during assembly of the part. For example, the local differences between the surface of the manufactured part and the surface design of the manufactured part can be used to generate a shim design that fills in the local differences and provides a smooth surface that properly mates with the additional part when the manufactured part, shim, and additional part are joined together during assembly.

[0011] Aerial filtering of surface measurements (e.g., point cloud data or mesh data) is useful for separating shape from surface features such as waviness, depressions, ripples, and roughness. The techniques disclosed herein enable surface filtering of surfaces such as point cloud data (or meshes) even when the surface curvature prevents simple mapping of the data to a planar reference surface. This is done by generating a mapping at each point (rather than globally) using local average normals to establish map coordinates. The resulting filtered surface can be used to assess surface quality against engineering requirements, generate pre-machined fillers (e.g., shims) that match local waviness, or generate polishing courses (e.g., scan-and-polish) to selectively polish, grind, or machine excess material to improve surface smoothness.

[0012] Various examples disclosed herein can automatically generate a local map at each point in the surface scan data where the XY plane of the map is perpendicular to the average local normal in the point's neighborhood. This allows the filter to be used on a wider range of curved and contoured surfaces without requiring an expert or additional software to pre-generate the XY mapping function.

[0013] For example, a robust Gaussian regression filter operates independently in each neighborhood around a point. Therefore, the mapping function does not need to be identical in each neighborhood. However, the mapping function needs to vary smoothly to ensure smoothness in the filtered results. Previous studies have used a single UVW map of XYZ scan data, but this technique differs.

[0014] For example, various techniques disclosed herein calculate / estimate the normal vector at each point to be filtered. There are several ways to do this, with well-known methods available for general estimation. For each point, an average normal vector is calculated based on all points in the neighborhood. For each point, a projection of the neighboring points onto a second XYZ coordinate system is calculated, where the XY plane of the second XYZ coordinate system is perpendicular to the average normal and the origin is at the point to be filtered. For the projection, the Z value of the filtered point is calculated. The result is transformed back to the original XYZ coordinate system. This process is repeated for all points until the filter converges. Because the neighborhood has a significant overlap, the average normal varies smoothly across the point cloud, resulting in a smoothly varying XY map.

[0015] Referring generally to FIGS. 1 , 2A-2D , 3A-3B , and 4-12 , by way of example, the present disclosure relates to a method 100 for determining local differences 202 on a surface 204 of a manufactured part 200. FIG. 1 illustrates an example method 100 for determining local differences 202 on a surface 204 of a manufactured part 200. FIG. 2A provides a side view of an example manufactured part 200 having local differences 202 on its surface 204 and surface scan data 206 reflecting the local differences 202. FIG. 2B is a side view of example surface design data 208 for the manufactured part 200 of FIG. 2A . FIG. 2C is a side view illustrating example deviation data values ​​210 resulting from comparing the surface scan data 206 of FIG. 2A with the surface design data 208 of FIG. 2B . FIG. 2D is a rear view of the deviation data values ​​210 of FIG. 2C . Figure 3A provides a side view of the deviation data values ​​210 of Figure 2C after selection of a first data point 302 and neighboring data points 304. Figure 3B provides a back view of the deviation data values ​​210 of the first data point 302 and neighboring data points 304 of Figure 3A. Figure 4, in combination with Figure 1, illustrates an example of a method 400 for determining local differences 202 of a surface 204 of a manufactured part 200. Figure 5 illustrates an example of step 102 of comparing surface scan data 206 with surface design data 208 of Figure 1.

[0016] FIG. 6 illustrates an example of step 104 of determining deviation data values ​​210 of FIG. 1 . FIG. 7 provides an example of step 112 of projecting first data point 302 and neighboring data points 304 of FIG. 1 . FIG. 8 provides another example of step 112 of projecting first data point 302 and neighboring data points 304 of FIG. 1 . FIG. 9, in combination with FIG. 1 , provides an example of a method 900 for determining local differences 202 of a surface 204 of a manufactured part 200. FIG. 10, in combination with FIGS. 1 and 9 , provides an example of a method 1000 for determining local differences 202 of a surface 204 of a manufactured part 200. FIG. 11, in combination with FIGS. 1 , 9 , and 10 , provides an example of a method 1100 for determining local differences 202 of a surface 204 of a manufactured part 200. FIG. 12 illustrates an example of a computerized system 1200 for determining local differences 202 of a surface 204 of a manufactured part 200.

[0017] 1, 2A-2D, 3A-3B, and 12, in one or more examples, a method 100 (see FIG. 1) for determining local differences 202 of a surface 204 of a manufactured part 200 includes comparing 102 surface scan data 206 of the manufactured part 200, represented in a first XYZ coordinate system 1228, with surface design data 208 for the surface 204 of the manufactured part 200. At 104, deviation data values ​​210 of the surface 204 of the manufactured part 200 are determined based on the comparing. The deviation data values ​​210 are represented as a plurality of deviation data points 1230. At 106, a first data point 302 and neighboring data points 304 are selected from the plurality of deviation data points 1230. At 108, an average normal vector 1232 of the first data point 302 is determined based on the normal vectors of the first data point 302 and the neighboring data points 304. At 110, an XY plane 1234 of a second XYZ coordinate system 1244 that is perpendicular to the mean normal vector 1232 is defined for the first data point 302. At 112, the first data point 302 and the neighboring data points 304 from the first XYZ coordinate system 1228 are projected onto the XY plane 1234 of the second XYZ coordinate system 1244.

[0018] In another example of method 100, local variations 202 include small scale surface variations, small scale lateral variations, waviness deviations, undulations, low frequency surface variations, unexpected surface variations, or any other suitable type of local variations in any suitable combination. In yet another example of method 100, surface 204 of manufactured part 200 is configured to mate with an opposing surface of additional part 1226 when manufactured part 200 is joined with additional part 1226.

[0019] In yet another example of the method 100, the surface design data 208 is represented in a first XYZ coordinate system 1228. In yet another example of the method 100, the plurality of deviation data points 1230 are represented in the first XYZ coordinate system 1228. In another example of the method 100, the neighboring data points 304 are within a predetermined neighborhood associated with the first data point 302. In yet another example of the method 100, the neighboring data points 304 are within a predetermined range of the first data point 302.

[0020] In yet another example of the method 100, the normal vectors of the first data point 302 and the neighboring data points 304 are oriented perpendicular to the surface 204 of the manufactured part 200 at the first data point 302 and the neighboring data points 304. In a further example, the average normal vector 1232 at the first data point 302 is oriented in a direction based on the average of the orientations of the normal vectors of the neighboring data points 304.

[0021] In yet another example of the method 100, the normal vectors of the first data point 302 and the neighboring data points 304 are unit vectors oriented along the estimated normal vector of the 3D point cloud 1224 representing the surface 204 at the first data point 302 and the neighboring data points 304. In a further example, the average normal vector 1232 at the first data point 302 is oriented in a direction based on the average of the orientations of the unit vectors for the first data point 302 that have a length of one unit.

[0022] 1 , 2A-2D , 4 , and 12 , in one or more examples, a method 400 (see FIG. 4 ) for determining local differences 202 of a surface 204 of a manufactured part 200 includes the method 100 of FIG. 1 . The method 400 includes a step 402 of scanning the surface 204 of the manufactured part 200 to generate a three-dimensional point cloud 1224 representing the surface 204. At 404, the three-dimensional point cloud 1224 is at least temporarily stored in the manufactured part data repository 1210. At 406, the three-dimensional point cloud 1224 is retrieved from the manufactured part data repository 1210. At 408, the three-dimensional point cloud 1224 is aligned in a first XYZ coordinate system 1228 to define surface scan data 206 of the manufactured part 200. At 410, the surface scan data 206 is at least temporarily stored in a data storage device 1222. At 412, surface scan data 206, along with a determination of local differences 202 of surface 204 of manufactured part 200, is obtained from data storage device 1222. Method 400 continues from 412 to 102 in FIG.

[0023] In another example of method 400, the scanning of surface 204 is performed by a scanning device, a laser scanning device, an optical scanning device, a laser measurement system, an optical measurement system, a structured light scanner, a laser radar scanner, a light detection and ranging scanner, or any other suitable scanner in any suitable combination.

[0024] Referring again to FIGS. 1 , 2A-2D , 3A-3B , 6-8 , and 12 , in another example of method 100 (see FIG. 1 ), surface scan data 206 includes a plurality of surface scan points 1238, and surface design data 208 includes a plurality of surface design points 1240. Alternatively, surface design points 1240 can be based on a boundary representation of surface design data 208 for solid modeling and computer-aided design (CAD) applications. Boundary representation (often abbreviated as B-rep or BREP) is a method of representing a three-dimensional shape by defining the limits of its volume. A solid is represented as a collection of connected surface elements that define boundaries between interior and exterior points. If surface design data 208 includes a boundary representation, surface scan data 206 can be compared to the boundary representation. Otherwise, surface scan data 206 can be converted to a boundary representation, or surface design data 208 can be converted to surface design points 1240 for comparison.

[0025] In one example, comparing 102 the surface scan data 206 with the surface design data 208 (see FIG. 5) includes performing 502 a best-fit analysis on a plurality of surface scan points 1238 and a plurality of surface design points 1240 to define a plurality of comparable data point pairs 1242. Each of the comparable data points 1242 includes a surface scan point 1238 and a comparable surface design point 1240. In a further example, the best-fit analysis is performed using a least-squares method. In another further example, determining 104 the deviation data values ​​210 includes determining 602 (see FIG. 6) the distance between the surface scan point 1238 and the comparable surface design point 1240 for each pair of comparable data points 1242.

[0026] In yet another example of method 100, projecting 112 the first data point 302 and the neighboring data points 304 includes projecting 702 (see FIG. 7 ) the first data point 302 to an origin in an XY plane 1234. At 704, the neighboring data points 304 are projected linearly from their positions in the first XYZ coordinate system 1228 onto the XY plane 1234.

[0027] In yet another example of method 100, projecting 112 the first data point 302 and the neighboring data points 304 includes projecting 802 ( FIG. 8 ) the first data point 302 onto an origin in an XY plane 1234. At 804, the contours of the neighboring data points 304 in the first XYZ coordinate system 1228 are flattened toward the XY plane 1234 in a manner that approximately maintains the distance between the first data point 302 and the neighboring data points 304 in the XY plane 1234. At 806, the neighboring data points 304 are linearly projected toward the XY plane 1234 based on the positions resulting from the flattening.

[0028] 1 , 2A-2D , 3A-3B , 9 , and 12 , in one or more examples, a method 900 (see FIG. 9 ) for determining local differences 202 of a surface 204 of a manufactured part 200 includes the method 100 of FIG. 1. The method 900 continues from 112 to 902 of FIG. 1 , where deviation data values ​​210 of a first data point 302 and neighboring data points 304 from a first XYZ coordinate system 1228 are assigned as Z-axis values ​​of the first data point 302 and neighboring data points 304 in a second XYZ coordinate system 1244. At 904, the first data point 302 is filtered relative to the neighboring data points 304 to identify a waviness deviation data value 1245 of the first data point 302 in the first XYZ coordinate system 1228. In another example of the method 900, filtering 904 the first data points 302 is performed using a low pass filter. In yet another example of the method 900, filtering 904 the first data points 302 is performed using a robust Gaussian regression filter.

[0029] 1 , 2A-2D , 3A-3B , 9 , 10 , and 12 , in one or more examples, a method 1000 (see FIG. 10 ) for determining local differences 202 of a surface 204 of a manufactured part 200 includes method 100 of FIG. 1 and method 900 of FIG. 9 . Method 1000 continues from 904 to 1002 of FIG. 9 , where step 106 of selecting a first data point 302 and neighboring data points 304, step 108 of determining a mean normal vector 1232, step 110 of defining an XY plane 1234, step 112 of projecting the first data point 302 and neighboring data points 304, step 902 of assigning a deviation data value 210, and step 904 of filtering the first data point 302 are repeated for the next data point 302 of the plurality of deviation data points 1230 until the last data point 302 of the plurality of deviation data points 1230 is completed. One or more further iterations of the selecting step 106, determining step 108, defining step 110, projecting step 112, assigning step 902, and filtering step 904 may be performed from the first data point 302 to the last data point 302 until convergence. After the last data point 302 is completed, a plurality of waviness deviation data values ​​1245 are identified in the first XYZ coordinate system 1228. In another example of the method 1000, the plurality of waviness deviation data values ​​1245 in the first XYZ coordinate system 1228 define local differences 202 of the surface 204 of the manufactured part 200.

[0030] 1 , 2A-2D , 3A-3B , and 9-12 , in one or more examples, a method 1100 (see FIG. 11 ) for determining local differences 202 in a surface 204 of a manufactured part 200 includes method 100 of FIG. 1 , method 900 of FIG. 9 , and method 1000 of FIG. 10 . Method 1100 continues from 1002 to 1102 of FIG. 10 , where step 1102 of processing a plurality of waviness deviation data values ​​1245 in a first XYZ coordinate system 1228 is processed to generate shim design data 1248 for manufacturing a shim 1250 configured to mate with the local differences 202 in the surface 204 of the manufactured part 200 on a first side and configured to mate with an opposing surface of an additional part 1226 to which the manufactured part 200 is to be joined.

[0031] In another example of method 1100, shim 1250 is configured to be arranged between manufactured part 200 and additional part 1226 to fill a gap between manufactured part 200 and additional part 1226 when manufactured part 200, shim 1250, and additional part 1226 are joined together. In yet another example, method 1100 also includes step 1104 of at least temporarily storing shim design data 1248 in data storage device 1222. At 1106, shim design data 1248 is transmitted to design data repository 1212 for archival.

[0032] By way of example, and referring generally to FIGS. 2A-2D, 3A-3B, and 12, the present disclosure relates to a computerized system 1200 for determining local differences 202 on a surface 204 of a manufactured part 200. FIG. 2A provides a side view of an example manufactured part 200 having local differences 202 on the surface 204 and surface scan data 206 reflecting the local differences 202. FIG. 2B is a side view of example surface design data 208 for the manufactured part 200 of FIG. 2A. FIG. 2C is a side view illustrating example deviation data values ​​210 resulting from comparing the surface scan data 206 of FIG. 2A with the surface design data 208 of FIG. 2B. FIG. 2D is a rear view of the deviation data values ​​210 of FIG. 2C. FIG. 3A provides a side view of the deviation data values ​​210 of FIG. 2C after selection of a first data point 302 and a neighboring data point 304. Figure 3B provides a back view of the deviation data values ​​210 of the first data point 302 and the neighboring data points 304 of Figure 3A. Figure 12 shows an example of a computerized system 1200 for determining local differences 202 of a surface 204 of a manufactured part 200.

[0033] 2A-2D, 3A-3B, and 12, a computerized system 1200 (see FIG. 12) for determining local differences 202 of a surface 204 of a manufactured part 200 includes at least one computing device 1202, at least one application program storage device 1216, and at least one data storage device 1222. The at least one computing device 1202 includes at least one processor 1204, associated memory 1206, and a network interface 1208. The network interface 1208 is in operative communication with the at least one processor 1204 and configured to communicate with a manufactured part data repository 1210 and a design data repository 1212 via a communications network 1214. The at least one application program storage device 1216 is in operative communication with the at least one processor 1204 and is configured to store a surface analysis application program 1218 and a surface filter application program 1220. at least one data storage device 1222 in operative communication with the at least one processor 1204. The at least one processor 1204 and the network interface 1208 are configured to retrieve a three-dimensional point cloud 1224 representing a surface 204 of the manufactured part 200 from a manufactured part data repository 1210. The at least one processor 1204 and the network interface 1208 are configured to retrieve surface design data 208 of the manufactured part 200 from a design data repository 1212. The at least one processor 1204 is configured to store the three-dimensional point cloud 1224 and the surface design data 208 in the at least one data storage device 1222. The at least one computing device 1202 may also include an input device 1252 and a display device 1254.

[0034] In another example of the computerized system 1200, the local differences 202 include small scale surface differences, small scale lateral differences, waviness deviations, undulations, low frequency surface differences, unexpected surface differences, or any other suitable type of local differences, in any suitable combination.

[0035] In yet another example of the computerized system 1200, when the manufactured part 200 is joined with the additional part 1226, the surface 204 of the manufactured part 200 is configured to mate with an opposing surface of the additional part 1226.

[0036] In yet another example of the computerized system 1200 , the surface design data 208 is represented in a first XYZ coordinate system 1228 .

[0037] In yet another example of the computerized system 1200, the at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to compare surface scan data 206 of the manufactured part 200, represented in a first XYZ coordinate system 1228, with surface design data 208 of the manufactured part 200. The at least one data storage device 1222 is configured to store the first XYZ coordinate system 1228. The at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to determine a deviation data value 210 of the surface 204 of the manufactured part 200 based on comparing the surface scan data 206 with the surface design data 208. The deviation data value 210 is represented as a plurality of deviation data points 1230. The at least one data storage device 1222 is configured to store the deviation data value 210 and the plurality of deviation data points 1230. The at least one processor 1204 is configured, in cooperation with the surface analysis application program 1218, to select a first data point 302 and neighboring data points 304 from the plurality of deviation data points 1230. The at least one processor 1204 is configured, in cooperation with the surface analysis application program 1218, to determine an average normal vector 1232 for the first data point 302 based on the normal vectors of the first data point 302 and the neighboring data points 304. The at least one data storage device 1222 is configured to store the average normal vector 1232. The at least one processor 1204 is configured, in cooperation with the surface analysis application program 1218, to define an XY plane 1234 of a second XYZ coordinate system 1244 that is perpendicular to the average normal vector 1232 of the first data points 302. The at least one data storage device 1222 is configured to store the XY plane 1234. The at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to project the first data point 302 and the neighboring data point 304 from the first XYZ coordinate system 1228 onto the XY plane 1234 of the second XYZ coordinate system 1244.At least one data storage device 1222 is configured to store the first data point 302 and the neighboring data points 304 in the XY plane 1234 .

[0038] In a further example, the plurality of deviation data points 1230 are represented in a first XYZ coordinate system 1228 .

[0039] In another further example, the computerized system 1200 also includes at least one scanning device 1236 in operative communication with the manufactured part data repository 1210 and configured to scan the surface 204 of the manufactured part 200 to generate a three-dimensional point cloud 1224 representing the surface 204. The at least one scanning device 1236 is configured to at least temporarily store the three-dimensional point cloud 1224 in the manufactured part data repository 1210. The at least one processor 1204 and the at least one data storage device 1222, in cooperation with the surface analysis application program 1218, are configured to retrieve the three-dimensional point cloud 1224 from the manufactured part data repository 1210, align the three-dimensional point cloud 1224 in a first XYZ coordinate system 1228 to define surface scan data 206 of the manufactured part 200, and store the surface scan data 206 in the at least one data storage device 1222. The at least one processor 1204 is configured to acquire the surface scan data 206 from the at least one data storage device 1222 in conjunction with determining local differences 202 in the surface 204 of the manufactured part 200 .

[0040] In yet another example, the at least one scanning device 1236 includes one or more of a laser scanning device, an optical scanning device, a laser measurement system, an optical measurement system, a structured light scanner, a laser radar scanner, an optical detection and ranging scanner, or any other suitable scanner in any suitable combination.

[0041] In yet another further example, the surface scan data 206 includes a plurality of surface scan points 1238, and the surface design data 208 includes a plurality of surface design points 1240. The at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to retrieve the surface scan data 206, the plurality of surface scan points 1238, the surface design data 208, and the plurality of surface design points 1240 from the at least one data storage device 1222. The at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to compare the surface scan data 206 with the surface design data 208 by performing a best-fit analysis on the plurality of surface scan points 1238 and the plurality of surface design points 1240 to define a plurality of pairs of comparable data points 1242. Each of the comparable data points 1242 includes a surface scan point 1238 and a comparable surface design point 1240. At least one data storage device 1222 is configured to store a plurality of pairs of comparable data points 1242 .

[0042] Alternatively, the surface design points 1240 can be based on a boundary representation of the surface design data 208 for solid modeling and computer-aided design data. Boundary representation (often abbreviated as B-rep or BREP) is a method of representing a three-dimensional shape by defining the limits of its volume. A solid is represented as a collection of connected surface elements that define boundaries between interior and exterior points. If the surface design data 208 includes a boundary representation, the at least one processor 1204, in cooperation with the surface analysis application program 1218, can compare the surface scan data 206 to the boundary representation. Otherwise, the at least one processor 1204, in cooperation with the surface analysis application program 1218, can convert the surface scan data 206 to a boundary representation or convert the surface design data 208 to surface design points 1240 for comparison.

[0043] In yet a further example, the best-fit analysis is performed using a least-squares method. In another further example, the at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to determine the deviation data values ​​210 by determining, for each pair of comparable data points 1242, the distance between the surface scan points 1238 and the comparable surface design points 1240.

[0044] In yet another further example, the at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to project the first data point 302 and the neighboring data points 304 by projecting the first data point 302 onto an origin in the XY plane 1234 and projecting the neighboring data points 304 linearly from their positions in the first XYZ coordinate system 1228 toward the XY plane 1234.

[0045] In yet another further example, the at least one processor 1204, in cooperation with the surface analysis application program 1218, is configured to project the first data point 302 and the neighboring data points 304 by projecting the first data point 302 onto an origin in the XY plane 1234, flattening the contours of the neighboring data points 304 in the first XYZ coordinate system 1228 onto the XY plane 1234 so as to approximately maintain the distance between the first data point 302 and the neighboring data points 304 in the XY plane 1234, and linearly projecting the neighboring data points 304 onto the XY plane 1234 based on the positions resulting from the flattening.

[0046] In another further example, the at least one processor 1204 and the at least one data storage device 1222, in cooperation with the surface filter application program 1220, are configured to assign deviation data values ​​210 of the first data point 302 and the neighboring data points 304 from the first XYZ coordinate system 1228 as Z-axis values ​​of the first data point 302 and the neighboring data points 304 in the second XYZ coordinate system 1244. The at least one processor 1204 and the at least one data storage device 1222, in cooperation with the surface filter application program 1220, are configured to filter the first data point 302 in relation to the neighboring data points 304 to identify a waviness deviation data value 1245 of the first data point 302 in the first XYZ coordinate system 1228.

[0047] In yet another example, the surface filter application program performs filtering of the first data points using a low pass filter. In another further example, the surface filter application program performs filtering of the first data points using a robust Gaussian regression filter.

[0048] In yet another further example, the at least one processor 1204, the at least one application program storage device 1216, and the at least one data storage device 1222, in cooperation with the surface analysis application program 1218 and the surface filter application program 1220, are configured to repeat the steps of selecting a first data point 302 and neighboring data points 304, determining an average normal vector 1232, defining an XY plane 1234, projecting the first data point 302, assigning a deviation data value 210, and filtering the first data point 302 for a next data point 302 in the plurality of deviation data points 1230 until the last data point 302 in the plurality of deviation data points 1230 is completed. One or more further iterations of the selecting 106, determining 108, defining 110, projecting 112, assigning 902, and filtering 904 may be performed for the first data point 302 through the last data point 302 until convergence occurs. After the last data point 302 of the plurality of deviation data points 1230 is completed, a plurality of waviness deviation data values ​​1245 are identified in the first XYZ coordinate system 1228. The at least one data storage device 1222 is configured to store the plurality of waviness deviation data values ​​1245 in the first XYZ coordinate system 1228.

[0049] In yet a further example, a plurality of waviness deviation data values ​​1245 in a first XYZ coordinate system 1228 define local differences 202 on a surface 204 of a manufactured part 200 .

[0050] In another further example, the at least one processor 1204 is configured to process the plurality of waviness deviation data values ​​1245 in the first XYZ coordinate system 1228 in cooperation with a shim design application program 1246 to generate shim design data 1248 for manufacturing a shim 1250 configured to mate with the local difference 202 in the surface 204 of the first side manufactured part 200 and configured to mate with an opposing surface of an additional part 1226 to which the manufactured part 200 will be joined. The at least one data storage device 1222 is configured to store the shim design data 1248.

[0051] In yet a further example, shim 1250 is configured to be arranged between manufactured part 200 and additional part 1226 to fill a gap between manufactured part 200 and additional part 1226 when manufactured part 200, shim 1250, and additional part 1226 are joined together. In another further example, at least one processor 1204, in cooperation with shim design application program 1246, is configured to at least temporarily store shim design data 1248 in data storage device 1222 and transmit shim design data 1248 to design data repository 1212 for archiving.

[0052] By way of example, and referring generally to FIGS. 1 , 2A-2D , 3A-3B , and 4-13 , the present disclosure relates to a non-transitory computer-readable medium 1300 that includes program instructions that, when executed by at least one processor 1204, cause at least one computing device 1202 to perform a method 100, 400, 900, 1000, 1100 for determining local differences 202 on a surface 204 of a manufactured part 200. FIG. 1 illustrates an example of a method 100 for determining local differences 202 on a surface 204 of a manufactured part 200. FIG. 2A provides a side view of an example of a manufactured part 200 having local differences 202 on the surface 204 and surface scan data 206 reflecting the local differences 202. FIG. 2B is a side view of an example of surface design data 208 for the manufactured part 200 of FIG. 2A . FIG. 2C is a side view illustrating an example of deviation data values ​​210 resulting from comparing the surface scan data 206 of FIG. 2A with the surface design data 208 of FIG. 2B. FIG. 2D is a rear view of the deviation data values ​​210 of FIG. 2C. FIG. 3A provides a side view of the deviation data values ​​210 of FIG. 2C after selection of a first data point 302 and neighboring data points 304. FIG. 3B provides a rear view of the deviation data values ​​210 of the first data point 302 and neighboring data points 304 of FIG. 3A. FIG. 4, in combination with FIG. 1, illustrates an example of a method 400 for determining local differences 202 of a surface 204 of a manufactured part 200. FIG. 5 illustrates an example of step 102 of comparing the surface scan data 206 with the surface design data 208 of FIG. 1. FIG. 6 illustrates an example of step 104 of determining the deviation data values ​​210 of FIG. 1.

[0053] Figure 7 provides an example of step 112 of projecting the first data point 302 and the neighboring data points 304 in Figure 1. Figure 8 provides another example of step 112 of projecting the first data point 302 and the neighboring data points 304 in Figure 1. Figure 9, in combination with Figure 1, provides an example of a method 900 for determining local differences 202 of a surface 204 of a manufactured part 200. Figure 10, in combination with Figures 1 and 9, provides an example of a method 1000 for determining local differences 202 of a surface 204 of a manufactured part 200. Figure 11, in combination with Figures 1, 9, and 10, provides an example of a method 1100 for determining local differences 202 of a surface 204 of a manufactured part 200. Figure 12 illustrates an example of a computerized system 1200 for determining local differences 202 of a surface 204 of a manufactured part 200. FIG. 13 provides an example of a non-transitory computer-readable medium 1300 related to the methods 100, 400, 900, 1000, 1100 of FIGS. 1 and 4-11.

[0054] 1 , 2A-2D , 3A-3B , 12 , and 13 , in one or more examples, a non-transitory computer-readable medium 1300 is disclosed. The non-transitory computer-readable medium 1300 includes program instructions that, when executed by at least one processor 1204, cause at least one computing device 1202 to perform a method 100 (see FIG. 1 ) for determining local differences 202 of a surface 204 of a manufactured part 200. The method 100 includes a step 102 of comparing surface scan data 206 of the manufactured part 200, represented in a first XYZ coordinate system 1228, with surface design data 208 of the surface 204 of the manufactured part 200. At 104, a deviation data value 210 of the surface 204 of the manufactured part 200 is determined based on the comparing step. The deviation data value 210 is represented as a plurality of deviation data points 1230. At 106, a first data point 302 and neighboring data points 304 are selected from the plurality of deviation data points 1230. At 108, an average normal vector 1232 for the first data point 302 is determined based on the normal vectors of the first data point 302 and the neighboring data points 304. At 110, an XY plane 1234 of a second XYZ coordinate system 1244 that is perpendicular to the average normal vector 1232 is defined for the first data point 302. At 112, the first data point 302 and the neighboring data points 304 from the first XYZ coordinate system 1228 are projected onto the XY plane 1234 of the second XYZ coordinate system 1244.

[0055] 1 , 2A-2D , 4 , 12 , and 13 , in one or more examples, a non-transitory computer-readable medium 1300 includes program instructions that, when executed by at least one processor 1204, cause at least one computing device 1202 to perform a method 400 (see FIG. 4 ) for determining local differences 202 of a surface 204 of a manufactured part 200. The method 400 includes the method 100 of FIG. 1 . The method 400 includes scanning 402 the surface 204 of the manufactured part 200 to generate a three-dimensional point cloud 1224 representing the surface 204. At 404, the three-dimensional point cloud 1224 is at least temporarily stored in the manufactured part data repository 1210. At 406, the three-dimensional point cloud 1224 is retrieved from the manufactured part data repository 1210. At 408, the three-dimensional point cloud 1224 is arranged in a first XYZ coordinate system 1228 to define surface scan data 206 of the manufactured part 200. At 410, the surface scan data 206 is at least temporarily stored in a data storage device 1222. At 412, the surface scan data 206, along with a determination of local differences 202 of the surface 204 of the manufactured part 200, is retrieved from the data storage device 1222. Method 400 continues from 412 to 102 in FIG. 1 .

[0056] Referring again to FIGS. 1 , 2A-2D , 3A-3B , 6-8 , 12 , and 13 , in another example of the non-transitory computer-readable medium 1300, the surface scan data 206 includes a plurality of surface scan points 1238, and the surface design data 208 includes a plurality of surface design points 1240. Alternatively, the surface design points 1240 can be based on a boundary representation of the surface design data 208 for solid modeling and computer-aided design (CAD) applications. Boundary representation (often abbreviated as B-rep or BREP) is a method of representing a three-dimensional shape by defining the limits of its volume. A solid is represented as a collection of connected surface elements that define boundaries between interior and exterior points. If the surface design data 208 includes a boundary representation, the surface scan data 206 can be compared to the boundary representation. Otherwise, the surface scan data 206 can be converted to a boundary representation, or the surface design data 208 can be converted to surface design points 1240 for comparison.

[0057] In one example, comparing 102 the surface scan data 206 with the surface design data 208 in method 100 (see FIG. 1 ) includes performing 502 (see FIG. 5 ) a best-fit analysis on a plurality of surface scan points 1238 and a plurality of surface design points 1240 to define a plurality of pairs of comparable data points 1242. Each of the comparable data points 1242 includes a surface scan point 1238 and a comparable surface design point 1240. In a further example, the best-fit analysis is performed using a least-squares method. In another further example of method 100, determining 104 the deviation data value 210 includes determining 602 (see FIG. 6 ) the distance between the surface scan point 1238 and the comparable surface design point 1240 for each pair of comparable data points 1242.

[0058] In yet another example of method 100, projecting 112 the first data point 302 and the neighboring data points 304 includes projecting 702 (see FIG. 7 ) the first data point 302 to an origin in an XY plane 1234. At 704, the neighboring data points 304 are projected linearly from their positions in the first XYZ coordinate system 1228 onto the XY plane 1234.

[0059] In yet another example of method 100, projecting 112 the first data point 302 and the neighboring data points 304 includes projecting 802 ( FIG. 8 ) the first data point 302 onto an origin in an XY plane 1234. At 804, the contours of the neighboring data points 304 in the first XYZ coordinate system 1228 are flattened toward the XY plane 1234 in a manner that approximately maintains the distance between the first data point 302 and the neighboring data points 304 in the XY plane 1234. At 806, the neighboring data points 304 are linearly projected toward the XY plane 1234 based on the positions resulting from the flattening.

[0060] 1 , 2A-2D , 9 , 12 , and 13 , in one or more examples, a non-transitory computer-readable medium 1300 includes program instructions that, when executed by at least one processor 1204, cause at least one computing device 1202 to perform a method 900 (see FIG. 9 ) for determining local differences 202 of a surface 204 of a manufactured part 200. The method 900 includes the method 100 of FIG. 1 . The method 900 continues from 112 to 902 of FIG. 1 , where deviation data values ​​210 of a first data point 302 and neighboring data points 304 from a first XYZ coordinate system 1228 are assigned as Z-axis values ​​of the first data point 302 and neighboring data points 304 in a second XYZ coordinate system 1244. At 904, the first data point 302 is filtered relative to neighboring data points 304 to identify a waviness deviation data value 1245 for the first data point 302 in the first XYZ coordinate system 1228. In another example of the method 900, the step of filtering the first data point 302 904 is performed using a low pass filter. In yet another example of the method 900, the step of filtering the first data point 302 904 is performed using a robust Gaussian regression filter.

[0061] 1 , 2A-2D, 10, 12, and 13, in one or more examples, a non-transitory computer-readable medium 1300 includes program instructions that, when executed by at least one processor 1204, cause at least one computing device 1202 to perform a method 1000 (see FIG. 10) for determining local differences 202 of a surface 204 of a manufactured part 200. Method 1000 includes method 100 of FIG. 1 and method 900 of FIG. 9. 9 , where the steps 106 of selecting a first data point 302 and neighboring data points 304, 108 of determining an average normal vector 1232, 110 of defining an XY plane 1234, 112 of projecting the first data point 302 and neighboring data points 304, 902 of assigning a deviation data value 210, and 904 of filtering the first data point 302 are repeated for the next data point 302 of the plurality of deviation data points 1230 until the last data point 302 of the plurality of deviation data points 1230 is completed. One or more further iterations of the steps 106 of selecting, 108 of determining, 110 of defining, 112 of projecting, 902 of assigning, and 904 of filtering may be performed for the first data point 302 through the last data point 302 until convergence. After the last data point 302 is completed, a plurality of waviness deviation data values ​​1245 are identified in the first XYZ coordinate system 1228. In another example of the method 1000, the plurality of waviness deviation data values ​​1245 in the first XYZ coordinate system 1228 define local differences 202 on the surface 204 of the manufactured part 200.

[0062] 1 , 2A-2D , 11 , 12 and 13 , in one or more examples, a non-transitory computer-readable medium 1300 includes program instructions that, when executed by at least one processor 1204, cause at least one computing device 1202 to perform a method 1100 (see FIG. 11 ) for determining local differences 202 of a surface 204 of a manufactured part 200. Method 1100 includes method 100 of FIG. 1 , method 900 of FIG. 9 , and method 1000 of FIG. 10 . The method 1100 continues from 1002 to 1102 in FIG. 10 where step 1102 of processing a plurality of waviness deviation data values ​​1245 in a first XYZ coordinate system 1228 is processed to generate shim design data 1248 for manufacturing a shim 1250 configured to mate with the local difference 202 of the surface 204 of the manufactured part 200 on a first side and configured to mate with an opposing surface of an additional part 1226 to which the manufactured part 200 is to be joined.

[0063] In another example of method 1100, shim 1250 is configured to be arranged between manufactured part 200 and additional part 1226 to fill a gap between manufactured part 200 and additional part 1226 when manufactured part 200, shim 1250, and additional part 1226 are joined together. In yet another example, method 1100 also includes step 1104 of at least temporarily storing shim design data 1248 in data storage device 1222. At 1106, shim design data 1248 is transmitted to design data repository 1212 for archival.

[0064] Examples of the methods 100, 400, 900, 1000, 1100 and computerized system 1200, and associated non-transitory computer-readable medium 1300 for determining local differences 202 in a surface 204 of a manufactured part 200, may relate to or be used in the context of aircraft design and manufacturing. While an aircraft example is described, the examples and principles disclosed herein may be applied to other products in the aerospace industry and other industries, such as the automotive industry, the space industry, the construction industry, and other design and manufacturing industries. Thus, in addition to aircraft, the examples and principles disclosed herein may be applied to methods of design and manufacturing various types of vehicles, as well as the design and construction of various types of transportation structures.

[0065] The foregoing detailed description refers to the accompanying drawings, which illustrate specific examples described by the present disclosure. Other examples having different structures and operations do not depart from the scope of the present disclosure. Like reference numerals may refer to the same features, elements, or parts in different drawings. Throughout this disclosure, any of a plurality of items may be referred to individually, or multiple items may be referred to collectively and with like reference numerals. Furthermore, as used herein, a feature, element, part, or step preceded by the word "a" or "an" should be understood as not excluding multiple features, elements, parts, or steps, unless expressly stated not to exclude such.

[0066] Illustrative, non-exhaustive examples of the subject matter according to the present disclosure are provided above, although not necessarily claimed. Reference herein to an "example" means that one or more features, structures, elements, components, properties, and / or operational steps described in connection with the example are included in at least one aspect, embodiment, and / or implementation of the subject matter according to the present disclosure. Thus, throughout this disclosure, the phrases "one example," "another example," "one or more examples," and similar language can, but do not necessarily, refer to the same example. Furthermore, subject matter characterizing any one example can, but does not necessarily, include subject matter characterizing any other example. Also, subject matter characterizing any one example can, but does not necessarily, be combined with subject matter characterizing any other example.

[0067] As used herein, a system, apparatus, control system, device, computing device, processor, structure, article, element, part, or hardware that is "configured to" perform a particular function is actually able to perform the particular function without any modification, rather than merely having the potential to perform the particular function after further modification. In other words, a system, apparatus, device, control system, computing device, processor, structure, article, element, part, or hardware that is "configured to" perform a particular function is specifically selected, created, implemented, utilized, programmed, and / or designed for the purpose of performing the particular function. As used herein, "configured" refers to existing characteristics of a system, apparatus, control system, device, computing device, processor, structure, article, element, part, or hardware that enable the system, apparatus, control system, device, computing device, processor, structure, article, element, part, or hardware to perform a particular function without further modification. For purposes of this disclosure, a system, apparatus, device, control system, device, computing device, processor, structure, article, element, component, or hardware described as being "configured to" perform a particular function may additionally or alternatively be described as being "adapted to" and / or "operating to" perform that function.

[0068] Unless otherwise specified, terms such as "first," "second," "third," etc. are used herein merely as labels, and are not intended to impose any order, position, or hierarchy on the items to which they refer. Further, a reference to, for example, a "second" item does not require or exclude the presence of, for example, a "first" or lower-numbered item, and / or, for example, a "third" or higher-numbered item.

[0069] As used herein, the phrase "at least one of," when used in conjunction with a list of items, means that various combinations of one or more of the listed items may be used, and that only one of each item in the list may be required. For example, "at least one of item A, item B, and item C" may include, but is not limited to, item A, or item A and item B. This example may also include item A, item B, and item C, or item B and item C. In other examples, "at least one of" may be, for example, but is not limited to, two of item A, one of item B, and ten of item C, or four of item B and seven of item C, or other suitable combinations. As used herein, the term "and / or" and the " / " symbol include any and all combinations of one or more of the associated listed items.

[0070] As used herein, the terms "coupled," "coupling," and similar terms refer to two or more elements that are joined, coupled, secured, attached, connected, in communication, or otherwise associated (e.g., mechanically, electrically, fluidly, optically, electromagnetically) with one another. In various examples, the elements may be directly or indirectly associated. As one example, element A may be directly associated with element B. As another example, element A may be indirectly associated with element B, e.g., through another element C. It will be understood that not all relationships between the various disclosed elements are necessarily represented. Thus, other couplings than those shown may exist.

[0071] As used herein, the term "approximately" refers to or describes conditions that are close to, but not exactly, the described conditions that still perform a desired function or achieve a desired result. As an example, the term "approximately" refers to conditions that are within an acceptable predetermined tolerance or precision, such as conditions within 10% of the described conditions. However, the term "approximately" does not exclude conditions that are exactly the described conditions. As used herein, the term "substantially" refers to conditions that are essentially the described conditions that perform a desired function or achieve a desired result.

[0072] In the above-referenced FIGS. 1 and 4-11, blocks may represent operations, steps, and / or portions thereof, and lines connecting various blocks do not imply a particular order or dependency of the operations or portions thereof. It will be understood that not all dependencies between various disclosed operations are necessarily depicted. FIGS. 1 and 4-11 and the accompanying disclosure describing the operations of the methods described herein should not be construed as necessarily dictating the order in which operations are performed. Rather, while one exemplary order is shown, it should be understood that the sequence of operations may be modified where appropriate. Accordingly, modifications, additions, and / or omissions may be made to the illustrated operations, and certain operations may be performed in a different order or simultaneously. Additionally, those skilled in the art will understand that not all described operations necessarily need to be performed.

[0073] The above-described FIGS. 2A-2D, 3A-3B, 12, and 13 may depict functional elements, features, or components thereof and do not necessarily imply a specific structure. Accordingly, modifications, additions, and / or omissions may be made to the illustrated structures. Additionally, those skilled in the art will understand that not all elements, features, and / or components described and illustrated in the above-described FIGS. 2A-2D, 3A-3B, 12, and 13 need be included in every example, and not all elements, features, and / or components described herein are necessarily shown in each illustrative example. Accordingly, some of the elements, features, and / or components described and illustrated in FIGS. 2A-2D, 3A-3B, 12, and 13 may be combined in various ways without necessarily including other features described and illustrated in FIGS. 2A-2D, 3A-3B, 12, and 13 and / or the accompanying disclosure, even if such combination or combinations are not explicitly set forth herein. Similarly, additional features not limited to the examples shown may be combined with any or all of the features shown and described herein. Unless otherwise specified, the schematic diagrams of the examples shown in FIGS. 2A-2D, 3A-3B, 12, and 13 above do not imply structural limitations on the illustrative examples. Rather, one exemplary structure is shown, but it should be understood that the structure may be modified where appropriate. Accordingly, modifications, additions, and / or omissions may be made to the illustrated structure. Furthermore, elements, features, and / or parts that serve similar, or at least substantially similar, purposes are labeled with similar numbers in each of FIGS. 2A-2D, 3A-3B, 12, and 13, and such elements, features, and / or parts may not be described in detail herein with reference to each of FIGS. 2A-2D, 3A-3B, 12, and 13. Similarly, not all elements, features, and / or components are labeled in each of Figures 2A-2D, 3A-3B, 12, and 13, and reference numerals associated therewith may be used herein for consistency.

[0074] Furthermore, references to features, advantages, or similar language throughout this specification do not imply that all features and advantages that may be realized in the examples disclosed herein should be or are in any single example. Rather, language referring to features and advantages is understood to mean that the particular feature, advantage, or characteristic described in connection with an example is included in at least one example. Thus, descriptions of features, advantages, and similar language used throughout this disclosure may, but do not necessarily, refer to the same example.

[0075] Examples of the subject matter disclosed herein may be described in the context of an aircraft manufacturing and service service method 1400 shown in FIG. 14 and an aircraft 1500 shown in FIG. 15 . In one or more examples, the disclosed method for determining local variations 202 on a surface 204 of a manufactured part 200 may be used in aircraft manufacturing. During pre-production, the service service method 1400 may include specification and design (block 1402) and material procurement (block 1404) of the aircraft 1500. During production, component and subassembly manufacturing (block 1406) and system integration (block 1408) of the aircraft 1500 may occur. The aircraft 1500 may then undergo certification and delivery (block 1410) and be placed into service (block 1412). While in service, the aircraft 1500 may be scheduled for routine maintenance and service service (block 1414). Routine maintenance and service service may include modification, reconfiguration, refurbishment, etc. of one or more systems of the aircraft 1500.

[0076] Each process of maintenance method 1400 may be performed or carried out by a system integrator, a third party, and / or an operator (e.g., a customer). For purposes of this description, a system integrator may include, but is not limited to, any number of aircraft manufacturers and major system subcontractors, a third party may include, but is not limited to, any number of vendors, subcontractors, and suppliers, and an operator may be an airline, a leasing company, a military agency, a flight service organization, etc.

[0077] As shown in FIG. 15 , aircraft 1500 produced by service method 1400 may include an airframe 1502 having multiple high-level systems 1504 and an interior 1506. Examples of high-level systems 1504 include one or more of a propulsion system 1508, an electrical system 1510, a hydraulic system 1512, and an environmental system 1514. Any number of other systems may be included. While an aerospace example is illustrated, the principles disclosed herein may be applied to other industries, such as the automotive industry. Thus, in addition to aircraft 1500, the principles disclosed herein may be applied to other vehicles, such as land vehicles, maritime vehicles, space vehicles, etc.

[0078] The disclosed methods for determining local differences 202 on surface 204 of manufactured part 200 may be used during any one or more stages of manufacturing and service method 1400. For example, parts or subassemblies corresponding to part and subassembly manufacturing (block 1406) may be fabricated or manufactured in a manner similar to parts or subassemblies produced while aircraft 1500 is in service (block 1412). Also, one or more example toolsets, systems, methods, or any combination thereof may be utilized during the production stage (blocks 1406 and 1408), for example, by substantially expediting or reducing the cost of assembling aircraft 1500. Similarly, one or more example toolsets, systems, or method implementations, or combinations thereof may be utilized, for example, without limitation, while aircraft 1500 is in service (block 1412) and / or during maintenance and service (block 1414).

[0079] The described features, advantages, and characteristics of one example may be combined in any suitable manner in one or more other examples. Those skilled in the art will recognize that the examples described herein may be practiced without one or more of the specific features or advantages of a particular example. In other examples, additional features and advantages may be recognized in a particular example that may not be present in all examples. Furthermore, while various examples of the methods 100, 400, 900, 1000, 1100 and computerized system 1200 for determining local differences 202 on a surface 204 of a manufactured part 200, and the associated non-transitory computer-readable medium 1300, have been shown and described, modifications may occur to those skilled in the art upon reading this specification. The present application includes such modifications and is limited only by the scope of the claims. [Explanation of symbols]

[0080] 100 ways 200 manufactured parts 202 Local Differences 204 Surface 206 surface scan data 208 Surface Design Data 210 deviation data value 302 First Data Point 304 nearby data points 400 ways 900 ways 1000 ways 1100 methods 1200 Computerized Systems 1202 Computing Devices 1204 processor 1206 memory 1208 Network Interface 1210 Manufactured Parts Data Repository 1212 Design Data Repository 1214 Communication Network 1216 Application program storage device 1218 Surface Analysis Application Program 1220 Surface Filter Application Program 1222 Data Storage Device 1224 3D point cloud 1226 Additional Parts 1228 First XYZ coordinate system 1230 deviation data points 1232 Average normal vector 1234 XY plane 1236 Scanning Device 1238 surface scan points 1240 Surface design points 1242 comparable data points, comparable data point pairs 1244 Second XYZ coordinate system 1245 Waviness deviation data value 1246 Shim Design Application Program 1248 Shim design data 1250 shim 1252 input devices 1254 display device 1300 Non-Transitory Computer-Readable Medium 1400 Maintenance and inspection methods 1402 Specifications and Design 1404 Material Procurement 1406 Manufacturing of parts and subassemblies 1408 System Integration 1410 Authentication and Delivery Launched in 1412 1414 Maintenance and Inspection 1500 aircraft 1502 aircraft 1504 High Level Systems 1506 Internal 1508 Propulsion System 1510 Electrical System 1512 Hydraulic System 1514 Environmental Systems

Claims

1. A method (100) for determining local variations (202) on a surface (204) of a manufactured part (200), comprising: comparing (102) surface scan data (206) of the manufactured part (200) expressed in a first XYZ coordinate system (1228) with surface design data (208) of the surface (204) of the manufactured part (200); determining (104) deviation data values ​​(210) for the surface (204) of the manufactured part (200) based on the comparing step, the deviation data values ​​(210) being represented as a plurality of deviation data points (1230); selecting (106) a first data point (302) and a neighboring data point (304) from the plurality of deviation data points (1230); determining (108) an average normal vector (1232) of the first data point (302) based on the normal vectors of the first data point (302) and the neighboring data points (304); defining (110) an XY plane (1234) of a second XYZ coordinate system (1244) perpendicular to the average normal vector (1232) of the first data points (302); projecting (112) the first data point (302) and the neighboring data point (304) from the first XYZ coordinate system (1228) onto an XY plane (1234) of the second XYZ coordinate system (1244); A method comprising:

2. 10. The method of claim 1, wherein the surface (204) of the manufactured part (200) is configured to mate with an opposing surface of an additional part (1226) when the manufactured part (200) is joined with the additional part (1226).

3. The method of claim 1 , wherein the surface design data (208) is expressed in the first XYZ coordinate system (1228).

4. The method of claim 1 , wherein the plurality of deviation data points (1230) are represented in the first XYZ coordinate system (1228).

5. The method of claim 1 , wherein the neighboring data points (304) are within a predetermined neighborhood associated with the first data point (302).

6. The method of claim 1 , wherein the neighboring data points are within a predetermined range of the first data point.

7. 2. The method of claim 1, wherein the normal vectors of the first data point (302) and the neighboring data points (304) are oriented perpendicular to the surface (204) of the manufactured part (200) at the first data point (302) and the neighboring data points (304).

8. 2. The method of claim 1, wherein the normal vectors of the first data point (302) and the neighboring data points (304) are unit vectors oriented along estimated normal vectors of a three-dimensional point cloud (1224) representing the surface (204) at the first data point (302) and the neighboring data points (304).

9. scanning (402) the surface (204) of the manufactured part (200) to generate a three-dimensional point cloud (1224) representing the surface (204); at least temporarily storing (404) the 3D point cloud (1224) in a manufactured parts data repository (1210); obtaining (406) the 3D point cloud (1224) from the manufactured part data repository (1210); arranging (408) the three-dimensional point cloud (1224) in the first XYZ coordinate system (1228) to define the surface scan data (206) of the manufactured part (200); at least temporarily storing (410) the surface scan data (206) in a data storage device (1222); In conjunction with the step of determining the local differences (202) of the surface (204) of the manufactured part (200), obtaining (412) the surface scan data (206) from the data storage device (1222); 10. The method (400) of claim 1, further comprising:

10. The surface scan data (206) includes a plurality of surface scan points (1238), and the surface design data (208) includes a plurality of surface design points (1240), and the step of comparing (102) the surface scan data (206) with the surface design data (208) includes: performing (502) a best-fit analysis on the plurality of surface scan points (1238) and the plurality of surface design points (1240) to define a plurality of pairs of comparable data points (1242), each comparable data point (1242) including a surface scan point (1238) and a comparable surface design point (1240); 2. The method of claim 1, comprising:

11. The step of projecting (112) the first data point (302) and the neighboring data points (304) comprises: projecting (702) the first data point (302) onto an origin in the XY plane (1234); projecting (704) the neighboring data points (304) linearly from their positions in the first XYZ coordinate system (1228) onto the XY plane (1234); 2. The method of claim 1, comprising:

12. The step of projecting (112) the first data point (302) and the neighboring data points (304) comprises: projecting (802) the first data point (302) onto an origin in the XY plane (1234); flattening (804) the contours of the neighboring data points (304) in the first XYZ coordinate system (1228) toward the XY plane (1234) so ​​as to approximately maintain the distance between the first data point (302) and the neighboring data points (304) in the XY plane (1234); linearly projecting (806) the neighboring data points (304) onto the XY plane (1234) based on the resulting positions of the flattening step; 2. The method of claim 1, comprising:

13. assigning (902) the deviation data values ​​(210) of the first data point (302) and the neighboring data points (304) from the first XYZ coordinate system (1228) as Z-axis values ​​of the first data point (302) and the neighboring data points (304) in the second XYZ coordinate system (1244); filtering (904) the first data point (302) against the neighboring data points (304) to identify a waviness deviation data value (1245) for the first data point (302) in the first XYZ coordinate system (1228); 10. The method (900) of claim 1, further comprising:

14. The method of claim 13, wherein the filtering (904) of the first data points (302) is performed using a low-pass filter.

15. repeating (1002) the steps of selecting (106) the first data point (302) and the neighboring data points (304), determining (108) the average normal vector (1232), defining (110) the XY plane (1234), projecting (112) the first data point (302) and the neighboring data points (304), assigning (902) the deviation data value (210), and filtering (904) the first data point (302) for a next data point (302) in the plurality of deviation data points (1230) until a last data point (302) in the plurality of deviation data points (1230) is completed, wherein after the last data point (302) is completed, a plurality of waviness deviation data values ​​(1245) are identified in the first XYZ coordinate system (1228).

14. The method (1000) of claim 13, further comprising:

16. 16. The method of claim 15, wherein the plurality of waviness deviation data values ​​(1245) in the first XYZ coordinate system (1228) define the local differences (202) in the surface (204) of the manufactured part (200).

17. processing (1102) the plurality of waviness deviation data values ​​(1245) in the first XYZ coordinate system (1228) to generate shim design data (1248) for manufacturing a shim (1250) that fits with the local differences in the surface (204) of the manufactured part (200) on a first side and fits with an opposing surface of an additional part (1226) to which the manufactured part (200) is to be joined; 16. The method (1100) of claim 15, further comprising:

18. at least temporarily storing (1104) the shim design data (1248) in a data storage device (1222); sending (1106) the shim design data (1248) to a design data repository (1212) for storage; 18. The method of claim 17, further comprising:

19. 1. A computerized system (1200) for determining local variations (202) on a surface (204) of a manufactured part (200), comprising: At least one computing device (1202), at least one processor (1204) and associated memory (1206); a network interface (1208) in operative communication with the at least one processor (1204) and in communication with a manufactured part data repository (1210) and a design data repository (1212) via a communication network (1214); at least one computing device comprising: at least one application program storage device (1216) in operative communication with the at least one processor (1204) and storing a surface analysis application program (1218) and a surface filter application program (1220); at least one data storage device (1222) in operative communication with said at least one processor (1204); Equipped with the at least one processor (1204) and the network interface (1208) are configured to retrieve a three-dimensional point cloud (1224) representing the surface (204) of the manufactured part (200) from the manufactured part data repository (1210), and the at least one processor (1204) and the network interface (1208) are configured to retrieve surface design data (208) of the manufactured part (200) from the design data repository (1212); The computerized system, wherein the at least one processor (1204) is configured to store the three-dimensional point cloud (1224) and the surface design data (208) in the at least one data storage device (1222).

20. A non-transitory computer-readable medium (1300) comprising program instructions that, when executed by at least one processor (1204), cause at least one computing device (1202) to perform a method (100) for determining local variations (202) on a surface (204) of a manufactured part (200), the method comprising: comparing (102) surface scan data (206) of the manufactured part (200) expressed in a first XYZ coordinate system (1228) with surface design data (208) of the manufactured part (200); determining (104) deviation data values ​​(210) for the surface (204) of the manufactured part (200) based on the comparing step, the deviation data values ​​(210) being represented as a plurality of deviation data points (1230); selecting (106) a first data point (302) and a neighboring data point (304) from the plurality of deviation data points (1230); determining (108) an average normal vector (1232) of the first data point (302) based on the normal vectors of the first data point (302) and the neighboring data points (304); defining (110) an XY plane (1234) of a second XYZ coordinate system (1244) perpendicular to the average normal vector (1232) of the first data points (302); projecting (112) the first data point (302) and the neighboring data point (304) from the first XYZ coordinate system (1228) onto the XY plane (1234) of the second XYZ coordinate system (1244); 1. A non-transitory computer-readable medium comprising: