13
Min Li 1 e-mail: [email protected] Shuming Gao 2 e-mail: [email protected] State Key Lab of CAD&CG, Zhejiang University, Hangzhou, 310027, P.R. China Charlie C. L. Wang Department of Automation and Computer-Aided Engineering, The Chinese University of Hong Kong, Shatin, N.T., Hong Kong, P.R. China e-mail: [email protected] Real-Time Collaborative Design With Heterogeneous CAD Systems Based on Neutral Modeling Commands This paper presents an integration-based solution for developing a real-time collabora- tive design (co-design) platform on heterogeneous computer-aided design (CAD) systems. Different from the visualization-based approaches, the product models are allowed to be constructed and modified from various sites together in the proposed collaborative design platform. Our approach is based on a mechanism for the translation between system modeling operations (SMOs) and neutral modeling commands (NMCs). Every operation given by a user on one site is translated into a NMC and transmitted to all the other sites through the network, and then the received NMC is converted into corresponding SMOs on every other site, instantaneously. Since only the commands but not the product data are transferred, the data size under transmission is greatly reduced, so that a real-time synchronization can be achieved with a standard network bandwidth. In addition, by developing system-dependent SMO NMC translators on different client CAD systems, users on different sites could join the collaboration by using their familiar CAD systems; this is the benefit that cannot be offered by the homogeneous co-design systems. The prototype implementation proves that our approach works well for integrating various current popular commercial CAD systems into a real-time collaborative design platform. DOI: 10.1115/1.2720880 Keywords: command-based, real-time synchronization, collaborative design, CAD systems, heterogeneous structure, feature-based modeling, interoperability 1 Introduction The paradigm of product development is changing with the increasing globalization of the economy and the rapid develop- ment of information technology. In recent years, more and more complex products need to be collaboratively developed by mul- tiple departments or groups geographically dispersed. It is well recognized that this new product development paradigm requires new computer-aided design CAD approaches and tools that ef- fectively support collaborative design activities. For example, of the enterprises in Hong Kong, the customers are mainly from US and Europe, the design centers are usually located at their head- quarters in Hong Kong, and most of them have their manufactur- ing facilities in mainland China. Therefore, there is a growing demand to enable collaborative product development linking the overseas customers, the Hong Kong headquarters, and the manu- facturing plants. The Internet is an ideal platform to articulate such development. However, general CAD software cannot sup- port the requirement of an instantaneous collaborative design task, especially in the sense of instantaneous and collaborative design. In current CAD systems, the design behavior of parts, assem- blies, and manufacturing planning only supports a single user. However, in practice, several engineers are usually involved in the development of a product. It is true for not only complex products but also relatively simple products. Moreover, collaboration among team members shows an increasing importance in solving design conflicts as early as possible in the design stage. Thus, a platform supports collaborative design with current popular CAD systems is a desideratum. The major requirements of such a plat- form are as follows: Not only viewing operations but also modeling functions should be enabled for the development of product models, so that different users who are involved in the design activ- ity and located at different sites can modify the product data together online. The size of data transferred should be reduced as much as possible, for the bandwidth is still a bottleneck of current Internet. Users could use their familiar systems during the design procedure. Based on these requirements, an integration-based method is given in this paper for constructing a real-time collaborative de- sign platform within heterogeneous CAD systems. Our method is command based, so that the amount of data transmission is greatly limited. Different from the visualization-based approaches, mod- els can be constructed and modified synchronously from various sites in the proposed collaborative design environment. Based on a translation mechanism between system modeling operations SMOs and neutral modeling commands NMCs, every opera- tion given by a user on one site will be translated into a NMC and be sent to all the other sites through the network. When the other sites receive this command, it is converted into corresponding SMOs on the local system. The whole collaborative design plat- form is constructed in an integrated manner by developing a cen- tral management server, and several client-side system-dependent manager applications, which are usually in the form of add-ons. The mechanism and structure of our integration approach are shown in Fig. 1. On every client site, the CAD system is equipped 1 Present address: Department of Mechanical Engineering, National University of Singapore, 9 Engineering Dr. 1, Singapore 117576, Singapore. 2 Corresponding author. Contributed by the Engineering Informatics/AI Committee of ASME for publica- tion in the JOURNAL OF COMPUTING INFORMATION SCIENCE AND ENGINEERING. Manuscript received June 27, 2005; final manuscript received September 6, 2006. Assoc. Editor: Jim Oliver. Journal of Computing and Information Science in Engineering JUNE 2007, Vol. 7 / 113 Copyright © 2007 by ASME Downloaded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASME license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Real-Time Collaborative Design With Heterogeneous CAD Systems

  • Upload
    lequynh

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Real-Time Collaborative Design With Heterogeneous CAD Systems

1

imctrnftaqidofspe

bHdba

S

trJ

J

Downloa

Min Li1

e-mail: [email protected]

Shuming Gao2

e-mail: [email protected]

State Key Lab of CAD&CG,Zhejiang University,

Hangzhou, 310027, P.R. China

Charlie C. L. WangDepartment of Automation and Computer-Aided

Engineering,The Chinese University of Hong Kong,

Shatin, N.T.,Hong Kong, P.R. China

e-mail: [email protected]

Real-Time Collaborative DesignWith Heterogeneous CADSystems Based on NeutralModeling CommandsThis paper presents an integration-based solution for developing a real-time collabora-tive design (co-design) platform on heterogeneous computer-aided design (CAD) systems.Different from the visualization-based approaches, the product models are allowed to beconstructed and modified from various sites together in the proposed collaborative designplatform. Our approach is based on a mechanism for the translation between systemmodeling operations (SMOs) and neutral modeling commands (NMCs). Every operationgiven by a user on one site is translated into a NMC and transmitted to all the other sitesthrough the network, and then the received NMC is converted into corresponding SMOson every other site, instantaneously. Since only the commands but not the product dataare transferred, the data size under transmission is greatly reduced, so that a real-timesynchronization can be achieved with a standard network bandwidth. In addition, bydeveloping system-dependent SMO↔NMC translators on different client CAD systems,users on different sites could join the collaboration by using their familiar CAD systems;this is the benefit that cannot be offered by the homogeneous co-design systems. Theprototype implementation proves that our approach works well for integrating variouscurrent popular commercial CAD systems into a real-time collaborative designplatform. �DOI: 10.1115/1.2720880�

Keywords: command-based, real-time synchronization, collaborative design, CADsystems, heterogeneous structure, feature-based modeling, interoperability

IntroductionThe paradigm of product development is changing with the

ncreasing globalization of the economy and the rapid develop-ent of information technology. In recent years, more and more

omplex products need to be collaboratively developed by mul-iple departments or groups geographically dispersed. It is wellecognized that this new product development paradigm requiresew computer-aided design �CAD� approaches and tools that ef-ectively support collaborative design activities. For example, ofhe enterprises in Hong Kong, the customers are mainly from USnd Europe, the design centers are usually located at their head-uarters in Hong Kong, and most of them have their manufactur-ng facilities in mainland China. Therefore, there is a growingemand to enable collaborative product development linking theverseas customers, the Hong Kong headquarters, and the manu-acturing plants. The Internet is an ideal platform to articulateuch development. However, general CAD software cannot sup-ort the requirement of an instantaneous collaborative design task,specially in the sense of instantaneous and collaborative design.

In current CAD systems, the design behavior of parts, assem-lies, and manufacturing planning only supports a single user.owever, in practice, several engineers are usually involved in theevelopment of a product. It is true for not only complex productsut also relatively simple products. Moreover, collaborationmong team members shows an increasing importance in solving

1Present address: Department of Mechanical Engineering, National University ofingapore, 9 Engineering Dr. 1, Singapore 117576, Singapore.

2Corresponding author.Contributed by the Engineering Informatics/AI Committee of ASME for publica-

ion in the JOURNAL OF COMPUTING INFORMATION SCIENCE AND ENGINEERING. Manuscripteceived June 27, 2005; final manuscript received September 6, 2006. Assoc. Editor:

