Part standard geometry management in a computer aided design system

A computer implemented method for managing parts used by different types of computer aided design systems. A master model of a part may be created. The master model is independent of a format used by the different types of computer aided design systems to handle parts. A view of the master model is created to form a geometric view in response to a request to distribute the part. The geometric view comprises parametric information about the part and dimension information for the part. A specific part model usable by the selected type of computer aided design system is created from the content stored in the storage system in response to a request for the part for use by a selected type of computer aided design system. The instance of the part is sent to the selected type of computer aided design system.

BACKGROUND INFORMATION

The present disclosure relates generally to an improved data processing system and in particular to a method and apparatus for processing data. Still more particularly, the present disclosure relates to a computer implemented method, apparatus, and computer usable program code for managing part standard geometry in one or more computer aided design systems in a part management environment.

Computer aided design involves the use of computers or other data processing systems to aid in the design of a product. These types of designs may include two-dimensional vector based drafting systems and three-dimensional solid and surface modeling programs. Computer aided design systems are used to design, develop, and optimize products. These types of systems are typically used for detailed engineering of three-dimensional and/or two-dimensional drawings of physical components.

Computer aided design programs are commonly used in aerospace manufacturing to produce various products such as aircraft, space vehicles, aircraft engines, and other related components. Computer aided design programs allow designers or engineers to layout and develop various designs and products on a screen. These designs may be saved for future use and/or editing.

In designing products, libraries of components or parts are commonly present in a computer aided design system. Within organizations using multiple computer aided design systems, a duplication of standard shapes may occur within each different computer aided design system. For example, a company may use a program, such as Catia, which is available from Dassault Systemes, S.A. The same company also may use AutoCAD, which is available from Autodesk, Inc.

Each of these computer aided design applications may include duplicates of data for different parts or shapes within each system. If the organization first uses an AutoCAD computer aided design system and then adds a Catia computer aided design system, the library of parts in the AutoCAD system are reproduced or created again for a library through the Catia system.

This situation requires time, expense, and resources to recreate the standard parts used in the first computer aided design program for use in the second computer aided design program. This type of process typically requires personnel to transfer the data from one platform to another platform. In other words, time and effort is needed to re-enter the data from one platform to another platform.

Oftentimes, these parts include information in addition to the shape or physical model. This information may include, for example, attributes describing the particular model. For example, a part for a bolt includes, for example, information about the size of the bolt, material, a product number, and a manufacturer. This type of information typically has to be re-entered when recreating the part for another platform.

Further, when new parts are recreated, those parts are created for each platform within an organization or company. As the number of parts increase and the number of platforms increase, this problem is compounded and increases in complexity. Therefore, it would be advantageous to have a method and apparatus that overcomes the above-described problems.

SUMMARY

The advantageous embodiments provide a computer implemented method for managing parts used by a plurality of different types of computer aided design systems. A master model of a part may be created wherein the master model is independent of a format used by the plurality of different types of computer aided design systems to handle the parts. A view of the master model capable of being used to create a three-dimensional model of the part to form a geometric view is created in response to a request to distribute the part. The geometric view comprises parametric information about the part and dimension information for the part. A part model usable by the selected type of computer aided design system may be created from the content stored in a storage system to form an instance of the part in response to a request for the part for use by a selected type of computer aided design system in the plurality of different types of computer aided design systems. The instance of the part may be sent for use by the selected type of computer aided design system.

In another advantageous embodiment, a computer implemented method is present for managing parts. Parts standard data may be created for a part. The parts standard data has a set of views comprising a document view, a data view, and a geometric view for the part. The set of views may be distributed for the part within a network data processing system in which a plurality of different types of computer aided design systems is present.

In yet another advantageous embodiment, an apparatus comprises a network data processing system and a part management environment. The part management environment executes on the network data processing system. The part management environment comprises a selection service capable of receiving user input containing selection criteria for a part and generating a request for a part model useable in a particular computer aided design system. A geometry service may be capable of creating an explicit computer aided geometry from the request and a product standards application service may be capable of applying metadata to the explicit computer aided geometry to form the part model.

In still yet another advantageous embodiment, a part management environment comprises an authoring component, a distribution component, a geometry server, a standards application, and a part management component. The authoring component may be capable of creating data for a set of parts in a format independent of any view. The distribution component may be capable of transforming the data for a part in the set of parts into a view for use by clients. The geometry server may be capable of creating a geometric view of the part in the set of parts generated by the distribution component into a format specific to a computer aided design system to form an explicit computer aided design geometry in response to a request for the part. The standards application may be capable of using standard parts metadata and the explicit computer aided design geometry to form a part model for use by the computer aided design system. The part management component may be capable of storing a set of part models and distributing the set of part models to computer aided design systems.

DETAILED DESCRIPTION

Referring more particularly to the drawings, embodiments of the disclosure may be described in the context of the aircraft manufacturing and service method100as shown inFIG. 1and aircraft200as shown inFIG. 2. Turning first toFIG. 1, a diagram illustrating an aircraft manufacturing and service method is depicted in accordance with an advantageous embodiment. During pre-production, exemplary aircraft manufacturing and service method100may include specification and design102of aircraft200inFIG. 2and material procurement104.

