CA1284383C - Computer integrated gaging system - Google Patents

Computer integrated gaging system

Info

Publication number
CA1284383C
CA1284383C CA000541495A CA541495A CA1284383C CA 1284383 C CA1284383 C CA 1284383C CA 000541495 A CA000541495 A CA 000541495A CA 541495 A CA541495 A CA 541495A CA 1284383 C CA1284383 C CA 1284383C
Authority
CA
Canada
Prior art keywords
tolerance
inspection
features
model
gage
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
CA000541495A
Other languages
French (fr)
Inventor
Keith A. Johnson
Christopher J. Garcia
Leslie O. Lincoln
David V. Grillot
Thomas W. Pastusak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FMC Corp
Original Assignee
FMC 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
Priority claimed from US07/058,687 external-priority patent/US4918627A/en
Application filed by FMC Corp filed Critical FMC Corp
Application granted granted Critical
Publication of CA1284383C publication Critical patent/CA1284383C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2207/00Indexing codes relating to constructional details, configuration and additional features of a handling device, e.g. Conveyors
    • B65G2207/14Combination of conveyors
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35223Tolerance, consider tolerance in design, design for assembly
    • 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/37Measurements
    • G05B2219/37441Use nc machining program, cad data for measuring, inspection
    • 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/37Measurements
    • G05B2219/37617Tolerance of form, shape or position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Numerical Control (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ABSTRACT OF THE DISCLOSURE
A system is provided which operates to compare three-dimensional models of inspection gages constructed from computer aided design (CAD) data for a manufactured part and standard geometric dimension and tolerance call-outs to three-dimensional models constructed from inspection data obtained from the manufactured part. The comparison is made both graphically, to assist an operator, and mathematically to determine part condition. Parts are found to be either in tolerance or out of tolerance. If out of tolerance they are found to be either reworkable or scrap. Additionally, the system is capable of determining syntax correctness for tolerance standards, defining the sequence of steps for a specific job prior to job execution, performing individual part tolerance conformance analyses and statistical part tolerance analyses for a population of parts, tolerance analyses for mating parts, and generation of tolerance call-outs for fixed and floating fastener features on parts.

Description

~L~ 3~7,~

COMPUTER INTEGRATED GAGING SYSTEM
BACKGROUND OF THE INVENTION
The invention disclosed herein relates to an inspection tool for mechanical parts and more particularly, to such a tool which utilizes part design data to construct an inspection gaye and inspection data to construct a model of the inspected part for comparison with the gage.
SUMMARY OF THE INVENTION
According to an aspect of the invention, a method of inspecting a fabricated structural part to determine conformance to known part dimensional feature and tolerance call-outs using a computer coupled to a multidimensionally movable position measuring apparatus, comprises the steps of constructing a multidimensional model of an inspection gage using the known part dimensional feature and tolerance call-outs, selecting dimensional features to be inspected on the part, generating an inspection path relative to the part considering the dimensional features selected to be inspected, thereby defining movement of the position measuring apparatus relative to the parts, moving the position measuring apparatus along the inspection path, determining the positions of the dimensional features selected for inspection on the fabricated part as the position measuring apparatus moves alonq the inspection path, constructing a multidimensional model of the fabricated structural part using the determined positions of the structural features, and comparing the inspection gage model with the fabricated structural part model to determine if the part is within or out or said tolerance call-outs from the comparison.

, : '. ' .

~L~

According to another aspect of the invention, the method of inspectiny a ~abricated structural part to determine conformance to known part dimensional feature and tolerance call~outs using a computer coupled to a multidimensionally movable position measuring apparatus, comprises the steps of constructing a multidimensional model of an inspection gage using the known part dimensional feature and tolerance call-outs, generating an inspection path relative to the part selected, thereby defining movement of the position measuring apparatus, moving the position measuring apparatus along the inspection path, determining the positions of the dimensional ~eatures on the fabricated part as the position measuring apparatus moves along the inspection path, constructing a multidimensional model of the fabricated structural part using the determ.ined positions of the structural ~eatures, comparing the inspection gage model with the fabricated structural part model to determine if the part is within or out of said tolerance call-outs from the comparison and indicating if the part is reworkable or scrap if the part is determinad to be out of tolerance, wherein the step of indicating if the part is reworkable comprises the steps of altering the fabricated structural part model within the known tolerance call-outs, recomparing the altered fabricated part model with the inspection gage model, and indicating that the ~abricated structural part is reworkable if the gage fits the altered part model and ~5 scrap if the gage does not fit.
According to another aspect of the invention, a method of inspecting a fabricated structural part having known critical and ma~or dimensional feature and tolerance call-out data in accordance with a known geometric dimensioning and tolerancing standard, utilizing a computer connected to a display, the computer having access to the critical and major dimensional feature and tolerance call-out data for the part, and a three-dimensionally movable member carrying a position measuring apparatus operating to determine the positions of structural f~atures on the fabricated part, comprises 0 the steps of obtaining the computer accessible critical and major dimensions and tolerances of the part, displaying a model of the part including the critical and major dimensions and tolerances, selecting from the display the known tolerancing standard and the part dimensions to be inspected and to which the known standard pertains, forming data representative of a three-dimensional gage represented by the selected tolerancing standard and part dimensions, generating an inspection path in accordance with the selected part dimensions to be inspected, instructing the three-dimensionally movable member to follow the inspection path, measuring the position of the fabricated part features embodied by the selected part dimensions as the movable member follows the inspection path, forming data representative of a three-dimensional model of the measured fabricated part features, and determining if the gage fits the fabricated part model.
According to another aspect of the invention, the method of inspecting a fabricated structural part having known critical and major dimensional features and tolerance call-outs in accordance with a known geometric dimensioning and tolerancing standard, utilizing a computer coupled to a display, and a three-dimensionally _L~

movable member carrying a position measuring apparatus operating to determine ~he positions of structural fsatures on the fabricated part, comprises the steps of obtaining the critical and major dimensions and tolerances of the part, displaying a model of the part including the critical and major dimensions and tolerances, selecting from the display the known tolerancing standard and the part dimensions to which the known standard pertains, forming data representative of a three-dimensional gage represented by the selected tolerancing standard and part dimensions, generating an inspection path for inspection of the selecting part dimensions, instructing the three-dimensionally movable member to follow the inspection path, measuring the position of the fabricated part features embodied by the selecting part dimensions as the ~0 movable member follows the inspection path, forming data representative of a three-dimensional model of the measured fabricated part features, determining if the gage fits the fabricated part model, reworking the fabricated part model within the tolerances if the gage does not fit, and indicating that the fabricated part is reworkable if the gage fits the reworked model and that the fabricated part is scrap if it does not.
According to another aspect of the invention, apparatus for comparing a three-dimensional model of an inspection gage to a three-dimensional model of a manufactured part using computer aided design data for the part, comprises computer means coupled to receive the part design data, ? ~3 display means coupled to said computer for displaying models of the designed part, the inspection gage an the manufactured part, Xeyboard means coupled to said computer for selecting particular part dimensional and tolerance call-outs on the designed part model display from which selections data descriptive of the inspection gage model is obtained, means for moving a member in three-dimensions coupled to said computer so that on inspection path may be followed around the manufactured part, and a position sensor attached to said moving member and coupled to said computer for detecting the positions of the part features being inspected, so that data descriptive of the manufactured part model is obtained, said inspection gage and manufactured part models being compared visually on the display and mathematically by the computer to determine in and out of tolerance manufactured part conditions.
According to another aspect of the invention, apparatus for inspecting a structural part having known dimensional features and tolerance call-outs, comprises means for constructing a multidimensional model of an inspection gage using the part dimensional and tolerance aall-outs, a multidimensionally movable position measuring apparatus for determining the positions of structural features on the part, means for generating an inspection path relative to the part defining movement of the position measuriny apparatus, means for moving the position measuring apparatus along the inspection path, means for constructing a multidimensional model of the structural part using the determined positions of the structural features, and . ~ . . . ~

, ' ' _L~ q ~3 means for comparing the inspection gage model with the structural part model for determining i~ the part is within or out of tolerance from the comparison.
According to another aspect of the inventi.on, a method of inspecting a manufactured structural part to determine conformance to known dimensional features and tolerance call outs using a computer coupled to a multidimensionally movable position measuring apparatus comprises the steps of ascertaining syntactic correctness of the tolerance call-outs required for structural part definition, modifying the tolerance call-outs to assume syntactic correctness i~ found to be incorrect, constructing a multidimensional model of an inspection gage using the known dimensional features and tolerance call-outs, gensrating an inspection path relative to the manufactured part defining movement of the position measuring apparatus relative to the manufactured part, moving the position measuring apparatus along the inspection path, determining positions of the structural features on the manufactured part as the position measuring apparatus is moved along the inspection path, constructing a multidimensional model of the manufactured structural part using the determined positions of the structural features, and comparing the inspection gage model with the structural part model for determining if the part is within or out of tolerance from the comparison.
According to another aspect of the invention, a method of inspecting a structural part having known critical and major dimensional feature and tolerance call-out data in accordance with a know geometric dimensioning and tolerancing standard having defined syntax, utilizing a computer connected to a display, the computer having access to the critical and ~ajor dimensional feature and tolerance call-out data for the part, and a three-dimensionally movable member carryiny a position measuring apparatus operating to determine the positions o~ structural features on the part, comprises the steps of obtaining the computer accessible critical and major dimensions and tolerance of the part, displaying a model of the part including the known critical and major dimensions and tolerances, selecting on the display the known tolerancing standard and the part dimensions to which the known standard pertains, ascertaining syntactic correctness of the known computer accessible tolerance call-outs as required for structural part definition, forming a three-dimensional gage corresponding to the selected tolerancing standard and part dimensions, generating an inspection path relative to the structural part for inspection of the selected part dimensions, instructing the three-dimensional~y movable member to follow the inspection path, measuring the position of the part features embodied by the selected part dimensions as the position measuring apparatus is moved along the inspection path, forming a three-dimensional model of the measured part features, aligning the three-dimensional measured part model with the three-dimensional gage, and determining if the gage fits the part model.
According to another aspect of the invention, a method of inspecting a structural part having known critical and major dimensional features and tolerance call-outs in accordance with a known geometric dimensioning and tolerancing standard having defined syntax, a computer coupled to a display, and a three-dimensionally movable member carrying a position measuring apparatus operating to determine the positions ~..~

7a of structural features on the part, comprises the steps of obtaining the critical and major dimensions and tolerances of the part, displaying a model of the part including the known critical and major dimensions and tolerances, selecting on the display the known tolerancing standard and the part dimensions to which the known standard pertains, ascertaining syntactic correctness of the known tolerance call-outs as required for structural part definition, forming a three-dimensional gage represented by the selected tolerancing standard and part dimensions, generating an inspection path relative to the structural part for inspection of the selected part dimensions, instructing the three-dimensionally movable member to follow the inspection path, measuring the position of the part features embodied by the selected part dimensions as the position measuring apparatus is moved along the inspection path, forming a three-dimensional model of the measured part features, aligning the three dimensional measured part model with the three-dimensional gage, determining if the gage fits the part model, comprising the steps of reworking the part model within the tolerances if the gage does not fit, and indicating that the part is reworkable if the gage fits the reworked part model and that the part is scrap if it does not.
According to another aspect of the invention, a method of predetermining a job sequence to be performed on a part by a system including a computer coupled to a multidimensionally movable position measuring apparatus, ' ' , 7b a store coupled to the computer containing a stored CAD
model of the part to be subject~d to the job sequence, and a machine for performing operations on the part, the machine being adapted to be aktached to anc1 governed by the system, comprising the steps of informing the system of the identity of the machine, connecting the machine to the system, identifying a point on the CAD model for orientation of the position measuring apparatus and the machine, designating the sequence o~ operations by the machine and the position measuring apparatus, analyzing the data obtained from operations involving the position measuring apparatus, and disconnecting the machine.
According to another aspect of the invention, a method of analyzing data relating to a physical part resulting from the operation of a system including a computer coupled to a multidimensionally movable position measuring apparatus and a machine governed by the system, and a store coupled to the computer containing CAD data relative to a part to be subjected to the analysis and data received relative to the physical configuration of the part, comprises the steps of constructing data representative of an inspection gage for features on the part by retriaving CAD data relative to such features, measuring the corresponding physical features of the part, storing data relating to the part physical features, 0 and determining the fit between the gage and the measured part data.
According to another aspe~t of the invention, a system for inspecting a structural part coupled to computer aided design data for the part, comprises means for reading the dimensions and tolerances from the computer aided design data ~or the part features to be inspect, means for mathematically constructing a three-dimensional inspection gage for the part utilizing the dimensions and tolerances, means for measuring the part features to be inspected and for providing inspection data representative thereof, means for mathematically constructing a three-dimensional model for the inspected part features and means for comparing the three-dimensional model with the three-dimensional gage, whereby compliance with design data tolerances is determined.
According to another aspect of the invention, a computer controlled display system for inspection and analysis of predetermined part features on a structural part coupled to computer aid~d design and tolerance data for the structural part, comprises a display surface, means for simultaneously displaying a design data model of the structural part and an inspection path akout the part model ~or the predetermined part features, and means for selectively altering said inspection path on said display surface.
According to another aspect of the invention, a computer controlled display system for inspection and analysis of part features on a structural part coupled to computer aided design and tolerance data describing the structural part and to measuring means for the part features, comprises a display surface, means for selecting the part features for inspection and analysis, and means for simultaneously displaying a model of the selected structural part features and an overlaid model of an inspection gage constructed form computer aided 7 d design and tolerance data relevant to the sel~cted part features.
According to another aspect of the invention, a method of investigating compatibility of predetermined standard dimensioning and tolerance call-outs on mating parts utilizing a computer, wherein design and tolerance data for the mating parts is available to the computer in memory, comprises the steps of retrieving the design and tolerance data relating to the mating parts from the memory, consulting the rules governing the predetermined standard tolerance call-outs to obtain proper tolerance interpretation for the retrieved data applying the interpreted tolerance call-outs to the mating design data, computing the worst case tolerance conditions for material interference between mating parts, and displaying the results of the worst case tolerance condition computation.
According to another aspect of the invention, a method of investigating compatibility of tolerance call-outs on mating parts using a computer having access to memory containing design and tolerance data, including dimension and tolerance datums, for the mating parts comprises the steps of retrieving the design and tolerance data from the memory relating to the mating features on the mating parts, determining if there is inconsistency in the datum call-outs in the tolerance data for the mating parts, and displaying alternatively an indication of no inconsistency where none exists and the location and nature of an inconsistency where some exists.
According to another aspect of the invention, a method of determining tolerance call-outs ~or fixed and floating fastener features on mating parts wherein design 7 e data for the mating parts is available in memory, comprises the steps of selecting a fastener, designating the position on a part where the fastener is to be used, designating the datums on the part to which the fastener location is to be referenced, selecting a tool for forming the part features to receive the fastener, determining the part feature maximum and minimum sizes for accommodating the fastener considering the tool and the selected fastener, and displaying the true position tolerance for the fastener accommodation part features.

_~L~

BRIEF DESCRIPTION OF THE D~AWINGS
Figure 1 is a block diagram showing the component parts of the system of the present invention.
Figure 2 is a flow diagram relating to the 5 computer integrated gaging system of the present invention.
Figure 3 is a perspective view of a model of a manufactured part subject to inspection by the present invention.
Figure 4 is a perspective view of an inspection gage constructed through the use of the present invention.
Figure 5 is a diagram showing inspection path generation as used in the presen~ invention.
Figure 6A is a plan view of the inspection gage of Figure 4.
Figure 6B is a plan view of the manufactured part of Figure 1.
Figure 7 is a flow diagram showing detail of 20 initial portions of the flow diagram of Figure 2.
Figure ~ is a flow diagram showing detail of subsequent portions of the flow diagram of Figure 2.
Figure 9 is another flow diagram showing detail of the latter portions of the flow diagram of 25 Figure 2.
Figure 10 is a data flow diagram of the system of the present invention.
Figure 11 is a chart of representative AN.SI
standard tolerance call-out symbols.
Figure 12 is a perspective view of a manufactured part depicting datums thereon.
Figures 13A - 13C are charts depicting inspection gages and datums for the manufactured part of Figure 120 Figure 14 is a plan view of a part with a g syntactically incorrect part feature call-out.
Figure 15 is a plan view of the part of Figure 14 with another syntactically inappropriate part feature call-out.
Figure 16 is a plan view of mating parts illustrating compatible part feature call-outs.
DESCRIPTION OF THE PREFERRED EMBODI_ENTS
A short title for the function performed by the system disclosed herein is computer integrated 10 gaging (CIG).
The system of the present invention may be seen with reference to Figure 1 wherein a computer 11, such as the VAXll/780*, is coupled to a display 12, such as the Textronix 4115*. A keyboard 13 is 15 provided for entering information into the system for use by the computer in controlling system operation.
Visual reference for keyboard operation is provided at the display 12. A mechanism or robot 14 for providing three dimensional movement within a prescribed volume 20 is exemplified by the Automatix robot designated AID
800*. A camera 16 is mounted in a known position overlying a working space and is utilized to determine the orientation of a part 17 resting on an underlying support surface 18. A sensor l9 is attached to the ~5 robot 14 and is exemplified by the non-contacting inspection (NCI) device shown in Figure l as a SELCOM*
laser sensor. It should be noted that the position sensing device 19 could consist of a coordinate measuring machine (CMM) or a numerically controlled 30 machine tool adapted with a touch probe. These devices would acquire inspection data by physically contacting various mechanical features on the part 17.
With reference to Figure 2 of the drawings * TRADEMARK

the flow diagram depicted there indicates that the initlal step in the process defining the invention involves the generation of a functional inspection gage. The manner in which this is accomplished includes the transmittal of computer aided design (CAD) data for a part 17 to the computer 11 as seen in Figure 1 and the subsequent display 20, in perspective as seen in Figure 3, of the designed part together with dimensional and tolerancing information in accordance with geometric dimensioning and tolerancing (GD&T) standards. The standard used for illustration here is U.S. Government designation ANSI Y14.5. There are shown three surface references, A, B and C.
Alternatively, the references may comprise the edge of a part, a point on a part, a hole, etc. As seen in Figure 3, the dimensional call-out is for four holes of one inch diameter plus 0.125 minus 0.0 inches on the display or model 20 of the part 17. This dimensional and tolerance call-out is considered to be a critical and major feature for the illustrated part. The holes are indicated to be located using the method of tolerancing termed ~true position~ (Figure 11) as indicated by the initial symbol in the tolerance block. Other drafting tolerancing methods may be selected such as reference to a surface profile or plus or minus tolerance dimensions. The holes in Figure 3 are required to be positioned so that their centers, as manufactured, will vary only within a 0.06 inch diameter circle at maximum material conditions (MMC, smallest holes). If the hole is larger than the MMC size, then the tolerance circle diameter grows in proportion. The true position of each hole is referenced to the three indicated surfaces A, B and C.
The operator of the system observes the ideal design or model 20 of the part 17 on the display 12 and is able to signify to the system through the keyboard 13 any one of several tolerancing conventions which appear on a menu on the screen. In the illustration of Figure 3, the true position 5 tolerancing standard is indicated and a cursor which appears on the display is positioned to indicate the dimensional and tolerance call-out relating to the illustrated four holes in the part 17. The computer receives the dimensional and tolerancing indication.
10 The tolerance information is inspected through program instructions for syntactic correctness. Once the tolerance syntax is determined to be correct, the computer generates an inspection yage model 21 as seen in Figure 4. The consistency of the part design 15 tolerance symbolism is therefore confirmed. With knowledge of the design description of the part and the tolerances applied to the described features, an inspection or functional gage using the same tolerance references as the part is constructed by the computer 20 and shown on the display. Accomplishment of such a step is indicated at A in Figure 2. The inspection gage data is stored for future use.
The part designer has made certain dimensional and tolerance call-outs for a part to be used in an assembly. Functional gauge data has just been created for the part as described hereinbefore.
The system then performs what is called design tolerance analysis as indicated in Figure 2. The purpose of the tolerance analysis is to determine if the designed part as toleranced will fit under all tolerance conditions with its mating part in the assembly. Details of this portion of the process are illustrated in Figure 7. A selection must be made by the operator to either analyze tolerances assigned to the part by the designer or define new optimal s~

tolerances for the part. If existing tolerances are to be analyzed, then a wors~ case part is created by the computer wherein the part is in a "virtual~
condition (reference ANSI Y 14.5), that is, the holes are all at the lower limit of the tolerances and any bosses, flanges, etcO are at the upper limit of the tolerances. Further, if holes are dimensioned with respect to true position, their size is further reduced by the amount of positional tolerance defined. This method simulates the condition of the holes as if placed, for purposes of the worst case part, at opposite limits of their allowable positioning tolerances.
Once the worst case part (virtual condition, having maximum material conditions and maximum positional deviation) is constructed by the computer t the tolerance call-out datums are aligned with those of the mating part. The mating part is also constructed by the computer in its virtual condition state. The computer checks for compatibility between the part undergoing tolerance analysis and its mating part. If the worst case parts fit, the design data together with the tolerance data is stored for future use. If the worst case parts do not fit, the process is re~urned to G as seen in Figure 7. The return of the process to this location occurs so that the design may be improved tolerancewise by creating the holes and/or bosses with different nominal sizes; i.e., a model geometry change.
As may be seen from Figure 7, if the analyzed existing tolerances do not fit, beginning at G , a new check or modification is made on the Part. In one instance new tolerances are obtained through the system input from the designer~ A new tolerance syntax check is made relative to the new tolerances.

L~

Alternatively, for model geometry change the tolerances are analyzed for the resulting model change. A new gage is then built by the computer, presuming tolerance syntax is correct. ~nalysis of 5 any new set of existing tolerances involves repetition of the process described immediately hereinbefore.
CIGMA may analyze any set of GD and T
specified tolerances. However, CIGMA is currently able to define new tolerances by itself for only two 10 special design cases; fixed and floating fastener cases. In these specific instances where parts are fastened together (held in tension), the fixed and floating fastener analysis of ~igure 7 is undertaken.
A bolt is an example of a fastener. It may go through 15 a part or it may be threaded into a part. A fastener is generally selected from Federal standard ~-28. The designer chooses the fastener based on stress requirements. The Federal standard provides the screw thread standards for the Federal services including 20 body diameter, bearing area of the fastener and thread length. The target hole size is calculated together with the upper and lower tolerance on the hole size and a true position tolerance is then provided for the hole. The datums for the position of the hole are 25 toleranced with flatness, straightness, roundness and cylindricity tolerance call-outs to guarantee that any possible positional error from the datums is below one-tenth of the true position error toleranced. For example, if the hole true position tolerance is .060, any error due to departure from flatness of the datums providing references for the hole position must contribute no more than .006 to the hole position error. This serves to guarantee part interchangeability.
The tolerances are thereafter analyzed by the program to ascertain that there is no diminution of fastener bearing surface by virtue of hole position error relative to the mating part for the part being analyzed. Diminution of fastener bearing surface 5 refers to displacement of the fastener laterally in the hole in the part being analyzed to the extent that the bearing surface under the head of a bolt, for example, lies partially over the hole rather than on the material in the part surrounding the hole. In lO summary it is seen that optimal tolerance analysis (definition of new tolerances) is only perormed by CIGMA for two special cases of GD and T tolerancing, fixed and floating fastener analysis, while worst cast analysis (analyze existing tolerances) is performed by 15 CIGMA for all cases of GD and T tolerancing.
The ensuing step following the performance of design tolerance analysis may be seen from Figure 2 to involve the generation of an inspection path for the three dimensionally movable member which is a part of 20 the robot 14 o~ ~igure l. ~he details of the step of generating an inspection path are set out in the flow diagram of Figure 7~ The process cannot be entered until it is ascertained that an inspec~ion gage for the part has been built and the analysis of the design tolerances show that the part fits properly with its mating part. After the gage has been built and the tolerance analysis successfully completed, the inspection path graphics are formed and displayed as shown in Figure 5 J The x's indicate measurement points along surfaces A, B and C. Three inspection points on each surface A, B and C define the surface.
A probe 22 is shown on the display 12 having a number of tips 22a which are selected to contact one of the inspection points (shown at surface C) of the CAD part model 20. Item 22 of Figure 5 is termed a probe .
.

'L~ ~ ~

cluster. A probe vector extends from the probe cluster having a probe tip 22a on the free end thereof. A number of displays are available in the system. A probe vector may be caused to move on the 5 cathode ray tube display to each of the inspection points indicated by the x's in Figure 5.
Alternatively, the tip 22a for the probe vector in use is caused to flash on the display. Also available is a display in which the probe cluster 22 moves around lO the part model 20, placing a probe tip in seq~ence at each inspection point. The path of the probe tip in whatever display is in use in a particular CIGM~
system is a logical progression from one point x to another, considering the shortest distance between 15 points and avoidance of obstacles. The progression is meant to inform the user of the direction from which the probe will physically approach the surface to be inspected and to provide information which may be used to avoid collisions between the probe cluster and the 20 part. Measurements are generated for each specific part feature at each probe contact point. It may also be seen that there are three measurement points associated with each of the four holes in the part 17, whereby each of the holes is fully defined. Having 25 monitored the graphic display of the path, the computer, upon command, forms a path program in accordance with the depicted path on the display. The path program is converted to a program intelligible to the robot 14, and the inspection path data is then stored for future use. The combination of this portion of the process is indicated at B in both Figures ~ and 7.
If a modification of the inspection path is desired, a function is entered through the keyboard 13 and the cursor or vector on the display 12 is controlled by the user. A menu of desired changes in the inspection path is presented to the user who may wish to add an inspection point to a surface, or to reroute the movement of the movable member to avoid an 5 obstacle. In the event an additional inspection point on a surface is to be designated for inspection, such a function is selected, the cursor is moved to the additional inspection point and the program is informed through the keyboard of the addition. In the instance where the path of the movable member is to be altered for purposes of avoiding an obstacle, the indicated function is selected and the cursor is moved to a point or points in succession on the display through which it is now desired that the movable 15 member shall pass to avoid the obstacle. The new points are entered into the path program through the keyboard and the program descriptive of the path of the movable member is thus altered. Following creation and/or modification of the inspection path, the path program may be called up and displayed as the cursor undertakes motion throughout the entire inspection path which is indicative of the motion sequence followed by the movable member on the robot 14.
As seen in Figure 2, following generation of the inspection path and any desired modifications thereto, the next portion of the process relates to job execution. Job execution refers to any job which may be performed by CIGMA including cutting parts, performing statistical process control, etc. Jobs may be executad manually by inputs through the keyboard or automatically under the control of the computer.
When automatic control is desired, first the job control language is defined as hereinafter described.
~5 Thereafter, job execution is simulated by a display on a screen. All steps to be run are simulated on the display. ~uto job control is then called by the operator subsequent to a determination that the job simulation is acceptable, The criteria for acceptance 5 is that all analysis runs are correct, with zero deviation from perfection. The operator makes the determination to call auto job control by referring to a menu on the system display called ~run job" from which he chooses either manual or automatic.
With reference once again to Figure 2 the next undertaking in the process of the present invention is to measure data from the manufactured part 17. Measurement of the physical features of the manufactured part 17 is only undertaken after the 15 inspection gage has been built and the inspection path has been generated as described hereinbefore and as seen in Figure 8. Further, a determination is made as to whether the job is to be executed manually by the operator or automatically by the system, as also 20 hereinbefore described. In the event automatic job control is implemented, the stored job control program is called up as indicated at E (Figure 8) and the process continues under control of the computer.
Otherwise, the subsequent functions are sequenced 25 manually by keyboard selection of various menu items on the part of the operator.
The orientation of the part 17 on the support surface 18 is sensed by the camera 16 attached in a known location over the working volume. The part 30 orientation is used to orient the inspection path as it is to be carried out by the movable member. The movable member is moved along the oriented inspection path by operation of the robot 14. Position data for the physical features of interest on the manufactured 35 part 17 are obtained by the sensor 19 (NCI or CMM) .

attached to the robot and the measured data is converted to a form which may be brought up visually as the model 17a of the manufactured part on the display 12. The measured model 17a of the 5 manufactured part 17 is then placed in storage for future use. This is indicated in Figures 2 and 8 at C
As indicated in Figure 2 follo~ling C , the measured data for the manufactured part 17 (used to 10 construct the measured model 17a) is analyzed statistically, as will hereinafter be described in detail in conjunction with Figure 9 and a determination is made either by the operator or by the job control program (whichever is in control) as to 15 whether the measurement data will be analyzed relative to the inspection gage constructed at A or from the standpoint of the measurement history of the population of those parts, or both. In the case of reference to the measurement history of the population 20 of those parts, a statistical analysis of the measurement is performed and a determination is made from the measurement as to whether the process is in control, as hereinafter described. An out of control process is stopped and the reason for the statistical aberration is identified. In the case of analysis relative to the constructed inspection gage, the measurement data is compared to the inspection gage 21 of Fi-gure 4. Both analysis relative to the functional or inspection gage and statistical analysis of the measurements proceed simultaneously. As seen in Figure 9, data representing the inspection gage 21, the inspection path between inspection points of Figure 5, and the measurements from the parts 17 must be complete before the comparison step or the statistical survey may be undertaken. Statistical data from the process is updated considering the measured part data. This updates the parts fabrication history. The type of analysis to be undertaken, gage or statistical, is decide~ by the 5 operator or otherwise in the job control language.
When gage analysis is selected, the inspection gage 21 and the measured manufactured part 17a data are called up and compared graphically on display 12 as well as mathematically in the computer 11. The gage 21 of 10 Figure 6A is generally shown in the color green on the display and the model 17a of the manufactured part 17 as measured may be brought up on the display in the color cyan (light blue). ~he gage and manufactured part models are then caused to overlie so that a 15 visual depiction of the manufactured part in comparison with the gage is shown. Mathematical analysis also takes place. The colored visual picture comparison is only for the vis`ual comfort of the operator and for verification. It may readily be 20 determined visually if the gage and the part have any intersecting surfaces, because of the different colors assigned to each. However, it is the mathematical comparison results generated by the computer which are subsequently used and are at this time stored as indicated at D . The comparison results are held for availability to other systems which may function in conjunction with the disclosed integrated gaging system.
The comparison results are then formulated in the form of an error report as seen in Figure 9. The error report is then called up on the graphic display 12. If there are no errors, a green light is illuminated to indicate that the manufactured part is within tolerance. If there are out of tolerance measurements, they are investigated to see if they can be reworked, so that the manufactured part may be saved. This is done in the illustrated instant by graphically enlarging the holes to their largest allowable size (least material condition) and 5 comparing once again the reworked holes on the manufactured part model to the gage 21. If the gage fits the part, a yellow light is illuminated which indicates that the part is reworkable. If the gage does not fit the reworked model of the manufactured 10 part, a red light is illuminated indicating that the manufactured part should be scrapped as not reworkable.
When statistical analysis is selected, the statistical history of a measured dimension of a specified part is reviewed. A constant monitor is 15 provided for measured dimensional quantities for statistical purposes. The last entered part measurement is reviewed to determined if the process is in control. That means a determination is made as to whether the measurement is included within the area 20 defined under a normal distribution bell curve and within plus or minus three standard deviations (plus or minus three sigma) from the mean of the normal distribution. If the last measured dimensional quantity is within the plus or minus three sigma 25 limits of the normal distribution, the program returns to measure further data from the part. If a maverick point occurs falling outside the plus or minus three sigma limits defined under the bell curve, the process is stopped and the statistical ranges for that 30 measurement quantity are displayed. The cause of the error is thus determined by analyzing trends in the statistical process history. The process is then repaired so that maverick points are less likely to occur.
~he following is an abbreviated program listing depicting one manner in which a program may be formulated for operating the disclosed systeJn in performing the disclosed gage and inspection module processes. C FMC Corporation 1987.

PURPOSE: TO SAVE THE CURRENT MODAL SETTINGS THAT WE
CHANGE, TO SET UP THE INITIAL CIG MODALS
TO INVOKE THE CIG FUNCTIONS VIA AN
ANVIL MENU SELECTION OF 5,11,7 TO RESET THE OLD MODALS ON EXIT FROM CIG
MODIFIED TO SET THE IMPLICIT POINT MODE TO
DEFINE AS DISPLAYED
ON ENTRY TO CIG - RESTORES TO PREVIOUS VALUE
ON EXIT
MODIFIED TO NOT CHECK THAT A DCS IS ACTIVE
UPON ENTRY TO CIG SOFTWARE
MODIFIED TO SET THE DEPTH ENTRY MODAL MVIEW
(15) AND TO SET THE TIME PERIOD BETWEEN
FILING FLAG IMODE(39) MODIFIED TO REENABLE THE USERS DCS ON EXIT

SET PDQFLG=O ON ENTRY AND
SAYE SET GEOMETRY PRESENTATION MODAL
(IMODE(8)) TO INDICATE GEOMETRY IN ALL VIEWS, AND
DRAFTING IN WORK
VIEW ONLY.

STORB GAGE FILE RELATIVE POSITION POINTERS
SO THAT OLD GAGE FILES COULD BE RESTORED
IUSER(7),IUSER(8),IUSER(9) ARGUMENTS:
TYPE NAME(DIM) I/O DESCRIPTION
SUBROUTINES CALLED:
ANVIL VERSION 1.5 LOCAL VARIABLES:
TYPE NAME(DIM) DESCRIPTION

Define local COMMON block to for device type to TEKA, TIKE, TEKO, and TERMA
LMODE = l implies last output was to alpha device = 0 implies last output was to graphics device 5 FMCDV = 0 implies standard mcs device = 1 implies Retro-Graphics input and output device = 2 implies Code Activated Switch in use DATA INITIALIZATION

CALL MVBITS (1,0,1,IMODE(30),1) 'SET BIT POSITION
!l TO 1 WHICH SAYS
CTRLW
'ENABLED

SET PDQFLG TO INDICATE NORMAL USER INTERACTION WITH
CIG. THIS HELPS CLRALPHA/IG08 CLEAR CORRECTLY WHEN
NECESSARY

SET GOSW(10)= PDQMOD, SO WE CAN REENTER AT TOP OF THIS

INSIDE CIG, THEN DO NOT REINITIALIZE MODALS ETC.

IF (REENTER190) THEN 'REENTER190 IS SET BY GRU03 IF
CTRLI HIT CALL PDQINIT(l) 'REINITIALIZE PDQ JUMP ARRAY
TO INDICATE NO
END IF

THIS IS PDQCON LEVEL l WHICH MEANS THAT IT IS THE lST
LEVEL OF IMBEDDED SUBROUTINE CALLS AFTER A CLINK IS
DONE. TO CONTROL RETURNS FROM CLINKS IN THIS LEVEL, SET PDQCON(l).

WARNING: LOCATION 9999 IN THIS GO TO IS LINKED TO
CLEANUP190. ANY CHANGE TO ITS LOCATION IN

,~ ~

o~

THIS LIST MUST BE REFLECTED IN THE VARIABLE

GO TO
(1000,2000,3000,4000,5000,6000,9g99,7000,8000,8500, 5 & 9000),PDQCON(l) FIRST FRESH CALL TO CX190 - SAVE IMODE(146) PERIOD
BETWEEN FILINGS AND SET TO 0. THIS MUST BE DONE AT
THIS LEVEL BECAUSE THIS MODAL MUST BE TURNED OFF
BEFORE ANY CALL TO ANVIL.

INITIALIZE THE IUSER ARRAY IF THIS IS THE FIRST TIME
USER HAS RUN THIS PART THROUGH THE CIG SYSTEM

IF (IUSER(l).LT~0) THEN
FIRST TIME THROUGH
DO 400 I=1,128 END IF

INITIALIZE DEFAULT FILE NAME SPECIFICATION
SO THAT OPNPRTFIL WILL USE CURRENT PARTS NAME AS FILE
NAME

DETERMINE WHERE ALPHAOUT IS GOING AND SET ALPHAOUT
ACCORDINGLY

SET ALPHA OUTPUT TERMINAL TYPE

SET ALPHA OUTPUT TERMINAL TYPE
CALL LDBIT(IMODE(14),ALPHADEV,5,0) SET WHERE ALPHA INPUT IS COMING FROM
CALL LDBIT(IMODE(14),ALPHAFROM,10,9) : ~.

.
. . :. . . ~, ` : ,, .
. . , _L~ J~3 ~24 -DETERMINE WHERE ALPHA OUTPUT IS GOING AND WHERE ALPHA
INPUT IS COMING FROM

IF(FMCDV.EQ.0) THEN
IF(ALPHAFROM.EQ.0) THEN
ALPHA INPUT IS COMING FROM GRAPHICS
DEVICE
DETERMINE GRAPHICS DEVICE TYPE
IF(IMODE(57).EQ.O) THEN

ELSE IF (IMODE(57).EQ.15) THEN
TEKTRONIX 41Xx TERMINAL BEING USED

END IF

ELSE
ALPHA IS COMING FROM ALPHA DEVICE

END IF

DETERMINE ALPHA OUTPUT DEVICE

IF(ALPHADEV.EQ.0) THEN
ALPHA OUTPUT IS GOING TO GRAPHICS DEVICE
DETERMINE GRAPHICS DEVICE TYPE
IF(IMODE(57).EQ.0) THEN
TEKTRONIX 40xx TERMINAL BEING USED

ELSE IF (IMODE(57).EQ.15) THEN
TEKTRONIX 41xx TERMINAL BEING USED
.
END IF

ELSE IF(ALPHADEV.EQ.l) THEN

h~ L~

END IF

ELSE IF(FMCDV.EQ.l) THEN

INPUT AND OUTPUT

ELSE IF(FMCDV.EQ.2) THEN
4014 WITH CAS. USING 4014 FOR ALPHA INPUT AND
ALPHA TERMINAL FOR ALPHA OUTPUT

END IF

CALL ALPHAOFF

ON FIRST NEW ENTRY,SAVE GOSW SETTINGS TO RETURN TO
THI5 CORELOAD (190) WHEN REQUIRED

SET UP MENUS TO SAVE THE CURRENT CURVE WEIGHT TABLE IN

CALL MENWTSAV(NBCHARS,CURWTS) SAVE WEIGHT TABLE

CALL CLINK(2) LATER USE

CALL MENWTRET(NBCHARS,CIGWTS) RESTORE THIS TABLE

CALL CLINK(2) SAVE CURRENT PART DEFAULT CURVE WEIGHT

SAVE CURRENT PRESENTATION MODE MODAL

SAVE CURRENT PART DEFAULT CURVE COLOR

SAVE CURRENT PART SELECTION MODE

SAVE CURRENT PART SURFACE PATH DISPLAY MODALS

SAVE IMPLICIT POINT MODE

SAVE DEPTH ENTRY MODAL

SAVE CURRENT VALUE OF DEFAULT LEVEL

SET PRESENTATION MODAL TO INDICATE GEOMETRY IN ALL
15 VIEWS, DRAFTING IN WORK VIEW ONLY

SAVE CURRENT IMODE 180 WHICH CONTROLS DRAFTING EXTENT, TRIM CURVE MODE,BLANK AND UNBLANK,FILLET MODE,ROTATION
MODE,MIRROR MODE

20 DRAFTING=ONE ENT ONE CHANGE, _L~ 3 TRIM CURVE=VISUAL IN WORK VIEW
BLANK/UNBLANK=TEMPORARY
FILLET = VISUAL IN WORK VIEW
ROTATION = 2D WORK VIEW
5 MIRROR MODE = EXISTING LINE OR PLANE

SET SELECTION MODAL TO ALLOW FOR POINTER SELECTION

SET IMPLICIT POINT MODE TO DEFINE AS DISPLAYED

CALL MVBITS (2,0,2,IMODE(146),0) 'SET BIT POSITION
'0 AND 1 TO 10 'DISPLAY WHERE DEFINED
SET THE DEPTH ENTRY MODAL TO DATA ENTRY MODE

ALLOW FOR SPECIAL JUMPS VIA A CTRL SPACE

SAVE ACTIVE DCS POINTER SO THAT THE USER DCS CAN BE
REACTIVATED ON EXIT

DO WHILE(.NOT.(TERMINATE)) REENTER CX190 HERE ON RETURN FROM CXl91,CX192 CALL PDQINIT(l) DISPLAY TOP LEVEL CIG MENUS AND FIND OUT WHAT USER
WANTS TO DO

TURN ON ALPHA TERMINAL

CALL ALPHAON

CALL CIGMENUS(MENUNUM,INTVAL) TURN OFF ALPHA TERMINAL

, .. ' . . ' . .

r~ 3 CALL ALPHAOFF

MENU PICKED IS IN GOSW(4) IF (MENUPICKED.EQ.2) THEN
USER WANTS TO RUN GAGE/ZONE CONSTRUCTION

ELSE IF (MENUPICKED.EQ.3) THEN
USER WANTS TO RUN INSPECTION PATH GENERATION

ELSE IF (MENUPICKED.EQ.4) THEN
USER WANTS TO RUN MEASURED DATA COMPARISON

15 ELSE IF(MENUPICKED.EQ.98 .OR. MENUPICKED.EQ.99) THEN

END IF

END DO

TURN OFF ALP~A TERMINAL

CALL ALPHAOFF

-., , ' ' ' ~ ~ '.

.
- : :

USER WANTS TO TERMINATE CIG MODULE.
RETURN ANVIL DEFAULTS TO THEIR ORIGINAL VALUES
AND RETURN USER TO APPROPRIATE ANVIL MEMU

RESET ALL MODALS WE HAVE TOUCHED

CALL MENWTRET(NBCHARS,CURWTS) RESTORE THIS TABLE

CALL CLINK(2) IF (ACTDCSPTR.NE.0) THEN
CALL MENACTPTR(ACTDCSPTR) CALL GRAPHON
CALL CLINK(2) CALL MENRTWRVU
CALL CLINK(2) END IF

RESET DEFAULT LEVEL

CALL MENDEF(LEVELSAVE) CALL CLINK(2) . .
' .

BLANK ALL GAGES IN CASE THEY CURRENTLY ARE NOT BLANKED

CALL MENBLKLVL(LVLl,LVL2) CALL CLINK(2) RESET REMAINING FLAGS WE USED
IF NORMAL ANVIL JUMP KEY HIT (CF,CP...) COMING HERE

CALL PDQINIT(l) TURN ALPHA TERMINAL BACK ON

CALL ALPHAON

TURN GRAPHICS BACK ON

15 CALL GRAP~ON

CLEAR ANY LEFT OVER ALPHA TEXT FROM DISPLAY

CALL CLRALPHA

SEE YOU LATER

:
20 IMODE(180) HAS TEMPORARY/PERM BLANK UNBLANK IMBEDDED

IN IT. IT MUST BE RESTORED AFTER THE BLANK LEVELS 801 THIS FLAG IS SET AS THE VERY LAST THING BEFORE
RETURNING TO ANVIL FROM CIG

PERIODIC FILING ON, THEN ERRORS ARE LIKELY TO OCCUR.

CALL CLINK(2) END

SUBROUTINE CXl~l 10 PURPOSE: TO CHECK THE GEOMETRIC TOLERANCE CALLOUTS
FOR SYNTACTIC CORRECTNESS TO SEE IF THEY
CONFORM TO ANSI Y14.5 AND TO
GENERATE THE GAGES AND ZONES THEY DESCRIBE

MODIFIED: ADDED GAGEHOLE TO PICKS CALL
ADDED GAGEHOLE TO GAGES CALL
ADDED MENU SELECTIONS FOR DISPLAY DATUM AND
DEFINE BLOCK TOLERANCES
ARGUMENTS: NONE

OUTPUT: RGAGE ARRAY CONTAINING ALL THE INFORMATION
NECESSARY TO GENERATE THE GAGES.
ALSO, OUTPUTS ERROR MESSAGES FOR INCORRECT
DESIGN.

SUBROUTINES CALLED:

ANVIL VERSION 1.5 - CLINK,REPNT,GRU3B,IG06 USER WRITTEN:
RESLVDAT - RESOLVES DATUM LETTERS STORED
IN RGAGE
CIGMENUS - DISPLAYS MENU CHOICES
PICKS - INPUTS THE USER ENTITY PICKS
MODIFY - MODIFIES DATUMS & RGAGE
(GAGES) RESLVDAT - RESOLVES THE EXISTENCE OF ALL
DATUMS BEFORE GAGE OR ZONE

.

, CONSTRUCTION
GAGES - GENERATES ALL GAGES IDGAGE

ZONESP - GENERATES SP ~ONE IDGAGE FROM

DISPLAY - DISPLAYS GAGES/ZONES

LOCAL VARIABLES:
TYPE NAME(DIM) DESCRIPTION

INTEGER IUDAT 'POINTER IGAGE FOR DATUM
FEATURE
!OF SIZE. THIS DETERMINED IN
!NOTE THIS IS STORED IN COMMON

RETURN TO STATEMENT AFTER THE LAST CALL TO CLINK(2) DEFINE TYPE TO BE .GAG FOR FILE TERMINATOR
5 GO TO (19000,19100,19200,19700,10710,19800,19900,19910, & 20010,20100,20110,20120,20130,201~0), PDQCON(2) INITIALIZE DATA. ALL THESE VARBS. ARE IN CX191COM.FOR

THESE ARE SET IN CX190 NOW, AND ARE PART OF PDQCOM
20 ITPREL = 27 ISPREL = 27 ISTORUS = 257 IARCREL = 10 IDIMREL = 10 THIS PART AND IF SO~ RETRIEVE THE IGAGE/RGAGE DATA
FROM FILE

IF~IUSER(2).NE.l .AND. IUSER(l).EQ.l) THEN

