Feature-based design in a distributed and ... - Semantic Scholar

10 downloads 1844 Views 1MB Size Report
Keywords: Client/server; Distributed design; Feature-based modelling. 1. .... expose API functions of CAD kernels/systems and process ..... Graph representation.
Computer-Aided Design 36 (2004) 775–797 www.elsevier.com/locate/cad

Feature-based design in a distributed and collaborative environment W.D. Lia,*, S.K. Ongb, J.Y.H. Fuhb, Y.S. Wongb, Y.Q. Lua, A.Y.C. Neeb a Singapore Institute of Manufacturing Technology, 71 Nanyang Drive, Singapore 638075, Singapore Department of Mechanical Engineering, National University of Singapore, 9 Engineering Drive 1, Singapore 117576, Singapore

b

Accepted 12 September 2003

Abstract In this paper, a client/server framework has been developed to enable a dispersed team to accomplish a feature-based design task collaboratively. A manipulation client þ modelling server infrastructure has been proposed to facilitate consistent primary information modelling for multiple users and adaptability of the system. Based on feature-to-feature relationships, a distributed feature manipulation mechanism has been proposed to filter the varied information of a working part during a co-design activity to avoid unnecessary retransferring of the complete large-size CAD files each time when any interactive operation is imposed on the model by a client. In the distributed environment, a design task and the engaged clients are organised and connected through working sessions generated and maintained dynamically with a collaborative server. The environment is open to downstream manufacturing analysis modules to achieve distributed concurrent engineering. q 2003 Elsevier Ltd. All rights reserved. Keywords: Client/server; Distributed design; Feature-based modelling

1. Introduction Global competition offers sufficient return on investment only to those who can provide new products first to the market, and therefore manufacturing companies should react to the changing market rapidly, effectively and responsively. Reducing lead-time and improving design quality are some the driving forces to encourage companies to streamline their product design and development processes. Typically, to carry out a complex design task, a large design team will be engaged, and the communication and collaboration among members in the team are crucial to enable design to be carried out effectively. Traditional product design is geographically limited and CAD systems are standalone, so that a design activity is usually organised within an enterprise. Presently, a significant trend for manufacturing enterprises is to out-source collaborative product development to external designers and suppliers. With the rapid development of IT, future CAD systems are moving towards supporting distributed and collaborative design, in which geographically dispersed systems can be integrated and a virtual design team can be set up within * Corresponding author. Tel.: þ 65-6793-8354; fax: þ 65-6791-6377. E-mail address: [email protected] (W.D. Li). 0010-4485/$ - see front matter q 2003 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2003.09.005

an Internet/Intranet environment. Large firms such as Boeing, Ford, Kodak, MacNeal-Schwendler and Structural Dynamics Research have realised the potential of distributed design systems and formed an Enterprise-wide Engineering Consortium to optimise their business processes by studying and applying such kind of tools. As an industrial application example, Ford worked collaboratively with its acquired Volvo from their separate sites on car design based on a distributed design platform [1]. Due to emerging distributed CAD technology, small and medium enterprises (SMEs) or even individual designers with specific domain knowledge will be able to participate and co-operate in the design process with large firms. Renting on-line high-end CAD systems running on CATIA and MicroStation systems have now become affordable for SMEs, and not just for industry giants. Recently, some work has been carried out to develop distributed CAD systems and methodologies. However, there are some practical issues that have not been addressed explicitly and satisfactorily. Some concerns, such as expensive IT infrastructure, difficulties in the maintenance of data consistency in a multiple-user environment, and intolerable long waiting-time for updating large-size CAD models across networks, hinder the popularity of using the new distributed CAD systems. In addition, the Concurrent

776

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Engineering (CE) philosophy is one of the motivations towards the development of distributed design systems. It is still an important research issue on how to effectively implement the CE methodology in a distributed design environment. To address these problems, a distributed feature-based design environment has been established in this research based on a Java client/server architecture and an opensource solid modelling kernel—Open CASCADE [2]. The objectives of this work are: (a) to establish a virtual environment to facilitate distributed and collaborative feature-based design activities; (b) to optimise the organisation and transmission of information based on feature representation and manipulation; and (c) to integrate downstream manufacturing analysis modules in an environment to support CE design. The remainder of this paper is organised as follows. In Section 2, the related work is investigated and summarised. In Section 3, a distributed feature-based representation and a manipulation mechanism are presented. In Section 4, a detailed description of the distributed and collaboration mechanisms in the system is given, and the manufacturing analysis modules in a three-layer architecture are discussed. A case study given in Section 5 is used to illustrate a collaborative design process in the environment. Finally, in Section 6, the work is summarised and some future directions are highlighted.

2. Related work Recently, there are active research and developments of software tools and methodologies to support distributed and collaborative design. From the viewpoints of collaborative mechanism and system architecture, the work can be generally classified into three categories: 1. Visualisation and annotation of 3D CAD models to assist co-design activities; 2. Simultaneous co-modelling of 3D CAD models to implement real co-design; and 3. Establishment of distributed CE environment to support co-design with manufacturing analysis and evaluation. The work in the first category is primarily to support visualisation, annotation and inspection, and the 3D part or assembly models are discretised as triangular meshes and organised as a facet-based data structure so as to be displayed and manipulated in a web environment. In order to effectively transmit information across networks with the limited bandwidth capability and to enhance the visualisation performance, 3D streaming technologies, such as the Hoops streaming toolkit [3] and the RealityWave vizStream [4], have emerged to re-organise the large number of meshes from a complex model as different Levels of Details

