used to rotate, pan, and zoom the view and also to
set the visibility and transformation of parts. Finally,
the text action is used to add text mark-up to the
view, either anchored to a part or unanchored.
In our application, the assembly simulation at
each event coincides with an assembly step as
defined in the assembly hierarchy. Each event
should thus contain at least linear path actions which
implement a real assembly path and a snapshot
action to establish the initial layout of the assembly
step. In this way, it is possible to execute each
assembly step separately from others. It is important
to remark that the layout of a given step is obtained
from the end of the execution of the previous step.
As an option, an event can contain text and camera
actions to ease up the understanding and
visualization of the assembly simulation.
Another important action for motion simulation
is the action addressed to execute VFM files. These
are files containing a set of discrete positions of the
part to be moved, without interpolation among the
points representing the position of the part. There are
several ways to obtain a VFM file, for instance by
applying transformation on the part and capturing its
position or by using an automated functionality
provided by VisMockUp (called “path planning”).
This functionality identifies extraction paths for
parts or assemblies that need to be removed from
models for maintenance reasons. In particular, this
functionality generates a collision-free extraction
path in the form of a VFM file by specifying the
parts to be extracted and the parts to be avoided, and
a set of “key positions” of extracted parts. The key
positions must be at least two: a “start” position and
an “end” position. Intermediate positions can also be
defined to constrain the path direction. However,
there are several limitations in the use of VFM files.
In particular, they cannot be edited once defined and
it’s not possible to simplify them through
interpolation. We have also used the “path planning”
functionality to discover if a de-assembly path exists
for a particular component and then to establish
manually the related assembly path though the use
of the linear path action.
Once the initial layout of an assembly step has
been defined (snapshot action), it is possible to
define the assembly paths through the use of a linear
path action. A path consists of a series of control
points (nodes) connected by segments. There are
several ways to add a control point to a path: a) by
picking points directly on the 3D model (a feature
called pick mode); b) by using a dedicated node
creation panel; or c) by selecting the component to
be moved along the path and applying directly on
transformations.
The control of one point’s coordinates is
obtained through the use of a manipulator or
transformation window (figure 4) in which it is
possible to precisely characterize the current
manipulator‘s position and orientation. Since the
manipulator and the part coincide, this also
determines the part’s position (x, y, z) and its spin
angles (θ
x
, θ
y
, θ
z
) which refer to a reference
coordinates’ system defined in the NX CAD
environment. VisMockUp doesn’t allow to estimate
the path duration time, which has been therefore
deducted based on the results of the DFA analysis.
Figure 2: Manipulator and transformation window.
Once an assembly path for the components is
established, they undergo a test for clearance
analysis. Clearance analysis identifies points of
contact and/or penetration among parts or groups of
parts. We can define clearance as the distance
between a pair of items in which there is no physical
interference. VisMockUp allows to specify a
clearance distance. All the items below this distance
(including contacts and penetrating items) are
identified and signalled to the user. VisMockUp
allows both static and dynamic clearance detection.
By setting the dynamic clearance analysis option,
when components are selected and the path
associated with them is executed, all the parts that
are within a predefined range from active parts are
analyzed. For the clearance analysis, we have
imposed to the calculator to use NURBS for the
calculation of the points of contact in order to obtain
a better approximation respect to the JT tessellated
data.
If a collision occurs, the colliding path has to be
modified in order to make it collision-free. There are
some collisions which are acceptable and that the
engineers should be capable to identify (e.g. a screw
that collides with its screwed hole).
To make the assembly simulation more reliable,
we also developed the tools used in the assembly
process. In particular, the tools have been modelled
in NX CAD environment, according to the Italian
UNI standard and using NX parts families. For each
ASSEMBLY SIMULATION THROUGH A DIGITAL MOCK-UP APPLICATION
495