Geometry Flip
The command GEOMETRY FLIP, which is used
to reverse the direction of the local Z-axis of a surface, has been enhanced. The
following new options have been added:
-
GEOMETRY FLIP set_name
-
GEOMETRY FLIP ALL
-
GEOMETRY FLIP CONSISTENT {set_name [ref_surface_name]} | ALL
-
GEOMETRY FLIP FOCAL {set_name [ref_surface_name] [focal_point]} | ALL
In consistent mode, the surfaces within a set are selectively flipped such that the
normals of topologically connected surfaces within that set are aligned in a consistent
manner. The effect of GEOMETRY FLIP CONSISTENT will be to orient the surfaces such
that their normals either (i) all point outwards, or (ii) all point inwards with
respect to the inside of a shell. A reference surface may be specified optionally
in order to select a reference normal that defines a sense of alignment. The reference
surface itself is never flipped. If no reference surface is specified, then the first
surface in the set is taken as a
default reference surface.
a) A set of inconsistently aligned surfaces, prior to a flip
b) A set of consistently aligned surfaces, after a flip
Figure 6: Example of using the GEOMETRY FLIP CONSISTENT command
In focal mode, the surfaces within a set are selectively flipped such that the normal
of each surface is aligned with a direction defined by the surface's 'focal vector'.
Compared to consistent mode, the sense of alignment (or otherwise) is determined
entirely by geometric information. In general, the result of a focal flip on a set
of surfaces is to redefine surfaces, where necessary, such that all the normals of
surfaces in the set are either (i) pointing away from a focal point, or (ii) pointing
towards a focal point. The focal point may be defined explicitly by the user as a
point name, or specified indirectly (the default) as the centroid of the set. A focal
vector is then associated with each surface in the set. The focal vector is taken
from the set's focal point to the centroid of the surface in question. For each surface,
a sense of alignment can then be determined by assessing the direction of the surface's
normal against its focal vector. Under a focal flip, a surface is flipped if its
sense of alignment is opposite to the sense of alignment of a reference surface.
The user may explicitly specify the reference surface, otherwise the reference surface
is taken as the first surface in the set.
Under certain circumstances, the alignment and location of the reference surface
with respect to the focal point may cause indeterminacy. This is the case where the
focal vector is perpendicular to the surface normal, and where the centroid of a
surface coincides with the focal point. In these cases, no flip is undertaken and
a warning message is issued.
In addition, the number of surfaces that have been flipped is reported. Also, any
prism that may be affected by the flip is examined. If the topology of the prism
has been compromised then a suitable error message is produced so that an immediate
UNDO can be effected.