a constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfa constraint manager...

9
A constraint manager to support virtual maintainability Marcelino, L, Fernando, T and Murray, N http://dx.doi.org/10.1016/S0097-8493(02)00228-5 Title A constraint manager to support virtual maintainability Authors Marcelino, L, Fernando, T and Murray, N Type Article URL This version is available at: http://usir.salford.ac.uk/917/ Published Date 2003 USIR is a digital collection of the research output of the University of Salford. Where copyright permits, full text material held in the repository is made freely available online and can be read, downloaded and copied for non-commercial private study or research purposes. Please check the manuscript for any further copyright restrictions. For more information, including our policy and submission procedure, please contact the Repository Team at: [email protected] .

Upload: phungdat

Post on 12-Mar-2018

250 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

A constraint manager to support virtual maintainability

Marcelino, L, Fernando, T and Murray, N

http://dx.doi.org/10.1016/S0097­8493(02)00228­5

Title A constraint manager to support virtual maintainability

Authors Marcelino, L, Fernando, T and Murray, N

Type Article

URL This version is available at: http://usir.salford.ac.uk/917/

Published Date 2003

USIR is a digital collection of the research output of the University of Salford. Where copyright permits, full text material held in the repository is made freely available online and can be read, downloaded and copied for non­commercial private study or research purposes. Please check the manuscript for any further copyright restrictions.

For more information, including our policy and submission procedure, pleasecontact the Repository Team at: [email protected].

Page 2: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

A Constraint Managerto Support Virtual Maintainability

Luis Marcelino Norman Murray Terrence FernandoCentre for Virtual Environments, University of Salford

Salford, U.K.{L.Marcelino,T.Fernando,[email protected]

AbstractVirtual prototyping tools have already captivated the industry's interest as a viable design tool. One of the keychallenges for the research community is to extend the capabilities of Virtual Reality technology beyond itscurrent scope of ergonomics and design reviews. The research presented in this paper is part of a larger re-search programme that aims to perform maintainability assessment on virtual prototypes. This paper discussesthe design and implementation of a geometric constraint manager that has been designed to support physicalrealism and interactive assembly and disassembly tasks within virtual environments. The key techniques em-ployed by the constraint manager are direct interaction, automatic constraint recognition, constraint satisfac-tion and constrained motion. Various optimisation techniques have been implemented to achieve real-time in-teraction with large industrial models.

Keywords

1. INTRODUCTIONModern markets not only urge companies to create betterproducts, but also force them to do so in increasinglyshorter time scales. The concept of Concurrent Engi-neering (CE) encourages companies to address issuessuch as maintenance very early in the design process.However, the lack of simulation tools hinders the adapta-tion of CE and therefore further research is required todevelop such tools. A development stage that is stilllacking the appropriate software tools is maintenancesimulation. The simulation of maintenance operationsallows maintenance to be addressed in early designstages. This reduces unforeseen problems creeping intothe design as it progresses through its life cycle, conse-quently saving both time and money while improvingproduct quality.

The Virtual Prototyping Group at the Centre for VirtualEnvironments at Salford has been investigating the ap-plicability of VR to interactive maintenance simulation.A system that can simulate realistic maintenance opera-tions interactively is demanded by the industry. Thisresearch inverstigates the use of virtual environments toassess maintenance operations before any physical proto-type is available. Besides speeding up the developmentprocess, the assessment of virtual models can also reducethe number of required physical prototypes. Such a toolhas the potential to reduce the time-to-market and thedevelopment cost.

Maintenance operations are usually performed in a re-stricted space within a limited timespan. The operator'smovements are often constrained by the surroundingcomponents and contacts and clashes between compo-nents are inevitable. Furthermore, the time required formaintenance needs to be controlled and minimized. Forthese issues to be considered in a maintenance simula-tion, the computer simulation needs to be realistic.

To achieve a real-time realistic simulation we use a geo-metric constraint approach. Geometric constraints arerelationships established between different geometricprimitives. These relationships constrain the movementof objects and determine the objects' kinematics. The useof geometric constraints has two advantages against thealternative physical simulation: it is less computationallyintensive, and only requires the information alreadyavailable in CAD models. The more accurate physicalsimulation needs extra information like mass, frictioncoefficient, etc.

This paper describes the development and implementa-tion of a Geometric Constraint Manager (CM). This con-straint manager is being used in real-time immersivevirtual environments such as the CAVE [Cruz-Neira-93]and the Workbench [Cutler97] to assess maintainabilityof virtual prototypes. The CM can recognize new con-straints, enforce existing constraints and validate appliedconstraints. It is part of a more complex VR system [Fer-nando00] [Fernando01] [Murray02] that supports assem-

Page 3: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

assembly and disassembly operations in immersive vir-tual environments.

The next section introduces some of the work done invirtual maintainability. Section 3 describes some of thissystem's functionality and Section 4 presents its architec-ture and implementation. The simulation of maintenancetasks using a real industrial model required the con-straint manager to be optimised as described in Section5. The CM performance using the industrial case studyis presented in Section 6. Section 7 discusses theachieved results and defines the orientation for futurework.

2. RELATED WORKThere have been several research efforts to develop as-sembly simulator environments and much work has beendone allowing users to compose scenes within virtualenvironments, such as 3DM [Butterworth-92], andJDCAD [Liang-94] which tackled many of the issuesinvolved in the interactive creation of 3D objects. Prob-lems with such systems are the absence of constraintswhen interacting with virtual objects. Users are restrictedto gross interactions and are unable to perform preciseobject manipulation [Mine97]. Systems that support con-straint based assembly of components provide the userwith the support required to position components pre-cisely in 3D space. There have been several researchefforts to investigate the development of assembly simu-lation environments. For example, Connachar et al.[Connacher96] [Jayaram99] describes a system calledVADE (Virtual Assembly Design Environment) inter-faced with the Pro/Engineer modelling environment. ACAD database is connected to the Open Inventor APIthrough Pro/Engineer Pro Develop Toolkit. In this sys-tem, direct interaction is supported through a Cyber-Glove. Fernando et al. [Fernando95], Fa et al. [Fa93],Munlin [Munlin95], and Thomson et al. [Thompson98],have developed an Interactive Constraint Based Assem-bly Modelling (ICBAM) environment to bring physicalrealism to the assembly simulation arena. Zachmann[Zach01] developed an assembly simulator that imple-ment some constrained motion based on the type of con-tact between objects.

Fernando et al. [Fernando95] describes the methods de-veloped for allowable motion and constraint recognitionwithin the system. Automatic recognition of constraintssuch as 'against', 'coincident', 'tangential', and 'concen-tric' are supported in their system. By reading constraintrelationships stored in a Relationship Graph, degrees offreedom can be computed so that the system can deter-mine the allowable motions for a given assembly part.The VR environment is implemented using the IRISInventor graphical toolkit. The system described by Fer-nando et al. [Fernando95] reported some shortcomings.They include, inability to support constraint propagationfrom child object to parent when the child object is beingmanipulated in the assembly, and the absence of a stan-

dard data translator for CAD data import into the virtualenvironment.

3. SYSTEM DEFINITIONThis section presents the functionality of the constraintmanager that was derived from its requirements. Theserequirements are based on previous experience buildingan assembly simulator [Wimalaratne01].

The development of a new constraint manager aimed tocreate an efficient and independent software toolkit thatcould be easily integrated into different virtual realitysystems. The requirements for this system were:

• Multi-platform (UNIX and windows)

• Scene graph independence

• Multiple constraint recognition

• Multiple constraint satisfaction

• Deletion of broken constraints

• Automatic constraint management

The communication between the constraint manager andthe main application uses a defined API with appropriatedata structures. The internal data representation is basedon private classes that are independent of any scenegraph. For this reason the VR system needs to insert intothe constraint manager each component's geometry, be-cause the constraint manager has its own internal datarepresentation. This allows the main application tochoose the objects that can be constrained. The virtualhand, for example, would not be inserted into the con-straint manager and therefore not be subject to geometricconstraints.

The constraint manager has two types of geometrynodes: objects and surfaces. An object is an entity thathas surfaces and can be moved. A surface is a face of anobject. The constraint manager supports parametric sur-faces and uses specific elements that define its paramet-ric equation. For example a point on the plane and itsnormal vector defines a planar surface while a point onthe cylinder axis, its direction and the radius of the cyl-inder value define a cylindrical surface. Besides surfacespecific elements, each surface has a bounding volume.This volume defines surface's borders because the equa-tions define limitless surfaces. The constraint managerhas no polygonal representation of surfaces because sucha representation is not relevant to the constraint man-agement process.

The constraint manager can recognize and apply differ-ent types of geometric constraints. A geometric con-straint is rule that determines the relative motion be-tween two surfaces. This rule reduces the degrees offreedom of the objects that contain the involved surfaces,constraining their motion. The constraint manager sup-

Page 4: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

ports the three different types of constraints illustrated inFigure 1.

(a) Against (b) Collinear (c) Concentric

Figure 1: Supported constraints

The constraint recognizer must also be able to validaterecognized and applied constraints. The validation is theprocess that determines whether a constraint is still validor is broken. A constraint is broken if the involved sur-faces attempt to move apart beyond a defined threshold.

The preferred way for the VR system to exchange datawith the Constraint Manager is through the use of lists.The VR system can send to the constraint manager a listof surfaces with constraints to be added and the con-straint manager can return a list of surfaces with therecognized constraints. Lists are a convenient communi-cation medium because they do not restrict the amount ofdata passed to and from the constraint manager and alist received from the constraint manager can be freelymanipulated by the application and then sent back to theconstraint manager.

The functionality of the constraint manager can be di-vided in three main tasks:

• To validate existing constraints and determinethe broken constraints;

• To enforce existing constraints and solve con-strained motion;

• To recognize new possible constraints.

This functionality can be combined to achieve threestage fully automated constraint manager. Once a com-ponent's transformation is passed to the constraint man-ager, the model is searched for possible broken con-straints that are removed. The remaining constraints areenforced and a resulting transformation computed. Oncein a position, the constraints manager searched for newconstraints between the moved component and the sur-rounding.

4. SYSTEM ARCHITECTUREThis section describes the architecture of the imple-mented constraint manager. Figure 2 shows a graphicalrepresentation of this architecture.

The constraint manager has a hierarchical data graphthat maintains all relevant information from objects andsurfaces. The data graph is available to all modules of

the constraint manager: the constraint solver, the con-straint recogniser and the filters. The constraint managermodules are independent and their interaction is definedby the application.

Figure 2: The Constraint Manager Architecture

4.1 The data-graphThe data graph is a hierarchical data structure thatmaintains the information relevant to the constraintmanager. It represents all the knowledge the constraintmanager has about the components within the virtualenvironment. This means the constraint engine has itsown insight of the virtual environment. Virtual objectsand surfaces that are not to be constrained are simply notadded to the constraint engine and so are not consideredduring the solving and recognition process.

The data graph is organized like a flat scene-graph withthe top-level nodes representing objects and the leaf-nodes representing surfaces. All objects and surfacesadded to the constraint manager are in the data graph. Adata graph's object is a node that has a list of surfacesand can be transformed. Valid transformations are trans-lation and rotation, but not scale. An object can be trans-formed through direct manipulation or as a result ofother object's movement. An object can be fixed in the3D space to prevent it from being moved.

4.2 The constraint solverThe constraint solver is the module that manages appliedgeometric constraints. The solver determines the trans-formations to be applied to unfixed objects so that ap-plied constraints are enforced. It is also the solver thatapplies new constraints, removes existing ones and fixobjects in the 3D environment. Underlying this moduleis D-Cubed 3D DCM[dcubed01] library that computesthe motion of constrained objects.

Page 5: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

The constraint solver maintains a list of the applied con-straints. Applied constraints are the constraints to beenforced and that condition objects' transformations.Constraints apply to surfaces of distinct objects only,because this library only supports rigid bodies. Thismeans that different surfaces of the same object are al-ways fixed relative to each other and no constraint canbe applied between them.

All transformations pass by the constraint solver. A newtransformation for an object means that this object isbeing moved from its current position to a new one. Thesolver determines whether this motion is possible or notand, if not, it computes an alternative position. An ob-ject's motion can also affect the position of other con-strained objects. The solver also computes the new posi-tion of constrained objects and updates these objects po-sition.

4.3 The constraint recognizerThe constraint recognizer identifies new possible con-straints and validates existing ones. The applicationspecifies a list of objects to be searched for new con-straints and possibly the surfaces to be tested for newconstraints. If the application can determine collisionsbetween surfaces, it can send those colliding surfaces tothe constraint recognizer. This speeds up the recognitionprocess because it cuts the number of surfaces to betested.

The constraint recognizer has two lists of recognizedconstraints. Figure 2 shows only one of these lists forclarity. One list has the new recognized surfaces whilethe other has the existing constraints that failed to berecognized. These list of constraints are returned to theapplication, which then decides what to do with them. Itis under the application's control to apply all, some ornone of the recognized constraints, as it can controlwhich constraints to break: all of those recognized, someof them or none of them.

The methods used for recognition of new constraints arealso used to validate existing constraints. The validationprocess is based on the principle that a recognizable con-straint is still a valid one. Validation takes place beforeexisting constraints are enforced, otherwise existing con-straints would always be recognized. Existing constraintsthat fail to be recognized are added to the list of brokenconstraint.

The constraint manager has a set of variables that definethe tolerance of the recognition process. These tolerancesdetermine the threshold under which constraints are rec-ognized and can be adjusted dynamically by the applica-tion. The three recognition tolerances are the linear tol-erance, the angular tolerance and the breaking factor.The linear tolerance is the maximum distance betweentwo surfaces (or axis if two cylinders are involved), theangular tolerance is the maximum angle between twosurfaces and the breaking factor is the scaling factor thatmultiplies the linear and angular tolerances when con-

straints are being validated. A breaking factor greaterthan 1 means it is easier to recognize new constraintsthan to break existing ones. Increasing the breaking fac-tor makes constraints more difficult to break.

The constraint recognition algorithm compares surfacesand verifies if their relative positions and orientationsare within the specified tolerances. The application de-fines a list of surfaces that the recognizer uses to searchpossible constraints. Alternatively objects can be insertedinto this list, in which case the recognizer searches allsurfaces of those objects for possible constraints. Therecognition process starts with a bounding box intersec-tion test. To include the tolerance in the bounding boxtest, both surface boxes are enlarged by half the tolerancevalues. If bounding boxes are overlapping, the surfacesrelative position and orientation is assessed to recognisepossible constraints.

A constraint is recognized between two planes when theangle between their normals is less than the angular tol-erance and that the distance between the planes is lessthan the linear tolerance. Two cylinders have a potentialconstraint when their axes make an angle within theangular tolerance and are less than the tolerance apart.The constraint between a plane and a cylinder is recog-nized if a plane's normal it perpendicular within the tol-erance to the cylinder's axis and if the distance betweenthe cylindrical and the planar surface is less than thelinear tolerance.

4.4 FiltersFiltering is required to reduce the number of recognizedconstraints to a minimum. It takes three constraints tocompletely fix an object to other. Filters are functionsthat selectively remove recognized constraints from theirlist. The need for a filtering mechanism was raised whenwe tested the constraint manager with industrial casestudies. These models do not have optimised surfacesand what could be one surface is sometimes a collectionof small surfaces of the same type. As a result, recogni-tion of geometric constraints often generates a largenumber of possible but redundant constraints. Filtersreduce the constraint list according to their criteria andare mutually independent. The application chooses whatfilters to apply to the list of recognized constraints and inwhich order.

Some of the filters currently provided by the constraintmanager include:

• Surface displacement: filters the constraint of aspecified type that have closer surfaces;

• Cylinder radius: remove concentric constraintsdetected between cylinders of different radii;

• Cylinder definition: removes duplicated cylin-drical constraints involving different cylindricalsurfaces with identical geometry;

• Constraint type: remove all constraints of aspecified type;

Page 6: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

5. SYSTEM OPTIMISATIONThe use of the constraint manager with real industrialcase studies revealed that the constraint manager did notscale up to support real industrial models. The modelsused by the industry are significantly more complex than

the models used during the implementation of the con-straint manager. The test model shown in Figure 3 in-volved assembling components with approximately 20surfaces each while the industrial case study involvedone

Figure 3: An interface to the Constraint Manager with the original model

component with more than 800 surfaces and others withmore than 50.

An assessment using the industrial case study revealedtwo bottlenecks in the constraint manager. One was therecognition process and the other was the transformationof objects. Using the industrial model the constraintmanager needed nearly 200 milliseconds to recognizeconstraints and 80 milliseconds to move constrainedobjects. Surprisingly the constraint solver also neededapproximately 70 milliseconds to move unconstrainedobjects. These two bottlenecks resulted in unacceptablylow frame rate.

Several techniques were implemented to improve theperformance of the constraint manager. This paper onlypresents the adopted solutions that are now part of theconstraint manager.

5.1 The recognizer optimisationThe constraint recognizer was integrated in a VR frame-work that was adding pairs of objects, instead of pairs ofsurfaces, into the list to be recognized. The recognizer

ognizer then created a list of surface pairs from all pos-sible surfaces combinations. One object with X surfacesand another with Y surfaces resulted in X*Y surfacepairs. Recognizing constraints between two componentsfrom the original model required 400 surface pairs to betested while with the industrial case study this numberincreased to 40000 surface pairs.

To reduce the number of surface pairs to be tested, spa-tial information was added to each surface. This spatialinformation aimed at reducing the number of surfaces tobe considered at a very low computational cost. For thisreason we implemented a flat data structure of axisaligned cells. The advantage of axis aligned regulargrids is their low computational load compared to ori-ented bounding boxes. This advantage is at expense ofaccuracy, but once the intention is to swiftly discard sur-faces that are clearly beyond the region of interest, itoffers a good compromise. Different bounding volumescould have been used which are described in the colli-sion detection literature [Jiménez01].

Page 7: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

The spatial filtering is a pre-processing step that is donewhen a component is added to the constraint manager. Abounding box is created for each component by addingthe bounding boxes of all its surfaces. The component'sbounding box is then divided into eight equal spatialcells and each surface is assigned to the spatial cells ituses.

Prior to recognising constraints between surfaces of twocomponents the recognizer determines which cells ofeach component are intersecting. This information isthen used to filter the surfaces pairs to be tested: onlysurfaces that are in intersecting cells are searched forpossible constraints.

The association of spatial information to surfaces re-duced considerably the number of surfaces to be consid-ered in the recognition of new constraints. Using thisnew implementation the recognizer does in less than 30milliseconds what previously took nearly 200 millisec-onds for the chosen industrial case study.

5.2 The solver optimisationAll components are transformed using the constraintmanager. The constraint manager receives a requestedtransformation and passes it to the solver. The solverdetermines the final transformation of objects enforcingapplied constraints. The performance assessment showedthat the 3D DCM library was using most of the time,even for unconstrained objects. The experiments alsorevealed that the time required to transform componentsdepended more on the complexity of the componentsthan on the applied constraints.

From the obtained results it was clear that to improve thesolver performance we needed to reduce the number ofsurfaces inserted into the 3D DCM. All componentsadded to the constraint manager are inserted into theDCM as bodies without surfaces. The data graph stillmaintains both objects and surfaces data and only infor-mation inserted into the 3D DCM library is simplified.Surfaces are only inserted into the DCM as required, i.e.when they are constrained. This way the DCM library isabstracted from the complexity of components and onlydeals with very simple bodies. As a result the perform-ance of the constraint solver now depends on the numberof applied constraints.

6. EXPERIMENTAL RESULTSThis section presents the performance results of the con-straints manager using a real industrial case study. Thethree main processing stages are assessed.

The computer used to this experiments was an SGIONYX2 with 128MB of RAM and two MIPS R10000CPUs clocked at 180Mhz. However, the constraint man-ager is single threaded and only one CPU was used at atime.

Figure 4: The Sener electronic box and its brackets

The model used in this experiment is a real case studyfrom Sener, one of our industrial partners. The modelhas one electronic box and four brackets where itclamps. Some pipes and tubes are also part of the modelbut were not constrained. The electronic box is a compo-nent that has 872 surfaces and each bracket has 275 sur-faces. This experiment consisted of the manipulation ofthe electronic box so it automatically recognizes con-straints with one of the brackets. Once the electronic boxclamps into the bracket it then moves along with theelectronic box because it is not fixed within the world.

Figure 5: Automatic constraints recognition of twocomponents with 872 and 275 surfaces.

The recognition process benefited significantly fromadding spatial information to surfaces. Figure 5 showsthat the time required to recognize constraints betweenthe electronic box and a bracket was reduced from morethan 180 milliseconds to 30 milliseconds.

Page 8: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

Figure 6: Time required transforming a component.

The time required to move objects was also reduced sig-nificantly due to the solver optimisation discussed insection 5.2. Figure 6 shows how the time to move theelectronic box relates with the applied constraints. The"static surface" shows the time when all surfaces areinserted into 3D DCM while the "dynamic surface"when only constrained surfaces are inserted into the 3DDCM. Besides showing the performance improvementachieved by dynamically adding surfaces Figure 6 alsoshows the time 3D DCM needs when constraints areapplied. This jump is due to the resetting of 3D DCMand happens every time constraints or geometries areadded into, or removed from the library.

Figure 7: Time to validate existing constraints.

The validation time was inferior to the other two proc-essing stages. Figure 7 shows that less than four milli-seconds are needed to positively validate 14 existingconstraints.

7. CONCLUSIONS AND FUTURE WORKThe results presented in the previous section demon-strate that the constraint manager can be used in interac-tive maintenance simulation of industrial models. Theinitial implementation of the constraint manager re-quired approximately 250 milliseconds per interactionfor fully automated constraint management and as a re-sult could not be used interactively. The optimised ver-

sion of the constraint manager needs approximately 50milliseconds to do the same job. We find this is an ac-ceptable simulation time given the complexity of theused components.

Despite the good results there is plenty of work to bedone to achieve a mature system that can be used as avirtual prototyping tool. Further improvements to theexisting constraint manager are now being considered.These improvements consist of developing a more effi-cient spatial data structure and applying filters before therecognition of new constraints.

8. ACKNOWLEDGEMENTSThis work has been supported by the EPSRC through ajoint project with Rolls-Royce, EDS Parasolid and D-Cubed.

We would like to thank to Sener for providing the casestudy used in these experiments.

9. REFERENCES[Butterworth-92] Butterworth, J., Davidson, A., Hench,

S., Olano, T., “3DM: A Three-Dimensional ModelerUsing a Head-Mounted Display”, ACM ComputerGraphics (1992 Symposium on Interactive 3DGraphics), Volume 25 (2), 1992, pp. 135—138

[Connacher96] Connacher, H. and Jayaram, S. and Ly-nos, K., “Integration of Virtual Assembly withCAD”, Symposium on Virtual Reality inManufacturing Research and Education, October1996, pp. 32—40

[Cruz-Neira-93] Cruz-Neira, C., Sandin, D., DeFanti,T., "Surround-Screen Projection-Based Virtual Real-ity: The Design and Implementation of the CAVE",Proceedings of the 20th annual conference on Com-puter graphics, Anaheim, USA, 1993, pp. 135—142

[Cutler97] Cutler, L and Froehlich, B. and Hanrahan, P.,"Two-Handed Direct Manipulation on the Respon-sive Workbench", Proceedings of the 1997 Sympo-sium on Interactive 3D Graphics, Providence, USA,April 1997

[dcubed01] D-Cubed, Ltd, “The 3D DCM Manual”, D-Cubed, Ltd, Version 2.5.0, August 2001

[Fa93] Fa, M., “Interactive Constraint-Based AssemblyModelling”, Ph.D. Thesis, School of Computer Stud-ies, University of Leeds, Sept, 1993

[Fernando00] Fernando, T, Marcelino, L, Wimalaratne,P, Tan, K, “Interactive Assembly Modelling within aCAVE Environment”, 9 Eurographics PortugueseChapter Meeting, February 2000, Marinha Grande,pp.43-49

[Fernando01] Fernando, T., Marcelino, L., Wimalaratne,P., "Constraint-based Immersive Virtual Environ-ment for Supporting Assembly and MaintenanceTask", Proceedings of Human Computer InteractionInternational 2001, New Orleans, USA, August 2001

Page 9: A constraint manager to support virtual …usir.salford.ac.uk/917/1/2023.1.pdfA constraint manager to support virtual maintainability ... A Constraint Manager to Support Virtual

[Fernando95], Fernando, T., Fa, M., Dew, P., Munlin,M., “Constraint-based 3D Manipulation Techniquesfor Virtual Environments”, Virtual Reality Applica-tion, Chapter 6, Academic Press, 1995, pp. 71—89

[Jayaram99] Jayaram, S., Jayaram, U., Wang, Y., Tiru-mali, H., "Data Sharing and Control in AEC Soft-ware Integration", IEEE Computer Graphics andApplications, November/December 1999

[Jiménez01] Jiménez, P., Thomas, F., Torras, C., “3DCollision Detection: A Survey”, Computers & Graph-ics, 25(2), 2001, pp. 269–285

[Liang-94] Liang, J., Green, “JDCAD: A Highly Interac-tive 3D Modeling System”, M. Computer & Graph-ics, Volume 18 (4), 1994, pp. 499—506

[Mine97] Mine, M., “A Meta-CAD System for VirtualEnvironments”, Computer-Aided Design, Volume 29(8), 1997, pp. 547—553

[Munlin95] Munlin, M., “Interactive Assembly Model-ling within a Virtual Environment”, Ph.D. Thesis,

School of Computer Studies, University of Leeds,September, 1995

[Murray02] Murray, N., Fernando, T., Aouad, G., “AVirtual Environment for the Design Simulated Con-struction of Prefabricated Buildings, to appear in theComputer-Aided Civil and Infrastructure Engineer-ing Journal

[Thompson98] Thompson, M.R, Maxfield, J.H., Dew,P.M “Interactive Virtual Prototyping”, Eurographics'98, April 1998, pp. 107-119

[Wimalaratne01] Wimalaratne, P., Fernando, T., “Sup-porting Assembly and Disassembly Operationsthrough Direct Manipulation within a Virtual Proto-typing Environment”,8Th ISPE International Con-ference On Concurrent Engineering: Research AndApplications, July 2001

[Zach01] Zachmann, G. and Rettig, A., "Natural andRobust Interaction in Virtual Simulation", Proceed-ings of the 8th ISPE international conference on con-current engineering, Anaheim, USA, 2001