Gap detection for 3D models
The system automatically detects and corrects gaps in 3D models of assemblies by analyzing proximity and implementing corrections, addressing the challenge of visual inspection limitations and ensuring safe manufacturing.
Patent Information
- Application Number
- JP2019153337
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-09-07
- Filing Date
- 2019-08-26
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2039-08-26
AI Technical Summary
Unintended gaps between structural components in assemblies, such as aircraft, are difficult to detect through visual inspection, leading to costly and potentially unsafe manufacturing defects.
A system for analyzing 3D models of assemblies to automatically identify and correct unacceptable gaps using a visualization application, proximity analysis, and data analysis to implement corrections, such as shim placement or model repositioning, ensuring all gaps meet acceptable thresholds before manufacturing.
Enables efficient detection and correction of gaps before assembly, reducing manufacturing costs and ensuring safety by preventing cracks and unsafe conditions.
Smart Images

Figure 0007611644000001 
Figure 0007611644000002 
Figure 0007611644000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to manufacturing assemblies, and more particularly, to gap detection for three-dimensional (3D) models of assemblies to correct unacceptable gaps prior to design release and manufacturing of the assembly. [Background technology]
[0002] Unintentional gaps between structural components or parts of an assembly, such as an aircraft, require the manufacture and installation of expensive custom shims or fillers to correct these unintentional gaps. Unintentional gaps can be one of the most costly types of defects for an aircraft. Excessive stresses on deformed aircraft parts due to unintentional gaps can result in cracks and unsafe flight conditions.
[0003] One solution to detect unintended gaps is to visually inspect an area of an assembly using a digital pre-assembly environment, such as a fly-through, to find unintentional or unintended gaps between structural components of the assembly. However, an assembly, such as an aircraft, has many parts (e.g., millions of parts), which may have small gaps between each other. Therefore, finding all unintentional or unintended gaps through visual inspection may be impractical. Also, visual inspection is time consuming. Furthermore, some gaps may not be found through visual inspection until the assembly is manufactured. Some gaps may never be found through visual inspection, which may result in significant safety issues for aircraft and other structural products.
[0004] It would therefore be desirable to have a system and method for automatic gap detection that takes into account at least some of the above issues, as well as possible other issues. Summary of the Invention
[0005] Exemplary embodiments of the present disclosure are directed to gap detection for 3D models of assemblies to correct unacceptable gaps. Exemplary embodiments can automatically analyze all parts of an assembly, such as an aircraft, to find all parts that contain unacceptable gaps between parts or are too far apart from each other. Exemplary embodiments can report the unacceptable gaps to a designer to correct the unacceptable gaps. That is, exemplary embodiments can find and correct unacceptable gaps before the design release and manufacturing of the assembly, thereby saving the cost of repairing this problem after the design release and manufacturing of the assembly. Exemplary embodiments can also facilitate certification of an aircraft when there are no or fewer unacceptable gaps.
[0006] Accordingly, this disclosure includes, but is not limited to, the following exemplary embodiments.
[0007] One exemplary embodiment provides a system for analyzing gaps between printed parts of an assembly to be manufactured, comprising a visualization application configured to generate a three-dimensional (3D) visualization environment of a three-dimensional (3D) model of a plurality of parts in the assembly, the 3D model being relatively positioned as well as the plurality of parts in the assembly. a proximity analysis application configured to perform an analysis on the 3D models that are in proximity to one another within a given range of proximity to one another to determine gaps between them, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold; and a data analysis application configured to generate instructions enabling, for the unacceptable gap, a first selection to select one shim model from a plurality of shim models of various sizes to be located within the unacceptable gap or a second selection to adjust a repositioning of one 3D model relative to another 3D model to reduce the gap distance of the unacceptable gap, wherein the data analysis application is further configured in response to the instructions to automatically perform the first selection or the second selection to correct the unacceptable gap, perform further analysis to determine whether the corrected unacceptable gap has a gap that exceeds the acceptable gap threshold, and generate an output of the 3D model of the assembly to which the 3D models of the relatively positioned parts have been added and to which the unacceptable gaps have been corrected for use in connection with manufacturing the assembly.
[0008] In an exemplary embodiment of the system of any of the exemplary embodiments above, or any combination of the exemplary embodiments above, the system further includes a processor and a memory storing a visualization application that, when executed by the processor, causes the system to generate a 3D visualization environment of the 3D model of the plurality of parts.
[0009] In an exemplary embodiment of the system of any of the exemplary embodiments above, or any combination of the exemplary embodiments above, the 3D model of the multiple parts includes polygonal models of the multiple parts, and the proximity analysis application being configured to perform the analysis includes at least: defining, for the polygonal models, a set of padded voxels that surround a triangular polygon mesh and are used to determine a reduced candidate set of polygonal models for gap analysis; and determining a minimum distance between each pair of the reduced candidate set of polygonal models using a minimum distance between triangles algorithm between the pairs.
[0010] In an exemplary embodiment of the system of any of the exemplary examples above, or any combination of the exemplary examples above, the narrowed-down candidate set of polygonal models includes polygonal models of only parts that have physical or functional interfaces between the parts.
[0011] In an example embodiment of the system of any of the example examples above, or any combination of the example examples above, the proximity analysis application being configured to perform the analysis includes being configured to perform the analysis to determine gaps including an acceptable gap between two of the 3D models having a gap distance that exceeds an acceptable gap threshold and one of the intervening 3D models disposed therebetween.
[0012] In an example embodiment of the system of any of the example examples above, or any combination of the example examples above, the data analytics application being configured to generate instructions for the unacceptable gaps includes being configured to generate a respective instruction for each of the unacceptable gaps, and the data analytics application being further configured to automatically perform the first selection or the second selection in response to the instructions further includes being further configured to, in response to each instruction, automatically perform the first selection or the second selection to correct all of the unacceptable gaps, and publish a 3D model of the assembly with all of the unacceptable gaps corrected for manufacturing the assembly.
[0013] In an exemplary embodiment of the system of any of the exemplary examples above, or any combination of the exemplary examples above, the data analytics application is further configured to generate, for another unacceptable gap, an indication that neither the first selection nor the second selection is acceptable for correcting the another unacceptable gap, and in response to the indication, the data analytics application is further configured to generate another indication that manufacturing of the assembly is pending.
[0014] One exemplary embodiment is a method for performing an analysis of gaps between printed parts of an assembly to be manufactured, the method comprising: generating a three-dimensional (3D) visualization environment of a plurality of parts in the assembly, the 3D models being positioned relative to one another as well as the plurality of parts in the assembly; performing an analysis on those of the 3D models that are in close proximity to one another within a given range of proximity to determine gaps between them, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold; and for the unacceptable gaps, selecting one shim model from a plurality of shim models of various sizes to be placed in the unacceptable gap. generating instructions enabling a first selection or a second selection of adjusting a repositioning of one 3D model relative to another 3D model to reduce a gap distance of an unacceptable gap; and in response to the instructions, automatically implementing the first selection or the second selection to correct the unacceptable gap, performing further analysis to determine whether the corrected unacceptable gap has a gap that exceeds an acceptable gap threshold; and generating an output of the 3D model of the assembly to which the 3D models of the relative positioned parts have been added and to which the unacceptable gap has been corrected for use in connection with manufacturing the assembly.
[0015] An exemplary embodiment provides a computer readable storage medium for analyzing gaps between shaped parts of an assembly to be manufactured, the computer readable storage medium being non-transitory and having computer readable program code stored therein that, upon execution by a processor, causes an apparatus to at least perform the method of any of the exemplary embodiments above, or any combination thereof.
[0016] The above and other features, aspects, and advantages of the present disclosure will become apparent by reference to the following detailed description, taken in conjunction with the accompanying drawings, which are briefly described below. The present disclosure includes any combination of two, three, four, or more features or elements set forth in the present disclosure in a particular exemplary embodiment described herein, whether such features or elements are expressly combined or otherwise listed in a particular exemplary embodiment described in the present disclosure. The disclosure is intended to be read collectively such that any separable features or elements of the present disclosure, in any of its aspects and exemplary embodiments, are deemed combinable unless otherwise specified in the context of the disclosure.
[0017] It will therefore be appreciated that this Summary is provided solely for the purpose of summarizing some exemplary implementations in order to provide a basic understanding of some aspects of the present disclosure. It should therefore be understood that the above exemplary embodiments are merely examples and should not be construed in any way as narrowing the scope or nature of the present disclosure. Other exemplary embodiments, aspects and advantages will become apparent from the following detailed description taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of some exemplary embodiments described.
[0018] Having thus described in general terms example embodiments of the present disclosure, reference is now made to the accompanying drawings, which are not necessarily drawn to scale. [Brief description of the drawings]
[0019] [Figure 1] 1 illustrates a system for performing an analysis of gaps between shaped parts of an assembly to be manufactured, according to an exemplary embodiment of the present disclosure. [Diagram 2] 1 illustrates possible states of a gap analysis, according to various exemplary embodiments. [Diagram 3]1 illustrates a method for determining and correcting unacceptable gaps in accordance with an illustrative embodiment. [Figure 4] 1 illustrates a method for determining and correcting unacceptable gaps according to another illustrative embodiment. [Diagram 5] 4 illustrates a detected gap in accordance with various exemplary embodiments. [Figure 6] 1 illustrates an output of a gap analysis, according to various illustrative embodiments. [Figure 7] FIG. 1 is a flow diagram illustrating various steps in a method for performing an analysis of gaps between shaped parts of an assembly to be manufactured, according to various illustrative embodiments. [Figure 8] 1 illustrates an apparatus in accordance with some illustrative embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] Some embodiments of the present disclosure are described in more detail below with reference to the accompanying drawings. Some, but not all, of the embodiments of the present disclosure are shown in the accompanying drawings. Indeed, various embodiments of the present disclosure may be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be comprehensive and complete, and will fully convey the scope of the disclosure to those skilled in the art. For example, unless otherwise specified, a reference to something being a "first", "second", etc. should not be construed as indicating a particular order. Also, something that may be described as being above something else (unless otherwise specified) may instead be below, and vice versa. Similarly, something that may be described as being to the left of something else may instead be to the right, and vice versa. Like reference numbers refer to like elements throughout.
[0021] Exemplary embodiments of the present disclosure are directed generally to gap detection for 3D models of assemblies, and specifically to gap detection for 3D models of assemblies to correct unacceptable gaps. Although the system is described primarily in the context of an assembly of component parts of an aircraft, it should be understood that the system is equally applicable to the assembly of component parts of any type of vehicle, such as any of a number of different types of manned or unmanned ground vehicles, aircraft, spacecraft, watercraft, etc. In other examples, the assembly may be an assembly of component parts of other types of structural products. For example, the assembly may be a building such as a power plant, an infrastructure item such as a bridge, an electromechanical structure such as a wind turbine, or a small item with a complex assembly such as a computer. The system may also be used in the biomedical field and oil exploration.
[0022] 1 illustrates a system 100 for engineering analysis of a construction product in accordance with an example embodiment of the present disclosure. In one example, the system may be implemented by a device that includes a processor and a memory storing executable instructions, as shown in more detail in connection with FIG.
[0023] As shown, system 100 includes any of a number of different subsystems (each a separate system) for performing one or more functions or operations. As shown, in some embodiments, the system includes one or more of each of a visualization application 101, a proximity analysis application 102, a data analysis application 103, and a display device 104. The subsystems may be co-located or directly coupled to one another, or in some embodiments, various ones of the subsystems may communicate with one another via one or more computer networks. Additionally, while the visualization application, the proximity analysis application, the data analysis application, or the display device are shown as part of the system, it should be understood that they may function or serve as separate systems without association with any of the other subsystems. It should also be understood that the system may include one or more additional or alternative subsystems beyond those shown in FIG. 1.
[0024] In one embodiment, the visualization application 101 is configured to generate a 3D visualization environment of a 3D model of a plurality of parts in an assembly. The 3D model is relative to the plurality of parts in the assembly. In one embodiment, the system 100 may be implemented by a device including a processor and a memory that stores the visualization application. The visualization application, when executed by the processor, causes the system to generate a 3D visualization environment of the 3D model of the plurality of parts. The 3D model may be a computer-aided design (CAD) model.
[0025] The detection of gaps between the printed parts of the assembly may be performed by the proximity analysis application 102. In an embodiment, the proximity analysis application is configured to perform an analysis of these 3D models that are within a given proximity range to determine the gaps between them. The gaps include any unacceptable gaps where the gap distance exceeds an acceptable gap threshold. In an embodiment, the gaps also include acceptable gaps between two of the 3D models that have a gap distance that exceeds the acceptable gap threshold. In these embodiments, the acceptable gaps may be interposed by one of the 3D models that is located within the acceptable gap.
[0026] The gap detection may be performed on a subset of the 3D models of the multiple parts. In some embodiments, the 3D models of the multiple parts include polygonal models of the multiple parts. The proximity analysis application 102 is configured to define, at least for the polygonal models, a set of padded voxels that surround a triangular polygon mesh and are used to determine a narrowed set of candidates of polygonal models for gap analysis. A voxel may be a volumetric element that represents a value on a structured grid in a three-dimensional space. A padded voxel may be a voxel element that is added to the edge of the space. The proximity analysis application is configured to determine a minimum distance between each pair of the set of narrowed candidates of polygonal models using an algorithm that calculates a minimum distance between triangles between the pair. The minimum distance between triangles may be a minimum distance between triangles on the mesh. In these embodiments, the narrowed set of candidates of polygonal models includes polygonal models of only the multiple parts that have a physical or functional interface between the parts.
[0027] To determine the minimum distance between each pair of narrowed-down candidates for polygon models, the proximity analysis application 102 may need to perform several calculations.
[0028] In one embodiment, a general query can be performed on the metadata of the CAD model to generate two sets of models (A, B) for gap analysis based on predefined criteria. An acceptable gap tolerance distance can be selected, and a proximity threshold can be selected for checking the CAD model. The proximity threshold can be used to filter out models that would not normally need to be checked to reduce computation. In one embodiment, the proximity distance can be selected using a software tool such as Voxmap Pointshell (VPS), which uses volume elements (voxels) to solve spatial geometry problems.
[0029] In one embodiment, the proximity analysis application 102 can iterate through the two sets of models to check whether a padded spatial bounding box of a model in set A intersects with a padded spatial bounding box of a model in set B. This can generate an initial list of candidate model pairs for gap analysis. The proximity analysis application can iterate through the solids of the candidate models in both sets to check whether a solid of a model in set A intersects with a padded spatial bounding box of a solid of a model in set B. This can generate an initial list of solid pairs for gap analysis.
[0030] The proximity analysis application 102 can then iterate through the candidate solid pairs to generate padded spaces surrounding the voxels for each individual solid. For each pair, the proximity analysis application can iterate through the set of candidate solid pair candidates to check whether a solid in set A intersects with a voxel of a solid in set B. This can generate a refined list of candidate model pairs for final gap analysis.
[0031] The proximity analysis application 102 can iterate through each of the candidate pairs and calculate the distance between the spatial bounding boxes of the individual triangles of the solid bodies. If this distance is within the desired proximity distance, the minimum distance between the two triangles is calculated. If this distance is greater than the acceptable gap tolerance value and less than the proximity distance, a flag is generated indicating that these solid body pairs have an unacceptable gap.
[0032] In one embodiment, to address the detected gap, the data analysis application 103 is configured to generate instructions that allow for an unacceptable gap a first selection of selecting one shim model from a plurality of shim models of various sizes to be placed within the unacceptable gap, or a second selection of adjusting a repositioning of one 3D model relative to another 3D model to reduce the gap distance of the unacceptable gap. In one embodiment, the display device 104 can display instructions including the first selection and the second selection to a user, e.g., an assembly designer. The user can select one of these selections to implement a correction of the unacceptable gap.
[0033] In an embodiment, the data analysis application 103 is further configured to, in response to the instruction, automatically perform the first selection or the second selection to correct the unacceptable gap, perform further analysis to determine whether the corrected unacceptable gap has a gap that exceeds an acceptable gap threshold, and generate an output of a 3D model of the assembly to which the 3D models of the relative positioned parts are added and the unacceptable gap has been corrected for use in connection with manufacturing the assembly. In one embodiment, a user can design an assembly based on the published 3D model of the assembly with the unacceptable gap corrected. The data analysis application 101 can generate a 3D model of the assembly without any unacceptable gaps and publish or provide the 3D model for design and manufacturing of the assembly. Once the unacceptable gap has been corrected by the first instruction or the second instruction, the assembly can be manufactured.
[0034] In one embodiment, the data analysis application 103 is configured to generate a respective instruction for each unacceptable gap detected or determined by the proximity analysis application 102. In response to each instruction, the data analysis application is configured to automatically perform a first selection or a second selection to correct all of the unacceptable gaps and publish a 3D model of the assembly with all of the unacceptable gaps corrected for manufacturing the assembly. In these examples, a design of the assembly based on the published 3D model may be published for manufacturing because all of the unacceptable gaps have been corrected. Thus, the assembly may be manufactured because all of the unacceptable gaps have been corrected by the first instruction or the second instruction.
[0035] Meanwhile, in one embodiment, the data analysis application 103 is further configured to generate an indication for another unacceptable gap that neither the first selection nor the second selection is acceptable for correcting the other unacceptable gap. In response to the indication, the data analysis application is further configured to generate another indication that the manufacturing of the assembly is on hold. The data analysis application can generate an indication that the manufacturing of the assembly should not proceed to manufacturing until all the unacceptable gaps are corrected. In one embodiment, the designer of the assembly may need to visually inspect the 3D model to correct the unacceptable gaps. The data analysis application can indicate that the manufacturing of the assembly is no longer on hold and can proceed to manufacturing after all the unacceptable gaps are corrected.
[0036] FIG. 2 illustrates possible states of gap analysis, according to various exemplary embodiments. In one example, the goal of gap analysis is to identify solids or 3D models of an assembly that should be in contact but have a space between them. The analysis uses two distances: a given proximity threshold 211 and an acceptable gap threshold 212. The proximity analysis is used to find two solids that are close to each other (i.e., within a proximity threshold of each other). The acceptable gap threshold specifies the maximum acceptable distance between the two solids. The process checks to ensure that no other solids exist between the two solids being analyzed. If the minimum distance calculated between the two solids is between the proximity threshold distance and the acceptable gap threshold, the pair of two solids is recorded as having a gap type that includes an unacceptable gap between them.
[0037] As shown in FIG. 2, table 200 lists several possible states of the gap analysis performed by the proximity analysis application 102. In one embodiment, there is no gap between 3D models S1 and S2, as indicated by arrow 201, because the distance d1 between S1 and S2 is greater than the proximity threshold 211, as indicated by the left diagram 210 of FIG. 2. In this embodiment, S1 and S2 may be designed to be spaced apart from each other. In a second embodiment, there is an unacceptable gap between 3D models S1 and S3, as indicated by arrow 202, because the distance d2 between S1 and S3 is close and exceeds the acceptable threshold 211. In another embodiment, there is an acceptable gap between 3D models S1 and S4, as indicated by arrow 203. Although the distance d3 between S1 and S4 exceeds the acceptable gap threshold, an intervening 3D model S5 is placed in the gap between S1 and S4. Thus, in this example, the gap between S1 and S4 can be considered acceptable for manufacturing the assembly. In a further example, no gap exists between the 3D models S1 and S6 because the distance d4 between S1 and S6 is less than the acceptable gap threshold 211. Thus, in this example, the distance between S1 and S6 is acceptable for manufacturing the assembly.
[0038] FIG. 3 illustrates a process 300 for determining and correcting unacceptable gaps, according to an example embodiment. As shown, in block 301, the proximity analysis application 102 is configured to select 3D models in an assembly that require analysis. In one example, the selection focuses on structural parts that have physical or functional interfaces to create a model list. In block 302, the proximity analysis application determines the minimum gap between the parts and the location of the gap using a collision detection and proximity measurement engine. The collision detection and proximity measurement engine may be included in the proximity analysis application. In block 303, the proximity analysis application is configured to create a table. The table may list the actual minimum gaps for all possible combinations of parts that are adjacent and physically interacting with each other. The table may also list the minimum acceptable gaps specified in technical documentation, including for these parts and in general scope. In block 304, the proximity analysis application is configured to identify gaps that exceed technical specifications using a table of interaction types, acceptable variations, and predetermined dispositions. The predetermined dispositions may determine whether the design of the assembly is acceptable or whether a design change is required. If a design change is required, the predetermined dispositions may also determine which parts of the assembly need to be changed or adjusted.
[0039] In block 305, the data analysis application 103 is configured to make a processing decision regarding the detected gap. In one embodiment, if the gap is of a given type and does not exceed the acceptable variation (i.e., the acceptable gap threshold), the gap is accepted without modification. If the gap is of a given type and exceeds the acceptable variation, the data analysis application is configured to repair the engineering model by a predefined processing, for example, using the first or second selection for gap correction described above. If the gap is of a given type and exceeds the acceptable variation, and no predefined processing exists, the data analysis application is configured to generate an indication to hold the manufacturing of the assembly. In block 306, the data analysis application is configured to release the model of the assembly for manufacturing by an automated process when all gaps have been properly processed.
[0040] 4 illustrates a process 400 for determining and correcting unacceptable gaps, according to another example embodiment. As shown, in block 401, the visualization application 101 is configured to generate a 3D visualization of an assembly. The 3D visualization includes 3D models of parts in the assembly, the 3D models being positioned relative to one another as the parts in the assembly. In blocks 402 and 403, respectively, the proximity analysis application 102 is configured to perform an analysis to determine gaps between the positioned parts and automatically identify the unacceptable gaps.
[0041] In block 404, the data analysis application 103 is configured to automatically determine the necessary corrections and instructions. In block 405, the data analysis application is configured to provide instructions regarding the unacceptable gap between the parts, or to select or select a repositioning of one part relative to the other such that a shim selected from a list of shims of different thicknesses to be installed is placed between the relative positioned parts, thereby reducing the unacceptable gap to a space within an acceptable range. In block 406, the data analysis application is configured to determine whether the correction is approved. In block 407, the data analysis application is configured to automatically implement the correction after it is approved. Implementing the correction may include moving a model of the part relative to a model of the relative positioned part using a transformation matrix to adjust the gap to within an acceptable gap or inserting the selected shim between the parts.
[0042] In block 408, the data analysis application 103 is configured to perform further analysis on the updated gaps to verify that the corrected unacceptable gaps are acceptable. For example, the data analysis application is configured to verify that the corrected unacceptable gaps do not have gap distances that exceed an acceptable gap threshold. In block 409, the data analysis application is configured to highlight the parts and / or locations, for example by changing color, and record data of the gap analysis. In one embodiment, the display device 104 may display the highlighted parts and / or locations. In block 410, the data analysis application is configured to generate an output of the 3D model of the assembly with the 3D models of the relative positioned parts added and the parts corrected and updated with shims and / or having the updated gaps in place of the unacceptable gaps for use in connection with manufacturing the assembly. The output may include a modified populated build file. The method may further include performing a step of manufacturing the assembly to include a modified build file including the updated gaps and / or shims between the relative positioned parts.
[0043] 5 illustrates detected gaps, according to various example embodiments. As shown, the proximity analysis application 102 may detect gaps between 3D models of multiple parts in an assembly. In one example, the detected gaps are represented by arrows 501, 502, 503, and 504. It may be impractical to detect at least some of the detected gaps, such as small gap 504, by traditional visual inspection.
[0044] FIG. 6 illustrates output 600 of a gap analysis, according to various exemplary embodiments. FIG. 6 illustrates several example shear ties with gaps between them and the skin of an aircraft. Output 601 includes the results of the gap analysis. Output 601 may be displayed to a user using display device 104. In one example, the unacceptable gaps should be corrected in the engineering model to correct the engineering design prior to final release. For example, for gaps with gap distances greater than the required minimum distance, as indicated by arrow 602, shims are inserted to repair the unacceptable gaps.
[0045] In one embodiment, a gap analysis may be performed daily for all parts of an assembly (e.g., an aircraft) to be manufactured. The result is a list of all parts / locations that contain these engineering design flaws. The display device 104 may show the parts and their relative locations. This list may be processed by the designer to show if there are problems and who will fix them. Designs with a particular disposition code indicating a problem will not be released for manufacturing. A high level report will show how many unacceptable gaps exist on the assembly.
[0046] 7 is a flow diagram illustrating various steps in a method 700 for performing an analysis of gaps between printed parts of an assembly to be manufactured, according to various example embodiments. As shown, in block 701, the method includes generating a three-dimensional (3D) visualization environment of a 3D model of multiple parts in the assembly, the 3D model being positioned relative to the multiple parts in the assembly as well.
[0047] At block 702, the method 700 includes performing an analysis between 3D models that are close to each other within a given proximity range to determine gaps between the 3D models, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold.
[0048] At block 703, the method 700 includes generating instructions to enable a first selection for the unacceptable gap to select one shim model from a plurality of shim models of various sizes to be placed within the unacceptable gap or a second selection to adjust a repositioning of one 3D model relative to another 3D model to reduce the gap distance of the unacceptable gap.
[0049] At block 704, the method 700 includes, in response to the instruction, automatically performing the first selection or the second selection to correct the unacceptable gap. Further analysis is performed to verify that the corrected unacceptable gap does not have a gap distance that exceeds an acceptable gap threshold. Also, an output of a 3D model of the assembly is generated, where the 3D model is augmented with 3D models of the relative positioned parts and has the unacceptable gap corrected for use in connection with manufacturing the assembly.
[0050] According to an exemplary embodiment of the present disclosure, the system 100 and its subsystems, including the visualization application 101, the proximity analysis application 102, the data analysis application 103, and the display device 104, may be implemented in a variety of ways. The means for implementing the system and its subsystems may include hardware, alone or following instructions of one or more computer programs from a computer-readable storage medium. In some examples, one or more devices may be configured to function or otherwise implement the system and its subsystems illustrated and described herein. In examples involving two or more devices, the respective devices may be connected to or otherwise capable of communicating with each other in several different manners, such as, for example, directly or indirectly via a wired or wireless network.
[0051] FIG. 8 illustrates a device 800 according to an example embodiment. The device of the example embodiment of the present disclosure may generally comprise, include, or be embodied in one or more fixed or portable electronic devices. Examples of suitable electronic devices include smartphones, tablet computers, laptop computers, desktop computers, workstation computers, server computers, and the like. The device may include one or more of each of several components, such as, for example, a processor 801 (e.g., processing circuitry) coupled to a memory 802 (e.g., storage device). In one example, the device 800 is implemented with the system 100.
[0052] The processor 801 may consist of one or more processors, either alone or in combination with one or more memories. A processor is typically any piece of computer hardware capable of processing information, such as, for example, data, computer programs, and / or other suitable electronic information. A processor may consist of a group of electronic circuits, some of which may be packaged as an integrated circuit or multiple interconnected integrated circuits (integrated circuits sometimes more commonly referred to as "chips"). The processor may be configured to execute a computer program, which may be stored on-board the processor or in memory 802 (of the same or another device).
[0053] The processor 801 may be several processors, a multi-core processor, or some other type of processor, depending on the particular embodiment. Furthermore, the processor may be implemented using several heterogeneous computer systems, where the main processor is present on a single chip along with one or more secondary processors. As another illustrative example, the processor may be a symmetric multi-processor system that includes multiple processors of the same type. In yet another example, the processor may be embodied as or otherwise include one or more ASICs, FPGAs, and the like. Thus, the processor may be capable of executing a computer program to perform one or more functions, although in various examples, the processor may be capable of performing one or more functions without the aid of a computer program. In either example, the processor may be appropriately programmed to perform functions or operations according to the exemplary embodiments of the present disclosure.
[0054] The memory 802 is generally any computer hardware capable of storing information, such as, for example, data, computer programs (e.g., computer readable program code 803), and / or other suitable information, temporarily and / or permanently. The memory may include volatile and / or non-volatile memory and may be fixed or removable. Examples of suitable memory include random access memory (RAM), read only memory (ROM), hard drives, flash memory, thumb drives, removable computer diskettes, optical disks, magnetic tapes, or any combination thereof. Optical disks may include read only compact disks (CD-ROMs), read / write compact disks (CD-R / W), DVDs, etc. In various examples, the memory may be referred to as a computer readable storage medium. A computer readable storage medium is a non-transitory device capable of storing information and is distinguishable from a computer readable transmission medium, such as a transitory electronic signal capable of conveying information from one place to another. Computer-readable media as described herein may generally refer to computer-readable storage media or computer-readable transmission media.
[0055] The processor 801 as well as the memory 802 may be connected to one or more interfaces for displaying, transmitting and / or receiving information. The interfaces may include a communication interface 804 (e.g., a communication unit) and / or one or more user interfaces. The communication interface may be configured to transmit and / or receive information to and / or from, for example, other device(s), network(s), etc. The communication interface may be configured to transmit and / or receive information by means of physical (wired) and / or wireless communication links. Examples of suitable communication interfaces include a network interface controller (NIC), a wireless NIC (WNIC), etc.
[0056] The user interface may include a display 806 and / or one or more user input interfaces 805 (e.g., input / output units). The display may be configured to present or otherwise display information to a user, suitable examples of which include a liquid crystal display (LCD), a light emitting diode display (LED), a plasma display panel (PDP), and the like. The user input interface may be wired or wireless and may be configured to receive information from a user into the device for processing, storage, and / or display, and the like. Suitable examples of user input interfaces include a microphone, an image or video capture device, a keyboard or keypad, a joystick, a touch-sensitive surface (separate from or integrated into a touch screen), a biometric sensor, and the like. The user interface may further include one or more interfaces for communicating with peripheral devices, such as a printer or scanner. In some examples, the display 806 may be the display device 104.
[0057] As described above, the program code instructions may be stored in a memory and executed by a processor that is programmed with the program code instructions to implement the functions of the systems, subsystems, tools, and their individual elements described herein. As will be understood, any suitable program code instructions may be loaded from a computer-readable storage medium into a computer or other programmable device to manufacture a particular machine such that the particular machine is a means for implementing the functions identified herein. These program code instructions may also be stored in a computer-readable storage medium that causes the computer, processor, or other programmable device to function in a particular manner, thereby producing a particular machine or a particular article of manufacture. The instructions stored in the computer-readable storage medium may produce an article of manufacture, which is a means for performing the functions described herein. The program code instructions may be read from a computer-readable storage medium and loaded into a computer, processor, or other programmable device to configure the computer, processor, or other programmable device to perform the steps performed on or by the computer, processor, or other programmable device.
[0058] The reading, loading and execution of program code instructions may be performed sequentially, such that one instruction is read, loaded and executed at a time. In some example embodiments, the reading, loading and / or execution may be performed in parallel, such that multiple instructions are read, loaded and / or executed together. Execution of program code instructions may produce a computer-implemented process, whereby the instructions executed by a computer, processor or other programmable device provide operations for implementing the functions described herein.
[0059] Execution of instructions by a processor or storage of instructions on a computer readable storage medium supports a combination of operations to perform a particular function. In this aspect, the device 800 may include a processor 801 and a computer readable storage medium or memory 802 coupled to the processor, the processor configured to execute computer readable program code 803 stored in the memory. It will also be appreciated that one or more functions and combinations of functions may be implemented by a computer system based on dedicated hardware and / or a processor performing a particular function, or a combination of dedicated hardware and program code instructions.
[0060] Furthermore, the present disclosure includes embodiments according to the following clauses:
[0061] Clause 1. A system (100) for analyzing gaps between shaped parts of an assembly to be manufactured, comprising: a visualization application (101) configured to generate a three-dimensional (3D) visualization environment of a three-dimensional (3D) model of a plurality of parts in an assembly, the 3D model being positioned relative to the plurality of parts in the assembly; a proximity analysis application (102) configured to perform an analysis on 3D models that are close to each other within a given proximity range to determine gaps between them, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold; a data analysis application (103) configured to generate instructions enabling a first selection for an unacceptable gap, of selecting one shim model from a plurality of shim models of various sizes to be placed within the unacceptable gap, or a second selection for adjusting a repositioning of one 3D model relative to another 3D model to reduce a gap distance of the unacceptable gap, and a data analysis application (103) further configured to, in response to the instruction, automatically perform the first selection or the second selection to correct the unacceptable gap, perform further analysis to determine whether the corrected unacceptable gap has a gap that exceeds an acceptable gap threshold, and generate an output of the 3D model of the assembly to which the 3D models of the relatively positioned parts have been added and to which the unacceptable gap has been corrected for use in connection with manufacturing the assembly.
[0062] Clause 2. The system (100) described in clause 1, further comprising a processor (801) and a memory (802) storing a visualization application (101) that, when executed by the processor, causes the system to generate a 3D visualization environment of a 3D model of a plurality of parts.
[0063] Clause 3. The 3D model of the plurality of parts includes polygonal models of the plurality of parts, and the proximity analysis application (102) is configured to perform the analysis, defining, for the polygonal model, a set of padded voxels that surround the triangular polygon mesh and that are used to determine a narrowed-down set of candidates for the polygonal model for gap analysis; The system (100) described in clause 1, further comprising: determining a minimum distance between each pair of the narrowed down set of candidates for polygonal models using an algorithm of a minimum distance between triangles between the pairs.
[0064] Clause 4. The system (100) of clause 3, wherein the narrowed set of candidates for polygonal models includes polygonal models only of multiple parts with physical or functional interfaces between the parts.
[0065] Clause 5. The system (100) of clause 1, wherein the proximity analysis application (102) is configured to perform an analysis to determine gaps including an acceptable gap between two of the 3D models having a gap distance that exceeds an acceptable gap threshold and one of the intervening 3D models disposed therebetween.
[0066] Clause 6. The data analysis application (103) configured to generate instructions for the unacceptable gaps includes configured to generate a respective instruction for each of the unacceptable gaps; The system (100) of clause 1, wherein the data analysis application being configured to automatically perform the first selection or the second selection in response to the instruction further includes being configured to, in response to each instruction, automatically perform the first selection or the second selection to correct all unacceptable gaps, and publish a 3D model of the assembly having all unacceptable gaps in a corrected state for manufacturing the assembly.
[0067] Clause 7. The system (100) of clause 1, wherein the data analysis application (103) is further configured to generate, for another unacceptable gap, an indication that neither the first selection nor the second selection is acceptable for correcting the another unacceptable gap, and in response to the indication, the data analysis application is further configured to generate another indication that production of the assembly is pending.
[0068] Clause 8. A method (700) for performing an analysis of gaps between shaped parts of an assembly to be manufactured, comprising: Generating (701) a three-dimensional (3D) visualization environment of a 3D model of a plurality of parts in an assembly, the 3D model being positioned relative to the plurality of parts in the assembly; performing an analysis on the 3D models that are in a given proximity to each other to determine gaps between them, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold (702); generating (703) instructions enabling a first selection for the unacceptable gap to select one shim model from a plurality of shim models of various sizes to be placed within the unacceptable gap or a second selection to adjust the repositioning of one 3D model relative to another 3D model to reduce the gap distance of the unacceptable gap; In response to the instruction, automatically performing (704) the first selection or the second selection to correct the unacceptable gap, performing further analysis to determine whether the corrected unacceptable gap has a gap that exceeds an acceptable gap threshold, and generating an output of the 3D model of the assembly to which the 3D models of the relative positioned parts have been added and to which the unacceptable gap has been corrected for use in connection with manufacturing the assembly. The method includes:
[0069] Clause 9. The method (700) of clause 8, wherein the method is performed by a processor of a computing device.
[0070] Clause 10. The 3D model of the plurality of parts includes polygonal models of the plurality of parts, and performing the analysis (702) defining, for the polygonal model, a set of padded voxels that surround the triangular polygon mesh and that are used to determine a narrowed-down set of candidates for the polygonal model for gap analysis; determining a minimum distance between each pair of the reduced set of candidates for polygonal models using a minimum distance between triangles algorithm between the pairs.
[0071] Clause 11. The method (700) of clause 10, wherein the narrowed set of candidates for polygonal models includes polygonal models of only multiple parts with physical or functional interfaces between the parts.
[0072] Clause 12. The method (700) of clause 8, wherein performing the analysis (702) includes performing the analysis to determine gaps including an acceptable gap between two of the 3D models having a gap distance that exceeds an acceptable gap threshold and one of the intervening 3D models disposed therebetween.
[0073] Clause 13. The data analysis application (703) generating instructions for the unacceptable gaps (703) includes generating a respective instruction for each of the unacceptable gaps; The method (700) according to clause 8, further comprising: in response to the instruction, automatically performing the first selection or the second selection (704); in response to each instruction, automatically performing the first selection or the second selection to correct all unacceptable gaps; and exposing a 3D model of the assembly having all unacceptable gaps in a corrected state for manufacturing the assembly.
[0074] Clause 14. The method (700) of clause 8, further including generating, for another unacceptable gap, an indication that neither the first selection nor the second selection is acceptable for correcting the another unacceptable gap, and in response to the indication, generating another indication that manufacturing of the assembly is pending.
[0075] Clause 15. A computer-readable storage medium (802) for performing an analysis of gaps between shaped parts of an assembly to be manufactured, the computer-readable program code (803) being non-transitory and stored therein, the computer-readable program code (803) being responsive to execution by a processor (801) to perform at least generating a three-dimensional (3D) visualization environment of a 3D model of a plurality of parts in an assembly, the 3D model being positioned relative to the plurality of parts in the assembly; performing an analysis on those 3D models that are within a given proximity to each other to determine gaps between each other, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold; generating instructions that enable a first selection for an unacceptable gap to select one shim model from a plurality of shim models of various sizes to be placed within the unacceptable gap or a second selection to adjust a repositioning of one 3D model relative to another 3D model to reduce a gap distance of the unacceptable gap; A computer readable storage medium (802) having computer readable program code (803) that, in response to the instructions, causes the apparatus to automatically perform the first selection or the second selection to correct the unacceptable gap, perform further analysis to determine whether the corrected unacceptable gap has a gap that exceeds an acceptable gap threshold, and generate an output of the 3D model of the assembly to which the 3D models of the relative positioned parts have been added and to which the unacceptable gap has been corrected for use in connection with manufacturing the assembly.
[0076] Clause 16. A computer-readable storage medium (802) as described in clause 15, wherein the 3D model of the multiple parts includes polygonal models of the multiple parts, and the apparatus (800) is configured to perform the analysis including at least: defining, for the polygonal models, a set of padded voxels that surround a triangular polygon mesh and are used to determine a set of narrowed-down candidates of polygonal models for gap analysis; and determining a minimum distance between each pair of the set of narrowed-down candidates of polygonal models using a minimum distance algorithm between triangles between the pairs.
[0077] Clause 17. The computer-readable storage medium (802) of clause 16, wherein the narrowed-down set of candidates for polygonal models includes polygonal models of only a plurality of parts with physical or functional interfaces between the parts.
[0078] Clause 18. The computer-readable storage medium (802) of clause 15, including the apparatus (800) being configured to perform an analysis to determine gaps including an acceptable gap between two of the 3D models having a gap distance that exceeds an acceptable gap threshold and one of the intervening 3D models disposed therebetween.
[0079] Clause 19. The apparatus (800) being adapted to generate instructions for unacceptable gaps includes being adapted to generate a respective instruction for each of the unacceptable gaps; The computer-readable storage medium (802) of clause 15, wherein the device being configured to automatically perform the first selection or the second selection in response to the instructions includes being configured to automatically perform the first selection or the second selection in response to each instruction to correct all unacceptable gaps, and publishing a 3D model of the assembly having all unacceptable gaps in a corrected state for manufacturing the assembly.
[0080] Clause 20. The computer readable storage medium (802) of clause 15 having further computer readable program code (803) stored therein that, in response to execution by the processor (801), causes the apparatus (800) to: further generate, for another unacceptable gap, an indication that neither the first selection nor the second selection is acceptable for correcting the another unacceptable gap, and in response to the indication, generate another indication that production of the assembly is pending.
[0081] Numerous modifications and other implementations of the disclosure set forth herein will occur to one skilled in the art to which this disclosure pertains having the benefit of the teachings presented in the above description and the accompanying drawings. It is to be understood, therefore, that the disclosure is not limited to the particular embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. It is to be further understood that, while the above description and the accompanying drawings describe exemplary embodiments in the context of specific example combinations of elements and / or features, it is to be understood that different combinations of elements and / or features may be provided by alternative embodiments without departing from the scope of the appended claims. That is, combinations of elements and / or features other than those expressly set forth above are contemplated, for example, as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. 1. A system (100) for analyzing gaps between shaped parts of an aircraft assembly to be manufactured, comprising: a visualization application (101) configured to generate a three-dimensional (3D) visualization environment of a three-dimensional (3D) model of a plurality of parts in the assembly, the 3D model being positioned relative to the plurality of parts in the assembly; a proximity analysis application (102) configured to perform an analysis on 3D models that are close to each other within a given proximity range to determine gaps between them, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold; a data analysis application (103) configured to generate instructions enabling a first selection for an unacceptable gap, of choosing one shim model from a plurality of shim models of various sizes to be placed within the unacceptable gap, or a second selection for adjusting a repositioning of one 3D model relative to another 3D model to reduce a gap distance of the unacceptable gap, and a data analysis application (103) further configured to: in response to the instruction: automatically implement the first selection or the second selection to correct the unacceptable gap; perform further analysis to determine whether the corrected unacceptable gap has a gap distance that exceeds the acceptable gap threshold; and generate an output of a 3D model of the assembly to which the 3D models of the relatively positioned parts have been added and in which the unacceptable gap has been corrected for use in connection with manufacturing an assembly.
2. The system (100) of claim 1, further comprising a memory (802) that stores the visualization application (101) that, when executed by the processor, causes the system to generate the 3D visualization environment for a 3D model of the plurality of parts.
3. the 3D models of the plurality of parts include polygonal models of the plurality of parts, and the proximity analysis application (102) is configured to perform the analysis; defining, for the polygonal model, a set of padded voxels that surround a triangular polygon mesh and that are used to determine a narrowed set of candidates of the polygonal model for gap analysis; and determining a minimum distance between each pair of the narrowed set of candidates for the polygonal model using an algorithm of a minimum distance between triangles between the pairs.
4. The system (100) of claim 3, wherein the narrowed candidate set of polygonal models includes the polygonal models of only those parts of the plurality of parts with physical or functional interfaces between parts.
5. 5. The system of claim 1, wherein the proximity analysis application is configured to perform an analysis to determine gaps that include an acceptable gap between two of the 3D models having a gap distance that exceeds the acceptable gap threshold and one of the intervening 3D models disposed therebetween.
6. wherein the data analysis application (103) configured to generate the instructions for the unacceptable gaps includes configured to generate a respective instruction for each of the unacceptable gaps; 6. The system (100) of claim 1, wherein the data analysis application is further configured to automatically implement the first selection or the second selection in response to the instruction further comprises: in response to each of the instructions, automatically implement the first selection or the second selection to correct all of the unacceptable gaps, and publish the 3D model of the assembly having all of the unacceptable gaps in a corrected state for manufacturing the assembly.
7. 7. The system of claim 1, wherein the data analysis application is further configured to generate, for a different unacceptable gap, an indication that neither the first selection nor the second selection is acceptable for correcting the different unacceptable gap, and wherein the data analysis application is further configured to generate, in response to the indication, another indication that manufacturing of the assembly is on hold.
8. A method (700) for performing an analysis of gaps between shaped parts of an assembly of an aircraft to be manufactured, the method comprising: The computer device generates (701) a three-dimensional (3D) visualization environment of a 3D model of a plurality of parts in the assembly, the 3D model being positioned relative to the plurality of parts in the assembly; performing an analysis on the 3D models that are in a given proximity to one another to determine gaps between them, including any unacceptable gaps having a gap distance that exceeds an acceptable gap threshold (702); generating (703) instructions enabling the computer device to select, for an unacceptable gap, a first selection of selecting one shim model from a plurality of shim models of various sizes to be placed within the unacceptable gap, or a second selection of adjusting a repositioning of one 3D model relative to another 3D model to reduce a gap distance of the unacceptable gap; In response to the instruction, the computing device automatically implements the first selection or the second selection to correct the unacceptable gap (704), performs further analysis to determine whether the corrected unacceptable gap has a gap distance that exceeds the acceptable gap threshold, and generates an output of the 3D model of the assembly to which the 3D models of the relative positioned parts have been added and in which the unacceptable gap has been corrected for use in connection with manufacturing an assembly. The method includes:
9. The method (700) of claim 8, wherein the method is executed by a processor of the computing device.
10. The 3D models of the plurality of parts include polygonal models of the plurality of parts, and performing the analysis (702) defining, by the computer device, a set of padded voxels for the polygonal model that surrounds a triangular polygon mesh and that is used to determine a narrowed-down set of candidates for the polygonal model for gap analysis; determining, by the computer device, a minimum distance between each pair of the reduced set of candidates for the polygonal model using a minimum distance between triangles between the pairs; 10. The method (700) of claim 8 or 9, comprising:
11. 11. The method (700) of claim 10, wherein the narrowed candidate set of polygonal models includes the polygonal models of only those parts of the plurality of parts with physical or functional interfaces between parts.
12. 12. The method (700) of any one of claims 8 to 11, wherein performing the analysis (702) includes the computer device performing the analysis to determine gaps including an acceptable gap between two of the 3D models having a gap distance that exceeds the acceptable gap threshold and one of the intervening 3D models disposed therebetween.
13. generating (703) the instructions for the unacceptable gaps includes the computer device generating a respective instruction for each of the unacceptable gaps; 13. The method (700) of any one of claims 8 to 12, wherein automatically performing the first selection or the second selection in response to the instructions (704) further comprises the computing device, in response to each of the instructions, automatically performing the first selection or the second selection to correct all of the unacceptable gaps, and publishing the 3D model of the assembly having all of the unacceptable gaps in a corrected state for manufacturing the assembly.
14. A method (700) according to any one of claims 8 to 13, further comprising: the computing device generating an indication, with respect to another unacceptable gap, that neither the first selection nor the second selection is acceptable for correcting the another unacceptable gap; and the computing device, in response to the indication, generating another indication that manufacturing of the assembly is on hold.
Citation Information
Patent Citations
Furniture design apparatus and design method
JP2008210168A
Analytical model generating apparatus
JP2010262549A
Method and apparatus for deriving associations between parts and fasteners
US20100114536A1
Shim for gas turbine engine
US20180045218A1