Abstract:
Managing attribute information to provide output for other applications (e.g., applications for generating manufacturing instructions) may involve identifying attribute information associated with instances of a selected item type (e.g., parts fasteners). For example, in the case of fasteners, each of the instances of the selected item type is associated with a common part or product. The instances of the selected item type may then be sorted into initial groups based on grouping criteria such as part ID number, etc. Proximity rules may then be applied to the sorted instances. Applying proximity rules to the sorted instances may include grouping the instances into groups depending on whether or not have common relationships with other items. For example, in the case of fasteners, the proximity rules may involve determining whether each fastener passes through the same set of solids and/or shares common attributes.

Description:
BACKGROUND  
       [0001]     Complex products such as airplanes, automobiles, and computers typically go through both a design stage and a manufacturing stage. During the design stage, design engineers plan the product using specifications, drawings, plans, and models that include descriptive information, graphical information, numerical information, mathematical information, etc. During the manufacturing stage, manufacturing engineers use the design engineers&#39; drawings, plans, and models to build the product itself. Depending on how complex the product is, the manufacturing process is broken down and organized into more manageable portions, so that the complex product can be built efficiently and effectively.  
         [0002]     Currently, complex product design is often aided through the use of computers and computer software that allow for design data input, processing, and modeling. In addition, computers and computer software allow for the reuse of design information (e.g., so that a design engineer does not have to “reinvent the wheel” each time he or she goes to design a new product). For example, design engineers may use computer-aided-drafting/design (CAD) software to help in designing drawings and plans. Some CAD products also have modeling capabilities that use attribute information from product/part designs to build three-dimensional models that can be used for testing and other uses. An example of such a software package is CATIA, by Dassault Systèmes S.A., of France. CATIA is an integrated suite of computer aided design (CAD), computer aided engineering (CAE), and computer aided manufacturing (CAM) applications for product definition and simulation. In general, software packages like CATIA allow manufacturers to facilitate industrial design processes from the pre-project phase through detailed design, analysis, simulation, assembly, and maintenance.  
         [0003]     On the manufacturing side, part/product attribute information from computer generated drawings, plans, bills of materials, and models may be used to create work instructions and manufacturing process plans for use by manufacturing engineers. However, it is not always easy to capture such part/product attribute information for this type of use, and several data management issues may arise with respect to how data is collected an organized. An example of specific part/product attribute information relates to fasteners and the holes through which those fasteners fit. In some existing technologies, fastener collector files are used to manage large quantities of fastener and hole attribute information. However, because of the way it is configured, the information in these fastener collector files is not conducive in allowing manufacturing engineers to conduct process planning and work instruction authoring activities. For example, as shown in  FIG. 1 , attribute data in the fastener collectors files may be captured in a format that is difficult for humans to work with. It may also be incompatible with manufacturing-side computerized processes.  
       SUMMARY  
       [0004]     An attribute information collector facility that logically gathers item attribute information, such as design engineering data and geometry information from design models, is provided herein. In some embodiments, based on a common data scheme the collector facility sorts/groups items based on initial grouping criteria, such as geometry information and part attributes collected from an engineering product definition. The collector facility may then perform proximity checking to further group the items so that the resulting groups include items located in a contiguous volume, and/or that have similar relationships to other items. For example, the items can be fasteners (and associated holes) used to assemble parts together in a manufacturing process (e.g., in the aerospace industry). In the case of fasteners, the proximity checking may include identifying fasteners that pass through the same set of parts. Manufacturing requirements may also play a role in the grouping. In another example, the items can be spot welds (e.g., used in the automotive industry). The grouping of spot welds can then be used, for example, in generating welding robot programming instructions. The collector facility may be used to group other items as well (e.g., other parts used in manufacturing, retail items, items in a database, etc.).  
         [0005]     Information related to the item groupings (including, e.g., the attribute and geometry information) may be captured in a collector data structure, which includes information that may be subject to additional processing or display. For example, in the case of fasteners, the collector utility may organize fasteners and their related holes into logical fastener working group objects. Via the groupings, the facility allows manufacturing engineers to easily consume individual item information (e.g., fastener and hole information), which can otherwise constitute a very large amount of information in a large product, such as an airplane. In addition, the information relating to the item groupings can be used in other processes (e.g., in authoring work instructions related to hole drilling and fastener installation). More specifically, with respect to fasteners, these groupings allow for work instructions to be more easily generated because they help to determine how a part can be most easily and efficiently assembled. For example, instructions generated based on the groupings may allow the manufacturing engineer to work most efficiently because the fasteners in each group are such that they can be installed in sequence using more or less the same parts, machines, techniques, tools, placements, etc. In other words, the groupings may be such that is most efficient to install fasteners in the order that they are grouped, rather than in some other order. Thus, in some embodiments, the collector facility may be used to improve the accuracy of resulting manufacturing work instructions, simplify manufacturing configuration management activities, increase efficiency and productivity, and provide other benefits. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0006]      FIG. 1  is a display diagram showing an example of a fastener collector file.  
         [0007]      FIG. 2  is a block diagram showing a representative environment in which some embodiments of the facility can be implemented.  
         [0008]      FIG. 3  is block diagram showing sample contents of the engineering design database of  FIG. 2  in an embodiment.  
         [0009]      FIG. 4  is a data diagram showing various data types that can be associated with fasteners and fastener attribute information in an embodiment.  
         [0010]      FIG. 5  is a dated diagram showing an object-oriented implementation of a fastener group in an embodiment.  
         [0011]      FIG. 6  is a flow diagram showing an example of a routine for grouping fasteners as performed by the facility in an embodiment.  
         [0012]      FIG. 7  is a display diagram showing a sample fastener grouping based on a model diagram in an embodiment. 
     
    
     DETAILED DESCRIPTION  
       [0013]     An attribute information collector facility that logically gathers design engineering data and geometry information from design models is provided herein. Certain specific details are set forth in the following description and in  FIGS. 2-7  to provide a thorough understanding of various embodiments of the facility. Well-known structures, systems and methods often associated with computer aided design/computer aided engineering/computer aided manufacturing (CAD/CAE/CAM) environments have not been shown or described in detail to avoid unnecessarily obscuring the description of the various embodiments of the invention. Those of ordinary skill in the relevant art will understand that additional embodiments of the present invention may be practiced without several of the details described below.  
         [0014]     Many embodiments of the facility described below may take the form of computer-executable instructions, including routines executed by a programmable computer (e.g., a computer-controlled design process). Those skilled in the relevant art will appreciate that the facility and associated aspects can be practiced with other computer system configurations as well. The facility and associated aspects can be embodied in a special-purpose computer or data processor that is specifically programmed, configured, or constructed to perform one or more of the computer-executable instructions described below. Accordingly, the term “computer” as generally used herein refers to any data processor and includes Internet appliances, hand-held devices (including palm-top computers, wearable computers, cellular or mobile phones, multi-processor systems, processor-based or programmable consumer electronics, network computers, minicomputers and the like).  
         [0015]     The facility can also be practiced in distributed computing environments, where tasks or modules are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules or subroutines may be located in both local and remote memory storage devices. Aspects of the invention described below may be stored or distributed on computer-readable media, including magnetic and optically readable and removable computer disks, as well as distributed electronically over networks. Data structures and transmissions of data particular to aspects of the invention are also encompassed within the scope of the invention.  
         [0016]      FIG. 2  is a block diagram showing an example of a representative environment  200  in which some embodiments of the facility can be implemented. The representative environment  200  includes a computer aided drafting (CAD) application  205  that a design engineer at a design engineer station  210  may use to create models, plans, bills of materials, drawings, etc., relating to a product or part that the engineer is designing. The information generated using the CAD application  205  may be stored in an engineering design database  215 . An example of the contents of the engineering design database  215  is described in more detail with respect to  FIG. 3 .  
         [0017]     With respect to the manufacturing side of the representative environment  200 , a manufacturing engineer at a manufacturing engineer station  220  uses a manufacturing application  225  to facilitate the manufacture of products and parts designed by the design engineer. In some embodiments, the manufacturing application  225  is associated with the CAD application  205  via a common application environment (e.g., CATIA V5) (not shown). In other embodiments, they are separate applications that may or may not be joined via a common interface. The manufacturing application  225  may access a manufacturing information database  230  containing information used during the manufacturing process. For example, the manufacturing information database  230  may include information about manufacturing requirements, manufacturing machine requirements, manufacturing process, best practices, materials information, etc. The manufacturing information database  230  may also include process plans and work instructions, such as process plans  250  and work instructions  255  generated using a collector facility  235  and process plans and work instructions generated using other means.  
         [0018]     In some embodiments, the collector facility  235  takes input information from the engineering design database  215  (e.g., models, plans, building materials, drawings, etc.) along with data scheme information  240  and manufacturing requirements  245  (which may be stored in the manufacturing information database  230 ) and generates output  247  (e.g., group output) that may be used in the creation of manufacturing process plans  250 , work instructions  255 , etc., which may then be stored in the manufacturing database  230  and used during product manufacture. For example, in some embodiments, functionality associated with the manufacturing application  225  may use the output  247  of the collector facility  235  to create step by step instructions on how to install fasteners into a group of parts. Various aspects of the collector facility  235  and its input and output are described in more detail with respect to  FIGS. 3-7 .  
         [0019]      FIG. 3  is a block diagram showing the engineering design database  215  of  FIG. 2 . The engineering design database  215  may include various aspects of design information generated by design engineers using the CAD application  205  of  FIG. 2 , some of which may be used by the collector facility to generate output for use in creating manufacturing instructions, processes, etc. The engineering design database  215  may include three-dimensional model information  305 , engineering drawings to  310 , design plans  315 , attribute information  320 , bill of materials information  325 , parts information  330 , product information  335 , etc. A more specific example of the types of information in the database  215  may include fastener collector files that store attribute information.  
         [0020]      FIG. 4  is a data diagram showing an example of attributes for a fastener in a complex product or part. The attributes may include fastener part number  405 , nut part number  410 , washer number  415 , collar number  420 , solids penetration information  425 , surface/planar space location information  430 , fastener head orientation  435 , hold type information  440 , shave requirements information  445 , etc. In some embodiments, the collector facility checks for matches among these attributes when determining how to group fasteners. An example of this is illustrated in more detail with respect to  FIG. 7 .  
         [0021]      FIG. 5  is a data diagram showing an arrangement of data in a fastener group object, such as would be present in an object oriented programming scheme. In the illustrated embodiment, the fastener group object  505  is a parent group object with various children, each representing an instance of a fastener  510 . The configuration of fastener group data illustrated in  FIG. 5  is merely one configuration, and other configurations are possible, including non-object oriented configurations. In general, the collector facility may be configured so that the arrangement of data used as output is most useful to the applications making use of that data (e.g., a manufacturing application).  
         [0022]      FIG. 6  is a flow diagram showing an example of a routine  600  for grouping fasteners as performed by the facility in some embodiments. At block  605  the routine  600  searches all fastener, hole and part attribute information in a given fastener file. At block  610  the routine  600  sorts fasteners and their associated attributes based on given criteria. One example of criteria includes attribute matching. For example, the criteria may specify that all fasteners having matching part ID numbers and matching collar numbers are sorted or grouped together. Examples of other attributes that may be used in the sorting are illustrated in  FIG. 4 . The given criteria may be predefined generically and/or customized for the particular part/product, including end user defined criteria. At block  615  the routine  600  generates initial groupings based on the sorting at block  610 .  
         [0023]     At block  620  the routine  600  conducts a proximity check for a first group in the initial grouping. For example, this group may contain similar fasteners that may or may not be proximate in location with respect to a given part or group of parts. Accordingly, proximity checking may include conducting a contiguous volume search with respect to fasteners in an initial group. Proximity checking may also include analyzing the parts or grouping of parts through which fasteners in a group pass and other techniques. An example of a set of possible proximity groupings is illustrated with respect to  FIG. 7 .  
         [0024]     At decision block  625  if the next fastener in the group being tested is proximate to the first fastener in that group, then the routine  600  continues at block  630 , where the fastener is placed in a subgroup with the first (proximate) fastener. Otherwise, the routine  600  places the fastener in another group with proximate fasteners (block  650 ) or forms a new group for that fastener. After block  650  the routine  600  proceeds to block decision block  635 , where the routine  600  determines whether or not there are more fasteners in the current initial group to check. If there are more fasteners, the routine  600  loops back to block  625  to check the next fastener. Otherwise, the routine  600  continues at block  640  where the routine  600  returns a grouping output (e.g., consistent as a group of proximate and related fasteners). At decision block  645 , the routine  600  determines whether or not there are more initial fastener groups to check. If there are more initial fastener groups to check, the routine  600  loops back to block  620 . Otherwise the routine  600  ends.  
         [0025]      FIG. 7  is a display diagram showing an example of groupings with respect to a three-dimensional model consisting of four parts: Part  1   705 , Part  2   710 , Part  3   715 , and Part  4   720 . The four parts ( 705 ,  710 ,  715 , and  720 ) are joined together using multiple fasteners, which the facility has sorted into groups based on simulators with respect to fastener attributes and with respect to proximity. The groups include Group  1   725 , Group  2   730 , Group  3   735 , and Group  4   740 . The bottom of the display diagram shows attribute information for each of the groups including attribute information for Group  1   745 , attribute information for Group  2   750 , attribute information for Group  3   755 , and attribute information for Group  4   760 . As shown, the attribute information for each group includes hole ID information, diameter information, tolerance information, countersink information, cold work information, wet install information, fastener type information, fastener number information, grip length information, and mate information. The mate information includes an indication of each of the parts through which the fastener will pass when fully assembled. The group attribute information ( 745 ,  750 ,  755 , and  760 ) may also include a quantity indicator, indicating the quantity of fasteners within that group. For example, Group  2   740  includes one fastener while Group  4   740  includes five fasteners.  
         [0026]     From the foregoing, it will be appreciated that specific embodiments have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention and aspects of the invention described in the context of particular embodiments may be combined or eliminated in other embodiments. For example, while certain embodiments describe the collection and grouping of information relating to fasteners, the facility may be applied to other items besides fasteners in other embodiments. For example, the facility may be applied to group/organize other types of parts, inventories, etc.  
         [0027]     Although advantages associated with certain embodiments of the invention have been described in the context of those embodiments, other embodiments may also exhibit such advantages. Additionally, none of the foregoing embodiments need necessarily exhibit such advantages to fall within the scope of the invention. Accordingly, the invention is not limited except as by the appended claims.