# Patent

## Title
CAD system

## Abstract

Every type of change in a CAD generated object is automatically and chronologically protocoled so that the object directly includes an abstract description of the history of the object independent of the CAD module used. This is particularly advantageous with decentralized CAD systems in which several constructors/designers are working together on the same draft, but located in different places. At the end of a session, the object history, i.e. the changes which have taken place, are directly exported, together with the object data, into the destination system. The abstract description is in a form independent of the system used.

## Background
FIELD OF THE INVENTION
The present invention relates to a system for computer aided design (CAD), and particularly for a web-based, real-time collaborative CAD design process.
BACKGROUND
Design projects in a whole range of fields generally require a collaboration of individuals and a coordination of information and tasks.
Most engineering design results from the joint efforts of a highly qualified team of engineers, designers, marketing specialists, etc. The people working on any particular product may belong to different companies, using different CAD systems and may be based in widely differing locations.
It is thus difficult and time-consuming for these people to exchange data and to discuss design ideas and modifications. Decisions can be delayed when members of the team are unable to travel or attend meetings. Furthermore, because members of the design team can be located all over the world, much expense and time can be spent in travelling to meetings to discuss the project.
Of course, copies of design drawings can be sent by fax or by computer communication and telephone conferences can be arranged between the members of the team. However, this means that the parts of the drawing to which a member of the team is referring needs to be described in words to the other members of the team involved in the telephone conference and misunderstandings can easily arise, particularly in very complex design projects. It is also not always immediately apparent what effect a modification to one component may have on other components.
The ability to access and collaborate on design data anywhere at any time is extremely important in product development if the development of a product is not to become prohibitively involved and expensive. Often, an inferior design has been chosen for production, since to change the features of the design and have them all agreed by all members of the team would involve too much time and expense in arranging meetings, conferences, etc.
In recent times, systems have been developed allowing designers based in different locations to work together over a network in a ‘Virtual Design Studio’, particularly using web-based tools. These systems enable users to easily access and collaborate on design data.
There are now several CAD-design data packages which can be delivered in an easily usable manner to all members of the product development team, via a network, e.g. via the Internet. U.S. Pat. No. 5,339,247; U.S. Pat. No. 5,815,683; and U.S. Pat. No. 6,094,658, for example, disclose such systems.
These ‘Virtual Design Studios’ enable various members of the design team, and other observers, to ‘meet’ over the network to detect and resolve design conflicts at all stages of product development.
One factor which has previously restricted the usefulness of the ‘Virtual Design Studio’ for CAD applications is the amount of data contained in CAD models. Even models of simple products can reach hundreds of megabytes in size. During the virtual design process, these models have had to be transmitted across the Internet and this has previously not been a feasible solution.
However, over the past two years or so, new technologies have emerged which have enabled the virtual design process over the Internet to become a reality.
The process known as ‘streaming 3D’ allows 3D data, such as the data making up CAD models to be transmitted across networks incrementally, rather than all at once. As a user uses and manipulates a CAD model, the streaming 3D technology automatically downloads the portion the user can see. This technique allows a user to operate on highly complex models via the Internet.
One such ‘streaming’ system is the ‘Envision 3D’ system. When the user accesses the server, he enters a 3D model. A picture appears on his screen and then, as he starts to use various navigation tools, new information comes into view as and when required. New information is streamed from the server and old data exits the system.
Similarly, the ‘ConceptWorks’ system from RealityWave allows transmission of current CAD files to enable real-time collaboration over the Internet. Rather than transmitting an entire CAD file, only the parts of the file seen by the user are transmitted.
Powerful collaboration systems now exist which have the ability to support people at different spatial locations working together simultaneously on the same design project.
It is also possible for the results of changes within one design step or by one member of the design team to be fed back to the others while the work is going on. This clearly requires real-time communication between members of the virtual team and means for integrating and checking the results of work done by individuals.
The leading solution for real-time collaboration using the CAD 3D product model is CoCreate's ‘OneSpace’ system which is essentially a virtual conference room where global product development teams can connect with each other.
Users distributed at different locations can, from their own computer screens, view a particular CAD model online in the course of a virtual meeting. They can note annotations to it and can modify the design. As a result, design problems can not only be identified more quickly but can also be discussed and solved there and then. It is much more efficient to exchange suggestions and ideas while viewing the CAD model.
This system has been successfully used to hold online meetings with departments at other locations or with external suppliers and to implement the changes proposed by their development partners immediately. Furthermore, design alternatives can be explored there and then, with input from all of the design team who will have different fields of expertise and see different problems arising from suggested solutions or ideas.
The ‘OneSpace’ system supports individual and shared understanding; allows users at different locations to view, inspect and mark-up the same design, enables on-the-spot detection and resolution of conflicts and exploration of design alternatives in a real-time discussion and design forum.
‘OneSpace’ functions on top of most 3D CAD environments, which means that users do not need to invest in a new CAD technology to reap the benefits.
Thus, there are now several effective systems available which allow a large number of people involved in the production of a design to view, discuss and modify the design in a ‘virtual conference’. The design can then be finalised much more quickly and forwarded for production.
However, the final version of the design is generally the result of many modifications, ideas and suggestions and the CAD data describing the design describe only the final result of a creative process, i.e. how a product or part of the product looks, but not why it was developed in one way and not in another, for example. There is nothing in the design data about the many ideas which were conceived and discarded for some reason and, in future designs, all of these ideas have to be reasoned through again and again.
OBJECTS OF THE INVENTION
The aim of the present invention is to improve on known CAD collaboration techniques by making them more flexible and available to a wider range of people, as well as making use of the whole creative process resulting in the finished design.
SUMMARY OF THE INVENTION
Thus, according to one aspect of the present invention, there is provided a computer-aided design (CAD) system for designing an object, comprising:
a database for storing data on the shape and/or structure of the object;
a data processor for processing input commands for modifying the object and updating the data stored in the database accordingly; and
data recordal means for recording the input commands chronologically and storing the record in the database with the object data.
Thus, according to another aspect, there is provided a collaborative computer-aided design (CAD) system for designing an object by a plurality of designers working on the design simultaneously, comprising:
a server comprising:

    
    
        a database for storing data on the shape and/or structure of the object, and
        a processor for processing input commands for modifying the object and updating the data stored in the database accordingly; and
        data recordal means for recording the input commands chronologically and storing the record in the database with the object data; and
    
    