im Oliver.

ournal of Computing and Information Science in EngineeCopyright © 20

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

design conflicts as early as possible in the design stage. Thus, aplatform supports collaborative design with current popular CADsystems is a desideratum. The major requirements of such a plat-form are as follows:

• Not only viewing operations but also modeling functionsshould be enabled for the development of product models,so that different users who are involved in the design activ-ity and located at different sites can modify the product datatogether online.

• The size of data transferred should be reduced as much aspossible, for the bandwidth is still a bottleneck of currentInternet.

• Users could use their familiar systems during the designprocedure.

Based on these requirements, an integration-based method isgiven in this paper for constructing a real-time collaborative de-sign platform within heterogeneous CAD systems. Our method iscommand based, so that the amount of data transmission is greatlylimited. Different from the visualization-based approaches, mod-els can be constructed and modified synchronously from varioussites in the proposed collaborative design environment. Based ona translation mechanism between system modeling operations�SMOs� and neutral modeling commands �NMCs�, every opera-tion given by a user on one site will be translated into a NMC andbe sent to all the other sites through the network. When the othersites receive this command, it is converted into correspondingSMOs on the local system. The whole collaborative design plat-form is constructed in an integrated manner by developing a cen-tral management server, and several client-side system-dependentmanager applications, which are usually in the form of add-ons.The mechanism and structure of our integration approach are

shown in Fig. 1. On every client site, the CAD system is equipped

ring JUNE 2007, Vol. 7 / 11307 by ASME

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 2: Real-Time Collaborative Design With Heterogeneous CAD Systems

wtftsb

fos

tpoCctaetw

2

tsiv

Fe

1

Downloa

ith a manager add-on, which takes the role of SMO↔NMCranslators, the sender and receiver of NMCs, and the coordinatoror the modification permission. The translated NMCs are sent tohe central server and then forwarded to all the other sites. For theecurity reason, the NMCs are usually encrypted and compressedefore transmission.

Compared to other collaborative design solutions that can beound in literature �1–17�, our integration-based method for devel-ping a collaborative design platform within heterogeneous CADystems has the following contributions:

• A new method for developing an online collaborative designplatform is presented.

• Our collaborative design platform is based on an integrationapproach with heterogeneous CAD systems. Thus, users ondifferent sites can still manipulate models by using theirfamiliar CAD systems during the design procedure. This isthe benefit that cannot be offered by the homogeneous col-laborative design �co-design� systems.

• Not only the visualization but also the real-time manipula-tion of models is supported by the developed platform,which is the urgently requested function by industrial users.

• The creation and modification of models could be givenonline collaboratively by several users in real-time. Only theneutral modeling commands but not the models are trans-ferred, the data size under transmission is very limited, sothat an instantaneous synchronization can be achieved by astandard network bandwidth.

The rest of the paper is organized as follows. After reviewinghe related works in collaborative design, the methodology of ourroposed approach is introduced in Sec. 3, where the mechanismf collaborative design platform, the selection criteria of clientAD systems, and the construction principles of neutral modelingommands are presented consecutively. Section 4 will focus onhe representation of NMCs and the translation between NMCsnd SMOs. Results of our current implementation on top of sev-ral commercial CAD systems are given in Sec. 5, and the limi-ations are also discussed in this section. Finally, our paper endsith the conclusion.

Related WorksIn last decade, quite a few pieces of research have been inves-

igated in synchronized collaborative design and several prototypeystems have been developed. Following the classification givenn �1�, the approaches can be divided into two types: �i�

ig. 1 Structure of the proposed collaborative designnvironment

isualization-based design systems, which support the function of

14 / Vol. 7, JUNE 2007

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

viewing, annotating, and inspecting design models in a Web or aCAD environment; and �ii� co-design systems, which provide us-ers the function of modeling and modifying models interactivelyand collaboratively online.

The visualization-based CAD systems usually have the func-tions supporting visualization, annotation, and inspection of mod-els. They are implemented either in plug-ins of Web browsers oras add-ons in some CAD systems. Among the visualization-basedcollaborative design platforms, the most famous one is SOLID-

WORKS EDRAWING™ �2�, which is a viewer for SOLIDWORKS files.The EDRAWING is equipped with viewing, marking-up three-dimensional �3D� pointing, and animation tools. The product datain EDRAWING are delivered in a save-and-download manner, sothat it is, in fact, an offline approach. In order to deliver andmanipulate interactive 3D objects effectively through the Internet,a variety of 3D streaming-based communication methods for col-laborative design �1,3–5� have been developed. In �1,3�, the au-thors developed a geometric model simplification approach to ex-ploit trimming information in CAD models while preventing thedistortion of design features. Their work aims at supporting visu-alization of multiple CAD models in a distributed CAD environ-ment. Wu and Sarma in �4� introduced a mechanism to trace theupdate of facet models, where a changed portion of a model isencoded in an incremental editing manner, transmitted to othersites in a distributed environment, and finally embedded into theassociated faceted models at other sites. Two benefits are given bytheir approach: �i� the editing activity is encoded incrementally sothat the complex reconstruction after each operation is avoided,and �ii� only updated portion of a model is transmitted for syn-chronization; therefore, the bottleneck of repeatedly transferring alarge amount of facet data over networks is prevented. The ap-proach in �5� presented a similar idea to �4� but focused on thereal-time transmission of the boundary representation models �B-reps�. The algorithm consists of three steps: identifying and en-coding the incremental model of the B-rep once a modeling op-eration is performed; then, transmitting the incremental model aswell as the related geometric information to other remote sites;and finally, decoding the received codes of the incremental modeland directly embedding the restored entities into the local B-rep.Since the B-rep models rather than the facet models are supportedby �5�, the technique can be conducted to develop the geometricmodeling kernel of co-design systems. There are some commer-cial viewers based on 3D streaming technologies available in themarket �e.g., CIMMETRY SYSTEMS AUTOVUE™ �6�, CONCEPT-

WORKS™ �7�, and AUTODESK STREAMLINE™ �8��.As mentioned in �1�, the co-design systems usually can effec-

tively support collaborative modeling and collaborative modifyingfunctions among designers. According to the architecture, the co-design systems can be divided into two types: homogeneous andheterogeneous. A centralized homogeneous platform usually actsin the mode of fat-server and thin-clients. The clients are light-weight and primarily support visualization and interactive func-tion, such as selection, transformation, changing visualizationproperties of displayed parts, etc. The main modeling activities aretaken in a common workspace in the server side �e.g., ALIBRE

DESIGN™ �9�, ONESPACE™ �10�, the framework of Bidarra et al.�11�, and the approach of Wang and Wright �12��. The advantageof a centralized system is that the system is easy to achieve thesynchronization of data and perform the concurrency control.Their major problem is that the response speed of a system will beslowed down when the data exchange between clients and serverbecomes frequent and the interchanged model becomes complex.Therefore, some systems are developed in the mode of thin-serverand strong-clients, where a server only plays as an informationexchanger to broadcast CAD files or commands generated by cli-ent sites �1�. The implementations in this architecture include COL-

LABCAD™ �13�, IX DESIGN™ �14�, and the approach of Tay andRoy �15�. However, for all above co-design platforms, users must

use the same CAD system that is distributed among the client/

Transactions of the ASME

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 3: Real-Time Collaborative Design With Heterogeneous CAD Systems

sctawtfp

dffpftbcfA

T

C

cT

tdneE

�Sf

tftwtiewpmtctf

3

lhilwvct�Ncoshsaacim

J

Downloa

erver structure—it means that they have to move from their ac-ustomed design systems into the new system, and some addi-ional cost for this new system is also applied to enterprisesdopting it. Thus, the following question arises: Could we find aay to support collaborative design activities while still adopting

he systems we used to? This question leads to a co-design plat-orm supporting heterogeneous CAD systems proposed in thisaper.