IGAGE AND RGAGE DATX HAS NOT BEEN RESTORED
FROM FILE YET
OPEN FILE GAGE FILE WHICH CONSISTS OF

-. ', ' : ' f3 partname.GAG OR CREATE FILE IF IT DOESN'T
EXIST

WRITE THIS MESSAGE TO SCREEN AT TOP LEFT
CALL FORWRITE(0,0,0) DO WHILE BAD FILE NAMES ENTERED, OR USER HITS
REJECT IN FORCERESP

DO WHILE (STAT.LT.0) CALL OPNPRTFIL(IUNIT,TYPE,MODE,STAT) IF(STAT.LT.0) THEN
COULDN'T OPEN GAGE FILE
CALL FORWRITE(0,ERR LINE,0) CALL FORCERESP(l,l) 'REJECT WILL
GO BACK TO MAIN CIG MENUS
END IF
END DO

READ IN GAGE DATA IF IT SHOULD BE ON FILE

IF ~IUSER(l).EQ.l) THEN
CALL RESTGAGE~IUNIT,ERROR) END IF

CLOSE GAGE FILE AFTER READING DATA

IF~ERROR) THEN
CALL FORWRITE~0,0,0) CALL FORCERESP(l,l) 'REJECT WILL GO BACK
TO MAIN CIG MENU
GO BACK TO MAIN MENUS