a plurality of user terminals, each having a screen and a data input means and being connectable to the server via a network;
the user terminals being connected to the server such that a representation of the object can be simultaneously displayed on the screens of all user terminals and that modifications can be made to the object by inputting commands via the data input means, the commands being conveyed via the networks and processed via the server processor and recorded by said server data recordal means.
According to another aspect, there is provided a method of computer aided design of an object comprising:
storing data on the shape and/or structure of the object;
displaying a representation of the object on a screen;
modifying the shape and/or structure of the object by means of input commands to a computer associated with the screen, the input commands being processed to update the data stored accordingly and an image of the modified object being displayed; and
automatically recording modifications made to the design and storing information representing the modifications chronologically.



BRIEF DESCRIPTION OF THE DRAWINGS
Preferred embodiments of the present invention will now be described, by way of example only, with reference to the drawings, wherein:
FIG. 1 is a simple diagram showing the basic architecture of a collaboration system in which the present invention may be implemented;
FIG. 2 shows how various people at different locations can collaborate on a design using a system such as shown in FIG. 1;
FIG. 3 shows a stage in the collaborative design session where various modifications are made to the design simultaneously; and
FIG. 4 shows an example of a collaboration log according to the invention.



DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiment of the invention will be described as embodied in the ‘OneSpace’ system. However, it should be understood that it is envisaged that the invention may be incorporated into other CAD systems.
The architecture of a ‘OneSpace’ collaboration system can be seen in FIG. 1. The system consists of a collaboration server 1 and clients or ‘collaboration stations’ 2. These components can be located anywhere in a global network. FIG. 2 shows an example where a design is being discussed and worked on simultaneously by a designer based in Europe, an analyst/inspector based in the USA and a manufacturer based in Japan.
The client is the front-end for the integrated collaboration application modules. Any participant or client (provided they have the appropriate authority) can trigger an upload of data into the server for synchronous real-time viewing, inspection, conference, mark-up and collaborative editing of the 3D model. Results of the session can be downloaded to local discs or stored in a PDM system 3 on the network. All upload and download requests, as well as all operations on 3D models are under complete control of the configurable permission system discussed in more detail below.
The collaboration server 1 provides a solid modelling kernel to hold the 3D product model. The kernel is configured to work with models from any CAD system, imported via the 3D standard data formats STEP and IGES or through one of the native CAD adapters available in the system.
The server 1 gives clients 2 access to the loaded data and enables them to connect to and communicate with the server and to each other. Other collaboration services provided by the server allow collaborative viewing and mark-up of a variety of document formats including 2D drawings, pixel and raster images, text documents and PDF files, services also allow the exchange of text messages or the capture of collaboration information as classified notes. The collaboration stations 2 use multi-platform Java technology which offers the same intuitive and easy-to-use graphical user interface (GUI) on different platforms. The user interface can be adapted to different levels of different user groups and can function from off-line viewing of multi-format documents up to client-server based synchronous collaboration including 3D co-modelling.
One particular advantage of the ‘OneSpace’ system is that users can collaborate with each other on 3D models from different CAD systems over the web 6, in real time. Users can bring heterogeneous models from different CAD systems together to view them in context, take precise measurements and annotate the model. Geometric modification of the 3D model is available to all users in a consistent fashion independent of the originating CAD system and the different CAD software installed on the different client stations. Because of these special CAD-independent capabilities, team members outside of the enterprise, such as suppliers and customers, can join and actively participate in collaborative sessions.
The CAD adapters enable the import and export of native 3D model data from all of the major CAD systems, including CATIA, I-DEAS, ProEngineer, SolidDesigner, SolidWork and Unigraphics.
The preferred embodiment also provides a family of PDM adapters, providing users with the ability to search, access and store collaboration data from multiple PDM systems. Collaboration data includes CAD files, 2D documents, annotations and mark-up as well as collaboration result reports and modified 3D models.
In many environments multiple PDM systems are used by different departments or organisations. The present system can be integrated into the engineering process and infrastructure by accessing data from the multiple PDM systems in the same collaboration session, whilst maintaining the specific access controls and business policies of each PDM system. PDM access can be either web-based or native and the integration can be configured to adapt to the costumer-specific PDM use.
A collaborative design session using the ‘OneSpace’ system is set up in a manner similar to a conference call. The person in charge of the conference books a time slot with the service provider and informs all of those participating of the time of the conference. Each participant is also given the server address, which is an address of a site 4 on the World Wide Web. For security, the users can also be allocated an identification code which they must first input, when dialling into the conference.
To enter the virtual conference, each participant clicks on an icon on his desk top. Generally, the participants can all also communicate by telephone during the session, so that the changes and ideas shown on the screen can be discussed.
A collaboration station log-in window will then appear on each user's screen. The users select the server hosting the session, from the address previously communicated to them, and log in.
The model being discussed, or the parts of the model being discussed, will then appear on each participant's screen, together with notes and annotations. Each user (or those allowed access, if a limited access system is used) can move them, rotate them, change their view, etc. regardless of which CAD software they have installed on their own computer.
The preferred system operates in a standard TCP-IP local area network (LAN) or wide area network (WAN) infrastructure. The system is thus easy to integrate into existing intranets. It can use ISDN or modem-based dial-up connections 6 and also works over the Internet. In the preferred system, it is a simple drag-and-drop process to load the model onto the server. The source of the data can be a file on the local disc of one of the clients or an entry in a PDM data base. The client drags the data entry from the source into the 3D collaboration window of the application area and data transfer is then initiated. Data is transferred from the source to the 3D collaboration server and the load sequence into the server's modelling kernel is initiated.
In one mode, the client simply uploads the model file written by a native CAD system from the data source to the server. In another mode, add-on modules can be used to allow the users to export or select assemblies or parts to the virtual conference room for immediate collaboration.
To save the results of a collaborative session, again, a simple drag-and-drop operation can be used. This initiates transmission from the selected 3D model to the appropriate destination. The model file is either stored in the local file system of the collaboration station or in the data base of the PDM server 3.
Once a model has been loaded, the server 1 starts a data broadcast to all connected clients 2. The geometric model itself resides only in the modelling kernel of the server 1, and only a graphical representation of the model, together with essential structural information, is sent over the network 6.
The image is conveyed to the clients by use of the streaming process. The clients can access the 3D model part-by-part as it is sent over the network. In addition to the basic information such as the assembly and parts structure, the initial load process disseminates the internal system identification of all model entities including faces, edges and vertices. These references enable the client to identify components of these 3D models when sending requests to the server during the design process.
Once the initial load phase is complete, each client is equipped with all data needed to render the model rapidly, locally and independently of other clients and of the server. The data received from the server is accumulated in the scene graph structure in the client. Operations such as dynamic panning, zooming and rotation are available for independent local viewing.
It is clearly important, in collaborative design, that all clients are able to see the same parts of the model from the same perspective and to identify and dynamically refer to model elements. In the preferred embodiment, each client receives the same information about the 3D model residing in the server. Views can be shared among two or more participants. Since all clients have the rendering information in their local scene graphs, there is no need to send bitmaps or pixels. Instead, synchronisation is accomplished by exchanging a small amount of data describing the viewing parameters. These include the position of the virtual camera, the viewing direction and the zoom factor. Dynamic pointing tools can then be used in the shared views. Even the low band width achievable using a 28.8 k modem dial-up connection is sufficient for synchronisation of views and pointers in near-real-time.
Clients can select entities of the model in the local displays 5. As the clients receive structural information relating to assemblies, parts, faces, edges, etc. there is an association between graphical and model elements in addition to the graphical representation of the model. The ability to identify model elements and to have a live connection between client and server enables clients to address model-based enquiries to the server. They can inspect the properties of parts or faces and can ask the server for precise measurements, with model accuracy. The results are immediately routed back to the client for display. As far as the user is concerned, the whole operation is completely transparent, and appears to be happening locally.
For modifying the model, in the preferred system, commands are triggered by the clients, but executed on the geometric model in the server 1. It is an essential factor in the response time of the system that the changes are made to the master model which resides on the server, rather than to the local models which only represent a reduced data depiction.
Any change made to the model residing in the server needs to be conveyed to all connected clients. It is essential in a collaboration session that everybody involved is looking at and working with the most up-to-date version of the design. FIG. 3 shows examples of design changes made during the session.
In the preferred system, the modelling kernel of the server is capable of identifying changes individually. Thus, the clients can incrementally update the model representation in their scene graphs and further, any model update only requires the transfer of any information which is actually changed. This clearly reduces the size of data transferred and the transmission time, and makes it possible to work in real time.
An important feature of the present invention is the use of notes and references to capture the results of the collaboration session. These results can be geometric, such as actual changes made to the model, or non-geometric such as discussion, decisions, reasons for making changes, items or ideas to investigate further.
Information attached to the model can be in the form of text notes and/or URL links identifying other web sites/resources. These notes can be captured and reviewed collectively and then stored with the model and/or published as a collaboration report 7.
The present invention automatically and chronologically logs every single change made during a collaborative session to the CAD model and an abstract description of the history of the design is directly saved with the associated object, independent of the CAD model used.
At the end of a session, the object design history, i.e. the changes which have taken place, reasons for the changes, etc. are directly exported, together with the object data, and the model and its associated report or log 7 is saved, as previously discussed.
Thus, the system during the collaboration session, automatically generates collaboration logs 7 as shown in FIG. 4. These contain such information as the name of the person making the changes, the date and time of the change, a status indicating if all members of the session agreed on the change, the location of the person making the change, a description of the method used to perform the change, a complete description of all parameters to be applied to the method used to perform the design change, a text description of the design intent or reason for the change and/or a URL to refer to associated web pages. Of course different combinations of these and other details may be logged, according to the requirements of the users.
The information to be contained in the log is automatically collected during the design session, as and when the design changes are made. A collaboration log is created containing all of this information and can be visually displayed on the screen of all clients attending the session. Anybody can view this information at any time.
The logs can later be used to enable designers to review the changes made during the session and the reasons for these changes. The designer can, for example, produce a table of all the changes that were made in the collaborative environment. The format of the log is completely independent of the CAD system used. Since the modifications are made to the server based original model, the changes carried out and logged during the sessions are also available off-line or independently of the clients e.g. as an HTML report.
Since the logs are created automatically, no additional effort is required to collect this information during the collaborative session.
The present invention, therefore, provides an improvement on existing CAD systems in that all changes made to the CAD model during a design session are automatically and chronologically logged and attached to the object model as an abstract description of the history of the object design, independent of the CAD program used to produce the model. This is particularly advantageous with decentralised CAD systems in which several designers, manufacturers, etc. are working together, simultaneously, on the same design, but from different locations. At the end of a design session, the design history is directly exported, together with the data defining the designed object, into the destination system. The abstract description of the design process is in a form independent of the system used.
It will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of protection is limited only by the following claims and their equivalents.