(LODs), so as to allow them to be dispatched incrementally rather than all at once. The characteristics of some systems under this category are summarised in Table 1. These systems can support an on-line team that is concerned with a macro-view of a product, customer survey for new products and conceptual design. However, due to the simplified mesh-based models and the original modelling data structures are either lost or very difficult to recover, they can only serve as supporting tools. Simultaneous co-creation and co-modification operations for detailed design cannot be supported effectively. Real co-modelling functions can be supported by the second category of work, in which three common distributed modelling mechanisms have been developed and their characteristics are compared in Table 2. Several popular systems in this category are summarised in Table 3. They typically consist of four kinds of components—team management, part and assembly modelling, repository and messaging, and can be used to establish a distributed workspace with effective sharing of detailed design models in a well-organised team. However, owing to commercial restrictions, it is difficult to obtain the technical details and internal mechanisms of these systems. The main problem for the above co-modelling systems is that communication efficiencies of the systems are still quite far from satisfactory when large-size parts or assembly models are designed collaboratively. To address this problem, a few research has appeared recently to simplify the geometric entities of distributed feature or assembly models to increase the communication efficiency. Wu and Sarma [18] developed an algorithm to incrementally update the B-Rep of a design model based on a cellular representation in a distributed environment. Based on the cells from the segmented B-Rep of a design model, the algorithm can identify and extract those regions that have been modified by a designer, and dynamically transmit and embed the modified regions into a B-Rep at another site. Lee [19] proposed a network-centric virtual prototyping system with a distributed computing architecture, in which a shape abstracting mechanism was developed to provide a lightweight Abstracted Attributed B-rep (AAB) on clients to represent feature-based models that are stored and maintained on a server, for a concise and transparent communication between the server and the clients over the network. A naming consistency paradigm was established to maintain the interoperability and identification between the geometric entities on the server and the clients during a co-design process. To support collaborative assembly design activities effectively, Shyamsundar and Gadh [20] developed a new geometric representation named as the AREP and a collaborative prototyping system based on this representation to perform real-time geometric modifications of components/sub-assemblies in an assembly model. In AREP, an envelope mechanism was designed to simplify some internal geometric structures and entities, which are irrelevant to assembly constraints, of components designed

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

777

Table 1 Visualisation and annotation tools to assist co-design activities Products

Characteristics and functions

Information distributed methods

Supported CAD systems

Support file formats

Cimmetry Systems Autovue

(1) A viewer for part and assembly models (2) View, mark-up, measure, explode, crosssection, etc.

3D streaming

Inventor, AutoCAD, CATIA, Pro/E, SolidEdge, SolidWorks

STEP, IGES, STL, SAT, XMT, VRML, DXF/DWG

InFlow ConceptWorks

(1) An add-in viewer to SolidWorks (2) View and mark-up

3D streaming

SolidWorks, CadKey

SolidWorks compatible files

Actify SpinFire

(1) A viewer for part models (2) View, cross-section, measure, grid and ruler

Download

Inventor, AutoCAD, CATIA, Pro/E, UG, SolidEdge, SolidWorks, I-DEAS

STEP, IGES, STL, SAT, XMT, VRML, DXF/DWG

SolidWorks eDrawing

(1) A viewer for native or simplified SolidWorks files (2) View, mark-up, measure, 3D pointer, animation

Download

SolidWorks

SolidWorks compatible files

Adaptive Media Envision3D

(1) A viewer for part models (2) View, mark-up, redline, chat

3D streaming

AutoCAD, Pro/E, MicroStation, SolidEdge, UG, Rebis

Stereolithography, VRML, DXF/DWG

Centric Software Pivotal Studio

(1) A base platform to provide a workspace manager, a project organiser and a viewer for part models (2) View, mark-up, video/audio conferencing, annotation, chat

Download/3D streaming

Pro/E, CATIA, I-DEAS, UG

STEP, IGES, Stereolithography, VRML

Hoops Streaming Toolkit

(1) A toolkit to provide 3D streaming APIs (2) BaseStream class library, advanced compression, attribute (color, texture) support, object prioritization, etc.

3D steaming

Pro/E, IronCAD, CadKey, Pro/Desktop

SAT, XMT, HSF

RealityWave ConceptStation

(1) A VizStream platform, which consists a server and a client (2) View, mark-up, message

3D streaming

Inventor, SolidEdge, SolidWorks

XGL

Autodesk Streamline

(1) A platform based on the VizStream (2) View, measure, bill of materials

3D streaming

Inventor, SolidEdge, SolidWorks

Inventor compatible files

separately and collaborated around the assembly constraints. Pointers are kept in envelopes to refer to the corresponding detailed entities for further query and retrieval. The work in the third category is summarised in Table 4, and several significant infrastructures have been reported. Liu [22] proposed a COM interface-based framework to wrap and expose API functions of CAD kernels/systems and process

planning modules for remote invocations. The concept of developing standard interface specifications, namely ‘the common core interfaces’, was proposed to encapsulate specific feature functions of different CAD kernels/systems to provide a generic and neutral application layer according to some international standards for features. The advantages of these two works include the straight-forwardness of calling

778

Table 2 Some mechanisms for distributed modelling Mechanisms Modelling server

Functional descriptions

Characteristics

R and D examples

Standalone CAD systems can be conveniently distributed through this mechanism Due to the heavy-weighed client mechanism, it is hard to be migrated to web applications

CollabCAD[5], Nam and Wright [6], Qiang et al. [7], Pahng et al. [8], IX Design [9]

Manipulation client þ modelling server

The data structures in clients are lightweighed and they primarily support visualisation and manipulation functions The main modelling activities are carried out in a common workspace in the server side

Modules can be rent out as an application AlibreDesign [10], GS-Design [11], Li service provider (ASP) et al. [12,13], OneSpace [14], van den Berg E et al. [15] Data consistency is easily kept since the primary models are created and maintained in the server

Application or service sharing

The services or modules of a system can be shared and manipulated by other systems For the Inventor collaborative tool, an MS Netmeeting tool is embedded for application sharing

This mechanism enables a convenient Begole et al. [16], Inventor collaborative manipulation on remote services or tool [17] applications Due to the heavy burden of networks, the manipulation efficiency of systems is low

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

client þ communication Clients are equipped with whole CAD systems and some communication facilitators A server plays as an information agent and exchanger to broadcast CAD files and commands generated by a client to other clients

Illustrative diagrams

Table 3 Co-design tools to share and manipulate real CAD models Collaborative mechanisms

