STL file format (pros / cons / etc.)

Continuing the discussion from I have small parts:

I proposed that the export units be written into the STL file, but was shot down.

Reason is that it would then be outside the specification, and that various other applications look for units data in various non-spec places. The team opinion (given by Thomas) is that they do not wish to be promoting some new extension of the STL specification.

The file specification needs to be adopted by some standards organization and fixed. I mean, (I think) it doesn’t even have a format version in it ! That is second data item necessary in a file header after the file typename. (Whoever originally designed the file format did not know the basics.)

Really @jim_foltz is more familiar with the code, and did a lot of work on the exporter.

I’ve always viewed the STL format is as being a bit primitive. When 3D Systems first created it to provide a simple means to import triangles into their SLA machines, I don’t think they realized the extent to which it would be used 25 years later. A further quirk is that the ASCII version has no header record, but the binary one does (along with an un-used set of bytes at the end of each record that can be used for color info, etc.). Historically, the format hasn’t changed much since 1989 … however, I noted that the original spec stated that all co-ordinate information had to be positive numbers; no negatives allowed – this has clearly changed somewhere along the line.

With almost every modern 3D system using STL as a standard input format (with no units specifier), it’s probably too late to extend the STL specification … “STL 2.0” is actually AMF which is being rolled into Microsoft’s 3MF proposal to incorporate other types of manufacture in the same file format (including the “legacy” STL format).