Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Use the 80 byte STL file header to state the units and a unique id
julian_todd
Member Posts: 5 ✭
Onshape outputs the binary STL file format, which begins with an 80 byte ascii header (which is generally ignored), followed by a 4 byte unsigned integer for the number of triangular facets in the file.
https://en.wikipedia.org/wiki/STL_(file_format)
As yet there's no common standard for what goes into the 80 byte header, so the Onshape developers have quite reasonably set this to a series of zero bytes.
However, I can think of some pretty useful information that could be crammed into these bytes in one way or another, such as:
A ) The units of the file (inches or mm), which is a problem encountered by this user:
https://forum.onshape.com/discussion/1320/exported-stl-doesnt-maintain-size-when-viewed-in-mattercontroller
B ) The UTC time that the STL file was generated.
C ) Something to the effect that the file was generated by Onshape.com
D ) A short unique code (similar to a youtube URL) that indexes into the Onshape database at the exact instance in the history tree at which the STL file was generated.
This means that if you've got the STL file (say on a 3D printer), you could easily find your way back to the source and be able to look up who made it and if there have been any updates you need to know about.
Also this code would act as a unique identifier that can be used in other 3D printing on demand systems where STL files are often distributed and lost track of. In fact it might become common practice to stamp this code in ink onto each 3D printed part whenever it's produced by a third party and shipped back to the customer. In this case it would take the place of a part number.
The code could look something like
"INCH 2015-05-06T18:19:20Z04 http://onshape.com/stl/LCcA3FJM8"
You'd want to consult with a few outsourced 3D printing companies and developers of on-line databases of STL parts in order to get this feature right. But there's no reason not to start experimenting with it now.
https://en.wikipedia.org/wiki/STL_(file_format)
As yet there's no common standard for what goes into the 80 byte header, so the Onshape developers have quite reasonably set this to a series of zero bytes.
However, I can think of some pretty useful information that could be crammed into these bytes in one way or another, such as:
A ) The units of the file (inches or mm), which is a problem encountered by this user:
https://forum.onshape.com/discussion/1320/exported-stl-doesnt-maintain-size-when-viewed-in-mattercontroller
B ) The UTC time that the STL file was generated.
C ) Something to the effect that the file was generated by Onshape.com
D ) A short unique code (similar to a youtube URL) that indexes into the Onshape database at the exact instance in the history tree at which the STL file was generated.
This means that if you've got the STL file (say on a 3D printer), you could easily find your way back to the source and be able to look up who made it and if there have been any updates you need to know about.
Also this code would act as a unique identifier that can be used in other 3D printing on demand systems where STL files are often distributed and lost track of. In fact it might become common practice to stamp this code in ink onto each 3D printed part whenever it's produced by a third party and shipped back to the customer. In this case it would take the place of a part number.
The code could look something like
"INCH 2015-05-06T18:19:20Z04 http://onshape.com/stl/LCcA3FJM8"
You'd want to consult with a few outsourced 3D printing companies and developers of on-line databases of STL parts in order to get this feature right. But there's no reason not to start experimenting with it now.
1