Another piece of related works is about the procedure-basedata exchange of parametric feature-based models. Some researchocuses on the translation of parametric feature-based modelsrom one format into another. Choi et al. �16� proposed a macro-arametric approach to exchange CAD models. This approach isurther extended to the feature-based macrofile format supportinghe representation of the history-based parametric design �17�. Weorrow some ideas from �17� to define the set of neutral modelingommands. Besides academic research, there are also someeature-based translators being developed by industries, such asSPIRE3D �18�, PROFICIENCY COLLABORATION GATEWAY™ �19�,HEOREM SOLUTIONS �20�, and ACC-U-TRANS™ �21�. Among them,OLLABORATION GATEWAY, the translator developed by Profi-iency, is a representative one. According to �22�, in COLLABORA-

ION GATEWAY, the universal product representation �UPR� archi-ecture is defined and adopted to provide universal support for allata levels employed by present CAD systems. Currently, theewest version of COLLABORATION GATEWAY supports five high-nd CAD systems, including CATIA V4 and CATIA V5, I-DEAS, PRO/

NGINEER, and UNIGRAPHICS. However, all these translators18–22� concerned about the offline exchange of CAD models.imply extending them into a distributed environment is noteasible.

Recently, Li et al. �23� also conducted a feature-based approacho develop a distributed and collaborative environment. Based oneature-to-feature relationships, they proposed a distributed fea-ure manipulation mechanism to filter the varied information of aorking part during a co-design activity to avoid unnecessary

ransfer of the large-size complete CAD files each time when anynteractive operation is imposed on the model by a client. How-ver, their system is still in the mode of a homogeneous platformith the modeling activities given on the server side. Our ap-roach is different: the server only manages the command trans-itting events, and the modeling activities are performed in real

ime on every client site by its own CAD system. Since onlyommands are transferred, real-time responses can be achieved onhe Internet with standard bandwidth. Details are presented in theollowing sections.

Methodology

3.1 Mechanism. The major idea of our integration-based so-ution for developing a real-time collaborative design platform oneterogeneous CAD systems is to integrate existing CAD systemsnto a distributed design framework that supports real-time col-aborative design activities. The structure of our proposed frame-ork is shown in Fig. 1, where the manager applications are de-eloped as add-ons on selected commercial CAD systems. Theselient-side manager add-ons take the duty of capturing the opera-ions given by users, converting the system modeling operationsSMOs� into neutral modeling commands �NMCs�, sendingMCs, receiving NMCs, and decoding the received NMCs into

orresponding SMOs. A client-side manager application devel-ped for our proposed environment should follow the structurehown in Fig. 2. Since our platform is in a distributed mode witheterogeneous CAD systems, every client site has a distinct CADystem performing the activities of product modeling. On top ofn independent CAD system is a system-dependent managerdd-on consisting of two translators. The SMO-to-NMC translatoraptures and encodes each locally performed modeling operationnto a NMC; then, this NMC will be sent to the central manage-

ent server through the Internet. Another translator plays the role

ournal of Computing and Information Science in Enginee

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

of NMC-to-SMO translation, which is in charge of decoding ev-ery NMC that is received from the central server into one or morecorresponding SMOs. These two translators are the kernel tech-nologies to enable the real-time exchange of modeling operationsbetween heterogeneous CAD systems, so that the synchronizedcollaborative design is supported. In the environment equippedwith the SMO↔NMC translators, every user-performed SMO isimmediately translated into a NMC being sent to other sites; whileas soon as one NMC arrives, it is decoded into correspondingSMOs to be executed on the local system. Based on the proposedmechanism, every CAD system only interacts with NMCs. There-fore, one CAD system is independent of those CAD systems onthe other sites. According to our experiments, the time taken toimplement this platform is approximately linear to the number ofCAD systems integrated.

3.1.1 Topology of Sites. When conducting communicationamong sites to transfer NMCs, there are two basic ways to struc-ture the messaging topology of communication: peer-to-peer orclient/server �shown in Fig. 3�. The implementation of the peer-to-peer is simple; however, the client/server mode is more effi-cient than the peer-to-peer mode, especially for the case wherethere is a large number of clients involved in the design. In par-ticular, they scale much better than the peer-to-peer mode becauseadditional users only cause a linear increase in the message traffic.The weak processing power of a user’s computer will greatlyinfluence the response speed in the peer-to-peer mode, but hasalmost no effect in the client/server mode. Therefore, we suggestthe client/server topology.

In most cases of client/server topology, the servers having mod-eling functions or data accessing functions must face the problemthat performance of these servers will decline when the number ofclients is increasing. Nevertheless, in our proposed platform, thefunctions of the central management server are limited to receiv-

Fig. 2 Structure of a client-side add-on application

Fig. 3 Peer-to-peer topology versus client/server topology: „a…

peer-to-peer and „b… client/server

ring JUNE 2007, Vol. 7 / 115

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 4: Real-Time Collaborative Design With Heterogeneous CAD Systems

iHcasoo

pmctnodto

acttctiew

tuOatcastrtf

lcdfAst

mnmatodvwtmamtptucS

1

Downloa

ng incoming commands and forwarding them to the other sites.ence, unlike those “heavy” servers with modeling functions, our

entral server works as a “thin” one due to its limited functionsnd lower performance requirements. Furthermore, equipped witherver-side multithreading technique, the response time could bebviously shortened and the thin server could be speeded up tovercome the problem of performance bottleneck.

3.1.2 Initialization. The central management server can behysically located in the same computer of a user �i.e., the projectanager�. We define coordinator as the user who initializes a

ollaboration session, and define modifier as the user who is au-horized to modify the product data at some time current. Among

users involved in a collaboration session, there is only one co-rdinator and one modifier at any time. During the process ofesign, the modifier can be shifted to different users by gaininghe modification permission from their coordinator, while the co-rdinator cannot be changed.

The first initialization method is that, when a coordinator cre-tes a collaboration session, the client manager add-on on theoordinator’s computer delivers the existing product data to allhe other n−1 users’ sites through the management server. In de-ail, the initial product data are transferred from the coordinator’somputer to the server first, and then the server transfers the datao the computers of the other n−1 users. In our approach, thenitial existing product data are represented by a list of NMCsncoding the design history of the parametric product model,hich is the result of last collaboration design session.The second method to initialize product models across sites is

o let the coordinator open the legacy or saved native CAD filesing “File→Open” menu of the local CAD system. The file-pened event on the coordinator’s site triggers the local manager

dd-on to first traverse the feature tree of the opened file in aop-to-bottom manner, and then translate every feature into itsorresponding NMC, and finally send them out. In this way, afterll translated NMCs have been sent out from the coordinator’site, parametric product models with the identical feature seman-ics are disseminated among the other client CAD systems andeady for a new collaboration session. Chen et al. �24� describehe capture of fileOpened event and the traversing mechanism ofeature-trees in detail.

Compared to the first initialization method using a NMC list, aimitation of the second method is that, a feature created in lastollaboration session, which is supported by our proposed co-esign platform but is incompatible with a certain native CAD fileormat, will be filtered out and lost after such a CAD file is saved.s a result, the reopened model is inconsistent with the model

aved in the last collaboration session. Therefore, we recommendhe first initialization method.

3.1.3 Concurrency Control. In order to avoid concurrentodification conflicts, we introduce a token-based locking mecha-

ism, which is implemented by transferring the modification per-ission �token� among all users. In detail, on every site, the man-

ger add-on keeps a flag indicating whether the user on this site ishe only modifier or not. If the user is the modifier, the modelingperations performed by this user are converted into NMCs andelivered to the management server. Otherwise, except for systemiewing operations, every modeling operation given by this userill be automatically rejected by the local manager add-on. By

his locking mechanism, only the modifier can modify the productodel at any time. In this way, the write-after-write conflicts are

voided in our proposed co-design platform. Considering assign-ent of the modifier, it is the duty of the coordinator, who creates