END IF

'- : ' ' : : .

END IF

DETERMINE IGAGE STARTING LOCATION FOR NEXT GAGE/ZONE
CREATED BASED ON THE TOTAL NUMBER OF GAGES/ZONES SO

DETERMINE THE STARTING VALUE FOR IGAGE(IUSTART) WHICH
POINTS TO SUBSCRIPT OF RGAGE TO START STORING STUFF
IF(IUSTART .GT. 1) THEN
IF IGAGE(IUSTART-l) IS TP,SP,COMBO,ARCS, OR
DIMENSIONING THEN HAVE TO COMPUTE THE NUMBER
OF ENTITIES DIFFERENTLY. THE PROCEDURE HERE
MUST BE UPDATED WITH CHANGES IN FUNCTIONAL
SPECIFICATIONS.
IF(IDGAGE .EQ. 140 .OR. (IDGAGE .GE. 10 .AND.
IDGAGE .LE. 81)) & THEN
HAVE A TP (OR COMBO) CALLOUT IN IGAGE
(IUSTART - 11 ELSE IF(IDGAGE .GE. 110 .AND. IDGAGE .LE. 113) THEN
HAVE A SP CALLOUT IN IGAGE(IUSTART - 1) IF(ZONETYPE.EQ.l) THEN
THIS IS A BILATERAL PROFILE
TOLERANCE ZONE SO WE STORE NOMINAL
AND INNER AND OUTER ZONE PTRS
ELSE
THIS IS A UNILATERAL PROFILE
TOLERANCE ZONE SO WE STORE NOMINAL
AND INNER OR OUTER ZONE PTRS
END IF

ELSE IF~IDGAGE .E~. 120) THEN
HAVE A ~/- DIMENSION

ELSE IF(IDGAGE .EQ. 130) THEN
HAVE A +/- HOLE POSITION

END IF

END IF

WHILE THE USER HAS NOT SPECIFIED [OR].......... DO

DO WHILE (.NOT. TERMINATE) FIRST ERASE ANY MESSAGES ON THE ALPHA SCREEN
CALL CLRALPHA

RETURN THROUGH HERE IF USER HITS R,cR or Z

CALL CIGMENUS(12, IDUM) CALL PDQNIT(2) !INITIALIZE PDQCON
FROM 2 ON...

IF ~MCHOICE.EQ.98 .OR. MCHOICE.EQ.99) THEN
REJECT OR OP COMPLETE HIT
ELSE
DON'T TERMINATE YET

END IF

20 IF(.NOT.TERMINATE .AND.
& MCHOICE .GE. O .AND. MCHOICE .LE. 8) THEN
IF(MCHOICE .EQ~ 1) THEN

., DEFINE DATUMS

CALL DDPICKS(ERROR) ELSE IF(MCHOICE .EQ. 2) THEN
DEFINE TP, SP, PT, CX, SP

CALL TPPICKS(GAGEHOLES, ERROR) ELSE IF(MCHOICE .EQ. 3) THEN
CREATE PLUS MINUS ZONE
CALL PDQINIT(2) CALL PMPICKS(ERROR) ELSE IF(MCHOICE .EQ. 4) THEN
DISPLAY A GAGE
CALL PDQINIT(2) CALL DISPLAY
ELSE IF (MCHOICE.EQ.5) THEN
DELETE A GAGE
CALL PDQINIT(2) CALL DELGAGES
ELSE IF(MCHOICE .EQ. 6) THEN
DISPLAY DATUMS
CALL PDQINIT(2) CALL~DISPDAT !DISPLAY ~ATUM DEFINITIONS
ELSE IF (MCHOICE.EQ.7) THEN
DEFINE BLOCK TOLERANCES

CALL PDQINIT(2) .. . . , . :
.
: .. - ' . '. '' . ' :,, . - . . .~ ,'' , ,` ` ' ~
.
.

_Lq~.o~

CALL DEF I NBLK
END IF
CALL PDQINIT(2) ~INITIALIZE PDQCON FOR LATER
USE
ELSE I F (MCHOICE. EQ . 9 8 . OR~ MCHOICE.EQ~99) THEN
REJECT OR OP COMPLETE HIT~ SO RETURN TO

ELSE
NOT A VALID CHOICE

END I F

IF(.NOT. TERMINATE ~AND~ ~NOT~ ERROR ~AND~ VALI D . AND~
~ (MCHOICE ~EQ~ 2 ~OR~MCHOICE~EQ~3)) THEN
THE ANVIL DATABASE HAS BEEN PROCESSED AND
STORED INTO RGAGE~ THE RGAGE(IGAGE(IU)) ARRAY CONTAINS THE DATA NECESSARY TO
GENERATE A GAGE~ ALL TEST HAS PASSED
PARS I NG TE STS O
IF A COMPOSITE GAGE~ I~E~ MULTIPLE TP'S
OR CZIS OR PT I S ( MAX OF 3)~ THEN DISPLAY
THE GAGES IN THE ORDER THEY WERE PICKED~
IU = INDEX FOR THE GAGE WHICH WILL BE
DEFINED NEXT AT THIS POINT IN THE CODE
WE HAVE ( IU - 1) GAGES DEFINED~
IUGAGE = INDEX OF THE NEXT GAGE TO BE
DISPLAYED~

DISPLAY THE GAGES/ZONES
DO WHILE (IUGAGE ~LT~ IUMAX) NO~ RGAGE FOR CURRENT GAGE IS
COMPLETELY FILLED/ DETERMINE THE
GAGE TYPE AND THEN CONSTRUCT GAGE~
CALL GDTTYPE( ERROR) IF(oNOT~ ERROR) THEN
IF (IDGAGE~EQ~80) GO TO 20010 GO TO (20010, 20010, 20010, 20010, 20010, ~ 20010, 20010, 20080, 20090, 20100, 20110, & 20120, 20130, 20140), ' '' '' " ' ~, ' .
. ' .. . .

CALL PDQINIT(2) 'INITIALIZE FROM2 ON

CONSTRUCT THE GAGE SPECIFICED BY
IDGAGE
CALL GAGES (GAGEHOLES) DUMMY GAGE

DUMMY GAGE

CONSTRUCT A LINE PROFILE
CALL ZONESP

CONSTRUCT A SURFACE PROPILE (SAME
AS LINE PROFILE FOR NOW) CALL ZONESP

CONSTRUCT A +/- 20NE FOR ENTITY
CALL ZONEPLMI

CONSTRUCT A +/- ZONE FOR HOLE
: POSITION
CALL ZONEDUMY(IDGAGE) :

~ .
.
, ~39 ~

CONSTRUCT A COMBINATION GAGE
CALL ZONEDUMY(IDGAGE) END OF COMPUTED GO TO ON GAGE TYPE
SET PDQCON SO THAT OTHER ANVIL CALLS ARE
HANDLED LOCALLY.
END IF
CALL PDQINIT(2) END DO

END DO

TERMINATE CXl91 EXECUTION AND RETURN TO CX190 SET IGAGE TO BE CONSISTANT WITH NUMBER OF GAGES
15 ACTUALLY CREATED (IUSER(3)) RESET IUSER(l) AND IUSER(2) IF NO GAGES/ZONES HAVE
BEEN CREATED

IF(IUSER(3).LE.0) THEN
NO GAGES/ZONES EXIST EOR THIS PART YET

INITIALIZE PDQCON FROM (2) TO (7) CALL PDQINIT(2) SET PDQCON(1)=3 SO THAT WE REENTER

.
-: ` ~," ,,' ` ' ~ . ' :, '. ' '' ~ ,' . ' ,' .

CALL CLINK¦PDQMOD) END

PURPOSE: MAIN DRIVER FOR NC PATH GENERATION

ENTITY OF A PART THAT IS TO BE CHECKED FOR TOLERANCES

MODIFIED:
REARRANGED THIS DRIVER TO ALSO ALLOW FOR

10 ARGUMENTS:
TYPE ARGUMENT I/O DIM DESCRIPTION

SUBROUTINES CALLED:

USER WRITTEN SUBROUTINES - INSPCNTRL,DISPPATH, 15 MODIFPATH,PDQINIT

LOCAL VARIABLES:
TYPE NAME DIM DESCRIPTION

LEVEL OF IMBEDDED SUBROUTINE CALLS AFTER A CLINK IS
20 DONE. TO CONTROL RETURNS FROM CLINKS IN THIS LEVEI., SET PDQCON(2).

GO TO (1000,2000,3000,4000,5000,6000,7000),PDQCON(2) DATA INITIALIZATION

SET DEFAULT LEVEL FOR PATHS AND POINTS CREATED

25 DO WHILE (.NOT.TERMINATE) .L,~ /.~

ASK USER TO PICK INSPECTION MENU
CALL CIGMENUS(13,IDUM) CALL PDQINIT(2) IF(MCHOICE.EQ.98 .OR. MCHOICE.EQ.99) THEN
REJECT OR OP COMPLETE HIT
DO NOT ALLOW AN EXIT UNLESS PATH FILED
OR DELETED. ALSO DELETE HOME PT IF ONE
CREATED.
10 CHEC~ TO SEE IF A HOME POINT HAS BEEN CREATED

IF(HOMEXIST) THEN
HOME POINT EXISTS. CHECK TO SEE IF A PATH
HAS BEEN CREATED.
IF(PHEXIST) THEN
SINCE A PATH EXISTS, THE USER HAS NOT
FILED THE PATH. THEREFORE, FIND OUT IF
WISHES TO FILE OR DELETE THE PATH OR
RETURN TO THE MENUS

CALL CIGMENUS(16, IDUM) CALL PDQINIT(2) IF(IANS .EQ. 1) THEN
USER WISHES TO FILE THE PART
CALL FILEPATH
ELSE IF(IANS .EQ. 2) THEN
USER WISHES TO DELETE THE PATH
CALL DELEPATH
ELSE IF(IANS .EQ. 3) THEN
RETURN TO MENUS FOR CREAT/MODIF/
DISP/FILE
ELSE IF(IANS .EQ. 98 .OR. IANS .EQ. 99) THEN
REJECT OR OP/COMP. SEND WARNING
THAT MUST ANSWER WITH 1,2, OR 3.
CALL FORWRITE(0, 0, 0) CALL FORCERESP(2, 2) END IF

ELSE
NO PATH EXISTS, BUT HOME PT DOES.
DELETE THE HOME POINT BEFORE EXITING
CALL MENDELPTR(l, HOMEPTR) CALL CLINK(2) END IF
ELSE
HOME PT DOES NOT EXIST
END IF
ELSE IF(MCHOICE.EQ.l) THEN
USER WANTS TO CREATE INSPECTION PATH
CALL MENDEF(PATHLEV) CALL CLINK(2) NOTE: DOUBLE USER OF S.N. 4000 FOR CLINK & INSPCNTRL

GO TO THE DRIVER FOR PATH GENERATION

CALL INSPCNTRL
CALL PDQINIT(2) 'INITIALIZE FROM 2 ON

