The STL file format is one of the primary ways in which 3D models are exported from software and sent to a printer. This binary file type is short for “STereoLithographic” and contains information about how to create a solid object from a series of thin slices—called “voxels”—and where those slices should be thickest. Although many different programs export files in STL format, that doesn't mean every program can read them. If your program can't read an STL file, but it's a common file type that you think it should be able to open, there's probably something wrong with the file. There are many common errors that can make an STL unreadable by one program or another, so if you run into problems opening it, here are some things you can check first.
Incorrect file dimensions are probably the most common reason that a model can’t be opened. If an STL file is supposed to be a cube, but one of its dimensions is off, then one of two things will happen. The most likely scenario is that the file will just be ignored completely by 3D modeling software, since it won’t have enough information to do anything with the file. In a worse-case scenario, the file may be opened but with a warning specifying that one of the dimensions is out of range. This could be a sign of corruption, but it could also just be an error from the original modeler. Just because STL files are mathematically precise doesn’t mean that the people who create them always follow the rules properly.
Most 3D modeling programs can save files in dozens of different formats, and they’re very good at converting between them. Unfortunately, not all programs can read every format back in again, especially if the units don’t match. For example, if you’re trying to open a file written in millimeters in an imperial-only program like Blender, the file will probably be rejected, or it may open with incorrect dimensions. If you know that the file you’re trying to open has incorrect units, the easiest way to fix it is to open the file in a program that can read it in the correct format. Then you can save it with the correct settings
This problem is similar to the previous one, but it can also indicate a more serious problem with the file. Many 3D modeling programs let you save an STL file at different levels of detail. At the highest level of detail, every voxel in the file is unique and exactly positioned. At the lowest level of detail, only the general shape of the model is included, with a single voxel repeated in each position. At the high level of detail, the model should be an exact and accurate representation of the 3D model. But at the low level of detail, it should only be a general representation.
This is another problem of mesh size and shapes. At its highest level of detail, every voxel in the file should be unique. At the lowest level of detail, every voxel in the file should be repeated. But face directions at the highest level of detail should be unique, and those at the lowest level of detail should be the same for every voxel in the file. If you are trying to open an STL model at its highest level of detail, but the face directions are incorrect, the file may be corrupted. If you are opening it at a lower level of detail, you may just have a file with reversed face directions. Whichever it is, it could cause problems when you print your model.
Duplicate voxels can cause problems with the hexadecimal numbers, the ordering of the voxels, and the number of voxels in a single object. If the hexadecimal numbers are incorrect, the file may be corrupted or it could be due to a duplicate voxel. Duplicate voxels will change the position of the hexadecimal numbers that refer to them, so if you see numbers that aren’t in sequence, a duplicate voxel is probably to blame. Duplicate voxels can also be responsible for an incorrect number of voxels in a file. If the number of voxels doesn’t match what it should be, it’s probably because there are some that are being counted twice thanks to a duplicate voxel.
The number of voxels in a row of the file also indicates how many voxels there should be in a file. If a row has too many voxels, then a single voxel will be repeated in the same place multiple times. If a row has too few voxels, then there will be empty spots in the file, which can cause problems in some programs.
Voxel Offset
The voxel offset is the relative position of a voxel in relation to the other voxels in a file. If you have a file that has an incorrect voxel offset, then the positions of all of the other voxels in that file will be wrong. This can cause problems with programs when they try to read the file and don’t know how to interpret its contents.
The length of a voxel can vary between programs, and sometimes even within a program. Programs determine how long a voxel should be based on the number specified by its hexadecimal number, but some programs might use bytes while others use bits or some other unit of measurement. There isn’t necessarily one standard length for each number, so it’s important to check if your program uses bytes or bits when you are trying to open up an .obj file. Some programs also have different lengths for different types of objects, so if you are using one program for modeling organic objects and another for modeling mechanical objects, then there could be problems with them being incompatible because their voxels are too large or small.
In order to get around these issues with different lengths for different types of objects, you can convert between units so that they both use bytes as their unit of measurement. You can do this by dividing bytes by 8 (the number used by most computers) or by 1,024 (the unit used by most scientists). For example, if you were to divide 1,024 by 8 then the result would be 128. This means that the length of a voxel would be 128 bytes. If you were to divide 1,024 by 16 then the result would be 64. This means that a voxel would be 64 bits long.
There are many programs that can convert between units of measurement, but one of the easiest ways is to use Google search and find a website that gives conversion tables. This website has a table for converting bytes into bits, as well as one for converting bytes into hexadecimal numbers . There are also websites that can convert between binary and hexadecimal , so it’s good to keep these in mind when searching for conversion tables because they will provide more options than just ones for bytes and bits .
The data structure is how your program stores information about things like how big an object is or which way it should face when rendered for display on screen or in print. Different programs store this information in different ways, so if you try to open up an .obj file in one program and it’s not working properly then there might be something wrong with the data structure rather than with your model itself. You can tell if there is something wrong with your data structure by looking at your model while it’s being loaded – if everything looks okay at first and then suddenly turns completely black, the data structure is probably what’s causing the problem.
The data structure of an .obj file is made up of different kinds of points, lines, and polygons. A polygon is a collection of connected lines that form a closed shape, and a point is just an x,y coordinate that specifies where something is in 3D space. The exact format of this data structure varies depending on which program you are using to view or edit your model; Blender’s .obj files store their data in one way while Softimage’s .obj files store their data in another way. Fortunately there are conversion programs available that can convert between different formats , so if you want to open your model in a program other than the one you originally used to create it then you might be able to find a conversion program online that will let you do it.
As for how Blender stores its .obj files: I’m not entirely sure since I haven’t looked through the code for Blender myself yet (I don’t know C++), but from what I can tell it uses what are called “Vertex Groups” as its main way of storing information about how models should be rendered; each Vertex Group contains information about how one particular part of the model should look like when rendered (the vertices associated with each Vertex Group contain information about how they should look like when rendered).
All of the hexadecimal numbers in an STL file should be aligned with the edge of their voxels, but they don’t necessarily have to be in the same place as the voxels themselves. If you find a voxel with a hex number that is aligned with a voxel that doesn’t have that hex number, then it is likely that the voxel was moved to the wrong place after the file was saved, and the hex numbers aren’t aligned correctly with their voxels.
Misaligned Hexadecimal Numbers in a Polygon row
If you find a polygon with a hex number that is aligned with a voxel that doesn’t have that hex number, then it is likely that the voxel was moved to the wrong place after the file was saved, and the hex numbers aren’t aligned correctly with their voxels.
Misaligned Hexadecimal Numbers in an Edge row
If you find an edge that has an incorrect amount of vertex groups (as defined by the hex numbers), then it is likely that this edge was moved to the wrong place after the file was saved, and its vertex groups are not correctly aligned. This can be fixed by adding or removing vertex groups from the edge.
If you open an STL file and the modeling software says that it has the wrong number of vertices or faces for the object, then one of the most likely issues is scaling. If a model has been scaled down, then it will have fewer vertices and faces than it should, and the software will report that it has too many when you try to open it. If a model has been scaled up, then it will have more vertices and faces than it should, and the software will report that it has too few when you try to open it.
We recommend these two options for repairing your STL files:
If you have any issues with repairing your STL files yourself, our highly experienced 3D printing service providers could help you solve them. It is the responsibility of the customer though to provide the correct models, so good and clear communication with us is always recommended.
If none of these problems are the culprit, then the file may just be corrupted. In that case, there’s not much you can do besides try to download the file again or ask the person who created it to send it to you again. Fortunately, these are the most common issues with STL files. If you run into any of them, there are relatively simple steps you can take to fix the problem.
Sign Up to get our monthly news Letter
All Rights Reserved | Mitchell and Son Additive Manufacturing Ltd | Registered Company in England and Wales | Company Number : 12038697
| Public Liability Insurance no. 14615097
Insurer: AXA XL