he collaborative design session and controls the whole designrocedure. Usually, the coordinator is the project manager. Whenhe coordinator wants to assign the modification permission to aser, the manager add-on of the coordinator’s site will send aommand to the user’s site to let its manager add-on activate the

MO-to-NMC translator. At the same time, commands will be

16 / Vol. 7, JUNE 2007

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

sent to all the other sites to let their manager add-ons to serve asNMC-to-SMO translator only, i.e., the SMO-to-NMC translationis disabled. The modification permission can be assigned andwithdrawn by the coordinator �i.e., the project manager� at anytime.

Anyone wants to modify the model can request the modifica-tion permission from the coordinator through a chatting channel.If the modification permission is authorized, the modifier—theuser who got the authorization—can modify the product model onhis or her site. The NMCs generated on the site of the modifierwill be first sent to the central management server, and forwardedto the coordinator by the server. If the modeling operations wererejected by the coordinator �i.e., the project manager�, the man-ager add-on on the modifier’s site will undo these operations au-tomatically, so that the product models on all the sites are consis-tent. If the coordinator confirmed this modification, then theserver delivers these NMCs to all the other sites. When the man-ager add-ons on other sites receive these NMCs and finish corre-sponding updates of their local models, every add-on will high-light these modifications to its user in a visual manner and send anacknowledgement message to the server automatically. If theserver did not receive the acknowledgement from a site within anexpected time, then these NMCs will be resent to that site twomore times. If the server still did not receive any reply from thatsite, then the user on that site is assumed to have aborted thecollaboration session and the aborted user needs to join the col-laboration session again sometime later. Once a user requests tojoin the collaboration session, the current parametric design his-tory in the form of a NMC sequence stored in the coordinator’scomputer is generated and sent to the new user to initialize theproduct data.

Another method of concurrency control is named as token-ringalgorithm, which passes the modification permission �token�among the members along with a logical ring. However, thetoken-ring algorithm would perform very poorly in lightly loadedcases just like our co-design environment, mainly because a sitemay have to wait through many unused token passes for a turn.Moreover, the token-ring algorithm is known to be less scalable.Therefore, we adopt the token-based locking method as our con-currency control mechanism owing to its simplicity, stability, andscalability.

3.2 Selection Criteria of Client CAD Systems. According tothe framework introduced above, no special CAD systems need tobe developed for the proposed collaborative design environment.Only add-ons are to be developed on each selected CAD system.Of course, not every CAD system can be integrated into such acollaborative design environment, thus the selection criteria ofclient CAD systems are given below. For the candidate CAD sys-tems, they must satisfy the following two major criteria:

• The systems should provide the ability for developing add-ons

• Each operation applied to the product model in a CAD sys-tem is able to be tracked instantaneously

For the first criterion, most modern CAD systems support it.There are usually two ways to program on CAD systems: byscript language and by C�� API �application programming in-terface�. The script languages are often interpreted languages thatmust be checked for errors at run time; while an add-on written inC�� API is compiled from source codes to native machine in-structions. Thus, an add-on in a script language runs much slowerthan the equivalent add-on written in C�� API. In addition, anadd-on written in C�� can be equipped with the existing networkcommunication libraries �25–27�. Therefore, in our solution ofcollaborative design with heterogeneous CAD systems, all add-ons are written in C�� APIs.

The second criterion requests that the add-on program on one

site is able to instantaneously trace operations performed on the

Transactions of the ASME

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 5: Real-Time Collaborative Design With Heterogeneous CAD Systems

lftptIhCf

mS

��S

afsrl

Ciaai

vmsiApstbb

altlPlasiwotTtcs

4C

fefim

J

Downloa

ocal CAD system. According to our mechanism, every SMO per-ormed on an arbitrary local CAD system should be captured andranslated into a NMC. Thus, the selected CAD systems mustrovide their manager add-ons with the ability to trace all opera-ions of the CAD system as well as their parameters in real time.n addition, the NMC that corresponds to each SMO should alsoave a number of corresponding API functions for all selectedAD systems, so that each site can apply its corresponding API

unctions to update its product model accordingly.Our preliminary investigation shows that the following com-only used CAD systems satisfy the above two selection criteria:

OLIDWORKS™ �28�, AUTODESK MECHANICAL DESKTOP™ �29�known as MDT�, PRO/ENGINEER™ �30� �known as PROE�, CATIA™31�, NX™ �32� �previously known as UNIGRAPHICS�, and POWER-

HAPE™ �33�. We then select the first three systems to implementprototype of the proposed real-time collaborative design plat-

orm, which will be demonstrated later. For other CAD systems,ince most of them are developed on an open architecture in cur-ent fashion, they can be easily integrated into our platform asong as they provide necessary API functions.

3.3 Construction Principles of Neutral Modelingommands. Neutral modeling commands play an important role

n achieving real-time synchronization for the collaborative designmong heterogeneous CAD systems. To guarantee the rationalitynd validity of the NMC set, the set should be constructed follow-ng the two principles:

• Based on parametric feature modeling operations and theirparameters

• As a union of parametric feature modeling operations andtheir parameters on all integrated client systems

Parametric feature modeling �PFM�, as one of the most ad-anced ways for product modeling, can effectively support geo-etric modeling with parametric features. PFM is adaptive to de-

ign practices, and the environment of variational design andntelligent design can be developed based on parametric features.ccordingly, PFM is the most popular product modeling methodrovided in all of current commercial CAD systems. Therefore, auccessful collaborative design platform must support PFM, andhe NMC set is constructed based on the activities of feature-ased parametric design �i.e., every NMC corresponds to a num-er of PFM operations�.

We observe that the essential modeling operations provided byll commercial CAD systems are similar, although some equiva-ent operations may differ slightly from one another in their de-ailed parameters. In order to ensure that every SMO can be trans-ated into a NMC, the NMC set is desired to be the union of allFM operations of the integrated CAD systems �see Fig. 4�. Simi-

arly, the parameters of each NMC take the union of parameters ofll equivalent operations with the same design semantics. Ashown in Fig. 5, taking extrusion operations as an example, allnvestigated CAD systems support extrusion in one directionhich is called one-side-extrusion, while there is a biextrusionption provided in SOLIDWORKS and PRO/ENGINEER to enable userso extrude the profile in both directions from the sketch plane.hus, the parameters of the extrusion command will also include

he biextrusion attribute. For a modeling operation that cannot findorresponding operations in another system, we convert it into aequence of geometric operations in the local system.

Representation and Translation of Neutral ModelingommandsServing as the key technique in our integration-based solution

or developing a real-time collaborative design platform on het-rogeneous CAD systems, the representation method of NMCs isrst detailed in this section. In the following, the translation

echanism between SMOs and NMCs is described.

ournal of Computing and Information Science in Enginee

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

4.1 Representation. For supporting the implementation oftwo translators—SMO-to-NMC and NMC-to-SMO—effectively,we represent all NMCs in an object-oriented manner, where eachtype of NMC is a class and can be instantiated into an object withfunctions during the collaborative design. In addition, each NMChas a string representation for transmission through the network,and the string includes the name and all attributes of the NMC. Tofacilitate interoperability between heterogeneous systems, exten-sible markup language �XML�, the de facto open standard forinformation exchange, is adopted as the format of the string rep-resentation for NMCs. The general unified modeling language�UML� class diagram of the object-oriented representation ofNMCs is shown in Fig. 6.

The class NeutralModelingCommand is the root of all NMCclasses, where its first attribute id is an identifier consisting of thelocal system’s name and the creation time of the NMC. The at-tribute commandName is the NMC’s name, and the operationStateindicates one of three states: creation, modification and deletion.For example, a modification operation about an extrusion featureis translated into a NMC object with whose commandName being“FeatureExtrusion” and its operationState being “modification”;and the modified object is indicated by operationObject. Simi-larly, the removed object after a deletion operation is referred inoperationObject, too. The attribute paramList represents the pa-rameters of a NMC. For each class derived from NeutralModel-ingCommand, class ParamList provides a concrete subclass toexpress its specific parameters. As shown in the left-bottom ofFig. 6, class FeatureExtrusion takes class ExtrusionParamList asthe type of its paramList attribute. In the case if no match is foundbetween a NMC and the SMOs at the remote site, the NMC willbe converted into a sequence of geometric operations to be ap-plied at the remote site. The geomList is conducted to store this