Functions and information distribution

Supported systems and formats

Modelling functions

OS

Alibre Design

Team design sessions: a design session can be used to organise a virtual team to design 2D and 3D models simultaneously Repository: through repository, users’ models can be securely shared and accessed Message centre: it can support message sharing among users

Modelling Mark-up Annotation View Text and voice chat Directly transferring CAD models Peer-to-peer communication

Pro/E UG CATIA AutoCAD STEP IGES SAT STL

2D sketching Dimensioning 3D modelling Assembly modelling Bill Of Material (BOM)

NT 95/98 2000 ME XP

CoCreate OneSpace

3D personal collaboration: through this service, up to two other users can be invited to an online meeting. Meeting users can view and mark-up 2D or 3D models Model manager: It can store and share users’ models through a database, and specify who has permission to read and modify design work Project data manager: it can organize 2D or 3D project files in a database and helps track of document version and history

Modelling Mark-up View Netmeeting Integration with PDM Directly transferring CAD models Client/Server communication

I-DEAS CATIA Pro/E UG SolidWorks STEP IGES IDF EMatrix Word PDF zip

2D sketching Dimensionin and tolerancing 3D part modelling Assembly modelling CAE analysis Inspection Mold base Mold design Mold flow analysis Sheet metal Geometric simplification Surfacing

Unix NT 95/98 2000 ME XP

Autodesk Inventor Collaborative Tool

Application sharing: MS netmeeting tool is embedded into Inventor systems to organise co-design activities. An Inventor that has the ‘control baton’ can control and manipulate another remote Inventor system to design, and the controlled system is an observer. The control baton can be acquired and exchanged

Modelling Netmeeting, Whiteboard Chat Directly transferr-ing CAD models Netmeeting T.120 communication

Inventor Inventor compatible files

2D sketching Dimensionin and tolerancing 3D part modelling Assembly modelling CAE analysis Inspection Sheet metal

NT 2000 ME XP

Collab-CAD

Design team: members in the team can simultaneously design and share 2D and 3D models Repository: it can store and share users’ models through a database

Modelling Text or voice chat Directly transferring CAD models Client/Server communication

STEP IGES VRML

2D sketching 3D part modelling Assembly modelling CNC

NT 2000 XP

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Systems

779

780

Table 4 Related work of distributed CE for design and manufacturing Key characteristics

Communications and infrastructures

Vela project (1998) [21]

MIT—a web-based CAD collaborative framework CollabTop, built on WebTop, supporting schematic design entry, simulation and verification Michigan State University—custom JavaCADD client/server architecture based on Java RMI mechanism North Carolina State University—collaborative user-configurable workflow clients (OmniFlow), under the joint control of a synchronous group (SGS) and an asynchronous group server (AGS) Stanford—a network communication module to support collaborative CAD University of California at Berkeley—(1) Distributed design visualisation and interface. (2) A distributed PDM based on Windchill infrastructure

Exchange data: STEP files Three-tire client/server based on Java Windchill PDM system

Liu (2000) [22]

A generic component framework for distributed feature-based design and process planning

Exchange data: STEP files Client/server based on MS COM/DCOM

Chen and Liang (2000) [23]

A system integrating and sharing engineering information to support CE activities such as domain investigation, functional requirement analysis, and system design and modeling

Exchange data: STEP AP203, VRML CORBA (Visi Broker)-based web client/server VRML plug-in web browser

Jacquel and Salmon (2000) [24]

A manufacturing analysis agent system supporting feature-based design and manufacturability evaluation

Autonomous agent organisation (based on Swarm multi-agent system) ACIS 3D kernel to support design feature agents

Shen et al. (2000) [25]

A MetaMorph agent architecture ensuring the coordination among design parts and resource agents to support distributed design and manufacturing activities

Mediator-centric hybrid agent organisation AutoCAD with AME 2.0 to support product design TCP/IP protocol to support high-level KQML communication among agents

Gerhard et al. (2001) [26]

An event-based agent system for distributed design and manufacturing applications

Agents communicate with each other using events based on Java RMI Agents register themselves with event channels. Event channels provide lookup service and error-handling functionality.

Sung et al. (2001) [27]

A CyberCut system integrating product design and process planning, including several modules: (1) a Web-based design tool; (2) a new geometric representation for information exchange between the design and process planning modules, and (3) an automated process planning system

Exchange data: a designed geometric representation called SIF-DSG Web client/server

Sun et al. (2001) [28], Wu et al. (2001) [29]

An agent architecture integrating design, manufacturability analysis, process planning and scheduling

Exchange data: proprietary CAD files Multi-agent organisation (based on JATLite multi-agent system) TCP/IP protocol to support high-level KQML communication among agents

Nidamarthi et al. (2001) [30]

Designers upload their CAD files in a server. In a VRML plug-in web, designers can view CAD models and their animation of assembly sequence in VRML converted from CAD files. Designers can download CAD files from the server

Exchange data: proprietary CAD files, IGES, VRML Web client/server VRML plug-in browser. EAI programming on VRML for the animation of assembly sequence of CAD files.

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

R and D work

Exchange data: STEP files Three-tier client/server based on MS COM/DCOM Unigraphics as the design platform

Exchange data: proprietary CAD files Two-tier client/server TCP/IP socket communication

Exchange data: CAD drawing files Three-tier client/server based on Java RMI and JDBC

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

781

wrapped feature functions and the neutrality of CAD kernels/ systems for different applications. However, considering the complexity and variation of features, the programming effort for implementation is quite huge and the add-on wrapping structures make the system quite heavy. In Jacquel and Salmon’s system [24], features from an ACIS modelling kernel are wrapped as services for remote design and manufacturing analysis. Gerhard et al. [26] proposed an event-based and agential framework to communicate design and manufacturing information through agent channels based on the Java RMI technology, and manufacturing analysis functions are enveloped as agents to support the establishment of an open and plug-in environment. Compared to the discussed former infrastructure, the event- and agent-based mechanism can provide a more flexible and lighter-weight working manner for communication and collaboration. However, this system is still at the proof-of-the-concept stage and the details for realisation are kept open in research.

