pw:: Surface

Database surface type

Derives From

pw::Object pw::Entity pw::DatabaseEntity

Summary
Database surface type
This action creates a new surface object.
This action automatically creates new surfaces using the given curves as boundaries for Coons patches.
This action joins as many of the given surfaces together as possible.
This action gets the position in the defining space of the surface at the given parameter.
This action gets the position of the surface in model space at the given parameter.
This action gets the number of boundaries of the surface.
This action gets a surface boundary.
This action gets all the curves that are at least partially on the surface.
This action sets the surface to the initial cleared state.
This action sets the surface by sweeping a curve by a vector.
This action sets the surface by interpolating between the given curves.
This action sets the surface by connecting two curves using a polyconic.
This action sets the surface by revolving a curve around another curve or axis.
This action sets this surface to a smooth interpolation of the control points of the given surface.
This action splits the surface in the given direction at a given parameter value.
This action sets the orientation of this surface by specifying the umin and vmin edges of the surface.
This action aligns the UV orientation of the given surfaces with this surface.
This action checks if the surface is closed in the given direction.
This action checks if the surface Edge is a pole.
This action returns a list of parameters in the given direction at discontinuites with a bend angle greater than the given angle.
This action gets a list of points along a constant parameter of a surface suitable for rendering.
This action gets a list of points along the U- and V-intervals.
This action gets the list of interval parameters in the U or V direction on a surface.

Static Actions

create

pw::Surface create

This action creates a new surface object.

Parameters

none

Returns

This action returns a new pw::Surface object.

createFromCurves

pw::Surface createFromCurves ?-tolerance tol? curves

This action automatically creates new surfaces using the given curves as boundaries for Coons patches.

Parameters

-tolerance tolThis optional parameter is the fit tolerance; if this flag is not present the current fit tolerance is used.
curvesThis parameter is a list of pw::Curve objects and/or boundaries.

Returns

This action returns a list of new pw::Surface objects.

join

pw::Surface join ?-reject rejectVar? ?-tolerance tol? surfs

This action joins as many of the given surfaces together as possible.

Parameters

-reject rejectVarThis optional parameter is a variable name to recieve a list of pw::Surface objects that were not used in joining.
-tolerance tolThis optional parameter is the fit tolerance.
surfsThis parameter is a list of pw::Surface objects to join.

Returns

This action returns a list of the pw::Surface objects that were joined.

Information

This command supports progress updates.

Instance Actions

getPosition

$surface getPosition ?-parameter? value

This action gets the position in the defining space of the surface at the given parameter.

Parameters

-parameterThis optional parameter indicates to get the position at a parameter; the value is a uv parameter in the range [0.0, 1.0]; this is the default option.
valueThis parameter is the value at which to get the position.

Returns

This action returns a point giving the position on the surface (may be in the form “u v dbentity”).

getXYZ

$surface getXYZ ?-parameter? value

This action gets the position of the surface in model space at the given parameter.

Parameters

-parameterThis optional parameter indicates to get the xyz at a parameter; the value is a uv parameter [(0,0),(1,1)]; this is the default option.
valueThis parameter is the value at which to get the position.

Returns

This action returns an XYZ vector.

getBoundaryCount

$surface getBoundaryCount

This action gets the number of boundaries of the surface.

Parameters

none

Returns

This action returns the number of boundaries of the surface.

getBoundary

$surface getBoundary < index | boundary >

This action gets a surface boundary.

Parameters

indexThis parameter is the index of the boundary to get with the range [1, number of boundaries].
boundaryThis parameter is the parametric boundary with options < UMinimum | UMaximum | VMinimum | VMaximum >.

Returns

This action returns a boundary.

Information

The boundary index 1 corresponds to VMinimum, 2 corresponds to UMaximum, 3 corresponds to VMaximum and 4 corresponds to UMinimum.

getInteriorCurves

$surface getInteriorCurves

This action gets all the curves that are at least partially on the surface.  Curves along the boundary of the surface will be returned as well, but this function uses the name “interior” to differentiate from the boundary curves that are returned by getBoundary

Parameters

This action has no parameters.

Returns

This action returns a list of pw::Curve objects.

clear

$surface clear

This action sets the surface to the initial cleared state.

Parameters

This action has no parameters.

Returns

This action returns nothing.

sweep

$surface sweep ?-reverse? generatrix vector

This action sets the surface by sweeping a curve by a vector.

Parameters

-reverseThis optional paramter indicates to reverse the rail vector.
generatrixThis parameter is a pw::Curve object or boundary for the generatrix.
vectorThis parameter is the rail vector.

Returns

This action returns nothing.

interpolate

$surface interpolate ?-orient < Same | Opposite | Best >? ?-tolerance tol? rail1 rail2 ?rail3 rail4?