Fig. 4 Union of parametric feature modeling operations

Fig. 5 Example union of parameters for extrusion

ring JUNE 2007, Vol. 7 / 117

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 6: Real-Time Collaborative Design With Heterogeneous CAD Systems

sLGeo

A

tarrTCt

erbates

1

Downloa

equence of geometric operations. Similar to the family of Param-ist, every NMC class takes a corresponding subclass of classeomOperList to represent its specific sequence of geometric op-

rations. The attribute validInfo carries the validation informationf a NMC.

There are two translation functions in each NMC class: GENER-

TENMC� � and GENERATESMO� �. The GENERATENMC� � is used toranslate an SMO into a NMC, whose input is a local operationnd output is a NMC with corresponding parameters and geomet-ic operations; while GENERATESMO� � is in charge of converting aeceived NMC to its corresponding SMOs on the local system.he implementation of these two functions of each NMC class isAD system dependent �i.e., in the add-ons on different systems,

hey should be developed, respectively�.For certain NMCs, their parameters include some topological

ntities �e.g., fillet operation needs one or more edges as its pa-ameters�. In homogeneous systems, such entities can be identifiedy their IDs or pointers in the local machine where they are cre-ted. However, this does not work for the communication amonghe distributed heterogeneous systems since the IDs or the point-rs of the same topological entities may vary in different CADystems. To overcome this difficulty, we adopt one entity’s type

Fig. 6 General UML

Fig. 7 Hierarchical tree of the ide

18 / Vol. 7, JUNE 2007

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

and its geometric information in the world coordinate system�WCS� to express this topological entity in a NMC. For instance,a linear edge is expressed by its type and the coordinates of twoendpoints in WCS. Similarly, a planar face is expressed by itstype, its unit normal in WCS and the WCS coordinate of a pointon the face, and free-form curves and surfaces are presented innonuniform rational B-spline �NURBS�. The feasibility of thismethod depends on whether the geometric information of thesame topological entities in different CAD systems is equal or not.Fortunately, from our experiments, the WCSs of all investigatedCAD systems are Cartesian coordinate system following the right-hand rule. Since any user coordinate system �UCS� can be freelytransformed to WCS and vice versa no matter what UCS isadopted, the geometric information of the same topological enti-ties under the WCSs of different CAD systems is consistent.

All identified neutral modeling commands in this paper areshown as leaf nodes in Fig. 7. The nonleaf nodes represent thesemantic abstraction of NMCs.

4.2 Translation. In order to support the synchronized col-laborative design, a NMC-based method for the real-time ex-

ss diagram of NMCs

cla

ntified NMCs used in the paper

Transactions of the ASME

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 7: Real-Time Collaborative Design With Heterogeneous CAD Systems

ctaN

uSotomsiNllmA

iaerwrrfctcG

tle

ToeI

J

Downloa

hange of modeling operations among heterogeneous CAD sys-ems is proposed, where the primary issue is how to effectivelynd efficiently implement the translation between SMOs andMCs.

4.2.1 Real-Time Translation Between SMOs and NMCs. Fig-re 8 illustrates the process of the real-time translation betweenMOs and NMCs. As soon as a feature-based parametric designperation is applied on a local CAD system, the operation is cap-ured by the SMO-to-NMC translator in the local add-on �shownn the left-hand side of Fig. 8�. The SMO-to-NMC translatoratches the operation in the local NMC library to find a corre-

ponding NMC template. The NMC library is system dependent;n other words, a NMC will have different NMC templates in theMC libraries for various client CAD systems, and the NMC

ibraries for the same system should be identical even if they areocated on different sites. A NMC object is then created by the

atched NMC template and its system-dependent GENER-

TENMC� � function is invoked with the captured operation as itsnput to determine necessary information of the NMC, includingll parameters, validation information, and optional geometric op-rations. Finally, the SMO-to-NMC translator calls the string se-ialization method to create a string representation of this NMC,hich is sent to the other sites immediately. The process of the

eal-time translation from a NMC to SMOs is illustrated on theight-hand side of Fig. 8. As soon as a NMC string is receivedrom the network, the local NMC-to-SMO translator finds out itsorresponding NMC template in the local NMC library throughhe command name of the received NMC. Then, a NMC object isreated by the matched NMC template and its system-dependentENERATESMO� � is invoked with the received NMC string as input

o generate related SMOs. After the SMOs are completed by theocal CAD system, the validation of the product model isxecuted.

4.2.2 Implementation of GENERATENMC( ) and GENERATESMO( ).he function GENERATENMC� � plays a principal role in the processf encoding an SMO into a NMC, which is responsible for gen-rating all the necessary information of a matched NMC template.ts detailed tasks are as follows:

• Generating all parameters of a NMC object by an SMO—The corresponding NMC parameters of an SMO usuallyconsist of two parts: direct and indirect parameters, wheredirect parameters refer to those are also parameters of theSMO and hence can be directly obtained from the SMO, andthe indirect parameters are calculated from the productmodel or the design history by the GENERATENMC� � function�e.g., for the SMO of extruding from a sketch to a face, theextrusion depth is implicitly defined by the position of theselected face, which is an indirect parameter to be computedby GENERATENMC� ��.

• Constructing the sequence of geometric operations of theNMC, where both the types and the parameters of each geo-metric operation are computed from the SMO applied on theproduct model.

Fig. 8 Translation be

• Creating the validation information of the NMC—The mass

ournal of Computing and Information Science in Enginee

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

properties of the updated solid model �e.g., the surface areaand the center of gravity� are taken as the validationinformation.

The implementation of GENERATENMC� � for each NMC is sys-tem dependent.

Similarly, the other system-dependent function GENERATESMO� �is responsible for decoding a NMC string into a sequence ofsystem-dependent SMOs, which is called SMO-group when re-ceiving the NMC string, where the function’s tasks include:

• Parsing the received NMC string and accessing itsparameters—All parameters and validation informationshould be easily accessed.

• Converting the NMC into an SMO-group—with all the pa-rameters involved in the NMC as well as the parameterscalculated from the product model and design history forcertain cases. All the modeling operations involved inan SMO-group are executed on the local CAD system,consecutively.

• Verifying the updated product model—two mass properties:�i� the surface area and �ii� the center of gravity are com-puted to verify the updated product model, where if thedifference of mass properties between the local productmodel and the received validation information is greaterthan a given tolerance, the NMC is considered as beingapplied incorrectly.

One received NMC may be decoded into more than one SMOs,for example, for the received NMC of extrusion whose biextru-sion attribute is true, the GENERATESMO� � defined on the systemnot supporting biextrusion will translate the biextrusion NMC intotwo one-side-extrusion operations based on the same sketch. If areceived NMC does not match any NMC template in the localNMC library, the local product model will be updated by thegeometric operations involved in the received NMC.

4.2.3 Processing Method for Modification and Deletion. Dif-fering from data exchange systems, the synchronized collabora-tive design system must support the function of real-time modifi-cation and deletion. The synchronized modification and deletionof a feature are more difficult to be achieved than the synchro-nized creation because they depend on some existing features.Before any modification or deletion operation is performed, weneed to determine these features. The attribute operationState ofeach NMC is set to creation, modification or deletion to distin-guish the three states, and the attribute operationObject indicatesthe feature of product model to be manipulated.

Before presenting the method to process modification or dele-tion requests, let us introduce a concept about NMC-based designhistory, which associates each NMC object to its affected portionsof the product model. The design history of collaborative designcan actually be presented in a list of NMCs received by the man-agement server and sorted by the receiving time. Similarly, theNMCs being sent out and received at every client site also form a

en SMOs and NMCs

twe