An INPROSE system integrating product design, process planning and CNC in a collaborative environment

A system for product information exchange and sharing among distributed CAD/CAM users with different platforms

A web-based design and manufacturing support system, including seven functional modules: electronic catalogue, intelligent selection, mounting details, sealing devices, lubrication, manufacturing database, and design module

3. System framework The system framework in this research is illustrated in Fig. 1. The main parts in the system are as follows: 1. 2. 3. 4. 5.

Design clients; A collaborative server; Downstream manufacturing modules; Event-driven communications; and Remote interfaces of methods and objects exposed for remote calling in the environment.

The system framework, which is briefly depicted in Table 5, consists of two primary aspects—(1) distributed feature representations and manipulations, and (2) communication and collaborative mechanisms. Their details are explained in the following Sessions.

4. Distributed feature-based representation and manipulations

Ming et al. (2002) [33]

Zhao et al. (2001) [32]

Cheng et al. (2001) [31]

4.1. Distributed feature representations Based on an open-source solid modelling kernel, i.e. Open CASCADE 4.0, a distributed feature-based modelling framework, which is organised as a ‘manipulation client þ modelling server’ scenario, has been developed to facilitate central provision and maintenance of information and services in a multiple-designer environment. In this scenario, a client dynamically and interactively edits a part through inputting or adjusting the parameters of the features, and the server is responsible for modelling the part. Two representations, ‘light’ on the client side and ‘heavy’ on the server side, respectively, have been proposed to fulfil the functional requirements and enhance the performance of

782

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Fig. 1. System framework of the distributed design environment.

the system. A ‘light’ face-based representation, which depends on the visualisation modules that are separated from the Open CASCADE, is established on the client side to support the interactive visualisation and manipulation functions (selection, transformation and changing visualisation properties of displayed parts). On the server side, a ‘heavy’ representation with features and part information is set up and maintained to provide primary feature-based modelling functions. On the server side, two data structures are established to store and maintain the information of a part and its features during the modelling processes, including Part Constructive Tree (PC_Tree) and Feature-to-Feature Graph (F2F_Graph). The PC_Tree is the primary data structure, which can generate the F2F_Graph. A PC_Tree is used to organise design features of a part in a hierarchical structure according to its evolving process. The data structure and main components are described in the following sections: 1. The root of the tree is the constructive base feature of a part. Each intermediate node in the tree is a Boolean union or difference operator, and its corresponding leaf is

an additive feature volumetrically added onto the part, or a subtractive feature volumetrically removed from the part. An auxiliary feature is attached to the root or a leaf as its auxiliary part. 2. Each feature, which is associated with one or more datum plane or axis, surface tolerance, attribute, dimension, etc. is represented as its initial shape in B-Rep. In features, some faces or some portions of the faces are removed after Boolean operations. The remaining complete or partial faces, which are denoted as revealed faces, are used to compose a face-based representation for the features and attached to the PC_Tree. 3. During the evolving process of a part, the part is updated after each Boolean operation has been carried out and associated with the Boolean operations in the feature tree. 4. Features and faces are allocated as different physical addresses in the distributed environment. A mechanism of IDs for features and faces is designed on the server side to maintain the consistency of the entities in the distributed environment. Fig. 2 illustrates some concepts stated above.

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

783

Table 5 Functional modules in the distributed and collaborative environment Clients

Collaborative server

Analysis modules

Parameter input/edition GUI Inputting and editing parameters for features Selecting geometric entities in features

Naming service Registering the addresses (references) of clients and analysis services

Intelligent analysis and optimisation modules CAPP optimisation Providing abstract classes of machining feature recognition and manufacturability analysis for future integration

Querying information for features and parts Java JFC-swing components to setup the GUI

Binding easily recognised names to the addresses of clients and analysis services for convenient invocation and manipulation Session manager Dynamically generating working sessions Sharing and updating a working part for clients registered in a working session

Visualisation environment Through Java Native Interface (JNI), some native API function for visualisation in the Open CASCADE can be invoked to display parts

Modelling workspace Accepting parameters or entities from the clients Modelling parts based on OpenCasCade solid kernel Invoking and manipulating native API functions of the Open CASCADE through JNI Analysis module workspace Scheduling the working and information flow of analysis modules

Discussion community Providing e-room for on-line discussion and information (text and multimedia) exchange among clients Communications of information and invocations of remote methods Communications in the environment are through an event-driven mechanism based on the Java RMI A set of remote interfaces is declared for a set of methods to be invoked remotely based on the Java RMI

The relationships between features can be categorised as interacting and non-interacting relationships. The interacting relationships between a feature FE2 that is added to a part P and a feature FE1 already in the PC_Tree of P include adjacency, overlapping, nesting and constraining (P2 is the updated part before FE1 joins, and S is the constructive base feature in the part). These relationships are defined in Table 6, in which › represents the revealed faces of a feature, >p ;

p FE2 ¼ f; ›ðFE1 Þ >p ›ðFE2 Þ – f; ›ðFE2 Þ >p ›ðP2 Þ – f

FE2 overlaps FE1

FE1 – S

FE1 >p FE2 – f; ›ðFE1 Þ >p ›ðFE2 Þ – f; FE1  FE2 ; FE2  FE1 ; ›ðFE2 Þ 2p FE1 – f:

FE2 nests on FE1

FE1 ¼ S (1) FE1 – S (2) Both of FE1 and FE2 are either subtractive or additive (1) FE1 – S (2) One of FE1 and FE2 is subtractive, and another one is additive FE2 is a transition feature of FE1 such as a round edge feature, fillet or chamfer

FE1 >p FE2 – f or ›ðFE1 Þ >p ›ðFE2 Þ – f: ›ðFE1 Þ >p ›ðFE2 Þ – f; ›ðFE2 Þ >p ›ðP2 Þ ¼ f

FE2 is constrained with FE1

