Claims
- 1. A method, using a computer system, for manufacturing a part, said method comprising:
receiving a model of said part; retrieving a predetermined rule from a plurality of predetermined rules stored in a computer readable medium; selecting a feature of said model by evaluating said predetermined rule; determining a process associated with said feature; and based on at least said process, generating computer code to manufacture said feature on a computer controlled machine.
- 2. The method of claim 1 wherein said feature is assigned a feature type by evaluating a second predetermined rule.
- 3. The method of claim 2 wherein said feature type comprises a plurality of keys, each key comprising a value from a plurality of values, said value selected from said plurality of values by evaluating a third predetermined rule.
- 4. The method of claim 2 wherein said process is further associated with said feature type using a fourth predetermined rule.
- 5. The method of claim 3 wherein said process is further associated with said feature type based on a feature case and a fourth predetermined rule, said feature case comprising said feature type and a combination of one or more of said selected values.
- 6. The method of claim 1 wherein said feature comprises an attribute describing a physical characteristic of said feature.
- 7. The method of claim 6 wherein said attribute comprises a key and a value.
- 8. The method of claim 7 further comprising, selecting said value associated with said key using a second predetermined rule.
- 9. The method of claim 8 wherein said process is further associated with said key and said value using a third predetermined rule.
- 10. The method of claim 8 further comprising:
searching a database for a plurality of processes associated with a feature case, said feature case comprising said feature, said key, and said value using a third predetermined rule, selecting said process from said plurality of processes.
- 11. The method of claim 1 further comprising:
selecting an attribute associated with said feature using another predetermined rule, said attribute describing a physical characteristic of said feature; and wherein said process is further associated with said attribute.
- 12. A method for manufacturing a part using a computer system, said method comprising:
receiving a model of said part; selecting a feature of said model from a plurality of features by evaluating a first predetermined rule; and associating a process from a plurality of processes with said feature by evaluating a second predetermined rule, wherein said second predetermined rule comprises a fragment of code stored in a computer readable medium.
- 13. The method of claim 12 wherein said fragment of code evaluates to a true or false value.
- 14. The method of claim 12 wherein said fragment of code comprises a function that returns a true or false value.
- 15. The method of claim 12 wherein said fragment of code comprises a logical expression.
- 16. The method of claim 12 further comprising selecting a process from a plurality of processes corresponding to a feature type associated with said feature, using a third predetermined rule.
- 17. The method of claim 16 wherein said process comprises at least one process step, said process step comprising a machining parameter used for machining at least a portion of said feature.
- 18. The method of claim 17 wherein said process step further comprises a machining cycle.
- 19. The method of claim 18, wherein said process step further comprises a cutting tool parameter to be used by said machining cycle.
- 20. The method of claim 19, wherein said cutting tool parameter is determined by use of a formula.
- 21. The method of claim 17, wherein said machining parameter comprises a cost.
- 22. The method of claim 17, wherein said process step further comprises a machining parameter, said machining parameter having an associated formula for determining a value of said machining parameter.
- 23. A method for generating a computer numerical control (CNC) program for machining a part on a CNC machine, said CNC program stored in a computer readable medium, said method comprising:
receiving a model of said part; selecting a feature of said model from a plurality of features by evaluating a first predetermined rule, wherein a feature type is associated with said feature when a second predetermined rule is evaluated, and wherein said feature type comprises a plurality of keys, each key comprising a plurality of values; selecting a value of said plurality of values associated with a key of said plurality of keys by evaluating a third predetermined rule; generating one or more feature cases, wherein a feature case comprises a feature type and a combination of one or more selected values of said plurality of values, wherein each feature case comprises an associated process; selecting from said associated processes, a process associated with said feature type using said one or more feature cases and a fourth predetermined rule; determining a process step corresponding to said process associated with said feature type, said process step comprising a machining cycle; and generating a portion of said CNC program using said machining cycle.
- 24. The method of claim 23 wherein said first predetermined rule is a logical expression selected from a group consisting of a comparison expression, a logical combination of comparison expressions, a true value, a false value, and a function returning a logical value.
- 25. The method of claim 24 wherein only when said first predetermined rule evaluates to true value is said feature selected.
- 26. A system for manufacturing a part using a first program stored in a computer readable medium, said system comprising:
a database comprising a plurality of machining operations and a plurality of rules; and a second program stored in memory, said second program operably configured to select a set of machining operations from said plurality of machining operations by evaluating said plurality of rules, said set used to create a portion of said first program.
- 27. The system of claim 26 wherein said second program accesses said database using an application program interface (API).
- 28. The system of claim 26 wherein said plurality of rules comprises a code fragment, said code fragment evaluating to a logical value.
- 29. The system of claim 26 wherein said plurality of rules comprises rules for features, rules for attributes, and rules for processes.
- 30. The system of claim 29 wherein each feature has one or more attributes.
- 31. The system of claim 29 wherein each feature has one or more processes.
- 32. The system of claim 29 wherein an attribute comprises a key and a value, wherein said value has a corresponding rule.
- 33. A computer system for machining a feature of a part, said computer system comprising a processor, a user input device coupled to said processor, and a display coupled to said processor, said computer system further comprising:
a user interface element comprising instructions executed by said processor, said user interface element capable of accepting a comparison expression representing a rule associated with said feature of said part, said comparison expression specified via said user input device and displayed on said display; and a database for storing said rule.
- 34. The computer system of claim 33 wherein said user interface element is further capable of accepting another comparison expression representing another rule associated with an attribute of said feature, said another comparison expression specified via said user input device and displayed on said display, and wherein said another rule is stored in said database and wherein said another comparison expression comprises a function call.
- 35. A system for manufacturing a part using a computer system comprising:
a database comprising a plurality of rules and a plurality of machining cycles; a CNC program for manufacturing said part on a CNC machine; and a generating program stored in a computer readable medium for creating said CNC program, said generating program comprising:
a rules evaluation module for selecting at least one machining cycle of said plurality of machining cycles by evaluating at least one rule of said plurality of rules; and a CNC code generation module for generating a part of said CNC program using said machining cycle.
- 36. The system of claim 35 wherein said database further comprises parameter formulas for calculating values for machining parameters.
CROSS REFERENCES
[0001] This application is co-pending with and incorporates by reference in its entirety U.S. Utility patent Application Ser. No.______ titled “Rule-based System and Method for Machining a Part” by Charles D. B. Mathews, et. al., filed ______(Attorney Docket No. 020527-003).