design history of the local product model if these commands are

ring JUNE 2007, Vol. 7 / 119

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 8: Real-Time Collaborative Design With Heterogeneous CAD Systems

smo�sNtsimtcsdptbbip

afif

bu

1

Downloa

orted chronologically. The list of sorted NMCs on one site isaintained to be consistent with the lists of NMCs recorded in the

ther sites, where the NMCs having the same ID are identicale.g., as shown in Fig. 9, the lists of NMCs in two different CADystems have the same order of commands�. The list of sortedMCs on one site is called the local NMC-based design history of

his site. In a local NMC-based design history, every NMC istored together with the pointers to one or more affected featuresn the model �shown in Fig. 9�. Therefore, through one-to-one

apping between the identical NMC IDs, the corresponding fea-ures on heterogeneous product models in different CAD systemsan be associated effectively. An illustration of such association ishown in Fig. 9. Note that, for the same NMC in the NMC-basedesign histories recorded on different sites, the number of theointers stored with the NMC may be different. For instance, forhe biextrusion NMC on one site with a CAD system supportingiextrusion, there is only one pointer stored with it; while theiextrusion NMC on another site with a CAD system not support-ng biextrusion has two pointers stored with it, each of whichoints to a one-side-extrusion feature.

With the help of NMC-based design history concept introducedbove, when a feature is modified by an SMO locally, it is easy tond its corresponding features on the other sites with followingour steps:

i. In a local CAD system where an SMO is applied, by tra-versing the local NMC list, we find out the NMC whosepointer also points to the feature modified by the SMO justapplied.

ii. The found NMC’s ID is then determined.iii. On a remote site, using the determined ID, we locate the

corresponding NMC in the local NMC list.iv. Using the pointers stored together with the located NMC,

the affected features of the product model on the remotesite is also determined.

If a deletion request is given, all corresponding features shoulde deleted on an arbitrary remote site could also be determined

Fig. 9 NMC-based design history concept for assmodels

sing the similar steps listed above in a real-time manner.

20 / Vol. 7, JUNE 2007

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

By this associating mechanism of features, we deal with modi-fication requests as follows. First, the SMO-to-NMC translatorcaptures a modification operation and finds out its modified fea-ture on the product model. According to the type of the modifiedfeature, a corresponding NMC template is chosen by searching theNMC library and a new NMC instance � is created with its op-erationState set to “modification.” The GENERATENMC� � functionof � is then invoked, where the modified feature of the capturedSMO is used to find out a creation-NMC �i.e., the NMCs withoperationState as “creation”� that created this feature in the localNMC-based design history. The ID of the found NMC is assignedto the attribute operationObject of �. The consequent steps, suchas generation of parameters and validation information, are thesame as generating a creation-NMC. Regarding a deletion opera-tion, the processing method is similar to that of processing amodification operation but with all parameters of the NMC beingnull.

Because the features to be modified or deleted need to be de-termined firstly, unlike a creation-NMC, the GENERATESMO� � func-tion’s implementation of a modification-NMC �i.e., the NMC withoperationState as “modification”� or a deletion-NMC �i.e., theNMC with operationState as “deletion”� is quite different. Withthe help of ID stored in the operationObject parameter of a NMC,the previous creation-NMC that constructed the requested featureis found out from the local NMC-based design history. Followingthe associated pointers of the found creation-NMC, the features tobe modified or deleted are determined on the local site so that theycan be finally updated. It is worth noting that for the case that thefound creation-NMC has more than one associated pointers, allthe features referred by the associated pointers are modified ordeleted, i.e., multiple SMOs are generated and executed. TheNMC-to-SMO translation of the modification-NMC of a biextru-sion on the site with a CAD system not supporting biextrusion isan example of such case.

Figure 10 illustrates an example of creating and modifying abiextrusion feature collaboratively using various CAD systemssome of which support biextrusion feature while the other ones do

ating affected portions of heterogeneous product

oci

not. After one SMO biextrusion feature has been executed locally

Transactions of the ASME

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 9: Real-Time Collaborative Design With Heterogeneous CAD Systems

ii�NaeiosstsrNuittfttec

pcmos

i

J

Downloa

n the SOLIDWORKS system, and disseminated remotely �indicatedn Fig. 10 as bold arrows�, the identical replicas of a NMC itemshown as rectangles in the middle of Fig. 10� are appended to theMC list of every site. Every replica binds with one or more

ffected feature objects in the local system with the help of point-rs �shown as slim doubly connected links� stored in this NMCtem. The bound affected feature objects are called as SMO-groupf this NMC. From Fig. 10, it can be clearly seen that, for theame NMC, the SMO-group of AUTODESK MDT contains two one-ide-extrusion features, whereas there is only one biextrusion fea-ure in SOLIDWORKS and PRO/ENGINEER. Once PRO/ENGINEER is-ued a modification-NMC �shown as oblique rectangles�, which iseceived by the other two systems and appended to their localMC lists, a traversing and matching routine �shown as zigzags�ses the operationObject parameter of the modification-NMC asnput and starts to find out the local feature objects. By traversinghe local NMC list, a NMC can be matched with the given opera-ionObject parameter. Using this matched NMC, the local affectedeature objects within its SMO-group could be determined usinghe NMC-SMO doubly connected links of this NMC, and thenhey are manipulated further. Here we can see that two one-side-xtrusion features within the SMO-group in AUTODESK MDT areoherently determined and updated as one.

4.2.4 Composite Features and User-Defined Features. Com-osite features and user-defined features �UDF� need to be spe-ially processed in our proposed collaborative design environ-ent, where a composite feature is a complex feature composed

f several basic features �e.g., a composite hole� and a UDF is apecial kind of features defined by users.

To translate a composite feature operation, we decompose it

Fig. 10 An example for illustrating the associatand dissemination path among heterogeneous Cpath in the NMC-based design history

nto several basic features, which are going to be translated into

ournal of Computing and Information Science in Enginee

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

their corresponding NMCs. The NMCs for basic features arestored in the NMC for the composite feature as the auxiliary in-formation. The abstract NMC class called CompositedFeature thatrepresents the parent of all composite features is shown in Fig. 11.Every concrete composite feature is represented by a subclass ofclass CompositedFeature, with the NMC objects of the decom-posed basic features stored in the list named decomposedNMC�refer to the right-bottom part of Fig. 11�.

Similarly, a UDF also consists of several basic features. How-ever, different from composite features, for constructing itself, aUDF usually has some user-defined parameters, which are calleddriving parameters. Therefore, the NMC class for a UDF willhave another list to store the driving parameters besides decom-posedNMC.

5 Results and DiscussionsBased on the proposed approach for integrating heterogeneous

CAD systems into a collaborative design environment, we haveimplemented a prototype collaborative design platform with

mechanism of SMO-group, the SMO executionsystems, and the NMC traversing and matching

ionAD

Fig. 11 UML class diagram of CompositedFeature

ring JUNE 2007, Vol. 7 / 121

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 10: Real-Time Collaborative Design With Heterogeneous CAD Systems

S

F

Natntwt

WutnasIS

ttfipitNtSsbfrM

Nbmubrcfchtl

bitrrtsmrosts

wtwturllc

1

Downloa

OLIDWORKS 2003, AUTODESK MDT 6.0, and PRO/ENGINEER WILD-

IRE 2. For each of these three systems, both SMO-to-NMC andMC-to-SMO translators are implemented with Visual C�� 6.0

nd the C�� API functions of the selected CAD systems. Theranslators are complied into add-ons of each CAD system, run-ing as background applications after the host CAD system startso work. The program serving as a management server is alsoritten in C��, and it communicates with client sites using

ransmission control protocol/Internet protocol �TCP/IP�.Our first example is a bracket model, which is shown in Fig. 12.ith our prototype platform, three geographically dispersed users,

