Hoge kwaliteit STL-bestanden maken voor 3D-afdrukken
Heeft u ooit een onderdeel 3D-geprint met vlakke plekken of gefacetteerde oppervlakken waar vloeiende rondingen hoorden te zijn? Of misschien heb je net een foto gezien van een 3D-afdruk die eruitzag alsof hij thuishoorde in een CGI met lage resolutie uit de jaren 90? Je bent niet de enige, en het is niet de schuld van je 3D-printer - de boosdoener is waarschijnlijk een gebrek aan resolutie in het STL-bestand dat is gebruikt om het onderdeel te maken!
We hebben veel vragen gekregen van nieuwe gebruikers over dit soort gefacetteerde oppervlaktekenmerken op hun geprinte onderdelen, dus om iedereen te helpen de best mogelijke prints van hun 3D-printer te krijgen, hebben we deze gids voor het maken van STL's van hoge kwaliteit die geweldige 3D-geprinte onderdelen opleveren.
In de gids zullen we de volgende aspecten van STL-bestanden en 3D-printen behandelen:
- 1. Wat is een STL-bestand?
- 2. Waarom STL-bestanden belangrijk zijn
- 3. Een suboptimale STL identificeren
- 4. STL-parameters definiëren
- 5. Akkoordtolerantie/akkoordafwijking
- 6. Hoektolerantie/hoekafwijking/normale afwijking
- 7. Mesh-kwaliteit versus bestandsgrootte:onze aanbevelingen
- 8. STL-exportinstellingen door grote CAD-software
VS Casestudy leger
Lees ons nieuwste klantsuccesverhaal over een belangrijke trainingsbasis voor het Amerikaanse leger.
De TL;DR: Het exporteren van CAD-geometrie met de juiste STL-resolutie resulteert in 3D-geprinte onderdelen met de hoogste maatnauwkeurigheid en oppervlakteafwerking, zonder het snijproces te vertragen.
Onze aanbeveling is om te beginnen met het exporteren van STL's met de volgende parameters:
- - In binair STL-formaat (kleinere bestandsgrootte dan ASCII)
- - Tolerantie/afwijking van akkoorden van 0,1 mm [0,004 inch]
- - Hoektolerantie/afwijking van 1 graad
- - [Optioneel] Minimale lengte driehoekige zijde ingesteld op 0,1 mm [0,004 in]
Als de resulterende bestandsgrootte groter is dan 20 MB, raden we ten zeerste aan de bestandsgrootte te verkleinen door verhogen de waarden van de akkoord- en hoektolerantie totdat de STL-bestandsgrootte is teruggebracht tot minder dan 20 MB, omdat de grote bestandsgrootte de berekeningen die nodig zijn om de STL voor 3D-printen voor te bereiden aanzienlijk kan vertragen. Als uw model bij deze instellingen nog steeds te veel vlakke plekken bevat, kunt u proberen verminderen de waarden van de akkoord- en hoektolerantie, met de sterke aanbeveling om de bestandsgrootte onder de 20 MB te blijven houden.
Wat is een STL-bestand?
Als het originele bestandstype dat eind jaren 80 voor stereolithografie 3D-printen is gemaakt (STL komt van STereoLithography), is het STL-bestandsformaat in feite de industriestandaard voor 3D-printen voor het importeren van 3D-modelbestanden in een slicing-programma zoals Markforged's Eiger-software, ter voorbereiding op het daadwerkelijk 3D printen van het model. Als je ooit een 3D-printer hebt gebruikt of iets hebt ontworpen om in 3D te worden afgedrukt, is het bijna zeker dat je eerder een STL-bestand bent tegengekomen, maar wist je dat niet alle STL's gelijk zijn? Het is zelfs heel goed mogelijk om een 3D-model te ontwerpen dat aan uw functionele vereisten voldoet en vervolgens een STL-bestand van dat model te genereren dat niet-specificaties produceert.
STL-bestanden beschrijven eenvoudig een reeks driehoeken die (meestal) een maas vormen die de ononderbroken oppervlakken van een 3D-model benadert. Om preciezer te zijn, een STL-bestand bevat een lijst met driedimensionale coördinaten, gegroepeerd in sets van drie samen met een normale vector - elk van deze sets van drie coördinaten vormt de hoekpunten (hoekpunten) van een driehoek en de vector is normaal , of loodrecht, op het vlak dat wordt beschreven door de drie punten van de driehoek.
In een ASCII (tekstgebaseerd) STL-bestand wordt elke driehoek weergegeven in het volgende formaat, waarbij de normaalvector n wordt vertegenwoordigd door (ni
nj nk ) en elk hoekpunt v heeft driedimensionale coördinaten (vx vy vz ):
facet normaal ni nj nk
buitenste lus
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
endloop
endfacet
Samen vormen alle driehoeken (het is gebruikelijk om er miljoenen van te hebben) een gaas dat driedimensionale geometrie kan beschrijven, en kan vervolgens worden geïmporteerd in slicing-software, zoals Markforged's Eiger-softwareplatform, ter voorbereiding om 3D-geprint te worden.
Het is belangrijk op te merken dat STL's die bedoeld zijn voor 3D-printen een goed gevormd gaas of mazen moeten bevatten die de geometrie die u wilt creëren volledig omsluiten, waarbij elke driehoekige rand is verbonden met precies twee vlakken (dit wordt soms een verdeelstuk genoemd STL, of een zonder gaten).
Echter , een STL-bestand is gewoon een lijst met coördinaten en vectoren en er is geen vereiste in de STL-bestandsspecificatie voor een dergelijke veelvuldige voorwaarde. STL-bestanden, met name bestanden die rechtstreeks van 3D-scanners zijn gemaakt, kunnen vaak niet-verdeelde geometrie of onvolledige oppervlakken bevatten die moeilijk of onmogelijk kunnen zijn om correct in 3D te printen, en kunnen fouten veroorzaken tijdens het snijden.
Over het algemeen is het het beste om uw STL's te exporteren vanuit reguliere CAD-software met bekende-goede STL-exportmogelijkheden - vrijwel alle moderne commerciële technische CAD-software en de meer bekende open source- of hobbypakketten vallen in deze categorie. Een snelle online zoektocht naar uw CAD-software en "STL-exportopties" zal u meestal in de goede richting wijzen.
STL 3D-printen:waarom het ertoe doet
Die laatste sectie was een beetje meer geometrie dan waar je waarschijnlijk om geeft - wat echter belangrijk is voor deze discussie, is de mesh die door al deze driehoeken wordt gemaakt. Aangezien een driehoek een platte, 2D-vorm is, kan de verzameling driehoeken in een STL-bestand alleen perfect repliceren een 3D-model dat alleen is samengesteld uit platte oppervlakken, zoals een kubus, een veelhoek of eigenlijk elke geometrie zonder gebogen oppervlakken, ervan uitgaande dat de driehoeken in het net kleiner kunnen zijn dan het kleinste element in het model. We zullen die veronderstelling later bespreken als we het hebben over STL-exportinstellingen in CAD.
Veel technische onderdelen hebben echter op zijn minst enkele gebogen oppervlakken, of dat nu gaten, afrondingen, radiussen, wentelingen of complexere bochten en organische geometrieën zijn. Deze gebogen (niet-vlakke) kenmerken en oppervlakken worden gerepliceerd door een netwerk van driehoeken en kunnen dus alleen worden benaderd door een STL-bestand met verschillende nauwkeurigheidsniveaus, gebaseerd op de STL-exportinstellingen.
Moet ik mijn STL-bestanden bijwerken?
Als u tevreden bent met de kwaliteit van uw 3D-afdrukken en de snelheid waarmee hun respectievelijke STL-bestanden in Eiger worden verwerkt, dan gefeliciteerd - het is niet nodig om iets te veranderen dat goed werkt! Als u echter problemen ondervindt, zijn er twee belangrijke uitdagingen waarmee dit artikel u kan helpen, en deze zijn het gevolg van STL-bestanden die zijn gegenereerd met instellingen voor exportresolutie die ofwel te laag of te hoog zijn. De bepalende kenmerken van STL's met een lage resolutie zijn 3D-prints met vlakke plekken in gebieden die vloeiend gebogen vlakken zouden moeten hebben. Met STL-bestanden met een te hoge resolutie produceert u fantastisch uitziende 3D-geprinte onderdelen, maar de grote bestandsgroottes leiden tot lange slice-tijden in Markforged's Eiger-software en kunnen ervoor zorgen dat de gebruikersinterface achterloopt bij het aanpassen van de onderdeelweergave in de meest extreme gevallen.
Een van de onderliggende redenen dat het STL-formaat zo wijdverbreid is, is de eenvoud ervan, wat het op zijn beurt gemakkelijk heeft gemaakt voor een breed scala aan engineering- en ontwerpsoftware om STL-bestanden van andere 3D-modelformaten te ondersteunen, te bewerken en te genereren, die vervolgens worden afgedrukt op bijna elke 3D-printer die er is. Helaas is een van de belangrijkste nadelen van STL's ook hun eenvoud:ze bevatten geen informatie over het eenheidssysteem (millimeters, inches, voeten, enz.) waarin ze zijn ontworpen en het is niet echt mogelijk om de resolutie van een STL-bestand op zichzelf en hoe nauwkeurig het het originele model vertegenwoordigt waaruit het is gemaakt.
Het meest voorkomende probleem waar onze gebruikers tegenaan lopen, zijn STL-bestanden die te grof zijn en zonder voldoende resolutie zijn gegenereerd. De meest opvallende indicator hiervan zijn vlakke plekken en gefacetteerde delen van onderdelen die zijn ontworpen met vloeiende rondingen, zoals in de volgende afbeelding van een mondstuk.
U kunt deze toestand met lage resolutie ook gemakkelijk identificeren met behulp van ingebouwde tools in het Eiger-softwareplatform van Markforged. Wanneer u uw muis over het onderdeelmodel in de software beweegt, markeert Eiger het vlak onder uw cursor in blauw, evenals alle vlakken die er parallel aan lopen (en binnen een kleine hoektolerantie van parallel). Als u duidelijke facetten en vlakke plekken in uw model kunt zien wanneer u gezichten markeert met uw muis, moet u waarschijnlijk de resolutie van uw STL-bestand verhogen. Als de gemarkeerde gezichten er 'vaag' uitzien, met een relatief vloeiend kleurverloop, is de STL-resolutie waarschijnlijk voldoende voor 3D-printdoeleinden.
Aan de andere kant kunnen STL-bestanden met een te hoge resolutie te groot zijn voor Eiger om efficiënt te verwerken, en kunnen ze het slicen vertragen. Er is geen echte limiet (behalve misschien de beschikbare opslagruimte op uw computer) voor hoe fijn een STL kan zijn, en het is heel goed mogelijk om een driehoekig netwerk te maken met driehoekige zijlengtes in de orde van nanometers of kleiner (ter referentie, een gemiddelde mens haar is ongeveer 75.000 nanometer). Dit is veel te meer resolutie dan kan worden gebruikt door uw 3D-printer of nodig is, en dus vertraagt een STL met te hoge resolutie uw workflow en verspilt u uw tijd.
Ondanks deze beperkingen is het gemakkelijk om geweldige 3D-geprinte onderdelen te maken als je een paar best practices volgt bij het maken van een STL-bestand. De exportinstellingen die u kiest in uw CAD-software bij het genereren en exporteren van een STL, kunnen een dramatische invloed hebben op de kwaliteit, maatnauwkeurigheid en oppervlakteafwerking van uw 3D-geprinte onderdeel, dus het is belangrijk om deze parameters te begrijpen.
STL-parameters definiëren
Wanneer u een STL exporteert vanuit uw CAD-software, zijn er een paar parameters die de dichtheid van de driehoekige mesh regelen, die op zijn beurt de geometrie van een onderdeel definieert. Een manier om na te denken over de interactie tussen het exportproces en deze parameters is dat uw CAD-software probeert te optimaliseren voor een kleine STL-bestandsgrootte, en dus zal proberen de ruwst mogelijke mesh met de laagste resolutie te maken, maar een of meer van de export parameters die u opgeeft, vereisen mogelijk dat de software een mesh met een hogere resolutie gebruikt voor verschillende functies en geometrie. Een nuttig mentaal model is dus om deze exportparameters te beschouwen als het 'dwingen' van het exportproces om een fijnere mesh met een hogere resolutie te genereren.
Over het algemeen bieden de meeste moderne CAD-software gebruikers de mogelijkheid om ten minste twee exportparameters te controleren:een met lineaire afmetingen, de akkoordtolerantie (of akkoordafwijking ), en een met hoekafmetingen genaamd de hoektolerantie (of hoekafwijking ). De resulterende STL moet voldoen aan alle voorwaarden die zijn gespecificeerd door de door u gekozen exportinstellingen. Afhankelijk van de geometrie van een specifiek kenmerk van uw 3D-model, zal een van deze instellingen doorgaans meer beperkend zijn (ook wel een mesh met een hogere resolutie vereist) dan de andere en kan het worden beschouwd als de dominante of beperkende parameter voor dat kenmerk. De beperkende parameter zal typisch variëren over de geometrie van een onderdeel als reactie op verschillende kenmerken. We zullen eerst deze parameters onderzoeken en hoe ze van invloed zijn op het genereren van STL's, en vervolgens uiteenzetten hoe deze instellingen in verschillende grote CAD-softwarepakketten kunnen worden geconfigureerd.
Akkoordtolerantie/akkoordafwijking
De akkoordtolerantie (of akkoordafwijking) is een instelling die de globale maatnauwkeurigheid van de STL regelt in vergelijking met het zoals ontworpen 3D-model. Chordale tolerantie wordt meestal gespecificeerd als de maximale normale (loodrechte) lineaire afwijking die is toegestaan van het oppervlak van het zoals ontworpen 3D-model en het dichtstbijzijnde driehoekige vlak van de resulterende STL, zoals te zien is in de volgende afbeelding.
U kunt de akkoordtolerantie beschouwen als het regelen van de maximaal toegestane fout tussen de gegenereerde STL en het as-designed model, over de gehele geometrie van het onderdeel. Dus aangezien de STL-exportfunctie in uw CAD-software een driehoekig netwerk rond uw 3D-modelgeometrie bouwt, kan het geen driehoeken creëren waarvan de maximale afstand van het 3D-model de door u gespecificeerde akkoordtolerantie zou overschrijden. Ervan uitgaande dat de akkoordtolerantie de beperkende factor is in STL-resolutie, zal een kleinere akkoordtolerantiewaarde resulteren in een hogere resolutie STL, met meer driehoeken en een grotere bestandsgrootte.
Hoektolerantie/Hoekafwijking/Normale afwijking
De hoektolerantie-instelling (soms hoekafwijking of normale afwijking genoemd) regelt de maximaal toegestane hoek tussen de normaalvectoren van twee aangrenzende driehoeken in de mesh, en je kunt het zien als een parameter die de mesh 'verfijnt' met hogere resolutie die verder gaat dan de akkoordtolerantie anders zou toestaan. Een goed voorbeeld van wanneer de hoektolerantie in het spel komt, is meestal met kleine gebogen oppervlakken, zoals filets waarvan de radii qua grootte vergelijkbaar zijn met de akkoordtolerantie. Zonder de hoektolerantie-instelling zouden deze kleine afrondingen zeer zichtbare vlakke plekken kunnen hebben, of in het extreme geval worden omgezet in een afschuining wanneer de afrondingsstraal gelijk is aan de akkoordtolerantie, zoals weergegeven in het volgende diagram.
Als de hoekafwijkingswaarde (gemeten in graden) klein genoeg is ingesteld om de dominante parameter te zijn, zal het het STL-generatieproces dwingen meer driehoeken toe te voegen in gebieden van een onderdeel met scherpere krommingen, wat vaak kenmerken zijn met kleine straal. Dit zal op zijn beurt de gladheid van deze functies in het resulterende 3D-geprinte deel 'verbeteren', verder dan wat de akkoordtolerantie alleen zou bieden.
Merk op dat hoewel hoekafwijking meestal wordt gemeten in graden (met een lagere waarde wat resulteert in een model met een hogere resolutie), sommige CAD-software de hoekafwijking specificeert als een dimensieloze 'hoekcontrole'-parameter die in waarde varieert van 0 tot 1, met grotere waarden specificeren van een hogere STL-resolutie rond gebogen oppervlakken. Zie het onderstaande gedeelte over STL-instellingen per belangrijk CAD-softwarepakket, of bezoek de technische ondersteunings- of kennisbanksite van uw specifieke CAD-softwareuitgever voor meer details.
Aanvullende exportinstellingen :Sommige CAD-programma's bieden u mogelijk extra instellingen naast de twee belangrijkste bedieningselementen van akkoord- en hoektolerantie, die opties kunnen bevatten zoals minimale of maximale lengte van het driehoekige facet. Over het algemeen worden deze meestal gebruikt om STL-exportproblemen in edge-gevallen aan te pakken, en we raden aan deze op de standaardwaarden te laten staan, tenzij u een specifieke reden hebt om ze aan te passen.
Meshkwaliteit versus bestandsgrootte:onze aanbevelingen
Aangezien een STL-mesh met een hogere resolutie een vloeiender, nauwkeuriger model oplevert, zou je in de verleiding kunnen komen om de resolutie-instellingen in je CAD-programma gewoon op te krikken tot de maximaal mogelijke resolutie en het een dag te laten zijn. Het verhogen van de resolutie van de STL-export leidt echter ook tot een toename van de STL-bestandsgrootte, wat over het algemeen resulteert in langere verwerkingstijden van de software, zowel bij het genereren van het STL-bestand, het uploaden naar Eiger en het vervolgens daadwerkelijk snijden van de STL en het voorbereiden voor 3d printen. Na een bepaald punt kan de resolutie van het STL-bestand de machinenauwkeurigheid van uw 3D-printer ver overtreffen, wat betekent dat u tijdkosten kunt betalen voor STL-resolutie die niet echt worden weerspiegeld in uw afgedrukte onderdelen.
Onze aanbevolen best practice is dan om uw STL-exportinstellingen te kiezen voor een balans tussen een resolutie van hoge kwaliteit die voldoet aan uw functionele vereisten en een bestandsgrootte die snel kan worden verwerkt in Eiger. De ervaring heeft geleerd dat de volgende instellingen een handig uitgangspunt zijn:
- - Binair STL-formaat (kleinere bestandsgrootte dan ASCII)
- - Tolerantie/afwijking van akkoorden van 0,1 mm [0,004 inch]
- - Hoektolerantie/afwijking van 1 graad
- - Minimale zijlengte van 0,1 mm [0,004 inch]
Als de resulterende bestandsgrootte aanzienlijk groter is dan 20 MB, raden we ten zeerste aan de bestandsgrootte te verkleinen door verhogen de waarden van de akkoord- en/of hoektolerantie totdat de STL-bestandsgrootte is teruggebracht tot minder dan 20 MB, aangezien de grote bestandsgrootte de verwerkingshandelingen die nodig zijn om de STL voor 3D-printen voor te bereiden, kan vertragen. U moet echter gerust experimenteren met verschillende bestandsgroottes, aangezien uw tolerantie voor verschillende niveaus van STL-resolutie en softwareverwerkingstijden een persoonlijke voorkeur is.
STL-exportinstellingen door verschillende CAD-software
We hebben geprobeerd een representatief voorbeeld te nemen van de belangrijkste CAD-softwarepakketten, maar het was niet altijd gemakkelijk om online schermafbeeldingen te vinden - als u een vertegenwoordiger bent van een CAD-leverancier die we hebben gemist en u wilt op deze lijst komen, of u vindt dat we onjuist hebben weergegeven hoe deze parameters moeten worden geconfigureerd, stuur ons dan een bericht via onze contactpagina en we zullen het rechtzetten!
Creo (PTC)
Bij Creo is het belangrijk op te merken dat de parameter 'Hoekregeling' die hieronder wordt weergegeven niet de maximale hoekafwijking in graden aanpast, maar in plaats daarvan een eenheidsloze maat is voor de verfijning van de hoekafwijking buiten de straal die zou worden gecreëerd door de 'akkoordhoogte' ( akkoordtolerantie) parameter. De parameterwaarde 'Hoekregeling' kan variëren van 0,0 tot 1,0. Meer over de parameter 'Hoekregeling' leest u hier. We raden de volgende instellingen aan als uitgangspunt:
- - STL-formaat:binair
- - Akkoordhoogte:0,1 mm [0,004 in] (Opmerking:dit is de akkoordtolerantie)
- - Hoekregeling:0,25
- - Laat 'Maximale randlengte' en 'Beeldverhouding' op hun standaardwaarden staan
Fusion 360 (Autodesk)
Fusion 360. We raden de volgende instellingen aan als uitgangspunt:
- - STL-formaat:binair
- - Oppervlakteafwijking:0,1 mm [0,004 in] (Opmerking:dit is de akkoordtolerantie)
- - Normale afwijking:1 graad (Let op:dit is de hoekafwijking)
- - Laat 'Maximale randlengte' en 'Beeldverhouding' op hun standaardwaarden staan
NX (Siemens)
We raden de volgende instellingen aan als uitgangspunt:
- - Type uitvoerbestand:binair
- - Akkoordtolerantie:0,1 mm [0,004 in] (Opmerking:eenheden hier worden ingesteld door uw documenteenheden)
- - Hoektolerantie:1 graad
Onshape (PTC)
We raden de volgende instellingen aan als uitgangspunt:
- - STL-formaat:binair
- - Hoekafwijking:1 graad
- - Akkoordtolerantie:0,1 mm [0,004 in]
- - Minimale facetbreedte:0,1 mm [0,004 in]
SOLIDWORKS (Dassault Systèmes)
We raden de volgende instellingen aan als uitgangspunt:
- - STL-formaat:binair
- - Resolutie:aangepast
- - Afwijking:0,1 mm [0,004 in] (Opmerking:deze parameter is akkoordtolerantie/akkoordafwijking)
- - Hoek:1 graad
- - Laat 'Definieer maximale facetgrootte' uitgeschakeld
3d printen
- Haal het meeste uit uw STL-bestanden
- C Bestandsverwerking
- Hoe maak je een Tcl-gestuurde testbench voor een VHDL-codeslotmodule?
- Hoogwaardige gereedschappen voor thermohardende composieten
- Multibody STL-bestanden maken voor 3D-printen
- Een inleiding tot STL-bestanden
- C++-bestandsafhandeling:bestanden openen, schrijven, lezen en sluiten in C++
- Python-bestandsafhandeling:een tekstbestand maken, lezen, schrijven, openen
- C - Koptekstbestanden
- Hoe genereer je een G-code-bestand met ArtCAM voor CNC-machines?
- Statische bestanden weergeven met Go