The x, y, and z coordinates of a point on a parametric surface are functions of independent parameters, (u,v). As (u,v) vary from their minimum to maximum values, the functions x(u,v), y(u,v), and z(u,v) sweep out points on the surface. A simple example of a parametric surface is defined by the following equations and illustrated in the figure below:
To model an analytically defined surface such as a cylinder, you can write a SURSUB user-written subroutine. When providing a SURSUB, you can also specify MINPAR and MAXPAR to define the limits of the surface. These default to (-1,-1) and (1, 1), respectively.
A surface can be open or closed in both u and v. A surface closed in u (UCLOSED) meets along the edges defined by the maximum and minimum values of u. A surface closed in v (VCLOSED) meets along the edges defined by the maximum and minimum values of v.
Surfaces can be used in Adams constraints. A surface marker, allowed to only move on the surface, is provided for this purpose. Any valid constraint (joint, jprim, and so on) can be constructed using the surface marker.
A surface has parameterization limits as prescribed by MINPAR and MAXPAR. It is likely, however, that there are regions within the parameter space where the surface is not defined. The finiteness of the surface (including holes) are modeled using a penalty approach. The penalty approach applies a force to prevent the surface marker from moving off the edge of an open surface or from moving into a hole in the surface. This approach necessarily requires that the surface marker move off the surface for a short duration. In such a situation, the surface descriptor is provided with [u,v] values outside the domain of the surface. The descriptor is expected to extrapolate the surface definition to provide an estimated location of the surface marker at these [u,v] points. Linear extrapolation is adequate for most purposes.
Adams/Solver (C++) automatically extrapolates the surface as needed when the surface description is provided as a Parasolid geometry file. You are required to perform such extrapolation when you provide the surface definition through a SURSUB user-written subroutine. See
SURSUB for more details.
If [u,v] are the parameters corresponding to the current point on the surface, and [u*, v*] are the parameters for the closest material point on the surface to [u,v], the penalty force that is applied in the [u,v] domain is: