Tutorials
Offset Surface Mesh
The sm_offset tool is designed ontop of SolidMesh++ and is a command-line tool to allow quick access and integration within other programs. The intent is to quickly generate a quad based offset surface surrounding the inputed triangular water-tight mesh surface. This tutorial will instruct the user of the various options available if the default options need to be modified. The default parameters were a best guess that worked with a handful of test cases and by no means will satisfy all cases. The resultant mesh can only be evaluated on its quality and usefulness by the user.
1.  Consider a model of a launch vehicle shown here. The yellow surface in the middle is the payload and there are three boosters, orange, purple, and green (behind).
2.  The geometries shown here were generated by running the following command: "sm_offset -case lv -dist #". The numbers used were 2, 8, and 64. These correspond to a distance of 2, 8, and 64 away from the surface. Notice how the surface gets more diffuse (spherical) as it is generated farther and farther away from the original geometry. The default is unspecified and a fraction of the maximum dimension of the geometry is used to determine the distance (top picture step 3).
3.  If instead of one offset surface from the entire geometry, multiple or separate geometries were desired, the -separate flag can be used. Individual components with their respective geometries are shown here together, and individually. To generate the results run the following command. "sm_offset -case lv -separate". Each surface and offset surface are output to a separate file. The "-dist" flag can also be used with this option.
1.  In order to demonstrate other command line options, consider the simple wing/pylon configuration shown here.
2.  The following results were generated using the following commands (top)"sm_offset -case wing_pylon.surf.gz -dist 2" and (bottom)"sm_offset -case wing_pylon.surf.gz -dist 2 -smooth_normals 0". The command line argument "-smooth_normals" is used to smooth the normals of the offset surface's faces. The effect of this is that the offset triangulation is not smoothed that is inserted into the octree. This can be seen in the bottom picture. On the top of the wing, large deformations of the underlying surface mesh can still be seen. In the top picture, the normals of the offset surface have been smoothed so that the resulting offset surface is distributed equally, thus reducing the "facets". This is the result from the "smooth_normals" command line argument. This option does converge to a value that is most often covered by the default argument. However for the sake of user customization it was left in incase the results on the bottom are preferred or if the configuration is highly complex and needs further smoothing.
1.  In order to demonstrate other command line options, consider the more complex prop-plane configuration shown here and a default sm_offset run of "sm_offset -case minita.surf.gz -dist 1".
2.  The "smooth_faces" option applies laplacian smoothing to the offset grid. However, unlike the face normal smoothing this is not a convergent process. Excessive face smoothing will cause large deformations of the resultant grid. The offset grids presented here have been smoothed with 0 (top), 50 (middle), and 200 (bottom) smoothing iterations. The deformation can become severe if too many smoothing iterations are used(bottom) and the grid is excessively faceted if no iterations are used(top). More iterations can be used if the relaxation factor is a small number.

1.  In order to demonstrate other command line options, consider the simple wing/body configuration shown here.
2.  The following offset surface can be produced by running the command "sm_offset -case kew -smooth_normals 100 -no_clean". The option "-no_clean" turns off the default routine that cleans up "vericose veins/wrinkles" and "pimples/dimples" in the offset mesh. An example of these pimples/dimples can be seen in the top and bottom of the offest surface near the wing tip. If many of these features are in close proximity of each other, the face smoothing will result in crossed faces. If the desire is to keep these features, use "-smooth_faces 0" to retain them and keep the mesh valid.
2.  In order to fix these types of errors, the default option is to "clean" these features by removing or filling them. One way of removing this to run the following command which generates the following offset surface. "sm_offset -case kew -smooth_normals 100 -smooth_faces 10" As you can, the pimples and sharp features in general have been "smoothed" and "cleaned". Keep this in mind if the desired mesh has sharp features, you may need to increate the smooth_normals and smooth_faces.
SolidMesh Contents SolidMesh Tutorials SolidMesh Home SolidMesh Tutorials