sing SOLIDWORKS, AUTODESK MDT, and PRO/ENGINEER, respec-ively, build and refine the bracket model in a collaborative man-er. The designer using SOLIDWORKS acts as both the coordinatornd the modifier, initially. At the beginning of the co-design ses-ion, the user using SOLIDWORKS creates a base extrusion feature.nstantaneously, the SMO-to-NMC translator stationed in theOLIDWORKS is triggered by the featureCreated event. Based onhe captured information about the extrusion feature, the NMCemplate that corresponds to the extrusion feature is found outrom the NMC library, and an instance of it is created. Using thenstance’s GENERATENMC� � function, all parameters and the massroperties for validation are computed, which are finally serializednto an XML string and transmitted to all the other sites throughhe management server. After receiving the XML string of thisMC on the sites of MDT and PRO/ENGINEER, the NMC-to-SMO

ranslators stationed on those sites convert the command into anMO, which is going to be performed on the local client CADystems. Then, the user on the MDT site feels that the extrudedase part needs to have its four corners filleted; thus, this user asksor the modification permission from the coordinator by sending aequest via a chatting channel. Being the modifier, the user on theDT site fillets the base extrusion feature and the correspondingMCs are generated and broadcast to all the other sites aftereing confirmed by the coordinator. After the fillets are added, theodification permission is passed back to the coordinator �the

ser of SOLIDWORKS�. After the user of SOLIDWORKS extrudes alock on top of the base part, the user of PRO/ENGINEER is autho-ized to create a reference plane based on the block and extrude aylinder that is perpendicular to the block’s back face. In theollowing, the user on the MDT site drills a through hole on theylinder and the user of SOLIDWORKS drills four small througholes on the base part, consecutively. Going on to the modeling,he bracket model is finally constructed by three users in a col-aborative manner. Figure 12 shows the progressive results.

Note that, after the user on the SOLIDWORKS site constructs aiextrusion feature as a rib, the NMC for biextrusion is translatednto two one-side-extrusion operations in the MDT system sincehere is no biextrusion operation supported by MDT �see the fourthow in Fig. 12 and its corresponding feature trees in the middle-ight of Fig. 12—two extrusion features are shown in the featureree of MDT system�. PRO/ENGINEER has the biextrusion operation,o just one biextrusion SMO is conducted, synchronously. Afterodeling the rib and changing its thickness �shown in the fifth

ow in Fig. 12�, the user of MDT deletes a fillet feature, as well asne of the two one-side extrusions that correspond to the biextru-ion feature created in SOLIDWORKS. The final result is shown inhe last row of Fig. 12, and its corresponding feature trees arehown in the bottom-right of Fig. 12.

The second example is a real mechanical part shown in Fig. 13,hich is recently used in �34� to demonstrate the functionality of

heir approach. Since the end of rectangle extrusion should alignith the outer borders of the disk base and hexagonal cap due to

he fact that three points or components should be coplanar, theser of MDT modifies the length of rectangle extrusion to meet thisequirement. After enlarging the radius of the hexagonal face fil-et, the user on the site of SOLIDWORKS finally modifies the circu-ar pattern from quarter-instances to hex-instances to adapt other

onnectors.

22 / Vol. 7, JUNE 2007

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

Based on the NMC-based approach, we have also implementeda collaborative assembly module in our co-design platform. Thethird example shown in Fig. 14 demonstrates this function, wheretwo users work together to assemble five parts—a bracket, a cam,a hand knob, a cam follower lever, and a camshaft—into a me-chanical structure.

The data size per NMC and the data exchange rate have alsobeen tested on our prototype platform using Pentium™ IV2.6 GHz PCs with 512 MB RAM running WINDOWS XP PROFES-

SIONAL SP2. The average size per NMC �represented in XMLformat, e.g., Fig. 15� is 1843 bytes, which is sampled by using 50NMCs �including all NMCs identified in Fig. 7�. Based on thisdata size, the network transmission time under different networkspeeds could be calculated as follows:

• Using a local area network �LAN� with 100 Mbps �millionbits per second� bandwidth, the transmission time is �1843�8 bit� / �100�10242 bit/ s�=0.141�10−3 s

• Using a standard dial-up modem with 56 Kbps �kilobits persecond� bandwidth, the transmission time is �1843�8 bit� / �56�1024 bit/ s�=0.257 s

Considering the SMO-to-NMC and the NMC-to-SMO transla-tion time, the client add-on program on SOLIDWORKS 2003 spends3.672 s to generate 50 NMCs and 19.421 s to execute 50 NMCs.The same tests also have been performed on the MDT 6.0system. The average computing times of SMO-to-NMC transla-tion and NMC-to-SMO translation on these two systems areshown in Fig. 16. Therefore, even using a modem, a common“SMO�SOLIDWORKS�→NMC→SMO�MDT�” exchange will take0.577 s �0.0734+0.257+0.247�, and a common “SMO�MDT�→NMC→SMO�SOLIDWORKS�” exchange takes 0.713 s �0.0678+0.257+0.388�. This data exchange rate can be considered as areal-time rate.

At the same time, when comparing to those offline product dataexchange schemes, the size of data exchanged in our approach ismuch smaller. Based on a model having 34 features, the size com-parisons between the NMCs in XML format �NMC-XML� and theinitial graphics exchange specification �IGES� file �text-based .igsfile�, the standard for the exchange of product data �STEP� file�text-based .step file�, the MDT file �binary-based .dwg file�, andthe SOLIDWORKS file �binary-based .sldprt file� are shown in Fig.17. The differences are even much greater after these files arecompressed by GNU zip with default compression level. NMC-XML performs better in both the compressed size and the com-pression ratio due to the higher percentage of descriptive tags thanthe other four. Note that the whole list of NMCs is only sent in theinitialization phase. During the collaborative design, the NMCsare delivered progressively, so that the actual size of data trans-ferred on the network is even less.

5.1 Limitations. The integration-based approach presented inthis paper has several limitations, as follows:

• First of all, the approach relies on the mapping betweenSMOs and NMCs. If no such correspondence is found, weneed to either expand the set of NMCs or define the corre-sponding geometric operations for each NMC. For this rea-son, every time the C�� API version of an integrated CADsystem is updated, we need to upgrade the client add-onprogram of this CAD system to reflect the change.

• Second, the concurrency control method of our currentimplementation is relatively simple, where only one user isallowed to modify the product data in a specific time period.A more efficient way for the concurrent product develop-ment is to let multiple users work in their own portions ofthe product. In our future work, we are going to find amethod to separate the whole product data set into different

critical sections, so that multiple modifiers can be assigned

Transactions of the ASME

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 11: Real-Time Collaborative Design With Heterogeneous CAD Systems

t m

J

Downloa

to different portions to work concurrently. For this issue, ourcurrent solution is to subdivide the product data set intoseveral isolated subsets in advance. We can then start sev-eral collaborative design sessions for each of the portions.

Fig. 12 Example 1: Collaborative modeling of a bracke

• Furthermore, the current approach does not consider the se-

ournal of Computing and Information Science in Enginee

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

curity problem. Every user in the collaborative design ses-sion can access every detail of the product data. This is notalways allowed. Thus, we will further develop our currentapproach into a hierarchical structure in the future work, so

odel using SOLIDWORKS, AUTODESK MDT, and PRO/ENGINEER

that the product data are organized with layers and different

ring JUNE 2007, Vol. 7 / 123

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 12: Real-Time Collaborative Design With Heterogeneous CAD Systems

tcr

1

Downloa

users can only access and view the different authorized por-tions of product data in particular layers.

• In our current implementation, the synchronization for theoperations on composite features or user-defined features isprimal. Therefore, more studies will be conducted in theareas about how to efficiently and effectively decomposethem into basic features provided by each system.

• Another drawback of our approach is the method of verify-ing the results from SMOs because using mass properties isnot an ideal solution. In some extreme cases, incorrect op-erations may also cause the same values of mass properties.We need to find some better methods to verify models. Ourfirst thought is to adopt the implicit representation of prod-uct models.