## Claims

1. A collaboration server supporting a computer-aided design (CAD) system, comprising:
means for maintaining a database including CAD elements defining an object under design;
means for receiving input commands from a plurality of remote client applications to modify said CAD elements;
means for automatically logging discrete changes to said CAD elements resulting from said input commands in respective records; and
means for generating a hypertext markup language (HTML) report from said records to enable user access to information related to changes to said CAD elements.

2. The collaboration server of claim 1 wherein said means for automatically logging records values defining geometric characteristics of CAD elements when changes are made to said CAD elements.

3. The collaboration server of claim 1 further comprising:
means for receiving information from a user related to a reason for a respective change to said CAD elements, wherein said means for automatically logging associates said received information and said respective change in a record.

4. The collaboration server of claim 1 further comprising:
means for indicating in each record an identity of a user making a respective change to said CAD elements.

5. The collaboration server of claim 1 wherein said remote client applications communicate with said collaboration server via the Internet.

6. A method for designing a computer-aided design (CAD) object, comprising:
maintaining a database including CAD elements defining an object under design at a collaboration server;
receiving, by said collaboration server, input commands from a plurality of remote client applications to modify said CAD elements;
automatically logging discrete changes to said CAD elements as a result of said input commands in respective records; and
generating, by said collaboration server, a hypertext markup language (HTML) report from said records to enable user access to information related to changes to said CAD elements.

