Plaque It!
Sponsored by: Flash of Genius |
[0001] This application claims the benefit of U.S. Provisional Patent Application Serial No. 60/243,848, which was filed on Oct. 30, 2000, and which is incorporated by reference herein.
[0002] Additionally, this application is filed concurrently with a co-pending patent application entitled “Computational Geometry System, Interrupt Interface, and Method”, the disclosure of which is also incorporated by reference herein.
[0003] This invention pertains to drawing conversion. More particularly, this invention relates to computer aided design file translation including a geometric model comparator.
[0004] Practically every product that results from the efforts of generic design or specialized design, such as architectural, electrical and mechanical design, involves the rendering of design drawings. In the last twenty years, nearly all of such drawings have been rendered using a computer aided design (CAD) system with a CAD software program. Typical CAD systems take the form of high-speed workstations or desktop computers that use CAD design software and input devices. These CAD systems generate output in the form of a printed design drawing or an electronic file format that can provide input to a computer aided manufacturing system (CAM).
[0005] Since the advent of computerized drawings, numerous computer aided design (CAD) programs have been developed. The translation of data files created by a first computer aided design (CAD) program into one or more data files readable by a second CAD program proves to be a difficult task. However, because of the relatively large number of diverse and competing CAD programs that are available, it is frequently the case that such translations need to be made. A number of underlying reasons exist for performing such translations, including execution of engineering projects that require the services of a main contractor using a first CAD program and a subcontractor using a second CAD program.
[0006] A presently existing technique for translating drawings involves the use of a Document eXchange Format file (DXF file). DXF files comprise an AutoCAD 2-D graphics file format. Numerous CAD systems are provided with the capability to import and export the DXF file format for graphics interchange, in the form “filename.dxf”. The DXF file format enables relatively simple files to be saved in DXF format via a first CAD program, and then read via a second CAD program. The DXF file format results in a generally fair translation accuracy where the files are not relatively complex. However, for typically involved applications, DXF file format does not provide a complete solution for translating files.
[0007] Accordingly, there exists a present need for an apparatus and method that enables translation of CAD files between at least two unique CAD file types, such as from a first CAD file type into a second CAD file type.
[0008] This invention concerns a computational geometry system having a geometric model comparator that identifies discrepancies between target geometric data and source data by comparing the target geometric data with the source geometric data. The computational geometry system can be provided via a network client/server architecture or via a stand-alone workstation.
[0009] According to one aspect, a method is provided for managing computational geometry system translations. The method includes providing a server and at least one client within a client/server network environment; receiving source geometric data at the server within a memory; generating target geometric data using the source geometric data; and identifying discrepancies between the target geometric data and the source geometric data by comparing the target geometric data with the source geometric data.
[0010] According to another aspect of the invention, a machine-executed method is provided for implementing a geometric conversion on a computer system including an interface. The method includes receiving a source geometric model at a computer; storing the source geometric model in memory of the computer; converting the source geometric model to a target geometric model; extracting source comparison reference data from the source geometric model; extracting target comparison reference data from the target geometric model; and comparing the comparison reference data from one of the source geometric model and the target geometric model with geometry from one of the target geometric model and the source geometric model, respectively, to identify geometric discrepancies therebetween.
[0011] According to yet another aspect of this invention, a geometric translation system is provided having processing circuitry, memory, and comparison circuitry. The processing circuitry is configured to generate a target model from a source model. The memory is configured to store the source model and the target model. The comparison circuitry is configured to identify selected points from the source, create corresponding selected points in a target model, and compare the selected points from the source model with the selected points from the target model to identify one or more selected points from the target model that fall outside of a predetermined tolerance range with respect to one or more points from the source model.
[0012] According to even another aspect of this invention, a geometric translation system includes memory, processing circuitry, and a geometric model comparator. The memory is configured to receive input data of a source model. The processing circuitry is configured to convert the input data of the source model into corresponding output data of a target model. The geometric model comparator is configured to compare the input data with the corresponding output data and identify geometric discrepancies between the input data and the output data.
[0013] According to yet even another aspect of this invention, a machine-executed method is provided for implementing a geometric conversion on a computer system including an interface. The method includes: receiving a source geometric model at a computer; storing the source geometric model in memory of the computer; converting the source geometric model to a target geometric model; extracting reference data from one of the source geometric model and the target geometric model; importing reference data into one of the target geometric model and the source geometric model; comparing the extracted reference data for discrepancies with geometry from one of the target geometric model and the source geometric model in one of a target CAD system and a source CAD system.
[0014] One advantage of the present invention is to provide a novel method and apparatus for computer aided design file translation having a geometric analyzer for CAD file comparison which determines if a translated CAD file (the output, created by the translation) is geometrically identical to the original source CAD file from which it was translated.
[0015] Another advantage of the present invention is to provide a method and apparatus for computer aided design file translation including a geometric analyzer for CAD file comparison that uses point cloud extraction, including tessellated, surface and edge points.
[0016] A still further advantage of the present invention is to provide a method and apparatus for computer aided design file translation including a geometric analyzer for CAD file comparison that uses a stand-alone point cloud analyzer to increase the speed of the analysis.
[0017] Preferred embodiments of the invention are described below with reference to the following accompanying drawings.
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025] FIGS.
[0026] FIGS.
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044] This disclosure of the invention is submitted in furtherance of the constitutional purposes of the U.S. Patent Laws “to promote the progress of science and useful arts” (Article 1, Section 8).
[0045] The present invention relates to a computer-implemented technique for implementing a geometric model comparator. The comparator includes processing circuitry that is configured to generate a target model from a source model. The comparator also includes memory that is configured to store the source model and the target model. Furthermore, the geometric model comparator includes comparison circuitry (provided by processing circuitry and program code) that is configured to identify selected points from the source model, create corresponding selected points in the target model, and compare the selected points from the source model with the selected points from the target model in order to identify one or more selected points from the target model that fall outside of a predetermined tolerance range with respect to one or more points from the source model. In one case, the comparison circuitry implements a forward comparison between the selected points from the source model and the respective selected points from the target model. In another case, this comparison circuitry implements a reverse comparison between the selected points. In even another case, the comparison circuitry implements a bi-directional comparison between the selected points from the source model and the respective selected points from the target model.
[0046] Reference will now be made to a preferred embodiment of Applicant's invention. One exemplary implementation is described below and depicted with reference to the drawings comprising a system and method for identifying selected points from a source model that fall outside of a predetermined tolerance range with respect to one or more points from a source model. While the invention is described by way of a preferred embodiment, it is understood that the description is not intended to limit the invention to this embodiment, but is intended to cover alternatives, equivalents, and modifications such as are included within the scope of the appended claims.
[0047] In an effort to prevent obscuring the invention at hand, only details germane to implementing the invention will be described in great detail, with presently understood peripheral details being incorporated by reference, as needed, as being presently understood in the art. Furthermore, U.S. Provisional Patent Application Serial No. 60/243,848, filed Oct. 30, 2000, is incorporated by reference herein.
[0048]
[0049] As shown in
[0050] As shown in
[0051] For purposes of this disclosure, the term “client” is understood to include a computer or a workstation, such as a personal computer provided within a client/server environment. A “client” is also intended to include any device present within an environment, such as a LAN environment provided by LAN
[0052] Also for purposes of this disclosure, the term “server” is understood to include one or more computers that are located at one or more physical locations within an environment, such as a LAN environment. Furthermore, for purposes of this disclosure, the term “server” is understood to include computers located at one or more physical locations, such as computers distributed about a network or a stand-alone workstation.
[0053] More particularly, server
[0054] With respect to client
[0055] In order to implement computer aided design (CAD) file translation, geometric model comparator
[0056] More particularly, geometric analyzer
[0057] In summary, the implementation of point cloud extraction entails point cloud analysis which uses points that have been extracted from the source CAD model file. As will be discussed below in greater detail with reference to
[0058] For the case where a system
[0059] In operation, geometric analyzer
[0060] More particularly, in one case geometric analyzer
[0061] Server
[0062] Geometric analyzer
[0063] In order to increase the probability that the existence of any differences between the source model files and the target model files will be detected, the above process is also implemented in reverse. Accordingly, geometric analyzer
[0064] It is understood that point cloud analysis can either be performed using a source CAD system and a target CAD system, or point cloud analysis can be performed using a stand-alone system, such as a workstation, that has been developed specifically as a stand-alone computational geometry system. Such a stand-alone implementation provides an advantage in that special purpose construction can make it relatively faster, thereby enabling a larger number of points to be analyzed within a given amount of time. Such result increases the probability of detecting geometric discrepancies. Additionally, a stand-alone implementation does not require the use of a software license from either a source CAD system provider or a target CAD system provider in order to perform analysis. Accordingly, an improved utilization of resources is provided in that there exists a diminished need to provide for software licensing of source CAD system software or target CAD system software when using a stand-alone conversion system.
[0065]
[0066] Upon uploading a source CAD file
[0067] Subsequent to processing, resulting file geometry data is then converted into a target CAD file format utilizing native-to-native geometry converter
[0068] As shown in
[0069] In order to implement point cloud extraction, geometric analyzer
[0070] Operation manager
[0071] System
[0072] If it is found that the distance between each individual point and its associated entity is less than a specific predetermined tolerance value that is required for a geometric feature, then the point is deleted from the model file. For example, the distance between a point and an edge curve in a source file is compared with the distance between the respective point and the respective edge curve in a target file. If the difference between such measured values deviates more than 0.05 mm (a specific predetermined tolerance value based upon a unit of measure), then the point is not deleted from the model file because it is found to be outside the tolerance range.
[0073] When geometric analyzer
[0074]
[0075] Geometric analyzer
TABLE 1 Comparison of Point cloud Types Type Advantages Disadvantages Tessellated Automatically increases point May detect differences on density for areas of high boundary edges curvature Difficult to create correcting Quickly finds missing features geometry from these points Quickly finds gross geometry (need edge points to build errors/differences boundaries) Can miss subtle geometry errors/differences Surface Very accurate for surface error May not detect differences detection on boundary edges Quickest analysis to perform Difficult to create correcting Detects surface differences geometry from these points between the boundary curves (need edge points to build boundaries) Edge Detects boundary curve Longer analysis time differences Does not detect differences Facilitates correction geometry on surfaces between the creation (especially if used edge curves with surface Point cloud)
[0076] Tessellated Point Cloud
[0077] Referring to
[0078] The density of points
[0079] In
[0080] Most presently commercially available CAD software is provided with a tessellation function built therein. For example, Pro/E includes such a tessellation function. In many cases, these tessellation functions can simply be called upon to create points at all of the vertices of a triangular surface in order to generate a tessellated point cloud. However, the process of locating or finding points (triangle vertices) on surfaces often involves mathematical techniques with built-in tolerances. As a result, these tolerances sometimes lead to the creation of tessellated points that fall outside of the desired surface. A tessellated point extractor, configured to extract tessellation point, provided within geometric analyzer
[0081] Surface Point Cloud
[0082] As shown in
[0083] Edge Point Cloud
[0084] Although not shown in a specific figure, by stepping along the boundary edges of each face of a solid (such as the faces of a solid shown in
[0085] Point Cloud Analysis
[0086] Once all the point cloud data has been generated with geometric analyzer
[0087] Because the most common type of surface encountered is a surface that is bounded by three or more edges, the number of edge points and the number of edges in a model can quickly become very large. In order to determine which edge provides a nearest edge, geometric analyzer
[0088] Accordingly, in order to speed up edge analysis, the number of edges required to be analyzed against a given point is reduced by measuring only to those edges in which a pre-sized bounding box contains the point being analyzed. More particularly, a bounding box is provided having a dimensional tolerance value in which the bounding box is the smallest three-dimensional box that can contain the entire edge curve.
[0089] Accordingly, the above techniques greatly reduce the number of times that the analyzer is required to measure the distance from a given point to a given edge within a model.
[0090] Point Cloud Analysis (Stand-Alone Analyzer)
[0091] According to an alternative construction where system
[0092] For the case of a stand-alone workstation version of system
[0093] In the case of a stand-alone workstation (and stand-alone geometric analyzer), the same analysis is implemented as was performed for an internal CAD system construction as above described. However, there is a difference in that the surfaces of all the geometric features from the source model and the target model must be extracted for use by the analyzer. The geometric analyzer does not have to display any imagery to the operator, nor does it have to perform any other CAD related functions. Therefore, the geometric analyzer can be optimized for efficient measurement.
[0094] The extraction of surfaces from the source CAD system and the target CAD system is done by extracting NURBS surfaces (as discussed below), and their associated trim curves.
[0095] Design Intent Source Analysis
[0096] With reference to design intent source analyzer
[0097] Design intent is conveyed and interpreted by evaluating the methods used to define the geometry in the source file, and determining which methods a designer would use in order to create the same geometry in the target CAD system. A method of creating a specific feature may be perfectly natural to a designer using a source CAD application. However, that method may be very unnatural to a designer using the target CAD system. After performing design intent analysis, such methods are identified, and a natural method mapping can occur.
[0098] For example, in Pro/E a designer would create a hole by inputting the hole command, specifying the location of the hole, and the size (or dimensional) parameters of the hole, as shown in
TABLE 2 Natural Method Mapping Pro/E CAD File Feature CATIA CAD File Feature Map Hole Sol. Cyl → Locate & Orient → Subtract Sol. Cyl from Base solid
[0099] It is probable that some of the geometric features created by the source CAD application are created in such a manner that the target CAD application cannot create the same geometry using the same method of creating it. One reason this happens is because the specific feature functions that were used in the source system do not exist in the target system. Another reason is due to approximation algorithms. Most CAD systems approximate complex geometry using proprietary algorithms. It is very unlikely that two CAD systems will use the same algorithms to approximate the same geometric features. Therefore, differences in the geometry are bound to occur even though the feature in the target file was created using the same methodology as the feature in the source file. Regardless of the cause of any inaccuracy, the solution is the same: A set of features needs to be found in the target CAD system that duplicates the geometry found in the source file. This requires mapping of feature geometry methods to the target CAD system.
[0100] In order to accurately predict the cost of converting a CAD model file, there are four pieces of information necessary. First, the size of the file; secondly, the number of geometric features that need to be converted; thirdly, the type of features; and finally, source and target CAD file applications. The source design intent analyzer performs a series of scans on the source file in order to determine this information. First, It counts the number of features in the source model file and parses them into specific feature type categories. Then, the features are classified into categories of a) geometry that always automatically converts over every time; b) geometry that automatically converts over X% of the time; and c) geometry that never automatically converts over and requires operator assistance to complete it. This classification will be specific to the particular source and target CAD systems. Once the features in the source model file are categorized and counted, then simple algorithms can be used to predict the conversion cost.
[0101] Native-to-Native Geometry Conversion
[0102] According to the present translation engine implementation, the approach to CAD file conversion is based upon the assumption that a purely automated software solution is not possible. Existing technical barriers are numerous, which prohibits a purely automated software solution. Therefore, a technology is needed that integrates the automatic recreation of geometry in the target CAD system.
[0103] There are two major steps to the native-to-native geometry conversion process of converter
[0104] Both of these steps are accomplished by utilizing the CAD system's own application program interfaces (API's). The source CAD system's own function calls are then used to extract a list of the geometric features that make up the source model file. These features and their defining parametric data are stored in a series of Applicant's proprietary data formats. The formats are described in the algorithm section below. Utilizing the equivalent function calls for the target CAD system, the geometric features are recreated by reading the geometric feature data from the Applicant's model formats. This provides a “hub and spoke” type of configuration in which once a CAD system is implemented to write to and read from the Applicant's model formats, it is then possible to convert file to or from any other CAD system that is implemented.
[0105] In order to facilitate the process of converting from a source file format to Applicant's formats and from Applicant's formats to a target file format, several CAD system specific utilities were developed. These utilities perform specific tasks including but not limited to: extracting mathematical geometric data from the source model file and storing it in Applicant's proprietary format, mapping certain geometry generation function calls from Applicant's formats to the appropriate target CAD system function calls, and determining specific geometric data that is not necessarily provided by the source CAD system, but will be needed in order to generate the equivalent geometry with the target CAD system.
[0106] Geometric Model Comparison
[0107] Geometric model (or mirror-model) comparison is the process of comparing the source CAD file with the target CAD file to determine if discrepancies exist. The comparison consists of measuring the distances between the corresponding surfaces and boundary edges of the two files. If the target file is a perfect duplicate of the source file, then all of these measurements will yield zero distances.
[0108] The process invokes Applicant's point cloud data (or Pixie Dust) analysis process, which creates a series of points that lie on the surfaces and edge curves of each geometric feature of a model. These points are then brought into the target CAD model file and the distance from the points to the corresponding surfaces and curves are measured. Any points that lie on the appropriate surface or edge curve, or within acceptable tolerances, are deleted from the target model. The points that lie outside of the acceptable tolerances are flagged as errors in the model file.
[0109] The reverse of this process, where points are extracted from the target model file and are inserted into the source file can also be invoked. This increases the probability of finding all of the discrepancies between the two files and reduces the probability of an error going undetected.
[0110] There are three general types of point cloud points generated, which include tessellated points, surface points, and edge points. Tessellated point cloud points use a tessellation routing to determine a series of vertices that are scattered all about a surface.
[0111] An operator can then select which type of point cloud analysis to run. The advantages and disadvantages of these three types were described above in Table 1.
[0112] The translation production line concept is a process that treats CAD file conversion as a manufactured product. The process applies manufacturing production line techniques to the process of converting CAD file formats.
[0113] As shown in
[0114] The translator implementation of
[0115]
[0116] Overall Implementation
[0117] In order to implement the computerized design model (or file) translation system features of the present invention, the following methodology is carried out. In Stage 1, a source model file design intent analysis is performed. Subsequently, a Stage 2 analysis generates a duplicate target model file corresponding with the source model file with the pre-existing, source model file. In Stage 3, a geometric model comparator analysis is implemented by way of a forward check, a backward check, or a forward and backward check. Finally, a Stage 4 operation entails an operator inspecting the resulting analysis file and correcting any errors that are detected, and then rerunning the analysis of Stage 3 by way of a geometric model (or mirror-model) comparator.
[0118] According to Stage 1, source model file design intent analysis entails receiving a pre-existing, or source model file, then storing the model file in memory. Subsequently, the pre-existing, source model file is opened using a source CAD system. Next, the pre-existing, source model file architecture is evaluated, and the model file is exploded. Subsequently, construction history indicating how the model was originally graphically built is then examined. Furthermore, comparison reference data (or point cloud data) is then extracted. Finally, the extracted data is stored in a designated metafile format (an intermediate file format).
[0119] In Stage 2, the methodology includes launching a target CAD system. Subsequently, a target model file is recreated, duplicating the same process that was used to create the original pre-existing, source model file. Interrupts are subsequently generated, when necessary, indicating to an operator that help is needed in recreating the target model file. For example, an interrupt can be displayed on a user display screen to a user indicating “I need help”. Finally, Stage 2 entails an operator “clearing” any interrupts (or removing and fixing the cause) that are presented to the user or operator during recreation of the target model file.
[0120] In Stage 3, the methodology entails a forward check and a backward check. In the forward check, points are created in the target CAD file representing the location of edges, and surfaces of the source model. Distance is then measured between the points and the edges/surfaces. Subsequently, points are deleted that fall within a predetermined tolerance. The forward check is finally completed by saving a model file containing “bad” points, or points that fall outside the predetermined tolerance. The backward check is implemented in the same manner as the forward check, except point cloud data is extracted first from the target model, then compared with point cloud data extracted from the source model. A forward and backward check entails performing both checks, then saving “bad” points from both check into a common file.
[0121] Stage 4 of the methodology includes an operator inspecting the analysis file resulting from the previous stages. Next, distances are measured between points and edges/surfaces. Subsequently, points that deviate, or fall outside a predetermined value are identified and a determination is made as to whether corrective action is required on the part of the operator. If corrective action is required, the operator then corrects any errors in the analysis file. Finally, the operator reruns the analysis, starting again with Stage 3 in order to determine whether the corrective action has remedied the problem with respect to the geometric data which is requiring corrective action to fall within the predetermined tolerance.
[0122]
[0123] As shown in
[0124] In Step “S1”, a server and at least one client are provided within a client/server network environment. After performing Step “S1”, the process proceeds to Step “S2”.
[0125] In Step “S2”, the system receives source geometric data including comparison reference data extracted from a pre-existing source model at the server within memory. After performing Step “S2”, the process proceeds to Step “S3”.
[0126] In Step “S3”, the system stores the extracted comparison reference data within a meta file format utilized by Applicant's system. After performing Step “S3”, the process proceeds to Step “S4”.
[0127] In Step “S4”, the process proceeds by opening the source model using a source CAD system, such as CATIA. After performing Step “S4”, the process proceeds to Step “S5”.
[0128] In Step “S5”, the process proceeds by generating target geometric data including comparison and reference data created in a target model using the source geometric data. After performing Step “S5”, the process proceeds to Step “S6”.
[0129] In Step “S6”, the process identifies discrepancies between the target geometric data and the source geometric data by comparing the target geometric data with the source geometric data. After performing Step “S6”, the process proceeds to Step “S7”.
[0130] In Step “S7”, the process and system notify a user or operator at the client of the presence of the discrepancy. After performing Step “S7”, the process proceeds to Step “S8”.
[0131] In Step “S8”, a query is made as to whether the operation of identifying discrepancies is complete. If the process is not complete, the process returns back to Step “S6”. If the process is determined to be complete, the process is terminated.
[0132]
[0133] In Step “S2”, the source geometric model is stored in memory of the computer. After performing Step “S2”, the process proceeds to Step “S3”.
[0134] In Step “S3”, the source geometric model is converted into a target geometric model. After performing Step “S3”, the process proceeds to Step “S4”.
[0135] In Step “S4”, the source comparison reference data is extracted from the source geometric model, wherein the source comparison reference data comprises point cloud data. After performing Step “S4”, the process proceeds to Step “S5”.
[0136] In Step “S5”, target comparison reference data is extracted from the target geometric model. After performing Step “S5”, the process proceeds to Step “S6”.
[0137] In Step “S6”, the source comparison reference data is compared with target comparison reference data in order to identify geometric discrepancies. The comparison is implemented by determining whether point cloud data from the target geometric model lies outside of a terminal surface of point cloud data from the source geometric model using a predetermined geometric tolerance. After performing Step “S6”, the process proceeds to Step “S7”.
[0138] In Step “S7”, a user or operator is interrupted at the interface of the computer system when a geometric discrepancy is identified and/or a problem is encountered during converting the source geometric model to the target geometric model. After performing Step “S7”, the process proceeds to Step “S8”.
[0139] In Step “S8”, a query is made as to whether or not the discrepancy identification is complete. If the discrepancy identification is not complete, the process returns back to Step “S6”. If the discrepancy identification is complete, the process is terminated.
[0140] FIGS.
[0141] As shown in
[0142] FIGS.
[0143]
[0144] The interrupt interface application window
[0145]
[0146] Import single feature field
[0147] Import feature surfaces field
[0148] Import single surface field
[0149] Import section field
[0150] Import feature edges field
[0151] Import surface edges field
[0152]
[0153] Furthermore, application window
[0154] A find data entry field
[0155]
[0156] Translation Process Overview—
[0157] Translation Process Principles
[0158] Applicant has developed a unique approach to the task of translating Computer Assisted Design (CAD) models from one format to another. The process is designed to a) maximize the quality of the translation, b) minimize cost of translation. In order to achieve these two goals it is necessary to ascertain the geometric accuracy of the translation, and perform the translation with a minimization of human interaction time.
[0159] As to determining the geometric accuracy of the translation, a method has been developed for comparing a source CAD model (model to be translated), with a target CAD model (the translated model). The objective of this comparison is to locate and convey any differences in geometry that may exist between the two models, and convey them to an operator so that they can be resolved. For purposes of this comparison, the source model geometry is defined to be correct. The comparison method involves comparing all boundary surfaces, their trim curves, and all model edges to one another. This method is useful for locating differences in geometry, missing geometry, or extraneous geometry in the target model.
[0160] Human interaction is minimized by providing a systematic process in which operations that can be automated are done so without human input, and the operations that cannot be automated are presented to the human operator in a manner that displays the specific problem concisely and efficiently, and provides the operator with all of the information necessary to quickly arrive at the solution. Operations which can be automated are performed in the “background” while any human intervention operations are performed in the “foreground”.
[0161] The translation process employs the necessary controllers and systems to notify the human operator in the event it needs assistance to resolve a specific translation problem, or has incorrectly created the geometry in the target model. When the system needs such assistance, it displays the target model to an operator along with information to help the operator determine the nature of the problem, and a satisfactory solution to it. The operator then fixes the problem, and passes control of the translation process back to the system to be completed in the background. If the system needs further assistance, it will repeat the process of notifying the operator, and displaying the problem. During the process of creating the geometry in the target model and also upon completion of translation of all the geometry, the system analyzes the quality of the translation as described above to ascertain the translation accuracy. If it finds a discrepancy or problem with either the geometry or with the process of creating the geometry, it displays the discrepancy/problem to a human operator for assistance in resolving the differences between the models.
[0162] Geometry Types
[0163] B-Rep Solid Geometry
[0164] Modern CAD systems create geometry in a number of ways. These include surfaces, curves, and solids. There are two general methods for creating and defining solid geometry. One is to create a series of boundary surfaces that enclose a volume. The CAD system can then consider the enclosed volume to be solid and have material inside or outside the solid. This type of solid is commonly called a boundary representation solid or B-Rep Solid.
[0165]
[0166] Constructive Solid Geometry (CSG)
[0167] The other predominant method of modeling 3D solids is CSG. This involves the creation of specific geometric features and combining them to define the final solid. The individual solid features created for the CSG method may be either “parametric” features or B-Rep solid features. “Parametric” features refer to specific geometric failures created by specifying the parameters that define a primitive (a geometric object that is fully defined by its parameters). Many parametric features use a combination of geometric entities and operations to fully define the feature. Simple primitives used in parametric features include such cuboids, cylinders, spheroids, ellipsoids, toroids, etc. Examples of more complex parametric features include sketched features where the geometric object is defined by sketching a cross-section and then extruding it a specific distance, sweeping it along a trajectory curve, or revolving it about an axis. Sketched features are more complex in that they can