During production, component and subassembly manufacturing106and system integration108of aircraft200inFIG. 2takes place. Thereafter, aircraft200inFIG. 2may go through certification and delivery110in order to be placed in service112. While in service by a customer, aircraft200inFIG. 2is scheduled for routine maintenance and service114, which may include modification, reconfiguration, refurbishment, and other maintenance or service.

With reference now toFIG. 2, a diagram of an aircraft is depicted in which an advantageous embodiment may be implemented. In this example, aircraft200is produced by aircraft manufacturing and service method100inFIG. 1and may include airframe202with a plurality of systems204and interior206. Examples of systems204include one or more of propulsion system208, electrical system210, hydraulic system212, and environmental system214. Any number of other systems may be included. Although an aerospace example is shown, different advantageous embodiments may be applied to other industries, such as the automotive industry.

Apparatus and methods embodied herein may be employed during any one or more of the stages of aircraft manufacturing and service method100inFIG. 1. For example, different components may be designed using various advantageous embodiments during specification and design102in these examples. The use of the different advantageous embodiments may reduce the cost in the specification and design of different components or items resulting in a reduction of cost of aircraft200.

Similarly, one or more of apparatus embodiments, method embodiments, or a combination thereof may be utilized while aircraft200is in service112or during maintenance and service114inFIG. 1. For example, the different advantageous embodiments may be used to design new parts or replacement parts during maintenance and service114.

FIG. 3depicts a pictorial representation of a network of data processing systems in which illustrative embodiments may be implemented. Network data processing system300is a network of computers in which the illustrative embodiments may be implemented. Network data processing system300contains network302, which is the medium used to provide communications links between various devices and computers connected together within network data processing system300. Network302may, for example, include connections, such as wire, wireless communication links, or fiber optic cables.

In the depicted example, server304and server306connect to network302along with storage unit308. In addition, clients310,312, and314connect to network302. Clients310,312, and314may be, for example, personal computers or network computers. In the depicted example, server304provides data, such as boot files, operating system images, and applications to clients310,312, and314. Clients310,312, and314are clients to server304in this example. Network data processing system300may include additional servers, clients, and other devices not shown.

In the depicted example, network data processing system300is the Internet with network302representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. 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 system300also 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. 3is intended as an example, and not as an architectural limitation for the different illustrative embodiments.

With reference now toFIG. 4, a block diagram of a data processing system is shown in which illustrative embodiments may be implemented. Data processing system400is an example of a computer, such as server304or client310inFIG. 3, in which computer usable program code or instructions implementing the processes may be located for the illustrative embodiments. In this illustrative example, data processing system400includes communications fabric402, which provides communications between processor unit404, memory406, persistent storage408, communications unit410, input/output (I/O) unit412, and display414.

Memory406and persistent storage408are examples of storage devices. A storage device is any piece of hardware that is capable of storing information on either a temporary basis and/or a permanent basis. Memory406, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device.

Persistent storage408may take various forms depending on the particular implementation. For example, persistent storage408may contain one or more components or devices. For example, persistent storage408may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage408also may be removable. For example, a removable hard drive may be used for persistent storage408.

Communications unit410, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit410is a network interface card. Communications unit410may provide communications through the use of either or both physical and wireless communications links.

Input/output unit412allows for input and output of data with other devices that may be connected to data processing system400. For example, input/output unit412may provide a connection for user input through a keyboard and mouse. Further, input/output unit412may send output to a printer. Display414provides a mechanism to display information to a user.

Instructions for the operating system and applications or programs are located on persistent storage408. These instructions may be loaded into memory406for execution by processor unit404. The processes of the different embodiments may be performed by processor unit404using computer implemented instructions, which may be located in a memory, such as memory406. These instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and executed by a processor in processor unit404. The program code in the different embodiments may be embodied on different physical or tangible computer readable media, such as memory406or persistent storage408.

Program code416is located in a functional form on computer readable media418that is selectively removable and may be loaded onto or transferred to data processing system400for execution by processor unit404. Program code416and computer readable media418form computer program product420in these examples. In one example, computer readable media418may be in a tangible form such as, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage408for transfer onto a storage device, such as a hard drive that is part of persistent storage408.

In a tangible form, computer readable media418also may take the form of a persistent storage such as a hard drive, a thumb drive, or a flash memory that is connected to data processing system400. The tangible form of computer readable media418is also referred to as computer recordable storage media. In some instances, computer readable media418may not be removable.

Alternatively, program code416may be transferred to data processing system400from computer readable media418through a communications link to communications unit410and/or through a connection to input/output unit412. The communications link and/or the connection may be physical or wireless in the illustrative examples. The computer readable media also may take the form of non-tangible media such as communications links or wireless transmissions containing the program code.

The different components illustrated for data processing system400are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system400. Other components shown inFIG. 4can be varied from the illustrative examples shown.

As one example, a storage device in data processing system400is any hardware apparatus that may store data. Memory406, persistent storage408, and computer readable media418are examples of storage devices in a tangible form.

The different advantageous embodiments recognize that increased time and effort occurs when parts are created for an environment in which different types of computer aided design platforms are used. Thus, the different advantageous embodiments provide a computer implemented method, apparatus, and computer usable program code for managing parts used by different types of computer aided design systems.

The different advantageous embodiments provide an environment with a single source of parts. In these examples, a single source of parts data provides a geometric view of the standard part geometry to different types of computer aided design systems. A geometric view is data that may be used by a computer aided design system. This type of view may be used for review, placement into a design, or other uses. The different advantageous embodiments also may provide other views such as a data centric view and a document centric view.

