harpoon logo


about harpoon | key benefits | features | technical spec | book a demo

FAQ: How to get the best STL for Harpoon


How do I get the best STL file for import into Harpoon?


Currently the most common input format for harpoon is STL (stereolithography) format. These files are exported from 3D CAD programs. They are a series of small triangluated facets that approximate the surface of a 3D model.

Harpoon uses these discretized facets to map out the model surface(s). Harpoon can only mesh as finely as the STL file represents the surface. There are a number of issues that you should be aware of before you export your model. Spend some time understanding STL export issues and how to refine your output in your CAD package and you'll be way ahead in your harpoon experience.

Aspect Ratio If two sides of a facet are much longer than the third the triangle has a large aspect ratio. Large aspect ratios are undesirable numerically from harpoon's perspective. Equiangle, equilateral triangle facets are are much better numerically.

Sag Fitting a curved surface with a line requires smaller line segments for a more curved surface. The amount that the line falls below the curve is called the sag. Similarly the amount that the facet falls below the 3D curvature is the sag. Lots of sag means a coarse tessellation of the surface. Harpoon cannot improve upon the sag of your STL file when it meshes.

Size The facets should be sized according to the curvature of the model, according to the overall size of the model, and according to intersections of faces.

Rounding Errors When discretizing the CAD data there is always the likelihood of numerical truncation errors. Because STL nodes are matched not on integer indices but floating coordinates, numerical roundoff when writing the STL can create duplicate nodes. Duplicate nodes imported into harpoon can lead to extraneous feature lines, non-watertight geometry, and meshing problems.

Consider the following two facets. Compare the second vertex of the first facet to the third vertex of the second facet. The Z-coordinate roundoff causes these two nodes to be considered as different coordinates. A good STL exporter will avoid this pitfall.

facet normal -0.337752 -0.941235 0.000128
outer loop
vertex 6.764929e+01 9.725301e+01 3.000000e+02
vertex 6.764670e+01 9.724580e+01 2.403403e+02
vertex 6.630964e+01 9.772569e+01 2.412399e+02
facet normal -0.337746 -0.941237 0.000128
outer loop
vertex 6.764929e+01 9.725301e+01 3.000000e+02
vertex 6.815260e+01 9.706421e+01 2.400000e+02
vertex 6.764670e+01 9.724580e+01 2.403404e+02

All one part vs multiple parts ASCII STL format allows the export of multiple parts. This allows you to define critical parts and control your mesh refinement and location in more detail. Binary STL format does not allow multiple parts.

Gaps Prior to writing out the STL consider the small gaps in your geometry. Are they essential to the physics of your problem, or can you just do without them? Clean them up in your CAD package prior to exporting the STL. Don't leave the small gaps in your STL then try to use a coarse mesh in harpoon to fill them in. This can lead to unpredictable results.

Intersections Sometimes you will have situations where one model geometry surface protrudes through another. Perhaps you have a bar protruding through a curved surface. It is best to clean this up in your CAD package, and create the conical intersection and then export your geometry with the STL surface triangle nodes lined up. It is less desirable to export the two geometries separately as STL's and let the somewhat unpredictable STL facet intersections define the intersection to Harpoon.

A well thought out STL export is always a good start to a useful harpoon mesh.


Download trial version now >>

key benefits | features | technical spec | book a demo