Abstract:
A method and system of coordination between CAD drawings for collision checking purposes. By linking to a common data file structure in a central location, collisions can be detected between drawings whether the drawings are in the same computer, elsewhere on a network or, through data communications networks such as the internet, on the other side of the world. This process can be applied to any project where work in more than one CAD drawing is required.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
         [0001]    Not Applicable  
         STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT  
         [0002]    Not Applicable  
         REFERENCE TO A MICROFICHE APPENDIX  
         [0003]    Not Applicable  
         BACKGROUND OF THE INVENTION  
         [0004]    1. Field of the invention  
           [0005]    The present invention generally relates to the field of Computer Aided Design and/or Drafting (CAD).  
           [0006]    2. Background Information  
           [0007]    Traditionally, the creation of drawings, especially on complex projects, has required coordination between those working on the project to prevent items or systems being designed from occupying the same physical space. The condition wherein two or more items occupy the same space has come to be known as a collision. Avoidance of collisions is extremely important on virtually all projects.  
           [0008]    Prior to the present invention, the most complex collision detection systems for CAD could only coordinate items on a single drawing. This lack of multiple-drawing coordination created conflicts between workers when they came together for coordination meetings. Often, resolution of collisions requires considerable effort on the part of those involved, especially when a collision is not discovered for several days. In some cases, resolving collisions requires a complete re-design of a particular component or system.  
         BRIEF SUMMARY OF THE INVENTION  
         [0009]    In view of the foregoing, the present invention, through one or more of its various aspects, embodiments and/or specific features or sub-components thereof is provided to bring about one or more objects and advantages, such as those specifically noted below.  
           [0010]    A general object of this invention is to provide immediate notification to both parties involved in a collision so that they can resolve the collision with a minimum of effort.  
           [0011]    A further object of this invention is to provide that immediate notification regardless of whether the CAD operators are in the same room or, through data communication networks such as the internet, in remote locations.  
           [0012]    Another object of this invention is to allow for continuous collision checking with a large number of drawings at any given time, whether on a single computer or multiple computers. This expandability being limited only by the processing power of the computers involved. 
       
    
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING  
       [0013]    [0013]FIG. 1: Diagram showing 3-dimensional representation of computer file numbering system with respect to location of items in a CAD drawing  
         [0014]    [0014]FIG. 2: Diagram showing a 2-dimensional application of computer file numbering system as it relates to items in a CAD drawing 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0015]    According to an aspect of the present invention, an apparatus and method are provided for coordinating details contained in multiple drawing files. These drawing files can be on one computer or spread out over multiple computers with a common PROJECT DIRECTORY for collision checking purposes.  
         [0016]    Under the present invention, collision data files from connected computers are placed in a common PROJECT DIRECTORY. These files are used to store drawing information and are given names pertaining to the originating drawing file name and the physical location of each item drawn. A file called 03880127.A, for example could pertain to an area of a specific size whose X-axis coordinates are represented by the first 4 digits of the file name and whose Y-axis coordinates are represented by the second four digits. In cases such as in the design of multi-story buildings, this naming structure can be extended to include the Z-axis (FIG. 1). The number of digits used to describe an area are not important as long as it is devisable by the number of coordinate axes represented. The numbers extracted from the file name are multiplied by a constant grid size to obtain a physical location within a drawing.  
         [0017]    Let us say, for example that our grid size is a 5 meter square. By multiplying 5 times 388, we determine the X-axis coordinate to be 1940. Similarly the Y-axis coordinate is determined to be 127 times 5 or 635. Everything drawn in this area of drawing “A” is described within this file. If items cross more than one area, they are described in multiple files. As new items are drawn, they are added to the files and checked for collisions against items already in the files.  
         [0018]    A central CATALOG FILE is maintained within the PROJECT DIRECTORY to designate which drawing file is code named “A”, for example. As more drawings are added to the project, their code names are automatically created and added to the CATALOG FILE.  
         [0019]    Each time an item is drawn, the present invention queries the PROJECT DIRECTORY for all files with the same COORDINATE CODE as the item being drawn. It may encounter files named 03880127.A, 03880127.B, and 03880127.C, for example. It then checks each of these files to determine whether it collides with items in them. If it collides with items in its own drawing, a local notification is activated telling the CAD operator the item collided with and flagging the items involved. Since no other drawing was involved, the CAD operator can resolve that collision without involving others or editing other drawing files. Should the present invention detect a collision with items in another drawing, the operator is notified. The information contained in the CATALOG FILE about the offending drawing is shown to the operator. The point of the collision is flagged and the operator is given a description of the item he hit along with an identity code and exact coordinates to assist the draftsman who drew that drawing in locating the item. The CAD operator may then either avoid the item by shifting an item in his drawing or contact the creator of the other drawing and have them move the item collided with. Alternatively, the CAD operator can post a COLLISION NOTICE in the PROJECT DIRECTORY which will activate a warning message each time someone opens any drawing file in which a collision exists, centering the offending area on the operator&#39;s screen and flagging the exact location of the collision.  
         [0020]    In order to determine the COORDINATE CODE or codes to be used by a particular item, we must convert each item&#39;s boundary coordinates to map out its location within a grid. In FIG. 2, you can see a representation of a chain of items drawn across a CAD drawing. Each item is represented by a rectangle. The mapped areas of the CAD drawing are represented by the grid of dashed lines. These lines are for illustration of a concept only. The present invention does not actually draw these lines in the CAD drawing. Each section of the drawing is assigned a COORDINATE CODE. The code represents an area of the drawing sufficiently large enough to limit the number of files each item must check as it is drawn while being small enough to limit the number of items each file contains. On building size drawings a grid of 5 to 10 meters is usually adequate. Again in FIG. 2, notice how the first 4 digits increase as the grid progresses to the right while the last 4 increase as you move toward the top of the page. Using this method, you can map large projects such as airports without repeating numbered areas. Notice the rectangle, labeled item #1, which passes from area 03870126, through 03880126, into 03880127. Under this system, information about this item would be contained in 3 different files.  
         [0021]    Once the COORDINATE CODES have been determined for an item, we assign the code for this drawing. If the DRAWING CODE is not known, we check the CATALOG FILE to see if this drawing is listed. If the drawing is found, we use the code previously assigned to this drawing. If it is not listed, we assign a code to this drawing and list it in the CATALOG FILE, along with the name of the drawing, its file location, and the contact information of the person creating the drawing.  
         [0022]    Once we have a DRAWING CODE, we create file names by appending a period and the DRAWING CODE to each of the COORDINATE CODES.  
         [0023]    One by one, we check to see if the COORDINATE FILES for this item exist. If a file exists, we step through the file, checking for collision with each item in the file and append information about this new item to the file. If the file does not exist, we create it, placing information about our item into the new file.  
         [0024]    Next, we look for data files from other drawings with the same COORDINATE CODE as the area we are drawing in. This is done by searching for files whose root name is our COORDINATE CODE regardless of the file extension (03880127.* for example) within our PROJECT DIRECTORY. If such files exist, we step through each file comparing its items to our item for collision. Since these files represent other drawings, we make no changes to them.  
         [0025]    The data for each item should contain several elements. It should contain an IDENTITY CODE so that the item can be accurately identified in its originating drawing. The IDENTITY CODE allows coordinating draftsmen to run computer searches of drawings to quickly identify and zero in on objects involved in collisions. The IDENTITY CODE also allows the present invention to be aware of items attached to it and ignore them for collision checking purposes. In FIG. 2, you will notice we have several rectangles linked end to end representing a chain of items in our drawing. We do not wish to be told they collide whenever we attach one to another. They are legitimately touching. Therefore, each item should be aware of those it is connected to and ignore those items for collision checking purposes. This is done by compiling a list of connected items and passing that list to the present invention to be ignored.  
         [0026]    Another element that should be included in the data representing each item is a DESCRIPTION of each item. This is important since it allows the present invention to tell the operator what he hit.  
         [0027]    Another element that should be included in the data representing each item is a LIST OF POINTS representing the edges of the item 3-dimensionally.  
         [0028]    Given a list of points, there are several methods one can use to determine intersection. Since it is the act of determining intersection based upon the central file system and not the method used, no specific means is cited.  
         [0029]    With the present invention, the operator is allowed to specify a distance he wishes to maintain between objects. When items pass within that range, but do not actually collide, the operator is issued a warning message and informed how close items are. This warning system extends the LIST OF POINTS in outward directions (x, y, and z) before checking for intersection.  
         [0030]    Because this system stores simple data strings in specifically named files, collision checking can be performed very quickly as items are being drawn. With modem computers, this process is fast enough not to be noticed by the user. The present invention can check items in any drawing whether or not the item is currently visible to the operator.  
         [0031]    By linking computers in a virtual network, including those connected through the internet, this system can be used to coordinate drawing efforts of draftsmen working anywhere in the world.