Graph representation

FE1 >p FE2 – f; ›ðFE1 Þ >p ›ðFE2 Þ – f; ðP2 >p FE2 Þ , FE1 for a subtractive FE1 ; or FE2 , FE1 for an additive FE1 FE2 , FE1

There are some semantic or geometric constraints between the entities in FE1 and FE2 such as co-planar, co-existence, co-axis, replicated creation, or virtually linking

Added, Deleted, Updated, or Unchanged as well. The data structure of faces in an object event for an Updated feature includes two types: (1) for faces that are Added and Updated, the IDs of faces and faces objects are filled into the structure of the object events; and (2) for faces that are Deleted and Unchanged, only their IDs are filled into the events for information deletion or keeping. The details for defining event structures are given in Section 5.2. The flowchart of the above operations is shown in Fig. 5. A few examples to illustrate the feature manipulation operations are shown in Figs. 6– 8. In Fig. 6 (a) and (b), a new feature-FE is added to an intermediate part with eight features, and FE nests on an existing feature FE1 : The features in the part are differentiated as Added, Updated and Unchanged as shown in Fig. 6(c). In Fig. 6(d), the process of differentiating the faces of the Updated feature-FE1 is shown. In Fig. 7, two features deleted from a part, respectively, are used to show the feature manipulation operations. In (a) and (b), features in the part and the F2F_Graph of these features are illustrated. In (c), for the deletion of FE4 that nests on FE1 and has non-interacting relationships with other features, FE4 is Deleted and FE1 is Updated while other features are Unchanged. The faces of the Updated FE1 are classified further as Updated and Unchanged in (d). In (e), for the deleted FE1 ; the differentiated features include: (1) FE4 nests on and FE2 =FE3 have the constraining

relationship of co-existence with it, and FE1 itself are categorised as Deleted; (2) FE1 nests on S so that S is Updated; and (3) the other features having non-interacting relationships are Unchanged. In (f), the differentiation process of the faces in the Updated FE1 is shown. In Fig. 8, two features in a part are edited, respectively, and the differentiation processes are shown. Features in the part and the F2F_Graph of these features are illustrated in (a) and (b). A featureFE13 in the part is edited and its interacting features are highlighted in (c). The classified features are shown in (d), in which the Updated features include FE13 ; FE1 ; FE2 and S; and the other features that have noninteracting relationships with FE13 are Unchanged. With the changes to the position parameters of FE9 in (e), its constrained FE10 ; FE11 and FE12 ; and the adjacent FE5 =FE6 ; and FE9 itself are categorised as Updated, while the other features that are not interacted with the updated FE9 are Unchanged in (f).

5. Distributed and collaboration mechanisms 5.1. Communication mechanism for distributed design In this research, the establishment of the distributed design environment is based on the Java Remote Method Invocation (RMI). According to the RMI mechanism, through declaring remote interfaces, methods inherited

786

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Fig. 3. Examples of relationships between interacting features—FE1 and FE2 :

from them and implemented can be used for remote calling and transmitting information. Some remote interfaces defined in the environment are shown in Fig. 9. A three-layer inheritance mechanism for defining events is designed to take advantage of the object-oriented concept and provide a structural and extensible way to wrap various information communicated in the distributed environment. According to Java specifications, in order to communicate in a network, the defined events should be ‘Serialisable’. In the first layer, a supper class for events,

which inherits the Serialisable class of the Java language, is defined and its sub-classes in the other two layers are automatically Seriablisable. On the other hand, the upper class provides a unified event variable sent or received by the remote methods declared in the remote interfaces of the distributed environment so as to simplify the system structure. The event classes in the second layer, which extend the supper event class, are classified into the following four types mainly:

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

787

Fig. 4. The working processes for modelling a part.

1. Parameter event for a design feature. This event, which is generated in a client, is used to wrap the parameters for a feature or a set of selected revealed faces for local operations on an existing feature. This event is dispatched to the server for creating a feature represented by a B-Rep object. 2. Object event for a design feature. This event wraps the revealed faces in a feature and one or more events (since one or more features might be involved due the editing of a feature) from the server are sent back to the clients for visualisation and manipulation.

3. Object event for a design part. The features of a design part are wrapped in this event to be dispatched from a client to the CAPP module for analysis. 4. Process plan event for a design part. This event is generated by the CAPP module to bind the generated process plans for a request from a client. Each event provides a common structure to represent information generated and manipulated in each part of the distributed environment. However, for each event type there are some variations due to different conditions.

Fig. 5. Feature manipulation operations in the environment.

788

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Fig. 6. An example for the feature manipulation operations: a feature is added.

For example, the current system provides three kinds of methods to create a box—(starting_point, ending_point), (starting_points, length, width, depth), and (direction_axis, starting_point, length, width, depth). In order to represent these information in a more flexible and extensible way, classes in the third layer are developed to inherit the respective classes in the second layer and include the details of information and variables. Some information in the events defined in the environment is shown in Fig. 10. The procedures of invoking remote methods are unidirectional in a basic RMI mechanism, i.e. a client must look up a server and call its remote methods. In an Intranet environment, in order to enable clients to update design information only when the server has a new event to communicate, instead of routinely pinging the server for information and creating a network backlog, a ‘call-back’ mechanism can be employed to achieve a high-performance and robust server activity. The working process based on the call-back mechanism is described as follows and depicted in Fig. 11. 1. A list is created in a working session maintained by the session manager to store the references of design clients that have joined the session. 2. With an input of parameters for a feature, a parameter event is generated in a client. Through invoking one of