• Finally, only three CAD systems have been investigated andintegrated, more systems �e.g., CATIA, POWERSHAPE, and NX�need to be considered in our future work.

Although the current implementation shows the above limita-ions, our contribution to the methodology for developing onlineollaborative design systems is significant. This will be summa-ized in Sec. 6.

Fig. 13 Example 2: Collaborative modification oTODESK MDT

Fig. 14 Example 3: Collaborative assembly o

PRO/ENGINEER

24 / Vol. 7, JUNE 2007

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

6 ConclusionIn this paper, an integration-based solution for a real-time on-

line collaborative design platform is proposed. The platform de-veloped by this method can consist of heterogeneous CAD sys-tems. Different from the visualization-based approaches, productmodels are allowed to be constructed and modified from varioussites using different client CAD systems synchronously. In addi-tion, our approach is different from the homogeneous co-designsystems because users on our proposed platform can manipulateproduct models by the CAD systems to which they are accus-tomed. Our approach is based on a mechanism for the translationbetween system modeling operations �SMOs� and neutral model-ing commands �NMCs�. Every operation given by a user on onesite will be translated into a NMC and transferred through thenetwork to all the other sites after being confirmed, and then theNMC are converted into corresponding SMOs on every other site.Since only commands �and not model data� are transmitted, thesize of data under transmission is very limited. As a result, thereal-time synchronization can be achieved with a standard band-width. The prototype implementation of the proposed environ-ment proves that our approach can integrate various current popu-

real mechanical part using SOLIDWORKS and AU-

mechanical structure using SOLIDWORKS and

f a

f a

Transactions of the ASME

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm

Page 13: Real-Time Collaborative Design With Heterogeneous CAD Systems

lernaa

FX

J

Downloa

ar commercial CAD systems into a real-time collaborative designnvironment. In summary, compared to the other existing collabo-ative design solutions in the literature, our approach contributes aovel method for integrating heterogeneous CAD systems into

collaborative design platform, which shows the followingdvantages:

• Not only the visualization, but also the real-time manipula-tion of models is supported by our platform, which is theurgently requested function by industrial users.

• The creation and modification of models could be per-formed collaboratively online in real time.

• Our collaborative design platform is based on an integration

Fig. 15 An example for a biextrusion NMC in XML format

Fig. 16 Average computing times on SOLIDWORKS and MDT

ig. 17 The size comparison of data sets between NMCs in

ML format and other offline schemes

ournal of Computing and Information Science in Enginee

ded 03 Jun 2007 to 137.132.123.74. Redistribution subject to ASM

approach with heterogeneous CAD systems, so users on dif-ferent sites can still manipulate models by using their famil-iar systems.

• The architecture of our platform is open. In other words, itprovides the possibility for more and more client systems tobe integrated incrementally.

In summary, the approach presented in this paper provides anew methodology to the research and development for online col-laborative design systems with heterogeneous CAD systems.

AcknowledgmentThis work is supported by the NSF of China �Grants No.

60273057, No. 60574061, and No. 60021201�, 973 Plan of China�2002CB312106�, and the Trans-Century Training ProgrammeFoundation for Talents by the Education Ministry of China. Wealso would like to thank Li Jie, Chen Xiang, Yang Youdong, andYang Fanqin for their part in the implementation.

References�1� Li, W. D., Lu, W. F., Fuh, J. Y. H., and Wong, Y. S., 2005, “Collaborative

Computer-Aided Design—Research and Development Status,” Comput.-Aided Des., 37�9�, pp. 931–940.

�2� SOLIDWORKS EDRAWING™, http://www.solidworks.com/edrawings/�3� Qiu, Z. M., Wong, Y. S., Fuh, J. Y. H., Chen, Y. P., Zhou, Z. D., Li, W. D., and

Lu, Y. Q., 2004, “Geometric Model Simplification for Distributed CAD,”Comput.-Aided Des., 36�9�, pp. 809–819.

�4� Wu, D., and Sarma, R., 2004, “The Incremental Editing of Faceted Models inAn Integrated Design Environment,” Comput.-Aided Des., 36�9�, pp. 821–833.

�5� Li, J., Gao, S. M., and Zhou, X., 2003, “Direct Incremental Transmission ofBoundary Representation,” Proc. of 8th ACM Symposium on Solid Modelingand Applications, ACM, New York, pp. 298–303.

�6� CIMMETRY SYSTEMS AUTOVUE™, http://www.cimmetry.com�7� CONCEPTWORKS™, http://www.realitywave.com�8� AUTODESK STREAMLINE™, http://www.autodesk.co.uk/streamline/�9� ALIBRE DESIGN™, http://www.alibre.com

�10� ONESPACE™, http://www.cocreate.com�11� Bidarra, R., Kranendonk, N., Noort, A., and Bronsvoort, W. F., 2002, “A

Collaborative Framework for Integrated Part and Assembly Modeling,” ASMEJ. Comput. Inf. Sci. Eng., 2�4�, pp. 256–264.

�12� Wang, F., and Wright, P., 1998, “Internet-Based Design and Manufacturing onan Open Architecture Machine Center,” Japan-USA Symposium on FlexibleAutomation, Otsu, Japan, pp. 221–228.

�13� COLLABCAD™, http://www.collabcad.com�14� IXDESIGN™, http://www.impactxoft.com/products/design.asp�15� Tay, F. E. H., and Roy, A., 2003, “CyberCAD: A Collaborative Approach in

3D-CAD Technology in A Multimedia-Supported Environment,” Comput Ind.,52�2�, pp. 127–145.

�16� Choi, G.-H., Mun, D., and Han, S., 2002, “Exchange of CAD Part ModelsBased on the Macro-Parametric Approach,” International Journal of CAD/CAM, 2�1�, pp. 13–21.

�17� Mun, D., Han, S., Kim, J., and Oh, Y., 2003, “A Set of Standard ModelingCommands for the History-Based Parametric Approach,” Comput.-Aided Des.,35�13�, pp. 1171–1179.

�18� ASPIRE3D, http://www.aspire3d.com�19� PROFICIENCY COLLABORATION GATEWAY™, http://www.proficiency.com�20� THEOREM SOLUTIONS, http://www.theorem.co.uk�21� ACC-U-TRANS™, http://www.translationtech.com�22� Rappoport, A., 2003, “An Architecture for Universal CAD Data Exchange,”

Proc. of 8th ACM Symposium on Solid Modeling and Applications, ACM, NewYork, pp. 266–269.

�23� Li, W. D., Ong, S. K., Fuh, J. Y. H., Wong, Y. S., Lu, Y. Q., and Nee, A. Y. C.,2004, “Feature-Based Design in A Distributed and Collaborative Environ-ment,” Comput.-Aided Des., 36�9�, pp. 775–797.

�24� Chen, X., Li, M., and Gao, S. M., 2005, “A Web Services Based Platform forExchange of Procedural CAD Models,” Proc. of 9th International Conferenceon Computer Supported Cooperative Work in Design, IEEE, Piscataway, NJ, 1,pp. 605–610.

�25� WINSOFT, http://www.winsoft.sk�26� MICROSOFT DIRECTPLAY, http://www.microsoft.com�27� ACE™, http://www.cs.wustl.edu/~schmidt/ACE.html�28� SOLIDWORKS™, http://www.solidworks.com�29� AUTODESK MECHANICAL DESKTOP™, http://www.autodesk.com�30� PRO/ENGINEER™, http://www.ptc.com�31� CATIA™, http://www.3ds.com/products-solutions/plm-solutions/catia/�32� NX™, http://www.ugs.com/products/nx/�33� POWERSHAPE™, http://www.delcam.co.uk�34� Rappoport, A., Spitz, S., and Etzion, M., 2005, “One-Dimensional Selections

for Feature-Based Data Exchange,” Proc. of 2005 ACM Symposium on Solid

and Physical Modeling, ACM, New York, pp. 125–134.

ring JUNE 2007, Vol. 7 / 125

E license or copyright, see http://www.asme.org/terms/Terms_Use.cfm