WO2004068275A2 - Rule-based system and method for machining a part - Google Patents

Rule-based system and method for machining a part Download PDF

Info

Publication number
WO2004068275A2
WO2004068275A2 PCT/US2003/041238 US0341238W WO2004068275A2 WO 2004068275 A2 WO2004068275 A2 WO 2004068275A2 US 0341238 W US0341238 W US 0341238W WO 2004068275 A2 WO2004068275 A2 WO 2004068275A2
Authority
WO
WIPO (PCT)
Prior art keywords
feature
database
value
computer
machining
Prior art date
Application number
PCT/US2003/041238
Other languages
French (fr)
Other versions
WO2004068275A3 (en
Inventor
Michael A. Gustafson
Charles D. B. Matthews
Original Assignee
Dp Technology Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dp Technology Corp. filed Critical Dp Technology Corp.
Priority to EP03815662A priority Critical patent/EP1588288A4/en
Priority to AU2003297525A priority patent/AU2003297525A1/en
Publication of WO2004068275A2 publication Critical patent/WO2004068275A2/en
Publication of WO2004068275A3 publication Critical patent/WO2004068275A3/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40937Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining
    • G05B19/40938Tool management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31325Machine selection support, use of database
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31331Select manufacturing information by entering product number
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36284Use of database for machining parameters, material, cutting method, tools
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the invention relates generally to the field of computer aided design and computer aided manufacturing (CAD/CAM), and in particular to machining a part using computer numerical control (CNC) machines.
  • CAD/CAM computer aided design and computer aided manufacturing
  • CNC computer numerical control
  • CNC machines are basically a computerized machinist that cuts material away from a block of material, e.g., metal or plastic, until the desired product is achieved.
  • a three-axis CNC milling machine has a cutting tool, an end mill, and allows for movement of the tool in three directions, X, Y, and Z. By moving the tool (or the part) and by spinning the end mill, material is removed from the block of material.
  • the CNC machine has its own programming language which includes G and M codes.
  • a computer aided manufacturing (CAM) front end software tool is typically used.
  • the CAM software tool has a graphical user interface (GUT) and may use a higher level language, such as Microsoft Visual Basic for Applications (NBA), the industry standard macro and scripting language, for programming.
  • NBA Microsoft Visual Basic for Applications
  • the CAM software then automatically generates the appropriate program, including the G/M codes, to run the C ⁇ C machine to manufacture the part.
  • the CAM software tool is typically used by a manufacturing engineer.
  • FIG. 1 is a diagram of an exemplary process of manufacturing a part of the prior art.
  • the manufacturer's process 110 begins in the design section 112 of a company where the part is designed on a computer aided design (CAD) system 114 by the design engineer.
  • the CAD design is stored in a database (DB) 116.
  • the CAD design represents the finished product and is "what" is manufactured.
  • the CAD design in the form of a geometric model or 2D/3D representation of the finished part, is then electronically transferred to the manufacturing section 120.
  • the CAD model alone normally has insufficient information to manufacture the part, and the manufacturing engineer must add information, such as tool selection and machining parameters, into the CAM tool in order to specify "how" the part is to be machined.
  • the CAM tool may display a solid or 3D surface model of the part, hence allowing the manufacturing engineer full visualization of the finished machined part.
  • the CAM model is stored in DB 124.
  • a program for example, in NBA and Visual Basic (NB), is written by the manufacturing engineer in order to machine the part from a block of material.
  • the CAM tool significantly reduces the complexity and time needed to write the VB/VBA program.
  • the CAM tool automatically generates the C ⁇ C program.
  • the C ⁇ C program is sent to the shop floor 130 to be executed on the C ⁇ C machine 132.
  • the manufacturing process of FIG. 1 has several problems.
  • the process has a one-way flow of information, i.e., from design 112 to manufacture 120 to shop 130. For example, if the machinist on the shop floor needs to modify the C ⁇ C program to improve machining the part, this knowledge will normally not get back to either the manufacturing engineer or the design engineer.
  • any changes by the manufacturing engineer that could affect the design process are stored only in manufacturing DB 124.
  • the design engineer typically has no access to DB 124, and even if the design engineer had access, the data representation of the CAD model in DB 116 is normally significantly different than the CAM model in DB 124. Thus lack of feedback information significantly impedes improvement of the overall machining process.
  • VBA somewhat reduces this problem, by automating the programming of different versions of a standard part by using a macro.
  • a VBA macro can be written that characterizes a hole (a feature of a part), using attributes such as diameter, depth, XYZ location.
  • the macro is complied and executed.
  • the user is asked to enter values for the attributes or to make a selection among several predetermined choices.
  • the macro takes these values, creates circles representing the holes, selects the cutting tools, automatically creates the drilling operations, and produces the G/M code program.
  • the CNC machine inputs the G/M code program and machines the hole in the part.
  • VBA macro is typically written by the manufacturing engineer.
  • the conventional macro only increases program flexibility in a limited way by allowing different values for fixed attributes, but does not allow, for example, the addition removal of features and attributes or the selection of a different manufacturing process.
  • the present invention includes a system and method for centralizing knowledge and standardizing programming for manufacturing a part.
  • An exemplary embodiment includes a database having the features with associated physical characteristics for the part.
  • the database also includes a repository of processes to machine various features on various parts. One or more rules select the appropriate processes from the repository of processes to manufacture the features.
  • An embodiment of the present invention includes a method for machining a feature of a part using a database. First, a feature type associated with the feature is identified by evaluating a first predetermined rule stored in the database. Next, the database is searched to identify a process associated with the feature type. And at least portion of the feature is machined based on the process.
  • Another embodiment of the present invention includes a method for machining a feature of a part using a database.
  • a feature type of the feature is identified by evaluating a first predetermined rule stored in the database.
  • a key and a value associated with the feature type are identified, where the value is selected by evaluating a second predetermined rule stored in the database.
  • a feature case is created from the feature type, the key and the value. Then using the feature case, a process is retrieved from the database. And lastly, at least a portion of the feature is machined using the process.
  • Yet another embodiment of the present invention includes a computer readable medium, e.g., database, containing a data structure for manufacturing a feature of a part.
  • the computer readable medium includes: a first table having a first field identifying a feature type of said feature and a second field having a first rule for selecting the feature type from a plurality of feature types; and a second table comprising a first field identifying a value of a key of the feature type and a second field having a second rule for determining when said value is selected.
  • Yet another embodiment of the present invention includes a system for machining a feature of a part.
  • the system includes: a computer aided design tool for creating a model of the part; a computer aided manufacturing tool for identifying the feature of the part and adding physical characteristic data for the feature to the model; a computer numerically controlled machine tool receiving instructions from the computer aided manufacturing tool on machining the feature; and a centralized database coupled to the computer aided design tool, computer aided manufacturing tool, and the computer numerically controlled machine tool for storing information on machining the feature.
  • An aspect of the present invention includes a system for machining a feature of a part.
  • the system includes: a computer aided design and manufacturing tool for creating a model of the part and for identifying the feature of the part and adding physical characteristic data for the feature to the model; a computer numerically controlled machine tool receiving instructions from the computer aided design and manufacturing tool on machining the feature; and a centralized database coupled to the computer aided design and manufacturing tool and the computer numerically controlled machine tool for storing information on machining the feature.
  • FIG. 1 is a diagram of an exemplary process of producing a part of the prior art
  • FIG. 2 is a diagram of a process for producing a part with a centralized database of one embodiment of the present invention
  • FIG. 3 is a diagram of a process for producing a part with a centralized database of another embodiment of the present invention
  • FIG. 4-1 is a part hierarchy of a preferred embodiment of the present invention.
  • FIG. 4-2 is a feature hierarchy of another embodiment of the present invention.
  • FIG. 5-1 is a feature case hierarchy of a preferred embodiment of the present invention.
  • FIG. 5-2 is diagram of a process step of an embodiment of the present invention.
  • FIG. 6 is a flowchart for creating a manufacturing program of an embodiment of the present invention.
  • FIG. 7 is a block diagram of a portion of a generating program which creates a part of a CNC program of an embodiment of the present invention.
  • FIG. 8 is an example of a feature manager of display of an aspect of the present invention.
  • FIG. 9 shows a process manager window of an aspect of the present invention.
  • FIGS. 10-A to 10-F are diagrams of a relational database model of the preferred embodiment of the present invention.
  • a part that is manufactured from one or more materials is composed of one or more features, for example, holes, pockets, slots.
  • Each feature has one or more attributes which describe physical characteristics of a feature. For example, for a hole the attributes include the location, diameter, and depth of the hole.
  • each feature is cut out of the block of material.
  • there is a corresponding cutting process that includes selecting which cutting tools to use and the tool operations to be performed.
  • a cutting tool e.g., a drill
  • the tool operations e.g., a tool path
  • the features and corresponding attributes in certain limited cases may be automatically determined from the geometric model of the part using an image processing algorithm. Once the features and corresponding attributes are recognized a pre-selected process is used to machine the feature. Not all of the steps may be automatic, for example, the user may be asked to input values for the attributes. There are also some major disadvantages using this automated approach, such as inflexibility to change and non- reusability since the features, corresponding attributes, and associated processes are fixed, i.e., hard coded, in the manufacturing program.
  • One embodiment of the present invention has a goal of creating a uniform engineering environment for the manufacture of parts, not only for a specific company, but across companies. To achieve this goal one or both of the following are done: the databases used by design, manufacturing, and the shop for creating a part are centralized, which includes standardizing the data structures, and the CAM process is made visible and standard by the use of user defined rules.
  • the design engineer, manufacture engineer, the CNC programmer and CNC operator expertise can be captured and the system can improve by learning, hi addition, beside intra- company exchange of knowledge, companies can exchange or sell/buy knowledge.
  • FIG. 2 is a diagram of a process for producing a part with a centralized database of an embodiment of the present invention.
  • FIG. 2 has one DB 226 which includes both the data in the design DB 116 and in the manufacturing DB 124 of FIG. 1.
  • the design engineer in design section 212 uses CAD tool 214 to created the design model of the part using, e.g., Electronic Data Systems Corporation's Parasolid® solid modeler.
  • the solid geometric model is stored in DB 226 using an application programming interface (API) 224.
  • API application programming interface
  • the API by constraining what commands can be performed on DB 226, provides an ordered way of retrieving and storing data in DB 226.
  • the manufacturing engineer in manufacture section 220 then gets the solid model from DB 226 and uses the CAM tool to insure the model has manufacturing features and attributes.
  • the manufacturing engineer uses the annotated model and CAM tool to create a VB/VBA program.
  • the NB/NBA program has the processes needed to machine each feature of the part.
  • the NB/NBA program contains the expert knowledge of the programmer on "how" a part is to be manufactured.
  • the NB/VBA program is automatically converted to a C ⁇ C program having G code which is stored in DB 226.
  • a shop engineer/technician in shop 230 retrieves the C ⁇ C program on C ⁇ C machine 234 from DB 226.
  • shop engineer/technician needs to modify the G code program, then he/she uses all or part of another version of the CAM tool running on C ⁇ C machine 234. For example, suppose that the shop engineer/technician knows that a second process other than the one the manufacturing engineer selected has better performance for the particular C ⁇ C machine used. The shop engineer/technician could use the version of the CAM tool running on C ⁇ C machine 234 to change the NB/VBA program to use the second process. Since the changed VB/VBA code is stored in DB 226, it is accessible by the design and manufacturing engineers for future production of parts.
  • the C ⁇ C machine 234 has a personal computer (PC) connected to it, which is used instead of the C ⁇ C machine to run all or part of the other version of the CAM tool.
  • the PC is also connected to DB 226 and is used to modify the G code.
  • FIG. 3 is a diagram of a process for producing a part with a centralized database of another embodiment of the present invention.
  • FIG. 3 shows the functions of the manufacturing section 220 of FIG. 2 being re-allocated into the design section 212 and shop floor 230.
  • the manufacturing section 220 is eliminated,
  • FIG. 3 the Design/Manufacturing section 252 has a CAD/CAM tool 254.
  • the CAD tool of the design engineer is the same as the CAM tool of the manufacturing engineer, hi the Manufacturing/Shop section 260 a scaled down version of the CAD/CAM tool 254 is loaded on C ⁇ C machine 264.
  • a PC connected to C ⁇ C machine 264 and DB 226 has a scaled down version or a full version of the CAD/CAM 254 tool.
  • the PC generates the C ⁇ C program having the G codes for the C ⁇ C machine 264.
  • a rale includes a code fragment or function that when executed returns a "True” or “False” Boolean value.
  • the code fragments or functions are stored in the DB 226.
  • a first set of rules are assigned to the features and a second set of rules are assigned to the attributes.
  • a third set of rules is assigned to decide which process should be used. If the third set of rules indicate multiple processes should be used then a human expert or a computerized expert system makes a selection on which process to use and the third set of rules are refined.
  • FIG. 4-1 is a part hierarchy of a preferred embodiment of the present invention.
  • a part 412 is described by a model, e.g., model 216 in FIG. 2.
  • the part has one or more part types 414.
  • the user selects the part types belonging to the part 412.
  • the part types are automatically selected using rules (not shown).
  • Each part type 414 has one or more features 416.
  • the part type 414 has also one or more feature recognition rules 418 that allow selection of the features 416 associated with the part type 414.
  • a feature is selected when the feature recognition rule evaluates to true.
  • each feature 416 may have one or more feature types 420, in the preferred embodiment, there is one feature type for one feature.
  • the feature type 420 is the primary classification for a feature 416 of a part type 414.
  • the feature type associated with the feature is determined from evaluating rule 422.
  • part types associated with a solid geometric model of a part may include a prismatic milled part, mold component, and die component. If the user selects part type, i.e., die component, then the feature recognition rules 418 may look for features 416, e.g., holes, pockets, and profiles in the geometric model. If rule 418 evaluates to true for a hole feature 416, then there may be one or more feature types, e.g., counterbored hole, threaded hole, or tapped hole. The feature type 420 selected is dependent on rule 422 evaluating to true. [0041] Each feature type 420 has associated with it one or more processes 424. To determine if the process is applicable to the feature type, the accompanying rale 426 is evaluated. Each process has one or more process steps 428. Each feature type 420 may also have one or more attributes (not shown), where an attribute describes a physical characteristic of a feature. An attribute can be further subdivided to include a key with zero or more values.
  • part type i
  • FIG. 4-2 is a feature hierarchy of another embodiment of the present invention.
  • a feature 450 has one or more feature types 452.
  • An attribute of each feature type 452 has been further subdivided to include a key and one or more values.
  • each feature type 452 has one or more keys 456.
  • Each key 456 has one or more values 458, where if no value is specified by the user for a key, the value is assigned to be "undefined”.
  • the accompanying rule 454 is evaluated to determine if it is "true”. All the keys 456 for an applicable feature type 452 are next retrieved.
  • the accompanying rule 460 is evaluated to determine if it is "true”.
  • each feature type (or feature) has one or more keys and each key has one or more values assigned to it, including the possibility of having a value assigned as "undefined”.
  • Each feature type thus has one or more key/value pairs.
  • the feature type along with a combination of one or more of its key/value pairs is called a feature case.
  • the feature case is used to search for the one or more processes that are to be used in manufacturing the feature in the part.
  • FIG. 5-1 is a feature case hierarchy of a preferred embodiment of the present invention.
  • Each feature case 510 has one or more processes associated with it.
  • the accompanying rule 514 is evaluated to determine if it is "true”.
  • Each process has one or more process steps 516.
  • the process step hierarchy is shown in FIG. 5-2.
  • the process steps 516 describe, for example, the cutting tools, machining parameters, and machining cycles to be used in making the part on the CNC machine.
  • the first example of a feature case is:
  • the second example of a feature case is:
  • FIG. 5-2 is diagram of a process step of an embodiment of the present invention.
  • Each process step 516 has one or more machining cycles 524.
  • Each machining cycle 524 has one or more machining parameters 526 and one or more cutting tools 530.
  • Each cutting tool 530 has one or more cutting tool parameters 532.
  • a machimng parameter 526 has associated with it an optional formula 528 that is used in calculating a numerical value to be assigned that machining parameter.
  • a cutting tool parameter 532 has associated with it another optional formula 534 that is used in calculating a numerical value to be assigned that cutting tool parameter.
  • FIGS. 4-1, 4-2, 5-1, and 5-2 An example of the rules and formulae in FIGS. 4-1, 4-2, 5-1, and 5-2 are:
  • FIG. 6 is a flowchart for creating a manufacturing program of another embodiment of the present invention.
  • a model of the part is retrieved from database 720.
  • the features of the part are selected from a list of features using a first set of rules (step 612).
  • the feature types of each feature are selected from a list of feature types using a second set of rules (step 614).
  • a list of keys is retrieved for each feature type.
  • a value for each key is selected using a third set of rules. For each selected feature type with a combination of one or more key/value pairs, one or more feature cases are created.
  • the database 720 is accessed to retrieve a list of associated processes (step 622).
  • a process is selected for the feature case using a fourth set of rules.
  • the machining cycle(s) and associated machining parameters and cutting tools and associated cutting tool parameters are determined.
  • For each machining parameter a numerical value is determined using the associated formula.
  • the numerical value may optionally be a cost.
  • a numerical value is determined using the associated formula.
  • a portion of CNC code is generated and inserted into the CNC program.
  • FIG. 7 is a block diagram of a portion of a generating program 710 which creates a part of a CNC program 740 of an embodiment of the present invention.
  • Program 710 includes a software module 712 to evaluate the rules and a software module 714 to generate the CNC program 740.
  • the programs 710 and 740 are stored in a computer readable medium.
  • a computer having a processor and a memory, executes generating program 710 to produce CNC program 740.
  • the computer is connected to database (DB) 720 via a communications link.
  • Generating program 710 uses data from DB 720.
  • the evaluate rales module accesses rale tables, e.g., feature rales 721, feature type rales 722, value rales per key 724, and process rales 726, and evaluates the rales in these tables to true or false, where the rales include, e.g., logical expressions, function calls with a logic true/false return value, and code fragments that evaluate to true or false. Because the user inputs these rules directly into DB 720, the generating program does not need to be changed when the rules change. In an alternative embodiment the generating program 710 is self-modifying, i.e., modifies itself to result in CNC program 740.
  • DB 720 also has a table 728 having parameter formulas for the machining parameters or conditions (there is also another table (not shown) for the cutting tools and associated parameters). Each parameter has an associated formula, which in some cases may be a single predetermined number, which when evaluated gives the parameter a numerical value.
  • the parameters (not shown) are also stored in DB 720.
  • the DB 720 includes a plurality of machining cycles, where each machining cycle includes a section of predetermined source code (for example, in C++), e.g., machining cycle 1 730 to machining cycle N 732, where N is an integer number.
  • a process step via the generate CNC code module 714 will use a machining cycle to generate a CNC block of code, e.g., CNC code block 1 742 or CNC code block 2 744, where the CNC block of code includes the tool path (G-code).
  • the CNC code blocks are inserted into the CNC program 740, which is used to machine the features on the part on a CNC machine.
  • FIG. 8 is an example of a feature manager display of an aspect of the present invention.
  • Feature manager window 810 has four sub-windows, i.e. a parts sub-window 812 listing the parts, a feature sub-window 820 listing the features for a highlighted part, a keys sub-window 830 listing the keys for a highlighted feature, and a value sub-window 840 listing values for a highlighted key.
  • a parts sub-window 812 there is a column 814 for part name and a column 818 for a description of the part. Part name "Gear Box 8742" 819 is highlighted.
  • the feature sub window 820 has a column 822 for the feature name, a column 823 for unit, a column 824 for the feature object type, a column 826 for the feature rale, and a column 827 for a description of the feature.
  • the features listed are for part "Gear Box 8742.”
  • the keys sub-window 830 has a column 832 for the feature name and a column 833 for the key description. Three keys for feature "threadedhole” are shown: Pitch 834, Size 834, and Tolerance 838, where pitch is highlighted.
  • the value sub-window 840 has a column 842 for name and a column 844 for the rule.
  • the value names listed are for the Pitch key: "20,” “13,” and "14". hi the case of row 848, when the feature.customproperties("Pitch").value, and a Visual Basic (VB) function returns the number 14, then the Pitch key will have associated value 14.
  • FIG. 9 shows a process manager window 910 of an aspect of the present invention.
  • the part type 912 is "Gear Box 8742.”
  • the features may be filtered based on part type 912, unit 910 such as "Inch,” and feature type object (“ESPRIT feature Type") 911 such as "FeaturePTOP”.
  • the processes may be filtered on part material class 952 and unit 954.
  • the feature case sub- window 914 there is a key column 916 and a value column 918.
  • the feature "Counterbored Hole” 850 with unit “Inch” 852, object type "FeaturePTOP” 854, a NULL for the rule 856, and no description 857 are displayed.
  • the name 931, unit 932, rule 933, and description 934 of the processes for the feature case displayed in sub- window 914 is shown, hi this case only one process 936 is shown, i.e., the process name is "3/4" Counterbored Hole" with a unit inch 937, a NULL rule 938, and no description 939.
  • the process steps sub window 940 has a column for the process step name 941 and for the cutting cycle 942.
  • the two process steps shown, 944 and 946, are for Pre Drill and Plunge Mill with MillDrill as the cutting cycle.
  • FIGS. 10A to 10F are diagrams of a relational database model of the preferred embodiment of the present invention. All table names begin with “tbl.” All field names in the table begin with “fldpk” for the primary key, ""fldfk” for the foreign key, and "fid” for a data field. All field names are followed by an underscore followed by the table name.
  • the tables have a structure similar to Figs. 4 and 5.
  • Table 1010 (tblPartType) has a list of parts.
  • An example Table 1010 is shown in parts type sub-window 812 of FIG. 8.
  • An example Table 1014 is shown in feature sub-window 820 of FIG. 8.
  • keys as given in table 1022 (tblKey).
  • An example Table 1022 is shown in keys sub-window 830 of FIG. 8.
  • table 1024 For each key there are one or more values as given in table 1024 (tblvalue).
  • An example table 1024 is shown in values sub- window 840 of FIG. 8.
  • Table 1030 (tblFeatureCase) has one or more feature cases.
  • An example Table 1030 is shown in feature case sub-window 914 of FIG. 9.
  • Table 1050 (tblProcess) has a one or more of processes for each feature case.
  • An example Table 1050 is shown in processes sub- window 930 of FIG. 9.
  • the process rule is stored in field 1052 (fldRules_tblProcess) of table 1050, and an example process rule condition is rule 938, i.e., NULL, in FIG. 9.
  • Table 1060 (tblProcessStep) has one or more process steps for each process.
  • An example Table 1060 is shown in process steps sub-window 940 of FIG. 9.
  • tblProcessStep Associated with a process step (tblProcessStep) are tables 1062 (tblProcessorStepParameter), 1064 (tblToolSelection), and 1066 (tblESPCuttingCycle) of FIG. 10B which give the machining parameter(s), cutting tool(s), and cutting operation(s), respectively.
  • FIGs. 10D and 10F show tables for the tooling group including the cutting tool (table 1070) and coolant type (table 1072).
  • FIG. 10E has tables for the Speed feeds group, including table 1080, which has speed and feed data for the cutting process.
  • a feature of a part may be constrained, as illustrated in FIG. 9, to have a Unit 910 "Inch” and an ESPRIT feature type 911 of "FeaturePTOP.”
  • table 1014 (tblFeatureType) is related to table 1016 (tblESPFeatureType) and table 1018 (tblESPUnit).
  • a process may be constrained to use a particular material class (Part Material Class 952 of FIG. 9) and a certain unit (Unit 954 of FIG. 9). hi this case there are no constraints.
  • Table 1050 (tblProcess) is related to table 1055 (tblPartMaterialClass) via table 1054 (tblPartMaterialClasshidex) and table 1050 (tblProcess) is also related to table 1018 (tblESPUnit).
  • the following describes how the tables (Figs. 10A - 10F) stored in DB 226 are related to the sequence of steps to find the process associated with each feature in a part.
  • the process associated with the feature has the program code to machine the feature on the CNC machine.
  • the first step is to use an SQL search to extract a list of possible features for the part from the DB.
  • the list is given by searching table 1012 (tblFeatureTypelndex) to get the feature type ID's for the features for each part and then retrieving the table 1014 (tblFeatureType) for each feature type ID.
  • VB rales For each possible feature, i.e., table 1014, it's VB rales (fldRecognitionRules_tblFeaturetype 1015) are evaluated to Trae or False. A NULL VB rule evaluates to False. There may be multiple features in a part.
  • the next step is to get for each feature with their VB rules evaluating to True, the list of keys and values.
  • An SQL search is executed to extract a list of keys for a feature. The list is given by searching table 1020 (tblKey idex) to get the key ID's for the keys for each feature in a part, and then retrieving the table 1022 (tblKey) for each key ID.
  • the value tables 1024 are retrieved for each Key table 1022 (tblKey). For each value for a key, its VB rules (fldRecognitionRules_tblNalue 1026) are evaluated to True or False. A NULL VB rale evaluates to False. A key/value pair is a key having one value with VB rules evaluating to true. If there is another value for the key in the key/value pair, then a second key/value pair is formed. A list of applicable feature cases, i.e., combinations of feature with associated key/value pairs for each feature in a given part, can be formed.
  • the DB 226 includes a plurality of predetermined feature cases. Each predetermined feature case has assigned to it one or more predetermined process(es) (where the same process may be assigned to multiple feature cases).
  • Table 1030 (tblFeatureCase) has for each feature (fldpkFeatureTypelD) the feature cases (fldpkFeatureCaseld).
  • Table 1040 (tblProcessfridex) then gives, for each feature case (fldpkFeatureCaseld), the list of processes (fldkProcessrndexId).
  • table 1050 (tblProcess) describes the process.
  • each applicable feature case (fldpkFeatureCaseld) can be found using table 1028 (tblNaluehidex) and table 1030 (tblFeatureCase).
  • table 1028 tblNaluehidex
  • table 1030 tblFeatureCase.
  • the retrieved processes are sorted based on ranking highest to lowest. For each retrieved process its VB rules (fldRule_tblProcess 1052) are evaluated to True or False. A NULL rule evaluates to TRUE. For the processes with VB rules evaluated to True, either the user will be asked to select or by default the highest ranking process is selected.
  • each process step may also have a rule (not shown in Figs. 10A - 10F).
  • the VB rales are evaluated to True or False.
  • a NULL rule evaluates to True.
  • the process step is executed only when its rule evaluates to true.
  • feature case ID F51 - F58 an example of a DB having eight features cases (feature case ID F51 - F58) is described below.
  • the feature cases are generated using the following example data: [0066] Feature Type: M, MF
  • Table I below shows an example DB having a plurality of feature cases with associated processes, where the processes are identified by ProcessCaselD.
  • Table I Given an applicable feature case with a particular feature and key/value pair, Table I is searched to find the feature case ID (FeatureCaselD) and thus the process (ProcessCaselD) for the feature case. There are typically three search scenarios of interest.
  • Scenario 1 The search criterion is more specific than the data available.
  • Search Criteria M, M8xl.25, A, xl, Soft)... Returns (54).
  • the feature case IDs returned are (54, 58, 53, 55, 56, 57).
  • Scenario 2 The search criterion is less specific than the data available.
  • Scenario 3 The Search criterion is equivalent to the data available [0082] Search Criteria (M, M10xl.25)...Returns (52); full search returns (52)
  • the search criteria may be implemented using SQL.
  • a feature case i.e., search criterion
  • search criterion may be more specific, less specific, or equivalent to the data in the database, hence different processes may be returned for different feature cases.
  • different feature cases are tried and the feature case that most closely fits the data in the database, i.e., the search criterion equivalent to the data available or closest to the data available, is selected.
  • the processes associated with the selected feature case have their rales evaluated and the rales evaluating to "true" are used to machine the part.