the server methods—push_Event(Event e), such an event is received and handled by the server. After an object event has been created and is ready for broadcasting from the server, each client recorded in the reference list is activated to receive the event by invoking one of the clients’ remote methods—receive_Event(). 3. Through the server, communication can be carried out between a design client and the required CAPP module (registered as a ‘client’ in the service workspace of the server in the term of the client/server technology). The object event for a design part indicated by a design client is passed to the CAPP module from the server through calling-back the method—capp(Event e) exposed in the remote interfaces of the service side. The part can then be analysed and a process plan event for a design part can be generated. Through calling one of the server methods—push_Event(Event e) by the service, and calling back one of the design client methods—receive_Event(Event e) by the server, the relevant information can be obtained by the client. Firewalls, which are applied between an enterprise’s Intranet and the Internet as the sheltering confines of the internal information, block all network traffic beyond the Intranet with the exception of those intended for certain well-known ports such as the HTTP 80 port. Due the mechanism of the dynamic socket connections, the RMI

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

789

Fig. 7. Examples for the feature manipulation operations: two feature are deleted, respectively.

traffic is typically blocked by most of firewalls. In order to address this problem, an ‘HTTP tunneling’ mechanism has been introduced by Sun Micro. [34] to encapsulate RMI calls within an HTPP POST request to go cross the 80 port. In this case, the call-back mechanism is de-activated and replaced by the basic RMI mechanism—pinging the server from clients for information updating, which is usually up to 10 times slow. Hence, depending on the condition of a client stay inside or outside of the firewall of the server,

the call-back- or HTTP tunneling-based working process are available to choose from. 5.2. Mechanism for collaborative design The process of designing a part collaboratively in the environment is depicted in Fig. 12. On the server side, a working session can be dynamically created and accessed by clients to provide a workspace to carry out

790

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Fig. 8. Examples for the feature manipulation operations: two features are edited, respectively.

collaborative design activities, in which clients can play different roles and take on different responsibilities. Designers participating in the same session can share the same design model.

Within a session, a ‘control baton’ mechanism is employed to control and schedule the collaborative activity. Each session has a control baton, that is, at any one time, only the user who holds the control baton

Fig. 9. Remote interfaces in the distributed environment.

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

791

Fig. 10. Three-layer inheritance mechanism for defining events in the environment.

is the active designer and can edit a part; while the other users in the same session only receive the updated information and are observers. The user who is carrying out the editing function can become an observer by transferring his control baton to another user. A project leader is responsible to supervise the whole design process. This project leader is authorised to schedule the process to avoid unreasonable monopoly of the control baton and deadlocks due to network problems. The design process based on a control baton mechanism is shown in Fig. 13. 5.3. Manufacturing analysis modules Downstream manufacturing analysis modules can be plugged into the system to support CE design. These modules are designed as clients and registered into

the service workspace in the server when the system initialised, and their workflow is arranged in the workspace. Currently the CAPP module with four alternative methods—Genetic Algorithm, Simulated Annealing, Tabu Search and hybrid Genetic Algorithm and Simulated Annealing, has been developed in Java and integrated in the distributed environment [35,36]. With the CAPP, the activities of selecting machining resources, determining setup plans, and sequencing machining operations can be considered simultaneously so as to achieve the globally lowest machining cost according to a combined evaluation criterion of minimising machining costs, cutting tool costs, machine changes, and tool and setup changes. The other two modules, namely, the machining feature recognition [37,38] and manufacturability analysis [39] modules, will be integrated in future.

792

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Fig. 11. The working process for the ‘call-back’ mechanism.

A three-layer architecture, including remote interfaces, abstract methods defined in abstract classes, and detailed class and method implementations, is designed. With the abstract methods defined for the analysis modules in the middle layer, which idea is similar to [26], the modules that are not integrated yet, viz., machining feature recognition and manufacturability analysis, can be

implemented and join the environment later without reinitialising the whole system. Details of the architecture are given in Fig. 14.

6. A case study The environment has been established based on the JDK 1.4 and Open CASCADE 4.0. A practical part from

Fig. 12. Process of carrying out a design task in the environment.

Fig. 13. The control process of designing a part through a ‘control baton’.

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Fig. 14. A three-layer architecture for downstream analysis modules.

793

Ref. [40] is used to illustrate the co-design processes of three designers in the proposed environment. Fig. 15(a) shows the viewer on the client side and the design part in it. During the modelling process by a designer, the relevant intermediate information is packaged as events and shared with other designers automatically in a design session through the event-driven and call-back mechanisms. In the viewer on the client side, each designer has the freedom to adjust some viewing properties of the part such as the colour, viewing position and background for his/her visualisation convenience and preference. Fig. 15(b) shows the features and the PC_Tree of the part, in which FE4 – FE8 consist of several individual features, respectively, and these individual features have constraints with each other to constitute compound features.

Fig. 15. A case study for designing a part in the distributed environment.

794

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

Fig. 16. The differentiation process for the adding of FE7 in the intermediate part.

Fig. 15(c) shows a discussion pad and a session manager in the environment. In the session manager, designers can log on/off a session and the control baton can be exchanged. During the working process of a designer, a discussion pad can be invoked by any other designers in the design session to make some comments or discussions based on a captured picture of the design part. Designers can chat through text or label the picture for sharing ideas. A CAPP module can be invoked by a designer with the control baton and the feedback results are shown in Fig. 15(d). 1. Designer 1 holds the control baton and models the part. As an example, the intermediate process for adding FE7 is shown in Fig. 16. The size of the B-Rep of the part is about 964k, while the size of the face-based representation of the part is reduced to 595k. The size of the Added and Updated faces in the features, which are the major information in the object events for features to transmit from the server to clients, is about 255k. Three parameters are defined to represent the data reduction from three perspectives: 8 A1¼face-basedrepresentation=B-Rep; > > < A2¼AddedandUpdatedfaces=face-basedrepresentation; > > : A3¼AddedandUpdatedface=B-Rep: Among them, A3 reflects actual reduction percentage of the reduced communication traffic for a part in B-Rep from the server side to the client sides. For the intermediate part at this stage, A1, A2 and A3 are about 61.7, 42.9 and 26.5%, respectively. A1, A2 and A3 for the intermediate processes are shown in Fig. 17, and their mean values are about 70, 40 and 30%, respectively. More experiments have been done and show that to utilise the proposed feature manipulation operations and