A data centric view may include various parts of the standard parts specification. This may also include metadata which is data about the part. The document centric view may be presentation of information in a form that may be viewed by a user or operator. The geometric view of the part is delivered as a view of a standard specification generated from the single source of the parts data.

The different advantageous embodiments recognize that existing systems do not employ a single source of data to support various types of computer aided design systems. Currently, with existing computer aided design environments in which multiple computer aided design platforms are present, parts are distributed to different computer aided design systems by labor intensive processes. These processes include creating the same part in a format for each type of computer aided design system.

A geometric master model is created for each part number family. This model configures a set of parts from the geometric master model. The set of geometric master models is independent of the format used by a computer aided design system to handle parts. The set of geometric master models is stored in association with the set of standards governing the set of parts to form content for the set of parts.

In these examples, a geometric master model may take various forms. For example, the geometric master model may be in an extensible markup language (XML) format in which the information needed to form a three-dimensional drawing for the part is present. Further, the geometric master model also may include information about various attributes that may be present. These attributes may include dimensions.

For example, the information in the extensible markup language format may describe an object such as a cube. The cube may have a length, width, and height. The attributes may provide values for the length, width, and height. These values may be single values or a range of values for each dimension. This attribute information also may be part of the extensible markup language file or may be in a separate data structure such as a table.

In response to a request to distribute a selected part, content associated with the selected part is sent to a storage system. In response to a request for the selected part for use by a selected type of computer aided design system in the different types of computer aided design systems, a specific part is created that is usable by the selected type of computer aided design system from the content stored in the storage system to form an explicit model for the part.

In other words, an explicit model is a specifically numbered or otherwise identified part that is usable by a particular type of computer aided design system. In other words, an explicit model is a model that has been associated with some identifier for use. The model may be sent for use by the selected type of computer aided design system.

With reference now toFIG. 5, a part standard geometry management environment is depicted in accordance with an advantageous embodiment. Part standard geometry management environment500is an environment that provides a capability to manage data about products. More specifically, this environment is one in which resources, processes, tools, data, networks, and other components integrate to allow for management of data relating to product standards.

This management includes, for example, without limitation, offering, publishing, and delivery of product standard data. In this example, part management environment500includes authoring502, product standard management504, testing506, distribution508, geometry server510, selection service512, standards application514, part management516, and computer aided design systems518.

Authoring502includes programs, applications, and other processes used to create parts. Product standard management504also contains programs, applications, and other processes used to manage a set of standards for the parts. In these examples, the set of standards are rules and/or constraints regarding the parts. These standards may be used to identify values for attributes or other metadata for the models. For example, a set of standards may identify ranges or sets of dimensions, tolerances for dimensions, materials used for parts, processes used to manufacture parts, and other suitable information. All of the information for a part is referred to collectively as content or parts standard data.

This information may be used to generate a geometric master model of the part. This geometric master model is non-specific with respect to different types of computer aided design systems. The geometric master model may include the information needed to create a three-dimensional model of the part as well as the metadata describing the part.

Testing506performs validation testing and regression testing. Regression testing may be applied to revisions of data for parts generated by the enterprise geometry service. In these examples, testing506may process the geometric master model to create several explicit forms of the geometry. An explicit is the result of exercising the geometric master model to produce an output in a specific computer aided design system that results in a model that corresponds to a complete part number.

The geometric view is then analyzed for conformance to a part's standard specification to ensure that the geometric master model is capable of producing the correct output when required. This testing may embody generation of various explicit part geometry from the geometric master model. These geometric views may be referred to as children while the parts standard specification in the geometric master model may be referred to as the parent. These children are analyzed for compliance to the constraints represented in the parent.

For example, with the geometry of a bolt, analysis may involve validating that the grip length depicted in the part number corresponds to the grip length feature in the geometry. In another example, again using the geometry of a bolt, the diameter size depicted in the part number may be validated to ensure that diameter size correctly corresponds to the geometric diameter feature of the bolt.

Distribution508generates different views of the part standard. One view is a geometric view. This view may be, for example, geometric master model of the parts used to create explicit models of a part that are specific to a particular type of computer aided design system. Another view is the document view which provides a textual view of the standard. Another view is the data view where metadata about the part standard and selection parameters may be sent and generated. This information may be used by an operator to select a particular part from a collection of parts.

For example, distribution508may transform the representation of a part into a format for use by users of the parts. For example, distribution508may generate documentation for users to select parts and values for various attributes. Additionally, distribution508also may generate a document containing the standards for the different parts. The standards and the selection criteria form information that a user may employ to select parts. In these examples, the geometric master model provides information needed to generate a three-dimensional model or representation of the part for a computer aided design system.

The geometric master model may take the form of an extensible markup language document describing the three-dimensional drawing. For example, this information may include a description of the primitive or other geometry needed to form the three-dimensional model. The description of the three-dimensional geometry form of the part may be described in the document using parametric equations.

A parametric equation allows the use of arbitrary values such as parameters or attributes in place of independent variables in equations which, in turn, provide values for dependent variables. These equations may be used to describe lines, curves, and other shapes. The values for the different parameters may be supplied at a later point in time to provide a specific instance of a particular part.

