STL-bestanden: alles wat u moet weten over dit formaat en zijn alternatieven

STL-weergave

Als je de wereld van 3D-printen bent binnengegaan, heb je het acroniem STL zeker op meer dan één plek gezien. Deze acroniemen verwijzen naar: een type bestandsformaat (met extensie .stl) wat erg belangrijk is geweest, hoewel er nu enkele alternatieven zijn. En het is dat, zoals u weet, 3D-ontwerpen niet kunnen worden afgedrukt zoals ze zijn, en er zijn enkele tussenstappen nodig.

Wanneer u het concept van een 3D-model heeft, moet u CAD-ontwerpsoftware gebruiken en de render genereren. Vervolgens kan het worden geëxporteerd naar een STL-indeling en vervolgens door een slicer worden gestuurd die het "snijdt" om bijvoorbeeld een GCode te maken die begrijpelijk voor 3D-printer en zodat de lagen kunnen worden gemaakt totdat het stuk is voltooid. Maar maak je geen zorgen als je het niet helemaal begrijpt, hier zullen we alles uitleggen wat je moet weten.

3D-modelverwerking

Blenders

Met conventionele printers heb je een programma, zoals een PDF-lezer, of een teksteditor, een tekstverwerker, enz., waarin er een functie is om af te drukken die, wanneer erop gedrukt, het document naar de afdrukwachtrij gaat gedrukt worden. In 3D-printers is het echter een beetje ingewikkelder, omdat Er zijn 3 categorieën software nodig Om het te laten werken:

  • 3D-modelleringssoftware: Dit kunnen modellerings- of CAD-tools zijn waarin u het model kunt maken dat u wilt afdrukken. Enkele voorbeelden zijn:
    • TinkerCAD
    • Blenders
    • BRL-CAD
    • Ontwerp Spark Mechanisch
    • FreeCAD
    • OpenSCAD
    • Vleugels3D
    • Autodesk AutoCAD
    • Autodesk Fusion 360
    • Autodesk Inventor
    • 3D schuine streep
    • Sketchup
    • 3D MoI
    • Neushoorn3D
    • Cinema 4D
    • SolidWorks
    • Maya
    • 3DS Max
  • snijmachines: het is een type software dat het bestand dat door een van de vorige programma's is ontworpen, neemt en het in plakjes snijdt, dat wil zeggen, het in lagen snijdt. Op deze manier kan het worden begrepen door de 3D-printer, die het, zoals u weet, laag voor laag opbouwt en omzet in G-code (een overheersende taal bij de meeste 3D-printerfabrikanten). Deze bestanden bevatten ook aanvullende gegevens zoals afdruksnelheid, temperatuur, laaghoogte, of er sprake is van multi-extrusie, enz. Eigenlijk een CAM-tool die alle instructies voor de printer genereert om het model te kunnen maken. Enkele voorbeelden zijn:
    • Ultimaker-behandeling
    • Repeater
    • Vereenvoudig3D
    • slic3r
    • KISSlicer
    • idee Maker
    • Octo-afdruk
    • 3DPrinterOS
  • Printerhost of hostsoftware: in 3D-printen verwijst het naar een programma waarvan het nut is om het GCode-bestand van de slicer te ontvangen en de code zelf aan de printer te leveren, meestal via een USB-poort of via een netwerk. Op deze manier kan de printer dit «recept» van GCode-commando's interpreteren met de coördinaten X (0.00), Y (0.00) en Z (0.00) waarnaar de kop moet worden verplaatst om het object en de benodigde parameters te creëren. In veel gevallen is de hostsoftware geïntegreerd in de slicer zelf, dus het is meestal een enkel programma (zie voorbeelden van Slicers).
Terwijl je in de ontwerpsoftware de vrijheid hebt om degene te kiezen die bij je past, is dit bij de andere twee niet het geval. 3D-printers ondersteunen meestal slechts een of meerdere ervan, maar ze ondersteunen ze niet allemaal.

Deze laatste twee punten ze komen meestal met de 3D-printer zelf, zoals conventionele printerstuurprogramma's. Echter, ontwerpsoftware Die zul je apart moeten kiezen.