20 ELSE IF (MCHOICE.EQ.2) THEN
USER WANTS TO MODIFY INSPECTION PATH FOR A GIVEN
LEVEL OR POSSIBLY JOIN PATHS ON DIFFERENT LEVELS

CALL MODIFPATH
CALL PDQINIT(2) 'INITIALIZE FROM 2 ON

ELSE IF (MCHOICE.EQ.3) THEN
USER:WANTS TO DISPLAY PATHS AGAIN

CALL DI S~PATH

~3.~

CALL PDQINIT(2) 'INITIALIZE FROM 2 ON

ELSE IFtMCHOICE .EQ. 4) THEN
USER WISHES TO FILE THE PATH CREATED

CALL FILEPATH
CALL PDQINIT(2) END IF
END DO

lQ INITIALIZE PDQCON
CALL PDQINIT(2) SET PDQCON(1) SO WE ASK FOR MAIN CIG MENUS IN CX190 CALL CLINK(PDQMOD) END

PURPOSE:
MAIN CORELOAD TO COMPARE MEASURED DATA AGAINST GAGES
OR ZONES

ARGUMENTS:
20 TYPE NAME(DIM) I/D DESCRIPTION

SUBROUTINES CALLED:
ANVIL VERSION 1.5 -USER WRITTEN -LOCAL VARIABLES:
25 TYPE NAME(DIM) DESCRIPTION

'.

.

~L~ 3 SECOND LEVEL OF IMBEDDED SUBROUTINE CALLS AFTER A
CLINK IS DONE. TO CONTROL RETURNS FROM CLINKS IN THIS
LEVEL, SET PDQCON(2).
GO TO (1000,2000,3000,A000,5000),PDQCON(2) DO WHILE(.NOT TERMINATE) CLEAR ALPHA SCREEN
CALL CLRALPHA
CALL CIGMENUS(14,IDUM) CALL PDQINIT(2) IF(MCHOICE.EQ.98 .OR. MCHOICE.EQ.99) THEN
REJECT OR OP COMPLETE HIT

ELSE IF (MCHOICE.EQ.l) THEN
15` USER WANTS TO RETRIEVE NEW MEASURED DATA FROM
MACHINE

CALL READMEAS
CALL PDQINIT(2) 'INITIALIZE FROM 2 ON

ELSE IF (MCHOICE.EQ.2) THEN
USER WANTS TO RETRIEVE OLD MEASURED DATA FROM
FILE

CALL READMEAS
CALL PDQINIT(2) !INITIALIZE FROM 2 ON

ELSE IF (MCHOICE.EQ.3) THEN
USER WANTS TO ANALYZE RETRIEVED MEASURED DATA

'L~ q~

CALL PROCMEAS
CALL PDQINIT(2) 7INITIALIZE FROM 2 ON

ELSE IF (MCHOICE.EQ.4) THEN
USER WANTS TO DEI.ETE ALL MEASURED DATA

CALL DELMDATA
END IF
END DO
10 SET UP PDQCON(2) TO RETURN TO THIS ROUTINE ON CLINKS

ERROR REQUESTED TO SKIP OVER REST OF ROUTINE

INITIALIZE PDQCON

15 CALL PDQINIT(2) SET PDQCON(l) SO WE ASK FOR MAIN CIG MENUS IN CX190 CALL CLINK(PDQMOD) END

With reference now to the data flow diagram of Figure 10 of the :drawings, structure is shown in which the CIGMA modules execute. The user or operator interacts with the CIGMA system through one or more input/output devices as represented by the user I/O
device 30 in Figure 10. This device can be any ' C ~

interactive graphics terminal which can display, manipulate and identify three dimensional wire frame images as well as alpha numeric text. The drivers for the I/O devices and associated software routines are 5 provided by a CAD data base generator shown at 31. A
CIGMA I/O processor, seen at 32 in Figure 10, is a further link in the interaction between a user and CIGMA. Interaction between a user and CIGMA is provided by the CAD data base generator 31 of Figure 10 10, as well. Such interaction is exemplified by I/O
processor performance of the functions of selecting individual CIGMA modules, entering numbers through a keyboard or by picking or selecting geometry, needed as input for the creation of a gage. The CAD data 15 base generator capabilities are actually used in creating the gage graphics, but the CIGMA I/O
processor creates the commands to activate appropriate CIGMA routines and to retrieve data from the data base. An interface specification is provided to the 20 CAD vendor who uses it to write subroutines which allow the CAD data base generator to plug directly into CIGMA. The routines resulting from the interface specification provide the means by which CIGMA gets data from the user and by which it presents information back to the user.
Information (data) is exchanged throughout the CIGMA system in one of the following ways as seen in Figure 10.
1 Intermodule communication is achieved through the CIGMA main data base 33.
2. Inspection, analysis and statistical results are written to and read from the input/output files 34.
3. Positional data is sent to and read from various electro-mechanical inspection devices, such as coordinate measuring machines, vision systems, numerical control machine tools and laser range finding devices represented at 35 in Figure 10.
The CAD data base generator 31 of Figure 10, S is essential to many of the CIGMA operations providing 3D CAD geometry as input. In addition, many of the CIGMA operations create and display 3D CAD geometry as output, CIGMA was designed so that a CAD data base generator (i.e., *Anvil-4000, *Unigraphics, *CADAM) 10 could be "plugged~ into the system. The CAD data base generator allows the user to generate basic 3D
geometry and allows CIGMA to use the intrinsic CAD
functions to create and display CAD geometry as needed. Through the CAD system, CIGMA performs the 15 basic I/O functions of terminal display driving, menu display and data entryO Since CIGMA operates using many of the capabilities of the CAD system, users interacting with CIGM~ may not realize at any point in time whether they are operating the CAD vendor's ~0 software or they are executing the CIGMA software.
A more detailed description of each of the five CIGMA modules hereinbefore described will now be undertaken. The data flow diagram of Figure 10 shows the five modules as ~ollows: the gage module 36, the 25 inspection module 37, the analysis module 38, the job control module 39, and the tolerance module 40.
Description will hereinafter proceed for each module including:
1. The module inputs.
2. How the module works; what it does, and what algorithms are used.
3. The module outputs.
A description of the gage module 36 of Figure * Trademarks begins with reference to the inputs for the module. Inputs include drafting notes and three dimensional geometry. The drafting notes are those depicted in Figure 11 which is a chart taken from the 5 American National Standard for Dimensioning and Tolerancing, ANSI Y14 . 5M, together with plus and minus dimensioning. The plus and minus dimensioning is considered to be all dimensioning outside of the geometric tolerancing of ANSI Y14.5M. The three 10 dimensional geometry is obtained from the CAD data base generator 31 plugged into the CIGMA system.
The gage module 36, besides asking for three dimensional geometric information from the CAD data base 31, also asks for drafting note information from 15 the data base for the purpose of establishing tolerances. The CIGMA software asks for the information in a specific sequence as represented by a menu displayed to the user. The menu prompts the user to initially define the datums on the three 20 dimensional geometric display of the part to be dimensioned. Datum definition involves assigning a symbol to the datum (plane, hole, etc.) and then identifying the datum feature by designating the feature for the program; i.e., identifying the edges 25 and the location of a datum plane. CIGMA understands the ANSI Y14.5M drafting text. Therefore, the datums are further defined by the four form characteristics (straightness, flatness, circularity or roundness, and cylindricity) seen in Figure 11. The tolerances on the form characteristics assigned to the datums, as hereinbefore described, must never be allowed to be greatex than about ten percent of the tolerance allowed on the other part features which are referred to the datumsO For example, if a location tolerance of another part feature is 0.006, the flatness -4g -tolerance of a plane used as a datum must be no more than 0.0006.
CIGMA understands all of the other drafting text of Figure 11 which may be assigned to the various 5 part features. Simultaneously with the input of drafting text to the CIGMA system, syntax checks are taking place, definitive examples of which will be presented hereinafter.
Profile tolerances, orientation tolerances, 10 location tolerances and runout tolerances (Fig. 11) are all determined with respect to one or more datums. When specifying these tolerances one or more datums need to be referenced in the feature control symbol. An example of a feature control symbol as it 15 appears on a drawing depicting a part is as follows:

0 0 .060 M A B C

The foregoing is expressed to the CIGMA system by the user as: TP, CZ .060 M, A, Bl C. In this example, the positional tolerance of .060 must be considered 20 with respect to three datums, A, B and C. The datums referenced by these feature control symbols, serve to define the functional requirement of the features being controlled. This means that the degrees of freedom of the controlled feature are defined.
25 Examples of the application of datums to a part having certain controlled features may be seen with reference to the controlled part 41 of Figure 12. A number oE
datums are depicted in Figure 12 as shown on the part 41 designated A through E, and a number of part features are also shown. Part 41 has a rectangular solid base with similar length and width dimensions and a smaller height dimension. The upper surface 42 of the base is designated datum A. Part 41 also has four similar bosses ~3 extending upwardly from datum A
and a fifth boss 44 designated datum E. One vertical side of the base is designated datum C as shown.
Another vertical side is designated datum B as shown.
5 A hole 46 centrally located in the base 42 is designated datum D.
Figures 13A, B and C are chart diagrams of gages which the CIGMA system can construct for checking various features of the part 41 of Figure 10 12. Each of the Figures 13A - C has four columns a, b, c and d and four horizontal rows e, f, g and h. It may be seen that if a gage seen at Figure 13A, a, e for the four bosses 43 of the part 41 is constructed using only datum A in the geometric tolerances, then 15 the gage will have four holes 47 and the dimension will have three remaining degrees of freedom in the X
translational direction (XTT), the Y translational direction (YTT), and the Z rotational direction (ZTR). Reference only to the A datum does not tie the 20 pattern bosses 43 down in the X or Y translational directions, nor in the Z rotational direction. The remaining gages of Figures 13A, B and C have indications of the datums applied to the geometric dimensioning of the part 41, and indicate the 25 remaining degrees of freedom as a result of that geometric dimensioning. Sometimes the datum indications also contain modifying symbols such as M
(maximum material- condition) ànd S (regardless of feature size) which have an effect on the remaining 30 degrees of freedom as will hereinafter be described.
The CIGMA system automatically determines what the functional requirement of a given set oE
features are. The system then displays this functionality by generating a three dimensional model of the worst case mating part, sometimes called a functional gage, a number of which are seen in Figures 13A, B and C. The CIGMA system determines the underlying ~unctionality for any set of datums and modifying symbols in a particular order or precedence 5 by applying the following rules.
With reference to Figure 13A, gages are shown for inspection of various features of the part 41 of Figure 12 where the datum referenced for geometric tolerancing is a plane. If the datum referenced is 10 the primary datum, the CIGMA system forces three points of contact between this datum and the matlng part. If the datum referenced is the secondary datum, the CIGMA system forces two points of contact between this datum and the mating part. If the datum 15 referenced is the tertiary datum, the CIGMA system forces one point of contact between this datum and the mating part. The primary, secondary and tertiary datums are the first, second and third datum symbols respectively to appear in the feature control block.
20 They appear in the right-hand end of the feature control block as seen in the gage charts of Figures 13A through 13C.
If the datum referenced in the feature control block is a datum feature of size, such as a 25 hole or a boss, then the gages of Figures 13B and 13C
apply. If the material condition referenced is at maximum material condition (MMC or M ) as seen in Figure 13B, then if the datum is the primary datum, the CIGMA system forces the axis of the mating part to 30 be parallel to the axis of this datum in three dimensions. If the datum is the secondary datum, then the CIGMA system forces the mating part feature to fall within this datum if the datum is a hole or to totally surround the datum if the datum is a boss.
Similarly, if the datum is a tertiary datum then the ' CIGMA system forces the mating part feature to fall within this datum if the datum is a hole, or to totally surround the datum if the datum is the boss.
Alternatively if the material condition 5 reEerenced is at ~regardless of feature size (RFS or S as seen in Figure 13C) then if the reference datum is the primary datum, the CIGMA system forces the axis of the mating part to be parallel to the axis of this datum in three dimensions, and prevents the mating 10 feature from translating within this datum In other words, the mating feature is simulated by a tapered pin on an axial compression spring which forces the mating feature to take up space between itself and the datum. rrhis may be seen in Figure 13C where a tapered 15 pin 48 is shown constructed on the gage depictions when the datum D (centrally located hole 46) of the part 41 of Figure 12 is used in the feature control block. ThiS may be contrasted with the boss 49 Qhown on the gages of Figure 13B where the MMC symbol M is 20 used.
Remaining with Figure 13C wherein the RFS or S call-out is used, if the datum to which the material condition applies is the secondary datum, then the CI~MA system forces the mating part feature 25 to fall within the datum if the datum is a hole or to totally surround the datum is a boss. As explained for the primary datum in this case hereinbefore, this prevents the mating feature on the gage (Fig. 13C) from translating within the datum, in this case datum 30 D on part 41 of Figure 12. In like fashion, if the datum to which regardless of feature size condition applies is the tertiary datum, then the CIGMA system forces the mating part feature to fall within the datum if the datum is a hole or to totally surround 35 the datum if the datum is a boss. As with the primary .. . . . ..

~7~

and secondary datums, such a material condition assigned to a tertiary datum prevents the ~ating gage feature, tapered pin ~8 on the gages of Figure 13C, from translating within the datum, D on the part 41 of 5 Figure 12 in this example.
When datums are referenced in a feature control block, the foregoing rules can be applied to determine the precise functionality of the mating part with respect to the ~eatures being controlled. If the 10 primary datum is a plane, then if the feature control block appears as true position, diameter, .060 M A, where datum A is a plane, then ph~sically this plane A
controls the orientation of the mating part. What that means is, the mating part must make contact on 15 the three high points of the plane A referenced as the primary datum, and the mating sur~ace will be allowed to translate and rotate, but will be constrained to remain coplanar to the datum surface A. An example of such a dimensioning result may be seen in Figure 20 13A,gra which depicts a mating part (gage in this instance) for the part 41 and which may translate in the XT and YT directions and may rotate about the ZTX. It may also be seen that for a feature control block call-out of true position, diameter .060 datum 25 A, where A is a plane, the mating part or gage of Figure 13A,e,a applies which allows translation of the mating part relative to the part 41 of Figure 12 in the XT and YT directions and rotation about the ZT
access. Mathematically the datum A reduces the amount 30 of allowable motion from a totally uncontrolled motion (three directions of plus and minus translation and three directions of plus and minus rotation) to three degrees of freedom, translation along XT and YT and rotation about ZT.
If the primar~ datum is a hole or a boss, the symbols M or S are used as hereinbefore described. If the material condition specified on the primary datum is at MMC ( M ) the feature control block might look as follows:

0 0 .060 M D

In the foregoing the hole 46, shown as datum D in Figure 12, physically controls the orientation of the mating part for the part 41. The axis of the mating part is forced to be parallel to the axis of the datum 10 hole D. Similarly, the pin 49 on the gage of Figure 13B,e,a is forced to be parallel to the axis of the datum hole D. once the datum and the mating part (or the gage) are oriented correctly, the mating features are allowed to translate and rotate within the datums 15 where they are holes such as D, and to surround the datums and translate and rotate around the datums where they are bosses. Geometrically the mating part is allowed to translate along the XT and YT axes, and to rotate about the ZT axis as seen in Figure 13B,f,a, 20 for example. ~owever, the mating part is always held within the datum for datum holes (D) or is always held surrounding the datum for datum bosses (E).
Mathematically datum D reduces the amount of allowable motion from six degrees of freedom, affording no 25 control at all, to three degrees of freedom.
Additionally, a datum hole or boss limits the amount of XT and YT translation by the amount of the deviation between the datum feature and the mating part feature.
If the material condition on the primary datum is at RFS, seen as S , then the feature control block would appear as 0 0 .060 S D
where D is a hole or boss. In the examples set forth herein, datum D is a hole as seen in Figure 12.
Physically the hole 46 controls the orientation o~ the mating part by forcing the axis of the mating part to be parallel to the axis of the datum hole (or boss).
5Once the datum and the mating part are oriented correctly, the mating feature is only allowed to rotate about the axis established by the datum. No translation is allowed as with the MMC modifier M
hereinbefore described. This is illustrated in Figure 10 13c,e,a wherein rotation about the ZT axis only is allowed. ThUs, the RFS feature specification, in this instance, mathematically reduces the amount of allowable motion between the part 41 and its mating part from an uncontrolled six degrees of freedom 15 condition to a single degree of freedom condition ZTR.
The CIGMA system checks the syntax of the ANSI standard dimension call-outs as mentioned hereinbefore. Referring to Figure 14, a machined part 54 is depicted having an array of 7 holes indicated at 20 56. As seen in Figure 14 the datum B i5 a lip or boss on the part 54. Referring to the box call-out, it may be seen that datum B is not modified by either a maximum material condition M or a regardless of feature size S symbol. This is error since the 25 condition of the boss is not defined completely without one such call-out and it cannot therefore be a useful datum. The same would hold if B was a datum hole. The box must therefore appear as 0 00 M D B S F . The system 30 recognizes the error, indicates it on the system display and prompts the user to correct the tolerance call-out to appear in the aforementioned proper Eorm.
With reference to Figure 15, an ANSI standard call-out is shown for two threaded holes 57 in the 35 part 54 wherein the hole diameters are toleranced at maximum material conditions. While this is not outright error from the standpoint o~ the tolerance standards, the holes are threaded and the M call-out would require measurement of the thread peaks and the 5 thread roots for conformance. This is clearly impractical from both a measurement and a use standpoint. The generated system inspection gage will not recognize the maximum material call-out. All that is needed is proper positioning of the fixed fastener 10 which will engage the threads. The system therefore displays a warning that the system inspection gage will be generated at "regardless o~ feature size~ and prompts the user to substitute S for M at the hole diameter true position tolerance.
The gages of Figures 13A - C are shown on the system display with an XYZ coordinate system and only depict the controlled features on the part they are constructed to mathematically inspect. That is why the relatively simple call-out which references only 20 datum A for the part 41 of Figure 12 causes the CIGMA
system to construct a relatively simple gage as seen in Figure 13A,e,a. The gage just mentioned consists only of four holes 47 in the datum plane A . It may be seen that the more restrictive call-out of Figure 25 13A,h,d uses as datums the plane A, the hole D and the boss E of the part 41 in Figure 12. Therefore, the holes 47 appear together with the tapered pin 48 (because the datum D is modified by the RFS symbol S
), and a tapered hole 51 (because the datum boss E is 30 also modified by the RFS sy~bol). The gage for feature control call-outs for primary, secondary and tertiary planes A, B and C is shown in Figure 13A,f,b, wherein flanges 52 and 53 are provided on the gage or forced contact with datums C and B respectively~ A
35 coordinate syste~ is also displayed with each of the ' , gages of Figures 13A - C displaying the three axes along which translation and about which rotation may be made in accordance with remaining degrees of freedom ~DF) after tolerancing.
A description of the functions of the inspection module 37 of Figure 10 will now be undertaken. The inspection gages of Figures 13A - 13 C are stored in the computer as hereinbefore described in conjunction with the description of the gage module 10 36. A three dimensional CAD presentation of the part to be inspected is also resident in the computer. The computer is aware of the part shape so that it may generate a convenient inspection path. The sensor configuration (probe array) will depend on the shape 15 of the part. The cluster 22 of Figure 5 uses standard hardware obtained from Renishaw Corporation. One type of probe 22a is a shank with a ruby tip. The sensor is pressure sensitive and is moved from point to point about the part being inspected on the robot ram.
The CIGMA software now goes into an inspection path definition. There exists two options for the definition of the inspection path. In the first option, the previously defined critical and major features on the part to be inspected as represented by the stored inspection gage are used.
The inspection gage, as hereinbefore described, uses the ~D and T call-outs from the part drawing as the~
exist in the CAD presentation of the part in the computer. The software picks an appropriate tip in the cluster 22 (Figure 5) and creates a logical path in three dimensions for inspection of the features required. The required features are those which are envisioned as critical and major in the inspection gage. Thus, in this option the inspection ~age models are used to determine the inspection path.

_L~ 3 In an alternate option for defining the inspection path, the user or operator picks the part feature to be inspected. The software, having knowledge of the cluster configuration, then 5 designates the appropriate probe tip 22a in the cluster 22 to be used for inspection of that part feature and creates the inspection path with reference to the CAD model contained in the computer. At this point five physical part features may be selected by 10 the user in the user definable mode of inspection path definition, i.e., threaded features, bores, bosses, planar surfaces and edges.
The inspection path may be modified in a number of ways. The user may indicate the portion of 15 the path to be modiied on the CRT screen for the system and enter new coordinates for any such path point through the system keyboard. Alternatively, a new point or coordinate may be added in the inspection path by positioning the cursor on the CRT face at the 20 new point and entering it through a ~eyboard election. Additionally, inspection path points may be deleted by designating the point to be deleted by the cursor on the CRT face and electing deletion at the keyboard. Modification may also be made to the inspection path with regard to "approach distancen.
Every contact between a probe 22a and a part involves appropriate positioning of the probe at a nominal distance from the inspection point known as the ~approach distance~. After inspection the probe 22a 30 is withdrawn throu~h what is called a ~retract distance~. Both of these distances may be altered by selection at the keyboard to thereby modify the inspection path manually.
Now that the inspection path is defined, the 35 CIGMA software enters the inspection path orientation process The location of the part is within certain bounds called the machine envelope. Some approximate predetermined orientation of the part is required within the machine envelope as depicted on the CRT
5 screen so that the part is in an orientation approximately known. The probe cluster is moved to touch the part on certain easily reached known features of the part while the part is in such an orientation. Examples of such feature combinations 10 which will provide orientation identification are any three planes, a plane and two holes, a plane and a cylinder with a known axis orientation, etc.
Following the orientation process for the inspection path, a calibration process for the probe cluster is 15 entered. It may be imagined that the probe cluster itself is constructed with certain tolerances on the actual location of the probe tips 22a relative to the cluster body 22. A calibration artifact is located on the inspection machine bed. The dimensio~s of the 20 calibration artifact are known precisely. The probe cluster is brought over to the artifact by the machine and each probe tip is brought into contact with the artifact. With knowledge of the dimensions of the calibration artifact and the measurements as sensed by 25 the cluster, errors are identified and compensation values are stored for subsequent application to actual inspection results.
Description of the job control module 39 seen in Figure 10 will now be undertaken. The job control portion of CIGMA defines sequentially the steps which are desired for a specific job prior to any job execution. First the CIGMA system is informed of the identity of a certain kind of a machine which will be attached to the system. For example, a Cincinnati numerically controlled milling machine may be attached.

ATTACH command is illustrative of job control language utilized in the systern. The ATTACH cornmand is used to connect the CIGMA system to the specified CMM or DNC machine. When the ATTACH command is 5 encountered in the JOB file, the specified machine is first ~connected~ to the CIGMA system. The device name used in the computer allocation procedure must be defined by the logical name ~CIG MACHINF,~. This is done externally to the job. For example, the 10 LOGIN.COM procedure file might contain the following command: ASSIGN TXC3: CIG _ MACHINE. Some operator instructions are given at the time the "ATTACH" is performed. These instructions are machine type dependent. When the requested actions are completed, 15 then the job execution continues. If the machine cannot be successfully attached, then the job execution terminates. The following illustrates job control language used in conjunction with the ATTACH
command.

FORMAT: ATTACH [machine type]
PARAMETERS: [machine type]

The machine type specified in the ATTACH
command may be one of the following:
CINCINNATI for cincinnati milicron 5VC
machines DEA for the DEA CMM machine AUTOMATIX for the AUTOMATIX laser robot CMM
SIMULATE for testing and debugging JOBS.
The simulate machine prompts for data to simulate measured data collected from a machine. This is useful for quality testing the software.
ECHO for testing JOBS. The ECHO machine : .

echos back a perfect measurement. Useful for verifying that a job will run correctly when a part is made correctly.
WALDRICH for the WALDRICH COBURG machines.

QUALIFIERS:
/TOOL_NUMBER=nnnn /TOOL _NUMBER specifies the tool number to be selected during the ATTACH. If supplied, the requested tool is loaded into the SPINDLE
when the machine is first attached. This may be useful if the NC data file does not contain a tool change or if the CAD model NC
tool path does not specify a TOOL to the post processor. This option is for use on DNC/CMM
or DNC machines only. It is ignored on all other machines RELATED OPERATIONS:
An ATTACH must be used before any DNC or CMM
type command can be used. If it is not used, then a system related error will be reported. ~he DISCONNECT command may be used to free the device for use by another process.

EXAMPLE:

`25 This information with regard to the machine type attached to the system serves as a "wake up~ for the system. The system then executes the calibration process described in conjunction with the inspection module 37.