This action sets the surface by interpolating between the given curves.  If two curves are given a ruled surface is created.  If four curves are given a Coons patch is created with rail1 specifying the minimum u border and the rest of the rails arranged based on their ends being within the given tolerance, and the -orient flag is ignored.

Parameters

-orient < Same | Opposite | Best >This optional parameter specifies the orientation of the curves when interpolating two curves.  Same is the default, Best will choose the orientation that leads to the flatest surface.
-tolerance tolThis parameter is the fit tolerance; if it is not present the current fit tolerance is used.
rail1This parameter is a pw::Curve object or boundary for the first rail curve.
rail2This parameter is a pw::Curve object or boundary for the second rail curve.
rail3This parameter is a pw::Curve object or boundary for the third rail curve.
rail4This parameter is a pw::Curve object or boundary for the fourth rail curve.

Returns

This action returns nothing.

fillet

$surface fillet ?-rho rho? ?-tolerance tol? rail1 rail2 intersection ?spine?

This action sets the surface by connecting two curves using a polyconic.

Parameters

-rho rhoThis optional paramter is the rho of the polyconic; [0, .5) = ellipse, .5 = parabola, (.5, 1] = hyperbola, defaults to .5.
-tolerance tolThis optional parameter is the fit tolerance; if it is not present the current fit tolerance is used
rail1This parameter is a pw::Curve object or boundary for the first rail curve.
rail2This parameter is a pw::Curve object or boundary for the second rail curve.
intersectionThis parameter is a pw::Curve object or boundary for the intersection curve.
spineThis optional parameter is a pw::Curve object or boundary for the spine curve; defaults to the intersection curve.

Returns

This action returns nothing.

revolve

$surface revolve ?-angle revolve? ?-tolerance tol? generatrix < axis | point normal >

This action sets the surface by revolving a curve around another curve or axis.

Parameters

-angle revolveThis optional parameter is the number of degree to revolve the generatrix around the axis; [-360, 0), (0, 360], default is 360.
-tolerance tolThis optional parameter is the fit tolerance; if it is not present the current fit tolerance is used.
generatrixThis parameter is a pw::Curve object or boundary for the generatrix.
axisThis parameter is a pw::Curve object or boundary for the axis.
pointThis parameter is the axis point.
normalThis parameter is a normalised vector along the axis of revolution.

Returns

This action returns nothing.

spline

$surface spline ?surface?

This action sets this surface to a smooth interpolation of the control points of the given surface.

Parameters

surfaceThis opitional parameter is a pw::Surface object whose control points will be interpolated.  If not given the spline action will interpolate this surface’s own control points.

Returns

This action returns nothing.

split

$surface split ?< -U | -V >? parameters

This action splits the surface in the given direction at a given parameter value.

Parameters

-UThis indicates to split at a constant u parameter; the default.
-VThis indicates to split at a constant v parameter.
parametersThese are the parameters at which to split; (0.0, 1.0)

Returns

This action returns a list of the new pw::Surface objects.

Information

Any duplicate parameters will be ignored, as will parameters at the limits of the surface.

setOrientation

$surf setOrientation u_edge v_edge

This action sets the orientation of this surface by specifying the umin and vmin edges of the surface.

Parameters

u_edgeThis parameter is the index or boundary to be used as the Umin Edge.
v_edgeThis parameter is the index or boundary to be used as the Vmin Edge.

Returns

This action returns nothing.

Information

For both the u_egde and v_edge the following boundary keywords or the associated index may be used: VMinimum = 1, UMaximum = 2, VMaximum = 3, UMinimum = 4.

alignOrientation

$surf alignOrientation ?-tolerance tol? surfaces

This action aligns the UV orientation of the given surfaces with this surface.  If any surfaces in the given list are not connected within the given tolerance to this surface, they will be ignored.

Parameters

-tolerance tolThis is the tolerance used to consider surfaces adjacent; it defaults to the fit tolerance.
surfacesThis parameter is a list of pw::Surface objects to align.

Returns

This action returns nothing.

isClosed

$surface isClosed ?< -U | -V >?

This action checks if the surface is closed in the given direction.

Parameters

-UThis indicates to check in the u direction; It is the default.
-VThis indicates to check in the v direction.

Returns

This action returns a boolean, which is true if the surface is closed in the given direction.

isPole

$surface isPole ?< -UMin | -UMax | -VMin | -Vmax >?

This action checks if the surface Edge is a pole.

Parameters

-UMinThis indicates to check the u minimum Edge; it is the default.
-UMaxThis indicates to check the u maximum Edge.
-VMinThis indicates to check the v minimum Edge.
-VMaxThis indicates to check the v maximum Edge.

