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
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
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
6.764929e+01 9.725301e+01 3.000000e+02
vertex 6.630964e+01 9.772569e+01
facet normal -0.337746 -0.941237
vertex 6.764929e+01 9.725301e+01
vertex 6.815260e+01 9.706421e+01 2.400000e+02
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
A well thought out STL export is always a good start to a useful
Download trial version now >>
key benefits | features | technical spec | book a demo