Talk:STL (file format)

Export Controls in Pro/E
What does Angle Control do? That's one of the values I can set when exporting STL with Pro/ENGINEER. --84.115.129.76 09:35, 28 July 2006 (UTC)


 * That's not a part of the file format itself - it probably controls some kind of automatic mesh simplification in that software. SteveBaker 19:01, 20 November 2006 (UTC)

Format Quality
Urgh! Where in this article do we get to say "STL is one of the crappiest file formats on the planet"?! SteveBaker 19:01, 20 November 2006 (UTC)
 * Nowhere, since that's WP:NPOV. There has been discussion about replacing the format with something else, but from the geometry I've seen, STEP or IGES files are no easier... And a format that's not up to that level of complexity probably won't be an improvement. --GargoyleMT 04:08, 21 November 2006 (UTC)
 * Yeah - I know it's POV - and probably OR also. It was a rhetorical question.  To be honest, I don't see the need for a 'special' file format for stereolithography in the first place - just use Collada or something. SteveBaker 15:33, 21 November 2006 (UTC)
 * Besides historical reasons? I can't find the launch date for the SLA/190, but I think it was mid-to-late 1980s.  The STL format has been around at least as long as that stereolithography machine.  --GargoyleMT 22:54, 21 November 2006 (UTC)

Color STL files
Technically both SolidView and Magics have color representation in (binary) STL files. Both of different incompatible formats, even. --GargoyleMT 04:08, 21 November 2006 (UTC)


 * Do you know the details? It would certainly be worth adding that to the article.  (Also, I'm in the process of writing some STL handling software and I'd like to be able to read and write colour information). SteveBaker 15:29, 21 November 2006 (UTC)


 * I do not know the details off the top of my head. There have been a few posts about it on the RP-ML list.  I know from experience that Magics and SolidView use different color formats; there may be more than just those two.  --GargoyleMT 23:00, 21 November 2006 (UTC)


 * Hmmm - OK, I'll see what I can find out (I'm actually already subscribed to that mailing list - so I'll just ask again there). The binary STL format has a two-byte field at the end of every triangle record that claims to be the length of the auxiliary data for that triangle.  Every binary STL I've found "in the wild" has had zeroes in those two bytes - but presumably one could put something other than zero there and have the reasonable expectation that loaders will skip that number of byte before attempting to read another triangle.  That would allow colour information to be included for each triangle.  But what format that's in is anyone's guess.  SteveBaker 06:10, 22 November 2006 (UTC)

I have added the colour STL information - YUK! SteveBaker 14:48, 23 November 2006 (UTC)

This vs STL (Standard Template Library)?
Shouldn't this article disambiguate with Standard Template Library. I could be wrong but I would expect more people who search for 'STL' on Wikipedia to be expecting to find the standard C++ library. —Preceding unsigned comment added by 86.152.22.159 (talk) 17:03, 20 February 2009 (UTC)

Name Optional?
I couldn't find anything supporting the statement that the name string is optional. So I am removing that statement as I believe it is incorrect. —Preceding unsigned comment added by Giles Bathgate (talk • contribs) 23:40, 24 February 2010 (UTC)

I suppose "optional" is equivalent to saying that it's legal for the name to have length zero. But in any case, is the name terminated by end of line only, or by something else? "The remainder of the line is ignored and is sometimes used to store metadata" suggests it's possible to put something after the name -- but no delimiter is mentioned, nor a constraint that the name may not include spaces, for example. My best guess is that this means "The name is ignored and is sometimes used to store metadata". Is this correct? Joule36e5 (talk) 01:45, 31 December 2022 (UTC)

References?
I only own one book that talks at length about STL. It's pretty much enough to reference the entire article - but articles created from a single reference aren't the greatest thing in the world.

Does anyone have anything else we can use to reference this stuff from?

SteveBaker (talk) 15:08, 11 November 2011 (UTC)

What StL/STL means
An editor inserted the statement that STL stands for "Standard Tessellation Language".