Further, the geometric master model also may include metadata for the attributes about the parts. This metadata may include, for example, attributes, dimension information, information about materials used for the part, a description of processes used to create the part, testing to be performed on the part, standards for the part, and other suitable information related to a particular part.

Information identifying attributes about the model may be located in the extensible markup language file. In other advantageous embodiments, these attributes may be located in a separate data structure such as a table.

Geometry server510stores content for the model. Further, geometry server510may create a dimension drawing or model for the part in response to a request for the part. In these examples, the part is created from the extensible markup language (XML) file. Further, the various attributes are placed into the file along with a three-dimensional drawing to form a model for the part. At this point, however, various values for the attributes are not yet filled. Selection service512provides a capability to select and create parts. This selection may include a particular type of computer aided design system in which the part is to be used.

This component takes selections made by a user and sends them to geometry server510and standards application514to generate a three-dimensional model for the particular part. The three-dimensional model for the part is in a specific format for a particular type of computer aided design system in these examples. In response to receiving a selection, geometry server510uses the geometric master model and the dimension information to create a three-dimensional drawing or geometry for the part.

Standards application514adds metadata to the three-dimensional drawing to create the three dimensional model that is usable by a particular computer aided design system. This metadata may include, for example, materials for the part, tolerances, testing procedures, and other suitable information.

Part management516receives and distributes three-dimensional models generated by standards application514. Additionally, part management516also may store three-dimensional models that have been previously created. Computer aided design systems518are the data processing systems that use the parts for designing products. In this manner, part management environment500provides a single source to distribute and manage models for parts that may be used by different types of computer aided design systems.

Turning now toFIG. 6, a diagram illustrating dataflow in a part standard geometry management environment is depicted in accordance with an advantageous embodiment. In this example, environment600is an example of one implementation of part management environment500inFIG. 5. As depicted, environment600includes product standard single source authoring and content management system602, publication facility604, enterprise geometry service606, product standards selection service608, product standards application service610, computer aided design (CAD) and product data management system612.

In this example, operator616may be a product standards author. Operator616may generate content for a part in a format that may be used for single source standard part data. In other words, operator616may create standards that may be used for specifying parts. Operator616also may create geometric master models, as well as other suitable information.

In these examples, the format of the standards may be, for example, an extensible markup language format. Operator616sends input data618to product standard single source authoring and content management system602. This input data may include, for example, geometric master models and product standards and product specifications.

Product standard single source authoring and content management system602includes configuration control facilities. In these examples, the configuration control facilities may provide mechanisms to manage versions of data as well as checking data in and out of the system.

Product standard single source authoring and content management system602also may ensure data integrity of the part data. This integrity may be ensured by performing validation and regression testing. In these illustrative examples, regression testing may be performed to ensure that no uncoordinated changes to the standard have been inadvertently introduced.

In these examples, operator620may be a standards engineer. Operator620also may create a model of a part for each part standard using a tool, for example, such as eCATALOG, which is available from PARTsolutions. This model is a geometric master model and may be created using the standards information stored in product standard single source authoring and content management system602. As mentioned before, the geometric master model is in a non-specific format with respect to computer aided design systems that use the parts generated from the geometric master model. In these examples, the geometric master model may be in the form of an extensible markup language (XML) file.

With this type of implementation, the extensible markup language file contains the information needed to generate a three-dimensional drawing of the part.

Further, this geometric master model also may include metadata that describes various features or attributes about the part. These attributes may include, for example, materials, processes, dimensions, standards, testing, and other suitable information about the part. These attributes are part of the metadata for a particular part. In other advantageous embodiments, this type of metadata may be located in a separate data structure from the extensible markup language (XML) file.

In other words, this geometric master model may be used to determine a range in variations from the data or versions of the data for a particular computer aided design platform. For example, if the part is a bolt, the part may have dimensions such as a length and various widths or diameters. These properties or attributes of the bolt may be variable depending on the particular standard that is applied. These attributes may be filled depending on the particular application or standard.

Operator620may send input622to product standard single source authoring and content management system602. Product standard single source authoring and content management system602generates parts standard data624. This data may contain all information about the part standards. This information may include, for example, without limitation, metadata, data tables, dimension tables, related product standards, usage, rules, and other suitable forms of data. This parts standard data is sent to publication facility604. In these examples, the parts standard data is content that includes the geometric master models, the standards that apply to the geometric master models, selection criteria that may be used to generate specific parts from the geometric master models, and other suitable information.

Publication facility604may be used to create different views of a part from this information. The form of the document is selected to allow for creation of traditional document views and data views. A traditional document view is one that may be viewed by an operator. An example of a traditional document view is a portable document format (PDF) file. A data view is information used to create three-dimensional models for use by computer aided design and product data management system612. This data view may include, for example, a table of dimensions that may be usable for particular parts.

Parts standard data624may include the data needed to generate different views of the particular part. These views may include, for example, data views, document views, and geometric views. In these examples, the data needed to create a geometric view of the part may include the standard parts specification, the design standards, supplementary engineering, and manufacturing information to support computer aided design systems, and any other suitable information needed to create the geometric view of the part.

These views are output by publication facility604as published parts standard content626, parts standard metadata628, and published parts selection criteria630. In other words, publication facility604may publish new parts standard data or any changes that may occur to parts standard data624to various components to produce the appropriate views of that data.