the feature representation mechanism, the reduction percentage of the reduced communication traffic for the design parts (A3) in the environment is roughly about 20 – 40% of the original data in B-Reps. 2. After Designer 1 finishes the modelling process, Designer 2 acquires the control baton and makes a modification on the part-to thicken FE6 to enhance its strength. FE6 consists of two constrained features and the adjustment of a feature will affect the other. FE6 is adjacent to S and FE1 : During the modification of FE6 ; the revealed faces of S are updated while the revealed faces in FE1 are kept unchanged. Hence, the Updated features in this stage include FE6 and S; and the other features are Unchanged. A1, A2 and A3 are 58.5, 13.8 and 6.3%, respectively. Some results are illustrated in Fig. 18. 3. After the above processes, Designer 3 obtains the control baton and arranges alternative machines and tools for the machining operations of the features for selection. The remote CAPP analysis module is requested by this designer and the machining cost of the optimised machining operations sequence and ideal

Fig. 17. The percentages of reduction of the represented and transmitted information.

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797

795

Fig. 18. The differentiation process for the edition of FE6 in the part.

machining resources can be achieved (due to the limitation of the space, these results are not shown here).

7. Conclusions In this paper, a distributed environment based on the 3D feature-based modelling and Java client/server technologies has been discussed to support collaborative design. Based on these mechanisms, a distributed teamwork environment for 3D design can be built for practical usage. In this paper, the main characteristics of the distributed environment include: 1. Feature models are organised according to a manipulation client þ modelling server scenario, in which models used by the clients are based on a face-based representation to provide visualisation and support some manipulation functions for a part (such as entity selections or translations), and a server supports the modelling functions and maintains primary feature trees based on the B-Rep for the part. Based on feature-tofeature relationships, a manipulation method is used to facilitate efficient information exchange for large-size 3D models in the distributed environment; 2. High performance communications between a collaborative server and clients are maintained based on an event-driven mechanism. The collaborative server can create and manage dynamic sessions. In each session, clients can play different roles for a design task, with a scenario similar to the actual teamwork situation. The environment is open and scalable to manufacturing analysis modules to support CE. There are still some technical problems to be addressed later. The functions of the discussion pad and message server

in the environment should be further enhanced in future to support multimedia communication functions. The current information management on the server is through a file system, which can be replaced by a database system in future so as to maintain the information more efficiently and effectively. Another attempt will be to develop a web-based viewer based on a mesh simplification algorithm for generating different levels of detailed visualisation information of mechanical parts [41] to support some on-line web-based services such as high-level product review and manipulation.

References [1] Pauly A. CPC: the next wave in collaborative design. Autodesk Technical Report; 2002. Also available at www.industrysearch.com. au/features/collaboration.asp [2] Open CASCADEe 3D Modelling Kernel. Open CASCADE Inc.; 2002. www.opencascade.com [3] Hoops Stream Toolkite Hoops Inc.; 2001. www.hoops.com [4] VizStreame RealityWave Inc.; 2001. www.realitywave.com [5] CollabCADe National Informatics Centre, India; 2001. www. collabcad.com [6] Nam TJ, Wright DK. CollIDE: a shared 3D workspace for CAD. Proceedings of the 1998 Conference on Network Entities, Leeds, UK; 1998. p. 389–400. [7] Qiang L, Zhang YF, Nee AYC. A distributed and collaborative concurrent product design system through the WWW/Internet. Int J Adv Manufact Technol 2001;17(5):315–22. [8] Pahng GDF, Senin N, Wallace D. Distributed modeling and evaluation of product design problems. Comput-Aided Des 1998; 30(6):411–23. [9] IX Designe ImpactXoft Inc.; 2001. www.impactxoft.com [10] Alibre Designe Alibre Inc.; 2001. www.alibre.com [11] GS-Designe GS-Design Inc.; 2001. www.gs-design.com [12] Li WD, Ong SK, Nee AYC. Establishment of a distributed design environment. Proceedings of the Ninth ISPE International Conference on Concurrent Engineering: Research and Applications, UK; 2002. p. 605–12. [13] Li WD, Lu YQ, Zhou H, Ong SK, Nee AYC, Fuh JYH, Wong YS. A distributed feature-based environment for collaborative design. Proceedings of the Sixth World Multiconference on Systemics,

796

[14] [15]

[16]

[17] [18]

[19]

[20]

[21]

[22] [23]

[24]

[25]

[26]

[27]

[28]

[29]

[30]

[31]