Abstract

A system and method for centralizing knowledge and standardizing programming for manufacturing a part. An exemplary embodiment includes a database (720) having the features (721-722)with associated physical characteristics for the part. The database (720) also includes a repository of processes to machine various features on various parts. One or more rules (726, 728) select the appropriate processes from the repository of processes to manufacture the features.

Description

Title Rule-based System and Method for Machining a Part
CROSS REFERENCES
[0001] This application claims priority from U.S. Application Serial No. 10/346,475 titled "Rule-based System and Method for Machining a Part," filed January 17, 2003, pursuant to 35 U.S.C. §119. The entire contents of this prior application is incorporated herein by reference in its entirety.
[0002] Also, this application is co-pending with and incorporates by reference in its entirety U.S. Appl. Serial No. 10/346,473, titled "Method and System for Computer Aided Manufacturing," filed January 17, 2003.
FIELD OF THE INVENTION
[0003] The invention relates generally to the field of computer aided design and computer aided manufacturing (CAD/CAM), and in particular to machining a part using computer numerical control (CNC) machines.
BACKGROUND OF THE INVENTION
[0004] The use of a computer controlled machines to automatically machine parts has allowed the quick production of precise parts. For the specific case of machining parts, these machines are called computer numerically controlled (CNC) machines and are basically a computerized machinist that cuts material away from a block of material, e.g., metal or plastic, until the desired product is achieved. For example, a three-axis CNC milling machine has a cutting tool, an end mill, and allows for movement of the tool in three directions, X, Y, and Z. By moving the tool (or the part) and by spinning the end mill, material is removed from the block of material. The CNC machine has its own programming language which includes G and M codes.
[0005] In order to make programming a CNC machine more user friendly than writing many cryptic programming lines having GYM codes, a computer aided manufacturing (CAM) front end software tool is typically used. The CAM software tool has a graphical user interface (GUT) and may use a higher level language, such as Microsoft Visual Basic for Applications (NBA), the industry standard macro and scripting language, for programming. The CAM software then automatically generates the appropriate program, including the G/M codes, to run the CΝC machine to manufacture the part. The CAM software tool is typically used by a manufacturing engineer.
[0006] FIG. 1 is a diagram of an exemplary process of manufacturing a part of the prior art. The manufacturer's process 110 begins in the design section 112 of a company where the part is designed on a computer aided design (CAD) system 114 by the design engineer. The CAD design is stored in a database (DB) 116. The CAD design represents the finished product and is "what" is manufactured. The CAD design, in the form of a geometric model or 2D/3D representation of the finished part, is then electronically transferred to the manufacturing section 120. The CAD model alone normally has insufficient information to manufacture the part, and the manufacturing engineer must add information, such as tool selection and machining parameters, into the CAM tool in order to specify "how" the part is to be machined. The CAM tool may display a solid or 3D surface model of the part, hence allowing the manufacturing engineer full visualization of the finished machined part. The CAM model is stored in DB 124. A program, for example, in NBA and Visual Basic (NB), is written by the manufacturing engineer in order to machine the part from a block of material. The CAM tool significantly reduces the complexity and time needed to write the VB/VBA program. When the programming is finished and debugged, the CAM tool automatically generates the CΝC program. The CΝC program is sent to the shop floor 130 to be executed on the CΝC machine 132.
[0007] The manufacturing process of FIG. 1 has several problems. First, the process has a one-way flow of information, i.e., from design 112 to manufacture 120 to shop 130. For example, if the machinist on the shop floor needs to modify the CΝC program to improve machining the part, this knowledge will normally not get back to either the manufacturing engineer or the design engineer. Similarly, any changes by the manufacturing engineer that could affect the design process are stored only in manufacturing DB 124. The design engineer typically has no access to DB 124, and even if the design engineer had access, the data representation of the CAD model in DB 116 is normally significantly different than the CAM model in DB 124. Thus lack of feedback information significantly impedes improvement of the overall machining process.
[0008] Another major problem is that if a feature or attribute in a part changes the manufacturing engineer needs to create another CNC program. VBA somewhat reduces this problem, by automating the programming of different versions of a standard part by using a macro. For example, a VBA macro can be written that characterizes a hole (a feature of a part), using attributes such as diameter, depth, XYZ location. The macro is complied and executed. The user is asked to enter values for the attributes or to make a selection among several predetermined choices. The macro takes these values, creates circles representing the holes, selects the cutting tools, automatically creates the drilling operations, and produces the G/M code program. The CNC machine inputs the G/M code program and machines the hole in the part. However, for example, if one feature is different in a similar part, e.g., a threaded hole rather than a counter bored hole, then a new VBA macro is typically written by the manufacturing engineer. Thus the conventional macro only increases program flexibility in a limited way by allowing different values for fixed attributes, but does not allow, for example, the addition removal of features and attributes or the selection of a different manufacturing process.
[0009] hi addition as the programmer is human, two programs, each written by a different person, but machining the same part, are probably different. This "personalized" methodology prevents the standardization of the part manufacturing process.
[0010] Therefore there is need for an improved process of machining a part were the design section, manufacturing section, and shop floor can exchange knowledge and were the programming methodology is more flexible, efficient and standardized. SUMMARY OF THE INVENTION
[0011] The present invention includes a system and method for centralizing knowledge and standardizing programming for manufacturing a part. An exemplary embodiment includes a database having the features with associated physical characteristics for the part. The database also includes a repository of processes to machine various features on various parts. One or more rules select the appropriate processes from the repository of processes to manufacture the features.
[0012] While the example of machining of a part using a CNC machine is used to describe some embodiments of the present invention, the scope of the invention is not so limited. The manufacture of any part using a computer controlled machine, for example, the forging of a part or assembly of a part, using one or more programmable computer controlled machines, is also within the scope of the present invention.
[0013] An embodiment of the present invention includes a method for machining a feature of a part using a database. First, a feature type associated with the feature is identified by evaluating a first predetermined rule stored in the database. Next, the database is searched to identify a process associated with the feature type. And at least portion of the feature is machined based on the process.
[0014] Another embodiment of the present invention includes a method for machining a feature of a part using a database. First, a feature type of the feature is identified by evaluating a first predetermined rule stored in the database. Second, a key and a value associated with the feature type are identified, where the value is selected by evaluating a second predetermined rule stored in the database. Third, a feature case is created from the feature type, the key and the value. Then using the feature case, a process is retrieved from the database. And lastly, at least a portion of the feature is machined using the process.
[0015] Yet another embodiment of the present invention includes a computer readable medium, e.g., database, containing a data structure for manufacturing a feature of a part. The computer readable medium includes: a first table having a first field identifying a feature type of said feature and a second field having a first rule for selecting the feature type from a plurality of feature types; and a second table comprising a first field identifying a value of a key of the feature type and a second field having a second rule for determining when said value is selected.
[0016] Yet another embodiment of the present invention includes a system for machining a feature of a part. The system includes: a computer aided design tool for creating a model of the part; a computer aided manufacturing tool for identifying the feature of the part and adding physical characteristic data for the feature to the model; a computer numerically controlled machine tool receiving instructions from the computer aided manufacturing tool on machining the feature; and a centralized database coupled to the computer aided design tool, computer aided manufacturing tool, and the computer numerically controlled machine tool for storing information on machining the feature.
[0017] An aspect of the present invention includes a system for machining a feature of a part. The system includes: a computer aided design and manufacturing tool for creating a model of the part and for identifying the feature of the part and adding physical characteristic data for the feature to the model; a computer numerically controlled machine tool receiving instructions from the computer aided design and manufacturing tool on machining the feature; and a centralized database coupled to the computer aided design and manufacturing tool and the computer numerically controlled machine tool for storing information on machining the feature.
[0018] These and other embodiments, features, aspects and advantages of the invention will become better understood with regard to the following description, appended claims and accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] FIG. 1 is a diagram of an exemplary process of producing a part of the prior art;
20] FIG. 2 is a diagram of a process for producing a part with a centralized database of one embodiment of the present invention; [0021] FIG. 3 is a diagram of a process for producing a part with a centralized database of another embodiment of the present invention;
[0022] FIG. 4-1 is a part hierarchy of a preferred embodiment of the present invention;
[0023] FIG. 4-2 is a feature hierarchy of another embodiment of the present invention;
[0024] FIG. 5-1 is a feature case hierarchy of a preferred embodiment of the present invention;
[0025] FIG. 5-2 is diagram of a process step of an embodiment of the present invention;
[0026] FIG. 6 is a flowchart for creating a manufacturing program of an embodiment of the present invention;
[0027] FIG. 7 is a block diagram of a portion of a generating program which creates a part of a CNC program of an embodiment of the present invention;
[0028] FIG. 8 is an example of a feature manager of display of an aspect of the present invention;
[0029] FIG. 9 shows a process manager window of an aspect of the present invention.
[0030] FIGS. 10-A to 10-F are diagrams of a relational database model of the preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0031] In the following description, numerous specific details are set forth to provide a more thorough description of the specific embodiments of the invention. It should be apparent, however, to one skilled in the art, that the invention may be practiced without all the specific details given below. In other instances, well known details have not been described, so as not to obscure the invention.
[0032] A part that is manufactured from one or more materials is composed of one or more features, for example, holes, pockets, slots. Each feature has one or more attributes which describe physical characteristics of a feature. For example, for a hole the attributes include the location, diameter, and depth of the hole. In the case of machimng a part from a block of material using a CNC machine, each feature is cut out of the block of material. For each feature, there is a corresponding cutting process that includes selecting which cutting tools to use and the tool operations to be performed. For the hole example, a cutting tool, e.g., a drill, and the tool operations, e.g., a tool path, are selected.
[0033] The features and corresponding attributes in certain limited cases may be automatically determined from the geometric model of the part using an image processing algorithm. Once the features and corresponding attributes are recognized a pre-selected process is used to machine the feature. Not all of the steps may be automatic, for example, the user may be asked to input values for the attributes. There are also some major disadvantages using this automated approach, such as inflexibility to change and non- reusability since the features, corresponding attributes, and associated processes are fixed, i.e., hard coded, in the manufacturing program.
[0034] One embodiment of the present invention has a goal of creating a uniform engineering environment for the manufacture of parts, not only for a specific company, but across companies. To achieve this goal one or both of the following are done: the databases used by design, manufacturing, and the shop for creating a part are centralized, which includes standardizing the data structures, and the CAM process is made visible and standard by the use of user defined rules. By having a uniform way of capturing and representing knowledge, the design engineer, manufacture engineer, the CNC programmer and CNC operator expertise can be captured and the system can improve by learning, hi addition, beside intra- company exchange of knowledge, companies can exchange or sell/buy knowledge.
[0035] FIG. 2 is a diagram of a process for producing a part with a centralized database of an embodiment of the present invention. FIG. 2 has one DB 226 which includes both the data in the design DB 116 and in the manufacturing DB 124 of FIG. 1. The design engineer in design section 212 uses CAD tool 214 to created the design model of the part using, e.g., Electronic Data Systems Corporation's Parasolid® solid modeler. The solid geometric model is stored in DB 226 using an application programming interface (API) 224. The API, by constraining what commands can be performed on DB 226, provides an ordered way of retrieving and storing data in DB 226. The manufacturing engineer in manufacture section 220 then gets the solid model from DB 226 and uses the CAM tool to insure the model has manufacturing features and attributes. The manufacturing engineer uses the annotated model and CAM tool to create a VB/VBA program. The NB/NBA program has the processes needed to machine each feature of the part. Hence, the NB/NBA program contains the expert knowledge of the programmer on "how" a part is to be manufactured. Next, the NB/VBA program is automatically converted to a CΝC program having G code which is stored in DB 226. A shop engineer/technician in shop 230 retrieves the CΝC program on CΝC machine 234 from DB 226. If the shop engineer/technician needs to modify the G code program, then he/she uses all or part of another version of the CAM tool running on CΝC machine 234. For example, suppose that the shop engineer/technician knows that a second process other than the one the manufacturing engineer selected has better performance for the particular CΝC machine used. The shop engineer/technician could use the version of the CAM tool running on CΝC machine 234 to change the NB/VBA program to use the second process. Since the changed VB/VBA code is stored in DB 226, it is accessible by the design and manufacturing engineers for future production of parts. In an alternative embodiment the CΝC machine 234 has a personal computer (PC) connected to it, which is used instead of the CΝC machine to run all or part of the other version of the CAM tool. The PC is also connected to DB 226 and is used to modify the G code.
[0036] FIG. 3 is a diagram of a process for producing a part with a centralized database of another embodiment of the present invention. FIG. 3 shows the functions of the manufacturing section 220 of FIG. 2 being re-allocated into the design section 212 and shop floor 230. The manufacturing section 220 is eliminated, FIG. 3 the Design/Manufacturing section 252 has a CAD/CAM tool 254. The CAD tool of the design engineer is the same as the CAM tool of the manufacturing engineer, hi the Manufacturing/Shop section 260 a scaled down version of the CAD/CAM tool 254 is loaded on CΝC machine 264. h an alternative embodiment, a PC connected to CΝC machine 264 and DB 226 has a scaled down version or a full version of the CAD/CAM 254 tool. The PC generates the CΝC program having the G codes for the CΝC machine 264.
[0037] In a preferred embodiment of the present invention the decision points on selection of features, attributes, and processes are explicitly given in the form of rules. A rale includes a code fragment or function that when executed returns a "True" or "False" Boolean value. The code fragments or functions are stored in the DB 226. Using the selected features, attributes, and processes, cutting tools and machining operations, e.g., the tools cutting feeds and rotational speeds and tool path, are determined and a CNC program is generated to machine the part on a CNC machine.
[0038] Since a part has one or more features, were each feature has one or more attributes, a first set of rules are assigned to the features and a second set of rules are assigned to the attributes. In addition since a process specifies how a feature is made and there may be multiple processes, i.e., ways, to make a feature, a third set of rules is assigned to decide which process should be used. If the third set of rules indicate multiple processes should be used then a human expert or a computerized expert system makes a selection on which process to use and the third set of rules are refined.
[0039] FIG. 4-1 is a part hierarchy of a preferred embodiment of the present invention. A part 412 is described by a model, e.g., model 216 in FIG. 2. The part has one or more part types 414. Typically the user selects the part types belonging to the part 412. In an alternative embodiment the part types are automatically selected using rules (not shown). Each part type 414 has one or more features 416. The part type 414 has also one or more feature recognition rules 418 that allow selection of the features 416 associated with the part type 414. A feature is selected when the feature recognition rule evaluates to true. Although each feature 416 may have one or more feature types 420, in the preferred embodiment, there is one feature type for one feature. Hence the feature type 420 is the primary classification for a feature 416 of a part type 414. The feature type associated with the feature is determined from evaluating rule 422.
An example of part types associated with a solid geometric model of a part may include a prismatic milled part, mold component, and die component. If the user selects part type, i.e., die component, then the feature recognition rules 418 may look for features 416, e.g., holes, pockets, and profiles in the geometric model. If rule 418 evaluates to true for a hole feature 416, then there may be one or more feature types, e.g., counterbored hole, threaded hole, or tapped hole. The feature type 420 selected is dependent on rule 422 evaluating to true. [0041] Each feature type 420 has associated with it one or more processes 424. To determine if the process is applicable to the feature type, the accompanying rale 426 is evaluated. Each process has one or more process steps 428. Each feature type 420 may also have one or more attributes (not shown), where an attribute describes a physical characteristic of a feature. An attribute can be further subdivided to include a key with zero or more values.
[0042] FIG. 4-2 is a feature hierarchy of another embodiment of the present invention. A feature 450 has one or more feature types 452. An attribute of each feature type 452 has been further subdivided to include a key and one or more values. Hence, each feature type 452 has one or more keys 456. Each key 456 has one or more values 458, where if no value is specified by the user for a key, the value is assigned to be "undefined". To determine if a particular feature type 452 is applicable to a particular feature 450, the accompanying rule 454 is evaluated to determine if it is "true". All the keys 456 for an applicable feature type 452 are next retrieved. To determine if a particular value 458 is applicable to a particular key 456, the accompanying rule 460 is evaluated to determine if it is "true".
[0043] Hence each feature type (or feature) has one or more keys and each key has one or more values assigned to it, including the possibility of having a value assigned as "undefined". Each feature type thus has one or more key/value pairs. The feature type along with a combination of one or more of its key/value pairs is called a feature case. The feature case is used to search for the one or more processes that are to be used in manufacturing the feature in the part.
[0044] FIG. 5-1 is a feature case hierarchy of a preferred embodiment of the present invention. Each feature case 510 has one or more processes associated with it. To determine if a particular process 512 is applicable for a particular feature case 510, the accompanying rule 514 is evaluated to determine if it is "true". Each process has one or more process steps 516. The process step hierarchy is shown in FIG. 5-2. The process steps 516 describe, for example, the cutting tools, machining parameters, and machining cycles to be used in making the part on the CNC machine.
[0045] For the two examples of feature cases below, assume the following feature types and key/values:
Feature type = "Threaded Hole M" Keyl = "Size", Possible Values "M8", "M9", "M10"... Assigned
Value="M10"
Key2 = "Tolerance", Possible Values "HI", "H2", "H3"... Assigned
Value = -undefmed-
[0046] The first example of a feature case is:
Feature type = "Threaded Hole M" Keyl/value = "M10" Key2/value = -undefmed-
[0047] The second example of a feature case is:
Feature type = "Threaded Hole M" Key2/value = -undefined-
[0048] FIG. 5-2 is diagram of a process step of an embodiment of the present invention. Each process step 516 has one or more machining cycles 524. Each machining cycle 524 has one or more machining parameters 526 and one or more cutting tools 530. Each cutting tool 530 has one or more cutting tool parameters 532. A machimng parameter 526 has associated with it an optional formula 528 that is used in calculating a numerical value to be assigned that machining parameter. A cutting tool parameter 532 has associated with it another optional formula 534 that is used in calculating a numerical value to be assigned that cutting tool parameter.
[0049] An example of the rules and formulae in FIGS. 4-1, 4-2, 5-1, and 5-2 are:
Feature type rule: (feature.layer.name = "ThreadedHole")
Value rule: ( isequal (feature.diameter, 10) )
Process rule:( islessthan(feature.area, 10) AND islessthan(feature.volume, 20))
Machining Parameter formula: ( (tool. diameter * .85) + 0.001 )
[0050] FIG. 6 is a flowchart for creating a manufacturing program of another embodiment of the present invention. At step 610 a model of the part is retrieved from database 720. The features of the part are selected from a list of features using a first set of rules (step 612). The feature types of each feature are selected from a list of feature types using a second set of rules (step 614). At step 616, a list of keys is retrieved for each feature type. At step 618, a value for each key is selected using a third set of rules. For each selected feature type with a combination of one or more key/value pairs, one or more feature cases are created. For each feature case the database 720 is accessed to retrieve a list of associated processes (step 622). At step 624 from this list of associated processes, a process is selected for the feature case using a fourth set of rules. At step 626, for each process step of each selected process the machining cycle(s) and associated machining parameters and cutting tools and associated cutting tool parameters are determined. For each machining parameter a numerical value is determined using the associated formula. The numerical value may optionally be a cost. For each cutting tool parameter a numerical value is determined using the associated formula. At step 628, for each process step, a portion of CNC code is generated and inserted into the CNC program.
[0051] FIG. 7 is a block diagram of a portion of a generating program 710 which creates a part of a CNC program 740 of an embodiment of the present invention. Program 710 includes a software module 712 to evaluate the rules and a software module 714 to generate the CNC program 740. The programs 710 and 740 are stored in a computer readable medium. A computer, having a processor and a memory, executes generating program 710 to produce CNC program 740. The computer is connected to database (DB) 720 via a communications link. Generating program 710 uses data from DB 720. The evaluate rales module accesses rale tables, e.g., feature rales 721, feature type rales 722, value rales per key 724, and process rales 726, and evaluates the rales in these tables to true or false, where the rales include, e.g., logical expressions, function calls with a logic true/false return value, and code fragments that evaluate to true or false. Because the user inputs these rules directly into DB 720, the generating program does not need to be changed when the rules change. In an alternative embodiment the generating program 710 is self-modifying, i.e., modifies itself to result in CNC program 740.
[0052] DB 720 also has a table 728 having parameter formulas for the machining parameters or conditions (there is also another table (not shown) for the cutting tools and associated parameters). Each parameter has an associated formula, which in some cases may be a single predetermined number, which when evaluated gives the parameter a numerical value. The parameters (not shown) are also stored in DB 720. hi addition the DB 720 includes a plurality of machining cycles, where each machining cycle includes a section of predetermined source code (for example, in C++), e.g., machining cycle 1 730 to machining cycle N 732, where N is an integer number. A process step via the generate CNC code module 714 will use a machining cycle to generate a CNC block of code, e.g., CNC code block 1 742 or CNC code block 2 744, where the CNC block of code includes the tool path (G-code). The CNC code blocks are inserted into the CNC program 740, which is used to machine the features on the part on a CNC machine.
[0053] FIG. 8 is an example of a feature manager display of an aspect of the present invention. Feature manager window 810 has four sub-windows, i.e. a parts sub-window 812 listing the parts, a feature sub-window 820 listing the features for a highlighted part, a keys sub-window 830 listing the keys for a highlighted feature, and a value sub-window 840 listing values for a highlighted key. For example, in the parts sub-window 812 there is a column 814 for part name and a column 818 for a description of the part. Part name "Gear Box 8742" 819 is highlighted. The feature sub window 820 has a column 822 for the feature name, a column 823 for unit, a column 824 for the feature object type, a column 826 for the feature rale, and a column 827 for a description of the feature. The features listed are for part "Gear Box 8742." The feature row 821 with feature name "threadedhole," unit "Inch," feature object type "FeaturePTOP," and feature rale "Feature.layer.name = "ThreadedHoles" is highlighted. The keys sub-window 830 has a column 832 for the feature name and a column 833 for the key description. Three keys for feature "threadedhole" are shown: Pitch 834, Size 834, and Tolerance 838, where pitch is highlighted. The value sub-window 840 has a column 842 for name and a column 844 for the rule. The value names listed are for the Pitch key: "20," "13," and "14". hi the case of row 848, when the feature.customproperties("Pitch").value, and a Visual Basic (VB) function returns the number 14, then the Pitch key will have associated value 14.
[0054] FIG. 9 shows a process manager window 910 of an aspect of the present invention. The part type 912 is "Gear Box 8742." The features may be filtered based on part type 912, unit 910 such as "Inch," and feature type object ("ESPRIT feature Type") 911 such as "FeaturePTOP". The processes may be filtered on part material class 952 and unit 954. h the feature case sub- window 914 there is a key column 916 and a value column 918. One feature case is shown for feature (or "Feature Type") 920 being "Counterbored Hole" 939, key = "Size" 922 and value = "Any" 924. These items are also shown in the feature manager window of FIG. 8. For example, in the feature sub-window 820 the feature "Counterbored Hole" 850 with unit "Inch" 852, object type "FeaturePTOP" 854, a NULL for the rule 856, and no description 857 are displayed. In the processes sub-window 930 the name 931, unit 932, rule 933, and description 934 of the processes for the feature case displayed in sub- window 914 is shown, hi this case only one process 936 is shown, i.e., the process name is "3/4" Counterbored Hole" with a unit inch 937, a NULL rule 938, and no description 939. The process steps sub window 940 has a column for the process step name 941 and for the cutting cycle 942. The two process steps shown, 944 and 946, are for Pre Drill and Plunge Mill with MillDrill as the cutting cycle.
[0055] FIGS. 10A to 10F are diagrams of a relational database model of the preferred embodiment of the present invention. All table names begin with "tbl." All field names in the table begin with "fldpk" for the primary key, ""fldfk" for the foreign key, and "fid" for a data field. All field names are followed by an underscore followed by the table name. The tables have a structure similar to Figs. 4 and 5.
[0056] Table 1010 (tblPartType) has a list of parts. An example Table 1010 is shown in parts type sub-window 812 of FIG. 8. For each part there are one or more features as given in table 1014 (tblFeatureType). An example Table 1014 is shown in feature sub-window 820 of FIG. 8. The feature rule is stored in field 1015 (fldRecognitionRules_tblFeaturetype) of table 1014, and an example feature rale condition is item 858, i.e., "feature.name = "Face"" in FIG. 8. For each feature there are one or more keys as given in table 1022 (tblKey). An example Table 1022 is shown in keys sub-window 830 of FIG. 8. For each key there are one or more values as given in table 1024 (tblvalue). An example table 1024 is shown in values sub- window 840 of FIG. 8. The value rule is stored in field 1026 (fldRecognitionRules__tblValue) of table 1024, and an example value rale condition is item 860, i.e., "feature.diameter = .5", in FIG. 8.
[0057] Table 1030 (tblFeatureCase) has one or more feature cases. An example Table 1030 is shown in feature case sub-window 914 of FIG. 9. Table 1050 (tblProcess) has a one or more of processes for each feature case. An example Table 1050 is shown in processes sub- window 930 of FIG. 9. The process rule is stored in field 1052 (fldRules_tblProcess) of table 1050, and an example process rule condition is rule 938, i.e., NULL, in FIG. 9. Table 1060 (tblProcessStep) has one or more process steps for each process. An example Table 1060 is shown in process steps sub-window 940 of FIG. 9. Associated with a process step (tblProcessStep) are tables 1062 (tblProcessorStepParameter), 1064 (tblToolSelection), and 1066 (tblESPCuttingCycle) of FIG. 10B which give the machining parameter(s), cutting tool(s), and cutting operation(s), respectively.
[0058] Figs. 10D and 10F show tables for the tooling group including the cutting tool (table 1070) and coolant type (table 1072). FIG. 10E has tables for the Speed feeds group, including table 1080, which has speed and feed data for the cutting process.
[0059] A feature of a part may be constrained, as illustrated in FIG. 9, to have a Unit 910 "Inch" and an ESPRIT feature type 911 of "FeaturePTOP." Hence table 1014 (tblFeatureType) is related to table 1016 (tblESPFeatureType) and table 1018 (tblESPUnit). In addition, a process may be constrained to use a particular material class (Part Material Class 952 of FIG. 9) and a certain unit (Unit 954 of FIG. 9). hi this case there are no constraints. Table 1050 (tblProcess) is related to table 1055 (tblPartMaterialClass) via table 1054 (tblPartMaterialClasshidex) and table 1050 (tblProcess) is also related to table 1018 (tblESPUnit).
[0060] The following describes how the tables (Figs. 10A - 10F) stored in DB 226 are related to the sequence of steps to find the process associated with each feature in a part. The process associated with the feature has the program code to machine the feature on the CNC machine. The first step is to use an SQL search to extract a list of possible features for the part from the DB. The list is given by searching table 1012 (tblFeatureTypelndex) to get the feature type ID's for the features for each part and then retrieving the table 1014 (tblFeatureType) for each feature type ID. For each possible feature, i.e., table 1014, it's VB rales (fldRecognitionRules_tblFeaturetype 1015) are evaluated to Trae or False. A NULL VB rule evaluates to False. There may be multiple features in a part. The next step is to get for each feature with their VB rules evaluating to True, the list of keys and values. An SQL search is executed to extract a list of keys for a feature. The list is given by searching table 1020 (tblKey idex) to get the key ID's for the keys for each feature in a part, and then retrieving the table 1022 (tblKey) for each key ID. The value tables 1024 (tblValue) are retrieved for each Key table 1022 (tblKey). For each value for a key, its VB rules (fldRecognitionRules_tblNalue 1026) are evaluated to True or False. A NULL VB rale evaluates to False. A key/value pair is a key having one value with VB rules evaluating to true. If there is another value for the key in the key/value pair, then a second key/value pair is formed. A list of applicable feature cases, i.e., combinations of feature with associated key/value pairs for each feature in a given part, can be formed.
[0061] For a given feature, once the processing above has been performed, the associated process is selected using the following methodology. The DB 226 includes a plurality of predetermined feature cases. Each predetermined feature case has assigned to it one or more predetermined process(es) (where the same process may be assigned to multiple feature cases). Table 1030 (tblFeatureCase) has for each feature (fldpkFeatureTypelD) the feature cases (fldpkFeatureCaseld). Table 1040 (tblProcessfridex) then gives, for each feature case (fldpkFeatureCaseld), the list of processes (fldkProcessrndexId). For each process, table 1050 (tblProcess) describes the process.
[0062] Since for each feature in a given part, the key/value pairs have been determined, each applicable feature case (fldpkFeatureCaseld) can be found using table 1028 (tblNaluehidex) and table 1030 (tblFeatureCase). Thus by performing, for example, a SQL search of the DB, including tables 1028 and 1030, for each applicable feature case, if there is a match (or matches) in the DB, then the corresponding predetermined process(es) are retrieved. The matches are ranked by the number of values in the predetermined feature case that match the applicable feature case.
[0063] The retrieved processes are sorted based on ranking highest to lowest. For each retrieved process its VB rules (fldRule_tblProcess 1052) are evaluated to True or False. A NULL rule evaluates to TRUE. For the processes with VB rules evaluated to True, either the user will be asked to select or by default the highest ranking process is selected.
[0064] Once the process is selected for the feature, the process steps are retrieved via SQL query. Optionally, each process step may also have a rule (not shown in Figs. 10A - 10F). The VB rales are evaluated to True or False. A NULL rule evaluates to True. The process step is executed only when its rule evaluates to true.
[0065] In order to better understand the process selection process, an example of a DB having eight features cases (feature case ID F51 - F58) is described below. The feature cases are generated using the following example data: [0066] Feature Type: M, MF
[0067] Key 1: SizeM with Values: M8xl.25, M10xl.25, M12xl.5, M14x2
[0068] Key 2: Tol with Values: A, B, C
[0069] Key 3: Class with Values : XI, X2, X3
[0070] Key 4: Family with Values: Hard, Soft
[0071] Table I below shows an example DB having a plurality of feature cases with associated processes, where the processes are identified by ProcessCaselD.
[0072] Table I
Figure imgf000018_0001
F58 M Family Soft PI
[0073] Given an applicable feature case with a particular feature and key/value pair, Table I is searched to find the feature case ID (FeatureCaselD) and thus the process (ProcessCaselD) for the feature case. There are typically three search scenarios of interest.
[0074] Scenario 1 : The search criterion is more specific than the data available.
[0075] Search Criteria (M, M8xl.25, A, xl, Soft)... Returns (54). For a search which matches the feature M and at least on e key/value, which is called in this example a full search, the feature case IDs returned are (54, 58, 53, 55, 56, 57).
[0076] Search Criteria (M, M8xl.25, A, xl, Hard)...Returns (54); full search returns (54, 53, 55, 56, 57, 58)
[0077] Search Criteria (M, M8xl.25, B, xl, Soft)... Returns (55); full search returns (55, 54, 58, 53, 56, 57)
[0078] Scenario 2: The search criterion is less specific than the data available.
[0079] Search Criteria (M, M8xl.25)...Returns (53); full search returns (53, 54, 55, 56, 57)
[0080] Search Criteria (M, M8xl.25, A)... Returns (53); full search returns (53, 54, 56, 57,
55, 58)
[0081] Scenario 3: The Search criterion is equivalent to the data available [0082] Search Criteria (M, M10xl.25)...Returns (52); full search returns (52)
[0083] Search Criteria (M, M8xl.25, A, xl)... Returns (54); full search returns (54, 53, 55,
56, 57, 58)
[0084] Search Criteria (M, M8xl.25, A, x3)... Returns (57); full search returns (57, 53, 54,
56, 55, 58)
[0085] The search criteria may be implemented using SQL. As seen from the above example, a feature case, i.e., search criterion, may be more specific, less specific, or equivalent to the data in the database, hence different processes may be returned for different feature cases. In one embodiment, different feature cases are tried and the feature case that most closely fits the data in the database, i.e., the search criterion equivalent to the data available or closest to the data available, is selected. The processes associated with the selected feature case have their rales evaluated and the rales evaluating to "true" are used to machine the part.
[0086] From the above example, it can be seen that multiple feature type rules, key/value rules, and process rales may be trae at the same time, and a conflict of which rule to execute may occur. In one embodiment, the user is shown the choices and must select one of the choices. The user by setting a conditional expression to automatically select his/her choice, has incorporated his/her decision rationale into the system, e.g., generating program 712. Thus the expert, i.e., user, is teaching the system, and the system is capturing the expert's knowledge. In another embodiment, a default priority may be set.
[0087] Although specific embodiments of the invention have been described, various modifications, alterations, alternative constructions, and equivalents are also encompassed within the scope of the invention. The described invention is not restricted to operation within certain specific data processing environments, but is free to operate within a plurality of data processing environments. Additionally, although the invention has been described using a particular series of transactions and steps, it should be apparent to those skilled in the art that the scope of the invention is not limited to the described series of transactions and steps.
[0088] Further, while the invention has been described using a particular combination of hardware and software, it should be recognized that other combinations of hardware and software are also within the scope of the invention. The invention may be implemented only in hardware or only in software or using combinations thereof.
[0089] The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, deletions, and other modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims.

