Het probleem in één zin
Je hebt een lijst onderdelen om te zagen, elk met een lengte, een breedte en een aantal. Je koopt materiaal in hele platen. De taak van een zaagschema-optimizer is om al die onderdelen op zo min mogelijk platen (en je overgebleven restplaten) te leggen, zodat je het minste materiaal verspilt, en wel zó dat elke snede ook echt te maken is. Dat laatste maakt het interessant.
Kerf: het zaagblad eet materiaal op
Elke snede neemt een dun strookje materiaal weg, zo breed als het zaagblad. Dat strookje heet de kerf, en het is vaak rond 3 mm. Klinkt verwaarloosbaar, maar over een hele plaat vol onderdelen telt het op, en houdt de optimizer er geen rekening mee, dan komen je onderdelen net te klein uit. Een goede optimizer trekt de kerf bij elke snede af, zodat de getallen op je scherm kloppen met het hout in je handen. In Zaaglab stel je de kerf één keer in en geldt hij voor de hele plaat.
Guillotinesnedes: de indeling moet zaagbaar zijn
Een mooie indeling is nutteloos als je hem niet kunt zagen. Een cirkelzaag, een invalzaag en de zaagservice van de bouwmarkt maken allemaal guillotinesnedes: één rechte snede die helemaal over het stuk loopt, van rand tot rand. Dat betekent dat de indeling moet uiteenvallen in een reeks volledige snedes, niet in een legpuzzel van vormen die geen zaag uit elkaar krijgt. Een optimizer die guillotinesnedes respecteert geeft je een plan dat je op volgorde kunt volgen, en kan je daarom ook een genummerde zaagvolgorde meegeven voor aan de werkbank of mee naar de bouwmarkt.
Recht zagen of een CNC-frees
Guillotinesnedes zijn een eis van de cirkelzaag, niet van de tool. Heb je een CNC-frees, dan kan die ook binnenwerkse uitsnijdingen maken en mag de indeling compacter (niet-guillotine). Zaaglab heeft daarvoor een CNC-modus (in Instellingen) die de stukken zo dicht mogelijk pakt; het overgebleven materiaal balt dan vaak samen tot één grote bruikbare reststrook in plaats van verspreid afval. Zo'n indeling is bewust niet met een cirkelzaag of rail te zagen: je exporteert hem als DXF (Exporteren › CNC-export) en stuurt die naar je freesmachine. Veel tools tonen standaard zulke niet-zaagbare indelingen; wij houden de gewone berekening juist altijd recht zaagbaar, en zetten de CNC-modus als bewuste keuze apart. Voor de meeste klussers laat je de modus uit en hou je een plan dat je gewoon op de zaag legt.
Probeer het verschil zelf: open de CNC-puzzel, een windmolen-achtige set stukken die de CNC-modus op 2 platen legt, terwijl de gewone zaagmodus er 4 voor nodig heeft. Zet in Instellingen de CNC-modus aan en uit om de twee indelingen te vergelijken.
Hoe de optimizer een goede indeling vindt
Dit is het eerlijke deel: rechthoeken perfect op platen passen is zo'n probleem dat onmogelijk traag wordt om exact op te lossen zodra je meer dan een handvol onderdelen hebt. Optimizers jagen daarom niet op het perfecte antwoord, maar gebruiken sterke vuistregels (heuristieken). Zaaglab probeert meerdere pakstrategieën, bijvoorbeeld onderdelen in verschillende volgordes sorteren en op verschillende manieren plaatsen, draait elke strategie en houdt het beste resultaat. Daarna besteedt het nog wat tijd aan het verder verbeteren van dat resultaat. De uitkomst is near-optimaal: niet bewijsbaar perfect, maar consequent beter dan met de hand indelen, en in een seconde of twee klaar.
Onderdelen zonder nerf-eis mogen draaien, zodat ze in krappere gaten passen. Onderdelen die je op nerf vastzet blijven goed georiënteerd, ook al kost dat soms een beetje rendement, want een doorlopende nerf telt zwaarder dan dat laatste procentje.
Geverifieerd optimaal: de knop "Grondig zoeken"
Omdat het standaardresultaat al in een seconde near-optimaal is, kun je op Grondig zoeken drukken om dat te laten verifiëren. De tool blijft dan op de achtergrond duizenden extra indelingen proberen met zwaardere zoektechnieken (simulated annealing en een genetisch algoritme bovenop de gewone strategieën) en houdt de beste. Vindt hij iets beters, dan neemt hij dat automatisch over; vindt hij na honderden pogingen niets beters, dan weet je zeker dat je indeling zo goed als optimaal is. We tonen er een theoretische ondergrens bij: het minimaal aantal platen dat je op basis van de oppervlakte sowieso nodig hebt. Zo zie je hoe dicht je bij het wiskundige minimum zit. In de praktijk haalt de gewone berekening dat minimum vaak al, dus de knop geeft je vooral zekerheid, eerlijk gemeten in plaats van een loze belofte.
Er is meer dan één "beste": drie doelen
"Beste" hangt af van waarvoor je optimaliseert, en die trekken aan verschillende kanten. Zaaglab laat je het doel kiezen, en dat verandert de indeling echt:
| Doel | Wat het bevoordeelt | Handig wanneer |
|---|---|---|
| Minste afval | Drukt onderdelen samen om de minste platen te gebruiken | Materiaal is duur of je wilt zo min mogelijk rest |
| Minste zaaghandelingen | Eenvoudiger indelingen met minder losse snedes | Je zaagt met de hand of betaalt per snede bij de bouwmarkt |
| Laagste kosten | Goedkoopste combinatie van platen, met de prijzen die je invult | Je kunt plaatmaten of materialen mengen en wilt de laagste rekening |
Dit is het deel dat de meeste tools overslaan. Puur op afval optimaliseren kan je een indeling met tientallen priegelsnedes geven, en dat is geen koopje als de bouwmarkt per snede rekent of je ze allemaal met een handzaag doet.
Restplaten eerst
Heb je al overgebleven platen liggen, dan zou een goede optimizer die moeten gebruiken vóór hij een verse plaat aansnijdt. Zaaglab houdt een restvoorraad bij over je projecten en legt onderdelen eerst op het kleinste passende stuk, zodat je stapel rest echt slinkt in plaats van groeit.
Probeer het op een echte zaag. Open de gratis tool, voer je onderdelen in, wissel het doel tussen minste afval en minste zaaghandelingen, en zie de indeling veranderen. Geen account, niets te installeren.
Veelgestelde vragen
Wat doet een zaagschema-optimizer precies?
Hij deelt je onderdelen in op zo min mogelijk platen en restplaten, met zo min mogelijk afval, rekening houdend met de kerf en de nerf, en vertelt hoeveel platen je nodig hebt en in welke volgorde je zaagt.
Wat is kerf en waarom telt het mee?
Kerf is de breedte die het zaagblad bij elke snede wegneemt, vaak rond 3 mm. Negeer je het, dan komen onderdelen te klein uit; een goede optimizer trekt het bij elke snede af.
Is het resultaat altijd wiskundig perfect?
Niet gegarandeerd. Perfect indelen is heel zwaar, dus optimizers proberen meerdere strategieën en houden de beste. In de praktijk is dat near-optimaal en beter dan met de hand.
Wat is een guillotinesnede?
Een snede die helemaal over het stuk loopt, van rand tot rand, zoals een cirkelzaag, invalzaag of zaagservice werkt. Indelingen uit guillotinesnedes zijn er die je echt kunt maken.