CALIBRATE is also illustrative of the system , - . ' ~ . . . -:
': ' ~ '' ' ~ ' ' ', ' ~ ,' .

job control language. CALIBRATE is used to measure the actual geometry of a probe cluster 22 prior to use. The system requires that all probe tips 22a be calibrated before they are used to measure a part If 5 the exact probe geometry is known, and the design of the probe cluster in the system is exact, or if testing is desired, then a probe may be calibrated to the design values contained in the CAD system. If a previous calibration is to be used, the calibration 10 results may be read in from a data file. The calibration table is defined as the vector from the cluster reference point to the center of the ball tip contained on each probe. The following illustrates job control language used in conjunction with the 15 CALIBRATE command.

FORMAT: CALIBRATE processnumber CALIBRATE/DESIGN

CALIBRATE/FILE=[filename]
CALIBRATE process_number PARAMETERS In this form of the CALIBRATE
command, the process number to use is given as a parameter. This form is used when an actual CLUSTER calibration is to be performed. Note that the use of FILE, DESIGN
and any other qualifier is not allowed (i.e., there are three different forms of the calibrate command.) QUALIFIERS:
/O~TPUT FILE=[file _ name] The calibration results are stored in the file specified.
This file may be read in later by the CIGMA
system to calibrate a probe rather than using _L~

~63 ~

machine time to calibrate the probe.

/MAXTIPERR=[real value]. The MAXTIPERR value is used to control how far from design the top of each probe calibrated may be. Each tip location relative to the design location is checked to see if it is within this MAXTIP
ERR of the design location. If the error exceeds this value, the CIGMA system terminates with an error. If the MAXTIP ERR
qualifier is not specified, or if the value specified is 0.0, then no check is made.

/MAXRADE~R=[real value]. The MAXRAD_ ERR
value is used to control how far off of design the radius of the ball tip may be from the design value. If this value is not specified, then no checks are made.

/MAX VARIATION. This is used to control what the maximum deviation of computed probe tips can be. The calibration process generates five points around a sphere 10 ~Figure 1) to calibrate each tip. This results in five computed diameters for each sphere tip.
These values are averaged. If the deviation from the average for any probe tip exceeds MAX VARIATION, then CIGMA terminates with an error message. /TOOL=[tool number] If /TOOL
is given, then the specified tool is loaded into the spindle before the calibration process is executed.

CALIBRATE/DESIGN. There are no other parameters or qualifiers used with this form .

~.r.~ 33 of the CALIBRATE command. This command specifies that the design of the P~OBE
CLUSTER is to be used to calibrate the cluster.

CALIBRATE/FILE=[file _ name]. There are no other parameters or qualifiers used with this form of the CALIBRATE command. ThiS command specifies that the calibration is to be read in from a calibration file. NOTE: the probe cluster name is contained in the calibration file, and must match the probe cluster that is to be used in the operation of the machine during the inspection operations that follow.

RELATED OPERATIONS:
The ORIENT and INSPECT commands rely on the cluster calibration. If an INSPECT or ORIENT
is attempted with an uncalibrated probe, an error message is given and the CIGMA system terminates. If an INSPECT or ORIENT uses a different CLUSTER than the CLUSTER that was calibrated previously, then an error message is generated, and the CIGMA system terminates.

EXAMPLE:
CALIBRATE/DESIGN
CALIBRATE/FILE=STAR_CLUSTER.CAL
CALIBRATE/OUTPUT=START _ CLUSTER.CAL/MAXTIP
ERR=.0001 901 Following execution of the calibrate command in job control, a point is found on the CAD model 30 stored in the computer by aligning the cursor crosshairs manually on the desired point on the CAD

' ~

_L~ 5~ 3 model. A corner is a useful point for manual designation because it is easier to align the cursor accurately thereon. The CAD depiction of the orientation of the part for which the job control 5 sequence is being generated is shown on the CRT.
Thereafter, the orientation process described in conjunction with the inspection module is run. The orientation process may be for alternate uses. The job may relate to machining new features on a part or 10 to inspecting machined features. It is possible to perform either of these functions from the initially defined datums. Moreover, in some instances it may be desirable to machine new features followed immediately by inspection of the newly machined features from the 15 aforementioned datums. In this fashion a part may be literally built step-by-step and inspected step-by-step with reference to the datums contained in the CAD model and the inspection gages hereinbefore described.
Having run the inspection process in a step wise make - inspect manner or for the entire manufactured part all at once, or any combination thereof, job control now turns to analysis of the inspection results. Analysis proceeds for simulation 25 in the fashion to be described hereinafter for the analysis module 38. Subsequent to the analysis step in the job control definition a command is given to detach the machine and the system is turned off.
Other functions are sprinkled throughout the 30 generation of the job control sequence which may be required during any specific job. Certain displays may be provided for speci~ic purposes during the running of a job. Operator messages may be provided which are specific to that job. When all of the 35 foregoing is accomplished including the other or .3 special functions for a particular job, that job control is simulated by executing the job sequence in a fashion so that it may be observed by the operator who has just generated the job control sequence. When 5 the operator is satisfied through observation of the sequence, job control may thereafter be called up by the operator at will.
In the actual performance of job control in the shop the identification of the attached machine lO provides information to the CIGMA software with regard to the tools available and/or the inspection devices available. The operator then selects ~Run the job~
and the calibration process is entered for the cluster probes as hereinbefore described. The designated 15 point for orientation on the part after it has been approximately oriented in accordance with the CRT
depiction of the part flashes on the CRT screen and the operator goes to that corresponding point on the part manually with the probe. Run orientation is 20 entered and the CIGMA software takes control bac~ fro~
the operator. The predetermined part features as designated by the job control are thereafter manufactured on the part if that is included in this job control and/or the inspection of those 25 manufactured features ensues. The results of the inspection are taken into the computer data, and analysis, to be hereinafter described, is run by the analysis module 38 of ~igure lO. At the end of the job control sequence the command to detach the machine 30 is entered and the process is turned off.
The analysis module 33 of Figure lO to which reference was made hereinbefore will now be described TWo functions are performed by the analysis module, gage analysis and statistical process 35 control (SPC) analysis. These analyses may be provided simultaneously or separately by the system.
Ga~e analysis will be described wherein the query is "Is this part alright?~. The gages that apply are designated by the job control routine. The gages are 5 placed on the part as constructed by the inspection results and the system attempts to fit the gages through the allowable degrees of gage freedom to the inspected part~ If the gage fits, lnspection is complete. If the gage does not fit, analysis is 10 undertaken for rework capability. If it is determined, as hereinbefore described that rework is possible, the manner in which such rework may be undertaken is communicated to the operator. If the gage does not fit, no rework is possible and the 15 machine is detached and that job is shut down.
With regard to statistical process control analysis, the query is ~Is the machine tool making parts the way they were made in the past when they were acceptable?~. A record of inspection quantities 20 for each inspected feature on each part is kept in the system file. This record provides a distribution which is contained within the defined part tolerances for the population which has been inspected. ThiS
population is used as a reference for the same 25 features inspected on parts thereafter. A normal distribution, within which plus or minus three sigma is acceptable t99.7~ of the population), is thereby defined within the defined part tolerances. When one inspected feature goes outside the plus or minus three 30 sigma range (3 out of 1,000), an out of control flag comes up for that process. This occurs even though the part may still be within the part feature tolerances. An investigation is immediately entered.
Possible causes of the maverick point outside the plus 35 or minus three sigma range may be due to a number of q~J,~

causes. These causes include a new operator, a loose fixture, bad/wrong materials, a worn out tool, etc.
Something is changed to orrect the out of control condition. About five parts are made by the process 5 thereafter and if all are good, the process is considered to be back in control and is continued. If one or more of the five parts are bad, the investigation is continued.
When an out of control process indication is 10 made, the operator can recall some depiction of the historical data. He may call up a run chart which shows how that specific manufactured feature is appearing as a result of the inspection process or he may call up what is called a X-Bar Chart which is a 15 depiction of the mean of the inspection samples.
Alternatively, an R-Chart may be called up which depicts the range of inspection points for that feature in that run. With this information the operator is better equipped to designate one of the 20 potential sources hereinbefore mentioned for the out of control condition. Thus, an intelligent means is provided for making the aforementioned change to the process prior to running the five part sample to determine if the process is back in control.
The tolerance module 40 of Figure 10 will now be described. The tolerance module is written in the CIGMA system for use by design engineers as opposed to quality control or process engineers. TWo separate functions are performed by the tolerance module, the 30 first of which is the less complex function. It has long been recognized that it is difficult for the design engineer to design two mating parts with tolerancing on the paet features which will guarantee assembly without interference for any condition of the 35 two parts within the recited part tolerances. Often one engineer designs and tolerances one part while another engineer designs and tolerances the mating part The CIGMA system takes in data descriptive of each of two mating parts together with the tolerancing 5 according to the ANSI standard and investigates assembly of the parts if the worst case tolerances for part assembly exist at each part. The CIGMA system also checks whether one of the mating parts is described with the correct GD and T dimension and 10 tolerance description relative to the GD and T part description of the mating part. In this fashion the mating parts may be identiied with regard to (1) potential material interference, and (2) datum definition inconsistencies between the parts. In 15 summary, the first function of the tolerance module checks tolerance values which have already been called out by the design engineer or engineers and indicates to the system user if there is potential material interference of if there is inconsistency in the datum 20 call-outs which would allow an otherwise correctly toleranced mating part to achieve a ~within tolerance~
but ~no fit" condition.
The second function of the tolerance module in Figure 10 is performance of fixed and floating 25 fastener analysis. A high percentage of tolerances on mechanical drawings are there to show the location of features which function to hold parts together with fasteners. It should be noted that a fixed fastener is represented by a threaded bolt which passes through 30 a clearance hole in one part and engages a threaded hole in a mating part. A floating fastener is represented by a bolt which passes through a clearance hole in one part and a corresponding clearance hole in the mating part, and serves to fasten the two parts 35 together by means of a nut, for example, applied to the threads of the fastener on the opposite side of the mating partO This second tolerance module function serves to create the tolerance values to be called out by the design engineer on the drawings for 5the part and the mating part.
The procedure undertaken by the user in performing floating fastener analysis in the second function of the tolerance module involves initially choosing a fastener to be used. Fasteners are 10 described having standard body diameters and head sizes (on bolts, for example) which describe defined bearing areas on the underside of the bolt head. Such fastener descriptions may be obtained from mechanical engineering tables. The user then designates the 15 positions on a part where the selected fasteners are to be used. ThiS is done by placing a cursor at a fastening point on a displayed depiction of the part and entering the information through the keyboard, as hereinbefore described for other functions of the 20 CIGMA system. The user now designates the datums on the displayed part which are to be utilized in locating the features on the part, such as holes, where the fasteners will be placed and enters the datums into the system. The CIGMA system now computes 25 the optimum size of the holes for the fastener and the true position of the holes on the mating part while the system simultaneously investigates the CAD models of the part and the mating part stored therein. Upper and lower optimum hole sizes for the holes in both 30 parts are computed such that all the bearing surface of a fastener bolt head is in contact with the surface of the part through which it extends. It may be recognized that it is detrimental to the design of the assembly if holes in a part receiving a fastener are 35 so large as to extend outside the dimensions of the holding portion of the fastener (the bolt head).
The CIGMA system also takes into consideration the characteristics of the tool to be used to create the part feature. For example, a drill 5 as it wears out will make a larger hole and mechanical engineering tables provide an indication of the magnitude of such enlargement. A 0.593 diameter drill bit, for example, will never create a hole over 0.625 diameter even when the drill bit reaches a dull 10 condition. The CIGMA system, knowing these facts, uses them to tolerance the part and the mating part.
By way of example of the hole tolerance generation by the CIGMA system for floating fasteners, reference is made to Figure 16 wherein a part 57 is 15 shown having four clearance holes 58 therethrough. In this example a bolt having a 0.500 body diameter and a 0.750 head size is chosen by the design engineer to fasten part 57 to a mating part 59 also having four clearance holes 61 therethrough. If the holes 58 20 never exceed 0.625, the bearing surface of the bolt head will cover the holes 58. A 0.593 drill, incapable of drilling a hole larger than 0.625 as mentioned hereinbefore, is selected and the ~our holes are called out at 0.593 diameter plus 0.032, which 25 allows a maximum hole size of 0.625. The minimum hole size is the difference between 0.593 and the bolt body diameter, whereby the minus tolerance on the hole becomes 0.093 so that the hole may never be less than 0.500. The ANSI standard call-out therefore appears as true position, diameter, zero tolerance at maximum material conditions relative to datum A tthe top face of part 57) as seen in Figure 16.
When CIGMA is advised that a fixed fastener is being toleranced with regard to the mating parts, the user inputs are as designated hereinbefore when tolerancing for a floating fastener. Additionally, CIGMA asks for the thickness of the part containing the clearance holes and the mating part containing a corresponding pattern of threaded holes as 5 hereinbefore described. In this instance the member containing the clearance holes will have a clearance hole tolerance on the plus side which is the same as for the floating fastener analysis , but the negative tolerance on the clearance holes will be diminished, 10 because the fastener when fixed in the threaded portion of the part containing the threaded holes clearly cannot move. The clearance holes in the floating part must therefore be more tightly controlled. The CIGMA system recogniæes this 15 necessity during fixed fastener analysis and, for purposes of comparison, the tolerance on the holes 61 in part 59 of Figure 16, presuming they are for this example threaded holes for receiving the fastener, would be 0.062 at maximum material conditions where 20 the thickness of the part 57 is taken into consideration. The ANSI call-out for the four threaded holes 61 of Figure 16 would therefore appear as follows:

0 0 0.062 M A

The following is an abbreviated program listing depicting one manner in which a program may be formulated for operating the disclosed system in 30 performin~ the disclosed analyses, job control and tolerance module processes. C FMC Corporation 1987.

, SUBROUTINE SPC DRIVER
C

C Purpose: To provlde overall control for Statlstical Process C Control option.
C

C 8~gln execu~lon.
G