Claims

WHAT IS CLAIMED IS:
1. A method for machining a feature of a part using a database, said method comprising: identifying a feature type from a plurality of feature types by evaluating a predetermined rule stored in said database, wherein said feature type is associated with said feature; searching said database to identify a process associated with said feature type; and machining at least a portion of said feature based on said process.
2. The method of claim 1 wherein said predetermined rale comprises a code fragment that evaluates to a true or false value.
3. The method of claim 1 wherein said feature type has an associated key and value, and wherein said searching said database uses said feature type and said associated key and value to identify said process.
4. The method of claim 1 wherein said feature is selected from a plurality of features of a model of said part by evaluating another predetermined rule stored in said database;
5. The method of claim 1 wherein when said searching finds a plurality of processes, a process of said plurality of processes is selected using a second predetermined rale.
6. A method for machining a feature of a part using a database, said method comprising: identifying a feature type from a plurality of feature types of said feature by evaluating a first predetermined rule stored in said database; identifying a key of a plurality of keys and a value of a plurality of values associated with said feature type, said value selected by evaluating a second predetermined rale stored in said database; creating a feature case from said feature type, said key and said value; using said feature case, retrieving from said database a process; and machining at least a portion of said feature using said process.
7. The method of claim 6 wherein said database is searched for said process using a SQL query.
8. A computer readable medium containing a data structure for manufacturing a feature of a part, comprising: a first table comprising a first field identifying a feature type of said feature and a second field having a first rule for selectmg said feature type from a plurality of feature types; and a second table comprising a third field identifying a value from a plurality of values of a key of said feature type and a fourth field having a second rule for determining when said value is selected.
9. The computer readable medium of claim 7 further comprising: a third table comprising a fifth field identifying a process of a plurality of processes associated with said feature type and a sixth field having a third rule for determining when said process is selected.
10. The computer readable medium of claim 9 wherein said third rule is a logical expression selected from a group consisting of a comparison expression, a logical combination of comparison expressions, a trae value, a false value, and a function returning a logical value.
11. A system for machining a feature of a part comprising: a computer aided design tool for creating a model of said part; a computer aided manufacturing tool for identifying said feature of said part and adding physical characteristic data for said feature to said model; a computer numerically controlled machine tool receiving instructions from said computer aided manufacturing tool on machining said feature; and a centralized database coupled to said computer aided design tool, computer aided manufacturing tool, and said computer numerically controlled machine for storing information on machining said feature.
12. The system of claim 11 wherein said database is coupled to said computer aided manufacturing tool, computer aided manufacturing tool, and said computer numerically controlled machine tool via an Application Programming Interface.
13. The system of claim 12 wherein said Application Programming Interface is accessed through Visual Basic code.
14. The system of claim 12 wherein said Application Programming Interface comprises computer comparison instructions to construct a rule.
15. The system of claim 11 wherein said computer aided manufacturing tool is connected to said computer numerically controlled machine tool via a computer.
16. The system of claim 15 wherein said computer executes a reduced functionality computer aided manufacturing tool.
17. The system of claim 15 wherein said computer executes said computer aided manufacturing tool.
18. A system for machining a feature of a part comprising: a computer aided design and manufacturing tool for creating a model of said part and for identifying said feature of said part and adding physical characteristic data for said feature to said model; a computer numerically controlled machine tool receiving instructions from said computer aided design and manufacturing tool on machining said feature; and a centralized database coupled to said computer aided design and manufacturing tool and said computer numerically controlled machine for storing information on machining said feature.
19. The system of claim 18 further comprising an application program interface, comprising Basic code, for accessing information in said centralized database by said computer aided design and manufacturing tool and said computer numerically controlled machine tool or a computer coupled to said computer numerically controlled machine tool.
20. The system of claim 19 wherein said computer executes a reduced functionality computer aided design and manufacturing tool.
21. The system of claim 19 wherein said computer executes said computer aided design and manufacturing tool.
22. A method for machining a feature of a part using a computer system, said method comprising: receiving a model of said part; identifying said feature from said model by evaluating a feature recognition rale retrieved from said database; identifying a feature type associated with said feature by evaluating a feature type rule retrieved from said database; retrieving a plurality of keys associated with said feature type from said database; retrieving a plurality of value rales associated with a key of said plurality of keys from said database; identifying a value of said key by evaluating said plurality of value rules; retrieving a plurality of processes by searching said database using a feature case comprising said feature type, said key and said value; and identifying a process of said plurality of processes by evaluating a process rale associated with said process.
23. The method of claim 22 wherein said plurality of value rales include a logical expression selected from a group consisting of a comparison expression, a logical combination of comparison expressions, a trae value, a false value, and a function returning a logical value.
24. The method of claim 22 wherein said plurality of value rules comprise a code fragment that evaluates to a logical trae or false value
25. The method of claim 22 wherein said process comprises at least one process step, and said process step comprises a machining cycle used for machining at least a portion of said feature.
26. A system for manufacturing a feature on a part using a database, comprising: a model of said part stored in said database; means for identifying a feature of said model from a plurality of features; means for identifying a feature type of said feature from a plurality of feature types; means for retrieving a process associated with said feature type from said database; and means for using said process to manufacture a feature on said part.
27. The method of claim 26 wherein said means for identifying comprises a predetermined rale comprising a comparison expression or a logical combination of comparison expressions.
PCT/US2003/041238 2003-01-17 2003-12-23 Rule-based system and method for machining a part WO2004068275A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP03815662A EP1588288A4 (en) 2003-01-17 2003-12-23 Rule-based system and method for machining a part
AU2003297525A AU2003297525A1 (en) 2003-01-17 2003-12-23 Rule-based system and method for machining a part

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34647503A 2003-01-17 2003-01-17
US10/346,475 2003-01-17