Returns

This action returns a boolean, which is true if the given surface Edge is a pole.

getDiscontinuities

$surface getDiscontinuities ?< -U | -V >? ?angle?

This action returns a list of parameters in the given direction at discontinuites with a bend angle greater than the given angle.

Parameters

-UReturn parameters at discontinuities in the u direction; it is the default.
-VReturn parameters at discontinuities in the v direction.
angleAll discontinuies with a bend angle greater than this given angle will be returned; the default is 0.0 which will return all discontinuities.

Returns

This action returns a list of parameters at discontinuities.

getXYZsAtParameter

$surface getXYZsAtParameter ?< -U | -V >? parameter

This action gets a list of points along a constant parameter of a surface suitable for rendering.

Parameters

-UExtract points on a constant u parameter; it is the default.
-VExtract points on a constant v parameter.
parameterThis is the parameter to render at; (0.0, 1.0).

Returns

This action returns a list of the xyz points.

getXYZsAtIntervals

$surface getXYZsAtIntervals ?dimensionVar?

This action gets a list of points along the U- and V-intervals.

Parameters

dimensionVara string that signifies the variable to receive the number of U intervals and V intervals (specified as a list of 2 integer values)

Returns

This action returns xyz points representing constant U- and V-parameter lines at the surface’s intervals.  The result will be a list of lines, with each line specified as a list of XYZ vector values.  The number of lines will be equal to the number of U- and V-intervals (ie, the sum of the values returned in dimensionVar).  The U-interval lines will be listed first, followed by the V-interval lines.

getIntervalParameters

$surface getIntervalParameters ?< -U | -V >

This action gets the list of interval parameters in the U or V direction on a surface.

Parameters

-UInterval parameters in the U direction; it is the default.
-VInterval parameters in the V direction.

Returns

This action returns a list of parameters for the specified direction.

pw::Surface create
This action creates a new surface object.
pw::Surface createFromCurves ?-tolerance tol? curves
This action automatically creates new surfaces using the given curves as boundaries for Coons patches.
pw::Surface join ?-reject rejectVar? ?-tolerance tol? surfs
This action joins as many of the given surfaces together as possible.
$surface getPosition ?-parameter? value
This action gets the position in the defining space of the surface at the given parameter.
$surface getXYZ ?-parameter? value
This action gets the position of the surface in model space at the given parameter.
$surface getBoundaryCount
This action gets the number of boundaries of the surface.
$surface getBoundary < index | boundary >
This action gets a surface boundary.
A boundary is reference to either a database curve or the edge of a database surface.
$surface getInteriorCurves
This action gets all the curves that are at least partially on the surface.
$surface clear
This action sets the surface to the initial cleared state.
$surface sweep ?-reverse? generatrix vector
This action sets the surface by sweeping a curve by a vector.
$surface interpolate ?-orient < Same | Opposite | Best >? ?-tolerance tol? rail1 rail2 ?rail3 rail4?
This action sets the surface by interpolating between the given curves.
$surface fillet ?-rho rho? ?-tolerance tol? rail1 rail2 intersection ?spine?
This action sets the surface by connecting two curves using a polyconic.
$surface revolve ?-angle revolve? ?-tolerance tol? generatrix < axis | point normal >
This action sets the surface by revolving a curve around another curve or axis.
$surface spline ?surface?
This action sets this surface to a smooth interpolation of the control points of the given surface.
$surface split ?< -U | -V >? parameters
This action splits the surface in the given direction at a given parameter value.
$surf setOrientation u_edge v_edge
This action sets the orientation of this surface by specifying the umin and vmin edges of the surface.
$surf alignOrientation ?-tolerance tol? surfaces
This action aligns the UV orientation of the given surfaces with this surface.
$surface isClosed ?< -U | -V >?
This action checks if the surface is closed in the given direction.
$surface isPole ?< -UMin | -UMax | -VMin | -Vmax >?
This action checks if the surface Edge is a pole.
$surface getDiscontinuities ?< -U | -V >? ?angle?
This action returns a list of parameters in the given direction at discontinuites with a bend angle greater than the given angle.
$surface getXYZsAtParameter ?< -U | -V >? parameter
This action gets a list of points along a constant parameter of a surface suitable for rendering.
$surface getXYZsAtIntervals ?dimensionVar?
This action gets a list of points along the U- and V-intervals.
$surface getIntervalParameters ?< -U | -V >
This action gets the list of interval parameters in the U or V direction on a surface.
Base type for all glyph types
Entity type
Base type for all database entities
Database surface type
Database curve type
A point is a position either in model space or database parameter space.
A vector is a list of float values.
A boolean is represented as a 0 or 1, with 0 being false and 1 being true.