System for permanently retaining multi dimensional CAD part information in the form of a tag within a part file
FIELD OF THE INVENTION 
     The present invention relates to data files containing part information and more particularly, to data files containing part information as well as related part summary information. 
     BACKGROUND OF THE INVENTION 
     When designing mechanical parts, it is known to use computer aided design/computer aided manufacturing (CAD/CAM) tools such as the computer aided design tool available from Parametric Technology Corp (PTC) under the trade designation Pro/ENGINEER. Other examples of CAD tools include the AUTOCAD, CADKEY, INTERGRAPH and ANVIL CAD tools. Computer aided design tools produce data files which contain multi-dimensional part information necessary for fabricating the mechanical part. The data files are often stored in the form of a database. After the mechanical part is designed, the data file representing the part is often transferred to another location, e.g., the location of a vendor, where the part is fabricated. It is desirable for the CAD tool to provide the data file in a format which is an easily accessible and readable file format; i.e., in a format which is accessible by different types of CAD and fabrication tools. 
     One common file format which provides the attributes of being easily accessible and readable is the Initial Graphics Exchange Specification (IGES) format. Files conforming to the IGES format contain all of the multi-dimensional information necessary to fabricate the part. However, the IGES format does not contain easily accessible textual information such as part summary information. This part summary information may include the part number of the mechanical part, the revision level of the mechanical part and the date. The part summary information may also include the part volume. 
     Accordingly, a variety of other methods may be used in transferring the part summary information with the part data file. For example, the part summary information may be faxed to the vendor when the data file is sent by modem to the vendor, the part summary information may be sent by electronic mail which is attached to the data file, the part summary information may be written on a diskette on which the data file is stored, the part summary information may be shown on a drawing which accompanies the data file or the part summary information may be verbally communicated to the vendor. However, in each of these methods, because the part summary information is not attached to the data file, the part summary information may be easily separated from the data file. Additionally, a vendor may have several versions of data files for the same mechanical part, thus making it difficult to determine which is the latest version of the part. 
     The IGES file format includes a provision for providing a text header within the IGES data file. However, this provision requires that the IGES data file be opened as a text file to look at the text header. To access this information, the user must know that the text header including the part summary information is present. Additionally, when the IGES data file is accessed and converted to a file format which conforms to the CAD system of a vendor, the IGES text header is disconnected from the IGES data file and thus is not available to the vendor. 
     SUMMARY OF THE INVENTION 
     It has been discovered that providing a representation of a multi-dimensional part with a multi-dimensional part summary information tag advantageously allows part summary information to be easily accessible and visible to users who access the part data file. 
     It has also been discovered that storing in a part data file a representation of a multi-dimensional part along with a representation of a multi-dimensional part summary information tag advantageously allows transfer of the part summary information in a way which is easily accessible to users who access the part data file. 
     In a preferred embodiment, the invention relates to a method for retaining part information for a part having a part geometry where the part geometry is stored within a geometry data file of a part data file. The method includes the steps of accessing the geometry data field of the part data file, generating a part information tag, the part information tag having a part information tag geometry, coupling the part information tag to the part geometry, and saving the part geometry and the part information tag within the part data file. 
     In another preferred embodiment, the invention relates to a system for retaining part information for a part where the part corresponds to a part data file. the system includes a non-volatile memory which is readable by a computer system, a geometry data field stored on the non-volatile memory and an informational data field stored on the non-volatile memory. The geometry data field stores multi-dimensional part information. The informational data field stores multi-dimensional information. The information data field is coupled to the geometry data field. 
     In another preferred embodiment, the invention relates to a method of presenting part information to a user of a computer system. The computer system includes a processor, memory coupled to the processor, and a screen coupled to the processor and the memory. The method includes the steps of presenting on the screen a screen presentation of a part having a part geometry corresponding to a geometry data field, and presenting on the screen a part information tag corresponding to a informational data field, the information data field being coupled to the geometry data field. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a block diagram of a computer system having a data file in accordance with the present invention. 
     FIG. 2 shows a block diagram of a part data file in accordance with the present invention. 
     FIG. 3 shows an example of a part information tag in accordance with the present invention. 
     FIG. 4 shows a flow chart of a method of generating a part information data tag in accordance with the present invention. 
     FIG. 5 shows a flow chart of a method of generating a part information data tag from a sample tag in accordance with the present invention. 
     FIG. 6 shows an alternate part data file in accordance with the present invention. 
    
    
     DETAILED DESCRIPTION 
     The following sets forth a detailed description of the best contemplated mode for carrying out the invention. The description is intended to be illustrative of the invention and should not be taken to be limiting. 
     Referring to FIG. 1, personal computer system 10 which generates and uses part information in accordance with the present invention is shown. Computer system 10 includes processor 12, coupled to local bus 14 which, in turn, is coupled to bus interface controller 16, coprocessor 18, video controller 17 and small computer system interface (SCSI) adapter 20. Processor 12 is preferably a microprocessor from the family of x86 processors, such as a Pentium microprocessor available from Intel Corporation, Santa Clara, Calif. 
     Local bus 14 includes conventional data, address and control lines conforming to, for example, the peripheral connect interface (PCI) architecture. SCSI adapter 20 couples local bus 14 to SCSI bus 21 to which SCSI devices such as a SCSI hard drive 22 may be coupled. Host unit 11 also includes system memory 36, non-volatile memory 38 and I/O controller 40, which are all coupled to bus interface controller 16. 
     Bus interface controller 16 performs two primary functions. The first function that bus interface controller 16 performs is as a memory controller for accessing main system memory 36 and nonvolatile memory 38. Main system memory 36 is a dynamic random access memory (RAM) which includes one or more single, in-line memory modules (SIMMS) and stores programs and data for execution by system processor 12 and coprocessor 18. Nonvolatile memory 38 is, e.g., a read only memory (ROM) which stores microcode including the basic input output system (BIOS) 42 of computer system 10. 
     BIOS 42 is a microcode software interface between an operating system or application programs and the hardware of system 10. The operating system and application programs access BIOS 42 rather than directly manipulating I/O ports and control words of the specific hardware. BIOS 42 is accessed through an interface of software interrupts and contains a plurality of entry points corresponding to the different interrupts. In operation, BIOS 42 is loaded from ROM 38 to system memory 36 and is executed from system memory 36. 
     The second function that bus interface controller 16 performs is as an interface between bus 14 and input/output (I/O) bus 44. I/O bus 44 conforms to the industry standard architecture (ISA) standard, which is also sometimes referred to as the AT bus standard. Bus 44 is further coupled to I/O controller 40, and a plurality of I/O slots 46, into which a variety of I/O or expansion cards (not shown) may be inserted. 
     I/O controller 40 is also coupled to and controls the operation of disk drive 52, printer 54, keyboard 56 and mouse 58. I/O controller 40 also includes a modem port to which a modem 59 may be optionally connected. 
     Video controller 17, which is coupled to local bus 14, includes video signal processor (VSP) 70, video RAM (VRAM) 72 and digital to analog converter (DAC) 74. Video signal processor 48 is coupled to video RAM (VRAM) 60 and to digital to analog converter (DAC) 62. Digital to analog converter 66 is coupled display terminal 77. Display 78, which is a computer display device conforming to, e.g., the super video graphics array (SVGA) standard, is coupled to display terminal 77 via display cable 79. Display 78 includes screen 80 on which video information is presented. 
     FIG. 2 shows part data file 90 which includes geometry data field 92. Geometry data field 92 further includes informational data field 94. Geometry data field 92 of part data file 90 stores all of the three dimensional information necessary to fabricate a part corresponding to the part data file. Informational data field 94 includes critical part information which is stored as three dimensional information. Part data file 90 conforms to a standard file format such as the IGES file format for transferring three dimensional part data. Because informational data field 94 is stored within geometry data field 92 as three dimensional information, the critical part information is permanently linked to the part geometry which is contained in geometry data field 92. Informational data field 94 is stored as a separate layer from the layer in which the three dimensional information necessary to fabricate the part is stored. 
     Part data file 90 is stored on a non-volatile memory such as disk drive 52. When part data file 90 is to be accessed, such as when the part data file is modified or the part corresponding to part data file 90 is to be manufactured, part data file 90 is moved from the non-volatile memory to system memory 36. A program, such as a computer aided design (CAD) program, which is executing on processor 12, then accesses part data file 90 from memory 36. 
     FIG. 3 shows an example of a screen presentation of part information tag 100 coupled to part geometry 102. The screen presentation is presented, for example, on screen 80 of display device 78 under control of processor 12. Part information tag 100 has a volume so as to be three-dimensional. I.e., part information tag 100 has a height, width and depth which combine to provide a volume. Part information tag 100 is coupled to part geometry 102 via thread 104. Thread 104 also has a volume. Additionally, part information tag 100 is stored as a separate layer from the layer in which part geometry 102 is stored. Thus part information tag 100 may be suppressed (i.e., not presented on screen 80) by suppressing the layer on which part information tag 100 is stored. 
     The relative size, and especially the depth, of information tag 102 is small when compared to the size of part geometry 102. Additionally, the relative size of thread 104 is small when compared to the size of part geometry 102 (e.g., 1/1000 of the largest part geometry size). For example, depth of information tag 102 is 0.005&#34; and the size of thread 104 is 0.005&#34; square. Accordingly, tag 102 and thread 104 are difficult, if not almost impossible, to reproduce. Thus, it is obvious to a vendor which is producing a part based upon the part geometry stored within part data file 90 that the information tag 102 and thread 104 are not intended to be reproduced. 
     Information tag 102 includes critical information relating to the part corresponding to part data file 90. This information includes manufacturer information 110 which sets forth the manufacturer of the part corresponding to the part data file, part number information 112 which sets forth the particular part number of the part corresponding to the part data file, revision number information 114 which sets forth the revision number of the part corresponding to the part data file, volume information 116 which sets forth the volume of the part corresponding to the part data file, contact information 118 which sets for the contact person for the part corresponding to the part data file and date information 120 which sets forth the date the present revision level of the part corresponding to the part data file was completed. Information tag 102 also includes exclusion statement 122 setting forth that information tag 102 is not actually part of the part geometry. Thus, clearly setting forth that the part information tag is not intended to be fabricated when the part is fabricated from the part data file. 
     FIG. 4 shows a flow chart of the method of generating part information data tag 100. Part information tag 100 is generated by first generating an extrusion of thread 104 at extrude thread step 130. The extrusion is initiated and attached to the part geometry. The size of the extrusion of the thread is small with reference to the size of the part geometry. After the extrusion of the thread is generated, a plate, which is a three dimensional object that will be used to create an information tag, is generated by an extruding a plate at extrude plate step 132. The plate has a small depth with reference to the size of the part. After the plate is extruded, alphanumeric characters, e.g., letters, are generated by extruding the characters from the plate at extrude letters step 134. The letters are extruded using a letter extrusion routine that is included within the CAD design package. After the letters are extruded, the information tag is saved to memory at save step 136. This information tag can then be used as a sample baseline tag when generating other tags for other part geometries. 
     For example, FIG. 5 shows a flow chart of the method of generating part information data tag 100 from a saved informational data file such as that saved when performing the method of the flow chart of FIG. 4. The method starts by retrieving the sample file at step 140. After the file is retrieved, a user edits the letters and numerals of the sample file at edit step 142. In addition to editing the letters, the part information data tag is attached to the corresponding part geometry at couple step 144. After the sample file is edited and the tag is attached to the corresponding part geometry, the part data file is saved to include the informational data file corresponding to the part at save step 146. 
     OTHER EMBODIMENTS 
     Other embodiments are within the following claims. 
     For example, FIG. 6 shows alternate part data file 90a. Part data file 90a includes geometry data field 92 as well as information data field 94a. Geometry data field 92 of part data file 90 stores all of the three dimensional information necessary to fabricate a part corresponding to the part data file. Informational data field 94a includes critical part information which is stored as three dimensional information. Part data file 90 conforms to a standard file format such as the IGES file format for transferring three dimensional part data. However, the IGES file format is modified to include an easily accessible, i.e., accessible as three dimensional data, informational data portion field which is logically linked to geometry data field 92. This easily accessible informational data portion field is accessible via, for example, a window that is included when the geometry data portion is presented on a screen. Because informational data field 94a is easily accessible and is logically linked to geometry data field 92, the critical part information which is stored in information data portion 92a is permanently linked to the part geometry which is contained in geometry data field 92. Alternately, for example, the easily accessibly informational data may be visually linked to the part geometry as a part information tag. The visually linked tag may be selectively toggled on or off so that this tag is selectively presented. 
     Also, for example, part data file may include a plurality of information data fields. Accordingly, the plurality of information data fields may provide separate part information. Also for example, the plurality of information data fields may correspond to a plurality of information data tags, the tags being coupled to different locations of the part geometry.