Paper received: 2011-10-17, paper accepted: 2012-08-23 © 2012 Journal of Mechanical Engineering. All rights reserved. Assembly/Disassembly Analysis and Modeling Techniques: A Review Robert Iacob1* - Diana Popescu1 - Peter Mitrouchev2 1 University "Politehnica" of Bucharest, Romania 2 G-SCOP Laboratory, Grenoble, France Optimization and realistic virtual simulation of the Assembly and Disassembly (A/D) process are relevant research subjects, considering the significant role played by these operations in the initial stages of the product design, as well as in the fabrication, ergonomics, training, service or recycling stages. Literature reports many methods used for analysis and optimization and different simulation applications based on assembly connection concept or which use information referring to components mating. Moreover, virtual reality (VR) environments have significantly evolved towards the A/D simulation, highlighting new requirements for the preparation stages and their integration. All these simulations address different objectives: A/D sequencing, path planning, ergonomic analysis etc., and are complementay to each other The main objective of the research presented in this paper is to propose new tools for enhancing the A/D simulation capabilities and to define a software development pipeline, as part of an on-going research effort aimed at creating a complex virtual assembly simulation platform. In order to do that, firstly a comparative review of the assembly modules available in A/D analysis software and simulation platforms, and the assembly modeling tools provided by commercial Computer-Aided Design (CAD) software is made. Different elements are investigated: mating conditions (geometric constraints) used for reciprocally placing components in an assembly, functions used for contacts generation, as well as clashes and interferences detection tools. Furthermore, the analysis focuses on determining what type of information related to components relative mobility is available in the existing software and how this is used. Starting from here, a first implementation of the platform, which has been developed to address some assembly analysis tasks, is presented for illustrating the concepts and assessing the feasibility of the approach. Keywords: assembly/disassembly, virtual reality, modeling tools, simulation 0 INTRODUCTION In today's global context, two main directions are critical for the industry: product manufacturing cost reduction and environment protection - product recycling at its end-of-life. Since the late 80's it has been established that the A/D process generally represents almost one third of the product cost [1]. Therefore, it is important to design proper plans for product assembly - manufacturing, and disassembly - recycling. Also, a realistic A/D process modeling can improve efficiency, reduce cost and increase the percentage of product recycling. In order to accomplish these issues, different simulations based on digital mock-ups of products are needed. Although analysis and modeling software, currently used at different stages of the Product Development Process (PDP), can offer solutions to some of the above mentioned needs, the development of a dedicated A/D integrated simulation platform is still a necessity [2]. To obtain an optimum A/D process, different methods, mentioned in literature, are applied: non-directional blocking graph [3], assembly stability graph [4], disassembly wave method [5], conceptual scheme [6], psycho-clonal algorithm [7], and interference matrix [8]. Also, since the 90's, several complex software for assembly analysis [9] and [10], as well as simulation programs based on multiagent systems [11] or which use contact information between assembly components [12], were developed. More recently, Virtual Reality (VR) environments have significantly evolved towards A/D realistic simulation [13] to [21] highlighting new needs for A/D simulation preparation. All these simulations address different objectives (A/D sequencing, path planning, etc.), which are complementary, but not at all incorporated to each other. Moreover, they are barely included into the PDP, especially if the 3D shape models of components take part to A/D simulation. The relative mobility of components is a key element contributing to A/D simulations based on 3D component models. This mobility can be represented either exactly with translations, rotations and helices or approximated with infinitesimal translations only, and it can be also deduced from the relative positions of the components or strictly specified by the user. Focusing on simulations where contacts between components are of particular interest to characterize their relative mobility, prior works [10], [12], [22] and [23] have shown that models fit into the following classes: apart from finite translations, possible movements are all reduced to infinitesimal translations or to translations and rotations only without helical ones. Translational, rotational and helical movements can be described, but the contacts between components are assumed to cover the whole functional surfaces (planes, cylinders, spheres etc.). In addition, the identification of the contacts between components is usually interactive only, hence making A/D simulations very tedious and strongly reducing their use in the PDP. Since the contact between components is at the basis of most of the A/D simulations requiring 3D component shapes, the contact identification is addressed here as the first step in the A/D simulation process. Indeed, the corresponding process establishes links between component shapes, contact models and component kinematics, which provides a basic set of meaningful information. We note that currently almost all mechanical products are conceived using one of the common CAD modelers [24] to [28]. Thereby, the available assembly modules of 3D CAD software and their specific approach to modeling assemblies have a strong influence on how products are designed. Moreover, for the real-time simulation environments, the data exchange CAD to VR is one of the most important issues currently faced by the virtual prototyping community. The previous characteristics constitute key elements of a complete simulation platform and offer the set of features used to analyze scientific contributions, thus highlighting some of the requirements for providing a more generic simulation environment and an improved integration of A/D simulation in the PDP. The paper is organized as follows. Section 1 reviews some of the existing assembly analysis software, while section 2 presents a survey on various assembly immersive simulation platforms. Considering the key elements needed for a simulation of an A/D process, section 3 reviews the assembly modeling tools from the main commercial CAD software. Then, section 4 defines the set of requirements for a virtual assembly simulation platform and presents the software development pipeline. Section 5 describes the first approach of the platform. Based on the model preparation phases, the main treatments contributing to the contact identification and an example for application are described. Finally, section 6 briefly presents the conclusions and future work. 1 ASSEMBLY ANALYSIS SOFTWARE A review of the scientific contributions showed that A/D analysis is addressed through a wide range of aspects where the objectives of an A/D simulation cover sequence planning, path planning, accessibility evaluation, operation time optimization etc. From a complementary point of view, for most A/D analysis approaches, 3D shapes and features of components and/or assemblies are key elements. For instance, path planning required for moving components into a complex environment strongly relies on 3D shapes. Depending on the simulation purpose, these shapes can be either a polyhedron or a B-Rep NURBS. Based on the parameters previously defined, a characteristic set of scientific contributions is evaluated to explicit how assembly analysis software can address a larger range of simulations and better fit into the PDP, i.e. initiating an A/D modeling process without the need of a specific shape model and technological data as input. At the beginning of the 90's, Baldwin et al. [9] developed software for generating and evaluating assembly sequences. Fig. 1. System structure of ASPEN The application is based on a disassembly algorithm for generating sequences and provides visual aids during evaluation. as input it uses 3D models of components and, in order to generate all the assembly sequences, the user must first provide, interactively, a set of data: parts orientation, contacts, and interferences. It should be mentioned that the activities of generating precedence information, generating assembly sequences and editing sequences were integrated by the developed application for the first time. Later, a computer-aided Assembly Sequence Planning and Evaluation (ASPEN) system was developed by Kanai et al. [10], which automatically searches all the geometrically feasible sequences by decomposing solid models of a product and chooses an optimum sequence with the smallest operating time (Fig. 1). ASPEN assembly model is managed by the Parasolid modeler and requires additional information, like a list of contacts, to compute the list of valid sequences. Based on contact information, and in order to evaluate operation complexity, the application creates a simple mobility model. Another simulation application was proposed by Léon et al. [12]. Being operational with OPEN CASCADE, i.e. providing NURBS-based models, it offers the possibility to model some of the mobilities of elementary contacts, but the specification of contacts is interactive. Hence, preparing an A/D process is tedious or even not accessible when assemblies incorporate tens or hundreds or even thousands of components, as it is the case for complex industrial products. This application allows a designer, who has defined a mechanism, to analyze, in a semi-automatic way, its assemblability and to generate the list with all the valid sequences of an assembly. This list can be further filtrated by using technological data associated to the geometric description of components. Despite its strong points, this framework cannot generate all the possible solutions because not all the valid trajectories are modeled. Consequently, it is important to be able to fully identify and model the contacts between the components as automatically as possible. An integrated framework - called RAPID assembly system, has been developed by Zha et al. [11] for design, planning, analysis and simulation of assemblies. It is built upon Petri nets and uses multiagent systems. RAPID Assembly system consists of 6 major functional components: assembly design agent, planning agent, construction agent, evaluation agent, simulation agent, and meta system agent. Each agent may include several subagents or consist of several functional parts. The meta system agent is used for integration, coordination and control of other agents. The assembly design agent is used for assembly modeling and design by incorporating the function-behavior-structure modeling techniques and feature-based modeling techniques in the base application structure. The assembly editor, a subagent of the design agent, can accept imported CAD files of individual components and organize them into an assembly representation. Using feature recognition techniques, the assembly editor can differentiate connectors between parts and assembly features on individual parts. The developed multi-agent intelligent environment is mainly based on STEP file format and on two assembly representation models. From our point of view, both models are limited because the information about the contacts or about the mating conditions is imported. Furthermore, there is no method for describing or for representing the component mobility. A different approach is to analyze the problem of selective disassembly. A method proposed by Srinivasan et al. [5] called "wave propagation" analyzes the assembly from the selected component outwards, and orders the components for selective disassembly. The main conclusion of this evaluation is that current assembly analysis software address the problem of A/D process simulation by considering the 3D representations of the components independently of each other and considering the assembly step as requiring the addition of information related to geometric constraints, contacts and relative mobility of the components. Moreover, only a few approaches [12] initiate the use of technological data and tend to view a digital model as providing more information than a set of isolated components. We note that extensive analysis of the A/D process is possible in the early stage of the PDP, if two elements are available: the 3D models of products and the mobility data, all other necessary information can be further deduced from these. Another domain of the scientific contributions characterizes the assembly simulations according to their interaction with the user. These simulations can be fully automatic, i.e. after the user has specified the input parameters, the objective of the simulation is reached without any further interaction; interactive, i.e. the simulation objective is reached through successive steps where the user adds different parameters; or real time, i.e. the user continuously provides input according to the component configuration perceived. This last category reflects the assembly simulations where immersive environments based on VR techniques are the central element of a simulation approach. VR technology has evolved to a new level of sophistication during the last decade, now it combines several human - computer interfaces to provide various sensations: visual, auditory, haptic, which enables users to become immersed in a computergenerated platform [2]. These environments use a polyhedral type representation for the components. The underlying concept of real-time interaction between the virtual components and the user is fairly adapted to simulation configurations where the evaluation of a design configuration is rather qualitative and based on the perception of the user in comparison to automated processes where an algorithm makes decisions about a given component configuration. Many scientific contributions focus on A/D simulations in VR, addressing the product or some of its subsystems rather than an isolated component. Fig. 2. Positioning a bolt in real factory Fig. 3. Positioning a bolt in VADE Jayram et al. [17] have developed an immersive virtual assembly tool called VADE - Virtual Assembly Design Environment (Figs. 2 and 3), the first functional prototype being available in 1995. VADE includes many features like stereoscopic viewing, tracking, and user interaction, and it supports two-handed assembly. The VADE software has the ability of extracting the assembly information from the CAD model. This information is used to build a constraint database, which is then utilized in real-time while running the VADE program. The main core is the CAD-to-VADE extraction module which is used to extract the assembly hierarchy, assembly constraints, and polygonal models of all components from ProEngineer. The method is interesting, but limited in use being compatible only with ProEngineer. The simulation application proposed by Liu et al. [19] performs assembly relationship identification, constraint solution and constrained motion guidance for interactive assembly in VR through a constrained behavior manager (CBM) (Fig. 4). Fig. 4. Architecture of CBM Models, imported in IGES or SAT formats, contain only geometric information, hence a necessary step before virtual assembly is to define the assembly ports, which describe connection interfaces between components (Fig. 5). Indeed, the user must interactively specify these connection ports by selecting a collection of geometric entities and providing other relevant parameters. After this step, the CBM module recognizes the potential assembly features between assembly ports and it performs the recognition of geometric constraints between surfaces. Brunetti et al. [13] described an approach towards modeling and validation of mechanisms in the conceptual design phase applying virtual reality techniques and kinematics simulation. The developed system, called VCD (Virtual Conceptual Design), allows to interactively assemble mechanisms and to experience its behavior within the same process. It is based on Openlnventor & OpenGL and provides an event handler that links the tracking information with the VR application. The program contains a set of specialized modules which handle the boundary representation (B-Rep) of the model (ACIS kernel), the geometric constraints between topological entities (faces, edges) and the shapes (volumetric form features) that can be created or modified from the system. However, it can simulate only some of the lower kinematic pairs and none of the higher kinematic pairs. Fig. 5. Connection ports; a) bolt port, b) nut port, c) pin port, d) hole port, e) bearing port, f) parallel key port, g) tenon port, h) dovetail port, i) Parallel slot port, j) groove port, k) dovetail slot port Wang et al. [15] proposed a CAD-linked virtual assembly environment. The presented approach is a kind of external integration with a CAD system through automation interfaces. A novel hybrid virtual assembly model is developed to support this external integration. It works as a combinator that links the precisely represented design dataset in CAD models and the corresponding hierarchically structured virtual assembly dataset in the VR application. Using the hybrid virtual assembly model, a framework has been developed to embed and apply CAD assembly constraints on the virtual assembly structure. Constraint-based manipulation is thus implemented in the virtual assembly environment by integrating Autodesk Inventor through automation interfaces. The virtual assembly application is launched as a stand alone program that runs out-of-process to the Inventor, which runs in an invisible mode. The proposed software architecture has some strong points, but it is limited because of the direct link with a specific CAD system. In addition to the applications described above, the companies developing CAD programs and PLM platforms create basic modules for A/D field, directly integrated into the industrial environments. In a report, Toledo [14] describes the approach of NIAR Virtual Reality Center (VRC) for VR simulation. The proposed application uses the PTC Division Reality module to build an immersive tool for A/D process simulation. Different aircraft scenarios are investigated in order to test the techniques proposed (Fig. 6). ! * i ( y 1 I f * .\i \ Fig. 6. Virtual mechanism assembly Fig. 7. Haptic assembly environment VR applications may not only rely on visualization, but use also haptics to get closer to real configurations. In these simulations, collision detection algorithms are fundamental and they use polyhedral models with specific requirements in terms of triangle equilaterality and accuracy of body penetration. As a result, a VR application involving haptics incorporates not only a component shape for visualization, but also a shape for haptics. Lim et al. [18] developed a system to evaluate collisions detected between various parts. The most significant, yet classical, example is the insertion of a bolt into a hole. A similar but extended approach was proposed by Garbaya et al. [16] (Fig. 7). They performed separate tests to evaluate collision detection and the amount of clearance needed has been calculated. In order to reduce the effect of these approximations and to obtain a proper virtual simulation, a complete contact model is required, which shows the importance of model processing for haptic simulations. Fig. 8. Haptic assembly application Recently, Tching [20] has shown that there is a strong interest in the transition phase between the free mode of control and the assisted mode of control. This corresponds to the transition between dynamic/quasi -static and kinematic physics. To switch between these modes, one solution is to ensure the continuity of the object's velocity between the time of collision de-activation and the time of constraint activation. The perception of this change must be transparent for the user and must ensure the continuity of its movement, forbidding efforts instabilities and incoherencies. In order to test the proposed method, a simple simulation software tool was developed (Fig. 8). For the haptic rendering, a Virtuose 6D haptic device from the Haption Company was used. These switches between modes are the first approach to obtain a more realistic simulation of A/D operations, where the component kinematic mobility become an additional parameter of the digital model involved in the A/D simulation and control. One interesting option to avoid the model import operation is to build a solid modeler in a VR environment. Zhong et al. [21] presented an efficient constraint-based methodology for intuitive and precise solid modeling in VR. It uses a constraint-based methodology for intuitive and precise solid modeling. A hierarchically structured and constraint based data model is developed to support solid modeling in the VR environment. A constraint reasoning engine is also developed to automatically deduce allowable motions for precise constraint-based 3D manipulations. The program allows parts creation using feature primitives, and assemblies building using constraint data management. The proposed application is useful but limited because the parts can be created only using primitives and the mobility model is used purely for design rather than A/D purposes. The research concerning the immersive simulations in general, and in particular for A/D applications, is divided into two categories, depending if the haptic sensations are used or not. The use of haptic devices necessarily involves collision detection in real time and effort generation where collisions take place. The relation between constrained movement and collision detection is still an open field for research in order to provide realistic sensations for the A/D operations. When immersive simulations do not use haptic devices, the A/D simulations utilize kinematic constraints to generate realistic movements for the insertion/extraction phase of the components. The current review showed that two types of approaches for the constraints generation are implemented: the interactive specification - the user specifies these constraints, or the automatic generation of these constraints during the simulation, depending on the configuration of components. In both situations, difficulties related to the analysis of the constraints consistency exist. It is important to mention that the delicate relation between collision detection and generation of the kinematic constraints is generally not discussed in the presented papers. 2 MODELING TOOLS The synthesis of current research showed that an A/D simulation is subjected to different shape representations, i.e. B-Rep NURBS models or polyhedral representations needed for immersive simulations. Although there are some 3D models built with VR tools and used only for VR testing applications, most of the mechanical products are designed using a standard 3D CAD program. In this context, a review of the assembly modeling tools from the main 3D CAD programs is a necessary step in order to propose a set of operators for assembly process modeling. Five programs - which cover more than 50% of the mechanical CAD market [29], are investigated. These are: Solid Works (SW) and CATIA V5 (CV5) from Dassault Systèmes, Solid Edge (SE) and UniGraphics (UG) from Siemens and KeyCeator (KC) from Kubotek Software. The last has a different modeling philosophy and it will be discussed in the second part of this section. The 3D CAD software considers an assembly model as the result of correct spatial arrangements of components. In order to easily create such arrangements, the designer specifies a set of standard constraints like coincidence, parallel, perpendicular, tangent, concentric, distance or angle. These type of geometrical constraints are well known and include mates between flat and/or cylindrical surfaces, alignment and orientation constraints. Different combinations of constraints can produce the same result (spatial positioning of the components) and these constraints do not express directly the possible relative motion between components. Each analyzed program offers a set of tools for smart mating to reduce the time needed to define an assembly. For example, CV5 offers Quick Constraints option which places the first possible constraint between selected geometry: point, plane, line or circle. This first possible constraint is established from a priority list which can be set by the user. SE proposes Flash Fit workflow. This option reduces the steps required to position parts when compared to the traditional workflow. A CAD assembly generally has a single objective - the relative positioning of components, while the kinematic simulation has the objective of movements modeling. It should be noted that, in some cases, the position of surfaces of components from an assembly, already partially constrained, is not properly detected and thus it is not possible to define a complete set of constraints. This leads to the impossibility of defining real kinematic links. Generally, in this situation, the user should interactively provide a set of data - this step being a time consuming one. In addition to classical constraints, the reviewed programs include an additional set of complex mates. For example, in SW exists Mechanical Mates group which contains: cam, hinge, gear, screw, etc. SE proposes an extended group of mates with similar names and functionality. The advanced mates are deployed in order to model the contacts and to partially reproduce the real movements allowed: a hinge mate can describe a pin contact or a screw mate can describe a helical contact. This set of mates can also be used for constraining some complex surfaces. These types of constraints are useful, but their effectiveness is limited because they describe the mobility of a small set of contacts and thus it is impossible to define a complete model. Moreover, it is important to mention that the constraint (mate) concept was developed as a partial solution to build assemblies from parts, but it requires various improvements. Fig. 9. Coincidence interferences Fig. 10. Standard interferences The analyzed programs also contain some assembly analysis functions: interference detection, clearance verification, sensors etc. Interference detection can be used to determine the interference between components, to display the true volume of interference as a shaded volume or to distinguish between coincidence interferences (Fig. 9) and standard interferences (Fig. 10). It is a useful tool, but only for visualization purposes as it does not provide detailed information about the contact zone and the resulted data can not be further used. UG offers an interesting option - Isolate Interference, which displays only the components interference bodies and export this information as a XML report. One related function is clearance verification used to check the clearance between different components in assemblies (Fig. 11). The software checks the minimum distance between the components and reports clearances that fail to meet the minimum acceptable clearance specified. Sensors monitor the selected properties of parts and assemblies and alert the user when values deviate from the specified limits. Apart from the main assembly module, each reviewed CAD software proposes a set of wizards: Motion module - SW, DMU Kinematics - CV5, Motion Simulation - UG. These embedded applications offer conversion functions of geometric constraints in kinematic linkages, thereby reducing duplication, but only for some of the constraints -complex mates must be manually redefined before the analysis. Fig. 11. Clearance verification When assembly models are imported from a different CAD system, the constraints must be redefined in order to have a complete representation of the product model. Similarly, when an assembly model is exported to a kinematic analysis system, the kinematic links between the components must be specified. According to the analyses made in this section, all four programs are interesting and useful, but lack strong properties for the description of assemblies. Another conclusion is that these environments express the mobility between components only for an operational configuration of a product, but an A/D process requires the mobility model of all components and all trajectories between components, because all of them are related potential solutions for an A/D operation. Almost every CAD modeler includes functions for relative positioning of components and contains assembly modules which offer the possibility to define constraints between components. These constraints are limited to the specification of the relative position of surfaces, or axes related to each component, but not necessarily attached to the contact surfaces between components. This means that the contact surfaces -the functional surfaces involved in these constraints, are not explicitly identified and their locations are not really considered in the process of interference zone detection. Furthermore, the information about geometrical constraints is not used to define the relative mobility of the components and the proposed constraints are related to the position of components, but do not explicitly represent the contacts between components. Therefore, this type of information is interesting but its effectiveness is limited and its transfer through data exchange standard formats is not currently possible. The positional constraints refer only to the reciprocal position of components and these data are neither sufficient nor consistent with the requirements for the identification of contacts, and these data are not intrinsic to the definition and characterization of the contacts and their commune zone associated. A different modeling philosophy is implemented in KC. This program represents an alternative to history-tree CAD software allowing users to edit solid model geometry without history trees or constraints. Being a non-parametric modeler, it has some strong points - especially for part design, and weaknesses -for assembly modeling. It earns equal praise for its ability to quickly create design concepts from scratch, to make changes to any part model in any format, and to extract and modify geometry in real-time on imported CAD models. The Direct Dimension editing technology allows parametric like changes to models without the burden of history or unwanted constraints (similar to synchronous technology developed by Siemens PLM - UG and SE). In order to model assemblies, this software generates a 3D representation of the product based on the use of a Common Reference Frame. Thus, all actors in the design of a product will generate the components in a defined position relative to the common reference frame, so there is no relative constraint position expressed between the components. This is a well known practice in automotive industry. As a result, the representation of the product is visually obtained and considered satisfactory when all components are simultaneously displayed in their place. Indeed, there is no information related to relations between components and the arrangement of the product is based solely on the users' interpretation of the assembly scene. KC is a versatile application based on a new data technique, providing useful tools for the part design, but it lacks properties for the description and analysis of assemblies. KC specific modeling approach deploys precise 3D data editing, without the complexity of standard history-based parametric modeling tool, the models being built and edited regardless the model creation steps. These characteristics are the main difference from standard CAD software and can lead to a decrease in part design time. In addition to the above strong points, KC does not offer any information regarding the contacts between parts, interference zone or mobility data. Thus, it can be concluded that there is no true assembly module and no real product model. 3 SOFTWARE DEVELOPMENT PIPELINE The assessment of the state of the art in the previous sections showed that current analysis software, simulation platforms and CAD programs do not offer the necessary information and versatility required for a complete A/D process modeling and simulation. In this context, the main objective addressed in the present research is to define a software development pipeline for a virtual assembly simulation platform able to improve the A/D simulation process and to integrate it at various stages of the Product Life Cycle (PLC). The proposed A/D simulation platform is based on some new concepts and operators and it will have the following structure: import module, interface module, mobility module, sequence module, immersive module and export module. 3.1 Interface Concept The word interface describes a boundary across which two independent systems meet, act on or communicate with each other. In the proposed approach, the interface will designate a complete set of data about the mechanical contacts in a product model. Thus, it will contain information about: geometrical (mating) constraints, contact surfaces relative position, common area and information about the neighboring components. 3.2 Kinematical Combination Operator The proposed platform will be based on a kinematical combination operator able to describe all the families of trajectories associated to the interfaces or kinematic pairs from different components of a product. This operator will be used to model contact relations between elementary components of a product and to determine the relative mobilities of the assembly components. 3.3 Import Module & Data Representation Today, there are many CAD software and each mechanical design department uses one or more of them, depending on complexity of design. Moreover, different shape representations and model variants are produced by different CAD modelers even though they are quoted as standard format. Thus, a module able to import 3D models from various mechanical design software products is the first requirement for the simulation platform. 3.4 Interface Module The main purpose of this research is to offer an intelligent tool to aid engineers in the design process, the proposed platform will offer a set of functionalities currently inexistent. Thus, an interface identification module will be able to automatically identify: the geometric constraints, the contact surfaces relative position, the common area, and to combine this information in a set of interfaces for a product. 3.5 Mobility Module The interface and joints information represent the input data for the mobility computing module. This one will calculate the mobility of a component from an assembly with respect to its surroundings. It will be based on the kinematical combination operator. For visualization purposes, a graphical representation of the valid trajectories will be implemented. 3.6 Sequence Module Having all the information related to the mobility data, the sequence module will be able to determine the sequence of mounting or dismounting of a component/entire product. This module will generate all the feasible sequences and it will identify the best one according to the criteria set by user. Another possible application of this module would be to store, on a device attached to the product, the optimal sequence of disassembly for the product or only for a valuable component in terms of recycling. This sequence will be read, in the recycling stage, by a disassembly system (robot), thus creating the frame for an automatic disassembly process. The solution is an extension of the idea proposed by Ostojic et al. [30]. 3.7 Immersive Module The immersive module, using the model data and the generated information, will offer a realistic simulation environment combined with haptic interaction. This module should contain the following features: • real-time simulation of A/D operations; • A/D sequence validation and editing; • two modes interaction: free mode and kinematic guided movement. 3.8 Export Module The main objective of the proposed platform is the simulation of A/D operations in order to offer complete information about the A/D process. However, a very important aspect of any analysis and simulation program is the possibility to share information. Therefore, the platform proposed in this paper has to be able to collaborate with other software through an export module. This one will offer the possibility to export the models with semantic information attached for further use. 4 SIMULATION FRAMEWORK Another aim of this work consists in introducing a subset of a simulation framework able to contribute to the A/D simulation process while reducing, as much as possible, the constraints of the input parameters [31]. For this, three data categories are considered as mandatory for A/D simulation: the component models, their relative positions and their functional surfaces. Generally, the input model comes from CAD software and it is important to take advantage of their B-Rep NURBS description to strengthen the algorithms and to obtain a more transparent access to the behaviors of the assembly components during A/D simulations. STEP was used as exchange format due to its robustness and efficiency in transferring component shapes, being interesting for noticing that these data are only geometric and are provided through the STEP files available with current CAD systems. There, all the information about functional surfaces is available in addition to B-Rep NURBS geometry, the contacts being related to the functional surfaces. The proposed simulation framework firstly automates the contact identification and it can identify seven types of contacts: Planar Fit (PLF), Cylindrical Joint (CLJ), Cylindrical Joint unidirectional (CJU), Spherical Fit (SPF), Linear Annular Fit (LAF), Helical Fit (HLF) and Undefined Type Contact (UTC). After this identification stage, a user's interpretation is needed in order to meet the simulation hypotheses when components links cannot be fully inferred from the input geometry. The CAD modelers have some limitations due to the topological conditions. In order to have solids, each edge must be adjacent to two faces and the surface must be closed. For example, a closed cylindrical surface is decomposed into two surfaces. As a consequence, before starting the contact identification function, the C++ algorithm generates the maximal partitions over the boundary of each component (Fig. 12). Thus, partitions having the same semantic parameters are merged, e.g. adjacent cylinders having the same axis and radius, adjacent planes having the same position and normal etc. a) b) Fig. 12. Example of maximal partitions generation; a) initial configuration, b) partitions obtained after merging operations It should be noted that all the exported/imported CAD models have been created within some tolerance. In order to take these into account, the partition merging module uses two tolerances: a linear and an angular one. At the end of this operator, a List with the Merged Partitions (LMP) is added into the data structure for the contact identification process. This list is then used by the contact identification function. In the next step, for the selected assembly components, the application generates a List of Bodies (LBiB) intersecting each other. For this reason, the bounding box of each component is used in order to check the intersection between bodies and for speeding up the process. Then, using the LMP, created by the partition merging operator, four Lists with possible Contacts (LpC) are created for each type of surface. At this point, having all the necessary information structured, the contact identification is performed. For each type of contact - at the moment only seven types of contacts (above mentioned) are detected, the surfaces from the LpC, which belongs to the bodies from the LBiB, are tested and a corresponding list is created. The contacts identification process is fully automated, the list with all the contacts being obtained in only three steps: model tessellation, surface merging and contacts identification. Any complete assembly, previously designed using CAD software, can be virtually checked or analyzed very quickly using the proposed method/algorithm. In order to illustrate our approach, the assembly of a standard Tube Cutting Device (Fig. 13) has been selected. The device was chosen because it is a common and relevant example and because it contains a sufficient number of components: body - 1 piece; blade - 1 piece; lamella - 1 piece, spacer - 1 piece, pivot (lame axis) - 1 piece, washer - 1 piece, portroller R - 1 piece, port-roller L - 1 piece, axis - 2 pieces, roller - 2 pieces, catch - 1 piece, steering worm (endless screw) - 1 piece, button - 1 piece, screw M5 - 1 piece, screw M4 - 2 pieces (different length) and screw M3 - 2 pieces (same length). Fig. 13. Tube cutting device Fig. 14. Initial configuration of the assembly Based on the method described before three steps must be followed in order to generate the list with all the contacts of the product; Figs. 14 and 15 show the complete assembly imported in the preparation model framework. Using all these data, the list with all the contacts for the Tube Cutting Device assembly is created. The results: 24 - Cylindrical joints (CLJ) and 31 - Planar fits (PLF), are presented in the Fig. 16. 5 DISCUSSION In order to identify the main requirements and techniques for a complete virtual assembly simulation platform, the current paper presents a critical analysis of the existing assembly analysis software, as well as of the assembly immersive simulation platforms. Moreover, several commercial 3D CAD software used for assembly modeling are discussed in terms of available geometric and kinematic information and interference detection options. Fig. 15. Partitions obtained after the merge operation igummiLWUBBi_ List of contacts found : Contacts found: 0 - Spherical Fit (RTL). Contacts found: 0 - Cylindrical Joint unidirectional (PGU). Contacts found: 24 - Cylindrical Joint (PVG) I Contacts found: 31 - Plane Fit (APP) I Contacts found: 0 - Linear Annular Fit (LNA). Contacts found: 0 - Cylindrical Joint partial (PVG-cp). Contacts found: 0 - Linear Annular Fit (LNA-cp). _Close_| Fig. 16. List of contacts for the tube cutting device An additional purpose of the present research was to determine what type of information related to components relative mobility is currently available and how it is used in existing software. This analysis helped defining a coherent software development pipeline, providing a list of mandatory features to be included in the platform, as well as a set of input/output information for each described module. The group of proposed modules should form an innovative environment which will offer design engineers the necessary tools for optimizing the assembly modeling process and for providing useful information for the whole product lifecycle, from design and fabrication to recycling. Finally, the first implementation of the proposed platform is presented. It contains only a set of functions developed to prove the feasibility of the proposed concepts. Further research will address all the assembly tasks: analysis, simulation and recycling. 6 ACKNOWLEDGEMENTS This work was supported by CNCSIS-UEFISCSU, project number PN-II RU 233/2010, project title: "Assembly/Disassembly Process Modeling", project type: "Research projects for stimulation of the founding/forming of young independent research teams". 7 REFERENCES [1] Boothroyd, G., Dewhurst, P. (1989). Product design for assembly. McGraw-Hill, New York. [2] Seth, A., Vance, J.M., Oliver, J.H. (2011). Virtual reality for assembly methods prototyping: a review. Virtual Reality Journal, vol. 15, no. 1, p. 5-20; D01:10.1007/ s10055-009-0153-y. [3] Wilson, R.H., Latombe, J.C. (1994). Geometric reasoning about mechanical assembly. Journal of Artificial Intelligence, vol. 71, no. 2, p. 371-396, D0I:10.1016/0004-3702(94)90048-5. [4] Caracciolo, R., Ceresole, E. (1997). Forward assembly planning based on stability. Journal of Intelligent and Robotic Systems, vol. 19, no. 4, p. 411-436, D0I:10.1023/A:1007928631050.s [5] Srinivasan, H., Gadh, R. (2000). Efficient geometric disassembly of multiple components from an assembly using wave propagation. Journal of Mechanical Design, vol. 122, no. 2, p. 179-184, D0I:10.1115/1.533567. [6] Kopena, J., Regli, W.C. (2003). Extensible semantics for representing electromechanical assemblies. Conference ASME - IDETC/CIE, Chicago. [7] Prakash, A., Tiwari, M.K. (2005). Solving a disassembly line balancing problem with task failure using a psycho-clonal algorithm. Conference ASME -IDETC/CIE, Long Beach. [8] Tseng, H.E., Chang, C.C., Cheng, C.J. (2010). Disassembly-oriented assessment methodology for product modularity. International Journal of Production Research, vol. 48, no. 14, p. 4297-4320, D0I:10.1080/00207540902893433. [9] Baldwin, D., Abell, T.E., de Fazio, T., Whitney, T.E. (1991). An integrated computer aid for generating and evaluating assembly sequences for mechanical products. Transactions on Robotics and Automation, vol. 7, no. 1, p. 78-94, D0I:10.1109/70.68072. [10] Kanai, S., Takahashi, H., Makino, H. (1996). ASPEN: computer-aided assembly sequence planning and evaluation system based on predetermined time standard. Annals of CIRP, vol. 45, no. 1, p. 35-39, D0I:10.1016/S0007-8506(07)63012-1. [11] Zha, X.F., Li, L.L., Lim, Y.E. (2004). A multi-agent intelligent environment for Rapid Assembly Design, planning and simulation. Conference ASME - IDETC/ CIE, Salt Lake City. [12] Léon, J.C., Rejneri, N., Debarbouillé, G. (2001). Assembly/disassembly simulation early during a design process. Conference ASME - IDETC/CIE, Pittsburg. [13] Brunetti, G., Schneider, P., Stork, A. (2005). Constraint-based virtual conceptual design. Conference Virtual Concept, Biarritz. [14] Toledo, F.F. (2005). A full immersive assembly & disassembly simulation using PTC/division reality. NIAR Virtual Reality Center, Wichita. [15] Wang, Q.H., Li, J.R., Gong, H.Q. (2006). A CAD-linked virtual assembly environment. International Journal of Production Research, vol. 44, no. 3, p. 467486, D01:10.1080/00207540500319294. [16] Garbaya, S., Colado, U.Z. (2007). The affect of contact force sensations on user performance in virtual assembly tasks. Virtual Reality Journal, vol. 11, no. 4, p. 287-299, D0I:10.1007/s10055-007-0075-5. [17] Jayaram, S., Jayaram, U., Kim, Y.J., de Chenne, C., Lyons, K.W., Palmer, C., Mitsui, T. (2007). Industry case studies in the use of immersive virtual assembly. Virtual Reality Journal, vol. 11, no. 4, p. 217-228, D0I:10.1007/s10055-007-0070-x. [18] Lim, T., Ritchie, J.M., Dewar, R.G., Corney, J.R., Wilkinson, P., Calis, M., Desmulliez, M. (2007). Factors affecting user performance in haptic assembly. Virtual Reality Journal, vol. 11, no. 4, p. 241-252, D0I:10.1007/s10055-007-0072-8. [19] Liu, Z., Tan, J. (2007). Constrained behavior manipulation for interactive assembly in a virtual environment. International Journal of Advanced Manufacturing Technology, vol. 32, no.7-8, p. 797-810, D0I:10.1007/s00170-005-0382-5. [20] Tching, L., Dumont, G., Perret, J. (2010). Interactive simulation of CAD models assemblies using virtual constraint guidance. International Journal on Interactive Design and Manufacturing, vol. 4, no. 2, p. 95-102, D0I:10.1007/s12008-010-0091-7. [21] Zhong, Y., Shirinzadeh, B., Ma, W. (2005). Solid modeling in a virtual reality environment. The Visual Computer Journal, vol. 21, no. 1-2, p. 17-40, D0I:10.1007/s00371-004-0268-9. [22] Siddique, Z., Rosen, D.W. (1997). A virtual product prototyping approach to disassembly reasoning. Journal of Computer-Aided Design, vol. 29, no. 12, p. 847-860, D0I:10.1016/S0010-4485(97)00034-1. [23] Paczelt, I., Baksa, A., Szabo, T. (2007). Product design using a contact optimization technique. Strojniški vestnik - Journal of Mechanical Engineering, vol. 53, no. 7-8, p. 442-461. [24] 3DS Dassault Systèmes - Solid Works Documentation, (2009). [25] 3DS Dassault Systèmes - CATIA User manual, (2009). [26] Siemens PLM Software - Solid Edge User guide, (2010). [27] Siemens PLM Software - Unigraphics NX User manual, (2010). [28] Kubotek Software - KeyCreator Reference manual, (2008). [29] Jon Peddie Research - CAD Report 2010, from: http:// jonpeddie.com/cad_report, accessed on 2011-08-10. [30] 0stojic, G., Stankovski, S., Vukelic, D., Lazarevic, M., Hodolic, J., Tadic, B., 0dri, S. (2011). Implementation of automatic identification technology in a process of fixture assembly/disassembly. Strojniški vestnik -Journal of Mechanical Engineering, vol. 57, no. 11, p. 819-825, D0I:10.5545/sv-jme.2010.131. [31] Iacob, R. (2010). Kinematic modeling of the component mobility for assembly and disassembly operations. PhD Thesis, Université de Grenoble, Grenoble.