Patent Publication Number: US-7225396-B2

Title: System and method for generating a report on an object

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a system and method for analyzing and processing data on an object, and particularly to a system and method for generating a report by combining measurement data and design dimensions of the object. 
   2. General Background 
   In recent years, reverse engineering has been applied in a wide range of industrial design and manufacturing fields. Reverse engineering is mainly used for obtaining geometrical data on an object by analyzing and processing point cloud data on the object. Then a user can manufacture the object according to the geometrical data. 
   U.S. Pat. No. 5,621,648 discloses an apparatus and method for creating three-dimensional modeling data on an object. Referring to  FIG. 24 , the apparatus comprises a material removal means  2401 , a data requisition means  2403  and an object shuttle  2405 . When the object shuttle  2405  transmits the object (not shown) to a first location  2407 , the material removal means  2401  cuts the object to provide an exposed surface thereof. Then the object shuttle  2405  transmits the object to a second location  2409 . The data requisition means  2403  acquires data on the exposed surface. Subsequently, the object is transmitted back to the first location  2407  and back to the second location  2409  repeatedly, for successive cycles of cutting the object and acquiring data. After each exposed surface is provided, geometrical data on it is obtained, processed and recorded. By combining the geometrical data on each exposed surface, a three-dimensional electronic domain representation of the object is yielded. 
   However, the user sometimes wants to know the difference between the geometry of the manufactured object and the theoretical geometry of the object. Computer aided verification (CAV) can provide such information. CAV can compare a point cloud model of the object with a design model thereof, and mark difference ranges in different colors. CAV can let the user know where and how the manufactured object is different from the design model. 
   Even though CAV can indicate difference ranges between the manufactured object and the design model, the user sometimes needs to know exact differences. This is because the user may want to improve the quality of the manufactured object by changing production criteria and procedures. Current technology does not enable the user to obtain measurements of the manufactured object and juxtapose the measurements with design dimensions of the object for precise comparison. 
   SUMMARY OF THE INVENTION 
   A general object of the present invention is to provide a system for automatically generating a report on an object by combining measurement data and design dimensions of the object. 
   Another object of the present invention is to provide a method for automatically generating a report on an object by combining measurement data and design dimensions of the object. 
   In order to accomplish the above-mentioned objects, the present invention provides a system and method for automatically generating a report on an object. A preferred embodiment of the system comprises: a form management module which comprises a form receiving sub-module for receiving report templates provided by users, and a form classifying sub-module for classifying the report templates; a report processing module which comprises a column setting sub-module for setting columns of the report templates, and a report generating sub-module for obtaining data on the object and for generating reports by using the data and the columns of the report templates; and a column management module for storing columns set by the column setting sub-module. 
   A preferred embodiment of the method of the present invention comprises the steps of: (i) invoking a template of a report to be generated; (ii) ascertaining whether columns of the invoked template have been set; (iii) ascertaining whether data on the object for generating the report exist, if the columns of the invoked template have been set; (iv) invoking the columns of the invoked template, if the data on the object for generating the report exist; (v) outputting the data on the object to respective columns of the invoked template. 
   Other objects, advantages and novel features of the present invention will be drawn from the following detailed description of preferred embodiments of the present invention with the attached drawings, in which: 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a schematic diagram of infrastructure of a system for analyzing and processing data on an object automatically, in accordance with a preferred embodiment of the present invention; 
       FIG. 2  is a schematic diagram of details of sub-modules of an object measuring module of the system of  FIG. 1 ; 
       FIG. 3  is a schematic diagram of infrastructure of a dimension capturing subsystem of the system of  FIG. 1 ; 
       FIG. 4  is a schematic diagram of details of modules of a report generating subsystem of the system of  FIG. 1 ; 
       FIG. 5  is a schematic diagram of details of modules of a measurement data outputting subsystem of the system of  FIG. 1 ; 
       FIG. 6  is a flow chart of analyzing and processing data on an object in accordance with a preferred embodiment of the present invention; 
       FIG. 7  is a flow chart of obtaining dimensions of an object in accordance with the preferred embodiment of the present invention; 
       FIG. 8  is a flow chart of gathering information when a graphic file processing center obtains design dimensions from a computer aided design (CAD) drawing, in accordance with the preferred embodiment of the present invention; 
       FIG. 9  is a flow chart of retrieving attributes of figure units in the CAD drawing when the graphic file processing center obtains design dimensions from the CAD drawing, in accordance with the preferred embodiment of the present invention; 
       FIG. 10  is a flow chart of determining a relationship of figure numbers and design dimensions when the graphic file processing center obtains design dimensions from the CAD drawing, in accordance with the preferred embodiment of the present invention; 
       FIG. 11  is a flow chart of details of one of the steps of  FIG. 10 , namely calculating unit locations and outputting figure numbers; 
       FIG. 12  is a flow chart of details of another of the steps of  FIG. 10 , namely assigning default tolerances and outputting design dimensions; 
       FIG. 13  is a flow chart of details of still another of the steps of  FIG. 10 , namely calculating minimum distances between each figure number and any design dimension; 
       FIG. 14  is a flow chart of outputting data when the graphic file processing center obtains design dimensions from the CAD drawing, in accordance with the preferred embodiment of the present invention; 
       FIG. 15  is a flow chart of generating a report on an object, in accordance with the preferred embodiment of the present invention; 
       FIG. 16  is a flow chart of outputting measurement data on an object to a graphic file of the object, in accordance with the preferred embodiment of the present invention; 
       FIG. 17  is a flow chart of details of one of the steps of  FIG. 16 , namely obtaining relevant data; 
       FIG. 18  is a flow chart of details of another of the steps of  FIG. 16 , namely executing one or more process programs for outputting measurement data to a preliminary CAD drawing; 
       FIG. 19  is a flow chart of details of one of the steps of  FIG. 18 , namely invoking various process programs according to a user&#39;s demands regarding a manner in which measurement data is to be output; 
       FIG. 20  is a flow chart of details of another of the steps of  FIG. 18 , namely changing non-text format measurement data into text format measurement data that is in accordance with a format of a CAD drawing; 
       FIG. 21  is a flow chart of details of still another of the steps of  FIG. 18 , namely retrieving attributes of figure units in the CAD drawing; 
       FIG. 22  is a flow chart of details of yet another of the steps of  FIG. 18 , namely determining measurement data to be output; 
       FIG. 23  is a flow chart of details of still yet another of the steps of  FIG. 18 , namely outputting measurement data to the CAD drawing; and 
       FIG. 24  is a schematic diagram of infrastructure of a conventional apparatus for creating three-dimensional modeling data on an object. 
   

   DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION 
   Several items described hereinafter are defined as follows: 
   ‘Figure unit’ means an object forming a figure, such as a line, a circle or an angle, or a labeled design dimension of an object. 
   ‘Figure number’ means a serial number of a figure unit that represents a labeled design dimension of an object. 
   ‘Unit location’ means a general location of a figure number in a figure. 
   ‘Design dimension’ means a number labeled beside a figure unit for representing design geometry of the figure unit, or for representing a locational relationship of figure units relative to each other. 
   ‘Unit calculating area’ means an area in which figure units are taken into account for calculation. A unit calculating area can be defined by clicking a first corner and another corner in a computer graphic file. 
   ‘Data on an object’ comprise measurement data on an object and design dimensions of the object. 
     FIG. 1  is a schematic diagram of infrastructure of a system for analyzing and processing data on an object automatically. This system incorporates a system for automatically generating a report on an object in accordance with a preferred embodiment of the present invention. The system for analyzing and processing data can support the method of the disclosed subject matter. The system for analyzing and processing measurement data comprises an automatic scanning and measuring subsystem  100 , a graphic file receiving apparatus  150 , a dimension capturing subsystem  160 , a report generating subsystem  170 , and a measurement data outputting subsystem  180 . 
   The automatic scanning and measuring subsystem  100  comprises a point cloud receiving module  110 , a file changing module  120 , an object assessing module  130 , and an object measuring module  140 . The point cloud receiving module  110  is used for receiving point cloud data on an object from a scanner. The file changing module  120  is used for converting the point cloud data into files that can be identified and processed by a computer. For example, the file changing module  120  can change Initial Graphics Exchange Specification (IGES) format point cloud data into text format files that can be processed by the computer. The object assessing module  130  is used to ascertain whether there are programs available for measuring the object. The object measuring module  140  is used for obtaining measurement data on the object, if the object assessing module  130  determines there are programs available for measuring the object. The programs process the text format files to obtain the measurement data. The object measuring module  140  comprises a program storing sub-module  141 , and an executing sub-module  142 . 
   The graphic file receiving apparatus  150  is used for receiving graphic files of objects provided by users. In the preferred embodiment of the present invention, each graphic file is a computer aided design (CAD) drawing. The dimension capturing subsystem  160  is used for obtaining design dimensions of figure units in the graphic file received by the graphic file receiving apparatus  150 . The report generating subsystem  170  can create different forms of reports according to requests made by users. Such reports include the measurement data obtained by the object measuring module  140 , and the design dimensions obtained by the dimension capturing subsystem  160 . The measurement data outputting subsystem  180  is used to output the measurement data obtained by the object measuring module  140  to the graphic file received by the graphic file receiving apparatus  150 . 
     FIG. 2  is a schematic diagram of details of sub-modules of the object measuring module  140 . The object measuring module  140  comprises the program storing sub-module  141 , and the executing sub-module  142 . The program storing sub-module  141  comprises a geometry calculating program  210 , a mending program  220 , and a unit calculating program  230 . The executing sub-module  142  comprises an executing program  240 , and an outputting program  250 . The executing program  240  is used for invoking programs in the program storing sub-module  141 , and executing the programs to generate measurement data on the object. The outputting program  250  is used for transmitting the generated measurement data to the report generating subsystem  170  and the measurement data outputting subsystem  180 . 
     FIG. 3  is a schematic diagram of infrastructure of the dimension capturing subsystem  160 . The dimension capturing subsystem  160  comprises a graphic file management center  3100 , a graphic file processing center  3200 , and a dimension management center  3300 . The graphic file management center  3100  includes a graphic file receiving module  3110 , a graphic file classifying module  3120 , and a graphic file updating module  3130 . The graphic file receiving module  3110  is used for obtaining a graphic file from the graphic file receiving apparatus  150 . The graphic file classifying module  3120  is used for classifying the obtained graphic file according to different companies or different drawing tools. The graphic file updating module  3130  is used for determining whether the obtained graphic file meets a user&#39;s demands, especially the user&#39;s version demand. The version is regulated according to points in time at which the obtained graphic file is drawn and modified. 
   The graphic file processing center  3200  is the core of the dimension capturing subsystem  160 , and comprises a data collecting module  3210  and a data outputting module  3220 . The data collecting module  3210  comprises an information receiving sub-module  3211 , an attribute obtaining sub-module  3212 , a dimension obtaining sub-module  3213 , and a dimension outputting sub-module  3214 . 
   The information receiving sub-module  3211  is used to receive information input by the user. The input information comprises a first piece of information input from a user interface, and a second piece of information input from the graphic file. The first piece of information comprises dimension tolerance, unit location, dimension unit, and storing path. The dimension tolerance can be assigned to any measurement data obtained by the dimension capturing subsystem  160 . The dimension unit shows which system of measurement is employed: metric or imperial. The second piece of information comprises figure number, design dimension, unit calculating area, and scale. 
   The attribute obtaining sub-module  3212  is used to select from the graphic file those figure units whose attributes are in accordance with a pre-requested attribute, and to output the attributes of the selected figure units to an attribute sheet in a Microsoft Excel electronic book. In the preferred embodiment of the present invention, the pre-requested attribute is that any classification attribute is digital. 
   The dimension obtaining sub-module  3213  is used to determine design dimensions which are respectively closest to figure numbers in the graphic file, and to output the design dimensions and corresponding figure numbers to a design dimension sheet in the Excel book. 
   The dimension outputting sub-module  3214  is used to process the design dimensions obtained by the dimension obtaining sub-module  3213 . The dimension outputting sub-module  3214  comprises an information collecting program, a format changing program, an information filtering program, and an information storing program. The information collecting program is used to combine the tolerances, figure numbers and design dimensions into one sheet in the Excel book. The format changing program is used to convert CAD format dimensions into text format dimensions. The information filtering program is used to delete information that is not needed, such as figure numbers and design dimensions in a buffer. 
   The data outputting module  3220  is used to output the dimensions obtained by the dimension obtaining sub-module  3213  to the dimension management center  3300 . The data outputting module  3220  comprises a storing format selection sub-module  3221 , and a data outputting sub-module  3222 . The storing format selection sub-module  3221  is used to determine a particular format in which the obtained dimensions are to be stored. Predetermined formats are stored in a format database (not shown). The data outputting sub-module  3222  is used to output measurements generated by the dimension outputting sub-module  3214  to the dimension management center  3300 . 
   The dimension management center  3300  comprises a dimension receiving module  3310 , a dimension checking module  3320 , and a dimension storing module  3330 . The dimension receiving module  3310  is used to receive the design dimensions from the graphic file processing center  3200 . The dimension checking module  3320  is used to check whether the design dimensions are valid. The dimension storing module  3330  is used to store the design dimensions in the format determined by the storing format selection sub-module  3221 . 
     FIG. 4  is a schematic diagram of details of modules of the report generating subsystem  170 . The report generating subsystem  170  comprises a form management module  410 , a report processing module  420 , and a column management module  430 . The form management module  410  comprises a form receiving sub-module  411 , and a form classifying sub-module  412 . The form receiving sub-module  411  is used for receiving report templates provided by users, and for receiving data used for generating reports. Such data comprise the measurement data generated by the automatic scanning and measuring subsystem  100 , and the design dimensions obtained by the dimension capturing subsystem  160 . The form classifying sub-module  412  is used for classifying the report templates. For example, the report templates may be classified according to different companies. 
   The report processing module  420  comprises a column setting sub-module  421 , and a report generating sub-module  422 . The column setting sub-module  421  is used to set columns for a report to be generated. The columns comprise figure number, design dimension, tolerance, and measurement. The report generating sub-module  422  is used to generate a report according to the template thereof. 
   The column management module  430  is used for storing columns set by the column setting sub-module  421 . When generating a report, the report generating sub-module  422  can invoke columns in the column management module  430 . 
     FIG. 5  is a schematic diagram of details of modules of the measurement data outputting subsystem  180 . The measurement data outputting subsystem  180  comprises a data obtaining module  510 , a data processing module  520 , and a graphic file management module  530 . The data obtaining module  510  comprises a format changing sub-module  511 , and a graphic file processing sub-module  512 . The format changing sub-module  511  is used for outputting the measurement data generated by the automatic scanning and measuring subsystem  100  to the Excel book. The graphic file processing sub-module  512  is used for opening a graphic file to have measurement data input therein. 
   The data processing module  520  is used to output the measurement data to the graphic file. The data processing module  520  comprises an information gathering sub-module  521 , a program invoking sub-module  522 , a port capturing sub-module  523 , an attribute changing sub-module  524 , an attribute retrieving sub-module  525 , an analyzing and calculating sub-module  526 , and a dimension data outputting sub-module  527 . The information gathering sub-module  521  is used for collecting data input by a user, which data can assist outputting of the measurement data to the graphic file. The input data include figure number column, design dimension column, tolerance column, manner in which the measurement data is output, color and font of measurement data, and color of any measurement that exceeds a design tolerance of a corresponding figure unit. The program invoking sub-module  522  is used for invoking various process programs. Such process programs are invoked according to the input data collected by the information gathering sub-module  521  regarding the manner in which the measurement data is output. The port capturing sub-module  523  is used for obtaining a port connecting the measurement data and the graphic file. The attribute changing sub-module  524  is used for changing any non-text format measurement data into text format measurement data. The attribute retrieving sub-module  525  is used to retrieve attributes of figure units in the graphic file. The analyzing and calculating sub-module  526  is used to connect the measurement data in the Excel book with the retrieved attributes, and thereby determine which measurement data should be output. The dimension data outputting sub-module  527  is used for outputting the determined measurement data to the graphic file. 
   The graphic file management module  530  comprises a graphic file receiving sub-module  531 , a graphic file classifying sub-module  532 , and a graphic file storing sub-module  533 . The graphic file receiving sub-module  531  is used for receiving graphic files that have had measurement data input therein. The graphic file classifying sub-module  532  is used to classify the graphic files that have had measurement data input therein. For example, such classification may be according to different companies. The graphic file storing sub-module  533  is used to store the graphic files that have had measurement data input therein. 
     FIG. 6  is a flow chart of analyzing and processing measurement data on an object in accordance with a preferred embodiment of the present invention. Firstly, in step S 601 , the point cloud receiving module  110  receives point cloud data on the object. In step S 603 , the file changing module  120  changes the point cloud data into formats that can be processed by the computer. Generally, the point cloud data are in Initial Graphics Exchange Specification (IGES) format. In the preferred embodiment of the present invention, the file changing module  120  changes the IGES format point cloud data into text format data. In step S 605 , the object assessing module  130  ascertains whether the object has been scanned, according to the text format data. If the object has been scanned, then the object assessing module  130  shows whether there are measuring programs available for measuring the object in the program storing sub-module  141 . If there are measuring programs available, then in step S 607  the executing program  240  invokes the measuring programs to measure the object. In step S 611 , the executing program  240  generates measurement data on the object. If the object has not been scanned, then in step S 609  the object assessing module  130  advises the user to design measuring programs for the object. After the measuring programs are designed and written, in step S 607  the executing program  240  invokes them to measure the object. 
   The measurement data generated at step S 611  are stored in a format which can be identified by the computer. In the preferred embodiment of the present invention, the measurement data are stored in a measurement sheet in the Excel book. The stored measurement data can be used by the report generating subsystem  170  for generating a dimension report on the object. The stored measurement data can also be used by the measurement data outputting subsystem  180  for outputting to a graphic file of the object. 
   In step S 613 , the graphic file receiving apparatus  150  receives a graphic file of the object. In the preferred embodiment of the present invention, the graphic file of the object is a CAD drawing. The graphic file is transmitted to the graphic file management center  3100  and to the data obtaining module  510 . The graphic file can be processed by the dimension capturing subsystem  160 . Thus, in step S 615 , design dimensions of the object are obtained. Also, in step S 617 , measurement data on the object is output to the graphic file by the measurement data outputting subsystem  180 . In step S 619 , a dimension report on the object is generated by combining the design dimensions of the object obtained at step S 615  and the measurement data on the object obtained at step S 611 . Finally, in step S 621 , the dimension report and the graphic file that has had measurement data input therein are stored. 
     FIG. 7  is a flow chart of obtaining design dimensions of an object in accordance with the preferred embodiment of the present invention. Firstly, in step S 701 , the graphic file receiving module  3110  receives a CAD drawing of the object from the graphic file receiving apparatus  150 . In step S 703 , the graphic updating module  3130  determines whether the CAD drawing of the object meets the user&#39;s version demand. If the CAD drawing does not meet the user&#39;s version demand, then in step S 705  the graphic file updating module  3130  advises the user to modify the CAD drawing. If the CAD drawing meets the user&#39;s version demand, then in step S 707  the graphic file processing center  3200  processes the CAD drawing to obtain the design dimensions of the object. 
   The design dimensions of the object are received by the dimension receiving module  3310 . In step S 709 , the design dimensions are checked by the dimension checking module  3320 . In step S 711 , the dimension checking module  3320  determines whether the design dimensions are error-free. If the design dimensions have any errors, then in step S 712  the dimension checking module  3320  advises the user to correct the error(s). If and when the design dimensions are error-free, then in step S 713  the design dimensions are stored by the dimension storing module  3330 . 
     FIG. 8  is a flow chart of gathering information when the graphic file processing center  3200  obtains design dimensions from a CAD drawing, in accordance with the preferred embodiment of the present invention. In step S 801 , relevant information is gathered. This is performed mainly by the information receiving sub-module  3211 . The relevant information includes the first piece of information comprising dimension tolerance, unit location, dimension unit and storing path; and the second piece of information comprising figure number, design dimension, unit calculating area and scale. In step S 803 , the information receiving sub-module  3211  determines whether all the gathered information is valid. If any of the gathered information is invalid, then in step S 805  the information receiving sub-module  3211  advises the user to re-input the information. If and when all the gathered information is valid, then in step S 807  the information receiving sub-module  3211  stores the gathered information. 
     FIG. 9  is a flow chart of retrieving attributes of figure units in a CAD drawing when the graphic file processing center  3200  obtains design dimensions from the CAD drawing, in accordance with the preferred embodiment of the present invention. In step S 901 , the attribute obtaining sub-module  3212  retrieves a figure unit in a unit calculating area input by the user. In step S 903 , the attribute obtaining sub-module  3212  determines whether the attributes of the figure unit are valid insofar as they are in accordance with a pre-requested attribute. In the preferred embodiment of the present invention, the pre-requested attribute is that any classification attribute is digital. Figure units whose classification attributes are digital are figure numbers and design dimensions. If the classification attributes of the figure unit are not digital, then the attribute obtaining sub-module  3212  goes back to step S 901  to retrieve another figure unit in the unit calculating area. If the classification attributes of the figure unit are digital, then in step S 905  the attribute obtaining sub-module  3212  outputs relevant attributes of the figure unit to the attribute sheet of the Excel book. The relevant attributes comprise X-axis and Y-axis coordinate values of the figure unit. In step S 907 , the attribute obtaining sub-module  3212  checks whether there is another figure unit in the unit calculating area. If there is another figure unit, then the attribute obtaining sub-module  3212  retrieves attributes of that figure unit according to step S 901  and the foregoing applicable steps. If and when there is no other figure unit, the procedure is completed. 
     FIG. 10  is a flow chart of determining a relationship of figure numbers and design dimensions when the graphic file processing center  3200  obtains design dimensions from a CAD drawing, in accordance with the preferred embodiment of the present invention. In step S 1001 , the dimension obtaining sub-module  3213  calculates unit locations of figure units in a unit calculating area, to determine whether the figure numbers are in a predetermined figure area. The dimension obtaining sub-module  3213  outputs any figure numbers that are in the predetermined figure area to a figure number sheet in the Excel book. In step S 1003 , the dimension obtaining sub-module  3213  checks whether all design dimensions have tolerances, assigns a default tolerance to those design dimensions having no tolerance, and outputs the design dimensions to a tolerance sheet in the Excel book. The default tolerance is input by the user beforehand, and is obtained by the information receiving sub-module  3211 . In step S 1005 , the dimension obtaining sub-module  3213  retrieves the attributes of figure numbers and design dimensions. The attributes comprise X-axis and Y-axis coordinate values of the figure numbers, and X-axis and Y-axis coordinate values of the design dimensions. In step S 1007 , the dimension obtaining sub-module  3213  calculates the minimum distances between each figure number and any design dimension. In step S 1009 , the dimension obtaining sub-module  3213  outputs each minimum distance and related figure number and design dimension to a minimum distance sheet in the Excel book. 
     FIG. 11  is a flow chart of details of step S 1001  of  FIG. 10 , namely calculating unit locations and outputting figure numbers. In step S 1101 , the dimension obtaining sub-module  3213  retrieves the predetermined figure area input by the user. In step S 1103 , the dimension obtaining sub-module  3213  calculates a coordinate range of the figure area. In step S 1105 , the dimension obtaining sub-module  3213  generates a unit location logic for determining whether a figure number lies in the figure area. In step S 1107 , the dimension obtaining sub-module  3213  retrieves a coordinate of a figure number from the attribute sheet in the Excel book. In step S 1109 , the dimension obtaining sub-module  3213  uses the unit location logic to determine whether the figure number lies in the figure area. If the figure number does not lie in the figure area, then the dimension obtaining sub-module  3213  proceeds directly to step S 1113  described below. If the figure number lies in the figure area, then in step S 1111  the dimension obtaining sub-module  3213  outputs the figure number to the figure number sheet in the Excel book, and then proceeds to step S 1113 . In step S 1113 , the dimension obtaining sub-module  3213  ascertains whether there is another figure number in the attribute sheet of the Excel book. If there is another figure number, then in step S 1107  again, the dimension obtaining sub-module  3213  retrieves a coordinate of the other figure number from the attribute sheet in the Excel book, and proceeds according to the applicable above-described procedure. If and when there is no other figure number, the procedure is completed. 
     FIG. 12  is a flow chart of details of step S 1003  of  FIG. 10 , namely assigning default tolerances and outputting design dimensions. Firstly, in step S 1201 , the dimension obtaining sub-module  3213  retrieves design dimensions of figure units from the attribute sheet of the Excel book. In step S 1203 , the dimension obtaining sub-module  3213  ascertains whether all the design dimensions have tolerances. If a design dimension has a tolerance, then in step S 1209  the dimension obtaining sub-module  3213  outputs the design dimension and accompanying tolerance to the tolerance sheet in the Excel book. If a design dimension does not have a tolerance, then in step S 1205  the dimension obtaining sub-module  3213  retrieves the default tolerance. In step S 1207 , the dimension obtaining sub-module  3213  assigns the default tolerance to the design dimension. Finally, in step S 1209 , all design dimensions are output to the tolerance sheet in the Excel book with their respective accompanying tolerances. 
     FIG. 13  is a flow chart of details of step S 1007  of  FIG. 10 , namely calculating minimum distances between each of figure numbers and any design dimension. In step  51301 , the dimension obtaining sub-module  3213  distributes figure units representing figure numbers, X-axis coordinate values thereof, and Y-axis coordinate values thereof to three buffers respectively. The dimension obtaining sub-module  3213  also distributes figure units representing design dimensions, X-axis coordinate values thereof, and Y-axis coordinate values thereof to another three buffers respectively, In step SI  303 , the dimension obtaining sub-module  3213  calculates distances between each figure unit representing a figure number and other figure units representing design dimensions according to the formula ‘SQR((a−b) 2 +(d−c) 2 ).’ In this formula, SQR means the square root of, ‘a’ represents an X-axis coordinate value of a figure unit representing a measured figure number, “b” represents an X-axis coordinate value of a figure unit representing a design dimension. “c” represents a Y-axis coordinate value of the figure unit representing the design dimension, and “d” represents a Y-axis coordinate value of the figure unit representing the measured figure number. In step S 1305 , the dimension obtaining sub-module  3213  selects minimum distances between each figure unit representing a figure number and other figure units representing design dimensions. In step S 1307 , the dimension obtaining sub-module  3213  checks whether there is more than one minimum distance between any figure unit representing a figure number and other figure units representing design dimensions. If there is more than one minimum distance between any figure unit representing a figure number and other figure units representing design dimensions, then in step S 1309 , the dimension obtaining sub-module  3213  compares distances between the figure unit representing the figure number and other figure units representing design dimensions in the X-axis direction or in the Y-axis direction. Instep  51311 , the dimension obtaining sub-module  3213  selects a minimum distance from the compared distances. After all minimum distances between figure units representing a figure number and other figure units representing design dimensions are compared and selected, in step S 1313 , the dimension obtaining sub-module  3213  outputs all the minimum distances to the minimum distance sheet in the Excel book. 
     FIG. 14  is a flow chart of outputting data when the graphic file processing center  3200  obtains design dimensions from a CAD drawing, in accordance with the preferred embodiment of the present invention. In step S  1401 , the dimension obtaining sub-module  3213  transmits data in different sheets to the design dimension sheet in the Excel book. Such different sheets include figure number sheets, and tolerance sheets. In step S 1403 , the dimension obtaining sub-module  3213  changes data from CAD format into Excel format. In step S 1405 , the dimension obtaining sub-module  3213  filters the data by deleting data that are not needed. For example, data in memory are deleted. In step S 1407 , the dimension obtaining sub-module  3213  assigns a storing path of the Excel book comprising the design dimension sheet. 
     FIG. 15  is a flow chart of generating a report on an object in accordance with the preferred embodiment of the present invention. Firstly, in step S 1501 , the report generating sub-module  422  invokes a report template provided by a user beforehand. The report template may, for example, correspond to a company which produces the object. In step S 1503 , the report generating sub-module  422  ascertains whether all columns of the report template have been set. If all the columns have not been set, then in step S 1505  the column setting sub-module  421  sets unset columns, and stores all such set columns in the column management module  430 . If and when all the columns have been set, in step S 1507  the report generating sub-module  422  checks whether measurement data on the object and design dimensions of the object exist. If either or both of the measurement data and the design dimensions do not exist, then in step S 1509  the report generating subsystem  170  informs the user accordingly. If both the measurement data and the design dimensions exist, then in step S 1511  the report generating sub-module  422  invokes columns of the report in the column management module  430 . Such columns include the measurement data column, design dimension column, and tolerance column. In step S 1513 , the report generating sub-module  422  fills in the columns with the measurement data and the design dimensions, thereby generating a report according to the report template. Finally, in step S 1515  the generated report is stored. 
     FIG. 16  is a flow chart of outputting measurement data on an object to a graphic file of the object, in accordance with the preferred embodiment of the present invention. Firstly, in step S 1601 , the data obtaining module  510  obtains relevant data. The relevant data include a preliminary CAD drawing, and measurement data to be output to the preliminary CAD drawing. In step S 1603 , the data processing module  520  executes one or more process programs for outputting the measurement data to the preliminary CAD drawing. In step S 1605 , the data processing module  520  outputs the CAD drawing to the graphic file management module  530 . In step S 1607 , the graphic file management module  530  checks the CAD drawing. In step S 1609 , the graphic file management module  530  determines whether the CAD drawing has errors. If the CAD drawing has errors, then in step S 1611  the graphic file management module  530  advises the user to correct the errors. If and when the CAD drawing has no errors, in step S 1613  the CAD drawing is stored in the graphic file storing sub-module  533 . 
     FIG. 17  is a flow chart of details of step S 1601  of  FIG. 16 , namely obtaining relevant data. After receiving the preliminary CAD drawing and the measurement data, in step S 1701  the format changing sub-module  511  outputs the measurement data to the measurement sheet of the Excel book. In step S 1703 , the graphic file processing sub-module  512  opens the preliminary CAD drawing. In step S 1705 , the graphic file processing sub-module  512  checks whether the preliminary CAD drawing meets the version demand. If the preliminary CAD drawing does not meet the version demand, then in step S 1707  the graphic file processing sub-module  512  advises the user to change the version of the preliminary CAD drawing. If and when the preliminary CAD drawing meets the version demand, the procedure is completed. 
     FIG. 18  is a flow chart of details of step S 1603  of  FIG. 16 , namely executing one or more process programs for outputting the measurement data to the preliminary CAD drawing. Firstly, in step S 1801 , the information gathering sub-module  521  obtains the measurement data from the measurement sheet of the Excel book and the preliminary CAD drawing from the data obtaining module  510 , and also other information input by the user. The other information input by the user comprises a column recording the measurement data, a column recording the figure number process programs to be invoked, color of lead lines, color of measurement data, and color of any measurement that exceeds a design tolerance. In step S 1803 , the program invoking sub-module  522  invokes various process programs according to the user&#39;s demands regarding a manner in which measurement data is to be output. In the preferred embodiment of the present invention, when an object is measured, it is measured many times in order to improve precision of measurement. Thus many groups of measurement data on the object are created. According to the particular demand of the user, the measurement data outputting subsystem  180  can output one group of measurement data on the object to the CAD drawing of the object, or output all groups of measurement data on the object to the CAD drawing, or output a group of measurement data which is most different from design dimensions of the object to the CAD drawing. In the preferred embodiment of the present invention, three process programs are provided according to the foregoing three particular demands: a one input/one output program, a multiple input/multiple output program, and a multiple input/worst output program. The one input/one output program is used for outputting one group of measurement data on an object to the CAD drawing. The multiple input/multiple output program is used for outputting more than one group of measurement data on an object to the CAD drawing. The multiple input/worst output program is used for outputting a group of measurement data which is most different from design dimensions of the object to the CAD drawing. Then in step S 1805  the port capturing sub-module  523  obtains a communication port between the measurement data and the CAD drawing, through which the measurement data can be output to the CAD drawing. In step S 1807 , the attribute changing sub-module  524  changes non-text format measurement data into text format measurement data that is in accordance with a format of the CAD drawing. In step S 1809 , the attribute retrieving sub-module  525  retrieves attributes of figure units in the CAD drawing. In step S 1811 , the analyzing and calculating sub-module  526  obtains links between data in the measurement sheet of the Excel book and the attributes of the figure units in the CAD drawing, and determines measurement data to be output to the CAD drawing. Finally, in step S 1813 , the dimension data outputting sub-module  527  outputs the determined measurement data to the CAD drawing. 
     FIG. 19  is a flow chart of details of step S 1803  of  FIG. 18 , namely invoking various process programs according to the user&#39;s demands regarding a manner in which measurement data is to be output. Firstly, in step S 1901 , the program invoking sub-module  522  determines whether the user wants to input one group of measurement data and output one group of measurement data, according to the information input by the user. If the user wants to input one group of measurement data and output one group of measurement data, then in step S 1903  the program invoking sub-module  522  invokes the one input/one output program. Otherwise, in step S 1905  the program invoking sub-module  522  determines whether the user wants to input more than one group of measurement data and output more than one group of measurement data, according to the information input by the user. If the user wants to input more than one group of measurement data and output more than one group of measurement data, then in step S 1907  the program invoking sub-module  522  invokes the multiple input/multiple output program. Otherwise, in step S 1909  the program invoking sub-module  522  determines whether the user wants to input more than one group of measurement data and output a group of measurement data which is most different from design dimensions (“worst”), according to the information input by the user. If the user wants to input more than one group of measurement data and output a group of measurement data which is most different from design dimensions, then in step S 1911  the program invoking sub-module  522  invokes the multiple input/worst output program. Otherwise, in step S 1913  the program invoking sub-module  522  advises the user to input relevant information which the process programs can process. 
     FIG. 20  is a flow chart of details of step S 1807  of  FIG. 18 , namely changing non-text format measurement data into text format measurement data that is in accordance with a format of the CAD drawing. Firstly, in step S 2001 , the attribute changing module  524  retrieves columns recording the measurement data and the figure numbers. In step S 2003 , the attribute changing module  524  sets up a loop from one to infinity, and operates the loop. In step S 2005 , for each loop value, the attribute changing module  524  determines whether a value in the current figure number column whose number is equal to the loop value is void. If the value is void, then the loop is terminated. If the value is not void, then in step S 2007  the attribute changing sub-module  524  retrieves the attributes of the measurement datum corresponding to the figure number. In step S 2009 , the attribute changing sub-module  524  determines whether a classification attribute of the measurement datum is text. If the classification attribute of the measurement datum is text, then the attribute changing sub-module  524  runs a next loop according to step S 2003  and the following applicable steps. Otherwise, in step S 2011  the attribute changing sub-module  524  changes a format of the measurement datum into text format. In step S 2013 , the attribute changing sub-module  524  determines whether a value in a next figure number column whose number is equal to the loop value is void. If the value is not void, then the attribute changing sub-module  524  returns to step S 2007  and continues to operate according to the applicable above-described steps. If the value is void, then the loop is terminated. 
     FIG. 21  is a flow chart of details of step S 1809  of  FIG. 18 , namely retrieving attributes of figure units in the CAD drawing. Firstly, in step S 2101 , the attribute retrieving sub-module  525  sets up a figure unit loop for enumerating all figure units in the CAD drawing, and then operates the loop. When a figure unit is enumerated, in step S 2103  the attribute retrieving sub-module  525  determines whether the figure unit is a block. If the figure unit is a block, then in step S 2105  the attribute retrieving sub-module  525  retrieves block attributes, an X-axis ordinate value and a Y-axis ordinate value of the figure unit. If the figure unit is not a block, then in step S 2107  the attribute retrieving sub-module  525  determines whether the figure unit is single-line text. If the figure unit is single-line text, then in step S 2105  the attribute retrieving sub-module  525  retrieves single-line text attributes, an X-axis ordinate value and a Y-axis ordinate value of the figure unit. If the figure unit is not single-line text, then in step S 2109  the attribute retrieving sub-module  525  determines whether the figure unit is multi-line text. If the figure unit is multi-line text, then in step S 2105  the attribute retrieving sub-module  525  retrieves multi-line text attributes, an X-axis ordinate value and a Y-axis ordinate value of the figure unit. If the figure unit is not multi-line text, then in step S 2111  the attribute retrieving sub-module  525  determines whether the figure unit is marked dimensions. The marked dimensions comprise radial dimensions, diametric dimensions and angular dimensions. If the figure unit is marked dimensions, then in step S 2105  the attribute retrieving sub-module  525  retrieves marked dimension attributes, an X-axis ordinate value and a Y-axis ordinate value of the figure unit. Once the attributes, X-axis ordinate value and Y-axis ordinate value of any figure unit are retrieved, in step S 2113  the attribute retrieving sub-module  525  determines whether the attributes meet a predetermined demand. In the preferred embodiment of the present invention, the predetermined demand is that classification attributes of the figure unit are digital, and that the value of the figure unit is less than 5000. If the attributes of the figure unit meet the demand, then in step S 2115  the attribute retrieving sub-module  525  inputs the attributes, the X-axis ordinate value and the Y-axis ordinate value of the figure unit into columns A, B and C respectively in an attribute sheet of the Excel book. If the attributes of the figure unit do not meet the demand, then in step S 2117  the attribute retrieving sub-module  525  inputs the attributes, the X-axis ordinate value and the Y-axis ordinate value of the figure unit into columns D, E and F respectively in the attribute sheet of the Excel book. Then the attribute retrieving sub-module  525  returns to step S 2101  and enumerates a next figure unit in the CAD drawing according to the figure unit loop. 
   In step S 2111 , if the figure unit is not marked dimensions, then in step S 2119  the attribute retrieving sub-module  525  ascertains whether there is another figure unit in the CAD drawing. If there is another figure unit in the CAD drawing, then in step S 2101  again the attribute retrieving sub-module  525  enumerates a next figure unit in the CAD drawing. Otherwise, the procedure of retrieving attributes of figure units in the CAD drawing is completed. 
     FIG. 22  is a flow chart of details of step S 1811  of  FIG. 18 , namely determining measurement data to be output. Firstly, in step S 2201 , the analyzing and calculating sub-module  526  retrieves the attributes of the figure units in the attribute sheet of the Excel book and the measurement data obtained by the information gathering sub-module  521 . In step S 2203 , the analyzing and calculating sub-module  526  sets a loop from one to infinity, and operates the loop. In step S 2205 , the analyzing and calculating sub-module  526  determines whether a figure number value in the first column in the measurement sheet of the Excel book is void. If the value is void, then the loop is terminated. If the value is not void, then in step S 2207  the analyzing and calculating sub-module  526  determines whether an integer part of the measurement datum in the first column is equal to an attribute value of any figure unit. In the preferred embodiment, all attribute values are respectively pre-set according to the design dimensions of the object. If the integer part of the measurement datum in the first column is equal to an attribute value of any figure unit, then in step S 2209  the analyzing and calculating sub-module  526  determines whether the tolerance of the measurement datum is void. If the tolerance of the measurement datum is void, then the loop is terminated. If the tolerance of the measurement datum is not void, then in step S 2211  the analyzing and calculating sub-module  526  determines that the measurement datum is to be output to the CAD drawing, and stores the measurement datum to a variable I=I+CH(10)+CH(13) in a preliminary measurement sheet of the Excel book. In this formula, ‘I’ represents the measurement datum, ‘CH(10)’ represents a space, and ‘CH(13)’ represents an “enter” operation. After storing the measurement datum, in step S 2213 , the analyzing and calculating sub-module  526  checks whether a next measurement datum is an integer. If the next measurement datum is an integer, then the procedure is completed. Otherwise, the analyzing and calculating sub-module  526  checks the next measurement datum according to step S 2203  and the applicable foregoing steps. 
     FIG. 23  is a flow chart of details of step S 1813  of  FIG. 18 , namely outputting measurement data to the CAD drawing. Firstly, in step S 2301 , the dimension data outputting sub-module  527  retrieves a measurement datum from the preliminary measurement sheet of the Excel book. In step S 2303 , the dimension data outputting sub-module  527  obtains certain predetermined attributes of the measurement datum to be output. Such predetermined attributes include color of lead line, color of measurement datum, and color of any measurement that exceeds a design tolerance. In step S 2305 , the dimension data outputting sub-module  527  sets a lead line beside a figure unit that is to have the measurement datum input thereto. In step S 2307 , the dimension data outputting sub-module  527  outputs the measurement datum of the figure unit determined by the analyzing and calculating sub-module  526  to a region at an end of the lead line. In step S 2309 , the dimension data outputting sub-module  527  determines whether the measurement of the figure unit exceeds a tolerance of the design dimension thereof. If the measurement of the figure unit exceeds the tolerance of the design dimension thereof, then in step S 2311  the dimension data outputting sub-module  527  changes a color of the measurement to the predetermined color that indicates that the tolerance is exceeded. Otherwise, in step S 2313  the dimension data outputting sub-module  527  checks whether there is another measurement datum in the preliminary measurement sheet of the Excel book. If there is another measurement datum in the preliminary measurement sheet of the Excel book, then the dimension data outputting sub-module  527  retrieves the measurement datum from the preliminary measurement sheet of the Excel book according to step S 2301  and the applicable foregoing steps. Otherwise, the procedure is completed. 
   Although only preferred embodiments of the present invention have been described in detail above, those skilled in the art will readily appreciate that many modifications to the preferred embodiments are possible without materially departing from the novel teachings and advantages of the present invention. Accordingly, all such modifications are deemed to be covered by the following claims and allowable equivalents of the claims.