Published parts standard content626is sent to enterprise geometry service606, while parts standard metadata628and published part selection criteria630are sent to product standards selection service608. Published parts standard content626contain the geometric master model for the part. Published parts standard content626contains the information needed to generate a three-dimensional drawing for a model of the part.

Published parts standard content626may include the geometric master model and data needed to support this geometric master model. This data may be placed in a table and may include, for example, dimension data that may be applied to the geometric master model to create an explicit model from the geometric master model.

In these examples, an explicit model is an example of one type of geometric view that may be created from the geometric master model. In another example, the geometric view may take the form of a U3D format, which is a format that may be viewed directly from a web browser and allows for rotation and zooming. Of course, other types of views may be generated from the geometric master model depending on the particular implementation.

In these illustrative examples, parts standard metadata628is “bulk” metadata about the entire part standard specification. Parts standard metadata628includes, for example, criteria that may be specified by the parts specification. This type of information may be, for example, a part category, a classification, a part family, and any other suitable data about the part. Published parts selection criteria630includes, for example, a type of material, a type of finish, environmental constraints, size, mating parts, and other suitable criteria.

In these examples, operator632may be, for example, a design engineer. The design engineer may create models of parts for use by computer aided design and product data management system612. Operator632may receive selection criteria634from product standards selection service608. Selection criteria634allows operator632to apply selection636to published parts selection criteria630in product standards selection service608to generate a specific part for use with a given application or purpose.

An example of selection criteria634may be, for example, a type of material, a type of finish, environmental constraints, size, mating parts, and other suitable criteria. An example of selection636may be a specific material of the designed part, such as aluminum, which then limits the type of bolt materials that can be used in that design. Other examples of selection636may include a specific finish based on material type, a specific hole diameter based on the tolerances of the design, a specific mating part, or some other suitable parameter.

This selection criteria may be used to select standard parts. Operator632returns selection636to product standards selection service608. In response, product standards selection service608determines whether the selected part is an existing part. This determination is made by sending query637to computer aided design and product data management system612. The query is to find out whether the selected part is currently stored in computer aided design and product data management system612.

If the selected part is not an existing part, product standards selection service608generates standard parts geometry request638. This request is sent to enterprise geometry service606. In response to receiving this request, enterprise geometry service606creates geometry that corresponds to a unique part number. In these examples, the unique part number may be generated by enterprise geometry service606based on selection criteria identified by a user. In these examples, the selection criteria entered by the user may be used as a key to identify a row of data from the dimension table used to create the geometry view of the part.

For example, one user input may be the diameter of the bolt. This diameter may represent a value of code that is then compared against the key column in the dimension table. A match of this code against the corresponding value in the key column identifies a row of data in this table. The selected row of data is then applied to the master geometric model of the part to create a specific geometric view that may be used. This specific geometric view may be applicable to a specific type of computer aided design system.

Enterprise geometry service606creates a geometric view that is specific to a particular computer aided design system to form explicit computer aided design (CAD) geometry642. This geometric view is the three-dimensional model containing attributes to be filled with values. In these examples, explicit computer aided design geometry642is a three-dimensional model containing attributes that have been filled with values. This three-dimensional model is generated from the geometric master model in these examples.

Explicit computer aided design geometry642is sent to product standards application service610. Product standards application service610also sends explicit standard parts metadata640to product standards application service610. In these illustrative examples, explicit standard parts metadata640is metadata about the specific “explicit” part standard that may be derived from parts standard metadata628. Examples of metadata that are specific to the “explicit” part standard are data that directly correlates to an explicit part number. For example, this data may be material, size, finish, locking style, or some other suitable parameter for a particular part number.

Product standards application service610uses explicit standard parts metadata640and explicit computer aided design geometry642to create parts model644. In this example, parts model644is a three-dimensional model that is usable by a particular type of computer aided design system utilized in computer aided design and product data management system612. Parts model644may be manipulated and/or used by a customer in customers646, who use computer aided design and product data management system612. Parts model644is sent to computer aided design and product data management system612for storage and distribution.

In this example, parts model644is a specific instance of explicit computer aided design geometry642containing explicit standard parts metadata640. In other words, the model contains attributes with values and may be used to design components. Parts model644may include the particular geometry for the different computer aided design platforms as well as the metadata for that part.

Computer aided design and product data management system612then provides the part to customers646. Computer aided design and product data management system612also may store previously generated parts so that the parts do not have to be recreated.

With reference now toFIG. 7, a diagram of a product standard single source authoring and content management system is depicted in accordance with an advantageous embodiment. In this example, product standard single source authoring and content management system700is an example of one implementation of product standard single source authoring and content management system602inFIG. 6.

In this illustrative example, product standard single source authoring and content management system700includes configuration control management process702, authoring environment704, and data repository706. Authoring environment704may include data centric process708, document centric process710, and geometry centric process712. These different processes may create different views in response to receiving data input714. Data input714may include, for example, standards, specifications, and other data relating to parts.

These different processes when in authoring environment704may generate parts standard data716which may be stored in data repository706. Parts standard data716, in these examples, includes document view718, data view720, and geometric view722.

In these examples, document view718provides a traditional paper-like view. Data view720provides a textual view which may be used in other processes. Geometric view722provides models of the part related to document view718and data view720. The model in geometric view722may be a two-dimensional and/or three-dimensional view of the part.