I reverted because it was unsourced. My sources refer to it as "stereolithography format". I looked for and found other places that had STL referring to Stereolithography; some even abbreviate it "StL". For further confusion, there are sites that claim such things as "STL stands for STereo Lithography (sometimes also explained as Standard Triangle Language)". Even some books use "Standard Triangle Language".

Another editor restored the tessellation definition with a link to the website http://www.rapidtoday.com/stl-file-format.html.

An existing external link in our article goes to http://www.ennex.com/~fabbers/StL.asp which uses "StL" for stereolithography. It claims the material is from Marshall Burns' book Automated Fabrication: Improving Productivity in Manufacturing, 1993, PTR Prentice-Hall ISBN 9780131194625. Burns is the founder of Ennex.. Search Google Books, and Burns' section 6.5 uses "The StL Format". (Lower case "t" does not make sense for triangle or tessellation.)

The original specification appears to be StereoLithography Interface Specification, 3D Systems, Inc., October 1989. There are both ASCII and binary forms (STLA and STLB). I do not have access to a copy of that specification. From Burns, I get the sense that StL (and its meaning) originated in this specification.

My take is the original meaning of StL was STeroLithography; since then, others have used terms such as "Standard Triangle Language" and "Standard Tessellation Language".

Claiming that STL means Standard Tessellation Language violates WP:NPOV.

Glrx (talk) 21:05, 9 February 2012 (UTC)


 * Email exchange in 2001 also shows question about meaning of STL. See http://rapid.lpt.fi/rp-ml-2001/2493.html where someone offers a quote from 3D Systems specification as: "... These triangle files are also called "STL" for StereoLithography files and they are typically given the file extension of .STL ..." Glrx (talk) 22:09, 9 February 2012 (UTC)


 * Stumbled across another email at http://rapid.lpt.fi/rp-ml-2001/2507.html :

>> Another quote from the Specification: >> "CAD vendors have written interfaces to convert their fully >> surfaced or solid models into a readable format for >> StereoLithography. This readable format is known as >> a StereoLithography file (.STL). The file extension (.STL) >> is optional and may vary among interfaces." >> >> The StereoLithography Interface Specification Oct. 1989 does >> not even mention >> "tessellation" at all. It refers to "facets" and "faceted data" and >> "triangle data", and "triangular faceted model"
 * Glrx (talk) 01:17, 11 February 2012 (UTC)

normals whats the point?
can anyone help me understand the need for the normal, this (stl) being such a basic 3d format, i was surprised it still has this redundant data.

so, is it;

1. that in bygone-ages the computational cost was much higher than the storage/transmission cost. (obviously a situation that has been reversed for many a year.)

2. that the right-hand-rule is more recent than the format?

3. something to do with very low precision allowing facets to be significantly non-planar and so having a slightly ambiguous normal.

(i ask this because i came here to find out and its not in the article) — Preceding unsigned comment added by 81.141.162.92 (talk) 21:52, 31 May 2012 (UTC)

I think the normals were included because there was some trouble in determining inside-vs-outside. Rather than ensuring the data creators used a particular convention for ordering the vertices, it was simpler to add the normal to point to the inside or outside of the part. That way the using app at most had to flip all the normals instead of having to go facet by facet to compare them. Of course some apps set the normal to all zeros, some point the normal the wrong way. The confusion can be seen here: Three d dave (talk) 05:25, 15 February 2015 (UTC)

I think the normals are absoluut essential because they define the inside or the outside of the object. This information must be added to the wikipedia page. I would if I knew the answer.[ Defining the normal as all zeroes has nothing to do with this matter, because the normal is still known by the outer product. (I would have defined it as the outer product and saved one quarter of the storage.)] For those who are confused by the subject. Look at the three points such that the order is in clockwise fashion. I can be looking from inside the solid object or from the outside. 80.100.243.19 (talk) 17:13, 15 November 2018 (UTC)

What units have the STL vertex coordinates?
I fear they have no units (mm, inch). If they have no units, why? And shouldn't this info be part of the article? Are there "common" STL units? 87.159.158.45 (talk) 10:36, 22 February 2013 (UTC)

