STL files are 3D model formats commonly used in CAD and 3D Printing applications. STL files describe only the surface geometry of a three dimensional object without any representation of color, texture or other common 3D Model attributes.
For more information on loading STL files see Working with 3D Models. STL files typically use a Y-up orientation.
There are 3 options for exporting STL files:
The Export STL command allows the user to export any loaded elevation grid data sets to a STL format file.
To export loaded elevation data to an STL format, go to File > Export > Export Elevation Grid Format..., or right click on the layer in the Overlay Control Center and choose export from the Layer sub-menu.
When selected, the STL (ASCII Text or Binary) File (Elevation Data Only) command displays the STL Export Options dialog which allows the user to setup the export. The dialog consists of a General options panel which allows the user to set up the grid spacing and vertical units, a Tiling Panel, a Coordinate Offset/Scale tab and an Export Bounds tab which allows the user to set up the portion of the loaded data they wish to export.
Elevation data may be exported from a raster grid format to other 3D model formats by first exporting to this STL option.
Resampling
- Nearest Neighbor - simply uses the value of the sample/pixel that a sample location is in. When resampling an image this can result in a stair-step effect, but will maintain exactly the original color values of the source image.
- Bilinear Interpolation - determines the value of a new pixel based on a weighted average of the 4 pixels in the nearest 2 x 2 neighborhood of the pixel in the original image. The averaging has an anti-aliasing effect and therefore produces relatively smooth edges with less stair-step effect.
- Bicubic Interpolation - a more sophisticated method that produces smoother edges than bilinear interpolation. Here, a new pixel is a bicubic function using 16 pixels in the nearest 4 x 4 neighborhood of the pixel in the original image. This is the method most commonly used by image editing software, printer drivers and many digital cameras for resampling images.
- Box Average (3x3, 4x4, 5x5, and 7x7) - the box average methods simply find the average values of the nearest 9 (for 3x3), 16 (for 4x4), 25 (for 5x5), or 49 (for 7x7) pixels and use that as the value of the sample location. These methods are very good for resampling data at lower resolutions. The lower the resolution of your export is as compared to the original, the larger "box" size you should use.
- Filter/Noise/Median (2x2, 3x3, 4x4, 5x5, 6x6 and 7x7) - the Filter/Noise/Median methods simply find the median values of the nearest 4 (for 2x2), 9 (for 3x3), 16 (for 4x4), 25 (for 5x5), 36 (for 6x6) or 49 (for 7x7) pixels and use that as the value of the sample location. This resampling function is useful for noisy rasters, so outlier pixels do not contribute to the kernel value. Some common sources of raster noise are previous compression artifacts or irregularities of a scanned map/image.
- Box Maximum (3x3, 4x4, and 5x5) - the box maximum methods simply find the maximum value of the nearest 9 (for 3x3), 16 (for 4x4), 25 (for 5x5), or 49 (for 7x7) pixels and use that as the value of the sample location. These methods are very good for resampling elevation data at lower resolutions so that the new terrain surface has the maximum elevation value rather than the average (good for terrain avoidance). This method behaves the same as the average on raster/imagery layers. The lower the resolution of the export file is as compared to the original, the larger "box" size that should be used.
Sample SpacingThe Sample Spacing section allows the user to select the grid spacing to use when generating the file. The default value is the average of the grid spacings of all the currently loaded raster and elevation overlays.
If the Always Generate Square Pixels option is checked, the smaller of the specified x and y resolutions will be used for both the x and y resolution.
Selecting Always Generate Square Pixels ensures that the resultant image file will look good even in software that is not able to deal with pixels that aren't square.
To specify the spacing in units other than those of the currently selected view/ export projection, press the Click Here to Calculate Spacing in Other Units button.
Specify the X and Y spacing of the output pixels in any of the selected units. These pixel dimensions will be translated into the units of the display projection during export. The Use Current Screen Pixel Size button will update the X and Y values to the dimensions of the map display. Use Last Exported Sample Spacing will update the X and Y values to the most recent export resolution.
Interpolate to Fill Small Gaps in Data
Any small areas with missing data will be filled in by interpolating the surrounding valid data. This is useful for filling small gaps between adjacent tiles or small holes in elevation data.
Generate PRJ File
When selected, a *.PRJ file describing the projection of the coordinates in the file will automatically be created in the same folder, and sharing the filename of the export.
Export a Binary STL File (Much Smaller than Text STL)
The default export is an ASCII text readable STL format. Check this option to export the file as binary, which will reduce the file size.
Extrude edges of file to a base elevation
This setting is typically used for 3D printing applications. This will create a base layer to the mesh, at the specified extrusion base elevation. Specify a base elevation at the desired absolute elevation value, at which to stop the sides of the model.
Add a base to the generated mesh
This will create a flat base for the model, and the absolute elevation value specified in the extrusion base elevation. This setting may be combined with the extrude edges setting above, for 3D printing of solid or hollow models, with a flat bottom.
Export to a Z-up Orientation
STL files use Y for the vertical axis designation by convention (Y-Up orientation). Check this option to use Z for the vertical axis.
Existing 3D models may be exported to STL files as well.
STL Files typically use a Y-Up orientation.
3D File Export Options
Specify the axis orientation to use in the export. Global Mapper labels the vertical axis as Z, but in some 3D formats the vertical axis is designed as the Y-axis. Check the Export model as Y-up option to use the Y-up axis orientation.
Export Bounds
3D Mesh features do not support cropping within mesh objects. With a specified export bounds, mesh features inside the export bounds will be exported, uncropped. Mesh features with no part inside the export bound will not be included in the export.
For more information on the bounds specification options see Export Bounds.
Below is a summary of recent changes to STL format support:
18.2 | Reduced memory usage when exporting large TIN datasets to STL |
17.2 | Added support for double-precision coordinates for the 3D model formats (OBJ, DAE, PLY, STL). This allows models that use large coordinate values (like UTM) to maintain precision when loaded into Global Mapper. |
17.1 | Added ability for user to specify that a base be added to the generated STL mesh when exporting DEM. A new script option, “ADD_BASE” is also provided for the export script command. |
17.0 | [Scripting] Added support for extruding the edges of the generated mesh when exporting elevation data to STL format when using the EXPORT_ELEVATION command. Just add EXTRUDE_EDGES=YES to the command to enable extrusions, and optionally, add, for example, BASE_ELEVATION=50 to extrude to an elevation of 50 (the default is 0). When extrusion is enabled, any grid rectangle that has a corner that's invalid (i.e., is not present in the gridded data) or below the base elevation setting is excluded from the export. These options are also supported in the UI when exporting elevation data to STL. |
17.0 | [Scripting] Added scripting control for exporting 3D models in “Z-up” and “Y-up” orientations. When using the EXPORT_ELEVATION command to export elevation data to STL format, which exports to Y-up orientation by default, add Z_UP=YES to export to Z-up orientation instead. Conversely, when using the EXPORT-VECTOR command to export vector features to 3D model formats like OBJ, STL, DAE, etc. (but not SketchUp), add Y_UP=YES to the command to cause it to export to Y-up orientation instead. In addition, you can add NO_PROMPTING=YES to the EXPORT_VECTOR command to prevent the 3D export options dialog from popping up during your script. |
16.2 | Added support for loading and exporting STL. |