10 C Loop to process ~enu cholces fro~ user.
C

DO . UHILE ( . NOT. TERMINATL
IF ( t~NULEV~L . L~. 1 ) THEN
C Get user ~o choose ~ype of S~at~stlcal P~ocess Control C ac~ivl~y fro~ ~enu.
CALL CIG ENTR C~OICE ( PRIHSG, NBMENU, TXHENU, CIIOIC~, ~J~ CC~PT ) C
C Set option fla~s, based on user's entry.
IP ( RBJ~CT . OR . ACCBPT ) T~EN
USI~
~ND IP
ELS~ I~ ( lle~UL~VlZL . ~Q~ 2 ) ~UeN
IP ~ C~OICB . ~Q. 1 ) TtlEN
C
C U.~@r cho3e oenu lte~ one, Stati~tlcal Proces~ Control 3o cC An~ly~
CALL SPC AN/~LYSIS
8LS8 I~ ( C~OIC~ . ~Q . 2 ~ T~N
C User chose ~enu lt~ 2vo, Statl tical Proces~ Control C Da~abase l~l~na~e~ent.
CALL DISPLA~ !~SG t I, 2, .TRU~., ACC~
C
e sO~. sort of error occurred in ~enu proces ln~.

I~LS8 E~ 3 SUBROUTIN~ SPC ANALYSIS
C Purpose: To perfor~ analysi~ for Sta~istical Proeess Control.
S C
C Begln executlon.
C Sort the Statistlcal Process Control data file by ascendlng C entity polnter and vithin each polnter by ascend~ng date and C ti~e of machlnln~. Ter~inate if sort is unsuccessful.
CALL SPC SORT ( TER~INAT~ ) C Loop to process menu choice~ fro~ user.
DO ~HILE ( .NOT. TER~INATE ~
IP ( MENULEVEL .~Q. 1 ) T~EN
C Get user to enter boundary condltions for Sta~istlcal 20 C Process Control analysi~.
CALL CIG &NTR T8XT ( NBPRI~ , PRI~SG , 6 NB~U , ANS~ER , PROHPT , RE~ZCT , ACC~PT ) 25 C Check date~ and convert to forDat used to qel~ct record~
C ~rso Statistlc-l Process Control data fll~.
I~ ~ .NOT. R~JECT ) CALL SPC ~T~ ( ~NS~ER ( 1 3 , 6 PRO~PT ( 1 ) , USRINP ( ~ ) , REJ~CT ) I~ ~ .NOT. R~J~CT 3 C~LL SPC DA~ NSW~R ( 2 ~ , C 6 PRO~PT ( 2 ) , USRINP,l ~ ) , R~J~CT ) C Set fla~s for further processlng based on u~er'~ re~pon.~e.
IP ( R2~CT ~ T~EN
ELS~
~ND IF
8LS~ IP ( H~NULEVEL .~Q. 2 ) T~EN
40 ~ Get us~r to enter the nu~ber of observation per sa~ple and C the nu~ber of sa~ple~ to be u~e~ ln oontrol llne c~lculatlon.
CALL CIG ~NT~ DATA ( PR~SOS ~ N WSMN , OSMENU , OSTYPS , ~ N~SA~ N~S~P , ~J~CT , ACC~PS ) 45 C IF ~ ~eJecT ) T~
C Go b~ck ~o pre~lous ~enu level.
ELS~ IY ( ( N~S~HP ~ 1 ) . LS. 2 ) 5 ~ .OR. ( NBSAHP ( 1 ) .GT. 2S ) ~ .OR. ( NBSA~P ( 2 ) . LT . 1 ) ) TH8N
C Get us~r to try a~ain.
C

- , CALL DISPLAY ~SG ( MBOS~R , OSERMS , 2 , .TRU~. , ACC~?T
~LS~
C

5 C Go on to next ~enu level.
C

~ND I~
~LS~ IF ~ ~ENVLEVLL ,R~, 3 ) T~EN
10 C Get user to select an entity for Stat~stlcal C Process Control analysls.
C

CALL PICK ONE ~NTITY ( ENTYPE , PIC~SG , ENTPTR , L REJ~CT , ACCEPT

C Set flags for fur~her processln~ based on user's response.

IF ( R~J8CT . OR . ACC~PT ) TH~N
~LSE3 END IP
~LS8 C

C The user has entered boundary condltion3 and selected C ~n en~lty for Statistical Proces~ Control analy~is, so ~5 Ç do the necessary ~alculatlon-~ and display the results.
C

CALL SPC CALCVLATIONS ( USRINP , N8SA~P , ~NTPTR , 6 RNTY~ ~
30 C Go back to prevlous ~enu level and see lf user vants C to do the analysis ~aln f!or another entlty.
C

~ND IF
~ND DO
END

_76-SUBROUTINe TOLANALYSIS
C

C Purpose: Thls 1~ the drlYer for Tolerance Analysls.
C
C ~egln executlon C

C P~esen~ th~ Tolerance Analy~ enu ~o the user, and C perfor~ the requested functlon, untll ehe user says he C ls finlshed.
C

GOTO (1000), GET CIGCON(2) DO ~HILE (.NOT. TERMINAT~) CALL CI5 ENTR CHOICE (PRI~ARY, ~ENLINES, ~ENU, R~SPONSE, ~ REJ~CT, ACCEPT) C

IP (REJECT .OR. ACCEPT) T~EN
C

20 C Ye're finished here - return to ~ain CIG ~enu C
C

ELSL IP (R~SPONSE .EQ. 1) T~N
25 C Floatin2 ~astener ~nalysl~
C
C

LLS~ IP (R~SPONSE .~Q. 23 THEN
C

30 C Fixed ~Astener Analy~i~
C
C

~LS~
C

35 C ~oe~e Ca3e Asse~bly Analy~13 C

C~LL SET CIGCON~2,1) 1000 CONTINU~
CALL ~ORSTC~SE
C
LND I~
~ND DO
C

END

'FL~ 3~3 SUBROUrlNE ~ORSTCAS~
C Purpo~e: Thls is ~he drlver for the ~orst Case Analy3i~.
C 8egln execution C Present the ~ors~ Case ~ssembly Analysis menu to the user, and C perfor~ the requested function, untll the user says he cC is finished.
GOTO (lOOO), GET CIGCON~3) DO YHIL~ (.NOT. T8RMINAT~) CALL CIG ~NTR CaOICE ~PRI~ARY, ~ENLINES, HENV, RESPONSL, R~JEGT, ACC~PT) IF (R~J8CT .OR. ACC8PT) THEN
20 C ~e're finished here - return to previou~ ~enu C
US~ IE (RESPONSE .~a. 1~ T~N
25 C ~er~e in ~atln~ Past CALL ~ERG~AT~ (PARTHERG~D) 2LSE I~ (RESPO~S~ .E~. ?) T~EN

C Perfor~ ~or~t Cas~ An~ly~
CALL SEr CIGCON(3,1) CALL ~CAN~LYSIS (PART~ERGED) ~LSL IF ~ESPONSL .~. 3) T~EN
C Delete ~or~t Case ~del~

CALL DEL VC MOD~L
@LS~ IP (R~SPONS2 .~. 4) T~N
45 C Re~ove Xatln~ ~rt CALL REMOV~M~T~ (PA~TH~RGED) ~LS~

C Reposltlon ~atln~ part (~o lt's out of the vay) CALL REPOSNHAT~

END DO
C

END

SUBROUTINE RUNJOB(PD~LEVLL) C PURPOSE: TO RUN TNE SPBCI~IED COLLLCTION 0~ NC TOOLING AND
10 C INSPLCTION OP~R~TIONS) C

C BEGIN PROCE~URE
C

I F ( PD~CON ( PD~LEVEL ) . N~ . O ) THEN
IF(J08S~VERI~ERROR) TNEN
C

C AN ~RROR HAS OCCURR~D - JUST T~RMINATE
CLOS~ (UNIT ~ ~ISVNIT) CLOSE (UNIT ~ NCIINIT) ~PID I~
END IP
GO TO ~1000, 2000, 3000, 6000, 5000, 6000, 7000, 8000, ~, 1000~, 1100~, 12000, 13000, 14000, 15000, 2 5 ~ 16000, 17000, 18000, 19000, 2~0 ), P~CON( PDQLEV~L ) ûO II.1,80 ~ND 00 C initlalize flxture offsets (these vi~lues are -~et by ~anual fixtur~
C
1000 CûN~INUC
IP(CLI JOoNA11E~R~SIENT) TNE~
35 C THER8 IS f~ JO~NA~E~ IN C0~ ND LIN~;
CC
~LS~
DO ~HIL8(.NOT.DON~) C
C Job b~in~ run ro~ aln ~enu ~lect~on "RUN Jo~
C fln-~ out hov u~er vsn2~ to op~rat~
CALL CIG BNTR C~OIC~(~RIHARY,NUt~ER O~ NU IT~HS, ~ TYP~ OP JO~ PO~SB,~JLCT,OPCOI~P) I~(RWI~Cr. OR. OE'COIIP) THEN
~LS~
SPONSt . EQ . 1~ TBEN
CALL CLR~LP~
CALL US~RCllMINP('ENT~R NA~i~ OP JOS TO RUN: ', & USERINP, OPCOI~P, R~J~CT) ~( . NO~ . R~J2CT . i~ND. US~RINP. N1~ . ~ t ) TII~N

~ 7 US~
~N~ IP
~LSR IP(RESPONS~ . ~Q . 2 ) TH~N
C

5 ~ run ~ob fro~ keyboard co~and ~ode C
C

C Default data to partna~e CALL CIG_G~ PARTN~E(USERINP) ~LS~
C

C run ~ob froo ~enus C

C~LL CIG G~T PARllJAM~tUS~RINP) ~ND I~

eND 1~0 CALL CLRALPHA
~ND IF
1010 FOR~I~T~ 80Al ) CALL REMOV~ SPAC8S(USERINP) C CHEat TI~AT T~IIS JOB DOBSN'T ALR~ADY EXIST IN DATA 8AS~

C

I ~ ( . NOT . It~YBOARD . AND . . NOT . II~NU ) THEN
C ~OPRN
CALL CIG 0~8N ~IL~ (JOBUNI'rNU~Bæ~, I unlt nu~ber ~0 & USERIN~, I u~er ~lle & 1, . I sta~u-~old S 0, 1 ~ccess.sequ~nt ial O, I csrria~
~ ~, I default flle na~e ~, '.CJL', I defaul~ file ~xt ~DI~ ~IL~, I filespec opened DIRE~QRY, ~RRO~ ST~TIJS) IE (DIR~CTORY~ GOTO lQOO
I~ (13RROR ST~TUS~ TH~I
C CONDITION PICKeD UP ~ RROII DURINC OPEN
C

C~LL PO~C~R~SP(O,O) I~GC( 1 ) .1~Q . û) ~TUaN
GO TO 1~0 P
13R~CX n C13AR POSITION (BD:tT ~II,8, ' ~
CARAT ~ C~R POSITION (RDIT PIL~, '>' ) ~ 1 ST~aT ~ , CM~T~
DOT ~ CEIM ~OSITION ~EDIT ~IL~
JOBNA~IJ3 n BDIT ~ (sTART:~oT) CALL CHECKJOBSYNTAX(JOBNAM~,INSP~CT PRESENT,2RROR) IP(ERROR) T~EN
eND IP
eLS~
~ND IP
I~SINSP~ PRESENT) TH~N
C

C AN INSPBCTION ~AS REQUBST~D IN JOB

CALL JUHPCOHON(l) CALL ALP~AOP~

CALL OET~IL~S(PD~L~V~L~l,.P~LS~., .TRU~. , FIRSTTI~9 S ~RROR 9 T~RMITALL) I~(8M OR.OR.T~RHIT~LL~ THEN
CL05~ ~UNIT . ~SUNIT) CLOS~ (UNIT ~ NCUNIT) 8NG I~
~ND I~
IF(.NOT.K~YBOARD.AND..NOT.~Z~U3 TN~N
8ND I~
C
~ND OP JQB~.FALS~.

C SBT CURV~ YONT,U~IG~T AND CO~OR
C

3o C Srea~e dc3 called RUNJOB on top of currently active DCS
C~LL CIG CH~CK DCS NA~E(~CIGJOB',~XI5T,JOB DCS PTR) I~.NOr.~XIST) S~EW
BLSE

C Already exi~t~s I~(CHECR DCS PTR.E~.JO~ DCS PTR) TNEN
C

40 C Currently active dc~ ls CIGJ08 C

aLS~
C
C Currently ~ctlve dc~ not CIGJ08 CALL C~G D~L ~NT PTR(l,JO~ DCS PTR,~M OR) ~ND IP
~F(CR~AT8 DCS) T~N
5o C
C Dcs does no~ ~xi~t ~ create on top o~ current DCS
C

CALL CIG CRi~ P~ COORDS(JO~ ORIG,PT PTRS,~URO~
C~LL CIG C~ PT COORDS(JO~ XhXIS,PT PTRS(2),~RR0R) .3 - 81~

CALL CIG CR~ PT COORDS(JO~ YAXIS,PT PTRS(3),~RR0~) CALL CI~ CR~ DCS PTR(PT PTRS,'CIGJOB',JOB DCS PTR,ERROR) ~ND I~
S C
C delete p~ints used or dcs constructlon CALL CIG DEL ~NT ~TR(3,PT PT~S,~RROR) CALL CIG ACT~CSPTR(JOB DCS PTR,eRROR) IF(EM OR~ TH~N
END IF
END IF
C get flrst ~o~mand ln ~ob:

CALL GETNEXTJOPLIN~END OP JOB,~IRSTCALL,~RROR) DO ~HIL~(.NOT.~ND OP JO~.A~D..NOT.~RROR) 3000 CONTINU~
I~(.NOT.~RROR) THBN
C

C PIND ~IRST NON BLANR C~A~ IN LIN~
DO V~IL8~1I.LT.L~N~JO~LINB~-l ~ .AND.JO~LIN2(II~ .8Q.' '~
~ND ~0 C

C DON'T PMS~ LINES ~HIC8 5TART UITJ A CO~NT U8LI~T~R
C

I~(JOBLINe.N~.' ') T~N
I~(JOBLIN~ l) .N~. ' I ' ) TL~N
CALL LI~SESTABLISS~aANDLER) I~(ISTAT. e~. 2295S2) ~EN
C~LL LI~SSIGNAL(XVAL~IST~T)) C~LL ~AITR8SP~2) ~LS~ IP(I~TAT.N~.l96609) T~
C Qrror ln p~r~
CALL ~AITR~SP(2) ~LS~ I ~MS8 ~
C~LL LI~SR~VBRT
CALL ~DQINIT(PDQL3Y~L~l) CALL ~LPHAOF~ l~aNus oP~
CALL JU~PC0~0~(l3 lNOR~AL JU~ BTURNS ~0 ANVIL
45 C NOV P~RPOR~ T~Z ~X~U~ST~D OPePATION
IP(JOBLIN~(ls~ .'DISC') T~N
50 C DISCONN~CT T~ nAC~IN~ ~RO~ T~B CO~PUT~2 CALL CIG DISCONNECT MhC~INE(PDOL8V2L~1 ~SF IF(JO~LIN~ 4).~Q.'NC P') T~EN

.. .. .

iL~ 3 C RUN THL RI~QUESTT3D ~1C TOOL PAT~
I~(MAC~INB CONNECTED) THEN
5 C check fixtures ln curren~ dcs C

I~(.NOT.TIP IN ~IXTlJR~ 0~PS~T) & THEN
C~LL ~IXTURES INTO DCS( ~ P~OB~_L~NGTH, PIXTt~8 OFFSETS, S eRROR) ~ND Il?
I~9(.NOT.~RROR) TH~N
15 5000 CONTINU~
CALL CIG RUN NC PATl~ ( PDQLEVEL~ 19 bRROP~) BND I~
ELS~
5100 POR~T( CALL ~ORVRIT~O,O,O) C~LL I~ITRXS~2) END 1~
1~LS8 IP(JO~LINl~tl:4).hq.'NC 1~') THEN
C

C DO~a t,O~D T~ QUBSTI~D NC ~9IL~
C

I~(MAC0IN~ CONN~ D) THEN.
30 C Ch~ck flxture~ are ln the current DCS
C ..
I~t.NOT.TI}' IN ~IXTUItE O~FS8T) T~~
C~ TU~S ~NTO DCS( P~OBe 1;~13, S ~IltTU~B O~PSBTS~
6 ~RRO~
I~( . NOT . ~RO~) T1l13N
6000 ~ON~
CALL CIC RUN NC PIL~ VEL~l, 6 BRROR) END I~
~L5~
GALL PORVRIT~(O, O, O) CJlLL UAIl~S~(2) ~LSB I~(JOBLI218~ls2).~Q.~10') THEN

C

C ~o~e ~schln~ to reque~ted locatlon:

I~(MACLIta~ CONN~CT~D~ T0~N
CALL Ji~ IIO~ tlAC~ RROR~
8LS~

;, .

C~LL ~OR~IT(0iO,O) CALI. ~AISRESPS 2 ) C END I F
I~LS I~(JO~LIN~ l).(~. ' I' ) T1~EN
C

C INSP2CT THI~ REalJESTED INSPECTION PROC~SS
C

I Y t MACHINEt CûNPl~CTeD ~ THEN
10 ~ IP(.NOT.DELT~D MEASURED DATA) THEN
CALL DELHI)AT~(DUHMY, .TRUL. ) END IP
I~(.N~T.GOT ~ILES) TH~N
CALL JUt~PCOl~ON(l) C:ALL ALPHAOPY

CALL GErPILl~S(PDQLEYEL~ ALS~., ~i .TRU8. ,FIRSTTII~, ~S EPROR, TERIIITALL) I~ RROR.OR.TERHITALL~ THEN
CLOSI~ (UNIT ~ ~SUNIT) CLOSE~ (UNIT 8 NCUNIT) P
,~ . LND I~
IP( .NOT.E~RROR) T~
7000 CONTINU~
CALL CI5 RUt~ INSP~CTION(PDQL~Y~L~l, CUR1~2N'r CLUSTER, 6` CLUST~R CALIBRATION TA8LI~
6 ~IXrURI~ O~S~T~,TIP, PR08~ Ll~NGT0, & TIP Ii~ O~SLT, I?IUOR) ~.S~S
CALL ~ORURITe(O,O,O~
CALL ~1AITRI~SP( 2 ) ~LS~ IF~JûSl.INlE(1:2).BO. '~ T19~N
4û C
C PERFOR~I T~ LYSIS OP T~1~ Pl~R~
C

8000 . CONTINU~
CALL CIC PU PO~ ANALYSIS~P~L8Y8Lol) ~LS~ IP~JO~LlNg~ .'AT'~ T~XN
C CONN~CT TO T0~ SP~CIFI~D ~C~IN~
C

9000 C3NTINU~
CALL CIG GOMN~CT ~ACHINF(PDQL~V~L~l) ~LS~ IP(JO~LIN~ ).8Q.'CA') T~N
C RUN T~g CLUST~ CAL~RATION PRu^C~8$:
C

';