Configuration control management process702may provide management functions with respect to user input such as parts standard data716. Further, this component may provide interfaces and processes to manage parts standard data716. Further, configuration control management process702may manage parts standard data716and/or altered by authoring environment704. Configuration control management process702may validate parts standard data716. This validation may be performed to insure accuracy of the data in each of the different views and that the correlation between the data in the different views is correct.

With reference now toFIG. 8, a flowchart of the process for managing parts standard data is depicted in accordance with an advantageous embodiment. The process illustrated inFIG. 8may be implemented in product standard single source authoring and content management700inFIG. 7.

The process illustrated inFIG. 8may be initiated for new parts. Further, this process may also be used when a change has occurred to standard.

The process begins by receiving input data (operation800). This input data may be any part standard and/or specification that may be managed within a part standard geometry management environment. The process generates parts standard data (operation802). In these examples, the parts standard data contains a document view, a data view, and a geometric view. Operation802may be performed using authoring environment704inFIG. 7. This authoring environment may allow different operators or users to create different views from the part standard data.

For example, operation802may provide an environment for generating documents, data, and models. Further, this environment also may allow generating relationships between the different views. The process then verifies and validates the parts standard data (operation804). This verification is performed to insure the accuracy of the data in each of the views and the correlation of the data between the different views.

One manner in which verification may be performed includes, for example, generating a number of samples of the explicit part standard geometry of a part standard into a computer aided design system. The dimensional aspects of the geometry may be analyzed and compared against data from the part standard specification. A match between the dimensional aspects and the data from the part specification may confirm accuracy of the geometric view of the part. A failure of a match may indicate that the master model and the dimension table may need to be audited for possible errors and corrections made as deemed necessary.

The process then determines whether the parts standard data is accurate (operation806). If the parts standard data is not accurate, the process returns to operation802to regenerate the data and make correction to errors. If the parts standard data is accurate in operation806, the process then stores the parts standard data in a data repository (operation808) with the process terminating thereafter.

With reference now toFIG. 9, a diagram illustrating a publication facility is depicted in accordance with an advantageous embodiment. Publication facility900is an example of one implementation for publication facility604inFIG. 6. In this example, publication facility900includes view generation902and distribution service904.

View generation902may generate different views from parts standard data stored in a product standard single source authoring and content management system.

In this example, view generation902includes document view publication process906, data view publication process908, and geometric view publication process910. These different processes receive parts standard data from a data repository such as, for example, data repository706inFIG. 7. Document view publication process906may generate documents that may be viewed by users. These documents may include, for example, word files, pdf files, and other suitable document forms.

Data view publication process908generates data that may be used, for example, to create particular instances of models from geometric views of parts. Geometric view publication process910may generate a geometric view of the part. This geometric view may be, for example, a master model that may be in published parts standard content626inFIG. 6.

The different views generated through view generation902may be distributed using distribution service904. This service may include document view distribution process912, data view distribution process914, and geometric view distribution process916. These different processes may send the different views to the appropriate destinations.

For example, document view distribution process912may send a document view to a component such as, for example, product standard selection service608inFIG. 6. Data view distribution process914may send data for the part to a component such as, for example, product standards selection service608inFIG. 6. Geometric view distribution process916may send a geometric view to a component such as, for example, enterprise geometry service606inFIG. 6.

With reference now toFIG. 10, a flowchart of a process for distributing different views of part specification data is depicted in accordance with an advantageous embodiment. The process illustrated inFIG. 10may be implemented in a software component such as, for example, publication facility900inFIG. 9.

The process begins by extracting parts standard data from a data repository (operation1000). This operation may involve sending a request to a software component such as, for example, product standard single source authoring and content management700inFIG. 7to obtain the data managed by that component.

The process then transforms the data into a document view, a data view, and a geometric view (operation1002). Thereafter, the different views are distributed to destination (operation1004) with the process terminating thereafter. In these examples, these different destinations are the different components which may use the different views to manage the parts.

Turning now toFIG. 11, a diagram of an enterprise geometry service is depicted in accordance with an advantageous embodiment. Enterprise geometry service1100is an example of enterprise geometry service606inFIG. 6. In this example, enterprise geometry service1100includes model management process1102and geometric part data1104.

Model management process1102may receive and store information, such as geometric master model information in geometry part data1104as well as create geometries. In particular, model management process1102may receive published parts standard content626inFIG. 6for storage in geometric master models1106. Model management process1102may generate geometries or models of the parts in response to a request. The models or geometries generated are, for example, explicit computer aided design geometry642inFIG. 6.

In these depicted examples, the geometry part data1104contains geometric master models1106and standard part dimension tables1108. Geometric master models1106contains a set of one or more models that are neutral with respect to a computer aided design system. Geometric master models1106may contain extensible markup language files for each part family. A part standard represents a part family. An example of a part family is NAS1149 washer part specification. A part family may have a number of different models generated from the part standard. This extensible markup language file contains information describing the three-dimensional drawing.

For example, an extensible markup language file for geometric master models1106may contain a primitive describing the part. This file contains information needed to create the three-dimensional drawing of the part. The file may contain, for example, primitives, parametric functions describing primitives, or other suitable information.

Geometric master models1106may contain specific values. In some cases, a geometric master model may have values that do not change although other parameters may change. For example, the diameter of a pin may be the same regardless of the length of the pin. Ranges of values or ranges of attributes are from the standard part specification and placed in and/or are part of the standard part dimension tables1108.