7. The method of claim 6 wherein said automatically logging records values defining geometric characteristics of CAD elements when changes are made to said CAD elements.

8. The method of claim 6 further comprising:
receiving information from a user related to a reason for a respective change to CAD elements, wherein said automatically logging associates said received information and said respective change in a record.

9. The method of claim 6 further comprising:
indicating an identity of a user responsible for a respective change to said CAD elements in each record.

10. The method of claim 6 wherein said remote client applications communicate with said collaboration server via the Internet.

11. A collaboration server, comprising:
a database including computer-aided design (CAD) elements defining an object under design; and
a collaboration server application for receiving input commands from a plurality of remote client applications to modify said CAD elements during a design session, wherein said collaboration server application identifies discrete changes to said CAD elements resulting from said input commands, creates a log of said discrete changes, and generates a hypertext markup language (HTML) report to enable user access to information related to changes to said CAD elements, wherein said HTML report is provided to each client to enable CAD users to review each change made to CAD elements during said design session while said design session is occurring.

12. The collaboration server of claim 11 wherein said collaboration server application automatically records values defining geometric characteristics of CAD elements when changes are made to said CAD elements.

13. The collaboration server of claim 11 wherein said collaboration server application receives information from a user related to a reason for a respective change to said CAD elements and includes said received information in said log.

14. The collaboration server of claim 11 wherein said collaboration server application indicates in said log an identity of a user making a respective change to said CAD elements.

15. The collaboration server of claim 11 wherein said remote client applications communicate with said collaboration server via the Internet.