IF(M~CHIN~ CONN~CTED) THEN
CALL JOB GLUSTER CALIBRATaON( CURRENT CLUST~R, 6 CLUSTER C~LIBRATION TABLE~, ~ PIXTURR OFPSETS,TIP, 6 PROBe L~N(;T8, & TIP_IN PIYrrllR~, O~PSBT, ~RROR) ~LSL
CALL ~ORl~RIT~O, O, 03 CAI.L UUTRI~SP~2) BND I~
~LSR I~JOBLIN13(1:2).~Q. 'OR' ) T}IE~
15 C ORI~NT T~E P~RT TO TEI~ HACNIN~
C
IP ~I~AC8INB CONN~C7LD3 THEN
C

IP(.NOT.DBLEreD ~12/.SURLD DATi~) T~ILN
C~LL DI~L~DA;3Fl~(DVHIl~, .TRU1~. ) ENID IP

CALL CIG ORI~NT PROC1~SS~PDt~L~VEL+l, C~RRENT ~LUST~R, ~ CLllSTFR CALIBR~STION TAE~L.E, 6 PI5~TURI~ OFPS~TS,TIP, PROL~ LENGT~, TIP I~l FI~UR~ OP~SET, J01~
~ EIUOR) e~,s~
C~LL PORU~RITE~O l O ~ O) C~LL i1AITR~SP( 2 ) ~ND IF
3s C
~LSE IP(JOBLI~ . 'OP' ) TR~N

C

C P~USI~ POR OPIER~TOR OK.
C
4 0 11000 CON'rINU~
C~LL CIG ~AUS2 ~OR 0~ OK~PDaLl~VE~L~l) C

LLS~ IP~J08LINB~1: 1) .13~]. 'Y' ) T~N
C

45 C ClHANG1t VIeYS
C

12000 CONTINUI~
CALL CIG Cll.WGEt VI1~15(PD~3L~VæL.l) ~LS~ J08LINE( l: ~ ) . RQ ~ ' ) T~ILN
50 ~:
e R~PAINr T9L SCIl~l?N
C

1301:)0 CONTINUa CALL CIG R~PAINT SS~E~M(PV~L~V~L
BLSB I~(JO~LINB( 1~ . ' U' ) THLN
C UNBLANK A LEVl~L
C

14000 CONTINU~
CALL CIG llNBl~NK L~ L(PD~ Yl~L~I) ~LS~ I~(JOBLINl~ 3.8Q. 'B' ) T~8N

C BLANX A LE~V~L
C

15000 CONT~
CALL CIS; ~t~NK L8V3~L(PD~L8V~L~l) ~LS~ IF(JO~iLINE(~:l).LO.'8') T~
C

C

IP(DISPI~Y JOB) T~ aN
CALL ~OR~RIT~(O, O, O) CALL Cl~AIT(2(~) LLSL
C~LI. C:IG J03 BXIT(Pa~l~V8L~l) 2 5 }tND OF JOI 31n ~ T~U2 ~ND IF
ELSE I F( JOI~LINE ( 1: 1 ) . EO . ' P ' ) THEN
C

C PAUS2 ~OR A SBECI~I~D AWOUNT OP TI21 30 ~
1~000 CONTINU~ :
CALL CIG PAUSE( PD(ILEVEL~l ) }~LS~ Jt)~LINB(1:4~ . 'DIS~' ) T~a S . DISARN T~ ~ROI~E
C
IP(llACHINle CONNECTED) TH~N
18000 CONTINIJ~
CJ~LL CIG DISA~H PROB(PDQL~VEL) 4 EL.SE
CALL PORVRITle(O,O,O I
C~LL VAITRZSP(2) SND I~
ELS~ IF (JOBLIN1~1: 2).E~ ') THEN
C

P~POI~UI ~IANUJU, ~IXTU:RX
C
IF(111~CnIN~ CONN~ D) 'rH~N
19000 CONTIND~
CALL C:IG 11ANUAL ~IX'rURP~PDQL~VEL~l, PI~I)RI~ O~YSETS,TIP, PROBE! LENGSt3, ~RROR~

~'PLX~

s~t fla~ to lnd~cate th~ th~ tlp used 11l ~he flx~ur~ offset has C not been flgured lnto the C f lxture of f~t~
~LS2 CALL PORl~T8(0,0,0) C~LL VAITP~SP(2 ~ND I~
ELSI~ IP (JOBLINe(1:2) .~a. ~co~ ) THI~N
C ~ COORDIN/~T~S
CALL CIG C~At~ie DCS(JO~ BCS PTR, ~MOR) use IP~JOBLIN~ 2~.~Q. 'TO' ) r~EN
o ~ N LO~ TOOL T~L~S
IP(HAC~ CONNECrl~D) TH~N
C~lL C~G DOVN LO~ TOOL T~BL~S
8LS~
~LL PORV~T~O,O,O) CALI. VAI~SP( 2 ) Y
8LS~ I~(JOBLIN~ a. ~ s~ ~ ~HEN
30 C St'A~I A CO~
I~(ISS/~T.BQ.CLIS N~Gi~T1317) T~l@N
~ND IY
~LL SLISGEr VALU~'C011~',CO~ND) ~(IST~T.~Q.~L~S NU;-~T~D) T~
BLS~ ~.~. 261401) T0~N
IJS8R Sl?gCIl;l8D AN OU~PUT PILE
CALL CLISG~T V~LUI~t'OUTPUT PIt.~', OUTPU~
~NID IP
~(IS~AT.~Q.CL~S NE~ TXD) S~N
45 C tLS8 ~tISTAT.~.26l~0l) T01~N
C USI~R S~:IrI~D AN ou~Pur ~Lt CALL CL~$C~T_YI~LU~('INE'U~
INPUI ~IL8) C ~ &ND Il~ -C S~11N T1113 JOII
C t~ IP NOI~AIT SPBC~ D, T~N T~
AST COIIPL~TION ROUTIN~ ~LL8~ SYJ~ NDL8R