Standard part dimension tables1108contains information that describes attributes that may be present for a particular part. In other words, standard part dimension tables1108may contain information regarding various dimensions of the components in the three-dimensional model in a corresponding geometric master model. These values for the different dimensions may be applied to the corresponding geometric master model to generate a resulting explicit computer aided design geometry in the form of a three-dimensional model.

As discussed above, an explicit geometry is a three-dimensional model that has been generated as an instance of a model within geometric master models1106. In other words, when a geometric master model has its parameters populated with data, an explicit computer rated design geometry is formed.

With reference now toFIG. 12, a diagram of an entry in a standard part dimension table is depicted in accordance with an advantageous embodiment. In this illustrative example, entry1200is an example of an entry that may be found in a table such as one in standard part dimension tables1108inFIG. 11.

As depicted, entry1200includes index1202and dimension values1204. Index1202may be used to identify an entry based on some key or selection entered by the user for a particular part. For example, index1202may be, for example, part numbers or sizes for a certain feature on a part. Dimension values1204contain a set of values that may specify various dimensions for the part. Each of these values may correspond to a column within the table in which entry1200is located.

For example, entry1200may be an entry for a bolt head or bolt. Various dimension values may include, for example, a distance across the hexagonal flat features, a diameter of the bolt head, and a material for the bolt. In these different advantageous embodiments, a single table may contain different versions or features for the same part. With this type of implementation, each row may contain variations on features depending on the particular part. For example, the diameter of the bolt may change from entry to entry to represent different versions of the part that may be generated. Dimension values1204may correspond to parameters used in a geometric master model to create a particular part.

With reference now toFIG. 13, a flowchart of a process for creating resolved computer aided design geometry is depicted in accordance with an illustrative embodiment. The process illustrated inFIG. 13may be implemented in a software component, such as enterprise geometry service1100inFIG. 11.

The process begins by receiving a request to create geometry for a part (operation1300). The process identifies a geometric master model for the requested part (operation1302). The process then identifies dimension information based on the selected criteria and the received request (operation1304). The dimension data is identified or found in a table, such as a table found in standard part dimension tables1108inFIG. 11. This information contains dimension information for a three dimensional drawing of a part based on the received selection criteria.

The process then uses the identified geometric master model and the identified dimension data to create an explicit model using native geometry features in a specific computer aided design system (operation1306). In these illustrative examples, a native geometry feature is a component in a particular computer aided design system used to generate models. For example, a native feature includes a prism, a cube, a cylinder, a point, a line, a curve, a spine, or some other suitable feature.

These different features are based on object definitions that are specific for each type of computer aided design system. This model may be, for example, a two- or three-dimensional model depending on the particular implementation. The explicit model is then sent to a parts standards application service (operation1308), with the process terminating thereafter.

With reference now toFIG. 14, a diagram illustrating a product standards selection service is depicted in accordance with an advantageous embodiment. Product standards selection service1400is an example of one implementation for product standards selection service608inFIG. 6. In this example, product standards selection service1400includes user interface1402, selection criteria1404, and selection criteria evaluator1406.

User interface1402may provide a user or other operator an interface to view and select criteria from selection criteria1404. Standard parts metadata1408may be received and used as selection criteria1404. Standard parts metadata1408may be, for example, description, size, material, and/or finish as depicted in parts standard metadata628inFIG. 6. User interface1402may be, for example, an applet, a script, and/or other code sent to a browser on a remote data processing system at which a user may be located.

In other advantageous embodiments, user interface1402may be a web page generation process that generates web pages to present options for selection criteria1404to a user. Examples of information that may be selected by a user for user interface1402include, for example, without limitation, material, finish, lock mechanism, grip length, thread size, operating temperature, voltage, and other suitable criteria.

When user selections are received by user interface1402, these user selections form selections1405. Selections1405may be, for example, a request to see what parts are available, selection criteria for particular parts, and an identification of a particular type of computer aided design system.

Selection criteria evaluator1406then applies rules1410to selection criteria1404. In this example, selection criteria evaluator1406may apply selections such as, for example, a particular instance or type of part, a type of computer aided design system, and other suitable selection criteria. Based on this application of rules1410, a request may be sent to create the computer aided design model desired by the user. This request may be, for example, standard parts geometry request638inFIG. 6.

With reference now toFIG. 15, a flowchart of a process for generating requests for models is depicted in accordance with an advantageous embodiment. The process illustrated inFIG. 15may be implemented in a product standards selection service such as product standards selection service1400inFIG. 14.

The process begins by receiving a request from a user (operation1500). This request may be received through a user interface such as user interface1402inFIG. 14. This request may be, for example, a request to see parts that are available, a request for a certain type or a family of a part, or some other request to select a part for use. This type of request may be made when a user/operator requires a model in performing design or evaluation operations.

The process then identifies part selection criteria and standard part metadata (operation1502). In these examples, this information may be identified from the request received from the user. This identification may be made through receiving user input selecting criteria from parts standard metadata628and published parts selection criteria630inFIG. 6. Selection of criteria from this type of data may narrow the field of potential candidates. This information may be used to identify a particular part standard number that may be used for generating a part.

The process then applies the rules to part selection criteria and the part standard metadata as identified from the request (operation1504). The process then sends the results to the requester (operation1506). A result returned in operation1506contains information about a part. These results may be, for example, parts standard metadata628and published parts selection criteria630inFIG. 6.

