Jump to content

Enhanced STL Format


Nicolinux

Recommended Posts

Posted · Enhanced STL Format

Now that YouMagine sets out to be more than just a site where .stl files for printing are shared, I thought about a cool new feature that might provide some value to it.

Add metadata to .stl files with information about critical printing parameters.

Most printable objects on Thingiverse (and now YouMagine) are made by people who have already printed their creations - maybe several times. So these people know best how their objects should be printed. Wouldn't it be cool to download a .stl file, load it into Cura and have it automatically pull in values like:

 

  • layer height
  • shell thickness
  • top/bottom thickness
  • fill density
  • print speed
  • temperature
  • cooling on/off

Sure there are differences between printers, but many values apply and when someone prints an object for the first time (without knowing about its exact specifics), any clue or starting point is valuable.

Technically this could be implemented without changing the .stl format. Binary .stl files have a header of 80 characters. This place can be used to encode printing values. Sure this encoding needs to be consistent, but if this "standard" catches on, it can have a "soft" deployment without impairing other slicers.

Here is an example. Say I want to encode the following values:

 

  • layer height: 0.2
  • shell thickness: 0.8
  • top/bottom thickness: 0.6
  • fill density: 20
  • print speed: 75
  • temperature: 225
  • cooling on/off: 1

The metadata could look like:

 


<:estelle:>lh:0.2;st:0.8;tbt:0.6;fd:20;ps:75;te:225;co:1<:estelle:>

"estelle" stand for enhanced .stl and is a female name just be fancy :)

So all YouMagine and Cura had to do is to parse .stl files and interpret this values.

Another, maybe cooler way would be to encode entire profiles in these 80 chars. I know that Cura does this for .gcode files already. If there are not enough characters to encode the entire profile, maybe provide a service where Cura profiles can be shared (another YouMagine only feature) and where each profile would have a short and unique id that is written to .stl files. This way Cura could lookup the id and pull in the entire profile.

However it is done technically, the benefit of printing parameters in .stl files is pretty big. How many times did I download an object, printed it just to see that I have chosen the wrong parameters. Then I start to hunt for other "made" objects and see if someone was kind enough to write down his printing parameters.

What dou you think?

 

  • Link to post
    Share on other sites

    Posted · Enhanced STL Format

    Cura and YouMagine already support the AMF format. And I am planning to add features like this to the AMF saving.

    However, this will violate the AMF standard, as they do not allow custom tags or meta-data.

    (In theory you could also put binary data at the end of a binary STL file, but those are all ugly hacks which I would not recommend)

     

  • Link to post
    Share on other sites

    Posted · Enhanced STL Format

    New standards are not adopted if they are not somehow enforced.

    The site could suggest to add both STL and AMF files. If only STL files are uploaded, the site could automatically generate AMF files, so that these are also available for download.

    The visitors would see AMF files and start to use them too!

    Regarding the lack of print settings, a text file with the design's information/instructions could be automatically added to the zip file for downlad (or even also to the documents list).

     

  • Link to post
    Share on other sites

    Posted · Enhanced STL Format

    We're already working towards that. Cura's new YouMagine upload does upload STL files, but if you have a dual-color model loaded it will upload an AMF file of that instead.

    YouMagine also converts ascii STL files to binary STL to improve compatibility with all software and decrease download size.

     

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 7 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...