`:
- . . .~
.
. ~ , . .

.

C GETS CALLXD
C

IP(INPUI PILB.8t). ' ' .AND.
OUTIPUT PIl.a. B~ . ' ' ) & TH~N
C

C SPAliN UIT~ NO IP~PUT OR OUTPU~ PIL~S
C

~LSZ I~(INPlJT ~IL11~,8G.' ') T~

C ~LS~ I~ INPUT ~IL8 NULL, TIII~N SPAtlN
C VIT~ JUST OUTPUT FIL~
~LS8 C ~LSe BOT~ P~BSLNT
C

~ND IP
I~(ISTJ~T.Ni~.SSS NORMAL) THE~N

C COULDtl'T SP~VN - STOP T~ JO~
C

20100 PORlqAT('lrour sub-proce-~ could not/', CALL LI~S1ESTA~LI5~(~NDLe~) CALL LI~SsIGN~L(xVAL(IST. T~) ~Ll, L~S~B11~T
ChLL ~ORC~RBSP(O, O) C

E~LS}~

C llAI~ ~ S~COND ~OR ANY OU~ T ~Y ~ ON
C

CALL C~AIT(200) I~ND I~
ISI,SIS

C

C t~IS S~OIILD 11~ lNPQSSI~Lt C

16100 1~01U~ATt'UN~OGN2J1~D CO~IPI~D IN JOIB:J', CiUL PORVIU~(O,O,O) C~LL YAI~ SP(2 æNI; IP
~iND IP
UIID Il~
I~ND Il~
PND Il~
Il~(JOl!lSl~ UE~Ol~a T~BN
5 0 IF(K~!~BOA~tD. OR .11ENU) T0EN
C
C I~ KIEYBO~RD INPUr, S13~ S~T TO NO ~ROR CONITION SO
t: ADDITIONAL CO~t~S MA~ S~ILL ~IS IN~UT

,. ~
' ' ~ND I~
IP( . NOT. eMOR) THEN
C19LL GETN~XTJOBLIN~ND OP JOB,PI~ST~ALL,~R~tOR~
END I P
IP(JO~NAHE.EQ. ~ENIJ' .~ND.~ND 0~ JOB~ T~IEN
GOTO 1000 I GO B~CX 1 ~9ENU L~VFL
END IP
C

C Check tha~ th~ user dld not try to change dc~:

IF(.NOT.~MOP~.AND..NOT.~ND O~ JOB) TH~N
I~(C~lEClt DS::S PTR.NI~.JO~ S PTR~ T~EN
C -- _ _ 15 C Job dc~ vas changed ln ~ddle of run:
C~lLL CIG ACT~CSPTR~J08 DCS ~ ~OR) END I~
END I~
C
~ND DO
I~(~C~INI~ CONN8CT~D) b T~EN
C

C ~tACl~ llAS CONN~ D - DISCONN2C~ IT

~P~I~ST~C~ T~P~ .O) T~IEN
C DISCONN~ D~A ONLY IP NO ~MORS V~R~ DETEC~8D
Ilr(LASTWACHIP~ SYP~ .DU~ ~C~IN~ TYPæ.AND.
6 .NOT. ~OR)~
C~UL DISCONN~CT~C~(LAST~CHIN~ TYP~,.~RIJE., TRU8 ., S3) ~ ~P
IF(LAS~C~IN~ TY~I~.N2.D~A tlAC~ Y~) T0~N
CALL DISCO~NE~IAC~ ~CUNI~ TYP~,.l~UL., ~, . TRUe ., O) UID IP
0 I~
~O ~tlD IP
C r~act~v~t~ oril~lnal dc~ for~ ~nt~ring thl~ rout~n~s IF~O~IG D¢S ~TA . ~ . O) T~8N
CAL7; (~ ACTDCSPT~(OaIC f)l:~; PTR,LMORa CALL CIG D81. ~NS ~(l,JO~_~S P~ IUOR) . .

.

~ 3L~3 Although the best mode contemplated for carrying out the present invention has been herein shown and described, it will be apparent that modification and variation may be made without 5 departing from what is regarded to be the subject matter of the invention.
HMS:smb , ' ,

Claims (73)

1. A method of inspecting a fabricated structural part to determine conformance to known part dimensional feature and tolerance call-outs using a computer coupled to a multidimensionally movable position measuring apparatus, comprising the steps of constructing a multidimensional model of an inspection gage using the known part dimensional feature and tolerance call-outs, selecting dimensional features to be inspected on the part, generating an inspection path relative to the part considering the dimensional features selected to be inspected, thereby defining movement of the position measuring apparatus relative to the parts, moving the position measuring apparatus along the inspection path, determining the positions of the dimensional features selected for inspection on the fabricated part as the position measuring apparatus moves along the inspection path, constructing a multidimensional model of the fabricated structural part using the determined positions of the structural features, and comparing the inspection gage model with the fabricated structural part model to determine if the part is within or out or said tolerance call-outs from the comparison.
2. The method of claim 1 comprising the step of indicating if the part is reworkable or scrap if the part is determined to be out of tolerance.
3. The method of claim 1 wherein the steps of constructing multidimensional models of the gage and part comprise the steps of constructing three dimensional models.
4. The method of claim 1 wherein a display is coupled to the computer, wherein dimensioning and tolerancing standards are provided for the part dimensional features and wherein an addressable memory is available to the computer, and wherein the step of constructing a multidimensional model of an inspection gage comprises the steps of retrieving data from the addressable memory indicative of the known part dimensional feature and tolerance call-outs, displaying a model of the structural part derived from the retrieved data, selecting from the displayed structural part model the dimensioning and tolerancing standards applicable to part dimensional features to be inspected, and selecting from the model display the part dimensional features to which the standards apply, whereby data is obtained indicative of the inspection gage.
5. The method of claim 1 comprising the step of storing the constructed gage data.
6. The method of claim 1 wherein a display is coupled to the computer and wherein the step of generating an inspection path comprises the steps of illustrating the inspection path on the display, forming a path program corresponding to the illustrated path, and converting the path program to instructions intelligible to the movable position measuring apparatus.
7. The method of claim 6 comprising the step of storing the instructions.
8. The method of claim 1 wherein the step of moving the position measuring apparatus comprises the steps of detecting the structural part orientation, orienting the inspection path to correspond with the part orientation, and moving the measuring apparatus along the oriented inspection path.
9. The method of claim 1 wherein a display is coupled to the computer and wherein the step of constructing a multidimensional model of the fabricated structural part comprises the steps of obtaining fabricated part dimensional data from the part dimensional feature position determinations as the measuring apparatus moves along the inspection path, and displaying the dimensional data.
10. The method of claim 9 comprising the step of storing the fabricated part dimensional data.
11. The method of claim 1 wherein a display is coupled to the computer and wherein the step of comparing comprises the steps of displaying the inspection gage model and the fabricated structural part model, aligning the gage and part models on the display by appropriate translation and rotation, and detecting the fit of the gage and the part.
12. The method of claim 11 wherein the step of detecting comprises the steps of visually detecting and mathematically detecting.
13. The method of inspecting a fabricated structural part to determine conformance to known part dimensional feature and tolerance call-outs using a computer coupled to a multidimensionally movable position measuring apparatus, comprising the steps of constructing a multidimensional model of an inspection gage using the known part dimensional feature and tolerance call-outs, generating an inspection path relative to the part selected, thereby defining movement of the position measuring apparatus, moving the position measuring apparatus along the inspection path, determining the positions of the dimensional features on the fabricated part as the position measuring apparatus moves along the inspection path, constructing a multidimensional model of the fabricated structural part using the determined positions of the structural features, comparing the inspection gage model with the fabricated structural part model to determine if the part is within or out of said tolerance call-outs from the comparison and indicating if the part is reworkable or scrap if the part is determined to be out of tolerance, wherein the step of indicating if the part is reworkable comprises the steps of altering the fabricated structural part model within the known tolerance call-outs, recomparing the altered fabricated part model with the inspection gage model, and indicating that the fabricated structural part is reworkable if the gage fits the altered part model and scrap if the gage does not fit.
14. The method of claim 1 comprising the step of ascertaining the syntactic correctness of the tolerance call-outs.
15. The method of claim 1 comprising the step of calibrating the position measuring apparatus.
16. A method of inspecting a fabricated structural part having known critical and major dimensional feature and tolerance call-out data in accordance with a known geometric dimensioning and tolerancing standard, utilizing a computer connected to a display, the computer having access to the critical and major dimensional feature and tolerance call-out data for the part, and a three-dimensionally movable member carrying a position measuring apparatus operating to determine the positions of structural features on the fabricated part, comprising the steps of obtaining the computer accessible critical and major dimensions and tolerances of the part, displaying a model of the part including the critical and major dimensions and tolerances, selecting from the display the known tolerancing standard and the part dimensions to be inspected and to which the known standard pertains, forming data representative of a three-dimensional gage represented by the selected tolerancing standard and part dimensions, generating an inspection path in accordance with the selected part dimensions to be inspected, instructing the three-dimensionally movable member to follow the inspection path, measuring the position of the fabricated part features embodied by the selected part dimensions as the movable member follows the inspection path, forming data representative of a three-dimensional model of the measured fabricated part features, and determining if the gage fits the fabricated part model.
17. The method of inspecting a fabricated structural part having known critical and major dimensional features and tolerance call-outs in accordance with a known geometric dimensioning and tolerancing standard, utilizing a computer coupled to a display, and a three-dimensionally movable member carrying a position measuring apparatus operating to determine the positions of structural features on the fabricated part, comprising the steps of obtaining the critical and major dimensions and tolerances of the part, displaying a model of the part including the critical and major dimensions and tolerances, selecting from the display the known tolerancing standard and the part dimensions to which the known standard pertains, forming data representative of a three-dimensional gage represented by the selected tolerancing standard and part dimensions, generating an inspection path for inspection of the selecting part dimensions, instructing the three-dimensionally movable member to follow the inspection path, measuring the position of the fabricated part features embodied by the selecting part dimensions as the movable member follows the inspection path, forming data representative of a three-dimensional model of the measured fabricated part features, determining if the gage fits the fabricated part model, reworking the fabricated part model within the tolerances if the gage does not fit, and indicating that the fabricated part is reworkable if the gage fits the reworked model and that the fabricated part is scrap if it does not.
18. The method of claim 16 together with the step or storing the three-dimensional gage and part model data.
19. The method of claim 16 comprising the step of ascertaining the syntactic correctness of the known critical and major tolerance call-outs prior to forming the three-dimensions gage.
20. The method of claim 19 comprising the step of modifying the tolerance call-outs if found syntactically incorrect.
21. The method of claim 16 comprising the step of calibrating the position measuring apparatus.
22. Apparatus for comparing a three-dimensional model of an inspection gage to a three-dimensional model of a manufactured part using computer aided design data for the part, comprising computer means coupled to receive the part design data, display means coupled to said computer for displaying models of the designed part, the inspection gage an the manufactured part, keyboard means coupled to said computer for selecting particular part dimensional and tolerance call-outs on the designed part model display from which selections data descriptive of the inspection gage model is obtained, means for moving a member in three-dimensions coupled to said computer so that on inspection path may be followed around the manufactured part, and a position sensor attached to said moving member and coupled to said computer for detecting the positions of the part features being inspected, so that data descriptive of the manufactured part model is obtained, said inspection gage and manufactured part models being compared visually on the display and mathematically by the computer to determine in and out of tolerance manufactured part conditions.
23. Apparatus as in claim 22 wherein said position sensor comprises a coordinate measuring machine.
24. Apparatus as in claim 22 wherein said position sensor comprises a noncontact inspection system.
25. Apparatus as in claim 22 wherein said position sensor comprises a numerically controlled machine tool and a contact sensor.
26. Apparatus as in claim 22 comprising means for indicating whether the manufactured part is reworkable or scrap if it is determined to be out of tolerance.
27. Apparatus as in claim 22 comprising means for calibrating said position sensor.
28. Apparatus for inspecting a structural part having known dimensional features and tolerance call-outs, comprising means for constructing a multidimensional model of an inspection gage using the part dimensional and tolerance call-outs, a multidimensionally movable position measuring apparatus for determining the positions of structural features on the part, means for generating an inspection path relative to the part defining movement of the position measuring apparatus, means for moving the position measuring apparatus along the inspection path, means for constructing a multidimensional model of the structural part using the determined positions of the structural features, and means for comparing the inspection gage model with the structural part model for determining if the part is within or out of tolerance from the comparison.
29. The apparatus of claim 28 comprising means for indicating if the part is reworkable or scrap when it is determined to be out of tolerance.
30. A method of inspecting a manufactured structural part to determine conformance to known dimensional features and tolerance call-outs using a computer coupled to a multidimensionally movable position measuring apparatus comprising the steps of ascertaining syntactic correctness of the tolerance call-outs required for structural part definition, modifying the tolerance call-outs to assume syntactic correctness if found to be incorrect, constructing a multidimensional model of an inspection gage using the known dimensional features and tolerance call-outs, generating an inspection path relative to the manufactured part defining movement of the position measuring apparatus relative to the manufactured part, moving the position measuring apparatus along the inspection path, determining positions of the structural features on the manufactured part as the position measuring apparatus is moved along the inspection path, constructing a multidimensional model of the manufactured structural part using the determined positions of the structural features, and comparing the inspection gage model with the structural part model for determining if the part is within or out of tolerance from the comparison.
31. The method of claim 30 wherein a display is coupled to the computer, wherein dimensioning and tolerance standards are shown in the display, and wherein the step of constructing a multidimensional model of an inspection gage comprises the steps of obtaining data indicative of the known dimensional features and syntactically correct tolerance call-outs, displaying a model constructed from the obtained data, selecting from the display the dimensioning and tolerancing standard applicable to the data, and selecting from the display the design features to which the standard applies, whereby data is obtained indicative of the gage.
32. The method of claim 30 wherein a display is coupled to the computer and wherein the step of generating an inspection path comprises the steps of illustrating the inspection path on the display, sensing the orientation of the manufactured structural part, forming a path program corresponding to the illustrated path, and orienting the illustrated inspection path and program to register with the sensed manufactured structural part orientation.
33. The method of claim 30 comprising the step of calibrating the position measuring apparatus.
34. A method of inspecting a structural part having known critical and major dimensional feature and tolerance call-out data in accordance with a know geometric dimensioning and tolerancing standard having defined syntax, utilizing a computer connected to a display, the computer having access to the critical and major dimensional feature and tolerance call-out data for the part, and a three-dimensionally movable member carrying a position measuring apparatus operating to determine the positions of structural features on the part, comprising the steps of obtaining the computer accessible critical and major dimensions and tolerance of the part, displaying a model of the part including the known critical and major dimensions and tolerances, selecting on the display the known tolerancing standard and the part dimensions to which the known standard pertains, ascertaining syntactic correctness of the known computer accessible tolerance call-outs as required for structural part definition, forming a three-dimensional gage corresponding to the selected tolerancing standard and part dimensions, generating an inspection path relative to the structural part for inspection of the selected part dimensions, instructing the three-dimensionally movable member to follow the inspection path, measuring the position of the part features embodied by the selected part dimensions as the position measuring apparatus is moved along the inspection path, forming a three-dimensional model of the measured part features, aligning the three-dimensional measured part model with the three-dimensional gage, and determining if the gage fits the part model.
35. A method of inspecting a structural part having known critical and major dimensional features and tolerance call-outs in accordance with a known gemoetric dimensioning and tolerancing standard having defined syntax, a computer coupled to a display, and a three-dimensionally movable member carrying a position measuring apparatus operating to determine the positions of structural features on the part, comprising the steps of obtaining the critical and major dimensions and tolerances of the part, displaying a model of the part including the known critical and major dimensions and tolerances, selecting on the display the known tolerancing standard and the part dimensions to which the known standard pertains, ascertaining syntactic correctness of the known tolerance call-outs as required for structural part definition, forming a three-dimensional gage represented by the selected tolerancing standard and part dimensions, generating an inspection path relative to the structural part for inspection of the selected part dimensions, instructing the three-dimensionally movable member to follow the inspection path, measuring the position of the part features embodied by the selected part dimensions as the position measuring apparatus is moved along the inspection path, forming a three-dimensional model of the measured part features, aligning the three-dimensional measured part model with the three-dimensional gage, determining if the gage fits the part model, comprising the steps of reworking the part model within the tolerances if the gage does not fit, and indicating that the part is reworkable if the gage fits the reworked part model and that the part is scrap if it does not.
36. The method of claim 34 comprising the step of calibrating the position measuring apparatus.
37. A method of predetermining a job sequence to be performed on a part by a system including a computer coupled to a multidimensionally movable position measuring apparatus, a store coupled to the computer containing a stored CAD model of the part to be subjected to the job sequence, and a machine for performing operations on the part, the machine being adapted to be attached to and governed by the system, comprising the steps of informing the system of the identity of the machine, connecting the machine to the system, identifying a point on the CAD model for orientation of the position measuring apparatus and the machine, designating the sequence of operations by the machine and the position measuring apparatus, analyzing the data obtained from operations involving the position measuring apparatus, and disconnecting the machine.
38. The method of claim 37 comprising the step of calibrating the position measuring apparatus.
39. The method of claim 37 wherein the stem contains a display, comprising the step of simulating the steps of informing, connecting, identifying, designating, analyzing and disconnecting for observation on the display.
40. A method of analyzing data relating to a physical part resulting from the operation of a system including a computer coupled to a multidimensionally movable position measuring apparatus and a machine governed by the system, and a store coupled to the computer containing CAD data relative to a part to be subjected to the analysis and data received relative to the physical configuration of the part, comprising the steps of constructing data representative of an inspection gage for features on the part by retrieving CAD data relative to such features, measuring the corresponding physical features of the part, storing data relating to the part physical features, and determining the fit between the gage and the measured part data.
41. The method of claim 40, comprising the steps of reworking the stored measured physical features data within the stipulated part tolerances, and determining whether the reworked data represents a part within tolerances.
42. The method of claim 41, comprising the step of indicating that the part is scrap if the determination is that the reworked part is not within tolerances.
43. The method of claim 40 comprising the steps of storing a plurality of physical feature data for like features measured on a plurality of parts, and determining if the machine is making the part features the same as in the past.
44. The method of claim 43 comprising the steps of indicating an out of control condition when the determination is that the part features are not being made the same as in the past, and investigating the cause of the out of control condition.
45. The method of claim 44 comprising the steps of correcting the cause of the out of control condition, making a limited run of the parts, and determining if the machine is making parts features the same as in the past.
46. The method of claim 43 comprising the step of continuously updating the store of physical feature data for like part features.
47. A system for inspecting a structural part coupled to computer aided design data for the part, comprising means for reading the dimensions and tolerances from the computer aided design data for the part features to be inspect, means for mathematically constructing a three-dimensional inspection gage for the part utilizing the dimensions and tolerances, means for measuring the part features to be inspected and for providing inspection data representative thereof, means for mathematically constructing a three-dimensional model for the inspected part features and means for comparing the three-dimensional model with the three-dimensional gage, whereby compliance with design data tolerances is determined.
48. The system of claim 47 wherein said means for comparing, comprises means for displaying said three-dimensional model and said three-dimensional inspection gage simultaneously in distinguishable form, whereby compliance with design data tolerance is visually obtained.
49. The system of claim 47 wherein said means for comparing comprises means for displaying compliance with design data tolerance in tabular form.
50. The system of claim 47 wherein said means for measuring comprises means for moving a measuring member about the structural part, and means for constructing an inspection part for said measuring member to travel between the part features to be inspected.
51. The system of claim 50 comprising means for constructing a three-dimensional model of the part utilizing the computer aided design data, and means for displaying said inspection path and the part features to be inspected superimposed on said three-dimensional model of the part.
52. The system of claim 47 comprising means for determining tolerance syntax propriety utilizing the dimensions and tolerances.
53. The system of claim 47 comprising means for continuously storing inspection data for a population of structural parts, and means for statistically analyzing each part feature measurement to determine if the part manufacturing process is exercising acceptable control.
54. The system of claim 47 comprising means for determining tolerances for specified part features to be added to the description of the structural part.
55. The system of claim 47 wherein computer aided design data is available for a mating part to the structural part, comprising means for analyzing the worst case mating part and structural part tolerances to determine if in tolerance interference may exist, and means for displaying the analysis results.
56. The system of claim 47 wherein the system is capable of being connected to any one of a variety of machines for performing a job, comprising means for identifying the machine to which the system will be attached to perform the job, means for prompting a system operator during definition of the job to be executed, means for defining the orientation of the structural part to he subjected to the job process, means for entering the definition of any job make and inspect operations into the system, and means for analyzing part feature measurements for determining job control effectivity.
57. The system of claim 56 wherein said means for analyzing comprises means for statistically inspecting part feature measurements from a population of structural parts to determine if the parts are being made as they were made in the past.
58. The system of claim 56 wherein the means for analyzing comprises means for determining if the structural part is reworkable if the means for comparing indicates noncompliance with the design data tolerances.
59. The system of claim 56 comprising means for simulating execution of a defined job.
60. A computer controlled display system for inspection and analysis of predetermined part features on a structural part coupled to computer aided design and tolerance data for the structural part, comprising a display surface, means for simultaneously displaying a design data model of the structural part and an inspection path about the part model for the predetermined part features, and means for selectively altering said inspection path on said display surface.
61. A computer controlled display system for inspection and analysis of part features on a structural part coupled to computer aided design and tolerance data describing the structural part and to measuring means for the part features, comprising a display surface, means for selecting the part features for inspection and analysis, and means for simultaneously displaying a model of the selected structural part features and an overlaid model of an inspection gage constructed form computer aided design and tolerance data relevant to the selected part features.
62. A computer controlled display system as in claim 61 wherein said means for simultaneously displaying comprises means for simultaneously displaying inspection results.
63. A computer controlled display systems as in claim 62 wherein said means for simultaneously displaying inspection results comprises means for displaying said inspection results in tabular form.
64. A computer controlled display as in claim 62 comprising means for displaying a statistical analysis of said inspection results.
65. A computer controlled display as in claim 62 comprising means for presenting rework instructions based on said inspection results.
66. A computer controlled display as in claim 61 wherein said means for simultaneously displayed comprises means for displaying said models in distinguishable colors.
67. A method of investigating compatibility of predetermined standard dimensioning and tolerance call-outs on mating parts utilizing a computer, wherein design and tolerance data for the mating parts is available to the computer in memory, comprising the steps of retrieving the design and tolerance data relating to the mating parts from the memory, consulting the rules governing the predetermined standard tolerance call-outs to obtain proper tolerance interpretation for the retrieved data applying the interpreted tolerance call-outs to the mating design data, computing the worst case tolerance conditions for material interference between mating parts, and displaying the results of the worst case tolerance condition computation.
68. The method of claim 67 wherein the tolerance data include datums on each of the mating parts, comprising the steps of determining if there is inconsistency in the datum call-outs in the tolerance data for the mating parts, and indicating alternatively no inconsistency if there is none and a location of such inconsistency if some exists.
69. A method of investigating compatibility of tolerance call-outs on mating parts using a computer having access to memory containing design and tolerance data, including dimension and tolerance datums, for the mating parts comprising the steps of retrieving the design and tolerance data from the memory relating to the mating features on the mating parts, determining if there is inconsistency in the datum call-outs in the tolerance data for the mating parts, and displaying alternatively an indication of no inconsistency where none exists and the location and nature of an inconsistency where some exists.
70. The method of claim 69 comprising the steps of computing the worst case tolerance conditions for material interference between mating parts, and displaying the results of the worst case tolerance condition computation.
71. A method of determining tolerance call-outs for fixed and floating fastener features on mating parts wherein design data for the mating parts is available in memory, comprising the steps of selecting a fastener, designating the position on a part where the fastener is to be used, designating the datums on the part to which the fastener location is to be referenced, selecting a tool for forming the part features to receive the fastener, determining the part feature maximum and minimum sizes for accommodating the fastener considering the tool and the selected fastener, and displaying the true position tolerance for the fastener accommodation part features.
72. The method of claim 71 wherein the fastener is a floating fastener and the step of displaying comprises the step of showing a true position tolerance zone of zero at maximum material conditions.
73. The method of claim 71 wherein the fastener is a fixed fastener and wherein the part feature in a floating part is a clearance hole comprising the steps of determining the thickness of the floating part, and reducing the size of the clearance hole tolerance in accordance with such thickness.
CA000541495A 1986-08-04 1987-07-07 Computer integrated gaging system Expired - Lifetime CA1284383C (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US89261686A 1986-08-04 1986-08-04
US06/892,616 1986-08-04
US07/058,687 US4918627A (en) 1986-08-04 1987-06-03 Computer integrated gaging system
US07/058,687 1987-06-03

Publications (1)

Publication Number Publication Date
CA1284383C true CA1284383C (en) 1991-05-21

Family

ID=26737921

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000541495A Expired - Lifetime CA1284383C (en) 1986-08-04 1987-07-07 Computer integrated gaging system

Country Status (6)

Country Link
CA (1) CA1284383C (en)
CH (1) CH678761A5 (en)
DE (1) DE3725347C2 (en)
FR (1) FR2617306B1 (en)
GB (1) GB2194367B (en)
IT (1) IT1228548B (en)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2202659B (en) * 1987-02-23 1991-07-17 Mitutoyo Corp Coordinate measuring instrument and method of generating pattern data concerning shape of work to be measured
DE3806686A1 (en) * 1988-03-02 1989-09-14 Wegu Messtechnik MULTICOORDINATE MEASURING AND TESTING DEVICE
JP2668034B2 (en) * 1989-02-06 1997-10-27 株式会社日立製作所 Construction equipment
FR2669420B1 (en) * 1990-11-21 1993-01-15 Hispano Suiza Sa METHOD FOR CONTROLLING DIMENSIONAL MEASUREMENTS OF FOUNDRY PARTS.
DE4210957A1 (en) * 1992-04-02 1993-10-07 Heidelberger Druckmasch Ag Method for monitoring the transport of printed products in a printing machine
FR2693011B1 (en) * 1992-06-29 1994-09-23 Matra Sep Imagerie Inf Method and device for monitoring a three-dimensional scene, using imagery sensors.
KR940009663A (en) * 1992-10-02 1994-05-20 이토 기요시 Component inspection device and inspection method using the device
CA2106146A1 (en) * 1992-10-16 1994-04-17 Peter R. Doherty, Jr. Video-cad comparator system
GB2274526A (en) * 1993-01-21 1994-07-27 Motorola Inc Verifying geometry of a part
DE19600002C2 (en) * 1995-01-05 2002-01-17 Blaz Santic Integral procedure for on-line geometry testing of workpieces from multiple mold surfaces
JP3455391B2 (en) * 1997-04-22 2003-10-14 株式会社ミツトヨ Measurement support system
DE19805155B4 (en) * 1998-02-10 2007-09-27 Mycrona Gesellschaft für innovative Messtechnik mbH Method for generating control data for coordinate measuring machines
US5978748A (en) * 1998-07-07 1999-11-02 Faro Technologies, Inc. Host independent articulated arm
DE19842855C1 (en) * 1998-09-18 2000-02-24 Benteler Werke Ag Prodn. of test pattern with selected surface faults for non-destructive testing of rod shaped workpieces, esp. tubes with metal body provided with slot on NC machine tool
DE19908706A1 (en) * 1999-02-26 2000-11-02 Werth Messtechnik Gmbh Method for determining the deviations of the geometric dimensions and / or the position of an object from predeterminable target values of the geometric dimensions and / or the position of the object
DE10004663A1 (en) * 2000-02-03 2001-08-09 Iwka Ag Method and apparatus for assisting a person to perform operations requiring accuracy
DE10062615A1 (en) * 2000-12-15 2002-07-04 Lsn Group Gmbh Production testing of workpieces, particularly precision rotation parts, in which all parts are automatically dimensionally tested with the dimensions of each part recorded to provide complete documentation
US6922599B2 (en) 2001-08-13 2005-07-26 The Boeing Company System and method for producing an assembly by directly implementing three-dimensional computer-aided design component definitions
DE10357413A1 (en) * 2003-12-04 2005-07-07 Volkswagen Ag Method for simulating installation and fitting situations for complex products esp. motor vehicles, uses CAD system to generate 3D geometry data
DE102004016077B4 (en) * 2004-03-30 2008-05-08 Daimler Ag Positioning a component of an optical system
US8335666B2 (en) * 2006-09-01 2012-12-18 Intelligent Manufacturing Systems International Three-dimensional model data generating method, and three dimensional model data generating apparatus
US8087004B2 (en) 2006-09-28 2011-12-27 Robert Bosch Gmbh Drawing validation tool
DE102007008699A1 (en) * 2007-02-20 2008-08-21 Deutsche Mechatronics Gmbh Quality control method for manufacturing of part from workpiece, involves analyzing error images, qualitatively evaluating deviations under allocation of causes, and eliminating respective cause
DE102007021809A1 (en) * 2007-04-20 2008-10-23 Werth Messtechnik Gmbh Method and device for dimensional measurement with coordinate measuring machines
JP6161262B2 (en) 2012-11-19 2017-07-12 株式会社ミツトヨ LED lighting method and apparatus for image measuring machine
JP6124570B2 (en) * 2012-11-30 2017-05-10 株式会社ミツトヨ XYZ orthogonal measuring device
EP2857914A1 (en) * 2013-10-01 2015-04-08 Siemens Aktiengesellschaft Method and device for the quality control of the geometry of a component
US10459434B2 (en) * 2014-09-25 2019-10-29 Bombardier Inc. Inspection tool for manufactured components
US20170092003A1 (en) * 2015-09-30 2017-03-30 Schlumberger Technology Corporation Applying Augmented Reality to an Object
US10591288B2 (en) * 2017-06-27 2020-03-17 The Boeing Company System and method for evaluation of used components
CN110781535B (en) * 2018-07-27 2023-03-17 西安海平方网络科技有限公司 Model plotting method and device, computer equipment and readable storage medium
FR3110143B1 (en) * 2020-05-12 2022-05-13 Safran Eng Services Method and system for visual inspection of a mechanical part by an operator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH645564A5 (en) * 1980-09-05 1984-10-15 Heinz Hossdorf METHOD AND DEVICE FOR SHAPING THE SURFACE OF A WORKPIECE.
EP0054596B1 (en) * 1980-12-18 1985-05-29 International Business Machines Corporation Process for inspecting and automatically classifying objects presenting configurations with dimensional tolerances and variable rejecting criteria depending on placement, apparatus and circuits therefor

Also Published As

Publication number Publication date
GB2194367B (en) 1991-01-02
IT8721570A0 (en) 1987-08-03
DE3725347A1 (en) 1988-02-18
IT1228548B (en) 1991-06-20
GB2194367A (en) 1988-03-02
GB8718181D0 (en) 1987-09-09
DE3725347C2 (en) 1994-03-10
FR2617306A1 (en) 1988-12-30
FR2617306B1 (en) 1994-01-21
CH678761A5 (en) 1991-10-31

Similar Documents

Publication Publication Date Title
CA1284383C (en) Computer integrated gaging system
AU598284B2 (en) Computer integrated gaging system
US6161079A (en) Method and apparatus for determining tolerance and nominal measurement values for a coordinate measuring machine
US5627771A (en) Apparatus and method for evaluating shape of three-dimensional object
US6611786B1 (en) Apparatus and method concerning analysis and generation of part program for measuring coordinates and surface properties
US7062352B2 (en) Method for displaying tool locus in NC data and method for analyzing NC data
EP0697639A1 (en) Method for checking interference, method for checking processing program, and method for checking processing propriety
CN107429997B (en) Method and apparatus for determining the dimensional characteristic of measurement object
CN103106076A (en) Machine vision inspection system and method for editing part program on the machine vision inspection system
CN109143979B (en) Machining control method and system of numerical control equipment, readable storage medium and equipment
US5257204A (en) Automatic measuring apparatus for measuring a three-dimensional contour
US6978219B2 (en) Measurement data collection apparatus
CN112424564A (en) Method and device for generating a test plan for testing a measurement object, method and device for testing a measurement object, and computer program product
US5696687A (en) Apparatus and method for graphically interfacing operator with programmable fixture devices
EP1028307B1 (en) Apparatus and method for maintenance of instrument for measuring coordinates and surface properties
EP1400881A2 (en) Method and apparatus for supporting measurement of object to be measured
GB2230363A (en) Tolerance analysis in cad system
KR20040055703A (en) Apparatus for integrated tool manufacture and method therefore
JP2000292156A (en) Method for measuring effective screw hole depth
US5737218A (en) System with graphical interface for modifying position of programmable fixture devices
KR100264968B1 (en) Fixture and workpiece measuring device and method
Traband et al. CAD-directed Programming of a Vision-based Inspection System
JP7362468B2 (en) Machined surface shape prediction device and method
KR19980044679A (en) CNC type coordinate measuring method of machining center
CN113365047A (en) Method and device for detecting repeated target-grabbing precision of camera and camera system

Legal Events

Date Code Title Description
MKLA Lapsed