This information may be ranged and presented to a user for selection. An example may be information about a particular part standard family. This information may include available materials, finishes, grip length ranges, and other suitable information.

The results also may include rules for selecting specific part parameters based on the intended use of a part. For example, the rules may be whether the part will be used in a pressurized environment, what temperatures the part will be exposed to, maintenance frequency, and other suitable rules. These rules for selection are not always necessarily included but may be provided for aid in selecting a part.

Next, a determination is made as to whether the part number parameter selection is complete (operation1508). If the part number parameter selection is not complete, data is updated and rules are applied to the part selection criteria and part standard metadata (operation1510) with the process then returning to operation1506.

With reference again to operation1508, if the part number parameter selection is complete, the process then receives a part identification from the requester (operation1512). In this operation, the requester may configure an explicit part number. In operation1512, an explicit part number may be configured by selecting valid parameters that are present for a particular part standard specification.

The part standard specification represents a family of parts that may be available or that can be derived from a particular part standard specification. In creating an explicit part number, a selection of available parameters for a part such as material, finish, size, color, and other suitable parameters may form a unique instance of the part. When this instance is associated with a part number, the part number is considered an explicit part number for the particular representation of the part based on the part standard specification in these illustrative examples. The process then performs validation on the part number (operation1514).

A determination is made as to whether the part number is valid (operation1516). Operation1516is performed to insure that the parameters selected by user are for a valid part number based on a constraint for the part standard specification. This validation also may include insuring that the part number that has been selected can be used in the intended fashion. For example, can the part be used in a non-pressurized environment or will the part be exposed to corrosive conditions. This validation may be performed by determining whether the parameters selected by the user meet or conform to rules for generating part numbers. The particular rules may vary depending on the particular specification.

If the part number is valid, a request is sent for a standard part geometry (operation1518). In these examples, the request may be sent to a component such as enterprise geometry service606inFIG. 6. The process also sends explicit standard part metadata (operation1520). This explicit part metadata may be sent to a component such as, for example, product standards application service610inFIG. 6.

With reference again to operation1516, if a determination is made that the part number is not valid, then the process generates an error (operation1522), with the process returning to operation1506as described above.

With reference now toFIG. 16, a diagram illustrating a product standards application service is depicted in accordance with an advantageous embodiment. Product standards application service1600is an example of one implementation for product standards application service610inFIG. 6. Product standards application service1600includes configuration process1602and application process1604in this example.

Configuration process1602receives explicit parts standard metadata1606and explicit computer aided design geometry1608. Explicit parts standard metadata1606may be received from a source such as, for example, product standards selection service608inFIG. 6. Explicit computer aided design geometry1608may be received from a component such as enterprise geometry service606inFIG. 6. Configuration process1602may pair explicit parts standard metadata1606with explicit computer aided design geometry1608. This results in part model1610. Part model1610may be applied to product structure1612in these examples.

With reference now toFIG. 17, a flowchart of a process for generating a part model is depicted in accordance with an advantageous embodiment. The process illustrated inFIG. 17may be implemented in any software component such as product standards application service1600inFIG. 16.

The process begins by receiving explicit standard part metadata and explicit standard computer aided design geometry (operation1700). The process then pairs and configures the explicit standard part metadata to the explicit computer aided design geometry in product data manager (operation1702).

A product data manager is a system used to manage data and its interrelationships. Pairing metadata to geometry involves synchronizing a key attribute. For example, the attribute may be a part number. The metadata and geometry may be merged based on this part number. The process then applies the part model to the product structure (operation1704).

In operation1704, the explicit computer aided design geometry and the metadata are added into an appropriate location within a product data management system. This appropriate section may vary depending on the structure of the particular product data management system. This type of addition is similar to saving data into a product data structure in which the data is the explicit computer aided design geometry and the metadata. The process then exports the part model for use (operation1706) with the process terminating thereafter.

With reference now toFIG. 18, a diagram of a computer aided design and product data management system is depicted in accordance with an advantageous embodiment. In this example, computer aided design and product data management system1800is an example of one implementation for computer aided design and product data management system612inFIG. 6. As depicted, computer aided design and product data management system1800includes product data management system1802, part models1804, and computer aided design system1806.

Product data management system1802may receive and manage part models1804. Product data management system1802may supply a part model from part models1804to computer aided design system1806. Computer aided design system1806is a set of computers on which computer aided design software may execute.

With reference now toFIG. 19, a flowchart of a process for managing part models is depicted in accordance with an advantageous embodiment. The process illustrated inFIG. 19may be implemented in a software component such as computer aided design and product data management system1800inFIG. 18.

The process begins by receiving a query for a part model (operation1900). This query may be received from a component such as, for example, product standards selection service608inFIG. 6. The process then determines whether the part model is present in a part model database (operation1902). If the part model is present, a result is returned to the requester (operation1904). The process then sends the part model to the computer aided design system for use (operation1906) with the process termination thereafter.

With reference again to operation1902, if the part model is not present in the part model database, a result is returned (operation1908). This result indicates that the part model is not present and may be used to initiate the generation of the part model in the part standard geometry management environment. The process then waits for the part model (operation1910). When the part model is received, this part model is stored in the part model database (operation1912). The process then proceeds to operation1906as described above.

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. Further, different advantageous embodiments may provide different advantages as compared to other advantageous embodiments.

The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.