Source: http://www.google.com/patents/US8126688?dq=patent:5881444
Timestamp: 2015-05-04 10:49:28
Document Index: 117981203

Matched Legal Cases: ['arts 412', 'arts 412', 'arts 412', 'art 418', 'art 420', 'arts 412', 'arts 418', 'art 418', 'art 420', 'art 418', 'art 420', 'art 418', 'art 420', 'art 418', 'art 420', 'arts 432', 'arts 432', 'arts 412', 'arts 412', 'arts 412', 'arts 412', 'arts 412', 'arts 412', 'art 418', 'art 418', 'art 420', 'art 418', 'art 420', 'art 418', 'art 420', 'arts 504', 'art 504', 'art 506', 'art 508', 'arts 412', 'art 504', 'art 504', 'art 604', 'art 604', 'art 506', 'art 506', 'art 506', 'art 508', 'arts 506', 'art 504', 'art 506', 'art 504', 'art 506', 'art 508', 'arts 504', 'arts 504', 'arts 504', 'arts 506', 'arts 504', 'arts 504', 'arts 904', 'art 906', 'art 904', 'arts 904', 'art 906', 'art 904', 'art 904', 'art 906']

Patent US8126688 - Method and apparatus for identifying gaps between parts - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA method, apparatus, and computer program product for identifying gaps. A grid of points is generated on a first surface. The grid of points is associated with a point for a first part associated with a second part in a model. A line segment is formed from the first surface of the first part to a second...http://www.google.com/patents/US8126688?utm_source=gb-gplus-sharePatent US8126688 - Method and apparatus for identifying gaps between partsAdvanced Patent SearchPublication numberUS8126688 B2Publication typeGrantApplication numberUS 12/265,323Publication dateFeb 28, 2012Filing dateNov 5, 2008Priority dateNov 5, 2008Also published asUS20100114519Publication number12265323, 265323, US 8126688 B2, US 8126688B2, US-B2-8126688, US8126688 B2, US8126688B2InventorsPaul Charles Hollingshead, Brandon Heath WeggeOriginal AssigneeThe Boeing CompanyExport CitationBiBTeX, EndNote, RefManPatent Citations (21), Non-Patent Citations (2), Classifications (6), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetMethod and apparatus for identifying gaps between parts
US 8126688 B2Abstract
1. A method for identifying gaps, the method comprising:
generating, using at least one processor, a grid of points on a first surface, wherein the grid of points is associated with a point for a first part associated with a second part in a model;
forming, using the at least one processor, a line segment from the first surface of the first part to a second surface of the second part for each point in the grid of points to form a plurality of line segments;
identifying, using the at least one processor, a gap size between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements; and
storing the gap size on a non-transitory computer readable storage medium.
analyzing the plurality of gap measurements to determine whether an unacceptable gap is present in the plurality of gap measurements.
determining whether a tapered gap is present from the plurality of gap measurements.
revising the model of the first part and the second part based on the plurality of gap measurements.
identifying a direction of each segment in the plurality of line segments formed from the first surface to the second surface to form a number of directions; and
identifying a number of line segments having an opposite direction to an associated normal vector.
a processor unit connected to the bus, wherein the processor unit executes the program code to generate a grid of points on a first surface, wherein the grid of points is associated with a point for a first part associated with a second part in a model; form a line segment from the first surface of the first part to a second surface of the second part for each point in the grid of points to form a plurality of line segments; and identify a gap size between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements.
14. The data processing system of claim 10, wherein the processor unit further executes the program code to identify a direction of each segment in the plurality of line segments formed from the first surface to the second surface to form a number of directions; and
identify a number of line segments having an opposite direction to an associated normal vector.
16. A computer program product for identifying gaps, the computer program product comprising:
a non-transitory computer recordable storage medium storing computer executable instructions which, when executed by a processor, perform a process, the non-transitory computer recordable storage medium further comprising;
computer executable instructions, stored on the non-transitory computer recordable storage medium, for generating a grid of points on a first surface, wherein the grid of points is associated with a point for a first part associated with a second part in a model;
computer executable instructions, stored on the non-transitory computer recordable storage medium, for forming a line segment from the first surface of the first part to a second surface of the second part for each point in the grid of points to form a plurality of line segments; and
computer executable instructions, stored on the non-transitory computer recordable storage medium, for identifying a gap size between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements.
computer executable instructions, stored on the non-transitory computer recordable storage medium, for revising the model of the first part and the second part based on the plurality of gap measurements.
computer executable instructions, stored on the non-transitory computer recordable storage medium, for determining whether a tapered gap is present from the plurality of gap measurements.
computer executable instructions, stored on the non-transitory computer recordable storage medium, for analyzing the plurality of gap measurements to determine whether an unacceptable gap is present in the plurality of gap measurements.
computer executable instructions, stored on the non-transitory computer recordable storage medium, for identifying a direction of each segment in the plurality of line segments formed from the first surface to the second surface to form a number of directions; and
computer executable instructions, stored on the non-transitory computer recordable storage medium, for identifying a number of line segments having an opposite direction to an associated normal vector. Description
The present invention is related to the following patent application entitled �Method and Apparatus for Deriving Associations between Parts and Fasteners�, Ser. No. 12/265344, filed even date hereof, assigned to the same assignee, and incorporated herein by reference.
The present disclosure relates generally to an improved data processing system and, in particular, to a method and apparatus for processing data. Still more particularly, the present disclosure relates to a method, apparatus, and computer program product for identifying gaps between parts.
Computer aided design involves the use of computers or other data processing systems to aid in the design of an object. These data processing systems may include two-dimensional vector based drafting programs and three-dimensional solid and surface modeling programs. Computer aided design programs are commonly used in aerospace manufacturing to design and produce various objects such as, for example, aircraft, space vehicles, aircraft engines, tools, buildings, medical devices, fuel tanks, and other suitable objects.
These types of systems are typically used for detailed engineering of three-dimensional and/or two-dimensional models of objects. These models include information used to create drawings of the objects. These drawings may be, for example, two-dimensional and/or three-dimensional drawings. The models also may contain information about parts in the objects. The information may include, for example, dimensions, materials, processing notes, product identifications, and other suitable information.
Computer aided design programs allow designers or engineers to lay out and develop various models for objects on a display device. The information in the models, however, is not well organized. Typically, information may be associated with the particular components or parts in a model. Relationships, however, between those parts and other parts are typically not present.
Currently, when information about parts in a model is needed, a user is required to go through the model to identify the needed information. In some cases, the needed information may not be present in the model. The user may then be required to create the desired information based on a review of the information present in the model.
Therefore, it would be advantageous to have a method, apparatus, and computer program product that overcomes the issues described above.
In one advantageous embodiment, a method is present for identifying gaps. A grid of points is generated on a first surface. The grid of points is associated with a point for a first part associated with a second part in a model. A line segment is formed from the first surface of the first part to a second surface of the second part for each point in the grid of points to form a plurality of line segments. A gap size is identified between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements.
In another advantageous embodiment, a data processing system comprises a bus, a communications unit, a storage device, a processor unit connected to the bus, and program code. The processor unit executes the program code to generate a grid of points on a first surface, wherein the grid of points is associated with a point for a first part associated with a second part in a model. The processor unit executes the program code to form a line segment from the first surface of the first part to a second surface of the second part for each point in the grid of points to form a plurality of line segments. The processor unit executes the program code to identify a gap size between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements.
In yet another advantageous embodiment, a computer program product is present for identifying gaps. The computer program product comprises a computer recordable storage medium and program code stored on the computer recordable storage medium. Program code is present for generating a grid of points on a first surface, wherein the grid of points is associated with a point for a first part associated with a second part in a model. Program code is present for forming a line segment from the first surface of the first part to a second surface of the second part for each point in the grid of points to form a plurality of line segments. Program code is present for identifying a gap size between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements.
FIG. 4 is a diagram of a model analysis environment in accordance with an advantageous embodiment;
FIG. 5 is a diagram illustrating a display of a structure in a model in accordance with an advantageous embodiment;
FIG. 6 is a diagram illustrating a structure in accordance with an advantageous embodiment;
FIG. 7 is a diagram illustrating bounding boxes in accordance with an advantageous embodiment;
FIG. 8 is a diagram illustrating associations in a model in accordance with an advantageous embodiment;
FIG. 9 is a diagram of a display of a part in accordance with an advantageous embodiment;
FIG. 10 is a diagram illustrating line segments extending between surfaces of two parts in accordance with an advantageous embodiment;
FIG. 11 is an illustration of a table of gap information in accordance with an advantageous embodiment;
FIG. 12 is a flowchart of a process for identifying associations in a model of a structure in accordance with an advantageous embodiment;
FIG. 13 is a flowchart of a process for deriving associations between fasteners and parts in accordance with an advantageous embodiment;
FIG. 14 is a flowchart of a process for identifying gaps in accordance with an advantageous embodiment;
FIG. 15 is a flowchart of a process for identifying gap information in accordance with an advantageous embodiment; and
FIG. 16 is a flowchart of a process for associating potential parts with fastener locations in accordance with an advantageous embodiment.
With reference now to FIG. 2, a diagram of an aircraft is depicted in which an advantageous embodiment may be implemented. The different advantageous embodiments may be used in the design of aircraft 200 and/or structures for aircraft 200. In this example, aircraft 200 is produced by aircraft manufacturing and service method 100 in FIG. 1 and may include airframe 202 with a plurality of systems 204 and interior 206.
Examples of systems 204 include one or more of propulsion system 208, electrical system 210, hydraulic system 212, and environmental system 214. Any number of other systems may be included. Although an aerospace example is shown, different advantageous embodiments may be applied to other industries, such as the automotive industry. Apparatus and methods embodied herein may be employed during any one or more of the stages of aircraft manufacturing and service method 100 in FIG. 1.
In one illustrative example, different advantageous embodiments may be used during specification and design 102 in FIG. 1 of aircraft 200. In particular, the different advantageous embodiments may be applied to identifying fastener and gap data during specification and design 102 in FIG. 1. Further, some advantageous embodiments also may be applied during maintenance and service 114 in FIG. 1 to design replacement parts and/or configuration changes to aircraft 200.
Turning now to FIG. 3, a diagram of a data processing system is depicted in accordance with an illustrative embodiment. Data processing system 300 is an example of a data processing system that may be used to analyze models to identify fasteners and/or gaps between parts. In this illustrative example, data processing system 300 includes communications fabric 302, which provides communications between processor unit 304, memory 306, persistent storage 308, communications unit 310, input/output (I/O) unit 312, and display 314.
Program code 316 is located in a functional form on computer readable media 318 that is selectively removable and may be loaded onto or transferred to data processing system 300 for execution by processor unit 304. Program code 316 and computer readable media 318 form computer program product 320 in these examples. In one example, computer readable media 318 may be in a tangible form such as, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage 308 for transfer onto a storage device, such as a hard drive that is part of persistent storage 308.
As another example, a storage device in data processing system 300 is any hardware apparatus that may store data. Memory 306, persistent storage 308, and computer readable media 318 are examples of storage devices in a tangible form.
In another example, a bus system may be used to implement communications fabric 302 and may be comprised of one or more buses, such as a system bus or an input/output bus. Of course, the bus system may be implemented using any suitable type of architecture that provides for a transfer of data between different components or devices attached to the bus system. Additionally, a communications unit may include one or more devices used to transmit and receive data, such as a modem or a network adapter. Further, a memory may be, for example, memory 306 or a cache such as that found in an interface and memory controller hub that may be present in communications fabric 302.
The different advantageous embodiments recognize that some information that may be desirable in designing objects may include information about fasteners and parts that may be attached to each other using fasteners. The different advantageous embodiments recognize that this type of information may be useful for identifying appropriate fasteners for securing or attaching parts to each other.
For example, the different advantageous embodiments recognize that parameters, such as a fastener length, a diameter, a grip length, and other suitable parameters may depend on the parts to be attached to each other. The different advantageous embodiments also recognize that identification of locations for fasteners and the parts to be attached to each other by those fasteners may be useful in verifying what fasteners should be used.
As another example, the different advantageous embodiments recognize that a list of fasteners may be useful when a specific manufacturing sequence involving specific parts are present. As yet another example, the different advantageous embodiments recognize that a list of fasteners and associated parts may be useful when structural repairs involve specific parts. Identification of fasteners also may be useful for a retrofit or modification of an aircraft.
The different advantageous embodiments recognize that this information about fasteners may not be available in a model. For example, some advantageous embodiments may not contain fasteners. Instead, the different advantageous embodiments recognize that these models may include pierce points. These pierce points may be locations where fasteners should be placed. As a result, the different advantageous embodiments recognize that a user is unable to search for information about fasteners because fasteners are not yet present in the model.
Thus, the different advantageous embodiments provide a method, apparatus, and computer program product for identifying associations in a model of a structure. In the different advantageous embodiments, a number of fastener locations in the model of the structure are identified. A number, as used herein, when referring to items, means one or more items. For example, a number of fastener locations is one or more fastener locations.
A line segment is extended through each of the number of fastener locations to form a number of line segments. The line segment extends a selected distance outside of an associated fastener location in the number of fastener locations. A number of parts is then identified through which the line segment extends to form a number of identified parts for a fastener for each of the number of line segments.
In this manner, a list or collection of information identifying fasteners and parts associated with the fasteners may be identified. Parts associated with a fastener in these examples may be parts that are to be attached to each other using a fastener.
Further, the different advantageous embodiments also recognize that information about gaps between parts is also not currently available within models. The different advantageous embodiments recognize that knowing whether changes in gaps between parts are present may be useful in determining whether to redesign the part.
The different advantageous embodiments recognize that typically, a gap may be designed between parts to account for variability of a part. The design gap for part variability may allow for another part to be placed between those parts. This part may be referred to as a shim. The different advantageous embodiments recognize that if the gap is constant, the manufacturing and placement of shims may be less time consuming and less expensive.
The different advantageous embodiments recognize that tapered gaps may require special shims and different clamp loads. The different advantageous embodiments also recognize that these types of gaps may take more time and more expense as compared to shims for consistent gaps between parts.
With the different advantageous embodiments, an identification of these types of gaps may be used to either change the gap to a consistent gap and/or eliminate the gap. This information also may be used to identify whether special shims and/or processing may be needed for particular parts.
Thus, the different advantageous embodiments provide a method, apparatus, and computer usable program code for identifying gaps. A grid of points is generated on a first surface. The grid of points is associated with a point for a first part associated with a second part in a model. A normal vector that is normal to the first surface is identified for each point in the grid of the grid of points to form a number of normal vectors normal to the first surface.
A line segment between the first surface of the first part and the second surface of the second part is formed for each of the grid of points to form a plurality of line segments. Each line segment is aligned with an associated normal vector. A gap size may then be identified between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements. In this manner, revising a model and/or other operations involving the manufacturing of an object from the model may be performed based on the gap measurements.
With reference now to FIG. 4, a diagram of a model analysis environment is depicted in accordance with an advantageous embodiment. In this illustrative example, model analysis environment 400 includes model processing system 402, which contains fastener analysis process 404 and gap analysis process 406. Model processing system 402 may be, for example, a data processing system such as, for example, data processing system 300 in FIG. 3.
Fastener analysis process 404 is used to identify locations for fasteners and identify parts that may be associated with fasteners. Gap analysis process 406 is used to identify gaps between parts. In these illustrative examples, fastener analysis process 404 and gap analysis process 406 use model 408 as an input.
Model 408 is an electronic file or data structure containing information 410 about parts 412. Information 410 may include, for example, drawings 414 and attributes 416. Drawings 414 may be two-dimensional and/or three-dimensional drawings for parts 412. Attributes 416 may provide information about parts 412 with respect to drawings 414.
For example, drawings 414 may contain drawings of part 418 and part 420 in parts 412. Further, attributes 416 may include information about parts 418 and 420. Attributes 416 may include, for example, an identification of part 418 and part 420. Further, attributes 416 also may include other information such as, for example, dimension information, materials, notes, and other suitable information about part 418 and part 420.
In these illustrative examples, fastener analysis process 404 generates fastener data 422. Fastener data 422 may include information about fasteners and parts associated with fasteners from model 408. For example, fastener data 422 may contain an identification of part 418 and part 420 as being associated with a fastener. In these examples, fastener data 422 is used by gap analysis process 406 to generate gap data 424. Gap data 424 includes identification of gaps between parts such as, for example, part 418 and part 420.
In operation, fastener analysis process 404 identifies fastener locations 428 within model 408. Fastener locations 428 may be locations where holes should be present to attach parts to each other. These fastener locations may be identified using pierce points 426, which may be in attributes 416. A pierce point, in these examples, is a point on a surface. In these examples, a pierce point is a point through which a hole may be started.
Fastener analysis process 404 extends a line segment through each of the fastener locations within fastener locations 428 to form line segments 430. Fastener analysis process 404 identifies parts 432 through which a line segment within line segments 430 extends. In these examples, parts 432 are either all of parts 412 or a subset of parts 412.
In the different advantageous embodiments, the comparison of line segments to parts may be performed by selecting a line segment from line segments 430 and comparing that line segment to every part within parts 412.
In some advantageous embodiments, part bounding boxes 434 for parts 412 are compared to line segment bounding boxes 436 for line segments 430. For example, an intersection of a line segment bounding box in line segment bounding boxes 436 with a number of part bounding boxes 434 may identify a number of potential parts from parts 412 that may be examined.
In this manner, other parts within parts 412 are not compared with a particular line segment. This use of bounding boxes may reduce the time needed to identify fasteners and their associations with parts.
In the different advantageous embodiments, gap analysis process 406 generates gap data 424 using fastener data 422 in these examples. Gap analysis process 406 takes fastener data 422 and generates grids 438 using an identification of parts associated with each other through fasteners in fastener data 422. In these examples, grid of points 440 is an example of a grid within grids 438. Grid of points 440 may be a grid of points on surface 442 on part 418.
Grids 438 may be generated on surfaces of parts based on pierce points that may be present in fastener data 422. If the particular pair of parts does not have a pierce point, a pierce point for that collection of parts may be extended through a vector normal for the pierce point to identify a point for a grid. Of course, any point may be selected on a surface between two parts to generate grids, in these examples.
Gap analysis process 406 identifies normal vectors 444 for each grid within grids 438. Thereafter, gap analysis process 406 generates line segments 446 for each grid of points within grids 438. Line segments 446 extend from surface 442 on part 418 to an opposing surface, such as surface 448 on part 420. The lengths of line segments 446 from surface 442 to surface 448 are used to generate gap sizes 450.
Gap sizes 450 may be used by gap analysis process 406 to generate gap data 424. For example, gap data 424 may include gap sizes 450. Additionally, gap data 424 also may include an analysis of gap sizes 450. This analysis may include, for example, whether certain gaps within gap sizes 450 exceed a tolerance level. Additionally, gap data 424 may indicate whether a tapered gap is present. Also, gap data 424 may identify whether an intersection between parts, such as part 418 and part 420, have occurred.
The direction of line segments 446 may be maintained with respect to normal vectors 444. The direction of these line segments may be used to determine whether an intersection has occurred between parts, such as part 418 and part 420.
In this manner, fastener data 422 and gap data 424 may be used to perform various operations. For example, fastener data 422 may be used to identify fasteners that may be needed to attach parts to each other when constructing an object from model 408. Fastener data 422 also may be used to create a list of fasteners needed, verify current fasteners being used, and other suitable operations. Further, fastener data 422 also may be used to revise a design of parts, depending on fasteners required to attach the parts.
Gap data 424 may be used to determine whether parts may be redesigned because of unacceptable gap sizes, shapes, or other attributes. Further, gap data 424 may be used to design shims for placement into the gaps.
The illustration of model analysis environment 400 in FIG. 4 is not meant to imply physical or architectural limitations to the manner in which different advantageous embodiments may be implemented. Other components in addition to or in place of the ones illustrated may be used. Also, in some advantageous embodiments, fewer components may be required.
In one example, fastener analysis process 404 and gap analysis process 406 may be located on different data processing systems on a network. Further, model 408 may be located remotely or as part of model processing system 402. Also, multiple models may be analyzed using the different advantageous embodiments.
With reference now to FIG. 5, a diagram illustrating a display of a structure in a model is depicted in accordance with an advantageous embodiment. In this example, display 500 illustrates a perspective view of structure 502. Structure 502 contains parts 504, 506, and 508. Part 504 may be a skin panel, part 506 may be an intercostal, and part 508 may be a rib.
The presentation of these parts in display 500 are examples of parts such as, for example, parts 412 in model 408 in FIG. 4. In this example, pierce points 510 with line segments 512 are illustrated. Pierce point 514 is an example of a pierce point within pierce points 510, and line segment 516 is an example of a line segment within line segments 512.
Line segments 512 are aligned with vectors that are normal to surface 518 of part 504. As can be seen in this example, pierce points 510 originate on surface 518 of part 504. Line segments 512 are normal to surface 518 in these examples. Although line segments 512 are illustrated as normal to surface 518, other advantageous embodiments may align line segments 512 with vectors that may not be normal to surface 518.
With reference now to FIG. 6, a diagram illustrating a structure is depicted in accordance with an advantageous embodiment. In display 600, structure 502 is shown in a lower perspective view. In this illustrative example, part 604 also can be seen for structure 502. Part 604 is a splice plate, in this depicted example.
Further, in this view of structure 502, pierce points 606 and 608 are present on part 506. Pierce point 606 has line segment 610, while pierce point 608 has line segment 612 extending from surface 614 of part 506. Line segments 610 and 612 extend through part 506 and part 508 in these examples. As a result, these two line segments may be used to identify fasteners that are to be associated with parts 506 and 508.
In this example, line segment 516 extends through both part 504 and part 506. A comparison of line segment 516 with part 504, part 506, and part 508 identifies parts 504 and 506 as parts through which line segment 516 extends. This identification may be used to generate an association or identification of fasteners for parts 504 and 506 at pierce point 514.
In the different advantageous embodiments, each line segment is compared to every part within structure 502. This comparison is made to determine whether the line segment extends through a particular part within structure 502.
The different advantageous embodiments recognize that this type of comparison may use additional processor time and/or other computing resources to generate an identification of fasteners for parts when a large number of parts and fasteners are to be used in a structure.
In this depicted example, line segment 612 may be compared with parts 504, 506, 508, and 604. This comparison identifies parts 506 and 508 as parts through which line segment 612 extends. A similar comparison is made for every line segment in line segments 512 in FIG. 5, in these examples.
In other advantageous embodiments, other numbers of parts may be present for structure 502. For example, in some advantageous embodiments, 10 parts, 25 parts, 100 parts, 1,000 parts, or some other suitable number of parts may be present for structure 502. As the number of parts increases, the comparison of a line segment with every part in the structure may increase the time needed to identify parts for association with fasteners. The different advantageous embodiments may reduce the amount of time needed through the use of bounding boxes.
With reference now to FIG. 7, a diagram illustrating bounding boxes is depicted in accordance with an advantageous embodiment. Bounding boxes 700, 702, 704, and 706 are bounding boxes for parts 504, 506, 508, and 604 in FIGS. 5 and 6, respectively. These bounding boxes are typically generated for models of structures.
The different advantageous embodiments also generate bounding boxes for line segments. In this example, bounding box 708 is generated for line segments 610 and 612. In this illustrative example, bounding box 708 encompasses two line segments. Of course, bounding box 708 may be generated to encompass other numbers of line segments such as, for example, one line segment, three line segments, 10 line segments, or some other suitable number of line segments.
The intersection of bounding box 708 with bounding boxes 700, 702, and 704 identifies the associated parts as potential parts through which line segments 610 and 612 may be passed. These bounding boxes are made to identify groupings of parts for comparison to a number of line segments. In these illustrative examples, these bounding boxes correspond to parts 504, 506, 508, and 604 in FIGS. 5 and 6, respectively.
A comparison of these line segments using these bounding boxes is made to identify potential parts for analysis rather than comparing these line segments to every part in structure 502 in FIG. 5. Although only one less comparison is made in these examples, in other advantageous embodiments, when additional numbers of parts are present, the number of comparisons may be reduced by even larger numbers.
With reference now to FIG. 8, a diagram illustrating associations in a model is depicted in accordance with an advantageous embodiment. Table 800 is an example of fastener data 422 in FIG. 4. Table 800 is an example of fastener identifications and part associations that may be generated from structure 502 in FIG. 5. In this example, table 800 illustrates associations between fasteners and parts.
Table 800 includes identification of fasteners in column 802. Parts may be identified in columns 804, 806, and 808. An identification of surfaces for the parts is located in column 810. The identification of surfaces in column 810 is a location on a surface where a line segment intersected the surface of the part. The information in table 800 may be used to identify and analyze gaps in structure 502 in FIG. 5, in these examples.
With reference now to FIG. 9, a diagram of a display of a part is depicted in accordance with an advantageous embodiment. In this example, display 900 is a top view of structure 902. Structure 902 contains parts 904, 906, and 908.
Pierce points 910, 912, 914, and 916 are present on surface 918 of part 906. Grids of points 920, 922, 924, and 926 are formed relative to pierce points 910, 912, 914, and 916, respectively.
In this example, grids of points 920, 922, 924, and 926 are constructed around pierce points 910, 912, 914, and 916. In these examples, the points in a grid of points may be symmetrically spaced around a pierce point. The spacing of points around pierce points 910, 912, 914, and 916 may be spaced in a number of different ways.
In these examples, a grid of points is selected to have an area that is square in shape and four times the fastener diameter on each side. Of course, other types of selections may be made. For example, if fasteners have not yet been added to the model, a quarter inch spacing on a four by four grid may be used.
In this illustrative example, line segments 928 extend from surface 918 located on pierce point 910. Line segments 930 extend from surface 918 located on pierce point 912. Line segments 932 extend from surface 918 located on pierce point 914. Line segments 934 extend from surface 918 located on pierce point 916. These line segments extend in a direction that is normal to surface 918 towards part 904, which is shown in phantom in this example, to illustrate the extension of line segments.
With reference now to FIG. 10, a diagram illustrating line segments extending between surfaces of two parts is depicted in accordance with an advantageous embodiment. In this example, display 1000 provides a side view of parts 904 and 906.
In this depicted example, line segments 928, 930, 932, and 934 extend from surface 918 of part 906 to surface 1002 of part 904. As can be seen in this depicted example, some line segments, such as line segment 1004, extend from surface 918 to surface 1002 in a direction that is opposite from line segment 1006.
This change in direction may be identified using direction vectors or positive and negative values to identify intersections between parts such as, for example, part 904 and part 906. In this example, segment 1004 may have a negative value to indicate an intersection, while segment 1006 may have a positive value.
As can be seen, surface normals are generated for each point, and the normals are used to find intersecting points on opposing surfaces for an opposing part. The length of the segments may be used to identify gaps that may be present.
With reference now to FIG. 11, an illustration of a table of gap information is depicted in accordance with an advantageous embodiment. Table 1100 is an example of one form for gap data 424 in FIG. 4.
In this example, table 1100 contains locations in column 1102, and gap information in columns 1104 and 1106. In these examples, an entry of NI in column 1104 indicates that no intersection has occurred. The values in column 1104 also take into account the direction which may be identified by positive and negative values. The values in column 1106 are magnitudes and do not contain directional information.
Additionally, table 1100 includes range information in row 1108. Median values are shown in row 1110 in this example. Of course, in other advantageous embodiments, other types of information may be included, depending on the particular implementation. For example, an identification of a location with gaps that exceed a range limit may be identified.
Further, in addition to using a table such as, for example, table 1100, the gap data may take other forms. For example, a display may illustrate the pierce points with colors for different gap lengths. Alternatively, the gap lengths may be identified using a contoured map or some other suitable form of presentation.
With reference now to FIG. 12, a flowchart of a process for identifying associations in a model of a structure is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 12 may be implemented in a software component such as, for example, fastener analysis process 404 in FIG. 4.
The process begins by identifying a number of fastener locations in the model of the structure (operation 1200). In these examples, the fastener locations may be identified through pierce points and/or holes that may be present in the model of a structure.
A line segment is extended through each of the number of fastener locations to form a number of line segments (operation 1202). Each line segment extends a selected distance outside of an associated fastener location in the number of fastener locations. The selected distance may vary.
For example, the line segment may extend in a direction normal to the surface on which a fastener location is present. The line segment may extend in each direction from the surface for a distance that may be based on the fastener.
The process then identifies a number of parts through which the line segment extends to form a number of identified parts for a fastener for each of the number of line segments (operation 1204). The process may then sort part information for the number of identified parts based on a distance from which the line segment intersects a surface of a part in the number of parts (operation 1206), with the process terminating thereafter. In operation 1206, each part may be identified based on its location relative to when the part is pierced or intersected by the line segment extending from the surface of the fastener location.
Of course, in some advantageous embodiments, if the line segment only extends or pierces one surface of a part, the line segment may be extended in length to pierce or extend through the other surface of the part. The line segment may also be reduced in length to not extend through the part at all.
With reference now to FIG. 13, a flowchart of a process for deriving associations between fasteners and parts is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 13 is an example of a process that may be implemented in a software component such as, for example, fastener analysis process 404 in FIG. 4.
The process begins by generating a bounding box for each fastener in a number of fasteners (operation 1300). Thereafter, bounding boxes are obtained for the parts in the structure (operation 1302). The process then identifies a number of parts that have bounding boxes that overlap a bounding box for a fastener for each of the number of fasteners (operation 1304).
The process then identifies fastener vectors (operation 1306). In these examples, the fastener vectors are vectors that are normal to the surface of the part on which a fastener location is present. The fastener vectors may, in some cases, not be normal to the outer surface.
The process generates a line segment based on the identified fastener vectors for each of the fastener locations to form a plurality of line segments (operation 1308). The process then selects a group of parts for a number of fasteners for processing (operation 1310). The process then selects a fastener from the number of fasteners (operation 1312). In some advantageous embodiments, a bounding box may contain more than one fastener.
The process then identifies each part within the group through which the line segment extends (operation 1314). In some advantageous embodiments, a line segment may be considered to extend through a part only if the line segment extends through both surfaces of a part. If only one surface of a part is intersected by the line segment, this line segment may be saved for later processing. A determination is made as to whether any line segments are present in which only one surface of the part has been intersected (operation 1316).
If line segments are present in which only one surface has been intersected, the process adjusts the line segment length for these line segments (operation 1318). This operation may identify line segments that may have only intersected a portion of a part. The line segment length may be adjusted to determine whether a different fastener may be needed, if a redesign may occur, and/or some other suitable action may be taken. The process then returns to operation 1314, as described above.
With reference again to operation 1316, if line segments are not present in which only one surface has been intersected, the process sorts the points, surfaces, and parts by distance from a pierce point (operation 1320). The process then stores the data as fastener data (operation 1322).
The process determines whether additional fasteners are present in the group (operation 1324). If additional fasteners are present, the process returns to operation 1312. Otherwise, a determination is made as to whether additional groups are present for processing (operation 1326). If additional groups are present for processing, the process returns to operation 1310. If no additional groups are present for processing, the process terminates.
With reference now to FIG. 14, a flowchart of a process for identifying gaps is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 14 may be implemented in a software component such as, for example, gap analysis process 406 in FIG. 4.
The process begins by generating a grid of points in a first surface (operation 1400). The grid of points is associated with a point for a first part associated with a second part in a model.
The process then forms a line segment from the first surface of the first part to a second surface of the second part for each of the grid points to form a plurality of line segments (operation 1402). Each line segment in the plurality of line segments is aligned with an associated normal vector for the surface. The process then identifies a gap size between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements (operation 1404), with the process terminating thereafter.
With reference now to FIG. 15, a flowchart of a process for identifying gap information is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 15 may be implemented in a software process such as, for example, gap analysis process 406 to generate gap data 424 in FIG. 4.
The process begins by selecting a surface pair for a fastener location (operation 1500). The process then intersects a fastener direction vector and one surface (operation 1502). In operation 1502, the fastener direction vector is a vector that may extend in a direction normal to a surface at the location of a pierce point.
In some advantageous embodiments, the vector may extend in a direction that is not normal to the surface at the location of the pierce point. If the pierce point is on a surface other than the surfaces of interest between two parts, the fastener direction vector may be used to identify the point on the surface of interest. If the pierce point is located on the surface of interest, this operation may be omitted.
A grid of points is generated using the intersection (operation 1504). The process then finds a surface normal at each grid point in the grid of points (operation 1506).
Next, the process generates a line segment along each surface normal that is bounded by the surface of the first part and the surface of the second part (operation 1508). In other words, the line segment extends from one surface to another surface. The process then identifies the length of the line segment (operation 1510). This length may be negative if the parts intersect each other. A determination is then made as to whether additional unprocessed fastener locations for surface pairs are present (operation 1512). If additional fastener locations are present, the process returns to operation 1500.
Otherwise, a determination is made as to whether negative values are present in the length (operation 1514). If negative values are present, a flag is set (operation 1516). Otherwise, the process identifies a range of lengths in the set (operation 1518). The process also proceeds to operation 1518 from operation 1516. The range of lengths may be performed for a single grid if multiple fasteners are present that may be located within a grid.
In other words, if two fasteners have overlapping grids, operation 1518 may be performed only for a single grid or for both grids, depending on the particular implementation. The process then sets a flag if the range exceeds a threshold (operation 1520), with the process terminating thereafter.
With reference now to FIG. 16, a flowchart of a process for associating potential parts with fastener locations is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 16 may be implemented in a software component, such as fastener analysis process 404 in FIG. 4.
The process begins by identifying a bounding box for the fastener for each of a number of fastener locations to form a first number of bounding boxes (operation 1600). The bounding boxes may have a shape based on a fastener that may be used at the fastener location. A bounding box may be identified for each of the number of parts to form a second number of bounding boxes (operation 1602).
A number of intersections between the first number of bounding boxes and the second number of bounding boxes is identified to form a number of intersections (operation 1604). A number of parts may then be associated with each fastener in the number of fasteners in which an intersection occurred to form a number of potential parts for each fastener in the number of fasteners (operation 1606), with the process terminating thereafter. In this manner, a smaller number of parts may be compared with line segments for a fastener location based on intersections of bounding boxes for the parts with a bounding box for a fastener location.
Thus, the different advantageous embodiments provide a method, apparatus, and computer program code for identifying associations and gap data. These associations are parts that are associated with fasteners or locations for fasteners in these examples.
The associations may be identified by identifying a number of fastener locations in the model of the structure. A line segment may be extended through each of the fastener locations to form a number of line segments in which the line segment extends a selected distance away from the associated fastener location in the number of fastener locations. A number of parts is identified through which the line segment extends to form a number of identified parts for a fastener for each of the number of line segments.
The gap data may be identified by generating a grid of points on a first surface in which the grid of points is associated with a point for a first part associated with a second part in a model. A line segment is formed from the first surface of the first part to the second surface of the second part for each of the grid parts to form a plurality of line segments in which each line segment in the plurality of line segments is aligned with an associated normal vector. A gap size is identified between the first surface and the second surface using the plurality of line segments to form a plurality of gap measurements.
With this information, changes to designs, selection of fasteners, designs for shims, generation of instructions to assemble parts, and other suitable operations may be performed. Using the different advantageous embodiments, the identification of the information may be performed with less time and effort. In some cases, the identification of the information may be too time consuming to perform depending on the complexity of the structure.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5341461Mar 18, 1991Aug 23, 1994Honda Giken Kogyo Kabushiki KaishaMethod of rendering a two dimensional drawing into a three dimensional drawing, using a CAD programUS7195429Oct 20, 2003Mar 27, 2007The Boeing CompanyDrill template with integral vacuum attachUS7353609 *May 19, 2006Apr 8, 2008Boeing CompanyHole location method and apparatusUS7398129Oct 7, 2004Jul 8, 2008Amada Company, LimitedRepresentation of sheet metal part modelsUS7596468Jul 25, 2008Sep 29, 2009Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd.Method for measuring a selected portion of a curved surface of an objectUS20030171841Aug 31, 2001Sep 11, 2003Porter Stephen PMethod and control system for generating machine tool control dataUS20050055181 *Jul 30, 2004Mar 10, 2005Philip VerduraSystem, method, and storage medium for determining a packaging design for a containerUS20050073520 *Nov 23, 2004Apr 7, 2005Microsoft CorporationMethod and system for efficiently evaluating and drawing NURBS surfaces for 3D graphicsUS20050084344 *Oct 20, 2003Apr 21, 2005The Boeing CompanyDrill template with integral vacuum attachUS20050172470 *Feb 6, 2004Aug 11, 2005Cobb James M.Methods and systems for large-scale airframe assemblyUS20070160823Jan 10, 2006Jul 12, 2007Pyzik Matthew RThree dimensional structures and method of making the structures using electronic drawing dataUS20070188490 *Mar 31, 2006Aug 16, 2007National University Corporation Hokkaido UniversityApparatus, method and program for segmentation of mesh model data into analytic surfaces based on robust curvature estimation and region growingUS20080222568Feb 27, 2008Sep 11, 2008Fujitsu LimitedProgram, method and system for selecting the three-dimensional model of a componentUS20080255809Apr 12, 2007Oct 16, 2008Ruijiang RanLocally Updating a Three-Dimensional ModelUS20090049377 *Aug 16, 2007Feb 19, 2009Moore Jeffrey LSystematic surface reviewUS20090112973Oct 25, 2007Apr 30, 2009Kessel Jamie AMethod and apparatus for composite part data extractionUS20090116728Nov 7, 2007May 7, 2009Agrawal Amit KMethod and System for Locating and Picking Objects Using Active IlluminationUS20090174709Jan 8, 2008Jul 9, 2009Stratasys, Inc.Method for building three-dimensional objects containing embedded insertsUS20090259440Oct 31, 2008Oct 15, 2009Reed Darwin GPart standard geometry management in a computer aided design systemUS20090289391 *May 21, 2008Nov 26, 2009Disney Enterprises, Inc.Fabricating multi-component skin systems for robotics and other applicationsUS20100085357Oct 7, 2008Apr 8, 2010Alan SullivanMethod and System for Rendering 3D Distance Fields* Cited by examinerNon-Patent CitationsReference1Office Action issued on Jul. 8, 2011 for U.S. Appl. No. 12/265,344.2U.S. Appl. No. 12/265,344, filed Nov. 5, 2008, Hollingshead et al.Classifications U.S. Classification703/7International ClassificationG06F9/455Cooperative ClassificationG01B21/16, G06T19/00European ClassificationG06T19/00, G01B21/16Legal EventsDateCodeEventDescriptionNov 5, 2008ASAssignmentFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOLLINGSHEAD, PAUL CHARLES;WEGGE, BRANDON HEATH;REEL/FRAME:021791/0309Owner name: THE BOEING COMPANY, ILLINOISOwner name: THE BOEING COMPANY, ILLINOISFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOLLINGSHEAD, PAUL CHARLES;WEGGE, BRANDON HEATH;REEL/FRAME:021791/0309Effective date: 20081103Owner name: THE BOEING COMPANY,ILLINOISFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOLLINGSHEAD, PAUL CHARLES;WEGGE, BRANDON HEATH;US-ASSIGNMENT DATABASE UPDATED:20100513;REEL/FRAME:21791/309Effective date: 20081103Owner name: THE BOEING COMPANY,ILLINOISFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOLLINGSHEAD, PAUL CHARLES;WEGGE, BRANDON HEATH;REEL/FRAME:021791/0309Effective date: 20081103RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services