US20030135846A1 - Geometric model comparator and method - Google Patents

Geometric model comparator and method Download PDF

Info

Publication number
US20030135846A1
US20030135846A1 US09/999,097 US99909701A US2003135846A1 US 20030135846 A1 US20030135846 A1 US 20030135846A1 US 99909701 A US99909701 A US 99909701A US 2003135846 A1 US2003135846 A1 US 2003135846A1
Authority
US
United States
Prior art keywords
model
source
geometric
target
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/999,097
Other versions
US7149677B2 (en
Inventor
Sankar Jayaram
Uma Jayaram
Michael McDonald
Robert Sorenson
Daniel Evans
David Cramer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TTI Acquisition Corp
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US09/999,097 priority Critical patent/US7149677B2/en
Assigned to TRANSLATION TECHNOLOGIES, INC. reassignment TRANSLATION TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SORENSON, ROBERT, CRAMER, DAVID, EVANS, DANIEL, JAYARAM, SANKAR, JAYARAM, UMA, MCDONALD, MICHAEL M.
Assigned to VENTURE STRATEGY PARTNERS II, LP, MEGUNTICOOK FUND, II L.P., THE, EFUND, LLC reassignment VENTURE STRATEGY PARTNERS II, LP SECURITY AGREEMENT Assignors: TRANSLATION TECHNOLOGIES, INC.
Publication of US20030135846A1 publication Critical patent/US20030135846A1/en
Assigned to TTI ACQUISITION CORPORATION reassignment TTI ACQUISITION CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TRANSLATION TECHNOLOGIES, INC.
Application granted granted Critical
Publication of US7149677B2 publication Critical patent/US7149677B2/en
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format

Definitions

  • This invention pertains to drawing conversion. More particularly, this invention relates to computer aided design file translation including a geometric model comparator.
  • DXF file comprises 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.
  • DXF file format does not provide a complete solution for translating files.
  • 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.
  • a method 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.
  • a machine-executed method 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.
  • a geometric translation system 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.
  • 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.
  • a machine-executed method 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.
  • 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.
  • 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.
  • 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.
  • FIG. 1 is a block diagram overview of a basic system configuration of an exemplary system for implementing computer aided design file translation according to one embodiment of the present invention.
  • FIG. 2 is a block diagram of a representative geometric data comparison implementation performed via a translation engine of a computational geometry system according to the present invention.
  • FIG. 3 illustrates data input to a geometric analyzer and respective output in the form of files from the geometric analyzer for a stand-alone workstation embodiment.
  • FIG. 4 is a perspective view illustrating extraction of point cloud data from a source model which is recreated in a target model wherein distances between respective points and a corresponding surface are measured.
  • FIG. 5 illustrates an approximation of a cylindrical surface showing respective tessellation triangles when tessellating an exemplary curved, cylindrical surface.
  • FIG. 6 illustrates an exemplary tessellated curve with tessellation points, or point cloud data.
  • FIG. 7 illustrates an exemplary geometric model having a matrix of points created along a 3 ⁇ 4 surface, showing a 3 ⁇ 4 surface point cloud matrix.
  • FIGS. 8 A- 8 B are simplified schematic diagrams illustrating the creation of a hole in a solid cube of material utilizing Pro/E.
  • FIGS. 9 A- 9 D are simplified schematic diagrams illustrating the creation of a hole in a solid cube of material utilizing CATIA.
  • FIG. 10 is a block diagram illustrating the functional relationship of a staged translator having a translation engine for comparing source geometric data in a source geometric model of a first type with target geometric data of a target geometric model of a second type.
  • FIG. 11 illustrates mapping of a regeneration process when reordering a Boolean tree.
  • FIG. 12 illustrates an exemplary Boolean-based CSG tree.
  • FIG. 13 is a process flow diagram showing the logic processing for managing computational geometry translations by way of the geometric model comparator.
  • FIG. 14 is a process flow diagram showing the logic processing for implementing a geometric file conversion on a computer system having an interface.
  • FIG. 15 is a diagram of an interrupt interface application window within a generic CAD file overlay window of a user display.
  • FIG. 16 is a diagram of a screen display of a pop-up advanced options application window within a generic CAD overlay window of a user display.
  • FIG. 17 is a diagram of a screen display in which a pop-up “LogFileViewer” application window is generated within a generic CAD file overlay window in a screen display.
  • FIG. 18 is a diagram of a screen display for a pop-up graphical user interface feature identification/information application window within an overlay window in the screen display.
  • FIG. 19 is a simplified schematic diagram illustrating a solid cylinder created by generating B-Rep surfaces in order to enclose a volume.
  • FIG. 20 is a simplified schematic diagram illustrating a solid model geometry created by extruding a circle section to create a cylinder, sweeping another circle along a trajectory to add a swept feature, and revolving a complex section to create a revolve feature.
  • FIGS. 21A and B are simplified schematic data flow charts illustrating two methods for storing assembly model data.
  • FIG. 22 is a simplified schematic diagram illustrating a relationship between the location of a hole and a revolve axis of a part identified in a model.
  • FIG. 23 is a simplified schematic diagram illustrating an exemplary target model having bad points.
  • FIG. 24 is a simplified schematic diagram illustrating a surface from a source model provided on a target model.
  • FIG. 25 is a simplified schematic diagram illustrating a source model for a target model having a failed fillet that is annotated with defining parameters and references.
  • FIG. 26 is a simplified schematic diagram illustrating a source model having a sweep feature in a target model that has failed to build a sweep feature, but has placed construction geometry in the model.
  • 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.
  • 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.
  • 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.
  • FIG. 1 illustrates a preferred embodiment of Applicant's invention wherein a basic system configuration is provided for comparing input data with output data, identifying geometric information from a target model that falls outside of a tolerance range relative to respective geometric information from a respective source model, and is identified with reference numeral 10 .
  • Geometric model comparator 10 is provided by a computer aided design (CAD) file translation system 12 .
  • CAD computer aided design
  • system 12 is implemented in a distributed manner across a local area network (LAN) 11 , such as a client/server network 13 , within a LAN environment.
  • LAN local area network
  • system 12 can also be implemented on a single, stand-alone workstation, such as on a central personal computer.
  • system 12 is implemented across a client/server network 13 having a plurality of clients 14 connected via a communication link 15 with a server 16 .
  • communication link 15 comprises a local area network (LAN) connection 17 .
  • LAN local area network
  • server 16 and client 14 can be provided by the same device for the case of a stand-alone workstation.
  • server 16 can include a client, similar to client 14 .
  • system 12 can include a single client 14 , according to an alternative construction.
  • System 12 also includes a printer 18 provided within LAN 11 .
  • client 14 in one construction comprises a client computer having a central processing unit (CPU) 20 , memory 22 , a user interface 24 , a keyboard 26 , a mouse 28 , a geometric analyzer 58 , and specialized program code 62 including a source and target model comparator 55 and specialized program code 64 that cooperates with server 16 to extract, generate, compare and display.
  • Geometric analyzer 58 also includes comparison circuitry 53 .
  • 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 11 , that includes an interface 24 for enabling a user to interact with client 14 and server 16 such that a user can be notified of important events via an interrupt interface 44 .
  • client is intended to encompass the case of a stand-alone workstation, a computer, or a workstation that includes a server similar to server 16 .
  • a “client” can include other software components such as a database 36 and an operation manger 38 , when constructed as a stand-alone workstation.
  • 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.
  • 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.
  • server 16 includes a central processing unit (CPU) 32 , memory 34 , database 36 , and operation manager 38 .
  • CPU 32 includes processing circuitry 46 that communicates with memory 34 in processing data 52 within a database 36 as well as handling program code 60 within operation manager 38 .
  • Database 36 includes one or more model files 48 for storing models 50 comprising data 52 .
  • Operation manager 38 comprises a production control module 54 including a staged translator 56 in which program code 60 is provided for forwarding one or more instruction sets to clients 14 to cause program code 64 to extract, generate, compare and/or display CAD models (or files).
  • user interface 24 includes an output device 40 which, in one form, comprises a user display 42 and interrupt interface 44 .
  • Geometric analyzer 58 includes program code 62 , as described below in greater detail.
  • geometric model comparator 10 utilizes geometric analyzer 58 to compare CAD files using point cloud extraction, as discussed below in greater detail.
  • CAD file translation system 12 converts a first CAD file that is associated with a first CAD program into a second CAD file associated with a second CAD program.
  • Geometric analyzer 58 determines if a translated CAD file is “geometrically identical” to the original source CAD file from which it was translated.
  • the term “geometrically identical” is understood to mean geometrically substantially the same, within an acceptable predetermined geometric tolerance.
  • geometric analyzer 58 implements point cloud analysis, including the identification and analysis of tessellated point cloud types, surface point cloud types, and edge point cloud types, as discussed below in greater detail.
  • geometric analyzer 58 determines if a translated, target CAD model (or file) is geometrically identical to an original, source CAD model (or file). In order to make this determination, geometric analyzer 58 implements a comparison of surface and boundary edges for each respective file. Subsequently, a reverse point cloud analysis is then performed utilizing points that are extracted from the target (or output) file, which is then compared to the source (or input) file.
  • 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 FIG. 4, these points lie either on the surfaces of an individual geometric feature, or they lie on one of the boundary edge curves. These extracted points are then recreated in the target CAD model file, after which distances between the points and the adjacent surfaces and edges are measured.
  • Geometric analyzer 58 then implements point cloud analysis, following implementation of the point cloud extraction, in order to compare the surface and boundary edges of each respective file. It is understood that point cloud analysis of geometric analyzer 58 can be run as a stand-alone apparatus. Alternatively, point cloud analysis can be run as a CAD application that is implemented in accordance with proprietary software and an appropriate software license obtained from a respective CAD application developer.
  • system 12 is not required to use proprietary CAD programs for performing analysis (as sold commercially). Therefore, such a stand-alone apparatus does not require the use of dedicated CAD workstations with proprietary CAD programs that incur relatively expensive royalties for using such proprietary CAD programs in order to perform analysis.
  • a stand-alone CAD workstation has the capability to check points more rapidly because of the ability to optimize such a workstation for a specific purpose. In performing point cloud analysis, the distance between each point and an associated surface or edge is measured.
  • Such measured distances are recognized as being acceptable when they fall within a relatively small (or minimal) threshold value, unless the surface in the output (or target) file has been incorrectly defined, in which case a user at interrupt interface 44 is notified of such a discrepancy.
  • geometric analyzer 58 of client 14 is configured to determine if a translated target geometric model file is geometrically identical to the original source geometric model file from which it was translated.
  • source and target geometric model files each comprise respective CAD files.
  • Geometric analyzer 58 is used to inspect such respective files by measuring the surfaces and boundary edges on all geometric features present in one CAD file, and then compare the respective surfaces and boundary edges to the corresponding surfaces and boundary edges in the other respective file. For example, the measured surfaces and boundary edges from a source geometric model file are compared with the measured surfaces and boundary edges of the respective target geometric model file.
  • geometric analyzer 58 performs a forward inspection by comparing surfaces and boundary edges in a source geometric model file with surfaces and boundary edges in a target geometric model file.
  • a reverse inspection is performed by geometric analyzer 58 wherein surfaces and boundary edges of a target geometric model file are compared with surfaces and boundary edges of a source geometric model file.
  • Server 16 of FIG. 1 includes database 36 which is configured to store input data of a source model.
  • Processing circuitry 46 is configured to convert the input data of the source model into corresponding output data of the target model.
  • Geometric analyzer 58 includes a source and target model comparator that is configured to compare the input data with the corresponding output data to identify geometric discrepancies between the input data and the output data.
  • Geometric analyzer 58 enables measurement of such surfaces and boundary edges, then facilitates the reporting of measured and compared results to an operator at a user interface 24 of client 14 .
  • Geometric analyzer 58 implements point cloud analysis in order to perform measurements between the surfaces and boundary edge curves of the source model and the target model. More particularly, geometric analyzer 58 uses points that were previously extracted from the source model file. Such points either lie on the surfaces of the individual geometric features of a model, or such points lie on one of the boundary edge curves of the model. The respective points are then recreated in the target model file, after which distance is measured between each point and respective adjacent surfaces and edges.
  • geometric analyzer 58 extracts points from the target model file, then recreates the points in the source model file. Afterwards, geometric analyzer 58 measures distances between the points and their appropriate surface or boundary edge curve of the target model file and the source model file.
  • 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.
  • 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.
  • 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.
  • FIG. 2 illustrates the translation process between a source CAD file and a target CAD file utilizing the computer aided design file translation system of FIG. 1.
  • translation engine 57 of staged translator 56 receives a source CAD file 63 by way of a secure file transfer 61 from a customer 59 .
  • Translation engine 57 by way of a process implemented for the computer aided design file translation system of the present invention, converts source CAD file 63 into a target CAD file 65 .
  • the target CAD file 65 is then transferred via a secure file transfer 67 back to customer 59 .
  • One technique for implementing the secure file transfer 61 and 67 entails utilizing secure file transfer over the Internet by uploading and downloading files securely over the Internet via one or more secure servers.
  • a job description profile is preferably generated.
  • File 63 is then passed to a pre-processing station, configured as a design intent source analyzer 88 , which performs design intent analysis, and identifies any pre-processing tasks that are required in order to prepare the file for a translation production line.
  • resulting file geometry data is then converted into a target CAD file format utilizing native-to-native geometry converter 90 .
  • the target CAD model file is compared to the source CAD model file using a mirror-model comparator 92 . Any discrepancies found as a result of source-target file comparison are then conveyed to a human translator in the form of a text report and a visual display that is provided in the target CAD model.
  • the target CAD file is then modified via an operator-assisted conversion process 94 in order to eliminate any discrepancies.
  • the file is then re-compared to the source CAD model as a final quality assurance (QA) 96 , and is then sent back to the customer via the Internet.
  • QA quality assurance
  • all of the surfaces and associated trim curves are required to be extracted from both the source CAD model file and the target CAD model file, after which the extracted associated trim curves are stored in geometric analyzer 58 (of FIG. 1). More particularly, surface data 110 from the source file and surface data 112 from the target file, along with trim curve 114 from the source file and trim curve data 116 from the target file, are input into geometric analyzer 58 . Source point cloud data 118 is then analyzed against target surface/trim curve data 110 , 114 , and target point cloud data 120 is analyzed against source surface/trim data 112 , 116 , as shown in FIG. 3.
  • Bad point cloud files 122 , 124 are then imported into respective CAD model files in order to display them to an operator or user, typically via interrupt interface 44 of client 14 (of FIG. 1).
  • an operator can measure the distance from each individual point to an associated edge or curve in order to ascertain the magnitude and cause of a deviation.
  • an analysis algorithm 128 of geometric analyzer 58 generates a point cloud analysis report 126 .
  • geometric analyzer 58 (of FIGS. 1 and 3) performs three different types of point cloud analysis: tessellated point cloud analysis; surface point cloud analysis; and edge point cloud analysis. A description of each of these different types of point cloud analysis is described below with reference to FIGS. 4 - 7 .
  • Operation manager 38 includes a native-to-native geometry conversion system within program code 60 .
  • each geometric feature is scrutinized using translator software within staged translator 56 ; namely, via program code 60 .
  • the translator software is operative to extract point cloud data by forwarding an instruction set to clients 14 that cooperates with program code 64 for directing extraction of point cloud data.
  • the distance between points and their corresponding associative entities (surfaces and curves) in the source model file are measured using extraction software within program code 64 . All points that do not lie directly on a surface or an edge curve are then deleted. This step is necessary in order to protect against algorithmic errors that are potentially present in CAD system software. Remaining points are then stored in a file which is labeled according to type: tessellated; surface; or edge.
  • point cloud data is extracted from the target file and is then stored in memory 22 .
  • System 12 implements point cloud analysis by way of geometric analyzer 58 .
  • geometric analyzer 58 When a user or operator of client 14 runs geometric analyzer 58 , appropriate point cloud files are read by geometric analyzer 58 . Such implementation occurs whether system 12 is implemented across a client server network environment or via a stand-alone workstation. The points are then compared against their corresponding entities by measuring the distance between each respective point and the nearest edge or surface that is present in the other CAD file. Points which have been extracted from the source are then measured in the target file, and points extracted from the target are measured in the source file. Surface points are then measured distance-wise against surfaces, and edge points are measured against edge curves.
  • 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.
  • 0.05 mm a specific predetermined tolerance value based upon a unit of measure
  • the points that are left over in the model file are points that do not lie directly on (or within a tolerance range) of any surface or edge. Such points represent differences in the geometry between the two files.
  • the coordinates of these points are then saved in a separate file that is appropriately labeled “Bad Point File”. Where a forward check is performed, a bad point file is created from the source. Where a reverse check is performed, a bad point file is created from the target. The distance from this point to the associated curve or surface comprises the magnitude of the deviation in geometry at that specific point in space.
  • FIG. 4 illustrates point cloud data that is extracted from a source model 45 and recreated in a target model 45 ′. The distance between respective points 47 and 47 ′ on the corresponding surface is then measured. The resulting deviation from point 47 to the associated curve or surface (of source model 45 and target model 45 ′) is the magnitude of the deviation geometry at that specific point in space.
  • Geometric analyzer 58 also identifies different point cloud types. Each of the three previously identified types of point cloud data is extracted separately utilizing a CAD file translation engine provided by staged translator 56 ; namely, via program code 60 which sends instructions to clients 14 . Each type of point cloud data is described below in greater detail. Geometric analyzer 58 uses each point cloud type in order to maximize the advantages of each, while minimizing relative disadvantages. Geometric analyzer 58 uses a tessellated point cloud type in order to quickly find missing features and gross differences in relative geometry. Surface point cloud types are used to very accurately determine differences between surfaces, as well as to verify the dimensional integrity of features. Edge point cloud types are used to verify boundary accuracy and can provide detailed correction information to an operator.
  • tessellation comprises the process of generating flat triangles 70 that approximate a curved surface of a modeled object. This process typically involves the creation of a series of points 66 that lie on a surface 68 . Subsequent to generating points 66 , points 66 are joined into a mesh of triangles 70 . Accordingly, the vertices 69 of the triangles 70 lie on surface 68 , whereas the edges 71 of the triangles may deviate from the surface.
  • the density of points 66 on cylindrical surface 68 , the spatial distribution of points 66 , and the number of triangles 70 that are created are often controlled using two parameters: first, chord length; and secondly, angle deviation. These parameters are best described below using the example of a tessellated curve (see FIG. 6).
  • a tessellated curve 72 for a boundary curve 73 of a geometric model is shown with a plurality of tessellation points 74 - 78 .
  • chord length is the maximum distance allowed between a particular line segment 80 and boundary curve 73 .
  • the angle deviation (or angle control) defines a maximum allowed angular deviation of the edges of the triangles from a tangent to the curve at the vertex. More particularly, as the curvature of the edge curve becomes greater, the individual line segments that make up a tessellated surface will inherently become smaller. This is necessary in order to maintain the specified chord length and angle deviation. Accordingly, this automatically increases the number of points generated in regions of high curvature.
  • chord height is the largest distance that any given triangular surface is allowed to deviate from a surface being approximated.
  • the “point cloud” used to create the vertices of all of the triangular surfaces automatically becomes denser in areas of relatively high curvature.
  • CAD software is provided with a tessellation function built therein.
  • Pro/E includes such a tessellation function.
  • 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.
  • 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 58 analyzes all the points which are created using the tessellation engine of the CAD system, and automatically rejects all points that are not provided exactly on the surface of the model.
  • surface point cloud data is extracted by stepping along each individual surface in a U parameter direction and a V parameter direction, creating points at predetermined parameter intervals.
  • Such a method creates a matrix of points 82 along a surface, such as surfaces 84 and 86 .
  • surface points 82 are shown evenly distributed about each of surfaces 84 and 86 of an object in FIG. 7.
  • edge point cloud data can be generated.
  • the respective faces of a solid can comprise trimmed surfaces that form a bounding surface for the volume of the solid.
  • the edge surfaces are typically parametric curves.
  • the resulting evenly dispersed points are generated by stepping along the curve parameter using a predetermined parameter interval.
  • 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.
  • 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.
  • design intent source analyzer 88 (of FIG. 2), there are three purposes for design intent source analysis: First, design intent source analysis is performed to evaluate the “manufacturing design intent” of the source CAD file to assist in the feature mapping between the source and target CAD systems. Secondly, design intent source analysis is performed to provide process mapping and routing details to the translation production line. Finally, design intent source analysis is performed to predict the cost of the translations and to convey a quotation back to a customer that has requested translation services.
  • 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.
  • FIG. 8A illustrates a model of a solid cube comprising solid base material.
  • FIG. 8B illustrates a hole which has been inserted on a face of the cube by a Pro/E designer who has created a hole in the solid material of the cube by specifying the surface and location for the hole, and the hole dimensional parameters.
  • FIGS. 8A illustrates a model of a solid cube comprising solid base material.
  • FIG. 8B illustrates a hole which has been inserted on a face of the cube by a Pro/E designer who has created a hole in the solid material of the cube by specifying the surface and location for the hole, and the hole dimensional parameters.
  • FIG. 9 A-D illustrate how a CATIA designer would create a hole by creating a solid cylinder having a desired dimension, locating the cylinder and orienting it relative to the solid cube in which it is desired to put a hole, and then subtracting the solid cylinder from the base solid cube material. Accordingly, the same function in CATIA is accomplished by creating a solid cylinder, locating and orienting the cylinder relative to the cube model, and subtracting the solid cylinder from the remainder of the cube model.
  • FIG. 9A illustrates the cube comprising a solid base material.
  • FIG. 9B illustrates creation of the solid cylinder.
  • FIG. 9C illustrates a cylinder, located and oriented in a desired configuration.
  • 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.
  • 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.
  • 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.
  • Applicant's point cloud data or Pixie Dust
  • Tessellated point cloud points use a tessellation routing to determine a series of vertices that are scattered all about a surface.
  • 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.
  • staged translator 56 includes a translation engine 57 .
  • Translation engine 57 implements conversion/translation and analysis/inspection when converting from a source CAD model (or file) (or a CAD file that a customer wishes to convert from) to a target CAD model (or file) (or a CAD file that a customer wishes to convert to).
  • source CAD model or file
  • target CAD model or file
  • FIG. 10 various different source CAD files and target CAD files are shown in FIG. 10.
  • a Pro/E CAD file 100 , an SDRC CAD file 101 , and a Unigraphics CAD file 102 each comprise source CAD files; whereas, a CATIA CAD file 103 , a SolidWorks CAD file 104 , and an AutoCAD file 105 each comprise target CAD files.
  • the translator implementation of FIG. 10 enables a relatively efficient quotation process when the system of the present invention is used to implement staged translation for a third party desiring translation of drawings from a source CAD file into a target CAD file.
  • Such a process entails: reviewing source CAD model geometric features using feature statistics; implementing design intent analysis and feature parsing; and estimating conversion costs based upon the number of features, and the types of features identified.
  • FIG. 11 illustrates the mapping of a regeneration process comprising the reordering of a Boolean tree.
  • FIG. 11 illustrates a feature based Boolean tree.
  • FIG. 12 illustrates a respective Boolean based CSG tree.
  • 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.
  • Stage 3 a geometric model comparator analysis is implemented by way of a forward check, a backward check, or a forward and backward check.
  • 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.
  • 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).
  • 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.
  • the methodology entails a forward check and a backward 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.
  • 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.
  • FIG. 13 illustrates by way of example one method for managing computational geometry system translations by way of a geometric model comparator that utilizes point cloud features as well as a forward check, a backward check, and/or forward-backward check.
  • selected points can be identified from a source model (or file) and corresponding selected points can be generated in a target model (or file).
  • the selected points are compared 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.
  • a geometric model comparator compares the input data with corresponding output data and identifies any geometric discrepancies between the input data and the output data.
  • FIG. 13 a logic flow diagram illustrates the steps of implementing such a geometric model comparator.
  • 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”.
  • 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”.
  • 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”.
  • 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”.
  • 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”.
  • 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”.
  • 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”.
  • 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.
  • FIG. 14 illustrates by way of another example a machine-executed method for implementing a geometric file conversion on a computer system including an interface.
  • Step “S1” a source geometric model is received at a computer.
  • Step “S2” the process proceeds to Step “S2”.
  • Step “S2” the source geometric model is stored in memory of the computer. After performing Step “S2”, the process proceeds to Step “S3”.
  • Step “S3” the source geometric model is converted into a target geometric model. After performing Step “S3”, the process proceeds to Step “S4”.
  • 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”.
  • Step “S5” target comparison reference data is extracted from the target geometric model. After performing Step “S5”, the process proceeds to Step “S6”.
  • 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”.
  • 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”.
  • 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.
  • FIGS. 15 - 18 illustrate by way of example a serial interrupt interface 44 as seen from a client by a user or operator and comprising a generic CAD file overlay, or window, 130 .
  • Interrupt interface 44 is provided by way of a user display 42 .
  • User display 42 provides one implementation for a user interrupt 24 triggered by detecting a discrepancy or a problem in generating a target geometric model.
  • Such user interface features are implemented on a client/server computer system and are presented below to illustrate one implementation of Applicant's system and method for providing a serially progressive interrupt interface with a background operation manager when translating a source geometric model to a target geometric model using a computational geometry system.
  • the computer aided design file translation system comprises a serially progressive interrupt interface which is provided by way of a pop-up interrupt interface application window 132 which is displayed within generic CAD file overlay window 130 .
  • a graphical user interface on a client such as the display screen is used to display serial interrupt interface 44 via displaying interrupt interface application window 132 within overlay window 130 .
  • each screen contains icons, or triggers, that may be clicked on in order to select different items and/or in order to navigate between screens.
  • FIGS. 15 - 18 each form diagrams of exemplary screen displays that the geometric model comparator and computer aided design file translation system provides to a user or operator during various steps when serially interrupting the operator when translating a source geometric model file to a target geometric model file and their existent inability to automatically accurately create geometry from the source geometric model file to the target geometric model file.
  • a screen displays a portion of the computer aided design file translation system, and that the screen includes a window which is a predefined part of virtual space.
  • a screen can include selection buttons, pop-up menus, pull-down menus, icons, links, buttons, scrolling lists, data entry fields, embedded content objects, radio buttons, check boxes, and other usable and selectable items that are capable of being configured or selected with a cursor using a tactile input such as a pointer, a mouse, and/or a keyboard or a button.
  • FIG. 15 illustrates one exemplary interrupt interface application window 132 that pops up within generic CAD file overlay window 130 in response to the computational geometry system encountering a problem or inability to automatically create an accurate geometry when translating from a source geometric model to a target geometric model.
  • One exemplary problem that creates an inability to automatically create an accurate geometry results when the computational geometry system determines the presence of any identified discrepancies in response to comparing the geometric data between the source geometric model and the target geometric model.
  • the interrupt interface application window 132 of FIG. 15 includes a “Continue Options” field 134 , an advanced options field 136 , and a “LogFileViewer” field 138 .
  • “Continue Options” field 134 includes an import button 140 that selectively configures with a “Next Feature” check box 142 or a “Feature I.D.” check box 144 .
  • “Feature I.D.” check box 144 also includes a data entry field 146 for entering a desired feature identification. Such feature is entered into data entry field 146 after which check box 144 is selected such that the desired feature identification is imported when selecting import button 140 .
  • Advanced options field 136 includes an options button 148 that generates pop-up advanced options application window 150 of FIG. 16.
  • “LogFileViewer” field 138 includes a start button 152 that launches a pop-up “LogFileViewer” application window 154 , as shown in FIG. [ 17 .
  • FIG. 16 illustrates the generation of pop-up advanced options application window 150 within generic CAD overlay window 130 of user display 42 .
  • pop-up application advanced options application window 150 comprises an import single feature field 156 , an import feature surfaces field 158 , an import single surface field 160 , an import section field 162 , an import feature edges field 164 , an import surface edges field 166 , and a restart field 168 .
  • window 150 includes a cancel button 170 which triggers closure of window 150 .
  • Import single feature field 156 includes a data entry (or text) field 172 for inputting an import single feature identification number (or alpha-numeric) identifier.
  • Import single feature field 156 also includes a union check box 174 , a subtraction check box 176 , and an intersect check box 178 . Selection of boxes 174 - 178 in combination with input of an identification number within field 172 enables the selection of that import single feature by way of a union, a subtraction, or an intersection, respectively.
  • an import button 180 is selected by a user to import such single feature in the manner designated by the selection of the respective check box amongst check boxes 174 - 178 .
  • Import feature surfaces field 158 includes a data entry (or text) identification field 182 , a volume check box 184 , a trim check box 186 , and an import button 188 . Insertion of data within field 182 , selection of the appropriate check box 184 or 186 , and selection of import button 188 causes importation of the identified feature surfaces by way of volume or trim, respectively.
  • Import single surface field 160 includes an import single surface identification data entry (or text) field 190 , a trim check box 192 , and an import button 194 .
  • a user provides an identification data entry number within field 190 , selects trim check box 192 , and import button 194 in order to cause import of a single surface having the desired identification and respective trim characteristic.
  • Import section field 162 includes an import section identification data entry (or text) field 196 and an import button 198 .
  • a user provides the identification within field 196 and then selects import button 198 in order to import the identified section.
  • Import feature edges field 164 includes an import feature edges identification data entry (or text) field 200 and an import button 202 .
  • a user imports an appropriate identification within field 200 and selects import button 202 in order to import the identified feature edge.
  • Import surface edges field 166 includes an import surface edges identification data entry (or text) field 204 and an import button 206 .
  • a user merely inputs an identification number within field 204 and selects import button 206 in order to import the identified surface edge.
  • Restart field 168 includes a restart job button 208 .
  • a user selects restart job button 208 in order to restart the translation process implemented by the computer aided design filed translation system of the present invention as described above with reference to FIGS. 1 - 14 .
  • cancel button 170 in order to cancel the advanced options features provided by way of application window 150 , thereby closing window 150 .
  • FIG. 17 illustrates a screen display in which pop-up “LogFileViewer” application window 154 is generated within generic CAD file overlay window 130 in response to selection of start button 152 of FIG. 15.
  • “LogFileViewer” application window 154 enables an operator to view a log file for a specific job that is identified by way of a job identification (JOBID).
  • Specific feature attributes can be entered via a sequence number data entry field 210 , a type data entry field 211 , a source identification entry field 212 , and a target layer data entry field 213 .
  • a creation status data display box 214 generates status information on the creation of the feature attribute.
  • a navigation filter match feature status pull-down menu 216 is also provided.
  • a navigation filter match feature type pull-down menu 218 is also provided.
  • An apply filters button 220 and a toggle status button 222 are furthermore provided.
  • Feature attribute information can be provided by way of a message box 224 .
  • an internal display 226 provides feature attribute information therein.
  • application window 154 includes navigation direction buttons comprising a first button 228 , a next down button 229 , a “down>>” button 230 , a next up button 231 , an “up ⁇ ” button 232 , and a last button 233 .
  • Selection of first button 228 grabs the first feature attribute.
  • Selection of button 229 moves to the next down feature attribute.
  • Selection of button 230 moves down to the very bottom of the feature attributes.
  • Selection of next up button 231 moves up one feature attribute.
  • Selection of button 232 moves to the top of the feature attributes list.
  • Selection of last button 233 moves to the very last feature attribute.
  • a find data entry field 234 enables a user to input a desired feature attribute, after which selection of “Find this I.D.” 235 causes the navigation to the feature attribute identification provider within data entry field 234 .
  • input of data (or an identification number) into data entry field 236 and selection of “Find this Sequence Number” 237 finds the respective identified sequence number.
  • a “Total Number of Features” data field 238 displays the total number of features and a number of features created successfully data field 239 displays the number of features that have been successfully created.
  • Such fields 238 and 239 are provided in a statistics format display 242 within application window 154 .
  • An “I Done” button 240 enables the designation that LogFileViewer utilization is done, thereby closing window 154 . Selection of a reload button 241 reloads the LogFileViewer, relaunching application window 154 .
  • FIG. 18 illustrates a pop-up graphical user interface feature identification/information application window 244 which is displayed within overlay window 130 in response to selection of import button 140 of FIG. 15.
  • Application window 244 includes a source feature identification field 246 , a feature information field 248 , and a translation options field 250 .
  • Source feature identification field 246 includes a source feature identification data entry field 252 , a feature type data entry field 254 , a Boolean type data entry field 256 , and a creation status data entry field 258 .
  • field 246 includes a reasons for interrupt scrollable display 260 .
  • Feature information field 248 includes a plurality of tab screens such as a summary tab screen 262 comprising a summary of the feature information.
  • a features parameters tab screen 264 includes information on feature parameters.
  • Translation options field 250 includes a continue button 266 that enables continuation of further translation options.
  • 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.
  • CAD Computer Assisted Design
  • a method 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.
  • 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.
  • 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.
  • the system 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 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.
  • 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.
  • 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.
  • FIG. 19 illustrates a solid cylinder 272 created by creating B-Rep Surfaces, such as cylindrical surface 274 and end surface 276 , to enclose a volume.
  • B-Rep Surfaces such as cylindrical surface 274 and end surface 276 .
  • These boundary surfaces can be created in a variety of ways including lofting, extruding, blending, sweeping, coons patch (specific mathematical method of creating a surface based upon its boundary curves), ruled surface, revolved surface, and others. Translation of these types of features is accomplished by converting the boundary surfaces along with their boundary curves to the target CAD system, enclosing the volume in the target CAD system and creating the solid.
  • 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 include just about any shape that can be sketched; however; they can still be driven by parameters by dimensionally constraining the sketches, and the extrusion depth, revolve angle, or sweep trajectory.
  • Complex geometric features can also be created by blending solid geometry between two or more sketches using suitable mathematical algorithms.
  • FIG. 20 illustrates a solid model geometry 278 created by extruding a circle section to create a cylinder, sweeping another circle along a trajectory to add a swept feature and revolving a complex section to create a revolved feature.
  • a first circle system is extended to form extended section 280 .
  • a second circle section (or sweep section) 282 is swept along a sweep trajectory 284 .
  • a complex section is revolved to create a revolved feature such as revolved section 286 .
  • Solid models are usually organized into individual parts that are then assembled to other part models to create assembly models. Parts and sub-assemblies may be assembled together to form a higher-level assembly. Different CAD systems use different methods to accomplish this. One is to create a separate assembly model that refers to the individual part or sub-assembly models file and contains assembly constraints and part (or sub-assembly) location and orientation information in the assembly. Another is to include each part (or sub-assembly) model in the assembly model as a separate entity. Some CAD systems use a combination of the two methods described above.
  • FIG. 21 illustrates two methods of storing assembly model data. Translation of assembly models will require mapping of these two main types of models from one to the other when the two CAD systems use the different assembly architectures.
  • Assembly model 288 is mapped into “Part 1” 289 , “Part 2” 290 , “Part 3” 291 , and sub-assembly 287 .
  • Sub-assembly 287 is mapped into “Sub-Assembly Part 1” 293 and “Sub-Assembly Part 2” 295 .
  • assembly model 288 is mapped into “Part 1” 1289 , “Part 2” 1290 , “Part 3” 1291 , and “Sub-Assembly” 1292 .
  • “Sub-Assembly” 1292 is mapped into “Sub-Assembly Part 1” 1293 and “Sub-Assembly Part 2” 1294 .
  • constraints can be geometric or dimensional for part feature geometry, and inter-part (or inter-sub-assembly) relational for assembly model geometry.
  • relations can be established between parameters of a single feature (intra-feature relations), multiple features in the same part model (inter-feature relations), or multiple features of two or more part (or sub-assembly) models in an assembly (inter-model file relations).
  • relations can be established between features of a model in which a specific sketch plane for a feature can be related to a specific face for an existing feature, or the dimensions or parameters for a section sketch can be related to an existing feature. In this way, model behavior can be controlled in the event changes are made to the model that affect features downstream, or other parts of the assembly.
  • FIG. 22 illustrates the relation with a part 292 between the location of a hole 296 and a revolve axis 294 of part 292 .
  • This type of information would be extracted from the source model and reconstructed in the target CAD system in a manner that is commonly used in the target CAD system.
  • Solids in these models can be assigned physical properties so that the “Solid Model” can now simulate various characteristics such as mass properties, static behavior, dynamic behavior, and others. These properties can be extracted from the source model and inserted into the target model as well.
  • the purpose of an operator toolset is to improve the efficiency of CAD model file translations by providing the operator with the information necessary to: recognize when and where the target model geometry is different from the source model geometry; complete the creation of geometric features that cannot be translated automatically by software; and allow for the conveyance of the necessary geometric information without requiring the operator to refer to the source CAD model file.
  • Applicant has developed a set of tools that does several things.
  • the set of tools shows the operator where the surfaces and edges of the corresponding geometric features of the other CAD model are located in relation to the target model.
  • the set of tools details the status of each geometric feature that was converted.
  • the set of tools informs the operator of the type of each geometric feature in the source model along with the methods and parameters used to construct them.
  • the set of tools displays the required parameters and references required to complete features that were not automatically constructed in the target CAD system.
  • Applicant's translation system uses the Geometric Analyzer (GA) that it has developed to determine if and where two CAD model files are geometrically different. Once the differences have been determined by the GA, the bad points are displayed in the target model file. By directly viewing these representations of where the surfaces and edges of the erroneous geometric features are supposed to be, the operator can determine the nature of the discrepancy.
  • GA Geometric Analyzer
  • FIG. 23 illustrates an exemplary target model 298 having bad points 300 .
  • Bad points 300 indicate an incorrectly translated fillet radius.
  • NURBS Non-Uniform Rational B-Spline Surface
  • FIG. 24 illustrates a surface 302 from the source model provided on the target model 298 . Accordingly, surface 302 enables an operator to visualize where an erroneous fillet surface should be on target model 298 .
  • Applicant has developed a Log File Viewer that provides the operator with essential information including feature regeneration status, feature identification mapping between the source and target CAD systems, and partial geometry identifications.
  • the operator can toggle the display parameters to display any combination of features including successfully completed features, failed features, and feature types. This allows the operator to quickly sort through the translated model file and get essential information on any feature desired.
  • the log file for each feature displays information regarding where to find a feature's construction geometry such as the section(s), and trajectory (if applicable). This allows the operator to quickly filter to the desired information and find the desired geometry in the target model file.
  • Certain feature types such as rounds (fillets) and drafts will have their defining parameter and reference information displayed to the operator. For example, if a fillet fails, then the associated model edges that are supposed to be filleted will be highlighted. In addition, the radius of the fillet will be displayed with a leader pointing to the specific edge or edges to which the radius is to be applied.
  • FIG. 25 illustrates a source model 297 for target model 298 (shown in FIGS. 23 - 25 ).
  • FIG. 25B illustrates a failed fillet 306 which has been annotated with defining parameters and references.
  • FIG. 26A illustrates a source model having a sweep feature 312 .
  • FIG. 26B illustrates a corresponding target model 310 having a sweep section 314 and a sweep trajectory 316 .
  • Target model 310 has failed to build sweep feature 312 correctly, but has placed the construction geometry into the model.
  • the surface representations that are described above in the Geometry Deviations section are very accurate representations of the individual surfaces that exist in the source model. These surfaces are automatically placed in the target model by Applicant's translation system in the event a feature fails. An operator can interactively use these surfaces to create a boundary representation (B-Rep) of the failed feature, thereby completing the feature.
  • the surfaces can also be used by the operator simply as an aid in determining what the specific feature should look like. If an operator decides to build the feature using parametric or other common techniques instead of a B-Rep, then the new feature can be compared to the surfaces as an alternative method of determining accuracy.
  • the surface could also be used to assist in generating necessary construction geometry for the feature by using its edges, or important intersections with other features as guides. Therefore, the surface can be a very powerful tool for the operator to finish features that for some reason could not be translated by software alone.

Abstract

A geometric model comparator is provided, which includes 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 model, 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 the respective one or more points from the source model. A method is also provided.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • 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. [0001]
  • 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.[0002]
  • TECHNICAL FIELD
  • This invention pertains to drawing conversion. More particularly, this invention relates to computer aided design file translation including a geometric model comparator. [0003]
  • BACKGROUND OF THE INVENTION
  • 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). [0004]
  • 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. [0005]
  • 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. [0006]
  • 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. [0007]
  • SUMMARY OF THE INVENTION
  • 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. [0008]
  • 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. [0009]
  • 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. [0010]
  • 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. [0011]
  • 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. [0012]
  • 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. [0013]
  • 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. [0014]
  • 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. [0015]
  • 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.[0016]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Preferred embodiments of the invention are described below with reference to the following accompanying drawings. [0017]
  • FIG. 1 is a block diagram overview of a basic system configuration of an exemplary system for implementing computer aided design file translation according to one embodiment of the present invention. [0018]
  • FIG. 2 is a block diagram of a representative geometric data comparison implementation performed via a translation engine of a computational geometry system according to the present invention. [0019]
  • FIG. 3 illustrates data input to a geometric analyzer and respective output in the form of files from the geometric analyzer for a stand-alone workstation embodiment. [0020]
  • FIG. 4 is a perspective view illustrating extraction of point cloud data from a source model which is recreated in a target model wherein distances between respective points and a corresponding surface are measured. [0021]
  • FIG. 5 illustrates an approximation of a cylindrical surface showing respective tessellation triangles when tessellating an exemplary curved, cylindrical surface. [0022]
  • FIG. 6 illustrates an exemplary tessellated curve with tessellation points, or point cloud data. [0023]
  • FIG. 7 illustrates an exemplary geometric model having a matrix of points created along a 3×4 surface, showing a 3×4 surface point cloud matrix. [0024]
  • FIGS. [0025] 8A-8B are simplified schematic diagrams illustrating the creation of a hole in a solid cube of material utilizing Pro/E.
  • FIGS. [0026] 9A-9D are simplified schematic diagrams illustrating the creation of a hole in a solid cube of material utilizing CATIA.
  • FIG. 10 is a block diagram illustrating the functional relationship of a staged translator having a translation engine for comparing source geometric data in a source geometric model of a first type with target geometric data of a target geometric model of a second type. [0027]
  • FIG. 11 illustrates mapping of a regeneration process when reordering a Boolean tree. [0028]
  • FIG. 12 illustrates an exemplary Boolean-based CSG tree. [0029]
  • FIG. 13 is a process flow diagram showing the logic processing for managing computational geometry translations by way of the geometric model comparator. [0030]
  • FIG. 14 is a process flow diagram showing the logic processing for implementing a geometric file conversion on a computer system having an interface. [0031]
  • FIG. 15 is a diagram of an interrupt interface application window within a generic CAD file overlay window of a user display. [0032]
  • FIG. 16 is a diagram of a screen display of a pop-up advanced options application window within a generic CAD overlay window of a user display. [0033]
  • FIG. 17 is a diagram of a screen display in which a pop-up “LogFileViewer” application window is generated within a generic CAD file overlay window in a screen display. [0034]
  • FIG. 18 is a diagram of a screen display for a pop-up graphical user interface feature identification/information application window within an overlay window in the screen display. [0035]
  • FIG. 19 is a simplified schematic diagram illustrating a solid cylinder created by generating B-Rep surfaces in order to enclose a volume. [0036]
  • FIG. 20 is a simplified schematic diagram illustrating a solid model geometry created by extruding a circle section to create a cylinder, sweeping another circle along a trajectory to add a swept feature, and revolving a complex section to create a revolve feature. [0037]
  • FIGS. 21A and B are simplified schematic data flow charts illustrating two methods for storing assembly model data. [0038]
  • FIG. 22 is a simplified schematic diagram illustrating a relationship between the location of a hole and a revolve axis of a part identified in a model. [0039]
  • FIG. 23 is a simplified schematic diagram illustrating an exemplary target model having bad points. [0040]
  • FIG. 24 is a simplified schematic diagram illustrating a surface from a source model provided on a target model. [0041]
  • FIG. 25 is a simplified schematic diagram illustrating a source model for a target model having a failed fillet that is annotated with defining parameters and references. [0042]
  • FIG. 26 is a simplified schematic diagram illustrating a source model having a sweep feature in a target model that has failed to build a sweep feature, but has placed construction geometry in the model.[0043]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • 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” ([0044] Article 1, Section 8).
  • 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. [0045]
  • 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. [0046]
  • 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. [0047]
  • FIG. 1 illustrates a preferred embodiment of Applicant's invention wherein a basic system configuration is provided for comparing input data with output data, identifying geometric information from a target model that falls outside of a tolerance range relative to respective geometric information from a respective source model, and is identified with [0048] reference numeral 10. Geometric model comparator 10 is provided by a computer aided design (CAD) file translation system 12. In one form, system 12 is implemented in a distributed manner across a local area network (LAN) 11, such as a client/server network 13, within a LAN environment. However, it is understood that system 12 can also be implemented on a single, stand-alone workstation, such as on a central personal computer.
  • As shown in FIG. 1, [0049] system 12 is implemented across a client/server network 13 having a plurality of clients 14 connected via a communication link 15 with a server 16. In one form, communication link 15 comprises a local area network (LAN) connection 17. According to alternative constructions, a plurality of servers similar to server 16 are included within LAN 11. Further alternatively, server 16 and client 14 can be provided by the same device for the case of a stand-alone workstation. Optionally, for the case of a distributed client/server network implementation server 16 can include a client, similar to client 14. Even furthermore, system 12 can include a single client 14, according to an alternative construction. System 12 also includes a printer 18 provided within LAN 11.
  • As shown in FIG. 1, [0050] client 14 in one construction comprises a client computer having a central processing unit (CPU) 20, memory 22, a user interface 24, a keyboard 26, a mouse 28, a geometric analyzer 58, and specialized program code 62 including a source and target model comparator 55 and specialized program code 64 that cooperates with server 16 to extract, generate, compare and display. Geometric analyzer 58 also includes comparison circuitry 53. Although not shown in FIG. 1 in order to simplify the drawings, it is understood that all of clients 14 are similarly constructed.
  • 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 [0051] LAN 11, that includes an interface 24 for enabling a user to interact with client 14 and server 16 such that a user can be notified of important events via an interrupt interface 44. Even furthermore, “client” is intended to encompass the case of a stand-alone workstation, a computer, or a workstation that includes a server similar to server 16. It is further understood that a “client” can include other software components such as a database 36 and an operation manger 38, when constructed as a stand-alone workstation.
  • 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. [0052]
  • More particularly, [0053] server 16 includes a central processing unit (CPU) 32, memory 34, database 36, and operation manager 38. Within server 16, CPU 32 includes processing circuitry 46 that communicates with memory 34 in processing data 52 within a database 36 as well as handling program code 60 within operation manager 38. Database 36 includes one or more model files 48 for storing models 50 comprising data 52. Operation manager 38 comprises a production control module 54 including a staged translator 56 in which program code 60 is provided for forwarding one or more instruction sets to clients 14 to cause program code 64 to extract, generate, compare and/or display CAD models (or files).
  • With respect to [0054] client 14, user interface 24 includes an output device 40 which, in one form, comprises a user display 42 and interrupt interface 44. Geometric analyzer 58 includes program code 62, as described below in greater detail.
  • In order to implement computer aided design (CAD) file translation, [0055] geometric model comparator 10 utilizes geometric analyzer 58 to compare CAD files using point cloud extraction, as discussed below in greater detail. CAD file translation system 12 converts a first CAD file that is associated with a first CAD program into a second CAD file associated with a second CAD program. Geometric analyzer 58 then determines if a translated CAD file is “geometrically identical” to the original source CAD file from which it was translated. For purposes of this disclosure, the term “geometrically identical” is understood to mean geometrically substantially the same, within an acceptable predetermined geometric tolerance. In operation, geometric analyzer 58 implements point cloud analysis, including the identification and analysis of tessellated point cloud types, surface point cloud types, and edge point cloud types, as discussed below in greater detail.
  • More particularly, [0056] geometric analyzer 58 determines if a translated, target CAD model (or file) is geometrically identical to an original, source CAD model (or file). In order to make this determination, geometric analyzer 58 implements a comparison of surface and boundary edges for each respective file. Subsequently, a reverse point cloud analysis is then performed utilizing points that are extracted from the target (or output) file, which is then compared to the source (or input) file.
  • 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 FIG. 4, these points lie either on the surfaces of an individual geometric feature, or they lie on one of the boundary edge curves. These extracted points are then recreated in the target CAD model file, after which distances between the points and the adjacent surfaces and edges are measured. [0057] Geometric analyzer 58 then implements point cloud analysis, following implementation of the point cloud extraction, in order to compare the surface and boundary edges of each respective file. It is understood that point cloud analysis of geometric analyzer 58 can be run as a stand-alone apparatus. Alternatively, point cloud analysis can be run as a CAD application that is implemented in accordance with proprietary software and an appropriate software license obtained from a respective CAD application developer.
  • For the case where a [0058] system 12 is implemented as a stand-alone apparatus or workstation, system 12 is not required to use proprietary CAD programs for performing analysis (as sold commercially). Therefore, such a stand-alone apparatus does not require the use of dedicated CAD workstations with proprietary CAD programs that incur relatively expensive royalties for using such proprietary CAD programs in order to perform analysis. Such a stand-alone CAD workstation has the capability to check points more rapidly because of the ability to optimize such a workstation for a specific purpose. In performing point cloud analysis, the distance between each point and an associated surface or edge is measured. Such measured distances are recognized as being acceptable when they fall within a relatively small (or minimal) threshold value, unless the surface in the output (or target) file has been incorrectly defined, in which case a user at interrupt interface 44 is notified of such a discrepancy.
  • In operation, [0059] geometric analyzer 58 of client 14 is configured to determine if a translated target geometric model file is geometrically identical to the original source geometric model file from which it was translated. In one case, source and target geometric model files each comprise respective CAD files. Geometric analyzer 58 is used to inspect such respective files by measuring the surfaces and boundary edges on all geometric features present in one CAD file, and then compare the respective surfaces and boundary edges to the corresponding surfaces and boundary edges in the other respective file. For example, the measured surfaces and boundary edges from a source geometric model file are compared with the measured surfaces and boundary edges of the respective target geometric model file.
  • More particularly, in one case [0060] geometric analyzer 58 performs a forward inspection by comparing surfaces and boundary edges in a source geometric model file with surfaces and boundary edges in a target geometric model file. Alternatively or additionally, a reverse inspection is performed by geometric analyzer 58 wherein surfaces and boundary edges of a target geometric model file are compared with surfaces and boundary edges of a source geometric model file.
  • [0061] Server 16 of FIG. 1 includes database 36 which is configured to store input data of a source model. Processing circuitry 46 is configured to convert the input data of the source model into corresponding output data of the target model. Geometric analyzer 58 includes a source and target model comparator that is configured to compare the input data with the corresponding output data to identify geometric discrepancies between the input data and the output data.
  • [0062] Geometric analyzer 58 enables measurement of such surfaces and boundary edges, then facilitates the reporting of measured and compared results to an operator at a user interface 24 of client 14. Geometric analyzer 58 implements point cloud analysis in order to perform measurements between the surfaces and boundary edge curves of the source model and the target model. More particularly, geometric analyzer 58 uses points that were previously extracted from the source model file. Such points either lie on the surfaces of the individual geometric features of a model, or such points lie on one of the boundary edge curves of the model. The respective points are then recreated in the target model file, after which distance is measured between each point and respective adjacent surfaces and edges.
  • 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, [0063] geometric analyzer 58 extracts points from the target model file, then recreates the points in the source model file. Afterwards, geometric analyzer 58 measures distances between the points and their appropriate surface or boundary edge curve of the target model file and the source model file.
  • 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. [0064]
  • FIG. 2 illustrates the translation process between a source CAD file and a target CAD file utilizing the computer aided design file translation system of FIG. 1. More particularly, [0065] translation engine 57 of staged translator 56 (see FIG. 1) receives a source CAD file 63 by way of a secure file transfer 61 from a customer 59. Translation engine 57, by way of a process implemented for the computer aided design file translation system of the present invention, converts source CAD file 63 into a target CAD file 65. The target CAD file 65 is then transferred via a secure file transfer 67 back to customer 59. One technique for implementing the secure file transfer 61 and 67 entails utilizing secure file transfer over the Internet by uploading and downloading files securely over the Internet via one or more secure servers.
  • Upon uploading a [0066] source CAD file 63 to a translation provider's web site, a job description profile is preferably generated. File 63 is then passed to a pre-processing station, configured as a design intent source analyzer 88, which performs design intent analysis, and identifies any pre-processing tasks that are required in order to prepare the file for a translation production line.
  • Subsequent to processing, resulting file geometry data is then converted into a target CAD file format utilizing native-to-[0067] native geometry converter 90. After such conversion, the target CAD model file is compared to the source CAD model file using a mirror-model comparator 92. Any discrepancies found as a result of source-target file comparison are then conveyed to a human translator in the form of a text report and a visual display that is provided in the target CAD model. The target CAD file is then modified via an operator-assisted conversion process 94 in order to eliminate any discrepancies. The file is then re-compared to the source CAD model as a final quality assurance (QA) 96, and is then sent back to the customer via the Internet.
  • As shown in FIG. 3, all of the surfaces and associated trim curves are required to be extracted from both the source CAD model file and the target CAD model file, after which the extracted associated trim curves are stored in geometric analyzer [0068] 58 (of FIG. 1). More particularly, surface data 110 from the source file and surface data 112 from the target file, along with trim curve 114 from the source file and trim curve data 116 from the target file, are input into geometric analyzer 58. Source point cloud data 118 is then analyzed against target surface/ trim curve data 110, 114, and target point cloud data 120 is analyzed against source surface/ trim data 112, 116, as shown in FIG. 3. Bad point cloud files 122, 124 are then imported into respective CAD model files in order to display them to an operator or user, typically via interrupt interface 44 of client 14 (of FIG. 1). Utilizing the CAD software's internal geometry analysis tools, an operator can measure the distance from each individual point to an associated edge or curve in order to ascertain the magnitude and cause of a deviation. Furthermore, an analysis algorithm 128 of geometric analyzer 58 generates a point cloud analysis report 126.
  • In order to implement point cloud extraction, geometric analyzer [0069] 58 (of FIGS. 1 and 3) performs three different types of point cloud analysis: tessellated point cloud analysis; surface point cloud analysis; and edge point cloud analysis. A description of each of these different types of point cloud analysis is described below with reference to FIGS. 4-7.
  • [0070] Operation manager 38 includes a native-to-native geometry conversion system within program code 60. When such system translates a CAD model file, each geometric feature is scrutinized using translator software within staged translator 56; namely, via program code 60. The translator software is operative to extract point cloud data by forwarding an instruction set to clients 14 that cooperates with program code 64 for directing extraction of point cloud data. In order to assure that points are extracted accurately, the distance between points and their corresponding associative entities (surfaces and curves) in the source model file are measured using extraction software within program code 64. All points that do not lie directly on a surface or an edge curve are then deleted. This step is necessary in order to protect against algorithmic errors that are potentially present in CAD system software. Remaining points are then stored in a file which is labeled according to type: tessellated; surface; or edge. In a similar manner, when a file translation has been completed, point cloud data is extracted from the target file and is then stored in memory 22.
  • [0071] System 12 implements point cloud analysis by way of geometric analyzer 58. When a user or operator of client 14 runs geometric analyzer 58, appropriate point cloud files are read by geometric analyzer 58. Such implementation occurs whether system 12 is implemented across a client server network environment or via a stand-alone workstation. The points are then compared against their corresponding entities by measuring the distance between each respective point and the nearest edge or surface that is present in the other CAD file. Points which have been extracted from the source are then measured in the target file, and points extracted from the target are measured in the source file. Surface points are then measured distance-wise against surfaces, and edge points are measured against edge curves.
  • 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. [0072]
  • When [0073] geometric analyzer 58 has measured all of the points in the point cloud file(s), the points that are left over in the model file are points that do not lie directly on (or within a tolerance range) of any surface or edge. Such points represent differences in the geometry between the two files. The coordinates of these points are then saved in a separate file that is appropriately labeled “Bad Point File”. Where a forward check is performed, a bad point file is created from the source. Where a reverse check is performed, a bad point file is created from the target. The distance from this point to the associated curve or surface comprises the magnitude of the deviation in geometry at that specific point in space.
  • FIG. 4 illustrates point cloud data that is extracted from a [0074] source model 45 and recreated in a target model 45′. The distance between respective points 47 and 47′ on the corresponding surface is then measured. The resulting deviation from point 47 to the associated curve or surface (of source model 45 and target model 45′) is the magnitude of the deviation geometry at that specific point in space.
  • [0075] Geometric analyzer 58 also identifies different point cloud types. Each of the three previously identified types of point cloud data is extracted separately utilizing a CAD file translation engine provided by staged translator 56; namely, via program code 60 which sends instructions to clients 14. Each type of point cloud data is described below in greater detail. Geometric analyzer 58 uses each point cloud type in order to maximize the advantages of each, while minimizing relative disadvantages. Geometric analyzer 58 uses a tessellated point cloud type in order to quickly find missing features and gross differences in relative geometry. Surface point cloud types are used to very accurately determine differences between surfaces, as well as to verify the dimensional integrity of features. Edge point cloud types are used to verify boundary accuracy and can provide detailed correction information to an operator.
    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)
  • Tessellated Point Cloud [0076]
  • Referring to FIG. 5, tessellation comprises the process of generating [0077] flat triangles 70 that approximate a curved surface of a modeled object. This process typically involves the creation of a series of points 66 that lie on a surface 68. Subsequent to generating points 66, points 66 are joined into a mesh of triangles 70. Accordingly, the vertices 69 of the triangles 70 lie on surface 68, whereas the edges 71 of the triangles may deviate from the surface.
  • The density of [0078] points 66 on cylindrical surface 68, the spatial distribution of points 66, and the number of triangles 70 that are created are often controlled using two parameters: first, chord length; and secondly, angle deviation. These parameters are best described below using the example of a tessellated curve (see FIG. 6).
  • In FIG. 6, a [0079] tessellated curve 72 for a boundary curve 73 of a geometric model is shown with a plurality of tessellation points 74-78. As shown, chord length is the maximum distance allowed between a particular line segment 80 and boundary curve 73. The angle deviation (or angle control) defines a maximum allowed angular deviation of the edges of the triangles from a tangent to the curve at the vertex. More particularly, as the curvature of the edge curve becomes greater, the individual line segments that make up a tessellated surface will inherently become smaller. This is necessary in order to maintain the specified chord length and angle deviation. Accordingly, this automatically increases the number of points generated in regions of high curvature. Similar to tessellated curves, tessellated surfaces are still controlled by a chord height, and angular control. Chord height is the largest distance that any given triangular surface is allowed to deviate from a surface being approximated. As a result, the “point cloud” used to create the vertices of all of the triangular surfaces automatically becomes denser in areas of relatively high curvature.
  • 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 [0080] geometric analyzer 58 analyzes all the points which are created using the tessellation engine of the CAD system, and automatically rejects all points that are not provided exactly on the surface of the model.
  • Surface Point Cloud [0081]
  • As shown in FIG. 7, surface point cloud data is extracted by stepping along each individual surface in a U parameter direction and a V parameter direction, creating points at predetermined parameter intervals. Such a method creates a matrix of [0082] points 82 along a surface, such as surfaces 84 and 86. For example, surface points 82 are shown evenly distributed about each of surfaces 84 and 86 of an object in FIG. 7.
  • Edge Point Cloud [0083]
  • 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 FIG. 7) and creating evenly dispersed points that lie on the edge, edge point cloud data can be generated. The respective faces of a solid, by way of example, can comprise trimmed surfaces that form a bounding surface for the volume of the solid. The edge surfaces are typically parametric curves. The resulting evenly dispersed points are generated by stepping along the curve parameter using a predetermined parameter interval. [0084]
  • Point Cloud Analysis [0085]
  • Once all the point cloud data has been generated with [0086] geometric analyzer 58 using the above-described techniques, three-dimensional coordinates for the resulting point cloud data are stored in files according to type. By using presently available programming interface functions of each respective CAD software, these points are created in an appropriate CAD model file. For example, API functions are available for use. The tessellated and surface point clouds are then analyzed by measuring the distance from each individual point to the nearest surface. Edge point clouds are measured to the nearest edge curve. If the resulting distance is equal to zero, or is smaller than a tolerance that has been previously specified in geometric analyzer 58, then the point is deleted from the model. Any points remaining in the model file after analysis is complete are then classified as geometry errors and their coordinates are stored in a separate geometry error file such as bad point files 122 and 124 of FIG. 3.
  • 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, [0087] geometric analyzer 58 is required to measure the distance from each edge point to each edge within a given model. In models having relatively large numbers of surfaces, edges and points, this analysis can be relatively intensive and time consuming.
  • 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. [0088]
  • 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. [0089]
  • Point Cloud Analysis (Stand-Alone Analyzer) [0090]
  • According to an alternative construction where [0091] system 12 is implemented within a stand-alone workstation, system modifications are made in order to speed up analysis. In the past, the use of a CAD system's internal tools to measure distances from points to curves and surfaces has typically been a relatively slow process. A slow process results because the analysis tends to be subject to the speed limitations of the CAD software itself. The CAD software is typically busy doing several other operations; for example, one operation entails displaying a complex image to an operator. Accordingly, relatively slow operating speed can result from speed limitations and other operations.
  • For the case of a stand-alone workstation version of system [0092] 12 (and geometric analyzer 58), increases in speed of analysis are implemented by modifying the implementation procedure. Accordingly, point cloud densities can be increased, which in turn improves the accuracy of analysis.
  • 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. [0093]
  • 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. [0094]
  • Design Intent Source Analysis [0095]
  • With reference to design intent source analyzer [0096] 88 (of FIG. 2), there are three purposes for design intent source analysis: First, design intent source analysis is performed to evaluate the “manufacturing design intent” of the source CAD file to assist in the feature mapping between the source and target CAD systems. Secondly, design intent source analysis is performed to provide process mapping and routing details to the translation production line. Finally, design intent source analysis is performed to predict the cost of the translations and to convey a quotation back to a customer that has requested translation services.
  • 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. [0097]
  • 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 FIG. 8. FIG. 8A illustrates a model of a solid cube comprising solid base material. FIG. 8B illustrates a hole which has been inserted on a face of the cube by a Pro/E designer who has created a hole in the solid material of the cube by specifying the surface and location for the hole, and the hole dimensional parameters. In contrast, FIGS. [0098] 9A-D illustrate how a CATIA designer would create a hole by creating a solid cylinder having a desired dimension, locating the cylinder and orienting it relative to the solid cube in which it is desired to put a hole, and then subtracting the solid cylinder from the base solid cube material. Accordingly, the same function in CATIA is accomplished by creating a solid cylinder, locating and orienting the cylinder relative to the cube model, and subtracting the solid cylinder from the remainder of the cube model. FIG. 9A illustrates the cube comprising a solid base material. FIG. 9B illustrates creation of the solid cylinder. FIG. 9C illustrates a cylinder, located and oriented in a desired configuration. FIG. 9D shows the cylinder after it has been subtracted from the base, or cube. Table 2, below, illustrates in summary a natural method mapping for a Pro/E CAD file feature as well as a CATIA CAD file feature map.
    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
  • 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. [0099]
  • 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. [0100]
  • Native-to-Native Geometry Conversion [0101]
  • 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. [0102]
  • There are two major steps to the native-to-native geometry conversion process of converter [0103] 90 (see FIG. 2). First, there is a source to Applicant's model format (an intermediate format) conversion. Secondly, there is Applicant's model to target file conversion.
  • 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. [0104]
  • 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. [0105]
  • Geometric Model Comparison [0106]
  • 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. [0107]
  • 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. [0108]
  • 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. [0109]
  • 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. [0110]
  • 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. [0111]
  • 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. [0112]
  • As shown in FIG. 10, staged [0113] translator 56 includes a translation engine 57. Translation engine 57 implements conversion/translation and analysis/inspection when converting from a source CAD model (or file) (or a CAD file that a customer wishes to convert from) to a target CAD model (or file) (or a CAD file that a customer wishes to convert to). For example, various different source CAD files and target CAD files are shown in FIG. 10. For example, a Pro/E CAD file 100, an SDRC CAD file 101, and a Unigraphics CAD file 102 each comprise source CAD files; whereas, a CATIA CAD file 103, a SolidWorks CAD file 104, and an AutoCAD file 105 each comprise target CAD files.
  • The translator implementation of FIG. 10 enables a relatively efficient quotation process when the system of the present invention is used to implement staged translation for a third party desiring translation of drawings from a source CAD file into a target CAD file. Such a process entails: reviewing source CAD model geometric features using feature statistics; implementing design intent analysis and feature parsing; and estimating conversion costs based upon the number of features, and the types of features identified. [0114]
  • FIG. 11 illustrates the mapping of a regeneration process comprising the reordering of a Boolean tree. FIG. 11 illustrates a feature based Boolean tree. FIG. 12 illustrates a respective Boolean based CSG tree. By mapping the regeneration process using the feature based tree of FIG. 11 and the Boolean based CSG tree of FIG. 12, the manner in which errors can be easily and serially displayed to a technician in a serial manner and in a target CAD file are readily apparent. A technician can complete features that the software cannot properly complete (as identified by an interrupt interface). Furthermore, the technician can additionally or alternatively repair any errors that exist within the geometry as identified by the system. [0115]
  • Overall Implementation [0116]
  • In order to implement the computerized design model (or file) translation system features of the present invention, the following methodology is carried out. In [0117] 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.
  • According to [0118] 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).
  • In [0119] 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.
  • In [0120] 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.
  • FIG. 13 illustrates by way of example one method for managing computational geometry system translations by way of a geometric model comparator that utilizes point cloud features as well as a forward check, a backward check, and/or forward-backward check. In this manner, selected points can be identified from a source model (or file) and corresponding selected points can be generated in a target model (or file). The selected points are compared 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. A geometric model comparator compares the input data with corresponding output data and identifies any geometric discrepancies between the input data and the output data. [0122]
  • As shown in FIG. 13, a logic flow diagram illustrates the steps of implementing such a geometric model comparator. [0123]
  • 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”. [0124]
  • 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”. [0125]
  • 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”. [0126]
  • 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”. [0127]
  • 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”. [0128]
  • 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”. [0129]
  • 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”. [0130]
  • 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. [0131]
  • FIG. 14 illustrates by way of another example a machine-executed method for implementing a geometric file conversion on a computer system including an interface. In Step “S1”, a source geometric model is received at a computer. After performing Step “S”, the process proceeds to Step “S2”. [0132]
  • In Step “S2”, the source geometric model is stored in memory of the computer. After performing Step “S2”, the process proceeds to Step “S3”. [0133]
  • In Step “S3”, the source geometric model is converted into a target geometric model. After performing Step “S3”, the process proceeds to Step “S4”. [0134]
  • 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”. [0135]
  • In Step “S5”, target comparison reference data is extracted from the target geometric model. After performing Step “S5”, the process proceeds to Step “S6”. [0136]
  • 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”. [0137]
  • 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”. [0138]
  • 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. [0139]
  • FIGS. [0140] 15-18 illustrate by way of example a serial interrupt interface 44 as seen from a client by a user or operator and comprising a generic CAD file overlay, or window, 130. Interrupt interface 44 is provided by way of a user display 42. User display 42 provides one implementation for a user interrupt 24 triggered by detecting a discrepancy or a problem in generating a target geometric model. Such user interface features are implemented on a client/server computer system and are presented below to illustrate one implementation of Applicant's system and method for providing a serially progressive interrupt interface with a background operation manager when translating a source geometric model to a target geometric model using a computational geometry system. According to one implementation, the computer aided design file translation system comprises a serially progressive interrupt interface which is provided by way of a pop-up interrupt interface application window 132 which is displayed within generic CAD file overlay window 130.
  • As shown in FIG. 15, a graphical user interface on a client such as the display screen is used to display serial interrupt [0141] interface 44 via displaying interrupt interface application window 132 within overlay window 130. With respect to FIGS. 15-18, each screen contains icons, or triggers, that may be clicked on in order to select different items and/or in order to navigate between screens.
  • FIGS. [0142] 15-18 each form diagrams of exemplary screen displays that the geometric model comparator and computer aided design file translation system provides to a user or operator during various steps when serially interrupting the operator when translating a source geometric model file to a target geometric model file and their existent inability to automatically accurately create geometry from the source geometric model file to the target geometric model file. For purposes of this disclosure, it is understood that a screen displays a portion of the computer aided design file translation system, and that the screen includes a window which is a predefined part of virtual space. Accordingly, a screen can include selection buttons, pop-up menus, pull-down menus, icons, links, buttons, scrolling lists, data entry fields, embedded content objects, radio buttons, check boxes, and other usable and selectable items that are capable of being configured or selected with a cursor using a tactile input such as a pointer, a mouse, and/or a keyboard or a button.
  • FIG. 15 illustrates one exemplary interrupt [0143] interface application window 132 that pops up within generic CAD file overlay window 130 in response to the computational geometry system encountering a problem or inability to automatically create an accurate geometry when translating from a source geometric model to a target geometric model. One exemplary problem that creates an inability to automatically create an accurate geometry results when the computational geometry system determines the presence of any identified discrepancies in response to comparing the geometric data between the source geometric model and the target geometric model.
  • The interrupt [0144] interface application window 132 of FIG. 15 includes a “Continue Options” field 134, an advanced options field 136, and a “LogFileViewer” field 138. “Continue Options” field 134 includes an import button 140 that selectively configures with a “Next Feature” check box 142 or a “Feature I.D.” check box 144. “Feature I.D.” check box 144 also includes a data entry field 146 for entering a desired feature identification. Such feature is entered into data entry field 146 after which check box 144 is selected such that the desired feature identification is imported when selecting import button 140. Such action continues operation or stops the translation process back up, starting with the next feature (if check box 142 is selected), or starts the process back up at the identified feature selected by way of check box 144 and data entry field 146. Advanced options field 136 includes an options button 148 that generates pop-up advanced options application window 150 of FIG. 16. “LogFileViewer” field 138 includes a start button 152 that launches a pop-up “LogFileViewer” application window 154, as shown in FIG. [17.
  • FIG. 16 illustrates the generation of pop-up advanced [0145] options application window 150 within generic CAD overlay window 130 of user display 42. More particularly, pop-up application advanced options application window 150 comprises an import single feature field 156, an import feature surfaces field 158, an import single surface field 160, an import section field 162, an import feature edges field 164, an import surface edges field 166, and a restart field 168. Furthermore, window 150 includes a cancel button 170 which triggers closure of window 150.
  • Import [0146] single feature field 156 includes a data entry (or text) field 172 for inputting an import single feature identification number (or alpha-numeric) identifier. Import single feature field 156 also includes a union check box 174, a subtraction check box 176, and an intersect check box 178. Selection of boxes 174-178 in combination with input of an identification number within field 172 enables the selection of that import single feature by way of a union, a subtraction, or an intersection, respectively. After designation of the appropriate check box and input of the identification number, an import button 180 is selected by a user to import such single feature in the manner designated by the selection of the respective check box amongst check boxes 174-178.
  • Import feature surfaces [0147] field 158 includes a data entry (or text) identification field 182, a volume check box 184, a trim check box 186, and an import button 188. Insertion of data within field 182, selection of the appropriate check box 184 or 186, and selection of import button 188 causes importation of the identified feature surfaces by way of volume or trim, respectively.
  • Import [0148] single surface field 160 includes an import single surface identification data entry (or text) field 190, a trim check box 192, and an import button 194. A user provides an identification data entry number within field 190, selects trim check box 192, and import button 194 in order to cause import of a single surface having the desired identification and respective trim characteristic.
  • [0149] Import section field 162 includes an import section identification data entry (or text) field 196 and an import button 198. A user provides the identification within field 196 and then selects import button 198 in order to import the identified section.
  • Import feature edges [0150] field 164 includes an import feature edges identification data entry (or text) field 200 and an import button 202. A user imports an appropriate identification within field 200 and selects import button 202 in order to import the identified feature edge.
  • Import surface edges [0151] field 166 includes an import surface edges identification data entry (or text) field 204 and an import button 206. A user merely inputs an identification number within field 204 and selects import button 206 in order to import the identified surface edge. Restart field 168 includes a restart job button 208. A user selects restart job button 208 in order to restart the translation process implemented by the computer aided design filed translation system of the present invention as described above with reference to FIGS. 1-14. Finally, a user merely selects cancel button 170 in order to cancel the advanced options features provided by way of application window 150, thereby closing window 150.
  • FIG. 17 illustrates a screen display in which pop-up “LogFileViewer” [0152] application window 154 is generated within generic CAD file overlay window 130 in response to selection of start button 152 of FIG. 15. “LogFileViewer” application window 154 enables an operator to view a log file for a specific job that is identified by way of a job identification (JOBID). Specific feature attributes can be entered via a sequence number data entry field 210, a type data entry field 211, a source identification entry field 212, and a target layer data entry field 213. A creation status data display box 214 generates status information on the creation of the feature attribute. A navigation filter match feature status pull-down menu 216 is also provided. Furthermore, a navigation filter match feature type pull-down menu 218 is also provided. An apply filters button 220 and a toggle status button 222 are furthermore provided. Feature attribute information can be provided by way of a message box 224. Furthermore, an internal display 226 provides feature attribute information therein.
  • Furthermore, [0153] application window 154 includes navigation direction buttons comprising a first button 228, a next down button 229, a “down>>” button 230, a next up button 231, an “up<<” button 232, and a last button 233. Selection of first button 228 grabs the first feature attribute. Selection of button 229 moves to the next down feature attribute. Selection of button 230 moves down to the very bottom of the feature attributes. Selection of next up button 231 moves up one feature attribute. Selection of button 232 moves to the top of the feature attributes list. Selection of last button 233 moves to the very last feature attribute.
  • A find [0154] data entry field 234 enables a user to input a desired feature attribute, after which selection of “Find this I.D.” 235 causes the navigation to the feature attribute identification provider within data entry field 234. Likewise, input of data (or an identification number) into data entry field 236 and selection of “Find this Sequence Number” 237 finds the respective identified sequence number. A “Total Number of Features” data field 238 displays the total number of features and a number of features created successfully data field 239 displays the number of features that have been successfully created. Such fields 238 and 239 are provided in a statistics format display 242 within application window 154. An “I Done” button 240 enables the designation that LogFileViewer utilization is done, thereby closing window 154. Selection of a reload button 241 reloads the LogFileViewer, relaunching application window 154.
  • FIG. 18 illustrates a pop-up graphical user interface feature identification/[0155] information application window 244 which is displayed within overlay window 130 in response to selection of import button 140 of FIG. 15. Application window 244 includes a source feature identification field 246, a feature information field 248, and a translation options field 250. Source feature identification field 246 includes a source feature identification data entry field 252, a feature type data entry field 254, a Boolean type data entry field 256, and a creation status data entry field 258. Furthermore, field 246 includes a reasons for interrupt scrollable display 260. Feature information field 248 includes a plurality of tab screens such as a summary tab screen 262 comprising a summary of the feature information. A features parameters tab screen 264 includes information on feature parameters. Translation options field 250 includes a continue button 266 that enables continuation of further translation options.
  • Translation Process Overview—[0156]
  • Translation Process Principles [0157]
  • 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. [0158]
  • 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. [0159]
  • 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”. [0160]
  • 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. [0161]
  • Geometry Types [0162]
  • B-Rep Solid Geometry [0163]
  • 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. [0164]
  • FIG. 19 illustrates a [0165] solid cylinder 272 created by creating B-Rep Surfaces, such as cylindrical surface 274 and end surface 276, to enclose a volume. These boundary surfaces can be created in a variety of ways including lofting, extruding, blending, sweeping, coons patch (specific mathematical method of creating a surface based upon its boundary curves), ruled surface, revolved surface, and others. Translation of these types of features is accomplished by converting the boundary surfaces along with their boundary curves to the target CAD system, enclosing the volume in the target CAD system and creating the solid.
  • Constructive Solid Geometry (CSG) [0166]
  • 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 include just about any shape that can be sketched; however; they can still be driven by parameters by dimensionally constraining the sketches, and the extrusion depth, revolve angle, or sweep trajectory. Complex geometric features can also be created by blending solid geometry between two or more sketches using suitable mathematical algorithms. [0167]
  • FIG. 20 illustrates a [0168] solid model geometry 278 created by extruding a circle section to create a cylinder, sweeping another circle along a trajectory to add a swept feature and revolving a complex section to create a revolved feature. A first circle system is extended to form extended section 280. A second circle section (or sweep section) 282 is swept along a sweep trajectory 284. A complex section is revolved to create a revolved feature such as revolved section 286.
  • Translation of these types of features is accomplished by extracting the pertinent parameters, sections, trajectories, and other associated geometry from the source model, and recreating them in the target CAD system using the same or equivalent construction geometry and parameters. [0169]
  • Assembly Models [0170]
  • Solid models are usually organized into individual parts that are then assembled to other part models to create assembly models. Parts and sub-assemblies may be assembled together to form a higher-level assembly. Different CAD systems use different methods to accomplish this. One is to create a separate assembly model that refers to the individual part or sub-assembly models file and contains assembly constraints and part (or sub-assembly) location and orientation information in the assembly. Another is to include each part (or sub-assembly) model in the assembly model as a separate entity. Some CAD systems use a combination of the two methods described above. [0171]
  • FIG. 21 illustrates two methods of storing assembly model data. Translation of assembly models will require mapping of these two main types of models from one to the other when the two CAD systems use the different assembly architectures. [0172] Assembly model 288 is mapped into “Part 1” 289, “Part 2” 290, “Part 3” 291, and sub-assembly 287. Sub-assembly 287 is mapped into “Sub-Assembly Part 1” 293 and “Sub-Assembly Part 2” 295. According to another method, assembly model 288 is mapped into “Part 1” 1289, “Part 2” 1290, “Part 3” 1291, and “Sub-Assembly” 1292. “Sub-Assembly” 1292 is mapped into “Sub-Assembly Part 1” 1293 and “Sub-Assembly Part 2” 1294.
  • Constraints, Relations, Associations, and Solid Properties [0173]
  • It is common for most modern CAD software systems to assign constraints to their solid model geometry. These constraints can be geometric or dimensional for part feature geometry, and inter-part (or inter-sub-assembly) relational for assembly model geometry. In addition, relations can be established between parameters of a single feature (intra-feature relations), multiple features in the same part model (inter-feature relations), or multiple features of two or more part (or sub-assembly) models in an assembly (inter-model file relations). For example, relations can be established between features of a model in which a specific sketch plane for a feature can be related to a specific face for an existing feature, or the dimensions or parameters for a section sketch can be related to an existing feature. In this way, model behavior can be controlled in the event changes are made to the model that affect features downstream, or other parts of the assembly. [0174]
  • FIG. 22 illustrates the relation with a [0175] part 292 between the location of a hole 296 and a revolve axis 294 of part 292. This type of information would be extracted from the source model and reconstructed in the target CAD system in a manner that is commonly used in the target CAD system.
  • The solids in these models can be assigned physical properties so that the “Solid Model” can now simulate various characteristics such as mass properties, static behavior, dynamic behavior, and others. These properties can be extracted from the source model and inserted into the target model as well. [0176]
  • Operator Tool Set Theory of Operation [0177]
  • Overview [0178]
  • The purpose of an operator toolset is to improve the efficiency of CAD model file translations by providing the operator with the information necessary to: recognize when and where the target model geometry is different from the source model geometry; complete the creation of geometric features that cannot be translated automatically by software; and allow for the conveyance of the necessary geometric information without requiring the operator to refer to the source CAD model file. [0179]
  • Applicant has developed a set of tools that does several things. First, the set of tools shows the operator where the surfaces and edges of the corresponding geometric features of the other CAD model are located in relation to the target model. Secondly, the set of tools details the status of each geometric feature that was converted. Thirdly, the set of tools informs the operator of the type of each geometric feature in the source model along with the methods and parameters used to construct them. Finally, the set of tools displays the required parameters and references required to complete features that were not automatically constructed in the target CAD system. [0180]
  • By providing the operator with this detailed information, the operator can quickly and efficiently complete CAD model file translations that duplicate as much as possible the original design intent, and are accurate. [0181]
  • Geometry Deviations [0182]
  • Point Cloud Displaying Bad Geometry [0183]
  • Applicant's translation system uses the Geometric Analyzer (GA) that it has developed to determine if and where two CAD model files are geometrically different. Once the differences have been determined by the GA, the bad points are displayed in the target model file. By directly viewing these representations of where the surfaces and edges of the erroneous geometric features are supposed to be, the operator can determine the nature of the discrepancy. [0184]
  • FIG. 23 illustrates an [0185] exemplary target model 298 having bad points 300. Bad points 300 indicate an incorrectly translated fillet radius.
  • Surface Representations [0186]
  • If desired, an operator can import a Non-Uniform Rational B-Spline Surface (NURBS) from the surfaces of selected features directly from the source model file, providing the operator with points along the surfaces and edges as well as the surfaces themselves. A NURBS surface is a standard format provided by Applicant for exporting CAD surface information to enable translation and analysis. Most CAD systems possess the functionality necessary to export NURBS (or NURB surfaces). [0187]
  • FIG. 24 illustrates a [0188] surface 302 from the source model provided on the target model 298. Accordingly, surface 302 enables an operator to visualize where an erroneous fillet surface should be on target model 298.
  • Analysis Report [0189]
  • An analysis report is displayed to the operator detailing the type of analysis that was performed, and the quantity of errors found. If the translation is completely accurate, the report summary quickly indicates to the operator that there are no discrepancies. The operator can quickly move to the next analysis, or the next job without the need to review the model, thus saving the operator inspection time. [0190]
  • When analysis reveals inconsistencies between the source and target models, the report indicates to the operator how many points are not within tolerance. Therefore, the operator is given an indication of how much of the model file is erroneous. [0191]
  • Translation Log Viewer [0192]
  • Applicant has developed a Log File Viewer that provides the operator with essential information including feature regeneration status, feature identification mapping between the source and target CAD systems, and partial geometry identifications. The operator can toggle the display parameters to display any combination of features including successfully completed features, failed features, and feature types. This allows the operator to quickly sort through the translated model file and get essential information on any feature desired. [0193]
  • In addition, the log file for each feature displays information regarding where to find a feature's construction geometry such as the section(s), and trajectory (if applicable). This allows the operator to quickly filter to the desired information and find the desired geometry in the target model file. [0194]
  • Failed Feature Aids [0195]
  • In the event that a feature fails to be created in the target model file, then one or more of the following aids will be inserted into the model to assist the operator in interactively creating the failed feature. [0196]
  • Defining Parameter Indication [0197]
  • Certain feature types such as rounds (fillets) and drafts will have their defining parameter and reference information displayed to the operator. For example, if a fillet fails, then the associated model edges that are supposed to be filleted will be highlighted. In addition, the radius of the fillet will be displayed with a leader pointing to the specific edge or edges to which the radius is to be applied. [0198]
  • For example, FIG. 25 illustrates a source model [0199] 297 for target model 298 (shown in FIGS. 23-25). FIG. 25B illustrates a failed fillet 306 which has been annotated with defining parameters and references.
  • Likewise, drafts will be noted by placing the neutral plan in place, and highlighting the specific surfaces to apply the draft that applies to the specific surface(s). The draft angle will be indicated with a leader to the surfaces. Similar information can be provided for chamfers, patterns, copied or translated (moved) features, and mirrored features. [0200]
  • Construction Geometry for Failed Features [0201]
  • When a feature fails in the target model, usually the construction geometry required to create the feature is created in the target model. For example, a swept cut in which the cut section is a circle and is being swept along a trajectory curve might fail to actually build the cut in the target model. However, the section and the trajectory are placed in the model in the correct locations. [0202]
  • FIG. 26A illustrates a source model having a [0203] sweep feature 312. FIG. 26B illustrates a corresponding target model 310 having a sweep section 314 and a sweep trajectory 316. Target model 310, as illustrated, has failed to build sweep feature 312 correctly, but has placed the construction geometry into the model.
  • The operator merely needs to interactively complete the sweep operation selecting the section and trajectory when prompted to do so by the CAD system. [0204]
  • Import Surfaces of Failed Features [0205]
  • The surface representations that are described above in the Geometry Deviations section are very accurate representations of the individual surfaces that exist in the source model. These surfaces are automatically placed in the target model by Applicant's translation system in the event a feature fails. An operator can interactively use these surfaces to create a boundary representation (B-Rep) of the failed feature, thereby completing the feature. [0206]
  • The surfaces can also be used by the operator simply as an aid in determining what the specific feature should look like. If an operator decides to build the feature using parametric or other common techniques instead of a B-Rep, then the new feature can be compared to the surfaces as an alternative method of determining accuracy. The surface could also be used to assist in generating necessary construction geometry for the feature by using its edges, or important intersections with other features as guides. Therefore, the surface can be a very powerful tool for the operator to finish features that for some reason could not be translated by software alone. [0207]
  • In compliance with the statute, the invention has been described in language more or less specific as to structural and methodical features. It is to be understood, however, that the invention is not limited to the specific features shown and described, since the means herein disclosed comprise preferred forms of putting the invention into effect. The invention is, therefore, claimed in any of its forms or modifications within the proper scope of the appended claims appropriately interpreted in accordance with the doctrine of equivalents. [0208]

Claims (31)

1. A method for managing computational geometry system translations, comprising:
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.
2. The method of claim 1 wherein, after identifying a discrepancy, further comprising notifying a user of the client of the discrepancy.
3. The method of claim 1 wherein the source geometric data comprises comparison reference data extracted from a pre-existing source model and the target geometric data comprises corresponding comparison reference data created in a target model generated using the pre-existing source model.
4. The method of claim 3 wherein the comparison reference data comprises point cloud data.
5. The method of claim 3 wherein, after receiving the pre-existing source model, further comprising opening the source model using a source CAD system.
6. The method of claim 3 wherein the comparison reference data is extracted from the pre-existing source model.
7. The method of claim 5 further comprising storing the extracted comparison reference data in a metafile format.
8. A machine-executed method for implementing a geometric conversion on a computer system including an interface, the method comprising:
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.
9. The method of claim 8 wherein the comparison reference data comprises point cloud data.
10. The method of claim 9 wherein comparing comprises determining whether point cloud data from the target geometric model lies outside of one of a surface, or edge, and a curve of point cloud data from the source geometric model using a pre-determined geometric tolerance.
11. The method of claim 9 wherein the point cloud data identifies one of a surface and an edge of a surface.
12. The method of claim 8, responsive to comparing, interrupting a user at the interface when a geometric discrepancy is identified.
13. The method of claim 8, responsive to converting, interrupting a user at the interface when a problem is encountered during converting the source geometric model to the target geometric model.
14. A geometric model comparator, comprising:
processing circuitry configured to generate a target model from a source model;
memory configured to store the source model and the target model; and
comparison circuitry configured to identify selected points from the source model, create corresponding selected points in a target model, and compare the selected points from the source model with the target model to identify geometric entities from the target model that fall outside of a predetermined tolerance range with the respective one or more points from the source model.
15. The comparator of claim 14 wherein the comparison circuitry implements a forward comparison between the selected points from the source model and the respective geometry of the target model.
16. The comparator of claim 14 wherein the comparison circuitry implements a reverse comparison between the geometry of the source model and the respective selected points from the target model.
17. The comparator of claim 14 wherein the comparison circuitry implements a bi-directional comparison between one of the geometry of the source model and the respective selected points from the target model with one of the geometry of the target model and the geometry of the source model, respectively.
18. The comparator of claim 14 wherein the comparison circuitry implements a bounding box comparison comprising a minimized box that fits around a curve comprising the selected points from the target model and the source model so as to enclose the curve.
19. The comparator of claim 14 wherein the comparison circuitry is configured to measure a distance to a nearest edge from a selected point in the target model and the source model, compare the distance in the target model and the source model, and if a difference between the compared distances falls outside of a pre-determined tolerance, initiate notification of a user of the geometric model comparator of a discrepancy between the target model and the source model.
20. The comparator of claim 14 wherein the comparison circuitry saves selected points between the source model and the target model that do not match into an error file comprising a bad edge pixie file.
21. A geometric translation system, comprising:
memory to receive input data of a source model;
processing circuitry configured to convert the input data of the source model into corresponding output data of a target model;
a geometric model comparator configured to compare the input data with the corresponding output data and identify geometric discrepancies between the input data and the output data.
22. The system of claim 21 wherein the processing circuitry extracts comparison reference data from the source model.
23. The system of claim 22 wherein the source model comprises point cloud data.
24. The system of claim 22 wherein the comparison reference data is stored in a metafile format.
25. The system of claim 21 wherein the geometric model comparator is implemented in the processing circuitry.
26. The system of claim 21 wherein the target geometric output file comprises a target CAD file including data points representing the geometric location of at least one of edges and surfaces of the source model.
27. The system of claim 21 wherein the source model comprises pre-existing geometric file data and the target model comprises target geometric file data, and wherein the mirror model comparator compares the pre-existing geometric file data with the target geometric file data.
28. The system of claim 21 further comprising a client and a server provided by a common device.
29. A machine-executed method for implementing a geometric conversion on a computer system including an interface, the method comprising:
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.
30. The method of claim 29 wherein reference data is extracted from the source geometric model, reference data is imported into the target geometric model, and the extracted reference data is compared for discrepancies with geometry from the target geometric model in a target CAD system.
31. The method of claim 29 wherein reference data is extracted from the target geometric model, reference data is imported into the source geometric model, and the extracted reference data is compared for discrepancies with geometry from the source geometric model in a source CAD system.
US09/999,097 2000-10-30 2001-10-30 Geometric model comparator and method Expired - Fee Related US7149677B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/999,097 US7149677B2 (en) 2000-10-30 2001-10-30 Geometric model comparator and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24384800P 2000-10-30 2000-10-30
US09/999,097 US7149677B2 (en) 2000-10-30 2001-10-30 Geometric model comparator and method

Publications (2)

Publication Number Publication Date
US20030135846A1 true US20030135846A1 (en) 2003-07-17
US7149677B2 US7149677B2 (en) 2006-12-12

Family

ID=22920374

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/999,096 Expired - Fee Related US7203634B2 (en) 2000-10-30 2001-10-30 Computational geometry system, interrupt interface, and method
US09/999,097 Expired - Fee Related US7149677B2 (en) 2000-10-30 2001-10-30 Geometric model comparator and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/999,096 Expired - Fee Related US7203634B2 (en) 2000-10-30 2001-10-30 Computational geometry system, interrupt interface, and method

Country Status (4)

Country Link
US (2) US7203634B2 (en)
EP (1) EP1337963A4 (en)
AU (1) AU2002218004A1 (en)
WO (1) WO2002037406A1 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120920A1 (en) * 2000-10-30 2002-08-29 Sankar Jayaram Computational geometry system, interrupt interface, and method
US20030172366A1 (en) * 2002-03-11 2003-09-11 Samsung Electronics Co., Ltd. Rendering system and method and recording medium therefor
US20030204524A1 (en) * 2002-04-30 2003-10-30 Deam Wu System and method for capturing dimensions from a graphic file of an object
US20040128648A1 (en) * 2001-08-30 2004-07-01 Ari Rappoport Face correlation between computer aided design models
US20040189671A1 (en) * 2001-07-04 2004-09-30 Masne Jean- Francois Le Method and system for transmission of data for two-or three-dimensional geometrical entities
US20050046624A1 (en) * 2003-02-18 2005-03-03 Sankar Jayaram Feature-based translation system and method
US6956568B2 (en) * 2002-01-09 2005-10-18 Massachussetts Institute Of Technology Shape-intrinsic watermarks for 3-D solids
US20070160282A1 (en) * 2006-01-10 2007-07-12 General Electric Company Method and apparatus for finding anomalies in finished parts and/or assemblies
WO2007098929A1 (en) * 2006-02-28 2007-09-07 Cocreate Software Gmbh A method for comparing a first computer-aided 3d model with a second computer-aided 3d model
US20070236504A1 (en) * 2006-03-28 2007-10-11 The Boeing Company Intelligent graphics plug map system and method of use
US7292964B1 (en) * 2003-12-22 2007-11-06 The Mathworks, Inc. Translating of geometric models into block diagram models
US20080143714A1 (en) * 2006-08-11 2008-06-19 Ugs Corp. Visual file representation
US20080154417A1 (en) * 2006-12-22 2008-06-26 Stratex Networks, Inc. Manufactured Product Configuration
US20080302771A1 (en) * 2007-06-08 2008-12-11 Shenzhen Futaihong Precision Industry Co., Ltd. Laser engraving system and engraving method
US20090060259A1 (en) * 2007-09-04 2009-03-05 Luis Goncalves Upc substitution fraud prevention
US20090238470A1 (en) * 2008-03-24 2009-09-24 Ives Neil A Adaptive membrane shape deformation system
US20100042377A1 (en) * 2008-08-13 2010-02-18 Seroussi Jonathan Device, system, and method of computer aided design (cad)
US20120310602A1 (en) * 2011-06-03 2012-12-06 Walter P. Moore and Associates, Inc. Facilities Management System
GB2497623A (en) * 2011-10-04 2013-06-19 Toshiba Kk Segmenting point group data into CAD elements
US20140089817A1 (en) * 2012-09-27 2014-03-27 Siemens Product Lifecycle Management Software Inc. Distributed systems and methods for collaborative creation and modification of geometric models
US20140128996A1 (en) * 2012-11-05 2014-05-08 Rockwell Automation Technologies, Inc. Secure models for model-based control and optimization
US20150032420A1 (en) * 2013-07-25 2015-01-29 Ansys, Inc. Systems and Methods for Creating Engineering Models
US9058567B2 (en) 2006-12-22 2015-06-16 Aviat U.S., Inc. Intelligent production station and production method
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
EP3226181A1 (en) * 2016-03-30 2017-10-04 Mitsubishi Jidosha Engineering Kabushiki Kaisha Apparatus, method, and program for supporting development of production line
US11288411B2 (en) * 2019-01-04 2022-03-29 Ptc Inc. B-rep matching for maintaining associativity across CAD interoperation

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614430B1 (en) 1998-09-08 2003-09-02 Proficiency Ltd. System and method for the exchange of CAD data
US7099803B1 (en) 2000-09-06 2006-08-29 Proficiency Solutions Ltd. Data exchange between computer aided design systems
US6985835B1 (en) 2000-09-06 2006-01-10 Proficiency Solutions Ltd. Method and apparatus for edge correlation between design objects
WO2002021450A1 (en) 2000-09-06 2002-03-14 Proficiency Ltd. Boundary representation per feature methods and systems
US6828963B1 (en) 2000-09-06 2004-12-07 Proficiency Ltd. Pattern matching for data exchange between computer aided design systems
JP2002288445A (en) * 2001-03-26 2002-10-04 Saidetsuku Kk System for order reception and delivery of packing material
TW569150B (en) * 2002-04-30 2004-01-01 Hon Hai Prec Ind Co Ltd A system and method for analyzing and processing measurement data
WO2004010384A2 (en) * 2002-07-23 2004-01-29 Imagecom, Inc. System and method for creating and updating a three-dimensional model and creating a related neutral file format
US7031788B2 (en) * 2003-04-30 2006-04-18 The Boeing Company R2V packaging process and system
WO2005050397A2 (en) * 2003-11-17 2005-06-02 International Barcode Corporation System and method of ensuring quality control of software
US7707230B1 (en) * 2004-02-27 2010-04-27 Gary Brenner Methods and structure for use of an auxiliary database for importation of data into a target database
US7571081B2 (en) * 2004-07-15 2009-08-04 Harris Corporation System and method for efficient visualization and comparison of LADAR point data to detailed CAD models of targets
JP4661512B2 (en) * 2004-11-05 2011-03-30 株式会社日立製作所 Remote maintenance system, monitoring center computer and maintenance instruction method
TWI273486B (en) * 2004-12-10 2007-02-11 Hon Hai Prec Ind Co Ltd Method and system for measuring geometrical character of figures
JP4255449B2 (en) * 2005-03-01 2009-04-15 株式会社ソニー・コンピュータエンタテインメント Drawing processing apparatus, texture processing apparatus, and tessellation method
JP4336988B2 (en) * 2005-07-14 2009-09-30 村田機械株式会社 Conveyor cart system
US7698668B2 (en) * 2006-10-10 2010-04-13 Honeywell International Inc. Automatic translation of simulink models into the input language of a model checker
JP5056079B2 (en) * 2007-03-07 2012-10-24 富士通株式会社 Design method and program
US20080238946A1 (en) * 2007-03-29 2008-10-02 Boeing Company A Corp. Of Delaware System and method for providing a replica of a graphic presentation
US7995055B1 (en) * 2007-05-25 2011-08-09 Google Inc. Classifying objects in a scene
US8738410B2 (en) * 2007-05-31 2014-05-27 The Boeing Company Methods and systems for managing electronic work instructions for manufacture of product
US20080301012A1 (en) * 2007-05-31 2008-12-04 Cogswell Thomas A Methods and systems for distributing computer modeled product design and manufacture data to peripheral systems
US7853421B2 (en) * 2007-08-16 2010-12-14 Hamilton Sundstrand Corporation Systematic surface review
TWI402765B (en) * 2007-09-28 2013-07-21 Hon Hai Prec Ind Co Ltd Method for aligning point clouds optimally
US20090102832A1 (en) * 2007-10-17 2009-04-23 Jay Behr Selective refresh of computer-aided design drawings
JP4903671B2 (en) * 2007-10-31 2012-03-28 株式会社日立製作所 Analysis model creation device
CN101441781B (en) * 2007-11-23 2011-02-02 鸿富锦精密工业(深圳)有限公司 Curved surface overturning method
ATE522876T1 (en) * 2008-01-31 2011-09-15 Siemens Ag METHOD AND SYSTEM FOR QUALIFYING CAD OBJECTS
US8302078B2 (en) * 2008-03-10 2012-10-30 The Boeing Company Lazy evaluation of geometric definitions of objects within procedural programming environments
WO2009124139A1 (en) * 2008-04-01 2009-10-08 The Government Of The United States Of America, As Represented By The Secretaty Of The Navy Methods and systems of comparing face models for recognition
ATE538442T1 (en) * 2008-04-24 2012-01-15 Siemens Ag METHOD AND SYSTEM FOR RECOGNIZING GROUPING PROPERTIES
NL2003919A (en) * 2008-12-24 2010-06-28 Asml Netherlands Bv An optimization method and a lithographic cell.
US20110119473A1 (en) * 2009-10-15 2011-05-19 Nokia Corporation Virtual Platform Configuration Validation
JP5381796B2 (en) * 2010-02-22 2014-01-08 富士通株式会社 Bonding model generation apparatus, bonding model generation method, and bonding model generation program
EP2383668A1 (en) * 2010-04-16 2011-11-02 Siemens Aktiengesellschaft Simulation model
DE102011100919A1 (en) * 2011-05-09 2012-11-15 Lufthansa Technik Ag Method for the automated detection of individual parts of a complex differential structure
US8942837B2 (en) * 2012-03-12 2015-01-27 United Technologies Corporation Method for inspecting a manufacturing device
KR101510840B1 (en) * 2012-07-10 2015-04-10 한국과학기술원 Cad data transfer apparatus and method therefor
GB201303540D0 (en) * 2013-02-27 2013-04-10 Arithmetica Ltd Image processing
US11048829B2 (en) * 2013-03-15 2021-06-29 Kemeera Llc 3D printing systems and methods for fabricating injection molds
CN104574282B (en) * 2013-10-22 2019-06-07 鸿富锦精密工业(深圳)有限公司 Point cloud noise spot removes system and method
US9383972B2 (en) * 2013-11-17 2016-07-05 Juan Carlos Barinaga Methods and arrangements for processing and presentation of information
US9946732B2 (en) * 2013-12-15 2018-04-17 Socovar, Société En Commandite Method and system for comparing 3D models
US11886493B2 (en) 2013-12-15 2024-01-30 7893159 Canada Inc. Method and system for displaying 3D models
US11010593B2 (en) 2013-12-15 2021-05-18 7893159 Canada Inc. Method and system for comparing 3D models
US9965574B2 (en) * 2013-12-23 2018-05-08 Dassault Systemes Simulia Corp. CAD-based initial surface geometry correction
KR101905993B1 (en) * 2016-10-31 2018-10-10 현대자동차주식회사 Interior parts for vehicle and method for manufacturing the same
US10121237B1 (en) 2017-04-17 2018-11-06 Rohr, Inc. Component inspection method
CN108090284A (en) * 2017-12-19 2018-05-29 建基工程咨询有限公司 Application based on laser scanning modeling reverse Engineering Technology in construction Supervision
FR3087025A1 (en) * 2018-10-04 2020-04-10 Movida Production METHOD FOR TRANSFORMING A THREE-DIMENSIONAL (3D) MODEL INTO A 3D MODEL ON BOARD IN A HUMAN-MACHINE INTERFACE OF MOBILE EQUIPMENT
CN109753724A (en) * 2019-01-02 2019-05-14 鲁泰纺织股份有限公司 One kind being based on template library picture recognition module template forging method

Citations (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
US4847788A (en) * 1985-03-01 1989-07-11 Hitachi, Ltd. Graphic data processing method and system
US4943933A (en) * 1987-11-20 1990-07-24 Hitachi, Ltd. Method for translating data base to knowledge and apparatus therefor
US5063506A (en) * 1989-10-23 1991-11-05 International Business Machines Corp. Cost optimization system for supplying parts
US5117354A (en) * 1988-05-24 1992-05-26 Carnes Company, Inc. Automated system for pricing and ordering custom manufactured parts
US5212770A (en) * 1989-12-06 1993-05-18 Eastman Kodak Company Data-handling and display system capable of supporting multiple application programs and output devices
US5249120A (en) * 1991-01-14 1993-09-28 The Charles Stark Draper Laboratory, Inc. Automated manufacturing costing system and method
US5299115A (en) * 1989-09-12 1994-03-29 Mrs. Fields Software Group Inc. Product demand system and method
US5369744A (en) * 1989-10-16 1994-11-29 Hitachi, Ltd. Address-translatable graphic processor, data processor and drawing method with employment of the same
US5377095A (en) * 1991-07-12 1994-12-27 Hitachi, Ltd. Merchandise analysis system with sales data table and various functions for predicting the sale by item
US5459656A (en) * 1989-09-12 1995-10-17 Park City Group, Inc. Business demand projection system and method
US5493679A (en) * 1993-10-29 1996-02-20 Hughes Aircraft Company Automated logistical relational database support system for engineering drawings and artwork
US5581665A (en) * 1992-10-27 1996-12-03 Matsushita Electric Industrial Co., Ltd. Three-dimensional object movement and transformation processing apparatus for performing movement and transformation of an object in a three-diamensional space
US5615317A (en) * 1993-10-11 1997-03-25 Hewlett-Packard Company Method for blending edges of a geometric object in a computer-aided design system
US5691909A (en) * 1995-12-29 1997-11-25 Western Atlas Method of virtual machining to predict the accuracy of part to be made with machine tools
US5712985A (en) * 1989-09-12 1998-01-27 Lee; Michael D. System and method for estimating business demand based on business influences
US5715459A (en) * 1994-12-15 1998-02-03 International Business Machines Corporation Advanced graphics driver architecture
US5732401A (en) * 1996-03-29 1998-03-24 Intellitecs International Ltd. Activity based cost tracking systems
US5745761A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture with extension capability
US5745762A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture supporting multiple system emulations
US5765143A (en) * 1995-02-28 1998-06-09 Triad Systems Corporation Method and system for inventory management
US5790643A (en) * 1994-03-02 1998-08-04 British Telecommunications Public Limited Company Pricing method for telecommunication system
US5799286A (en) * 1995-06-07 1998-08-25 Electronic Data Systems Corporation Automated activity-based management system
US5813018A (en) * 1991-11-27 1998-09-22 Hitachi Microcomputer System Ltd. Automated text extraction from source drawing and composition into target drawing with translated text placement according to source image analysis
US5822736A (en) * 1995-02-28 1998-10-13 United Hardware Distributing Company Variable margin pricing system
US5825368A (en) * 1995-12-27 1998-10-20 Lucent Technologies Inc. Method and apparatus for rendering graphical components on a display utilizing geometric constraints
US5873069A (en) * 1995-10-13 1999-02-16 American Tv & Appliance Of Madison, Inc. System and method for automatic updating and display of retail prices
US5878400A (en) * 1996-06-17 1999-03-02 Trilogy Development Group, Inc. Method and apparatus for pricing products in multi-level product and organizational groups
US5892939A (en) * 1996-10-07 1999-04-06 Honeywell Inc. Emulator for visual display object files and method of operation thereof
US5918209A (en) * 1996-01-11 1999-06-29 Talus Solutions, Inc. Method and system for determining marginal values for use in a revenue management system
US5933813A (en) * 1995-04-13 1999-08-03 Eldat Communication Ltd. Sales promotion data processor system and interactive changeable display particularly useful therein
US5966673A (en) * 1997-01-10 1999-10-12 Diamond Technologies, Inc. System and method for computerized evaluation of gemstones
US5990897A (en) * 1997-09-12 1999-11-23 Hanratty; Patrick J. Methods for automatically generating a three-dimensional geometric solid from two-dimensional view sets including automatic segregation of open, closed and disjoint curves into views using their center of gravity
US6009407A (en) * 1998-02-27 1999-12-28 International Business Machines Corporation Integrated marketing and operations decisions-making under multi-brand competition
US6029139A (en) * 1998-01-28 2000-02-22 Ncr Corporation Method and apparatus for optimizing promotional sale of products based upon historical data
US6032125A (en) * 1996-11-07 2000-02-29 Fujitsu Limited Demand forecasting method, demand forecasting system, and recording medium
US6032123A (en) * 1997-05-12 2000-02-29 Jameson; Joel Method and apparatus for allocating, costing, and pricing organizational resources
US6052686A (en) * 1997-07-11 2000-04-18 At&T Corporation Database processing using schemas
US6078893A (en) * 1998-05-21 2000-06-20 Khimetrics, Inc. Method for stabilized tuning of demand models
US6094641A (en) * 1997-05-21 2000-07-25 Khimetrics, Inc. Method for incorporating psychological effects into demand models
US6125355A (en) * 1997-12-02 2000-09-26 Financial Engines, Inc. Pricing module for financial advisory system
US6134534A (en) * 1996-09-04 2000-10-17 Priceline.Com Incorporated Conditional purchase offer management system for cruises
US6134338A (en) * 1995-05-22 2000-10-17 Solberg Creations, Inc. Computer automated system and method for converting source documents bearing symbols and alphanumeric text relating to three dimensional objects
US6173075B1 (en) * 1995-08-30 2001-01-09 Usanimation, Inc. Drawing pixmap to vector conversion
US6188432B1 (en) * 1996-06-25 2001-02-13 Nikon Corporation Information processing method and apparatus for displaying and zooming an object image and a line drawing
US6205452B1 (en) * 1997-10-29 2001-03-20 R. R. Donnelley & Sons Company Method of reproducing variable graphics in a variable imaging system
US6205431B1 (en) * 1998-10-29 2001-03-20 Smart Software, Inc. System and method for forecasting intermittent demand
US6211814B1 (en) * 1999-09-28 2001-04-03 Lockhead Martin Corporation Method for software scan conversion of target identification data in a general purpose computer
US6308162B1 (en) * 1997-05-21 2001-10-23 Khimetrics, Inc. Method for controlled optimization of enterprise planning models
US6326964B1 (en) * 1995-08-04 2001-12-04 Microsoft Corporation Method for sorting 3D object geometry among image chunks for rendering in a layered graphics rendering system
US6341268B2 (en) * 1997-03-21 2002-01-22 Walker Digital, Llc System and method providing a restaurant menu dynamically generated based on revenue management information
US20020060650A1 (en) * 2000-10-25 2002-05-23 Asahi Kogaku Kogyo Kabushiki Kaisha Schematic illustration drawing apparatus and method
US6397193B1 (en) * 1997-08-26 2002-05-28 Walker Digital, Llc Method and apparatus for automatically vending a combination of products
US6420698B1 (en) * 1997-04-24 2002-07-16 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three-dimensional objects
US20020120920A1 (en) * 2000-10-30 2002-08-29 Sankar Jayaram Computational geometry system, interrupt interface, and method
US20020123812A1 (en) * 1998-12-23 2002-09-05 Washington State University Research Foundation. Virtual assembly design environment (VADE)
US6456986B1 (en) * 1998-07-29 2002-09-24 American Management Systems, Incorporated Decision network based event pricing system in a component based, object oriented convergent customer care and billing system
US20020143823A1 (en) * 2001-01-19 2002-10-03 Stevens Mark A. Conversion system for translating structured documents into multiple target formats
US20030009315A1 (en) * 2001-05-15 2003-01-09 Thomas Paul A. System for creating measured drawings
US6603484B1 (en) * 1999-08-06 2003-08-05 Mitsubishi Electric Research Laboratories, Inc. Sculpting objects using detail-directed hierarchical distance fields
US20030156127A1 (en) * 1999-05-24 2003-08-21 Vadim Kleyman Method and system for verifying the integrity of a cad format translation
US6614430B1 (en) * 1998-09-08 2003-09-02 Proficiency Ltd. System and method for the exchange of CAD data
US6671701B1 (en) * 2000-06-05 2003-12-30 Bentley Systems, Incorporated System and method to maintain real-time synchronization of data in different formats
US6721769B1 (en) * 1999-05-26 2004-04-13 Wireless Valley Communications, Inc. Method and system for a building database manipulator
US6828963B1 (en) * 2000-09-06 2004-12-07 Proficiency Ltd. Pattern matching for data exchange between computer aided design systems
US6847384B1 (en) * 1998-05-14 2005-01-25 Autodesk, Inc. Translating objects between software applications which employ different data formats
US20050046624A1 (en) * 2003-02-18 2005-03-03 Sankar Jayaram Feature-based translation system and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442572A (en) * 1992-11-23 1995-08-15 Ford Motor Company Method and system for comparing free-form geometries using high density point data models
US5922074A (en) * 1997-02-28 1999-07-13 Xcert Software, Inc. Method of and apparatus for providing secure distributed directory services and public key infrastructure
US5848115A (en) * 1997-05-02 1998-12-08 General Electric Company Computed tomography metrology
GB2325996B (en) * 1997-06-04 2002-06-05 Lsi Logic Corp Distributed computer aided design system and method

Patent Citations (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847788A (en) * 1985-03-01 1989-07-11 Hitachi, Ltd. Graphic data processing method and system
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
US4943933A (en) * 1987-11-20 1990-07-24 Hitachi, Ltd. Method for translating data base to knowledge and apparatus therefor
US5117354A (en) * 1988-05-24 1992-05-26 Carnes Company, Inc. Automated system for pricing and ordering custom manufactured parts
US5299115A (en) * 1989-09-12 1994-03-29 Mrs. Fields Software Group Inc. Product demand system and method
US5712985A (en) * 1989-09-12 1998-01-27 Lee; Michael D. System and method for estimating business demand based on business influences
US5459656A (en) * 1989-09-12 1995-10-17 Park City Group, Inc. Business demand projection system and method
US5369744A (en) * 1989-10-16 1994-11-29 Hitachi, Ltd. Address-translatable graphic processor, data processor and drawing method with employment of the same
US5063506A (en) * 1989-10-23 1991-11-05 International Business Machines Corp. Cost optimization system for supplying parts
US5212770A (en) * 1989-12-06 1993-05-18 Eastman Kodak Company Data-handling and display system capable of supporting multiple application programs and output devices
US5249120A (en) * 1991-01-14 1993-09-28 The Charles Stark Draper Laboratory, Inc. Automated manufacturing costing system and method
US5377095A (en) * 1991-07-12 1994-12-27 Hitachi, Ltd. Merchandise analysis system with sales data table and various functions for predicting the sale by item
US5813018A (en) * 1991-11-27 1998-09-22 Hitachi Microcomputer System Ltd. Automated text extraction from source drawing and composition into target drawing with translated text placement according to source image analysis
US5581665A (en) * 1992-10-27 1996-12-03 Matsushita Electric Industrial Co., Ltd. Three-dimensional object movement and transformation processing apparatus for performing movement and transformation of an object in a three-diamensional space
US5615317A (en) * 1993-10-11 1997-03-25 Hewlett-Packard Company Method for blending edges of a geometric object in a computer-aided design system
US5493679A (en) * 1993-10-29 1996-02-20 Hughes Aircraft Company Automated logistical relational database support system for engineering drawings and artwork
US5790643A (en) * 1994-03-02 1998-08-04 British Telecommunications Public Limited Company Pricing method for telecommunication system
US5745761A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture with extension capability
US5745762A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture supporting multiple system emulations
US5715459A (en) * 1994-12-15 1998-02-03 International Business Machines Corporation Advanced graphics driver architecture
US5765143A (en) * 1995-02-28 1998-06-09 Triad Systems Corporation Method and system for inventory management
US5822736A (en) * 1995-02-28 1998-10-13 United Hardware Distributing Company Variable margin pricing system
US5987425A (en) * 1995-02-28 1999-11-16 United Hardware Distributing Company Variable margin pricing system
US5933813A (en) * 1995-04-13 1999-08-03 Eldat Communication Ltd. Sales promotion data processor system and interactive changeable display particularly useful therein
US6134338A (en) * 1995-05-22 2000-10-17 Solberg Creations, Inc. Computer automated system and method for converting source documents bearing symbols and alphanumeric text relating to three dimensional objects
US5799286A (en) * 1995-06-07 1998-08-25 Electronic Data Systems Corporation Automated activity-based management system
US6326964B1 (en) * 1995-08-04 2001-12-04 Microsoft Corporation Method for sorting 3D object geometry among image chunks for rendering in a layered graphics rendering system
US6173075B1 (en) * 1995-08-30 2001-01-09 Usanimation, Inc. Drawing pixmap to vector conversion
US5873069A (en) * 1995-10-13 1999-02-16 American Tv & Appliance Of Madison, Inc. System and method for automatic updating and display of retail prices
US5825368A (en) * 1995-12-27 1998-10-20 Lucent Technologies Inc. Method and apparatus for rendering graphical components on a display utilizing geometric constraints
US5691909A (en) * 1995-12-29 1997-11-25 Western Atlas Method of virtual machining to predict the accuracy of part to be made with machine tools
US5918209A (en) * 1996-01-11 1999-06-29 Talus Solutions, Inc. Method and system for determining marginal values for use in a revenue management system
US5732401A (en) * 1996-03-29 1998-03-24 Intellitecs International Ltd. Activity based cost tracking systems
US5878400A (en) * 1996-06-17 1999-03-02 Trilogy Development Group, Inc. Method and apparatus for pricing products in multi-level product and organizational groups
US6188432B1 (en) * 1996-06-25 2001-02-13 Nikon Corporation Information processing method and apparatus for displaying and zooming an object image and a line drawing
US6134534A (en) * 1996-09-04 2000-10-17 Priceline.Com Incorporated Conditional purchase offer management system for cruises
US5892939A (en) * 1996-10-07 1999-04-06 Honeywell Inc. Emulator for visual display object files and method of operation thereof
US6032125A (en) * 1996-11-07 2000-02-29 Fujitsu Limited Demand forecasting method, demand forecasting system, and recording medium
US5966673A (en) * 1997-01-10 1999-10-12 Diamond Technologies, Inc. System and method for computerized evaluation of gemstones
US6341268B2 (en) * 1997-03-21 2002-01-22 Walker Digital, Llc System and method providing a restaurant menu dynamically generated based on revenue management information
US6420698B1 (en) * 1997-04-24 2002-07-16 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three-dimensional objects
US6032123A (en) * 1997-05-12 2000-02-29 Jameson; Joel Method and apparatus for allocating, costing, and pricing organizational resources
US6308162B1 (en) * 1997-05-21 2001-10-23 Khimetrics, Inc. Method for controlled optimization of enterprise planning models
US6094641A (en) * 1997-05-21 2000-07-25 Khimetrics, Inc. Method for incorporating psychological effects into demand models
US6052686A (en) * 1997-07-11 2000-04-18 At&T Corporation Database processing using schemas
US6397193B1 (en) * 1997-08-26 2002-05-28 Walker Digital, Llc Method and apparatus for automatically vending a combination of products
US5990897A (en) * 1997-09-12 1999-11-23 Hanratty; Patrick J. Methods for automatically generating a three-dimensional geometric solid from two-dimensional view sets including automatic segregation of open, closed and disjoint curves into views using their center of gravity
US6205452B1 (en) * 1997-10-29 2001-03-20 R. R. Donnelley & Sons Company Method of reproducing variable graphics in a variable imaging system
US6125355A (en) * 1997-12-02 2000-09-26 Financial Engines, Inc. Pricing module for financial advisory system
US6029139A (en) * 1998-01-28 2000-02-22 Ncr Corporation Method and apparatus for optimizing promotional sale of products based upon historical data
US6009407A (en) * 1998-02-27 1999-12-28 International Business Machines Corporation Integrated marketing and operations decisions-making under multi-brand competition
US6847384B1 (en) * 1998-05-14 2005-01-25 Autodesk, Inc. Translating objects between software applications which employ different data formats
US6078893A (en) * 1998-05-21 2000-06-20 Khimetrics, Inc. Method for stabilized tuning of demand models
US6456986B1 (en) * 1998-07-29 2002-09-24 American Management Systems, Incorporated Decision network based event pricing system in a component based, object oriented convergent customer care and billing system
US6614430B1 (en) * 1998-09-08 2003-09-02 Proficiency Ltd. System and method for the exchange of CAD data
US6205431B1 (en) * 1998-10-29 2001-03-20 Smart Software, Inc. System and method for forecasting intermittent demand
US20020123812A1 (en) * 1998-12-23 2002-09-05 Washington State University Research Foundation. Virtual assembly design environment (VADE)
US20030156127A1 (en) * 1999-05-24 2003-08-21 Vadim Kleyman Method and system for verifying the integrity of a cad format translation
US6721769B1 (en) * 1999-05-26 2004-04-13 Wireless Valley Communications, Inc. Method and system for a building database manipulator
US6603484B1 (en) * 1999-08-06 2003-08-05 Mitsubishi Electric Research Laboratories, Inc. Sculpting objects using detail-directed hierarchical distance fields
US6211814B1 (en) * 1999-09-28 2001-04-03 Lockhead Martin Corporation Method for software scan conversion of target identification data in a general purpose computer
US6671701B1 (en) * 2000-06-05 2003-12-30 Bentley Systems, Incorporated System and method to maintain real-time synchronization of data in different formats
US6828963B1 (en) * 2000-09-06 2004-12-07 Proficiency Ltd. Pattern matching for data exchange between computer aided design systems
US20020060650A1 (en) * 2000-10-25 2002-05-23 Asahi Kogaku Kogyo Kabushiki Kaisha Schematic illustration drawing apparatus and method
US20020120920A1 (en) * 2000-10-30 2002-08-29 Sankar Jayaram Computational geometry system, interrupt interface, and method
US20020143823A1 (en) * 2001-01-19 2002-10-03 Stevens Mark A. Conversion system for translating structured documents into multiple target formats
US20030009315A1 (en) * 2001-05-15 2003-01-09 Thomas Paul A. System for creating measured drawings
US20050046624A1 (en) * 2003-02-18 2005-03-03 Sankar Jayaram Feature-based translation system and method

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203634B2 (en) 2000-10-30 2007-04-10 Translation Technologies, Inc. Computational geometry system, interrupt interface, and method
US20020120920A1 (en) * 2000-10-30 2002-08-29 Sankar Jayaram Computational geometry system, interrupt interface, and method
US20040189671A1 (en) * 2001-07-04 2004-09-30 Masne Jean- Francois Le Method and system for transmission of data for two-or three-dimensional geometrical entities
US7150026B2 (en) * 2001-07-04 2006-12-12 Okyz Conversion of data for two or three dimensional geometric entities
US20070094299A1 (en) * 2001-07-04 2007-04-26 Okyz Conversion of Data For Two Or Three Dimensional Geometric Entities
US7747570B2 (en) * 2001-07-04 2010-06-29 Adobe Systems Incorporated Conversion of data for two or three dimensional geometric entities
US20040128648A1 (en) * 2001-08-30 2004-07-01 Ari Rappoport Face correlation between computer aided design models
US6956568B2 (en) * 2002-01-09 2005-10-18 Massachussetts Institute Of Technology Shape-intrinsic watermarks for 3-D solids
US7519449B2 (en) * 2002-03-11 2009-04-14 Samsung Electronics Co., Ltd. Rendering system and method and recording medium therefor
US20030172366A1 (en) * 2002-03-11 2003-09-11 Samsung Electronics Co., Ltd. Rendering system and method and recording medium therefor
US7113961B2 (en) * 2002-04-30 2006-09-26 Hong Fujin Precision IND,(Shenzhen) Co., Ltd. System and method for capturing dimensions from a graphic file of an object
US20030204524A1 (en) * 2002-04-30 2003-10-30 Deam Wu System and method for capturing dimensions from a graphic file of an object
US20050046624A1 (en) * 2003-02-18 2005-03-03 Sankar Jayaram Feature-based translation system and method
US7698016B2 (en) 2003-02-18 2010-04-13 Tti Acquisition Corporation Feature-based translation system and method
US7783460B1 (en) 2003-12-22 2010-08-24 The Mathworks, Inc. Translating of geometric models into block diagrams
US7292964B1 (en) * 2003-12-22 2007-11-06 The Mathworks, Inc. Translating of geometric models into block diagram models
US8532966B1 (en) 2003-12-22 2013-09-10 The Mathworks, Inc. Translating of geometric models into block diagram models
US20070160282A1 (en) * 2006-01-10 2007-07-12 General Electric Company Method and apparatus for finding anomalies in finished parts and/or assemblies
US7602963B2 (en) * 2006-01-10 2009-10-13 General Electric Company Method and apparatus for finding anomalies in finished parts and/or assemblies
WO2007098929A1 (en) * 2006-02-28 2007-09-07 Cocreate Software Gmbh A method for comparing a first computer-aided 3d model with a second computer-aided 3d model
US20100135535A1 (en) * 2006-02-28 2010-06-03 Cocreate Software Gmbh Method for Comparing First Computer-Aided 3D Model with a Second Computer-Aided 3D Model
US8422763B2 (en) 2006-02-28 2013-04-16 Parametric Technology Corporation Method for comparing first computer-aided 3D model with a second computer-aided 3D model
US8381164B2 (en) * 2006-03-28 2013-02-19 The Boeing Company Method and system of intelligent interactive graphics electrical plug map to analyze text and distances between electrical contacts and physical layout file builder
US20070236504A1 (en) * 2006-03-28 2007-10-11 The Boeing Company Intelligent graphics plug map system and method of use
US8988420B2 (en) * 2006-08-11 2015-03-24 Siemens Product Lifecycle Management Software Inc. Visual file representation
US20080143714A1 (en) * 2006-08-11 2008-06-19 Ugs Corp. Visual file representation
US10691111B2 (en) 2006-12-22 2020-06-23 Aviat U.S., Inc. Intelligent production station and production method
US9058567B2 (en) 2006-12-22 2015-06-16 Aviat U.S., Inc. Intelligent production station and production method
US20080154417A1 (en) * 2006-12-22 2008-06-26 Stratex Networks, Inc. Manufactured Product Configuration
US8712567B2 (en) * 2006-12-22 2014-04-29 Aviat U.S., Inc. Manufactured product configuration
US20080302771A1 (en) * 2007-06-08 2008-12-11 Shenzhen Futaihong Precision Industry Co., Ltd. Laser engraving system and engraving method
US8253065B2 (en) * 2007-06-08 2012-08-28 Shenzhen Futaihong Precision Industry Co., Ltd. Laser engraving system
US8068674B2 (en) 2007-09-04 2011-11-29 Evolution Robotics Retail, Inc. UPC substitution fraud prevention
US20090060259A1 (en) * 2007-09-04 2009-03-05 Luis Goncalves Upc substitution fraud prevention
US8244066B2 (en) * 2008-03-24 2012-08-14 The Aerospace Corporation Adaptive membrane shape deformation system
US20090238470A1 (en) * 2008-03-24 2009-09-24 Ives Neil A Adaptive membrane shape deformation system
US8514222B2 (en) * 2008-08-13 2013-08-20 Autodesk, Inc. Device, system, and method of computer aided design (CAD)
US20100042377A1 (en) * 2008-08-13 2010-02-18 Seroussi Jonathan Device, system, and method of computer aided design (cad)
US8249834B2 (en) 2008-08-13 2012-08-21 Autodesk, Inc. Device, system, and method of computer aided design (CAD)
US20100042676A1 (en) * 2008-08-13 2010-02-18 Seroussi Jonathan Device, system, and method of computer aided design (cad)
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US20120310602A1 (en) * 2011-06-03 2012-12-06 Walter P. Moore and Associates, Inc. Facilities Management System
US8843350B2 (en) * 2011-06-03 2014-09-23 Walter P. Moore and Associates, Inc. Facilities management system
GB2497623A (en) * 2011-10-04 2013-06-19 Toshiba Kk Segmenting point group data into CAD elements
GB2497623B (en) * 2011-10-04 2015-04-08 Toshiba Kk Three-dimensional data processing apparatus, three-dimensional data processing method, and three-dimensional data processing program
US20140089817A1 (en) * 2012-09-27 2014-03-27 Siemens Product Lifecycle Management Software Inc. Distributed systems and methods for collaborative creation and modification of geometric models
US9292012B2 (en) * 2012-11-05 2016-03-22 Rockwell Automation Technologies, Inc. Secure models for model-based control and optimization
US10359767B2 (en) 2012-11-05 2019-07-23 Rockwell Automation Technologies, Inc. Secure models for model-based control and optimization
US20140128996A1 (en) * 2012-11-05 2014-05-08 Rockwell Automation Technologies, Inc. Secure models for model-based control and optimization
US10852716B2 (en) 2012-11-05 2020-12-01 Rockwell Automation Technologies, Inc. Secure models for model-based control and optimization
WO2015013528A1 (en) * 2013-07-25 2015-01-29 Sas Ip, Inc. Systems and methods for creating engineering models
US20150032420A1 (en) * 2013-07-25 2015-01-29 Ansys, Inc. Systems and Methods for Creating Engineering Models
EP3226181A1 (en) * 2016-03-30 2017-10-04 Mitsubishi Jidosha Engineering Kabushiki Kaisha Apparatus, method, and program for supporting development of production line
US11288411B2 (en) * 2019-01-04 2022-03-29 Ptc Inc. B-rep matching for maintaining associativity across CAD interoperation

Also Published As

Publication number Publication date
US7149677B2 (en) 2006-12-12
US20020120920A1 (en) 2002-08-29
EP1337963A1 (en) 2003-08-27
AU2002218004A1 (en) 2002-05-15
US7203634B2 (en) 2007-04-10
EP1337963A4 (en) 2005-11-02
WO2002037406A1 (en) 2002-05-10

Similar Documents

Publication Publication Date Title
US7149677B2 (en) Geometric model comparator and method
US20100198565A1 (en) Feature-Based Translation System and Method
Buonamici et al. Reverse engineering modeling methods and tools: a survey
Wang et al. Fully automated generation of parametric BIM for MEP scenes based on terrestrial laser scanning data
Bénière et al. A comprehensive process of reverse engineering from 3D meshes to CAD models
US7492364B2 (en) System and method for creating and updating a three-dimensional model and creating a related neutral file format
González-Lluch et al. A survey on 3D CAD model quality assurance and testing tools
Barequet et al. Repairing CAD models
Attene et al. Polygon mesh repairing: An application perspective
US6411862B1 (en) Apparatus and method for managing and distributing design and manufacturing information throughout a sheet metal production facility
US6185476B1 (en) Apparatus and method for managing and distributing design and manufacturing information throughout a sheet metal production facility
Chang et al. 3D shape engineering and design parameterization
US20030176994A1 (en) Boundary representation per feature methods and systems
US6985835B1 (en) Method and apparatus for edge correlation between design objects
JP2022023010A (en) Vehicle impact analysis with two-point-contact curves
US7333104B2 (en) Method and program of converting three-dimensional shape data into cell internal data
JP4175536B2 (en) Boundary data inside / outside judgment method and program
White et al. Meshing Complexity of Single Part CAD Models.
Skorkovská et al. A Simple and Robust Approach to Computation of Meshes Intersection.
Lai et al. Repairing triangular meshes for reverse engineering applications
Takashima et al. Shape descriptor-based similar feature extraction for finite element meshing
Chang A review on shape engineering and design parameterization in reverse engineering
US11436789B2 (en) System for determining visually relevant design differences between 3D models
Pawar Surface reconstruction from point clouds
Eccles et al. Solid Modeling and Fault Tolerant Meshing-Two Complementary Strategies

Legal Events

Date Code Title Description
AS Assignment

Owner name: TRANSLATION TECHNOLOGIES, INC., WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JAYARAM, SANKAR;MCDONALD, MICHAEL M.;EVANS, DANIEL;AND OTHERS;REEL/FRAME:012610/0821;SIGNING DATES FROM 20020114 TO 20020124

AS Assignment

Owner name: VENTURE STRATEGY PARTNERS II, LP, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:TRANSLATION TECHNOLOGIES, INC.;REEL/FRAME:013195/0967

Effective date: 20020726

Owner name: MEGUNTICOOK FUND, II L.P., THE, MASSACHUSETTS

Free format text: SECURITY AGREEMENT;ASSIGNOR:TRANSLATION TECHNOLOGIES, INC.;REEL/FRAME:013195/0967

Effective date: 20020726

Owner name: EFUND, LLC, WASHINGTON

Free format text: SECURITY AGREEMENT;ASSIGNOR:TRANSLATION TECHNOLOGIES, INC.;REEL/FRAME:013195/0967

Effective date: 20020726

AS Assignment

Owner name: TTI ACQUISITION CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TRANSLATION TECHNOLOGIES, INC.;REEL/FRAME:013967/0094

Effective date: 20030730

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20181212