InStep Studio


Settings specific to the Surfacing Tools and its Options

Time to read: ~6 min

Several options exist to change the behavior of the Surfacing Tool. These should be considered in cases where the original settings do no achieve the desired outcome. Keep in mind that changing some of these values beyond their default may have unexpected consequences and therefore care should be taken when making drastic changes.

Surfacing Tool Settings
Settings applicable to the Surfacing Tool

Manual Segments

This value sets the number of points projected onto the original surface, between corner points, applicable to the Manual creation of the seed mesh. Beyond setting the 'sampling' of the original data, this value also determines the highest NURBS Order that can be used for the export. The minimum number of required ManualSegments points is: Linear=0, Quadratic=1, Cubic=2 and Quintic=4.
This value also has an influence on the final file size as using more points ultimately leads to using more knots in the definition of the NURBS Surfaces. For cases where a specific output is desired, it is recommended that this value be gradually changed and the effect observed.

Order Points

This option simply sets whether or not the order of the points added during a manual insertion of seed locations is to be evaluated (and if necessary corrected). The process expects that the order of the locations (Point1 through Point4) are added so as to represent a Right-Hand oriented Quadrilateral without edges intersecting. A 'Right-Hand' order in this case refers to the situation where the fingers of a person's right hand follow (or curl along) the order in which the points have been added while the outstretched thumb is pointing in the same direction as the direction that the surface considers 'outside' of the body.
In some cases, it is feasible that the original order is not to be used and rather an arbitrary (or inverted) order is being sought. Care should be taken so as to ensure that the order does not cause the edges to intersect (sometimes known as a 'butterfly'-quad due to its shape).

Snap Distance

During manual creation, it is important that the vertices coincide so as to create a continuous set of surfaces. The application attempts to 'snap' locations together prior to inserting them by searching for any previously inserted locations and, if they are 'close' to snap them together. The distance that is considered 'close' in this scenario is somewhat arbitrary as it depends on the size of features and similar. The value for the Snap Distance is the value that the diagonal of the body's bounding box is divided by in order to define the actual distance to use. Therefore, if the body being worked on measures 1x1x1 cm, then the snap distance value of 1000 would mean that the diagonal (Sqrt(3)*1cm) is divided by 1000 to get a 'snapping' distance of 0.00173 is being used. Generally, this should provide a reasonable value, but depending on the body being worked on, this may not be sufficient or, equally, be a nuisance.

Smoothing Factor

Once a Seed Mesh has been created, it's patches can still be somewhat distorted. The smoothing process moves vertices from their current location to a location that is compromise among all the attached patches -in terms of having either globally or locally (see below) uniform edge lengths. The amount that each location is moved from their current location to the newly determined location is defined by this factor which is the factor applied to the length of the vector from the current to the new location. This value must be kept above 0 and below 1 and it is recommended that more iterations are considered in favor of having a large factor

Smoothing Iterations

Each iteration moves the vertices from their current location along the vector between the current location and the negotiated location by the Smoothing Factor. Internally, this process is updated several times, defined by the number of iterations set here. Moving small increments during each iteration over a larger number of iterations is preferred over a large factor and a small number of iterations as this allows the mesh to more organically move into its new configuration.

Soothing To Global

This sets whether the goal is to smooth a mesh towards one where all patches are of equal size (by using a value of 'True') or whether it is desirable for each patch to have edges of equal lengths (a value of 'False'). In general, using a global smoothing produces a mesh that is more uniform whereas a local smoothing produces a mesh that is more detail focused at the cost of having perhaps sharper transitions.


By default, and as the process requires a pure Quad Seed Mesh, the approach is to first convert the data to a Quad Dominant Mesh and then from there perform Triangle-Quadrilateral switching until a pure mesh has been obtained. The general requirement for this to be able to succeed is that the Seed Mesh must either be open (i.e. non-manifold) or manifold with an even number of triangles. If this process cannot be completed, an alternative implementation exists that, rather than performing a iterative merging of triangles, uses a partial Catmull-Clark algorithm to split (rather than combine) triangles into Quadrilaterals. This is guaranteed to succeed but usually results in a less accurate seed mesh and can cause collapses. It should only be considered for cases where the original approach does not succeed.

Resampling Cell Count

If the mesh is re-sampled as part of the automatic Seed Generation, the Cell Count defines the number of cells that are (or would be) allocated along the edge of the bounding box. It needs to be understood that this represents an important factor in the level of re-sampling being applied and has a direct effect on the required amount of memory and time it takes for re-sampling. A larger value means that more facets are generated during the intermediary steps and therefore that the data can be sampled at a smoother level. However, the number of cells being created are of third order so if there the cell count is 100, then 100^3= 1,000,000 cells are being created and sampled. A value of 200 would raise this by 8x. For most cases a value between 100 and 200 should be sufficient. Having a large number of cells but a small number of target patches has no benefit and only raises the time duration and memory requirements.

Resampling Cell Size

The Cell Size is a very similar property to the cell count but defines the value that the edge is to be divided by to set the actual size of the cube being sampled. It is generally advised to keep these values either the same or at least similar. Some strange effects can be observed when one is noticeably different from the other.