Patent Publication Number: US-9898556-B2

Title: Immersive dimensional variation

Description:
BACKGROUND INFORMATION 
     Assembly of products having multiple parts and/or components can result in different product builds presenting dimensional variations, i.e., differences in placement, orientation, spacing, etc., of parts and/or components resulting from component manufacturing and product assembly. Dimensional variations affect not only the visual appearance and structural relationship of adjacent parts or components, but can affect the overall characteristics and quality of a product. The study of dimensional variations may be referred to as dimensional variation analysis (DVA). 
     Although dimensional variations can never be eliminated, particularly with respect to large and complex products such as vehicles, they can be controlled within an expected range. For example, the type of materials used in a part, expected range of dimensions of the part, a manner in which the part is attached to the product structure, and other factors may affect dimensional variations to which the parts may contribute. Accordingly, dimensional variations may be modeled to test product designs so that a product design ultimately used for manufacturing and assembly results in a product with dimensional variations that generally fall within the accepted range. 
     Unfortunately, mechanisms for visually representing possible dimensional variations are presently lacking. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates an exemplary system for providing an immersive virtual reality environment. 
         FIG. 2  illustrates further exemplary details of the system of  FIG. 1 , including elements for providing a virtual representation used to support evaluation of a dimensional variation analysis. 
         FIGS. 3A and 3B  illustrate respectively an exterior vehicle surface geometry and an interior vehicle surface geometry. 
         FIG. 4  illustrates an exemplary vehicle structural mesh. 
         FIG. 5  illustrates an exemplary dimensional variation analysis (DVA) mesh. 
         FIG. 6  illustrates an exemplary process for creating and using an immersive virtual environment including evaluation of varied geometries. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     I. System Overview 
       FIG. 1  illustrates an exemplary system  100  for providing an immersive virtual reality environment. The system  100  includes a virtual reality server  105  that generates a virtual world, e.g., in monoscopic or stereoscopic format, including a virtual reality environment and a virtual product such as a virtual vehicle  110 . A user may be given a view of the virtual world by using a display device  115 , and can thereby interact with the virtual world including the virtual vehicle  110 . The virtual world may be mapped to a physical environment. 
     In one implementation, the virtual reality server  105  may allow a user to view various elements or components of the virtual vehicle  110  in various combinations based on assumptions about component materials and manufacturing processes. For example, vehicle components such as a hood panel and a side panel of a vehicle body may be represented on the virtual vehicle  110 . Further, a user, by selecting an option with an input device, may be able to toggle or switch between various possible configurations of the components, e.g., a first configuration showing the hood panel and the side panel with a first amount of space between them based on one set of assumptions about materials and manufacturing processes, and a second configuration showing the hood panel and the side panel with a second amount of space between them based on a second set of assumptions about materials and manufacturing processes. In this way, a large number of potential configurations may, e.g., one at a time or side-by-side, be modeled and displayed to a user. 
       FIG. 1  illustrates a single server  105  and a single display device  115 . However, in some implementations, operations attributed herein to server  105  are performed by more than one computer server. Thus, the server  105  illustrated in  FIG. 1  may represent a single virtual reality server  105  or may collectively represent virtual-reality servers  105 . 
     Likewise, system  100  may include multiple display devices  115 , although one display device  115  is illustrated in  FIG. 1 . Thus, the system  100  may be configured to present different perspectives of a virtual world via different display devices  115 . For example, a first display device  115  could present a view of a front of a vehicle  105 , and a second display device  115  could present a view of a side of a vehicle  115 . For another example, a first display device  115  could be a head-mounted display worn by a user and presenting a stereoscopic view of a vehicle, and a second display device  115  could be two computer monitors, each presenting one of the two stereoscopic displays provided through the head-mounted display. In general, display device  115  may be a head-mounted virtual-reality display device presenting a stereoscopic view and possibly also audio. Alternatively or additionally, display device  115  may be a CAVE (CAVE Automated Virtual Environment), a Powerwall (i.e., a large high-resolution display wall used for projecting large computer generated images), a computer monitor such as a high definition television (HDTV), a laptop or tablet computer, etc. 
       FIG. 2  illustrates further exemplary details of the system  100 , including elements for providing a virtual representation used to support evaluation of a dimensional variation analysis. The system  100  is described in the context of modeling some or all of a vehicle, e.g., via a virtual vehicle  110 , but it is to be understood that the systems and methods presently disclosed have application to the design and manufacturing processes of many different products and are not limited to vehicle manufacturing. 
     The system  100  uses vehicle geometry information from various data stores, such as a vehicle surface geometry  205  and vehicle structural mesh data  210 , to generate a geometric model, or DVA mesh  215  representing vehicle structures of interest for dimensional variation analysis. The DVA mesh  215  is used to generate a DVA model  220 , according to DVA configuration parameters  225 . As discussed in more detail below, DVA configuration parameters  225  include factors relating to a vehicle assembly process, parts locating strategies, i.e., rules for installing parts in a vehicle structure, input tolerances, i.e., ranges of dimensional variations of respective parts and components included in the DVA mesh  215 , output measurements, i.e., locations and orientations where variations between adjacent components on a vehicle are to be simulated and reported in the DVA model  220 , and also output tolerances, which describe a range of permissible variation between adjacent vehicle components. Once generated, the DVA model  220  includes rules and parameters for different possible vehicle geometries, i.e., arrangements and relationships of vehicle parts and components. 
     System  100  further generates finite element analysis (FEA) model  230 , using DVA mesh  215 , and also at least some of the parameters used to generate DVA model  220 , such as factors relating to the vehicle assembly process and locating strategies. In general, an FEA model takes into account internal dimensional variations possible with respect to a part, e.g., because the part is made of a flexible, stretchable, or bendable material, may vary according to material properties, e.g., Young&#39;s modulus (also known as tensile modulus), Poisson&#39;s ratio (transverse strain to longitudinal strain), etc. 
     A varied geometry engine  235  uses DVA model  220  and FEA model  230  to generate varied geometries  240 . DVA model  220  may generally be applied to a multitude of different scenarios, i.e., a multitude of various dimensional variations between parts and/or components of a vehicle may be geometrically represented in varied geometries  240 . 
     A virtual world generator  245  maps the varied geometries  242  a virtual model of a vehicle, generally located in a virtual environment, and sometimes mapped to a physical environment. Accordingly, in addition to varied geometries  240 , virtual world generator  245  may receive input from a physical environment mapper  250 , a virtual model generator  255 , and/or a virtual environment generator  260 . 
     Immersive representation generator  270  uses a virtual world generated by virtual world generator  245 , along with virtual controls provided by a virtual controls selector  265 , e.g., according to program instructions included in immersive representation generator  270  to provide positioning and orientation in the virtual world, to provide a user with an immersive virtual representation of a vehicle from the user&#39;s perspective. 
     Further, immersive representation generator  270  may provide different user perspectives a virtual world according to a user selection, e.g., via a virtual controls selector  265 . For example, a user may be provided different perspectives of a virtual world according to different virtual heights of the user. That is, a user could be given a perspective of a virtual world that a 6′1″ tall person would have, and then, according to a selection of a virtual controls selector  265 , begin in a perspective of a virtual world that a 5′4″ person would have. The ability to provide different user perspectives advantageously allows a user to experience a virtual world, and a vehicle in the virtual world, from the perspective of people with differing virtual attributes. 
     II. System Components 
     A. Surface Geometries 
       FIGS. 3A and 3B  illustrate respectively an exterior vehicle surface geometry  305  and an interior vehicle surface geometry  310 . In general, surface geometries define the shape, form, and dimensions of visible product, e.g. vehicle, surfaces. A class-A surface geometry, such as illustrated in  FIGS. 3A and 3B , represents characteristics of curvature, tangency, and reflection quality that are aesthetically pleasing. Surface geometries are typically developed using a commercially available computer-aided design (CAD) or digital modeling software executable on a general purpose computer. Examples of commercially available CAD or digital modeling applications that may be used in developing surface geometries include: AutoStudio by Alias Systems, a subsidiary of Autodesk, Inc. of San Rafael, Calif., ICEM Surf by Dessault Systemes of France, and NX by Siemens PLM, of Germany. 
     Surface geometries such as geometries  305  and  310  are typically stored in what is sometimes referred to as a product data management (PDM) system that includes database system on a computer server. Examples of commercially available PDM systems include: TeamCenter Engineering by Siemens PLM, Windchill by Parametric Technology Corporation of Needham, Mass., and ENOVIA by Dessault Systemes. 
     Developing surface geometries is typically the first step in the geometric development of a vehicle. The production design of individual vehicle components is derived from surface geometries in either the partial form of the individual component or in the location and size of the individual component within the boundaries defined by a surface geometry. 
     B. Structural Mesh 
       FIG. 4  illustrates an exemplary vehicle structural mesh  405 . The mesh  405  is what is sometimes referred to as a finite element analysis (FEA) mesh. A structural mesh  405  defines physical and material properties of the structural components of a vehicle, as opposed to surface geometries  305  and  310 , which define surface characteristics of a vehicle and vehicle components. A vehicle structural mesh  405  is typically developed using commercially available FEA pre-processing software. Examples of commercially available FEA pre-processing software applications used in developing meshes  405  include Hypermesh by Altair Engineering Inc., of Troy, Mich., and Femap by Siemens PLM. 
     C. Dimensional Variation Analysis Mesh 
       FIG. 5  illustrates an exemplary dimensional variation analysis (DVA) mesh  215 . As mentioned above, vehicle surface geometry  205  and vehicle structural mesh data  210  may be used to generate DVA mesh  215 , which is a dimensional model representing vehicle structures of interest for dimensional variation analysis. Like vehicle structural mesh  405 , the mesh  215  is generally a finite element analysis (FEA) mesh. 
     A DVA mesh  215  may be used in a DVA model  220  to simulate the behavior of flexible, i.e., non-rigid components in a product such as a vehicle. DVA meshes  215  define the physical and material properties of flexible components and incorporate the geometric appearance properties of surface geometries  305  and/or  310  with a mesh density appropriate for immersive virtual reality evaluation. DVA meshes  215  are typically developed using a commercially available FEA pre-processing software application on a computer system such as Hypermesh by Altair Engineering, Inc. and Femap by Siemens PLM. 
     D. Dimensional Variation Analysis Model 
     DVA Model  220  is a computer-based representation of a mechanical system used to predict the effects of tolerance accumulation, e.g., the effects of part location, stiffness, interaction with other parts, etc. A DVA model  220  may be created using a commercially available tolerance analysis software application on a computer system, such as VA (variation analysis) software offered by Siemens PLM. 
     A DVA model  220  is defined in a hierarchical structure. The DVA model  220  may include geometric information of the components of the mechanical system, geometric information of the component features related to tolerance accumulation, tolerance limits of the features of the components of the mechanical system related to tolerance accumulation, a sequence of operations related to assembling the mechanical system, assembly operations used to locate and constrain components within the mechanical system, linear static FEA results data files containing displacement and reaction force information for the components of the mechanical system, and the measurement operations used to calculate variation and contribution to variation of features on components within the mechanical system. 
     Generation of a DVA model  220  begins with creation of VA model file on a computer system. Components of a mechanical system or created within the hierarchical structure of the VA model file. Then each component within the VA model is linked to a stored file containing the geometric data set of the component, e.g., CAD data for the component. 
     Next, for each component within the mechanical system, attributes related to tolerance accumulation are identified. These attributes may generally be categorized into one of two types: locating/constraining attributes or measurement attributes. Locating/constraining attributes are used to create linkages between components within the mechanical system. Measurement attributes are used in the measurement of tolerance accumulation. 
     Next, assembly operations are identified that locate and constrain components within the mechanical system. These constraints establish tolerance path linkages between components within the mechanical system. 
     Finally, measurement operations are identified to calculate variation and contribution to variation between product elements for specific areas of interest, e.g., overlap between product components such as a side panel and a side panel, a headlamp and a grill, etc. The resulting DVA model  220 , including tolerance accumulation attributes, measurement attributes, and assembly constraints, as well as the variation and contributions to variations resulting from measurement operations, may be used to produce varied geometries  235 , as discussed further below. 
     E. Finite Element Analysis Model 
     A finite element analysis (FEA) model  230  may be generated with a commercially available FEA pre-processing software application, such as Hypermesh by Altair Engineering. An FEA model  230  may be used to run an FEA simulation of the DVA mesh  215  to produce a linear static FEA results data file. The linear static FEA results data contains geometry and constraint information, i.e., information on the displacement of the nodes (geometry) and the reaction forces at the boundary conditions (constraints). The linear static FEA results data is used to simulate the bending and twisting behavior of compliant parts in the DVA model with respect to boundary conditions, physical properties, and material properties of the parts. 
     Operations performed to create an FEA model  230  may be as follows. The DVA mesh  215  is imported into a Hypermesh model file using a computer system. A set of boundary conditions is created first. The set of boundary conditions are the principle locators used to constrain the DVA mesh  215  in six degrees of freedom. Subsequent load sets are created to be unit forces that represent additional constraints to further locate or over-constrain the DVA mesh  215 . Next created are individual load cases of the individual load sets of unit forces with respect to the boundary conditions. For each of the individual load cases, an option may be selected to output the displacement and reaction forces for each load case. The FEA model  230  may be exported from Hypermesh as a NASTRAN (NASA Structural Analysis) ASCII (American Standard Code for Information Interchange) bulk data file in an FEA input file format such as is known. 
     The NASTRAN file may then be used to run the FEA model  230  to provide a results file that may be used in running the DVA model  220 , as described below. For example, the process of running a FEA model is performed using a commercially available FEA solution processing software application on a computer system, such as NASTRAN by MSC Software of Santa Ana, Calif. 
     The FEA model  230  is generally run using a linear static solution process. Operations to run an FEA model  230  may include the following. An FEA input file, e.g., such as may be exported from Hypermesh as described above, may be selected. A run command may be invoked, whereupon partial differential equations are created, and approximate solutions to the partial differential equations are determined for the displacement of the nodes in the model, and the reaction force at the boundary conditions specified by the model. Once all equations are solved the solution processing is complete and the software applications such as NASTRAN generates a linear static FEA results data file that is stored on the computer system. This file may be used as discussed below in running DVA model  220 . 
     F. Configuration Parameters 
     Various DVA configuration parameters  125  may be provided as inputs in generating a DVA model  220 , including those discussed in further detail below. 
     1. Assembly Process 
     “Assembly process” refers to the sequence of assembly and assembly tooling that is used to assemble components in a product such as a vehicle. The sequence of assembly is the order in which the components are assembled. The sequence of assembly can be documented in the form of a process flow chart of components and the order in which they are assembled. Process flow charts are typically developed using commercially available computer software applications such as Powerpoint, Excel, or Visio by Microsoft Corp. of Redmond, Wash. Process flow charts are typically stored in a data file format on a computer server or PDM. The sequence of assembly can also be documented in the form of a facility and tooling layout drawing. Facility and tooling layout drawings are typically developed using commercially available computer aided design (CAD) applications such as AutoCAD by AutoDesk. 
     The assembly tooling consists of: geometry setting fixtures, operator load-assist devices, joining equipment, and fastening equipment. The assembly tooling, in the form of the design of the assembly tooling, is typically developed using commercially available CAD applications such as Catia by Dessault Systemes, NX by Siemens PLM, or AutoCAD by AutoDesk; or some other software application. 
     2. Locating Strategy 
     Locating strategy refers to the features of a component that are used to position and constrain that component as it is assembled in a product such as a vehicle. The features identified as the being a part of the locating strategy are either engaged an assembly tool or engaged by adjacent component features that have been assembled to the vehicle. The locating strategy can be documented in the form of a generic standard locating strategy or a vehicle specific component locating strategy. 
     A generic standard locating strategy is typically documented using a commercially available computer software application such as Powerpoint or Visio by Microsoft. The generic standard locating strategy is typically the basis for developing the vehicle specific component locating strategy. 
     A vehicle specific component locating strategy is typically developed using a commercially available CAD application such as Catia by Dessault Systemes or I-DEAS by Siemens PLM; or using some other software application. 
     3. Input Tolerances 
     Input tolerances describe limits of permissible variations specified for a component feature with respect to the component locating strategy, limits of permissible variation specified for a dimension between component features, and/or limits of permissible variation specified between component locating features at stages of the assembly process. Input tolerances are typically documented and communicated in accordance with the ASME Y14.5 Dimensioning and Tolerancing Standard, promulgated by ASME (founded as the American Society of Mechanical Engineers) of New York, N.Y.). In accordance with the ASME Y14.5 standard, the limits of permissible variation can be expressed in the form of geometrical tolerances, limit tolerances, or plus-minus tolerances. 
     Input tolerances may be documented in a generic standard that applies to specific vehicle component designs, or documented explicitly on a CAD model as annotation for that specific vehicle component. Input tolerances in a generic standard are typically documented using commercially available computer software applications such as Microsoft Excel or Word. Input tolerances on a CAD model as annotation are typically developed using a commercially available CAD application such as Catia by Dessault Systemes or I-DEAS by Siemens PLM. 
     4. Output Measurements 
     Output measurements describe a location and orientation, between adjacent components on a product such as a vehicle, where variation will be simulated and reported in the DVA model  220 . Output measurements may be provided by placing a vehicle and/or vehicle parts into an XYZ coordinate system. Output measurements are typically defined using a planning document. For example, an exterior coordinate cut plane (CCP) drawing and interior CCP drawing may be used to document the location and orientation, in the XYZ coordinate system, between adjacent components on a vehicle, where variation will be simulated and reported in the DVA model  220 . The CCP may also serve other purposes related to component measurement planning and pre-production and production inspection planning CCP drawings are typically developed using commercially available computer software applications such as Powerpoint or Visio by Microsoft; or commercially available CAD applications such as Catia by Dessault Systemes or I-DEAS by Siemens PLM. 
     5. Output Tolerances 
     Output tolerances describe the limit of permissible variation specified between adjacent component features. In contrast to input tolerances, which describe possible variations in components, or in component locations during assembly process, output tolerances describe desired ranges of variation with reference to an XYZ coordinate system. That is, input tolerances may be accumulated with respect to various factors that can affect the component, e.g., component variations, locations, etc., and then compared to output tolerances to determine if variations measured by input tolerances are within a permissible range. 
     Output tolerance limits are typically expressed using plus-minus tolerance values. Exterior output tolerances may be developed using a system requirements document such as a surface requirement illustration document. The surface requirement illustration document is typically developed using a commercially available computer software application such as Powerpoint or Excel by Microsoft. Interior output tolerances may be developed using what may be referred to as a fit-and-finish document. The fit-and-finish document is typically developed using a commercially available computer software application such as Powerpoint or Excel by Microsoft. Both the surface requirement illustration document and the fit-and-finish document describe permissible variations at various locations of a product such as a vehicle, e.g., a gap between a hood and a side panel may be 4.5 millimeters plus or minus 2 millimeters, etc. 
     G. Varied Geometry and Varied Geometry Engine 
     Varied geometry engine  235  accepts as inputs a DVA model  220  and FEA model  230  to generate a plurality of varied geometries  240 . The plurality of varied geometries  240  results from running DVA model  220  in the varied geometry engine  235 . Each varied geometry  240  represents a set of possible conditions with respect to a product such as a vehicle. For example, varied geometry engine  235  may select different tolerance values for different vehicle components included in the DVA model  220  to generate various varied geometries  240 . Generally, the simulations provided by varied geometries  240  are generated by applying a Monte Carlo (i.e., random number) generation technique within a range of tolerances to values within range is provided by the DVA model  224  various vehicle components. As discussed below, varied geometries  240  are provided as input to virtual world generator  245 . 
     DVA model  220  may be run by a commercially available tolerance analysis software application on a computer system, such as VA by Siemens PLM. The DVA model  220  is typically run with a simulation of variation, i.e., how much a component may vary in position, and a simulation of contribution, i.e., how much a component contributes to a part&#39;s or product&#39;s overall variation in position. As mentioned above, the simulation of variation may be performed using a Monte Carlo technique to apply random variation to all toleranced features. 
     Accordingly, running a DVA  220  model may include the following operations. A DVA model  220  may be imported into the appropriate software application for running the model  220 , e.g., VA, mentioned above. A selection may be made to run Monte Carlo simulations. Upon invoking the run command, the software application generally initializes the model  220  which includes reading information in the FEA results data file to create a stiffness matrix for the flexible components in the model. Then some or all of the following may be used to calculate variation and contribution to variation of features on components within the mechanical system: the stiffness matrix, geometric information of the component features related to tolerance accumulation, tolerance limits of the features of the components of the mechanical system related to tolerance accumulation, the sequence of operations related to assembling the mechanical system, the assembly operations used to locate and constrain components within the mechanical system, and the measurement operations. 
     Non-nominal geometry is exported, i.e., as a varied geometry  240 , during the variation simulation as samples produce a result for a measurement operation that is defined as a condition for exporting the non-nominal geometry. That is, the software application running the model  220  may be configured to generate varied geometries  240  upon conditions related to certain ranges of variation of certain parts, a certain number of variations within a given range, etc. A goal of running the model  220  is to generate a number of varied geometries  240  to allow for meaningful evaluation of possible variations in a product as is manufactured, but not to generate so many varied geometries  240  as to present variations that are too close together to be useful, or are too many to evaluate. In any event, the non-nominal geometry is stored on the computer system where the DVA model  220  is being run as a varied geometry  240 . 
     H. Virtual World Generator 
     In addition to varied geometries  240 , virtual world generator  245  receives inputs from physical environment mapper  150 , virtual model generator  155 , and virtual environment generator  260 . Virtual world generator  245  in turn provides a virtual reality environment to immersive representation generator  270 , which allows a user to select different views of a product such as a vehicle using controls provided by virtual controls selector  265 , based on varied geometries  240 . As mentioned elsewhere herein, certain elements disclosed in this specification may be implemented according to computer executable instructions stored on a computer readable medium. For example, some or all of the elements described in this paragraph, such as virtual world generator  245 , may be provided according to computer executable instructions stored and executed on virtual reality server  105 . 
     I. Physical Environment Mapper 
     Physical environment mapper  250  is an optional component that is used to register a virtual reality coordinate system to real world, i.e., physical, objects. For example, a vehicle mockup may be provided with various points such as seats, a dashboard, steering wheel, instrument panel, etc. Accordingly, to allow a user of display device  115  to interact with the virtual world provided by virtual world generator  245  and immersive representation generator  270 , physical environment mapper  250  may be used to map points in a physical mockup of a vehicle to a coordinate system used by the virtual world generator  245 . For example, points may be oriented with respect to the ground, and may include vehicle points based on vehicle dimensions such as height of the vehicle from the ground, height of doors, interior width at various points, etc. Further, coordinate system used by physical environment mapper  250  may include a mechanism for scaling a virtual world to properly mapped to the coordinate system for the physical world. 
     J. Virtual Model Generator 
     Virtual model generator  255  provides a virtual model of a product such as a vehicle so that a complete product model may be provided in the virtual world generated by virtual world generator  240 . That is, varied geometries  240  generally only feature areas of interest on a product, i.e., a subset of the product, whereas for a complete virtual reality experience it is desirable to provide a substantially complete rendering of a product. Virtual model generator  255  makes use of what is sometimes referred to as a nominal geometry, i.e., a geometry that provides all of the basic elements of a product such as a vehicle. Further, virtual model generator  255  may use what is sometimes referred to as an appearance database, i.e., a data store of various textures, shaders, etc., that may be applied to a product such as a vehicle. For example, a vehicle may be modeled with leather seats and a tan interior, cloth seats and a black interior, etc. Numerous different components of a vehicle may have different textures, colors, etc. In addition, the nominal geometry includes coordinate information for various product components. 
     K. Virtual Environment Generator 
     Virtual environment generator  260  is used to generate aspects of a virtual world other than a product, e.g., a vehicle, representation. For example, virtual environment generator  260  receives input with respect to lighting in a virtual world, illustrates shadows and reflections, and provides perspective. With respect to lighting, ray tracing, which calculates how light bounces from one surface to another, may be important, and may enhance a virtual representation. With respect to perspective, virtual environment generator  260  may provide a perspective for a person of a certain height. As mentioned above, immersive representation generator  270  may make available different perspectives in a virtual environment. 
     In addition, virtual environment generator  260  may control what is sometimes referred to as a variation mapping. That is, different varied geometries  240  may be selected to be applied to a virtual model created by virtual model generator  255 . Further, different virtual models, e.g., according to different nominal geometries, may be provided by virtual model generator  255  and mapped to different varied geometries  240 . 
     L. Virtual Controls Selector 
     Virtual controls selector  265  provides a mechanism for selecting controls of an input device, e.g., keyboard, mouse, pointing device, etc., that can be used to select various events in the virtual world provided by virtual world generator  245 . For example, various keys of the keyboard may be mapped to toggle the display of different varied geometries in the virtual world. A first varied geometry may represent a first positioning of a product components, such as a side panel, while a second varied geometry may represent a second positioning of the side panel. A key of a keyboard may be selected to toggle between the first and second varied geometries to allow a user of the virtual reality system  100  to evaluate the difference in product appearance represented by the first varied geometry and the second varied geometry. 
     L. Immersive Representation Generator 
     Immersive representation generator  270  combines the virtual world provided by virtual world generator  245  with virtual controls provided by virtual controls selector  270 , taking into account the location of the user within the virtual world, and the continuously updated position and orientation of the view of the user in the physical world, to provide an immersive representation of a product such as a vehicle. Accordingly, a user, e.g., using display  115 , can experience the generated virtual world, and can control aspects of the virtual world using provided virtual controls. The representation is described as immersive because the user generally has no other visual experience other than a view of the virtual world provided by the system  100 . 
     III. Process Flow 
       FIG. 6  illustrates an exemplary process  600  for creating and using an immersive virtual environment including evaluation of varied geometries  240 . 
     The process  600  begins in a step  605 , in which DVA mesh  215  is created by a combination of surface geometry  205  and structural mesh  210 . As mentioned above, the DVA mesh  215  generally represents a portion of a product such as a vehicle, e.g., a side of a vehicle, a front-end, a portion of interior, or some other area or set of components of interest. 
     Next, in step  610 , a DVA model  220  is created from the DVA mesh  215  using configuration parameters  225 . As discussed above, DVA model  220  includes a dimensional model of at least a portion of a product, e.g., a vehicle, and includes a range of possible conditions with respect to at least one component, and generally a plurality of components, in the product. 
     Next, in step  615 , the DVA mesh  215  is used to create an FEA model  230 . 
     Next, in step  620 , varied geometry engine  235  is used to run the DVA model  220 , using the FEA model  230 , to create varied geometries  240 . Thus, the dimensional model represented by DVA model  220  is used to create a set of geometries, e.g., varied geometries  240 , for the product, where a varied geometry  240  is a representation of at least a portion of the product, wherein each of the geometries corresponds to one or more of the conditions included in the DVA model  220  as discussed above. 
     Next, in step  625 , virtual model generator  255  is used to create a virtual model of a product, e.g., a vehicle. That is, as mentioned above, DVA model  220  generally includes only a portion of a vehicle, and therefore virtual model generator  215  is used to create a complete vehicle model for use in a virtual world. 
     Next, in step  630 , virtual environment generator  260  is used to create a virtual environment in which the model created in step  625  may be included. 
     Next, in step  635 , virtual controls selector  265  is used to create virtual environment controls, sometimes referred to as immersive controls, for use when viewing a virtual model of a vehicle. 
     Next, in step  640 , physical environment mapper  250  is used to match a physical world associated with the virtual environment created in step  630 . That is, a coordinate system is imposed on a physical environment with points that may be mapped to the virtual environment. 
     Next, in step  645 , physical environment mapper  250  maps the physical world to the virtual environment. Note that, as mentioned above, mapping the virtual environment to a physical environment is optional, and may be omitted in some implementations. 
     Next, in step  650 , virtual world generator  245  aligns all data to be included in the virtual world. For example, after the physical world is mapped to the virtual environment, the virtual model generated as discussed with respect to step  625  must be placed in the virtual environment. Further, immersive controls used to toggle various views in the virtual world must be mapped to the coordinates, and the varied geometries  240  associated with the immersive controls. 
     Next, in step  655 , immersive representation generator  270  generates an immersive representation that may be experienced by a user of display  115  and/or virtual reality server  105 , server  105  including instructions such as those mentioned above for tracking position and/or orientation. For example, generator  260  may provide a virtual representation of a vehicle that includes a first one of the varied geometries  240  generated as described above in step  620 , and then, upon receiving an input requesting a second one of the geometries  240  generated as described above in step  620 , may display the requested second one of the geometries  240 . 
     Following step  655 , the process  600  ends. 
     IV. Conclusion 
     Computing devices such as virtual reality server  105 , etc. may employ any of a number of computer operating systems known to those skilled in the art, including, but by no means limited to, known versions and/or varieties of the Microsoft Windows® operating system, the Unix operating system (e.g., the Solaris® operating system distributed by Oracle Corporation of Redwood Shores, Calif.), the AIX UNIX operating system distributed by International Business Machines of Armonk, N.Y., the Linux operating system, Apple OS-X Operating Systems, and/or Mobile Operating Systems. Computing devices may include any one of a number of computing devices known to those skilled in the art, including, without limitation, a computer workstation, a desktop, notebook, laptop, tablet computer, smartphone, or handheld computer, or some other computing device known to those skilled in the art. 
     Computing devices such as the foregoing generally each include instructions executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies known to those skilled in the art, including, without limitation, and either alone or in combination, Java™, C, C++, Visual Basic, Java Script, Perl, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of known computer-readable media. 
     A computer-readable medium includes any medium that participates in providing data (e.g., instructions), which may be read by a computer. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes a main memory. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Transmission media may include or convey acoustic waves, light waves and electromagnetic emissions, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. 
     With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claimed invention. 
     Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the arts discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the invention is capable of modification and variation and is limited only by the following claims. 
     All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those skilled in the art unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.