Next
Previous
Contents
This section describes NURBS curve and surface related modelling
tools.
All NURBS modelling tools are accessible via the "Tools"
menu of the
main window or the toolbox. In addition, there are also corresponding
scripting interface commands.
Many modifying tools work on multiple selected objects and execute
the selected operation on all those selected objects in the order
of their appearance in the current level.
Tools that take only NURBS curves or only NURBS surfaces from the selection
will warn if the selection contains objects of unsuitable type,
but processing will continue.
In case of an error, however, the processing of multiple selected
objects immediately stops possibly leaving modified and
unmodified objects behind.
If an operation executed successfully on an object, the selected
points will be removed from the object. Then the notification
of the object will be run. The notification of the parent object(s)
will be run after processing of all selected objects finished.
B-Spline Curves Created by the Circular B-Spline Tool
- Arguments: Radius, Arc, Sections, Order.
- Operation: This tool creates a non-rational B-Spline curve with
Sections+1+Order (Arc=360.0) or Sections+1+(Order/2) (other Arc values)
control points in the XY plane. The control points
are arranged in a circle of the given radius, centered around the origin.
This gives the curve a circular appearance (see image above) but it
is not a true circle:
If only few control points are used, the radius of the circular curve
is clearly smaller than the specified radius value (see the left curve
in the image above).
Furthermore, shape, parameterisation, and curvature of the
B-Spline curve are not exactly as one would expect from a circle.
To create true circular curves, the NURBCircle tool (see below) should
be used instead.
- Note: Sections must be atleast 1. If Arc is 360.0, the first
n control points of the new curve will be identical to the last n
(where n is Order-1). Compare the left and middle curves in the image
above which are of order 4 and 2 respectively, the first having
3 and the latter just having 2-1=1 equal control points.
If Arc is 360.0, the curve will also be marked periodic and the
generation of multiple points will be enabled, so that point edit
actions know that they may need to move two points
(see also section
Multiple Points).
If Arc is smaller than 360.0, the curve will be open, and, as is natural
for a B-Spline curve, will not interpolate the first and last control
points unless the order is 2 (see the right curve in the image above,
which was created with an arc value of 180.0, 10 sections, and order 4).
A NURBS Circle
- Arguments: None
- Operation: The TrimRect tool creates a non-rational,
two-dimensional piecewise
linear NURBS curve of rectangular shape in the XY plane, that fits in
the (u,v) parameter space of a NURBS patch, for use as trim curve.
- Note: To fit the curve to the parameter space of a NURBS patch,
the NURBS patch object should be selected or the current level should be
inside the NURBS patch.
If no NURBS patch object is selected and the current level is not inside
a NURBS patch, a curve with the coordinates (-1,-1), (-1,1), (1,1),
and (1,-1) will be created instead.
Additionally, the created curve will be marked as closed and the generation
of multiple points will be enabled, so that point edit actions know that
they may need to move two points.
See also section
Multiple Points.
See section
Trim Curves for a more detailed
discussion of trim curves and how to use the rectangular curve created
by the TrimRect tool.
- Arguments: None.
- Operation: The NURBSphere tool creates a half circle NURBS curve
and revolves it about the Y axis thus forming a sphere of radius 1.
- Note: The NURBS curve is deleted afterwards.
- Arguments: None.
- Operation: The NURBSphere tool creates a Cobb-NURBSphere,
consisting of six NURBS patches.
- Note: The NURBS patches are of high order (5).
- Arguments: The revolve tool takes the selected objects from
the selection.
- Operation: The tool creates a Revolve object, and moves
the selected objects to it.
|-NCurve ==> +-Revolve
\-NCurve
- Note: See section
Revolve Object
for more information regarding the revolve object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The extrude tool takes the selected objects from
the selection.
- Operation: The tool creates an Extrude object, and moves
the selected objects to it.
|-NCurve +-Extrude
|-NCurve ==> |-NCurve
\-NCurve
- Note: See section
Extrude Object
for more information regarding the extrude object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The sweep tool takes the selected objects from
the selection.
- Operation: The tool creates a Sweep object, and moves
the selected objects to it.
|-NCurve +-Sweep
|-NCurve ==> |-NCurve
\-NCurve
- Note: See section
Sweep Object
for more information regarding the Sweep object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The cap tool takes the selected objects from
the selection.
- Operation: The tool creates a Cap object, and moves
the selected objects to it.
|-NCurve +-Cap
|-NCurve ==> |-NCurve
\-NCurve
- Note: See section
Cap Object
for more information regarding the Cap object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The birail1 tool takes the selected objects from
the selection.
- Operation: The tool creates a Birail1 object, and moves
the selected objects to it.
|-NCurve +-Birail1
|-NCurve ==> |-NCurve
|-NCurve |-NCurve
\-NCurve
- Note: See section
Birail1 Object
for more information regarding the Birail1 object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The birail2 tool takes the selected objects from
the selection.
- Operation: The tool creates a Birail2 object, and moves
the selected objects to it.
|-NCurve +-Birail2
|-NCurve |-NCurve
|-NCurve ==> |-NCurve
|-NCurve |-NCurve
\-NCurve
- Note: See section
Birail2 Object
for more information regarding the Birail2 object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The gordon tool takes the selected objects from
the selection.
- Operation: The tool creates a Gordon object, and moves
the selected objects to it.
|-NCurve +-Gordon
|-NCurve |-NCurve
|-NCurve ==> |-NCurve
|-NCurve |-NCurve
\-NCurve
- Note: See section
Gordon Object
for more information regarding the Gordon object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The skin tool takes the selected objects from
the selection.
- Operation: The tool creates a Skin object, and moves
the selected objects to it.
|-NCurve +-Skin
|-NCurve ==> |-NCurve
|-NCurve |-NCurve
\-NCurve
- Note: See section
Skin Object
for more information regarding the Skin object.
This tool uses the object clipboard to move the objects so that the
original clipboard contents are lost when this tool finishes.
- Arguments: The revert tool takes all NCurve,
ICurve, and ACurve objects from the selection.
- Operation: The direction of the selected curves will be
reversed. This tool also reverts the relative knot distances
of NURBS curves
so that a NURBS curve defined on the (asymmetric) knot vector
"0.0 0.0 0.0 0.75 1.0 1.0 1.0"
will get the knot vector
"0.0 0.0 0.0 0.25 1.0 1.0 1.0"
after reversal. This ensures that the shape of a NURBS curve does not
change during reversal. Interpolating and approximating curves may
change their shape as the underlying interpolation/approximation
algorithms are not direction-invariant.
- Note: The direction of a curve is shown as
a small arrow at the end of the curve.
Eventually selected points will still be selected after this
operation.
See also the documentation of the corresponding
scripting interface command
revertC.
- Arguments: The concat tool takes two NURBS curves from
the selection.
- Operation: The selected NURBS curves will be concatenated
and a new third curve will be created.
|-NCurve |-NCurve
|-NCurve ==> |-NCurve
|-NCurve
- Note: If one of the curves has weights, the resulting curve
will have weights too. If the knot type of the first curve
is
"Custom"
, it will be converted to "NURB"
, otherwise the
knot type of the new curve will be that of the first selected curve.
Due to those changes of the knot values, the resulting curve might
differ from the original curves.
The original NURBS curves will not be deleted by this tool.
See also section
ConcatNC Object.
Split Tool (left: original curve, right: resulting split curves
for t=0.5)
- Arguments: The split curves tool takes a single NURBS curve from
the selection and additionally requests a parametric value.
- Operation: The selected NURBS curve will be split into two
new NURBS curves at the designated parametric value. The splitting process
involves application of knot insertion, so that both new curves will
get a custom knot vector.
|-NCurve ==> |-NCurve
|-NCurve
- Note: The original selected NURBS curve will be changed and
form the first of the two new curves, so you may want to keep a copy
of it somewhere.
See also the documentation of the corresponding
scripting interface command
splitNC.
Trim Tool (left: original curve, right: resulting trimmed curve for
umin=0.1, umax=0.5)
- Arguments: The trim curves tool takes all selected NURBS curves from
the selection and additionally requests two parametric values, umin and umax.
- Operation: The selected NURBS curves will be trimmed to the
designated parametric range (umin, umax).
- Note: The trimming process involves the application of knot insertion
so that the curves will get a custom knot vector.
See also the documentation of the corresponding
scripting interface command
trimNC.
Successive Application of Elevate Tool (Order 3 (left), 4 (middle),
5 (right))
- Arguments: The elevate tool takes a number of NURBS curves from
the selection and additionally requests an integer value.
- Operation: The order of the selected NURBS curves will be raised
by the specified integer value without changing the shape of the curve.
- Note: If the knot vector of the curve is not clamped, it
will be clamped automatically. The knot type of the curve will
be changed to custom. New control points will be added and the position
of old control points may be changed in the progress.
See also the documentation of the corresponding
scripting interface command
elevateNC.
Successive Application of Refine Tool
- Arguments: The refine tool takes a number of NURBS curves from
the selection.
- Operation: The selected NURBS curves will be refined by inserting
a control point in the middle of each control point interval, changing
the shape of the curve. The original control points will not be changed.
For periodic curves, no control points will be inserted in the last p
intervals, this allows to maintain the periodicity, see also the
image below where a periodic curve of length 9 (8 sections) has been
refined, resulting in a periodic curve of length 15 (not 17).
Refining a Periodic Curve
If there are selected points, only the intervals between the first
and the last selected point are refined.
- See also the documentation of the corresponding
scripting interface command
refineNC.
Successive Application of Refine Knots Tool
- Arguments: The refine knots tool takes a number of NURBS curves from
the selection.
- Operation: The knot vectors of the selected NURBS curves will be
refined by inserting a knot in the middle of each inner knot interval
without changing the shape of the curve.
- Note: Because a new knot is inserted in the middle of
each interval, knot vectors of type NURB and B-Spline will
not change in type. See the image above for an example of a
successive refinement of a simple NURBS curve. Note that the shape
of the curve does not change, but the position of
certain control points does.
See also the documentation of the corresponding
scripting interface command
refineNC.
Successive Application of Coarsen Tool
- Arguments: The coarsen tool takes a number of NURBS curves from
the selection.
- Operation: Every second control point in the control vectors of
the selected NURBS curves will be deleted.
- Note: For periodic curves the coarsen tool will not remove
control points from the first (last) p intervals (where p is the degree
of the curve).
For closed curves, the coarsen tool will not remove the last point.
The coarsen tool will also remove knot values from curves with
custom knot vectors.
See also the documentation of the corresponding
scripting interface command
coarsenNC.
Clamp Tool (left: original curve, right: clamped curve)
- Arguments: The clamp tool takes a number of NURBS curves from
the selection.
- Operation: The knot vectors of the selected NURBS curves will be
changed using knot insertion so that the first and the last knot
have a multiplicity equal to the order of the curve,
without changing the shape of the curve. The curve will
interpolate the first and the last control point afterwards.
- Note: The knot type of the curves will be changed to
"Custom"
.
The point selection will be removed from the original objects.
In Ayam versions prior to 1.18 it was an error if the curve was already
clamped at either side, this is no longer the case.
Furthermore, curves with multiple knots in the end region(s) could not be
clamped, this works ok now.
See also the documentation of the corresponding
scripting interface command
clampNC.
Insert Knot Tool (left: original curve, right: a knot has been
inserted 1 time at t=0.5)
- Arguments: The insert knot tool takes a number of NURBS curves from
the selection and requests two additional values, a parametric value t
and an integer value i.
- Operation: The specified knot (t) will be inserted i
times into the knot vector of the selected curves, without changing the
shape of the curve(s).
- Note: The knot type of the curves will be changed to
"Custom"
.
The point selection will be removed from the original objects.
See also the documentation of the corresponding
scripting interface command
insknNC.
Remove Knot Tool (left: original curve, right: the knot at t=0.5 has been removed 1 time)
- Arguments: The remove knot tool takes a number of NURBS curves from
the selection and requests three additional values, a parametric value t,
an integer value i, and a tolerance tol.
- Operation: The specified knot (t) will be removed i
times from the knot vector of the selected curves if the shape of the
resulting curve does not deviate more than tol from the original curve
in any point. Since Ayam 1.20
the knot to remove may also be specified using its (zero based)
index in the knot vector (by entering -i index instead of a parametric
value t, i.e.
"-i 4"
instead of "0.5"
).
If the knot can not be removed r times due to the tolerance, an
error is reported and the original curve is left unchanged.
- Note: If tol is
"Inf"
(infinity) the tool tries to work without
changing the shape of the curves, however, this is not guaranteed.
The point selection will be removed from the original objects.
See also the documentation of the corresponding
scripting interface command
remknNC.
Curvature Plot (top) of simple NURBS curve (bottom)
- Arguments: The plot curvature tool takes a number of NURBS curves from
the selection and requests three additional values: the number of data
points, the width value and the height value.
- Operation: A new NURBS curve, depicting the curvature of the selected
NURBS curve, will be created for each of the selected
NURBS curves. The curvature plots will have a length defined by the
number of data points and will be scaled to the specified width
and by the specified height value. See also the image above.
Shift Closed Curve Tool (left: Closed B-Spline Curve, right: Shifted Curve)
- Arguments: The shift closed curve tool takes a number of
closed curves (NCurve, ICurve, and ACurve objects are supported),
from the selection and requests one additional integer parameter.
- Operation: The control points of the curve(s) will be shifted.
For a simple closed curve, shifting with i=1, the first control point will get
the coordinates of the former last control point. This means, positive shifts
occur in the direction of the curve. Note that for closed and periodic
NURBS curves, the multiple points will be managed correctly.
The shifting process will be repeated according to the integer parameter i
given. The parameter i may be negative to revert the direction of the
shifting.
- Note: Eventually selected points will still be selected after this
operation. See also the image above.
See also the documentation of the corresponding
scripting interface command
shiftC.
To XY Tool (left: original curve, right: modified curve)
- Arguments: The To XY tool takes a number of
NURBS curves from the selection. The NURBS curves should be planar.
- Operation: The control points of the curve(s) will be rotated,
so that they are in the XY plane of the respective object space defined by
the NURBS curve object(s). Additionally, the rotation attributes of
the NURBS curve object(s) will be changed so that the curve does not
change its orientation with regard to other objects or the world space.
See also the image above, where the left curve, planar but not defined
in the XY plane will be changed, so that it is defined in the XY plane
(mind the two different object coordinate systems in conjunction with
the world coordinate system in the middle).
- Note: A reverse operation, apart from undo, would be to apply the
current transformation attributes to the control points of the curves.
See also the documentation of the corresponding
scripting interface command
toXYNC.
Make Compatible Tool (left: Original Curves, right: Compatible Curves)
- Arguments: The Make Compatible tool takes a number of
NURBS curves from the selection.
- Operation: The curves will be made compatible, so that they
are of the same order and defined on the same knot vector.
- Note: This tool does not change the geometry of the curves.
However, since clamping, degree elevation, and knot insertion may be
used on the curves, their order, knot vectors, and control points
may be changed.
The point selection will be removed from the original objects.
See also the documentation of the corresponding
scripting interface command
makeCompNC.
- Arguments: The rescale knots to range tool takes a number of
NURBS curves from the selection and requests a range (two float values).
- Operation: The knot vectors of the curves will be scaled, so that
their first and last values match the given range.
- Note: Since Ayam 1.20 the knot type of the curve does
not have to be
"Custom"
anymore. Furthermore, rescaling the knots
does not change the knot type.
This tool does not change the geometry of the curves.
See also the documentation of the corresponding
scripting interface command
rescaleknNC.
- Arguments: The rescale knots to mindist tool takes a number of
NURBS curves from the selection and request a minimum distance value.
- Operation: The knot vectors of the curves will be scaled, so that
no two knots have a distance smaller than the given minimum distance
(except for multiple knots).
- Note: Since Ayam 1.20 the knot type of the curve does
not have to be
"Custom"
anymore. Furthermore, rescaling the knots
does not change the knot type.
This tool does not change the geometry of the curves.
See also the documentation of the corresponding
scripting interface command
rescaleknNC.
- Arguments: The collapse tool expects a selected NURBS curve
or NURBS patch and a number of selected (tagged) control points
(see section
Selecting Points for information
on how to select (tag) control points).
- Operation: The selected control points will be made a
single multiple point, all points will get the coordinate values
of the last tagged point.
- Arguments: The explode tool expects a selected NURBS curve
or NURBS patch and a number of selected (tagged) multiple points
(see section
Selecting Points for information
on how to select (tag) control points).
- Operation: The points forming the selected multiple points will
be made to simple points again and may be edited separately.
- Note: Even though you might have exploded some multiple points
Ayam will re-create them on several occasions like reading
of a scene, inserting/deleting points, and applying the NCurveAttr
or NPatchAttr property if all single control points of the multiple
point(s) still have identical coordinate values (and the
"CreateMP"
option of the curve or patch object is activated). You should immediately
edit the control points (move them apart) after exploding to avoid that
they automatically collapse to a multiple point again.
- Arguments: The swap uv tool takes a number of NURBS patches,
BPatch, or PatchMesh objects from the selection.
- Operation: The U and V dimension of the selected objects will
be swapped (width and height will be exchanged) without altering the
shape of the patches.
See also the documentation of the corresponding
scripting interface command
swapuvS.
- Arguments: The elevate uv tool takes a number of NURBS patches from
the selection and additionally requests two integer values.
- Operation: The order of the selected NURBS patches will be raised
by the specified integer values without changing the shape of the patches.
- Note: If the knot vector of the patch is not clamped, it
will be clamped automatically. The knot type of the patch will
be changed to
"Custom"
. New control points will be added and the position
of old control points may be changed in the progress.
The point selection will be removed from the original object.
See also the documentation of the corresponding scripting interface commands
elevateuNP, and
elevatevNP.
Successive Application of Refine Surface (U) Tool
- Arguments: The refine surface tool takes a number of NURBS patches from
the selection.
- Operation: The respective knot vectors of the selected NURBS patches
will be refined without changing the shape of the patches. New control
points will be added and the position of old control points may be
changed in the progress (see also the image above).
- Note: The respective knot type of the patch may
be changed to
"Custom"
.
The point selection will be removed from the original object.
See also the documentation of the corresponding scripting interface commands
refineuNP, and
refinevNP.
- Arguments: The revert u tool takes a number of NURBS patches
or BPatch or PatchMesh objects from the selection.
- Operation: The control point arrays of the selected objects
will be reversed in the u dimension (width).
For NURBS patches this tool also reverts the relative knot distances
of the corresponding knot vector.
- Note: See also the documentation of the corresponding
scripting interface command
revertuS.
- Arguments: The revert v tool takes a number of NURBS patches
or BPatch or PatchMesh objects from the selection.
- Operation: The control point arrays of the selected objects
will be reversed in the V dimension (height).
For NURBS patches this tool also reverts the relative knot distances
of the corresponding knot vector.
- Note: See also the documentation of the corresponding
scripting interface command
revertvS.
Patch Clamp Tool (left: Original Patch with B-Spline Knot Vectors, right: Clamped Patch)
- Arguments: The patch clamp tool takes a number of NURBS patches from
the selection.
- Operation: The knot vectors of a selected NURBS patch will be
changed using knot insertion so that the first and the last knot
(in each direction) have a multiplicity equal to the order of the patch
(in the respective direction).
- Note: The shape of the patch will not change but the position of some
control points will. The patch interpolates the first and the last control
point afterwards. The knot types of the patch will be changed to type
"Custom"
.
The point selection will be removed from the original object.
There are also tools available that clamp a patch in U or
V direction only.
See also the documentation of the corresponding scripting interface commands
clampuNP, and
clampvNP.
- Arguments: The patch rescale knots to range tool takes a number of
NURBS patches from the selection and requests a range.
- Operation: The knot vectors of the patches will be scaled, so that
their first and last values match the given range. Trim curves, if
present, will also be scaled to match the new range.
- Note: Since Ayam 1.20 the knot type of the surface does
not have to be
"Custom"
anymore. Furthermore, rescaling the knots
does not change the knot type.
This tool does not change the geometry of the patches.
See also the documentation of the corresponding
scripting interface command
rescaleknNP.
- Arguments: The rescale knots to mindist tool takes a number of
NURBS patches from the selection and request a minimum distance value.
- Operation: The knot vectors of the patches will be scaled, so that
no two knots have a distance smaller than the given minimum distance
(except for multiple knots). Trim curves, if present, will also be scaled
to match the new range.
- Note: Since Ayam 1.20 the knot type of the surface does
not have to be
"Custom"
anymore. Furthermore, rescaling the knots
does not change the knot type.
This tool does not change the geometry of the patches.
See also the documentation of the corresponding
scripting interface command
rescaleknNP.
Patch Insert Knot Tool (left: original patch, right: a knot has been
inserted 1 time at t=0.5)
- Arguments: The insert knot tool takes a number of NURBS patches from
the selection and requests two additional values, a parametric value t
and an integer value i.
- Operation: The specified knot (t) will be inserted i
times into the knot vector of the selected patches, without changing the
shape of the patches.
- Note: The knot type of the patch will be changed to
"Custom"
.
This tool does not change the geometry of the patches.
The point selection will be removed from the original object.
See also the documentation of the corresponding scripting interface commands
insknuNP, and
insknvNP.
Remove Knot Tool (left: original surface, right: the knot at t=0.5 has been removed 1 time)
- Arguments: The remove knot tool takes a number of NURBS surfaces from
the selection and requests three additional values, a parametric value t,
an integer value i, and a tolerance tol.
- Operation: The specified knot (t) will be removed i
times from the knot vector of the selected surfaces if the shape of the
resulting surfaces does not deviate more than tol from the original surfaces
in any point. Since Ayam 1.20
the knot to remove may also be specified using its (zero based)
index in the knot vector (by entering -i index instead of a parametric
value t, i.e.
"-i 4"
instead of "0.5"
).
If the knot can not be removed r times due to the tolerance, an
error is reported and the original surface is left unchanged.
- Note: If tol is
"Inf"
(infinity) the tool tries to work without
changing the shape of the surfaces, however, this is not guaranteed.
The point selection will be removed from the original objects.
See also the documentation of the corresponding scripting interface commands
remknuNP, and
remknvNP.
- Arguments: The patch split tools take a number of NURBS patches from
the selection and request a parametric value t (in U or V parametric dimension,
respectively).
- Operation: The patches will be split at the parametric value t
into two patches (in U or V parametric dimension, respectively) using
knot insertion.
|-NPatch ==> |-NPatch
|-NPatch
- Note: The original patch will be modified and a new patch will be
created.
The point selection will be removed from the original object.
Trim curves will not be honored properly.
See also the documentation of the corresponding scripting interface commands
splituNP, and
splitvNP.
- Arguments: The extract curve tool takes the first of the selected
objects from the selection.
- Operation: The tool creates an instance the first of the selected
objects then creates an ExtrNC object and moves the instance to it.
|-NPatch |-NPatch
==> +-ExtrNC
\-Instance_of_NPatch(Instance)
- Note: This tool uses the object clipboard to move the objects
around so that the original clipboard contents are lost when this tool
finishes.
Eventually present trim curves will not be honored properly.
See section
ExtrNC Object
for more information regarding the ExtrNC object.
- Arguments: The extract patch tool takes the first of the selected
objects from the selection.
- Operation: The tool creates an instance from the first of the
selected objects then creates an ExtrNP object and moves the
instance to it.
|-NPatch |-NPatch
==> +-ExtrNP
\-Instance_of_NPatch(Instance)
- Note: This tool uses the object clipboard to move the objects
around so that the original clipboard contents are lost when this tool
finishes.
Eventually present trim curves will not be honored properly.
See section
ExtrNP object
for more information regarding the ExtrNP object.
See also the documentation of the corresponding
scripting interface command
extrNP.
- Arguments: The split to curves tool takes a single NURBS patch from
the selection.
- Operation: The selected NURBS patch will be split into NURBS curves,
along direction U or V.
|-NPatch |-NPatch
|-NCurve
==> |-NCurve
|-NCurve
|-NCurve
- Note: The original NURBS patch object is not deleted.
See also the documentation of the corresponding
scripting interface command
splitNP.
- Arguments: The build from curves tool takes a number of NURBS
curves from the selection.
- Operation: The selected NURBS curves will be parsed, all curves
that are of equal length or longer than the first selected curve
will be used to form a new NURBS patch of the following dimensions:
Width: length of the first selected curve,
Height: number of used curves.
The order in U direction (Order_U) will be equal to the number of used curves
for numbers of two to four and four for bigger numbers of used curves.
The knot type in U direction (Knot-Type_U) will always be NURB.
Other parameters (Order_V, Knot-Type_V, Knots_V) are taken from
the first curve.
|-NCurve |-NCurve
|-NCurve |-NCurve
|-NCurve ==> |-NCurve
|-NCurve |-NCurve
|-NPatch
- Note: The original NURBS curves objects are not deleted.
See also the documentation of the corresponding
scripting interface command
buildNP.
GUI of Tesselation Tool
- Arguments: The tesselation tool takes all NURBS patches and
NURBS patch providing objects from the selection.
- Operation: A modal dialog box (see image above) will pop up,
that allows to select a tesselation method via a drop-down menu
and to tune the corresponding tesselation parameter(s) using a slider and
an entry widget. The initial method and parameter values will be derived
from the
"TP"
tag of the first of the selected objects (if it has such
a tag).
The selected or provided NURBS patches will be tesselated with the
chosen method and parameters.
The PolyMesh objects created by the tesselation will immediately be
displayed in all view windows instead of the original objects.
Whenever tesselation method or parameters are changed, the tesselation
will be recomputed and displayed, thus, allowing an immediate estimation
of the tesselation quality.
If the preference option "Modelling/LazyNotify"
is enabled,
updates of the tesselation that normally occur while dragging the
slider(s) will be deferred until the mouse button is released.
If the "Ok"
button is pressed to close the tesselation tool, all
selected objects will be replaced by their tesselated
counterparts; if "Cancel"
is used, all selected objects remain
unchanged.
If the check box "SaveToTag"
is activated, closing the tesselation
tool using "Cancel"
will also add a "TP"
tag containing
the currently selected method and parameter value to all selected
objects. This tag can be evaluated later, when the respective
objects are converted to PolyMesh objects. Since Ayam 1.11 also the
conversion mechanism of objects keeps the "TP"
tags intact, so
that one may e.g. save tesselation parameters for a Sphere or a Revolve
object. Upon conversion of the Sphere or Revolve object via a NURBS
patch to a PolyMesh, the tesselation parameters will be retained.
Mind that the "SaveToTag"
option will be activated automatically
if any of the objects to tesselate already have a "TP"
tag.
- Note: The tesselation tool will block most other parts of Ayam
while it is running. It is, however, possible to adjust view parameters
while the tesselation tool is open, to examine the tesselation result
more closely or from different viewing angles. The initial values of the
parameter slider bounds may be changed by simply entering values
that are out of bounds into the respective entry widget, then pressing the
<Tab>
key. The resolution of the slider is calculated
automatically from the resolution of the value entered in the entry
widget.
See section
Miscellaneous Preferences
for a more extensive discussion of the tesselation methods
and their parameter(s).
Next
Previous
Contents