Publications (2)

Publication Number Publication Date
WO2004068275A2 true WO2004068275A2 (en) 2004-08-12
WO2004068275A3 WO2004068275A3 (en) 2004-12-09

Family

ID=32823682

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/041238 WO2004068275A2 (en) 2003-01-17 2003-12-23 Rule-based system and method for machining a part

Country Status (4)

Country Link
EP (1) EP1588288A4 (en)
AU (1) AU2003297525A1 (en)
TW (1) TW200419399A (en)
WO (1) WO2004068275A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902835A (en) * 2012-06-29 2013-01-30 天津汽车模具股份有限公司 Female die sleeve design template for cold stamping dies
WO2014193662A1 (en) * 2013-05-28 2014-12-04 Siemens Product Lifecycle Management Software Inc. Feature geometry aspect recognition and machining
WO2018083512A1 (en) * 2016-11-04 2018-05-11 Siemens Product Lifecycle Management Software Inc. Process and system for providing a machining method for manufacturing a feature in a part

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI405092B (en) * 2009-08-18 2013-08-11 Delta Electronics Inc Tool-path calculation apparatus for numerical controlled system and method for operating the same
CN103797430B (en) * 2011-09-15 2016-01-13 三菱电机株式会社 Numerical control device, system of processing and numerical control method
TWI457735B (en) * 2012-07-16 2014-10-21 Wistron Corp Mold machining method and mold machining system for computer numerical control

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947095A (en) * 1987-09-22 1990-08-07 Fanuc Ltd Expert system of machine tool equipped with NC unit
GB2271004A (en) * 1992-09-28 1994-03-30 Ford Motor Co Expert system for diagnosing machines.
US5822207A (en) * 1996-05-06 1998-10-13 Amadasoft America, Inc. Apparatus and method for integrating intelligent manufacturing system with expert sheet metal planning and bending system
US6272396B1 (en) * 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
US6363298B1 (en) * 1998-10-23 2002-03-26 Chrysler Corporation Method and apparatus for generating tool paths
US6397122B1 (en) * 1996-03-11 2002-05-28 Finn-Power International, Inc. Apparatus and method therefor of maximizing the production run speed of a sheet fabrication machine
US6477517B1 (en) * 2000-01-20 2002-11-05 Visteon Global Technologies, Inc. Method of knowledge-based engineering design of an instrument panel
US6490498B1 (en) * 1998-06-05 2002-12-03 Amada Company, Limited Integrated support system for supporting sheet metal machining
US6591156B1 (en) * 1998-12-25 2003-07-08 Okuma Corporation Method and apparatus for providing numerical control information

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5552995A (en) * 1993-11-24 1996-09-03 The Trustees Of The Stevens Institute Of Technology Concurrent engineering design tool and method
US6112133A (en) * 1998-02-27 2000-08-29 Imcs, Inc. Visual system and method for generating a CNC program for machining parts with planar and curvilinear surfaces
DE10023668B4 (en) * 2000-05-16 2006-03-09 Daimlerchrysler Ag Method and assistance system for supporting work planning for a manufacturing process
GB0112559D0 (en) * 2000-09-14 2001-07-11 Bae Systems Plc A method and control system for generating machine tool control data
US7099804B2 (en) * 2001-03-14 2006-08-29 Delphi Technologies, Inc. Automated horizontally structured manufacturing process design modeling
US6823342B2 (en) * 2001-05-15 2004-11-23 Vykor, Inc. Method and system for capturing, managing, and disseminating manufacturing knowledge

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947095A (en) * 1987-09-22 1990-08-07 Fanuc Ltd Expert system of machine tool equipped with NC unit
GB2271004A (en) * 1992-09-28 1994-03-30 Ford Motor Co Expert system for diagnosing machines.
US6397122B1 (en) * 1996-03-11 2002-05-28 Finn-Power International, Inc. Apparatus and method therefor of maximizing the production run speed of a sheet fabrication machine
US5822207A (en) * 1996-05-06 1998-10-13 Amadasoft America, Inc. Apparatus and method for integrating intelligent manufacturing system with expert sheet metal planning and bending system
US6272396B1 (en) * 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
US6490498B1 (en) * 1998-06-05 2002-12-03 Amada Company, Limited Integrated support system for supporting sheet metal machining
US6363298B1 (en) * 1998-10-23 2002-03-26 Chrysler Corporation Method and apparatus for generating tool paths
US6591156B1 (en) * 1998-12-25 2003-07-08 Okuma Corporation Method and apparatus for providing numerical control information
US6477517B1 (en) * 2000-01-20 2002-11-05 Visteon Global Technologies, Inc. Method of knowledge-based engineering design of an instrument panel

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP1588288A2 *
XU J. AND ABOURIZK S.: 'Product-based model representation for integrating 3D CAD with computer simulation' WINTER SIMULATION CONFERENCE PROCEEDINGS 1999, pages 971 - 977, XP002909253 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902835A (en) * 2012-06-29 2013-01-30 天津汽车模具股份有限公司 Female die sleeve design template for cold stamping dies
WO2014193662A1 (en) * 2013-05-28 2014-12-04 Siemens Product Lifecycle Management Software Inc. Feature geometry aspect recognition and machining
US9329591B2 (en) 2013-05-28 2016-05-03 Siemens Product Lifecycle Management Software Inc. Feature geometry aspect recognition and machining
WO2018083512A1 (en) * 2016-11-04 2018-05-11 Siemens Product Lifecycle Management Software Inc. Process and system for providing a machining method for manufacturing a feature in a part
US10921779B2 (en) 2016-11-04 2021-02-16 Siemens Industry Software Inc. Process and system for providing a machining method for manufacturing a feature in a part

