Source: https://patents.google.com/patent/US20090112820A1/en
Timestamp: 2020-01-27 18:22:45
Document Index: 56721968

Matched Legal Cases: ['art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art.\n3']

US20090112820A1 - Method and apparatus for composite part data extraction - Google Patents
Method and apparatus for composite part data extraction Download PDF
US20090112820A1
US20090112820A1 US12/192,162 US19216208A US2009112820A1 US 20090112820 A1 US20090112820 A1 US 20090112820A1 US 19216208 A US19216208 A US 19216208A US 2009112820 A1 US2009112820 A1 US 2009112820A1
US12/192,162
US8285407B2 (en
Jamie A. Kessel
Phillip J. Fisher
Paul J. Shirron
Donald M. Mullins
2007-10-25 Priority to US11/924,107 priority Critical patent/US8321180B2/en
2008-08-15 Application filed by Boeing Co filed Critical Boeing Co
2008-08-15 Priority to US12/192,162 priority patent/US8285407B2/en
2008-08-15 Assigned to THE BOEING COMPANY reassignment THE BOEING COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FISHER, PHILLIP J., KESSEL, JAMIE A., MULLINS, DONALD M., SHIRRON, PAUL J.
2009-04-30 Publication of US20090112820A1 publication Critical patent/US20090112820A1/en
2012-10-09 Publication of US8285407B2 publication Critical patent/US8285407B2/en
238000000605 extraction Methods 0 claims description title 33
101700047540 AEPE family Proteins 0 description 145
101700031317 TACY family Proteins 0 description 145
G06F2113/26—
A computer implemented method, apparatus, and computer usable program code for providing ply lay-up data for a composite part. A designation of a location is received for the composite part in a three dimensional object from a requester. A three dimensional model is opened in which the composite part is located. The ply lay-up data is extracted for a section within the composite part within the three dimensional model to form extracted ply lay-up data for the section. An output file is created containing a drawing of the composite part overlaid with a grid containing the section with the ply lay-up data identifying a ply stacking sequence, an orientation of each ply in the ply stacking sequence, and a material for the each ply in the ply stacking sequence. The output file is returned to the requester.
The present invention is a continuation-in-part (CIP) of and claims priority from the following patent application: entitled “Method and Apparatus for Composite Part Data Extraction”, Ser. No. 11/924,107, filed Oct. 25, 2007, and is related to the following patent application: entitled “Method and Apparatus for Composite Part Data Extraction”, Ser. No. ______, docket number 07-0853B, filed even date hereof, and all of which are incorporated herein by reference.
The advantageous embodiments provide a computer implemented method, apparatus, and computer usable program code for providing ply lay-up data for a composite part. A designation of a location is received for the composite part in a three dimensional object from a requester. A three dimensional model is opened in which the composite part is located. The ply lay-up data is extracted for a section within the composite part within the three dimensional model to form extracted ply lay-up data for the section. An output file is created containing a drawing of the composite part overlaid with a grid containing the section with the ply lay-up data identifying a ply stacking sequence, an orientation of each ply in the ply stacking sequence, and a material for the each ply in the ply stacking sequence. The output file is returned to the requester.
In another advantageous embodiment, a process for obtaining location on a composite part is received from a requester. Ply lay-up data is extracted for a section of the composite part within a three dimensional model containing the composite part to form extracted ply lay-up data. The extracted ply lay-up data comprises a grid with a drawing of the composite part. The section is located with the grid. A response is sent to the requester.
In another advantageous embodiment, an apparatus comprises a user application on a client data processing system and a data extraction tool on a server data processing system. The user application displays a three dimensional object for a composite part and receives user input selecting a location on the composite part. A data extraction tool receives the location on the composite part, extracts lay-up data for a section around the location from a three dimensional model containing the composite part to form extracted lay-up data comprising a drawing of the composite part overlaid with a grid containing the section and other ply lay-up data, and returns the extracted lay-up data to the client data processing system.
In yet another advantageous embodiment, a computer program product provides lay-up data and comprises a computer recordable storage media and program code. Program code is stored on the computer recordable storage media for receiving a location on a composite part from a requester. Program code is stored on the computer recordable storage media for extracting ply lay-up data for a section of the composite part within a three dimensional model containing the composite part to form extracted ply lay-up data, wherein the extracted ply lay-up data comprises a grid with a drawing of the composite part. A section is located within the grid. Also, program code is stored on the computer recordable storage media for sending the extracted ply lay-up data to the requester.
FIG. 7 is a diagram of a data extraction tool in accordance with an advantageous embodiment;
FIG. 8 is a block diagram illustrating components used to generate a part file in accordance with an advantageous embodiment;
FIG. 9 is a diagram illustrating a part file in accordance with an advantageous embodiment;
FIG. 10 is a diagram illustrating ply layout data in accordance with an advantageous embodiment;
FIG. 11 is a diagram illustrating a portion of a part in accordance with an advantageous embodiment;
FIG. 12 is a diagram illustrating a user interface for searching for lay-up data for composite parts in accordance with an advantageous embodiment;
FIG. 13 is a diagram illustrating a user interface for searching for composite parts in accordance with an advantageous embodiment;
FIG. 14 is a diagram illustrating a display of a part file in accordance with an advantageous embodiment;
FIG. 15 is a diagram illustrating ply lay-up data returned in response to sending location data in accordance with an advantageous embodiment;
FIG. 16 is another example of a diagram illustrating ply lay-up data returned in response to sending location data in accordance with an advantageous embodiment;
FIG. 17 is a diagram illustrating an example of a three dimensional drawing in association with a grid identifying ply lay-up data in accordance with an advantageous embodiment;
FIG. 18 is a flowchart of a process for generating ply lay-up data in accordance with an advantageous embodiment;
FIG. 19 is a flowchart of a process for generating a section cut in accordance with an advantageous embodiment;
FIG. 20 is a flowchart of a process for creating section cuts in accordance with an advantageous embodiment;
FIG. 21 is a flowchart of a process for selecting a location on a part in accordance with an advantageous embodiment;
FIG. 22 is a flowchart for creating part files in accordance with an advantageous embodiment; and
FIG. 23 is a flowchart of a process for creating ply lay-up data in accordance with an advantageous embodiment.
During production, part and subassembly manufacturing 106 and system integration 108 of aircraft 200 in FIG. 2 takes place. Thereafter, aircraft 200 in FIG. 2 may go through certification and delivery 110 in order to be placed in service 112. While in service by a customer, aircraft 200 in FIG. 2 is scheduled for routine maintenance and service 114, which may include modification, reconfiguration, refurbishment, and other maintenance or service.
At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, governmental, educational and other computer systems that route data and messages. Of course, network data processing system 400 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 4 is intended as an example, and not as an architectural limitation for the different embodiments.
As one example, a storage device in data processing system 500 is any hardware apparatus that may store data. Memory 506, persistent storage 508 and computer readable media 518 are in a tangible form. In another example, a bus system may be used to implement communications fabric 502 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, memory may be, for example, memory 506 or a cache such as found in an interface and memory controller hub that may be present in communications fabric 502.
The different advantageous embodiments provide a computer implemented method, apparatus, and computer usable program product for locating ply lay-up data for a composite part. In the different examples, a designation of a location for a composite part is received. The location of the composite part is used to extract ply lay-up data for a section of the composite part within a three dimensional model to form extracted ply lay-up data sent to the requester.
In these examples, this extracted ply lay-up data is sent in a format allowing the requester to perform maintenance on the composite part without having access to a three dimensional model containing the composite part. Further, the different advantageous embodiments provide this information without requiring a user or operator to have access to or have knowledge to operate a computer aided design program.
The selection of this location generates location data 618. In these examples, location data 618 may be three dimensional coordinates defining a location on the composite part that needs maintenance. More specifically, location data 618 includes the location in X, Y, and Z coordinates. Of course, other coordinate systems may be used, depending on the particular implementation.
As another example, a spherical coordinate system may be used to identify the location of the composite part. Further, location data 618 also may include an identification of the composite part. This identification may be, for example, a part number. Location data 618 also may include, for example, without limitation, an identification of the type of aircraft or even a specific aircraft using a tail number.
Output 628 may be, for example, a drawing identifying the ply stacking sequence for the composite part. Further, output 628 also may include other information, such as orientation and materials for each ply. Output 628 also may include other information. For example, a three dimensional object for the part may be returned with an indication of identification of the location for each section for which ply lay-up data is present within output 628.
In other examples, a two dimensional drawing or grid may be returned with identifications of the sections with respect to the part in output 628. Output 628 is returned as ply lay-up data 630 to part application 608. Part application 608 may then display ply lay-up data 630 to the user for use in performing the maintenance operation on the composite part.
With reference now to FIG. 7, a diagram of a data extraction tool is depicted in accordance with an advantageous embodiment. In this example, data extraction tool 700 is an example of one implementation for data extraction tool 612 in FIG. 6. Data extraction tool 700 includes core identification unit 702, surface generation unit 704, core sampling unit 706, and output generation unit 708.
Core identification unit 702 receives location data 710 and part model 712. Core identification unit 702 creates an axis system including a damage axis in part model 712 at the damage location based on the location data. This damage axis is normal to the surface at the damage location in part model 712 and parallel to a rosette axis. Further, core identification unit 702 creates section cuts that intersect the surface and plies based on these section cuts and part model 712. Each section cut is a plane that intersects the surface of part model 712.
Core identification unit 702 may store this information as processed part model 714. Additionally, core identification unit 702 also may generate points 716. Points 716 are a file containing points where core sampling is to be performed. In these examples, the points are points along the section cuts. For example, for a section cuts, a number of points are selected on the surface for the section cut. Points 716 takes the form of an extensible markup language file, in these examples. Of course, these points may be saved in other types of data structures depending on the implementation.
Surface generation unit 704 creates surface files 718 based on processed part model 714. Master file 720 ties the different surfaces identified in surface files 718 together. In these examples, master file 720 contains a pointer to the surface file, including the path to its directory structure.
Each file within surface files 718 represents a portion of the surface of the part where sampling is to occur. Each file in surface files 718 includes, for example, without limitation, an identification of a point on the surface and other data used to identify and/or visualize the surface at that point. Core sampling unit 706 performs sampling using processed parts model 714, surface files 718, and master file 720. Core sampling unit 706 is used to perform the actual sampling. In these examples, core sampling unit 706 may be an OpenGL based application, program, and/or process. Of course, any type of application, program, and/or process that is capable of obtaining information about layers in a model may be used.
Core sampling unit 706 generates core sampling data 721. For example, master file 720 is used to identify a surface file from surface files 718 for processing or sampling. The identified surface file is used to perform sampling for the point identified by the surface file. This sampling generates data about different layers in a line below the sampling point in these illustrative examples. The line may be selected base on the damage axis that is identified.
In these examples, surface files 718 and master file 720 take the form of extensible markup language files. Core sampling data 721 also takes the form of an extensible markup language file, in these examples.
Output generation unit 708 takes core sampling data 721 and generates ply lay-up data 722. Ply lay-up data 722 may be, for example, a file or other document containing ply lay-up information in a form that is suitable for presentation. In these examples, the format takes the form of a portable document format. This format may include text, images, two dimensional vector graphics, or other information. Of course, ply lay-up data 722 may be stored using other formats. Other formats may provide a capability to display or view data using three dimensional graphics.
Turning now to FIG. 8, a block diagram illustrating components used to generate a part file is depicted in accordance with an advantageous embodiment. In this example, part file generation tool 800 is an example of part file generation tool 614 in FIG. 6. As depicted, part file generation tool 800 includes control process 802 and object creator 804. Control process 802 may send call 806 to computer aided design tool 808 to retrieve three dimensional model 810. In these examples, computer aided design tool 806 may be, for example, CATIA V5R17.
Control process 802 uses object creator 804 to create a three dimensional object for part file 812. Additionally, control process 802 also adds code 814 to part file 812 to complete part file 812. Control process 802 may be used to ensure that the transfer of three dimensional model 810 from computer aided design tool 808 is performed in a secure manner.
Turning now to FIG. 9, a diagram illustrating a part file is depicted in accordance with an advantageous embodiment. In this example, part file 900 includes three dimensional object 902 and code 904. Code 904 provides processes for receiving user input to identify a location on three dimensional object 902. Further, code 904 may include processes to send the location information to another process, such as part application 608 or data extraction tool 612 in FIG. 6.
In these examples, code 904 allows a user to select a location on three dimensional object 902. In these examples, code 904 takes the form of JavaScript®. JavaScript® is a scripting language typically used for client side web development. Of course, code 904 may be implemented using any type of language suitable for the particular implementation. JavaScript® is a registered trademark of Sun Microsystems, Inc.
The selection of this location may be translated into three dimensional coordinates, such as X, Y, and Z coordinates. Three dimensional object 902, in these examples, is a solid representation of the particular part. Three dimensional object 902 only provides a visual view of the part and does not include other information that may be found within a three dimensional model. In this manner, part file 900 may be smaller in size. The user may perform various manipulations of three dimensional object 902. These manipulations include rotate, zoom, measure, and change lighting.
When a user has confirmed the selection of the particular location on three dimensional object 902, the three dimensional location information is then transmitted to a part application, such as part application 608 in FIG. 6. In turn, the part tool may send the location data to a data extraction tool, such as data extraction tool 612 in FIG. 6. In other implementations, code 904 may directly send the location data to the data extraction tool.
In these examples, part file 900 may be implemented using a number of different types of files. For example, part file 900 may be, for example, a three dimensional PDF document. Further, other types of files may be created to contain three dimensional object 902. For example, three dimensional object 902 may be included in a word processing document generated using Word 2007 which is a product of Microsoft Corporation.
With reference now to FIG. 10, a diagram illustrating ply layout data is depicted in accordance with an advantageous embodiment. In this example, ply layout data file 1000 is an example of a file containing ply layout data for a particular part. Ply layout data file 1000 is an example of output 628 in FIG. 6. This data file may be transmitted as ply lay-up data 630 in FIG. 6.
Ply layout data file 1000 includes, in these examples, two dimensional ply stacking sequence drawing 1002, orientation information 1004, materials information 1006, and grid 1008.
In the different advantageous embodiments, two dimensional ply stacking sequence drawing 1002 is a two dimensional drawing identifying the stacking sequence for the particular section of the part selected by the user. Although the ply stacking sequence is presented as a two dimensional drawing in these examples, other embodiments may provide the ply stacking sequence information in different forms. For example, a table may be presented to identify the sequence of plies within the composite part.
Orientation information 1004 identifies the orientation of each ply within the stacking sequence. Materials information 1006 identified the type of material for each ply within the stacking sequence. Grid 1008, in these examples, provides a two dimensional diagram of the composite part in which the different sections are associated with the set of sections containing ply lay-up data.
In this example, ply layout data file 1000 contains a single section around the location selected by the user. In other advantageous embodiments, ply layout data file 1000 may include sections for other areas of the part in addition to the location selected by the user. Of course, ply layout data file 1000 may include other information in addition to or in place of information illustrated in these examples.
For example, ply layout data file 1000 also may include a three dimensional object identifying the location for which the ply layout data is provided. This three dimensional object may be the same three dimensional object used by the operator to select a location for which ply lay-up data is desired. The three dimensional object may be in addition to or in place of grid 1008, depending on the particular implementation.
With reference now to FIG. 11, a diagram illustrating a portion of a part is depicted in accordance with an advantageous embodiment. In this example, part 1100 may be a part found in part files database 616 in FIG. 6.
In this illustrative example, part 1100 has base surface 1102 and top surface 1104. Plies 1106 may be found between top surface 1104 and base surface 1102. In this illustrative example, plane 1108 intersects part 1100. In this example, the intersection may be substantially normal to top surface 1104 at line 1110. Plane 1108 is a virtual mathematical plane used as a boundary to form the intersection with part 1100 to identify ply data.
This planar intersection by plane 1108 may be performed using data extraction tool 612 in FIG. 6. In these examples, coordinates U and V may define the planar intersection with plies 1106 in part 1100. As shown in this illustrated example, part 1100 has U axis 1111 and V axis 1112. These axes are relative to plane 1108. Plane 1108 is used as a boundary with the coordinates defining the plane intersecting each ply within plies 1106 within part 1100.
The intersection with each ply in plies 1106 results in a line such as, for example, lines 1114, 1116, 1118, and 1120. In this illustrative example, each line represents a top portion of a ply intersected by plane 1108. Of course, other lines may be present depending on the number of plies present in the intersection of plane 1108 in part 1100. These lines may be described using UV coordinates that are relative to plane 1108. Further, the intersection represented by the lines may be given a linear approximation using XYZ coordinates. In other words, the UV coordinates for plane 1108 may be translated into XYZ coordinates, or some other coordinate system.
Based on this information, ply data may be obtained for each line within plane 1108. Each line may be placed on top of the next line starting from base surface 1102 all the way up through top surface 1104. This data may be used to generate a presentation of ply layup data for part 1100.
Turning now to FIG. 12, a diagram of a user interface for searching for lay-up data for composite parts is depicted in accordance with an advantageous embodiment. In this example, window 1200 provides a user interface for composite parts. Window 1200 is an example of a user interface, such as user interface 610 in FIG. 6.
In these examples, window 1200 contains fields 1202, 1204, 1206, 1208 and 1210. Field 1202 allows a user to select a model for the particular aircraft. Field 1204 allows a user to enter a part number for the composite part of interest. Field 1206 allows the user to enter a customer code to identify a specific customer. The code is a three digit alpha numeric code that identifies a customer. A part name may be entered in field 1208. This part name is an identifier of the part, such as a fastener, rib, or wing panel. A product may be entered in field 1210. Field 1210 allows the user to enter a product.
Window 1200 also includes fields 1212, 1214, and 1216. Field 1212 allows a user to select an aircraft identification type. Fields 1214 and 1216 allow a user to select from different airplanes of the particular type. The airplane identification type offers a choice of methods by which a specific airplane can be identified. Fields 1214 and 1216 then allow a user to enter the airplane identification for the specific airplane(s), such as, for example, the line number for the actual airplane that requires repair.
When the user has entered information for the search, the user may begin the search for the part file by selected control 1218. If the user wishes to re-enter or change some information, the user may select control 1220.
Turning now to FIG. 13, a diagram illustrating a user interface for searching for composite parts is depicted in accordance with an advantageous embodiment. In this example, window 1200 is shown as presenting examples of results from a search for composite parts. As depicted, entries 1300, 1302, 1304, and 1306 are examples of results returned from a search for a composite part. Each entry includes a part number, part name, revision identification, and status.
Further, each entry also allows a user to select a part for presentation. This selection may be made through icons 1308, 1310, 1312, and 1314. Selection of one of these icons initiates the display of a part file, such as part file 900 in FIG. 9. Alternatively, a user may manually submit a request for a section by selecting links 1316, 1318, 1320, or 1322. Selection of these links allows a user to manually enter location information for a particular part. In some embodiments, a user may desire to manually enter the location information if measurements of the actual part have been made.
Turning now to FIG. 14, a diagram illustrating a display of a part file is depicted in accordance with an advantageous embodiment. Display 1400 is an example of a display that may be presented within user interface 610 in FIG. 6. Display 1400 is an example of a part file that is displayed to obtain user input identifying a location on a composite part. In this example, display 1400 includes three dimensional object 1402, which is a solid three dimensional object from which a user may select a location on three dimensional object 1402 to obtain location information.
As depicted, three dimensional object 1402 is a solid representation of the composite part. Although a solid model is present in these examples, other types of representations may be used. For example, a surface model may be used. Other information that may be contained in a three dimensional model other than the graphical presentation of the part may be left out of the part file. In this manner, trade secret, confidential, or export controlled information may be maintained due to this type of distribution of information.
When the user selects a point on three dimensional object 1402, such as point 1404, window 1400 displays three dimensional coordinate information data 1406. In this example, this coordinate information includes X coordinate 1408, Y coordinate 1410, and Z coordinate 1412. As the user selects different points on three dimensional object 1402, three dimensional coordinate information 1406 displayed in window 1400 changes to indicate the selected location. In these examples, the selection may be made by moving a pointer, such as pointer 1416 to a desired location on three dimensional object 1402 and initiating a command. This command may be, for example, without limitation, a right-click of a mouse button or the pressing of a function key.
When the user has selected a particular point on which ply layout data is desired, the user may select control 1414 to send three dimensional coordinate information data 1406 to a server for processing. In these examples, three dimensional coordinate information data 1406 may be sent to part application 608 in FIG. 6, which in turns sends the information as location data 618 to data extraction tool 612 in FIG. 6. In other embodiments, location data 618 may be sent directly to data extraction tool 612 in FIG. 6.
With reference next to FIG. 15, a diagram illustrating ply lay-up data returned in response to sending location data is depicted in accordance with an advantageous embodiment. Display 1500 is an example of a display that may be presented through user interface 610 in FIG. 6. In this example, display 1500 presents ply lay-up data extracted from a three dimensional model in response to receiving location data about a particular part.
In this example, section 1502 in display 1500 shows a stacking sequence for eight plies. The identification of the sequence, the ply number, the orientation, and the material are shown in entries 1504, 1506, 1508, 1510, 1512, 1514, 1516, and 1518. These entries correspond to the display in section 1502. Entries 1504, 1506, 1508, 1510, 1512, 1514, 1516, and 1518 are for a particular section within the part.
The location of section 1502 may be identified through grid 1520. As described above, grid 1520 may be a three dimensional drawing of a top surface of the part with grid markings to associate section 1502 with the appropriate place on the part. In this particular example, grid 1520 includes sections 1522, 1524, 1526, 1528, 1530, 1532, 1534, 1536, 1538, and 1540. Each of these sections represents a section or cross-section of the composite part. These sections may also be referred to as cuts.
In these examples, the orientation of section 1502 and plies 1504, 1506, 1508, 1510, 1512, 1514, 1516, and 1518 is made relative to the part. An example, without limitation, is shown using reference axis 1542 is an axis system used to relate this ply lay-up data to grid 1520.
In this example, the display of information is for section 1532. Section 1532 is identified as being associated with section 1502 through a graphical indicator to identify the location on the part for which ply lay-up data is displayed. Each of these sections may be, for example, 9 inches, 6 inches, or 3 inches apart. The length of these sections may vary, depending on a selection by the user or a default value in these examples. Grid 1520 covers an entire part, in these examples. In this particular illustrative example, information for section 1502 is displayed. Reference axis 1542 may be included in the output file to show the orientation relationship of section 1502 and plies 1504, 1506, 1508, 1510, 1512, 1514, 1516, and 1518 relative to grid 1520.
In other embodiments, additional sections may be present in the lay-up data. These additional sections in the set of sections may be presented in the same manner as illustrated in display 1500. The different sections may be associated with other entries within grid 1520.
With reference now to FIG. 16, another example of a diagram illustrating ply lay-up data returned in response to sending location data is depicted in accordance with an advantageous embodiment. In this example, drawing 1600 presents ply lay-up data extracted from a three dimensional model in response to receiving location data by the particular part. Drawing 1600 is similar to display 1500 in FIG. 15.
In this advantageous embodiment, drawing 1600 also provides a drawing of the part. As can be seen, in this example, grid 1520 is overlaid or displayed on drawing 1600. Drawing 1600 is a two dimensional drawing of the part in this illustrative example. In other advantageous embodiments, drawing 1600 may take the form of a three dimensional drawing. If drawing 1600 takes the form of a three dimensional display that may be manipulated, manipulation or movement of drawing 1600 also results in grid 1520 moving in the same fashion because of the association of grid 1520 with drawing 1600.
With reference now to FIG. 17, a diagram illustrating an example of a three dimensional drawing in association with a grid identifying ply lay-up data is depicted in accordance with an advantageous embodiment. In this example, drawing 1700 is a three dimensional drawing of a wing with grid 1702 displayed or overlaid on drawing 1700. In this example, reference axis 1542 provides reference information to the orientation of drawing 1700 in grid 1702. In this illustrative example, other drawing information such as, for example, stacking sequences, ply number, orientation, and material also may be displayed in association with drawing 1700 in grid 1702. This information may be displayed on the same display or a separate display depending on the particular implementation.
Turning now to FIG. 18, a flowchart of a process for generating ply lay-up data is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 18 may be implemented in a software component, such as data extraction tool 612 in FIG. 6, in these examples.
The process begins by receiving a designation of the location on a composite part (operation 1800). In these examples, the designation of the location may be received as location data 618 in FIG. 6. Further, the designation also may include an identification of the part for which ply lay-up data is desired. The process then extracts the ply lay-up data for a section of the composite part within a three dimensional model containing the composite part to form extracted ply lay-up data (operation 1802).
Of course, depending on the particular implementation, more than one section may be extracted in operation 1802. Additionally, in other embodiments, the section extracted in operation 1802 may be sub-divided into a set of sections or sub-sections. Thereafter, the extracted ply lay-up data is sent to the requester (operation 1804). The process then performs the maintenance operation on the composite part using the extracted ply lay-up data (operation 1806). The process terminates thereafter.
With reference now to FIG. 19, a flowchart of a process for generating a section cut is depicted in accordance with an advantageous embodiment. The process in FIG. 19 is a more detailed explanation of operation 1802 in FIG. 18.
The process begins by receiving the location data (operation 1900). The process finds the composite part (operation 1902). In these examples, the composite part may be identified from the part application that may be received from the location information. The process then finds the surface and rosette for the part (operation 1904). A rosette is an axis system in which the ply orientations are defined, on the Z=0 plane relative to the X axis. Reference axis 1542 in FIG. 15 is an example of a rosette.
Next, the process creates an axis system at the selected location (operation 1906). The selected location is identified from the coordinate information received in the location data. In these examples, the axis system has a Z vector normal to the surface of the composite part. The axis system has an X vector that is parallel to the x-axis of the rosette.
The process identifies the size of the part (operation 1908). The process then selects a set of sections using the size of the part (operation 1910). In identifying or selecting the set of sections, a number of sections and the location of the sections may be selected. Default or maximum sizes for the sections may be identified. For example, the area to be cut may be no more than 18 inches on either side of the X=0 and Y=0 planes. The set of sections may be, for example, a set of subsections for a section around the location selected by the user. For example, the set of sections may be subdivided from a section that is 0.5 yards to the right and left of the location and 0.5 yards above and below the location.
The process then creates section cuts (operation 1912). Operation 1912 is used to identify the ply stacking sequence, in these examples. In generating section cuts, the process generates the section cuts along the x-axis first, then along the y-axis.
Additionally, the process retrieves orientation and material information for the sections (operation 1914). The process then creates the output file (operation 1916), with the process terminating thereafter. In these examples, the output file includes the section cuts as well as the orientation and material data. Further, a grid may be present to identify the location of each section.
Turning now to FIG. 20, a flowchart of a process for creating section cuts is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 20 is a more detailed description of operation 1912 in FIG. 19. The process in FIG. 20 may be implemented in a software component such as, for example, data extraction tool 700 in FIG. 7. The process in FIG. 20 is an example of a process that may be used to generate ply layup data as described with respect to FIG. 1100 in FIG. 11.
The process begins by identifying a base surface supporting the plies at the selected location (operation 2000). Next, the base surface is intersected with a plane (operation 2002). A linear approximation of the surface and a plane intersection is performed (operation 2004).
The resulting U and V coordinates are stored in a base coordinates array (operation 2006). The process generates intersections between the plane and the ply. A linear approximation of the resulting intersection is performed. The result is a series of points with x, y, and z coordinates. The points are all on the plane, which has its own u, v coordinate system. The values that are stored are the u and v coordinates of the point on the plane, relative to the plane origin.
These coordinates are copied into a top coordinates array (operation 2008). At this point, the base coordinates array and the top coordinates array have the same values. As processing of the different plies in the section occur, the top coordinates array is updated. The final resulting values for the top coordinates array is the top surface of the upper most ply in the section.
Thereafter, an unprocessed ply intersected by the plane closest to the base surface is identified (operation 2016). A linear approximation of the ply and plane intersection is performed (operation 2018). The resulting U and V coordinates are stored in a coordinate array (operation 2020).
Next, a determination is made as to whether the direction of the coordinates in the coordinate array is the same as the direction of the coordinates in the base coordinate array (operation 2022). If the coordinates are not in the same direction in the two arrays, the direction of the values for the coordinates in the coordinate array are reversed to match the same direction as the base coordinate array (operation 2024).
When the ply/plane intersection is performed, the result is one or more curves. These curves have inherent start and end points used by the process. The process projects the start and end points of the segment in a direction normal to the base coordinate array onto the top coordinate array (operation 2026). The process proceeds directly to this operation from operation 2022 if the direction of the coordinate array and the base coordinate array are the same.
The process offsets the portion of the top coordinates array between the segment end points by the thickness of the ply (operation 2028). Operation 2028 changes the values in the top coordinate array to reflect the top of the ply that is being processed. The offset represents the plies actual position in space. The process then updates the top coordinate array to reflect the top of the ply (operation 2030).
The end points of the ply/plane intersection curve are projected onto the line segments defined in the top coordinate array, defining the bottom of the ply. The segments between the endpoints are offset by the scaled thickness, defining the top of the ply. Next, a determination is made as to whether additional unprocessed plies are present (operation 2032). If additional plies are present, the process returns to operation 2016 as described above to select another ply for processing.
If additional unprocessed plies are not present, the process then draws or creates the offset segments for each of the plies for the output (operation 2034). These offset segments for the plies are used in a two dimensional drawing to identify the ply stacking sequence. The process labels the segments so that each segment may be identified (operation 2036), with the process terminating thereafter.
In these examples, operations 2000-2026 may be implemented in a unit such as, for example, core identification unit 702 within data extraction tool 700 in FIG. 7. Operations 2028 and 2030 may be implemented in a unit such as, for example, core sampling unit 706 in FIG. 7. Operations 2034 and 2036 may be implemented in a unit, such as output generation unit 708 in FIG. 7.
Turning now to FIG. 21, a flowchart of a process for selecting a location on a part is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 21 may be implemented in a software component, such as code 904 in part file 900 in FIG. 9.
The process begins by displaying the three dimensional object in the part file (operation 2100). The process then waits for a user input (operation 2102). This user input may take various forms, such as, for example, without limitation, manipulating the three dimensional object, selecting a location on the three dimensional object, and submitting the location information to obtain ply lay-up data.
A determination is made as to whether the user input is to manipulate the three dimensional object (operation 2104). If the user input is to manipulate the three dimensional object, the selected manipulation is performed (operation 2106), with the process then returning to operation 2102. In operation 2106, the user may perform various actions, such as, for example, rotate the object, zoom, or pan.
If in operation 2104 the user input is not to manipulate the three dimensional object, a determination is made as to whether the user input selects a location on the three dimensional object (operation 2108). If the user input selects a location, the location identification is identified based on the user selection (operation 2110). The location information is displayed (operation 2112), with the process then returning to operation 2102 as described above. This location information may be, for example, in the form of X, Y, and Z coordinates.
With reference again to operation 2108, if the user does not select a location, a determination is made as to whether the user is to submit location information (operation 2114). If the user is to submit the location information, the process sends the location information (operation 2116), with the process terminating thereafter. In these examples, the location information may be sent to another application, such as, for example, part application 608 or data extraction tool 612 in FIG. 6.
Turning back to operation 2114, if the user input is not a submission of the location information, a determination is made as to whether the user has decided to end the process (operation 2118). If the user has decided to end the process, the process terminates. Otherwise, the process returns to operation 2102 to wait for additional user input. In this instance, the user input is some input not handled by the process illustrated in this figure.
Turning now to FIG. 22, a flowchart for creating part files is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 22 may be implemented in a software component, such as part file generation tool 614 in FIG. 6 to make part files for part files database 616 in FIG. 6. An example of a part file is part file 900 in FIG. 9.
The process begins by selecting an unprocessed part (operation 2200). Thereafter, the process sends a call to the computer aided design application for a three dimensional object for the part (operation 2202). This call may be made through various application program interface calls that are available on many computer aided design programs. In these examples, the computer aided design program may be CATIA V5R17. The process then receives a three dimensional model in response to the call (operation 2204).
The process creates a three dimensional object in a file from the three dimensional model (operation 2206). Operation 2206 creates a three dimensional object without additional data that may be present in the three dimensional model. Operation 2206 may be performed using a software program such as, for example, the Right Hemisphere 5 platform.
Thereafter, code is added to the file to enable identification of three dimensional coordinate information (operation 2208). Operation 2208 may add a code, such as code 904 in FIG. 9. Thereafter, the completed file is stored in a parts file database (operation 2210). The process then determines whether additional unprocessed parts are present (operation 2212). If additional unprocessed parts are present, the process returns to operation 2200 to select another unprocessed part; otherwise, the process terminates.
With reference now to FIG. 23, a flowchart of a process for creating ply lay-up data is depicted in accordance with an advantageous embodiment. The process illustrated in FIG. 23 may be used to generate ply lay-up data such as, for example, the ply lay-up data presented in display 1500 in FIG. 15 and the ply lay-up data displayed in drawing 1600 in FIG. 16. This process may be implemented in a software component such as, for example, data extraction tool 700 in FIG. 7.
The process begins by receiving a location on a part (operation 2300). Next, the process creates an axis system at the location in the model of the part (operation 2302). This axis system has an axis that is normal to the surface at the location in the model in the part. In these examples, this axis may be a z-axis that is normal to the surface at the location and also may be referred to as a damage axis. This axis system may be parallel to a reference axis, such as reference axis 1542 in FIG. 15.
The process creates section cuts using the axis system (operation 2304). In these examples, these section cuts may take the form of planes that intersect the surface and plies below the surface. The process identifies points for core sampling (operation 2306). In these examples, the points are points for the section cuts. The identified points are stored in a file (operation 2308). In these examples, this file may be, for example, an extensible markup language file. The process saves the model of the part containing the axis system in the section cuts (operation 2310).
The process then creates a set of files based on the surface in the model of the part (operation 2312). These files are created from the points identified for core sampling. These files may be referred to as surface files. Each file in this set of files is based on a portion of the surface associated with an identified point. The process creates a master file (operation 2314). This master file ties together or identifies all of the files in the set of files. The collective set of files identifies locations for samples. Each file provides a location for core sampling to be performed. In other words, each file may correspond to a point identified in operation 2308.
The process selects an unprocessed file from the set of files using the master file (operation 2316). The process performs core sampling of data at the point identified in the file (operation 2318). The core sampling results in identifying core sample data for the point. This data may also be referred to as sampled data. The process stores the core sample data (operation 2320). This core sample data contains information regarding the surface and plies below the surface at the point identified by the file. A determination is made as to whether additional unprocessed files are present (operation 2322). If additional unprocessed files are present, the process returns to operation 2316.
Otherwise, the process creates an output file based on the stored core sample data (operation 2324), with the process terminating thereafter. In operation 2324, the output may take various forms. For example, the output may be stored in a portable document format file that may contain text, images, and two dimensional graphics that may be manipulated. Of course, in other advantageous embodiments, other types of formats may be used. In some formats, the file may include a three dimensional graphical image or model that may be manipulated.
The description of the different advantageous embodiments has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. Although the different advantageous embodiments have been described with respect to aircraft, other advantageous embodiments may be applied to other types of objects. For example, other advantageous embodiments may be applied to a mobile platform, an aircraft, a spacecraft, an aquatic vehicle, a land vehicle, a stationary platform, a land-based structure, an aquatic-based structure, and a space-based structure.
1. A method for providing ply lay-up data for a composite part, the computer implemented method comprising:
receiving a designation of a location for the composite part in a three dimensional object from a requester;
creating an output file containing a drawing of the composite part overlaid with a grid two dimensional drawing for containing the section and the ply lay-up data identifying a ply stacking sequence, an orientation of each ply in the ply stacking sequence, and a material for the each ply in the ply stacking sequence; and
returning the output file to the requester.
creating an output file containing a drawing of the composite part overlaid with a grid two dimensional drawing for containing the section and the ply lay-up data identifying a ply stacking sequence, an orientation of each ply in the ply stacking sequence, and a material for the each ply in the ply stacking sequence, wherein the drawing is selected from one of a two dimensional drawing and a three dimensional drawing of the composite part.
3. The method of claim 1, wherein the receiving, opening, extracting, creating, and returning steps are performed on a server computer.
performing a maintenance operation on the composite part using the output file.
receiving a designation of a location for the composite part in a three dimensional object from a requester, wherein the three dimensional object is selected from one of a mobile platform, an aircraft, a spacecraft, an aquatic vehicle, a land vehicle, a stationary platform, a land-based structure, an aquatic-based structure, and a space-based structure.
extracting the ply lay-up data for a section of the composite part within a three dimensional model containing the composite part to form extracted ply lay-up data, wherein the extracted ply lay-up data comprises a grid with a drawing of the composite part, wherein the section is located within the grid; and
sending a response extracted ply lay-up data to the requester.
7. The computer implemented method of claim 6, wherein the extracted ply lay-up data further comprises a set of ply stacking sequences, a set of ply orientations, and a set of ply materials.
9. The computer implemented method of claim 6, wherein the extracting step comprises:
identifying the section from the location;
creating a drawing of the composite part with a grid containing the section;
10. The computer implemented method of claim 9, wherein the drawing is selected from one of a two dimensional drawing and a three dimensional drawing.
11. The computer implemented method of claim 6, wherein the composite part is for one of a mobile platform, an aircraft, a spacecraft, an aquatic vehicle, a land vehicle, a stationary platform, a land-based structure, an aquatic-based structure, and a space-based structure.
12. A method for obtaining lay-up data for a composite part, the method comprising:
receiving the lay-up data for the composite part in response to sending the request, wherein the lay-up data comprises a drawing of the composite part associated with a grid including the selected location and additional ply lay-up data for a set of plies in a section associated with the selected location.
receiving an output file having the drawing of the composite part associated with a grid including the selected location and wherein the additional ply lay-up data for a set of plies in the section associated with the selected location includes a stacking sequence, a ply orientation, and a material for each ply in the section associated with the selected location.
displaying the output file.
a data extraction tool located on the server data processing system, wherein the data extraction tool receives the location on the composite part, extracts lay-up data for a section around the location from a three dimensional model containing the composite part to form extracted lay-up data comprising a drawing of the composite part overlaid with a grid containing the section and other ply lay-up data, and returns the extracted lay-up data to the client data processing system.
16. The apparatus of claim 15, wherein the other ply lay-up data comprises a set of ply stacking sequences, a set of ply orientations, and a set of ply materials.
17. The apparatus of claim 15, wherein the drawing is selected from one of a two dimensional drawing and a three dimensional drawing.
18. A computer program product for providing ply lay-up data for a composite part, the computer program product comprising:
program code, stored on the computer readable medium, for receiving a location on the composite part from a requester;
program code, stored on the computer recordable storage medium, for extracting the ply lay-up data for a section of the composite part within a three dimensional model containing the composite part to form extracted ply lay-up data, wherein the extracted ply lay-up data comprises a grid with a drawing of the composite part, wherein the section is located within the grid; and
program code, stored on the computer recordable storage medium, for sending the extracted ply lay-up data to the requester.
19. The computer program product of claim 18, wherein the program code, stored on the computer recordable media, for extracting ply lay-up data for the section of the composite part within the three dimensional model containing the composite part to form the extracted ply lay-up data comprises:
program code, stored on the computer recordable storage medium, for identifying a section from the location;
program code, stored on the computer recordable storage medium, for creating a drawing of the composite part with a grid containing the section;
program code, stored on the computer recordable storage medium, for forming a two dimensional drawing of plies in the section;
program code, stored on the computer recordable storage medium, for associating ply orientation data with the plies; and
program code, stored on the computer recordable storage medium, for associating material data with the plies.
20. The computer program product of claim 18, wherein the drawing is selected from one of a two dimensional drawing and a three dimensional drawing.
US12/192,162 2007-10-25 2008-08-15 Method and apparatus for composite part data extraction Active 2030-02-12 US8285407B2 (en)
US11/924,107 US8321180B2 (en) 2007-10-25 2007-10-25 Method and apparatus for composite part data extraction
US12/192,162 US8285407B2 (en) 2007-10-25 2008-08-15 Method and apparatus for composite part data extraction
US11/924,107 Continuation-In-Part US8321180B2 (en) 2007-10-25 2007-10-25 Method and apparatus for composite part data extraction
US20090112820A1 true US20090112820A1 (en) 2009-04-30
US8285407B2 US8285407B2 (en) 2012-10-09
ID=40584169
US12/192,162 Active 2030-02-12 US8285407B2 (en) 2007-10-25 2008-08-15 Method and apparatus for composite part data extraction
US (1) US8285407B2 (en)
CN103890764A (en) * 2011-10-23 2014-06-25 波音公司 Geometric modeling of a composite part including a ply-stack up and resin
EP2759946A1 (en) * 2013-01-28 2014-07-30 The Boeing Company Panoptic visualization of elements of a complex system using a model viewer
US20010045148A1 (en) * 2000-05-26 2001-11-29 Thomas Gerent Method for cutting a layup of sheet material
US7869982B2 (en) * 2005-11-09 2011-01-11 The Boeing Company Tape course generation method and apparatus for programming a composite tape lamination machine
2008-08-15 US US12/192,162 patent/US8285407B2/en active Active
US7513965B2 (en) * 2004-04-21 2009-04-07 Ingersoll Machine Tools, Inc. Performing high-speed events “on-the-fly” during fabrication of a composite structure by automated fiber placement
US8103101B2 (en) * 2005-06-22 2012-01-24 Konica Minolta Medical & Graphic, Inc. Region extraction system, region extraction method and program
WO2011046686A1 (en) * 2009-10-13 2011-04-21 The Boeing Company Composite information display for a part
JP2013507714A (en) * 2009-10-13 2013-03-04 ザ・ボーイング・カンパニーＴｈｅ Ｂｏｅｉｎｇ Ｃｏｍｐａｎｙ Displaying composite information of parts
CN102687150A (en) * 2009-10-13 2012-09-19 波音公司 Composite information display for a part
AU2013263764B2 (en) * 2013-01-28 2015-11-05 The Boeing Company Panoptic visualization of elements of a complex system using a model viewer
CN103970823A (en) * 2013-01-28 2014-08-06 波音公司 Panoptic Visualization Of Elements Of A Complex System Using A Model Viewer
US8285407B2 (en) 2012-10-09
JP6145450B2 (en) 2017-06-14 Part management method and management system
KR100949688B1 (en) 2010-03-29 A graphical method for navigating in a database of modelled objects
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KESSEL, JAMIE A.;FISHER, PHILLIP J.;SHIRRON, PAUL J.;AND OTHERS;REEL/FRAME:021394/0448