How to open an STL Mesh file in Linux

  • #1
1,131
158
TL;DR Summary
I want to figure out how to open a STL file in Linux
I am building up a mesh via defining a background mesh (using blockMesh) and snappyHexMesh

I am dealing with the STL 2D Mesh surface (I cannot uploaded because PF doesn't accept zip files nor STL).

My issue comes when I want to open it. When I run vi constant/triSurface/river.stl in the linux terminal I get the following messy output

BugWhenOpeningSTLfile.png


This might be because I do not have an installed software (in Linux) to open the file. I looked up how to fix the problem (introducing the commands recommended in the most upvoted answer here: https://askubuntu.com/questions/247398/what-software-should-i-install-for-opening-stl-files) but it did not work.

Any help is appreciated :)
 

Answers and Replies

  • #2
Vi doesn't show you anything helpful because the STL is a binary file, not a text file.

What do you want to do with the mesh? If you want to view and edit it then, as one of the askubuntu replies notes, Blender ought to be able to import it. Install it (it's free software and you can get it via apt/aptitude/whatever package manager you like) and go to File -> Import and one of the options should be STL. Be aware that Blender has a fairly steep learning curve.
 
  • #3
Google says there's plenty of ways to convert .stl files from binary to ascii.
 
  • #4
Google says there's plenty of ways to convert .stl files from binary to ascii.
But converting a binary file to ascii might not be any help at all.
 
  • #5
But converting a binary file to ascii might not be any help at all.
gotta work better than vi .
 
  • #6
That's why I asked what OP wants to do.

There are both binary and ASCII STL formats, and converting the file to ASCII would allow text processing tools to modify it and allow direct manual viewing and editing in vi. It's only really practical for very simple meshes, but it can be done. Opening in Blender or similar would allow visualisation and editing.
 
  • #7
Vi doesn't show you anything helpful because the STL is a binary file, not a text file.

What do you want to do with the mesh?

The main aim is not to visualize it (to do so I use paraView) but to check the text associated to it (yellow box).

437297987348274NNDNDJ732784.png


The point of this is that, later in the tutorial, I split the STL file, open the generated STL file and compare it to the first

437297987348274NNDNDJ732784.png
 
  • #8
The problem is that there are both binary and ASCII formats for STL files. You have a binary file but the notes assume you have an ASCII file. You either need to tell the software that produced the file to produce an ASCII STL instead of a binary one (assuming that's possible in your program), or get a program to convert binary STLs to ASCII.
 
  • #9
Thank you Ibix, I got it! :biggrin:

get a program to convert binary STLs to ASCII.

I used paraView, did this, run vi constant/triSurface/river.stl and it worked!
 
  • #10
You either need to tell the software that produced the file to produce an ASCII STL instead of a binary one (assuming that's possible in your program), or get a program to convert binary STLs to ASCII.
Or do the editing in paraView itself - that is what it is for.
 

Suggested for: How to open an STL Mesh file in Linux

Replies
5
Views
208
Replies
4
Views
459
Replies
12
Views
5K
Replies
3
Views
479
Replies
10
Views
656
Replies
8
Views
776
Replies
5
Views
496
Replies
5
Views
853
Back
Top