Also Published As

Publication number Publication date
EP1588288A4 (en) 2006-12-06
AU2003297525A8 (en) 2004-08-23
WO2004068275A3 (en) 2004-12-09
EP1588288A2 (en) 2005-10-26
TW200419399A (en) 2004-10-01
AU2003297525A1 (en) 2004-08-23

Similar Documents

Publication Publication Date Title
EP1590760B1 (en) Method and system for computer aided manufacturing
US6823342B2 (en) Method and system for capturing, managing, and disseminating manufacturing knowledge
US11599099B2 (en) System and method for constructing process plans for hybrid manufacturing with the aid of a digital computer
CN112424711A (en) Processing based on strategies selected according to preferential manufacturing aspects
Kanumury et al. Process planning in an automated manufacturing environment
US20200201284A1 (en) Method and system for automatic generation of computer-aided manufacturing instructions
Jiang et al. An automatic process planning system for the quick generation of manufacturing process plans directly from CAD drawings
WO2004068275A2 (en) Rule-based system and method for machining a part
Shunmugam et al. A method of preliminary planning for rotational components with C-axis features using genetic algorithm
Shirur et al. Machining algebra for mapping volumes to machining operations for developing extensible generative CAPP
US5608641A (en) Method and apparatus for simplifying the task of retrieving and accessing a segment of a numerical control (NC) program
Gupta et al. A system for generating process and material selection advice during embodiment design of mechanical components
Vosniakos et al. Knowledge-based selection and sequencing of hole-making operations for prismatic parts
Mill et al. Design for machining with a simultaneous-engineering workstation
Lin et al. A semi-generative approach to computer-aided process planning using group technology
US20200117167A1 (en) Control system of machine tool
Tolouei-Rad An efficient algorithm for automatic machining sequence planning in milling operations
Usher Object oriented approach to feature-based process planning
Tolouei-Rad An approach towards fully integration of CAD and CAM technologies
Srikumaran et al. Proving manufacturability at the design stage using commercial modeling Software: Through feature mapping and feature Accessibility
Sheen et al. Process planning and NC-code generation in manufacturing of press dies for production of car bodies
Chen et al. A Web-based process/material advisory system
Jang et al. Tool selection in machining by integration of a data base and a rule based system
GOND GENERATIVE PROCESS PLANNING IN JOB SHOP MANUFACTURING
Van der Merwe et al. A web based man

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003815662

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003815662

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

WWW Wipo information: withdrawn in national office

Ref document number: 2003815662

Country of ref document: EP