Blender has a Python API. Therefore, I use Python in Blender and import the GDAL libraries and construct a Blender-native mesh directly from the GIS data. The only thing you need to be careful of is that the version of GDAL you have matches the version of Python in the Blender release you are using.
If you don't want to write your own script using the Blender Python API and GDAl, there are some plugins which are available as standard which may help:
- Import DXF
- There are importers for OBJ, X3D and VRML and some 3D GIS systems will export to these (e.g. ArcScene and NVIZ) though this route is maybe necessarily strictly free.
There is an add-on for XYZ data but it is non-standard and aimed mainly at molecular data, though perhaps you could bend it to your will. For a full range of off-the-shelf importers for Blender see here. There is a PDS .IMG importer in Blender but GDAL can only read PDS IMG files (not to be confused with Erdas IMG files which are different).
So, really, your best bet if you have a GeoTiff, ASC or just about any other height data raster is to write a little script to iterate over the raster as there is no ready-made plugin for most use-cases, unless you can export your DTM to DXF, VRML or OBJ.