One of the CAD programs I use is called TinkerCAD, which lets you export your design in either STL or OBJ form. What is the difference between these two file types? And which one is better to use?
2 Answers
STL is the de facto standard in consumer-grade 3D printing. It is a bare-bone format that describes the shape of the object by defining the coordinates of all the vertices of all triangles that a surface may be subdivided into.
This means that in STL any curved surface is represented with an approximation of many very small faces.
OBJ is also somewhat common, but it was originally developed for computer graphics, not manufacturing, and as such is capaple to store information like the texture images to be applied to the surface, which are of no use in the 3D printing world.
In terms of geometry description, OBJ is more capable than STL, as it can describe "real" curves, without the need to approximate them to a series of polygons. The benefit of this feature is however more theoretic than practical, as:
- most entry-level CAD software don't make use of that feature and create a STL-equivalent OBJ file (so, still with polygons)
- a typical STL model for 3D printing will have enough resolution to give the illusion of perfect curves (the same way a high-res screen gives the illusion of perfect curves, despite its pixels being arranged in a squared matrix),
- the slicer/printer's firmware may themselves approximate an accurate curve to a series of segments
Short said, I would suggest you use STL unless you have a specific reason not to.
If you would find yourself in need to accurately describe curves I would rather use the STEP file format, as that has been specifically created for manufacturing, rather than "borrowed" from computer graphics.
-
2$\begingroup$ Two important points regarding TinkerCad: - The OBJ file format,...is also gaining traction in the 3D printing industry as the industry moves towards full color printing. - STEP also supports "Constructive Solid Geometry" which primarily how TinkerCad works. source: article on All3DP (thanks @tmartin ) $\endgroup$ Commented Mar 8, 2018 at 19:11
-
$\begingroup$ @DavidLotts - Mmm... I think you misunderstood slightly either my answer either the article. :) "Constructive Solid Geometry" is how all modern CAD software work and the sentence "the STEP file format has been specifically created for manufacturing" refers to that. OBJ support colour, but let me state it again: it has not been designed for manufacturing and lack flexibility and features. For what I can see all people who have multi-material printers prefer the AMF format (which stands for "Additive Manufacturing Format", so specific for 3D printers). $\endgroup$– macCommented Mar 8, 2018 at 20:34
-
$\begingroup$ @DavidLotts - Bottom-line. Feel free to use whatever you prefer, but when it comes to geometry description OBJ does not offer any substantial advantage over other formats that are much more established (like SLT), and when it comes to extra features (materials colours) it falls short over other designed-for-manufacturing standards (like AMF, STEP). :) $\endgroup$– macCommented Mar 8, 2018 at 20:38
-
$\begingroup$ I agree with all your points! Mostly my comment was to add color since you did not mention it in your answer. The OP asked about STL or OBJ only. I don't know if Tinkercad can add texture/color information to OBJ -- but if you find a source, it might be a good addition to your already awesomely practical answer. $\endgroup$ Commented Mar 14, 2018 at 5:46
While the STL-format can only describe your object aproximatively by those well known triangles, OBJ-files can describe parts of your object parametrically by curves. This can lead to a higher precision and be a huge advance with regard to scalability. Which data format to choose depends, as always, on the application and the processes it contains. E.g. if you want to print large objects, you might consider the OBJ-format if your slicer can translate it to usable g-code.
You might want to read this article on All3DP to get a brief overview.
-
$\begingroup$ +1 for the article link, detailed coverage and comparison of a whole bunch of formats. Also, you omitted obj does color, which is becoming more important. $\endgroup$ Commented Mar 8, 2018 at 18:52
-
$\begingroup$ I would go even further. IMO texture images will get an asset, as first printers allready combine FDM with inkjet technologies. $\endgroup$– tmartinCommented Mar 8, 2018 at 20:18