Significant flaw, to have no units, if the industry hasn't converged in agreement. And jumping between 3D tools, it certainly appears that way. Finding MeshMixer is not consistent with units even with itself. — Preceding unsigned comment added by 64.222.87.206 (talk) 01:31, 17 October 2014 (UTC)


 * If the industry has not come to agreement on the units, isn't it better to leave them unspecified? —Tamfang (talk) 04:31, 17 October 2014 (UTC)

Was .stl ever patented?
Hi

We're trying to add .stl support to Wikipedia, does anyone know if .stl ever have a patent and if so when did it run out?

Thanks

John Cummings (talk) 16:17, 18 August 2016 (UTC)


 * I don't know.
 * According to the WP article, STL was first published in July 1988. The inventors would have to file for a patent within one year of first publication. A 1988/1989 patent filing has a remote possibility that it is still pending: i.e., a submarine patent. I doubt that is the case.
 * I don't see anything novel in STL that would have been patentable. STL is a poor-man's boundary representation because it uses unconnected faces rather than connected faces. IGES was first published in 1980.  IGES Version 3 was published in 1986; it had a bounded plane entity. Algorithms for solid modeling were well-developed by the time STL came out.
 * The GIF file format is not an appropriate analogy. The issue in GIF was the 1985 Lempel–Ziv–Welch (LZW) data compression patent rather than the file format itself. The same compression algorithm patent arises in other file formats. JPEG is a stream/file format that can use one of several compression algorithms; its arithmetic compression algorithm was rarely used due to licensing issues; see JPEG. The format is not the issue; the encoding process patent is.
 * Copyright would protect the specification (people could not just republish a copy they acquired), but it would not prevent somebody from reading and using that specification. A copyright cannot be used to lay claim to others' works.
 * Glrx (talk) 02:39, 25 August 2016 (UTC)
 * Glrx (talk) 02:39, 25 August 2016 (UTC)

Include 3D printing slicers in Software section?
Is there a reason the slicer programs used for 3D printing are not included in the list of software that uses STL files? I notice the list does not include many of the more commonly used slicing programs, such as Cura, Simplify3D, slic3r, etc. If this omission is by design, I can understand that. So, my question is: Is there a consensus that these slicing programs should not be included? — Preceding unsigned comment added by Mgg4 (talk • contribs) 01:06, 23 January 2018 (UTC)

ASCII STL VS Binary STL under Use in 3D printing
Under "Use in 3D printing" can someone pls add if you should use ASCII or Binary stl files. Or whats good or bad etc (pros and cons)

Citations for representation of curved surfaces.
Hi, a while ago I edited this piece of the article to fill in the "examples needed" tag on the sentence about how some programs can do curved surfaces. I thought my edit was fine, but on second thought I haven't done this before, until then all my edits have been fixing links and grammar. Does it look fine to you guys?

"It is not possible to use triangles to perfectly represent curved surfaces. To compensate, users often save enormous STL files to reduce the inaccuracy. However, native formats associated with many 3D design software use mathematical surfaces to preserve detail losslessly in small files. For example, Rhino 3D[10] and Blender[11] implement NURBS to create true curved surfaces and store them in their respective native file formats, but must generate a triange mesh when exporting a model to the STL format." The citations were added to the article, and pull from the manuals for these programs. // NomadicVoxel (talk) 21:46, 3 July 2021 (UTC)
 * @NomadicVoxel: I don't think naming Robert McNeel & Associates as the authors is correct in the Rhino 3D citation – the site states that they hold the copyright, but not that they actually wrote the text being referenced –, so I've removed that. Apart from that, as someone who hasn't been here that long, either, looks pretty good to me. – Rummskartoffel 22:15, 3 July 2021 (UTC)
 * Yikes, didn't think to check the citation maker's work. Thanks. Also, sorry to post twice on this, mobile reply was weird and did it as a top-level comment // NomadicVoxel (talk) 22:28, 3 July 2021 (UTC)
 * No worries, I saw it either way 🙂. – Rummskartoffel 09:00, 4 July 2021 (UTC)

Ah yikes I didn't think to review the citation generator. Thanks. // NomadicVoxel (talk) 22:22, 3 July 2021 (UTC)