[32] [33]

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797 Cybernetics and Informatics, Orlando, FL, USA, vol. XII.; 2002. p. 69-74. OneSpacee CoCreate Inc.; 2000. www.onespace.com van den Berg E, Bidarra R, Bronsvoort WF. Web-based interaction on feature models. Proceedings of the Seventh IFIP WG 5.2 Workshop on Geometric Modelling: Fundamentals and Applications, Parma, Italy; 2000. p. 319–20. Begole J, Struble CA, Shaffer CA. Leveraging Java applets: toward collaboration transparency in Java. IEEE Internet Comput 1997;1-2: 57–64. Inventore collaboration tools. Autodesk Inc.; 2001. www.autodesk.com Wu D, Sarma R. Dynamic segmentation and incremental editing of boundary representations in a collaborative design environment. Proceedings of the Sixth ACM Solid Modeling’01, Michigan, USA; 2001. p. 289–300. Lee JY, Kim H, Han SB, Park SB. Network-centric feature-based modelling. Proceedings of the Pacific Graphics’99, South Korea; 1999. p. 280–9. Shyamsundar N, Gadh R. Internet-based collaborative product design with assembly features and virtual design spaces. Comput-Aided Des 2001;33:637 –51. Brglez F. Vela project—globally distributed microsystem design— proof of concept: demo summaries of the 1998 DAC exhibition in the university booth. Technical Report 1998-TR@CBL-07-DACdemo, CS Departmentt, North Carolina State University; 1998. Also available at http://www.cbl.ncsu.edu/publications_misc/ 1999-EETimes-vela.pdf Liu XD. CFACA: component framework for feature-based design and process planning. Comput-Aided Des 2000;32(7):397 –408. Chen YM, Liang MW. Design and implementation of a collaborative engineering information system for allied concurrent engineering. Int J Comput Integr Manufact 2000;13(1):11–30. Jacquel D, Salmon J. Design for manufacturability: a feature-based agent-driven approach. J Engng Manufact, Proc Inst Mech Engrs Part B 2000;214(10):865–80. Shen WM, Maturana F, Norrie DH, MetaMorph II: . an agent-based architecture for distributed intelligent design and manufacturing. J Intell Manufact 2000;11:237–51. Gerhard JF, Rosen D, Allen JK, Mistree F. A distributed product realization environment for design and manufacturing. ASME J Comput Inform Sci Engng 2001;1(3):235– 44. Sung HA, Sundararajan V, Smith C, Kannan B, D’Souza R, Sun GP, Mohole A, Wright PK, Kim JH, McMains S, Smith J, Se´quin CH. CyberCut: an Internet-based CAD/CAD system. Trans ASME, J Comput Inform Sci Engng 2001;1:52–9. Sun J, Zhang YF, Nee AYC. A distributed multi-agent environment for product design and manufacturing planning. Int J Prod Res 2001; 39(4):625– 45. Wu SH, Fuh JYH, Nee AYC. Concurrent process planning and scheduling in distributed virtual manufacturing. IIE Trans 2002;34(1): 77–89. Nidamarthi S, Allen RH, Sriram RD. Observations from supplementing the traditional design process via Internet-based collaboration tool. Int J Comput Integ Manufact 2001;14(1):95–107. Cheng K, Pan PY, Harrison DK. Web-based design and manufacturing support systems: implementation perspectives. Int J Comput Integr Manufact 2001;14(1):14–27. Zhao FL, Tso SK, Wu PSY. A cooperative agent modelling approach for process planning. Comput Ind 2000;41(1):83–97. Ming XG, Ni QF, Lu WF, Lee IBH, Fu MW, Ong SK, Nee AYC. Towards collaboratively integrated manufacturing system for tooling production in SMEs—the INPROSE approach. Proceedings of the 9th ISPE International Conference on Concurrent Engineering: Research and Applications, UK; 2002. p. 465–74.

[34] Grosso W. Java RMI-designing and building distributed applications. USA: O’Reilly and Associates; 2001. [35] Li WD, Ong SK, Nee AYC. Hybrid genetic algorithm and simulated annealing approach for the optimisation of process plans for prismatic parts. Int J Prod Res 1922;40(8):1899– 922. [36] Li WD, Ong SK, Nee AYC. Optimisation of process plans using a constraint-based tabu search approach. Int J Prod Res (revised); 2003. [37] Li WD, Ong SK, Nee AYC. Recognising manufacturing features from a design-by-feature model. Comput-Aided Des 2002;34(11): 849 –68. [38] Li WD, Ong SK, Nee AYC. Recognising interacting machining features using a hybrid AI methods. Int J Prod Res 2003;41(9): 1887–908. [39] Ong SK, Li WD, Nee AYC. STEP-based integration of feature recognition and design-by-feature for manufacturing applications in a concurrent engineering environment. Int J Comput Appl Technol 2003;18(1):78– 92. [40] Shah JJ, Mantyla M, Nau DS. Advances in feature based manufacturing. Amsterdam: Elsevier; 1994. [41] Qiu ZM, Fuh YH, Wong YS, Chen YP, Zhou ZD, Lu YQ, Li WD. Geometric model simplification for distributed CAD. Comput-Aided Des 2003; in press. Li is a research fellow at the Singapore Institute of Manufacturing Technology (SIMTech). He obtained his BE and ME degrees (Electro-Mech Engng) from Xidian University, Xi’an, China in 1992 and 1995, respectively, and PhD degree (Mech. Engng) from National University of Singapore (NUS) in 2002. His research interests include intelligent and collaborative design/manufacturing, feature-based modeling and computer-aided process planning.

Ong is an assistant professor in the Department of Mechanical Engineering of NUS. She is the program manager for the Virtual Manufacturing Program in the Laboratory for Concurrent Engineering and Logistics in the Faculty of Engineering. Her research interests are: virtual manufacturing, applications of AI techniques in concurrent engineering, computer-aided set-up planning, life cycle engineering, and environment impact assessment. She has published about 60 international refereed journals and conference papers in these areas.

Fuh is an associate professor in the department of Mechanical Engineering of NUS. He obtained his BS (Mech Engng) from National Chia-Tung University in 1980 and MBA from National Taiwan University in 1982, and MS and PhD (Mech Engng) degrees from University of California at Los Angeles (UCLA) in 1985 and 1992, respectively. His research interests include distributed CAD, intelligent manufacturing, rapid prototyping technologies and injection mould design.

W.D. Li et al. / Computer-Aided Design 36 (2004) 775–797 Wong is an associate professor in the Department of Mechanical Engineering and Director of the Laboratory for Concurrent Engineering and Logistics, NUS. He obtained his BE (honours) and ME at NUS and PhD at UMIST. His teaching and research interests are in machining characterization, modeling, monitoring, control and optimization; product data capture, prototyping, design and manufacture; and automated and integrated manufacturing system modeling and design.

Lu is a research scientist and a program head at SIMTech. He has led several product development projects in CAD/CAM application areas. His research interests include codesign for distributed designers, CAD/CAM/ CAE integration, design automation for tooling industry, and new geometric modeling technology.

797

Nee is a professor of manufacturing engineering, NUS and the Co-Director of the Singapore-MIT Alliance (SMA) Program. His research interest is in computer applications to tool, die, fixture design and planning, intelligent and distributed manufacturing systems, and application of AI techniques in manufacturing. He currently held regional editorship, department editorship, associate editorship and member of editorial board of 14 international journals in the field of manufacturing engineering. In 2002, he was awarded the Doctor of Engineering (DEngng) degree from UMIST for his research achievements in manufacturing engineering.

Suggest Documents