Snijden: wat is een 3D-schuifregelaar?

In het vorige gedeelte heb je meer geleerd over een schuifregelaar, dat wil zeggen, de software die het 3D-model snijdt dat is ontworpen om de benodigde lagen, vormen en afmetingen te verkrijgen, zodat de 3D-printer weet hoe hij het moet maken. Echter, het snijproces bij 3D-printen het is best interessant en een fundamentele fase in het proces. Daarom kunt u hier meer informatie over krijgen.

plak, plak 3D

El stap voor stap snijproces verschilt enigszins, afhankelijk van de gebruikte 3D-printtechnologie. En in principe kun je onderscheid maken tussen:

  • FDM snijden: In dit geval is nauwkeurige besturing van meerdere assen (X/Y) nodig, omdat ze de kop in twee assen bewegen en de beweging van de printkop in hoge mate nodig is om het driedimensionale object te bouwen. Het bevat ook parameters zoals de temperatuur van de spuitmond en de koeling. Zodra de slicer de GCode heeft gegenereerd, zullen de algoritmen van de interne printercontroller de benodigde opdrachten uitvoeren.
  • SLA snijden: In dit geval moeten de commando's ook de belichtingstijden en elevatiesnelheden bevatten. En dit komt omdat, in plaats van lagen af ​​te zetten door extrusie, je de lichtstraal naar verschillende delen van de hars moet richten om het te laten stollen en lagen te creëren, terwijl je het object optilt om een ​​nieuwe laag te creëren. . Deze techniek vereist minder bewegingen dan FDM, omdat alleen een reflecterende spiegel wordt bestuurd om de laser te richten. Bovendien moet iets belangrijks worden benadrukt, en dat is dat dit soort printers meestal geen GCode gebruiken, maar eerder hun eigen propriëtaire codes hebben (daarom hebben ze hun eigen snij- of slicersoftware nodig). Er zijn echter enkele generieke geneesmiddelen voor SLA, zoals ChiTuBox en FormWare, die compatibel zijn met veel 3D-printers van dit type.
  • DLP- en MSLA-slicing: In dit andere geval zal het vergelijkbaar zijn met SLA, maar met het verschil dat de enige beweging die hierin vereist is die van de bouwplaat is, die tijdens het proces langs de Z-as zal bewegen. De overige informatie wordt gericht op het tentoonstellingspaneel of scherm.
  • Ander: Voor de rest, zoals SLS, SLM, EBM, etc. kunnen er merkbare verschillen zijn in de printprocessen. Houd er rekening mee dat in deze drie genoemde gevallen ook een andere variabele wordt toegevoegd, zoals de injectie van het bindmiddel en een complexer snijproces vereist. En daar moeten we aan toevoegen dat het SLS-printermodel van een merk niet hetzelfde zal werken als de SLS-printer van de concurrentie, dus specifieke snijsoftware is vereist (meestal zijn dit propriëtaire programma's die door de fabrikant zelf worden geleverd).

Tot slot zou ik willen toevoegen dat er een Belgisch bedrijf is genaamd Materialise wie heeft er een gemaakt complexe software die dienst doet in alle 3D-printtechnologieën en een krachtige driver voor 3D-printers genaamd Magie. Bovendien kan deze software worden uitgebreid met modules om het juiste snijbestand voor specifieke machines te genereren.

STL-bestanden

STL-bestand

Tot nu toe werd verwezen naar de STL-bestanden, die de kern van dit artikel vormen. Dit populaire formaat is echter nog niet diepgaand onderzocht. In dit gedeelte zul je het in de diepte kunnen leren kennen:

Wat is een STL-bestand?

Formaat STL-bestand het is een bestand met wat het 3D-printerstuurprogramma nodig heeft, dat wil zeggen, zodat de printerhardware de gewenste vorm kan afdrukken, met andere woorden, het maakt het mogelijk om de geometrie van het oppervlak van een driedimensionaal object te coderen. Het is in de jaren tachtig gemaakt door Chuck Hull van 3D Systems en het acroniem is niet helemaal duidelijk.

De geometrische codering kan worden gecodeerd door: mozaïekpatroon, waarbij de geometrische vormen zo tussen elkaar worden geplaatst dat er geen overlappingen of spaties zijn, dat wil zeggen, als een mozaïek. Vormen kunnen bijvoorbeeld worden samengesteld met behulp van driehoeken, zoals het geval is bij GPU-rendering. Een fijnmazig netwerk bestaande uit driehoeken vormt het gehele oppervlak van het 3D-model, met het aantal driehoeken en de coördinaten van hun 3 punten.

Binaire STL versus ASCII STL

Het maakt onderscheid tussen STL in binair formaat en STL in ASCII-formaat. Twee manieren om de informatie van deze tegels en andere parameters op te slaan en weer te geven. EEN Voorbeeld ASCII-indeling zou:

solid <nombre>

facet normal nx ny nz
outer loop
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
endloop
endfacet

endsolid <nombre>

Waar «vertex» de benodigde punten zijn met hun respectievelijke XYZ-coördinaten. Bijvoorbeeld om te creëren een bolvorm, u kunt dit gebruiken voorbeeld ASCII-code.

Wanneer een 3D-vorm erg complex of groot is, betekent dit dat er veel kleine driehoekjes zijn, zelfs meer als de resolutie hoger is, waardoor de driehoeken kleiner worden om de vormen glad te strijken. Dat genereert enorme ASCII STL-bestanden. Om dat te comprimeren, gebruiken we STL-formaten binaire bestanden, zoals:

UINT8[80] – Header                               - 80 bytes o caracteres de cabecera
UINT32 – Nº de triángulos                    - 4 bytes
for each triangle                                        - 50 bytes
REAL32[3] – Normal vector                  - 12 bytes para el plano de la normal
REAL32[3] – Vertex 1                              - 12 bytes para el vector 1
REAL32[3] – Vertex 2                             - 12 bytes para el vector 2
REAL32[3] – Vertex 3                             - 12 bytes para el vector 3
UINT16 – Attribute byte count              - 2-bytes por triángulo (+2-bytes para información adicional en algunos software)
end

Als je dat wenst, hier heb je een STLB-bestand of voorbeeld binaire STL om te vormen een simpele kubus.

Tot slot, als u zich afvraagt ​​of is beter een ASCII of een binair, de waarheid is dat binaire bestanden altijd worden aanbevolen voor 3D-printen vanwege hun kleinere formaat. Als je de code echter wilt inspecteren en handmatig wilt debuggen, dan heb je geen andere manier om dit te doen dan ASCII en een bewerking te gebruiken, omdat het intuïtiever te interpreteren is.

Voor- en nadelen van de STL

STL-bestanden hebben zoals gewoonlijk hun voor- en nadelen. Het is belangrijk dat u ze kent om te bepalen of dit het juiste formaat is voor uw project of wanneer u het niet moet gebruiken:

  • Voordelen:
    • Is een universeel en compatibel formaat met bijna alle 3D-printers, daarom is het zo populair tegen anderen zoals VRML, AMF, 3MF, OBJ, enz.
    • Het heeft een volwassen ecosysteem, en het is gemakkelijk om alles wat u nodig heeft op internet te vinden.
  • Nadelen:
    • Beperkingen op de hoeveelheid informatie die u kunt opnemen, omdat het niet kan worden gebruikt voor kleuren, facetten of andere aanvullende metadata om copyright of auteurschap op te nemen.
    • La trouw is een van zijn zwakke punten. De resolutie is niet erg goed bij het werken met printers met een hoge resolutie (micrometer), omdat het aantal driehoeken dat nodig is om de curven vloeiend te beschrijven immens zou zijn.

Niet alle STL's zijn geschikt voor 3D-printen

Het lijkt erop dat elk STL-bestand kan worden gebruikt om in 3D af te drukken, maar de waarheid is dat niet alle .stl kunnen worden afgedrukt. Het is gewoon een bestand dat is geformatteerd om geometrische gegevens te bevatten. Om ze te kunnen afdrukken, moeten ze details over de diktes en andere noodzakelijke details hebben. Kortom, de STL garandeert dat het model goed te zien is op het pc-scherm, maar dat de geometrische figuur mogelijk niet solide is als het wordt afgedrukt zoals het is.

Dus probeer controleer of de STL (als je het niet zelf hebt gemaakt) is geldig voor 3D-printen. Dat scheelt je een hoop tijdverspilling en ook nog eens verspild filament of hars op het verkeerde model.

controverse

Om dit punt af te ronden, moet je weten dat er een controverse over het al dan niet gebruiken van dit bestandstype. Hoewel er nog steeds veel zwermen rond, beschouwen sommigen de STL al als dood in vergelijking met de alternatieven. En enkele van de redenen die ze geven om de STL voor 3D-ontwerpen te vermijden, zijn:

  • slechte resolutie omdat er bij het trianguleren wat kwaliteit verloren gaat in vergelijking met het CAD-model.
  • Kleur en texturen gaan verloren, iets dat andere, meer actuele formaten al toestaan.
  • Geen opvulcontrole geavanceerd.
  • Andere bestanden zijn productiever bij het bewerken of nakijken ervan dan een STL voor het geval een rectificatie nodig is.

Software voor .stl

CAD versus STL

Enkele Veelgestelde vragen over het STL-bestandsformaat ze verwijzen meestal naar hoe dit formaat kan worden gemaakt, of hoe het kan worden geopend en zelfs hoe het kan worden gewijzigd. Hier zijn deze verduidelijkingen:

Hoe een STL-bestand te openen

Als je je afvraagt ​​hoe open een STL-bestand, je kunt het op verschillende manieren doen. Een daarvan is via sommige online kijkers, of ook met software die op uw computer is geïnstalleerd. Hier zijn enkele van de beste opties:

Hoe maak je een STL-bestand aan

naar STL-bestanden maken, heb je ook een goed repertoire aan software voor alle platforms, en zelfs online opties zoals:

*Er zijn enkele apps voor het bewerken en modelleren van 3D voor mobiele apparaten, zoals AutoCAD Mobile, Morphi, OnShape, Prisma3D, Putty, Sculptura, Shapr3D, enz., hoewel ze niet met STL kunnen werken.

Hoe een STL-bestand te bewerken

In dit geval staat de software die het kan maken ook toe: een STL-bestand bewerken, daarom, om programma's te zien, kunt u het vorige punt zien.

Alternativas

3D-ontwerp, bestandsformaten

Stukje bij beetje zijn ze tevoorschijn gekomen enkele alternatieve formaten voor ontwerpen voor 3D-printen. Deze andere formaten zijn ook erg belangrijk en omvatten:

Bestanden met dit type taal hebben niet slechts één extensie, maar kunnen in meerdere worden gepresenteerd. Sommige zijn .gcode, .mpt, .mpf, .nc, enz.
  • PLY (polygoon bestandsformaat): Deze bestanden hebben de extensie .ply en het is een indeling voor polygonen of driehoeken. Het is ontworpen om driedimensionale gegevens van 3D-scanners op te slaan. Dit is een eenvoudige geometrische beschrijving van een object, evenals andere eigenschappen zoals kleur, transparantie, oppervlaktenormalen, textuurcoördinaten, enz. En net als de STL is er een ASCII- en een binaire versie.
  • OBJ: Bestanden met de extensie .obj zijn ook geometriedefinitiebestanden. Ze zijn ontwikkeld door Wavefront Technologies voor software genaamd Advanced Visualizer. Het is momenteel open source en is overgenomen door veel 3D-grafische programma's. Het slaat ook eenvoudige geometrische informatie over een object op, zoals de positie van elk hoekpunt, textuur, normaal, enz. Door de hoekpunten tegen de klok in te declareren, hoeft u de normale vlakken niet expliciet te declareren. Coördinaten in dit formaat hebben ook geen eenheden, maar ze kunnen schaalinformatie bevatten.
  • 3MF (3D-productieformaat): Dit formaat wordt opgeslagen in .3mf-bestanden, een open source-standaard die is ontwikkeld door het 3MF Consortium. Het geometrische dataformaat voor additive manufacturing is gebaseerd op XML. Het kan informatie bevatten over de materialen, over de kleur, enz.
  • VRML (Virtual Reality Modelling Language): is gemaakt door het Web3D Consortium. Deze bestanden hebben een formaat waarvan het doel is om interactieve driedimensionale scènes of objecten weer te geven, evenals oppervlaktekleur, enz. En ze vormen de basis van X3D (eXtensible 3D Graphics).
  • AMF (additief fabricageformaat): Een bestandsformaat (.amf) dat ook een open source-standaard is voor objectbeschrijving voor additieve fabricageprocessen voor 3D-printen. Het is ook gebaseerd op XML en is compatibel met alle CAD-ontwerpsoftware. En het is aangekomen als de opvolger van STL, maar met verbeteringen zoals het opnemen van native ondersteuning voor kleuren, materialen, patronen en sterrenbeelden.
  • WRL: VRML-extensie.

Wat is GCode?

GCode voorbeeld

Bron: https://www.researchgate.net/figure/An-example-of-the-main-body-in-G-code_fig4_327760995

We hebben veel gesproken over de programmeertaal GCode, omdat het tegenwoordig een belangrijk onderdeel is van het 3D-afdrukproces, van STL-ontwerp naar een G-code, een bestand met instructies en besturingsparameters van de 3D-printer. Een conversie die automatisch wordt uitgevoerd door de slicer-software.

We zullen meer over deze codes zien in de artikelen over CNC, aangezien een 3D-printer niets meer is dan een machine van het type CNC die print...

Deze code heeft commando's, die de printer vertellen hoe en waar het materiaal moet worden geëxtrudeerd om het onderdeel te krijgen, van het type:

  • G: Deze codes worden universeel begrepen door alle printers die G-codes gebruiken.
  • M: Dit zijn specifieke codes voor bepaalde series 3D-printers.
  • Andere: er zijn ook andere native codes van andere machines, zoals functies F, T, H, enz.
U kunt voorbeelden van G-codes en de grafische resultaten zien deze link.

Zoals je kunt zien in de vorige afbeelding van het voorbeeld, is een reeks van regels code die niets meer zijn dan coördinaten en andere parameters om de 3D-printer te vertellen wat hij moet doen, alsof het een recept is:

  • X EN Z: zijn de coördinaten van de drie drukassen, dat wil zeggen, wat de extruder in de ene of de andere richting moet bewegen, waarbij de oorsprongcoördinaten 0,0,0 zijn. Als er bijvoorbeeld een getal groter dan 0 in de X staat, wordt het naar die coördinaat verplaatst in de breedterichting van de 3D-printer. Terwijl als er een getal boven 0 in de Y staat, de kop naar buiten en in de richting van de afdrukzone zal bewegen. Ten slotte zal elke waarde groter dan 0 in Z ervoor zorgen dat deze van onder naar boven naar die opgegeven coördinaat schuift. Dat wil zeggen, met betrekking tot het stuk kan worden gezegd dat X de breedte is, Y de diepte of lengte en Z de hoogte.
  • F: geeft de snelheid aan waarmee de printkop beweegt, aangegeven in mm/min.
  • E: verwijst naar de lengte van de extrusie in millimeters.
  • ;: alle tekst die wordt voorafgegaan door ; het is een opmerking en de printer negeert het.
  • G28: Het wordt meestal aan het begin uitgevoerd, zodat het hoofd naar de aanslagen beweegt. Als er geen assen zijn opgegeven, zal de printer alle 3 verplaatsen, maar als er een specifieke is opgegeven, wordt deze alleen op die assen toegepast.
  • G1: Het is een van de meest populaire G-commando's, omdat het de 3D-printer opdracht geeft om materiaal te deponeren terwijl hij lineair naar de gemarkeerde coördinaat (X,Y) beweegt. De G1 X1.0 Y3.5 F7200 geeft bijvoorbeeld aan om materiaal te deponeren langs het gebied dat wordt gemarkeerd door de coördinaten 1.0 en 3.5, en met een snelheid van 7200 mm/min, dat wil zeggen 120 mm/s.
  • G0: doet hetzelfde als G1, maar zonder materiaal te extruderen, dat wil zeggen, het beweegt de kop zonder materiaal af te zetten, voor die bewegingen of gebieden waar niets mag worden gedeponeerd.
  • G92: vertelt de printer om de huidige positie van zijn assen in te stellen, wat handig is als u de locatie van de assen wilt wijzigen. Zeer gebruikt direct aan het begin van elke laag of in de terugtrekking.
  • M104: commando om de extruder te verwarmen. Het wordt in het begin gebruikt. Bijvoorbeeld, M104 S180 T0 zou aangeven dat de extruder T0 wordt verwarmd (als er een dubbele spuitmond is, zijn dit T0 en T1), terwijl S de temperatuur bepaalt, in dit geval 180ºC.
  • M109: vergelijkbaar met hierboven, maar geeft aan dat de afdruk moet wachten tot de extruder op temperatuur is voordat hij verder gaat met andere opdrachten.
  • M140 en M190: vergelijkbaar met de twee vorige, maar ze hebben geen parameter T, omdat het in dit geval verwijst naar de temperatuur van het bed.

Natuurlijk werkt deze G-code voor FDM-type printers, aangezien de harsen andere parameters nodig hebben, maar met dit voorbeeld is het genoeg voor u om te begrijpen hoe het werkt.

Conversies: STL naar...

STL-bestandsconversie

Ten slotte is een van de dingen die de meeste twijfels oproept bij gebruikers, gezien het aantal verschillende formaten die er zijn, het toevoegen van die van 3D CAD-ontwerpen en de codes die door de verschillende slicers worden gegenereerd, hoe van de ene naar de andere te converteren. Hier heb je enkele van de meest gewilde conversies:

Als u een Google-zoekopdracht uitvoert, zult u zien dat er veel online conversieservices zijn, zoals AnyConv of MakeXYZ, die bijna elk formaat kunnen converteren, hoewel ze niet allemaal goed werken en niet allemaal gratis zijn.
  • Converteren van STL naar GCode: Het kan worden geconverteerd met slicing-software, omdat dit een van de doelstellingen is.
  • Ga van STL naar Solidworks: kan met Solidworks zelf. Open > in bestandsverkenner wijzigen naar formaat STL (*.stl) > opties > veranderen importeren als a stevig lichaam o vast oppervlak > Accepteren > blader en klik op de STL die u wilt importeren > Open > nu zie je het open model en de kenmerkenboom aan de linkerkant > Geïmporteerde > FeatureWorks > Herken kenmerken > en het zou klaar zijn.
  • Converteer een afbeelding naar STL of JPG/PNG/SVG naar STL: U kunt online services zoals Imagetostl, Selva3D, Smoothie-3D, enz. gebruiken, of sommige AI-tools en zelfs software zoals Blender enz. gebruiken om een ​​3D-model van de afbeelding te genereren en vervolgens naar STL te exporteren.
  • Converteren van DWG naar STL: Het is een CAD-bestand en er kan veel CAD-ontwerpsoftware worden gebruikt om de conversie uit te voeren. Bijvoorbeeld:
    • AutoCAD: Uitvoer > Verzenden > Exporteren > voer de bestandsnaam in > selecteer type Lithografie (*.stl) > Opslaan.
    • SolidWorks: Bestand > Opslaan als > Opslaan als STL > Opties > Resolutie > Fijn > OK > Opslaan.
  • Van OBJ naar STL: Zowel online conversieservices als enkele lokale softwaretools kunnen worden gebruikt. Met Spin3D kunt u bijvoorbeeld het volgende doen: Bestanden toevoegen > Openen > kies een doelmap in Opslaan in map > Selecteer Uitvoerformaat > stl > druk op de knop Converteren en wacht tot het proces is voltooid.
  • Ga van Sketchup naar STL: U kunt het op een gemakkelijke manier met Sketchup zelf doen, aangezien het zowel import- als exportfuncties heeft. In dit geval moet u exporteren door de stappen te volgen wanneer u het Sketchup-bestand geopend heeft: Bestand > Exporteren > 3D-model > kies waar u de STL wilt opslaan > Opslaan als STereolithografiebestand (.stl) > Exporteren.

Meer informatie


2 reacties, laat de jouwe achter

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

      Ruben zei

    Heel goed uitgelegd en heel duidelijk.
    Bedankt voor de synthese.

         Isaac zei

      Hartelijk dank!