Arcline nesting, in de browser
Nesten op ware contour, dat weet welke platen u werkelijk hebt.
Delen grijpen in elkaar op hun echte contour in plaats van op een omhullende rechthoek, kleine delen vallen in de uitsnedes van grotere, en de zoekactie draait net zo makkelijk op de resten in uw rek als op een volle plaat. Elke run legt de seed vast waarmee hij gevonden is, dus een nesting is exact te herhalen.
Het werk zoals het nu gaat
De plaat is het dure deel
Materiaal is het grootste deel van de kostprijs van een gesneden deel, en het verschil tussen een goede en een luie nesting is geld op de vloer.
Tien verschillende contouren uit drie orders, alles 6 mm staal, alles voor deze week. Iemand legt ze op het oog op het scherm, ziet te laat dat de twee grote consoles in elkaar hadden gepast, snijdt de plaat en zet een rest van 1400 bij 500 in het rek die niemand noteert en niemand terugvindt. Volgende week komen dezelfde contouren terug en begint het hele verhaal opnieuw vanaf een volle plaat.
De pakketten die dit netjes doen bestaan, en het zijn installaties op een pc, met dongel, een licentie per werkplek en een trainingsdag. Voor een bedrijf met een fulltime programmeur is dat een redelijk antwoord. Voor vier mensen, twee tafels en een laptop op kantoor die ook de facturen doet is het een slecht antwoord.
De nesting, de plaat waar hij vandaan komt en de rest die hij achterlaat zijn één zaak. Ze op drie plekken bijhouden is wat de plaat kost.
De nesting hier is daarom geen apart programma. Hij draait in de browser op dezelfde voorraad, dezelfde delen en dezelfde snijorders als al het andere, en wat overblijft gaat als echte rest met een eigen contour terug in het rek, klaar om er de volgende keer op te nesten.
Ware contour
Contouren, geen rechthoeken
Twee delen passen precies dan naast elkaar wanneer de oorsprong van het ene buiten het no-fit-polygoon van het andere ligt, dat wil zeggen buiten de Minkowski-som van het eerste met het gespiegelde tweede. De motor berekent die polygonen uit de echte contouren en bewaart er één per vormenpaar, zodat een hoekstuk in de hoek van een ander hoekstuk gaat zitten in plaats van een rechthoek te reserveren die het nooit vult.
De meeste echte delen zijn convex zodra ze hun afstandsoffset dragen, en voor die is de som de convexe omhulling van de paarsgewijze hoekpuntsommen: exact en goedkoop. Een concave contour wordt in driehoeken ontleed, de driehoeken worden weer samengevoegd tot zo weinig convexe stukken als de vorm toelaat, en elk stukkenpaar levert zijn eigen exacte som. Waar een ontleding numeriek lastig wordt valt de motor terug op de convexe omhulling van de contour, die iets meer ruimte verbiedt dan strikt nodig: voorzichtig, nooit overlappend.
Insluiting werkt op dezelfde manier. De posities waarop een deel helemaal binnen de plaat valt vormen een inner-fit-polygoon, dus een gevormde rest wordt op zijn echte contour genest en niet op de rechthoek die erin zou passen. Een rechthoekige plaat neemt de exacte kortere weg via de rechthoek, want bij een rechthoek zijn beide antwoorden hetzelfde.
Een deel dat in de uitsnede van een ander deel is genest wordt gesneden, en vrijgemaakt, voordat het deel eromheen uit de plaat valt.
Delen in delen
De uitsnede in een flens is plaat waarvoor u betaald hebt
Na de hoofdronde krijgen alle nog niet geplaatste delen de uitsnedes van de reeds geplaatste delen aangeboden. Elke uitsnede wordt op zijn plek genomen, verkleind met dezelfde randmarge die de plaat gebruikt, en meteen afgewezen als wat overblijft te klein is om er zinvol iets in te zetten. Kleine delen vallen dan in de overgebleven uitsnedes, met dezelfde no-fit-rekenkunde als op de plaat zelf, zodat een afstandsring in de boring van een flens gaat zitten in plaats van nieuwe plaat te bezetten.
Dat loont alleen als het snijbestand snapt wat het gekregen heeft, en dat snapt het. Een deel dat in de uitsnede van een ander zit wordt als één volledig blok gesneden, eerst zijn eigen uitsnedes en dan zijn buitencontour, en altijd vóór het deel eromheen, zodat het vrijkomt terwijl het kader eromheen nog aan de plaat vastzit. Een deel in een uitsnede nesten en dan het omringende deel eerst laten vallen, is het kleine deel tussen de lamellen kieperen.
Het vullen van uitsnedes gaat met opzet één niveau diep: een deel dat in een uitsnede zit neemt niet op zijn beurt een deel op in zijn eigen uitsnede. Het brengt ook geen willekeur mee, dus het maakt een nesting nooit minder herhaalbaar dan hij al was.
Herhaalbaar
Dezelfde seed geeft dezelfde nesting
De zoekactie is een genetisch algoritme over volgorde en rotatie van de delen, en elke toevalstrekking komt uit één stroom met een vaste seed. Niets leest de klok, niets leest een geheugenadres en niets loopt door een tabel in de volgorde waarin die toevallig staat. Bij dezelfde delen, dezelfde kandidaatplaten, dezelfde instellingen, dezelfde seed en hetzelfde aantal generaties zijn de plaatsingen byte voor byte gelijk. Dat is geen intentieverklaring: het is wat de testsuite controleert, twee keer, één keer op de zoekactie en één keer van begin tot eind inclusief de plaatkeuze.
In de werkplaats is de run begrensd door een tijdvenster in plaats van door een aantal generaties, dus de eerlijke versie van de zin is deze: de reeks indelingen die wordt geprobeerd ligt vast door de seed, en de klok bepaalt alleen hoe ver de run daarin komt. Een snellere machine ziet er meer van, en de beste gevonden indeling wordt altijd bewaard. Elke nesting wordt opgeslagen met de seed waarmee hij gevonden is, dus een nesting die u beviel haalt u terug in plaats van hem opnieuw te zoeken.
Een tweede keer op nesten drukken laat de seed met opzet oplopen, want wat op dat moment nuttig is, is een andere poging om mee te vergelijken en niet dezelfde nog eens.
De snelle modus is een andere motor, geen kortere run van dezelfde: een skyline-packer over omhullende rechthoeken, delen van groot naar klein, elk gelijkspel beslist op coördinaten. Ook die is deterministisch, hij is ruim binnen een seconde klaar, en hij is degene die de kandidaatplaten vooraf scoort voordat de echte zoekactie begint.
Plaatkeuze
Het nest op het materiaal dat u hebt, resten eerst
Hier nest niets op een ideale plaat. De kandidaten zijn de regels in uw eigen voorraad die passen bij materiaal en dikte van het werk.
- Elke kandidaat wordt eerst snel gescoord
- De snelle packer loopt over elke kandidaat om te voorspellen hoeveel ervan het werk zou vullen, en de score is die voorspelling met gewicht 0,55, een restbonus met gewicht 0,30 en een voorkeur voor de krapste plaat die past met gewicht 0,15. De gewichten zijn instellingen en geen geheim, en de ranglijst staat op het scherm.
- Een rest wint van een volle plaat door de opzet
- De restbonus is een vast deel van de score, dus een rest die het werk aankan wordt gekozen boven een maagdelijke plaat tenzij de pakking duidelijk slechter uitvalt. Daarvoor bewaart u resten, en dat is precies het deel dat een handmatige nesting na twee drukke weken stilletjes laat vallen.
- Een dichte tweede krijgt zijn eigen run
- Als de nummer twee binnen vijf procent van de winnaar blijft, krijgen ze allebei een echte zoekactie op elk de helft van het tijdvenster en wint het beste resultaat. Een snelle schatting is goed in rangschikken en niet goed genoeg om te beslissen.
- Wat niet past gaat door naar de volgende plaat
- Alles wat niet geplaatst kon worden gaat opnieuw langs de overgebleven kandidaten en komt terug als tweede plaat, en als derde als het moet. Een kandidaat die geen enkel resterend deel kan huisvesten wordt overgeslagen in plaats van doorzocht, dus de lus eindigt altijd.
- Een bewaarde rest houdt zijn echte vorm
- Een rest wordt opgeslagen met zijn contour en niet alleen met een breedte en een hoogte, en de delen die er al uit zijn gehaald blijven als uitsnedes staan, zodat er nooit op lucht wordt genest. Alles verderop werkt in het eigen assenstelsel van de rest, dus zijn plaatsingen komen terug in de coördinaten waarin u snijdt.
- De rest gaat terug in het rek
- Op een rechthoekige plaat wordt het overschot bewaard als de twee schone stroken rechts van en boven het gebruikte gebied, dus als wat een schaar of een rechte snede werkelijk kan terugwinnen. Op een gevormde rest wordt het echte vrije gebied gemeten, en een stuk wordt alleen bewaard als de grootste rechthoek die er werkelijk in past de drempel haalt, zodat een groot maar splinterachtig gebied niet als bruikbare voorraad wordt geboekt.
Van nesting naar snijbestand
Het deel dat de tafel werkelijk leest
Elke gesloten contour krijgt een insteek aan de afvalzijde van de lijn en een aanloop daarnaartoe, binnencontouren worden vóór de buitencontour van hetzelfde deel gesneden, en de delen worden op naaste buur geordend op hun insteekpunten vanaf de plaatoorsprong. Buitencontouren krijgen een uitloop het afval in. Rechte stukken komen als G1 en echte bogen worden hersteld als G2 en G3 met incrementele middelpuntsverschuivingen, in plaats van te worden platgeslagen tot duizend korte bewegingen.
Elke tafel is een machinerecord, en de postprocessordetails volgen die: de insteekvertraging na het ontsteken, precies de regels die uw hoogteregeling voor en na een snede verwacht, een voedingsplafond waartoe de uitgestuurde voeding wordt begrensd, en de naam van de machine in de kop. Dezelfde nesting komt er daardoor voor twee verschillende tafels correct uit zonder dat iemand het bestand aanraakt.
De baan zelf is instelbaar voordat u snijdt: snijspleetcompensatie, rechte of gebogen aanlopen met eigen lengte en hoek, snijrichting, het startpunt van een afzonderlijke contour weg van een hoek en het afval in geschoven en micro-verbindingen zodat delen aan de plaat blijven hangen. Dat staat allemaal standaard uit, en met alles uit is het bestand het eenvoudige, draagbare bestand.
In detail
Wat er uit een nesting komt
Zes dingen, elke keer, voor elke plaat die het werk nodig had.
- Een indeling die aan de machine leesbaar is
- Elke plaatsing als positie en rotatie in plaatcoördinaten, getekend op de plaat of de rest waar hij bij hoort, met de delen die in de uitsnedes van andere delen zitten als zodanig gemarkeerd.
- Een benutting die gedefinieerd is
- Echte deeloppervlakte gedeeld door het gebruikte gebied van de plaat, bijgesneden op de echte contour. Het is met opzet geen percentage van de hele plaat, want een getal over de hele plaat blijft hetzelfde hoe goed de delen ook liggen. Het betekent ook dat het getal niet vergelijkbaar is met een heleplaatpercentage uit een ander pakket, en het is nuttig te weten welke van de twee u leest.
- Uitval, met de bewaarde rest eraf
- Gemeten tegen de hele bruikbare plaat, waarbij alles wat als rest is bewaard eraf gaat, want een stuk dat terug in het rek gaat is geen uitval. Dat is het getal dat u vertelt of het werk u een plaat heeft gekost.
- Een geschatte snijtijd met zijn onderdelen
- Snijlengte bij de voeding uit uw procesparameters, plus de insteektijd voor elke insteek, plus het verplaatsen van de toorts tussen contouren op een gemodelleerde ijlgangsnelheid. Overal waar hij verschijnt staat er geschat bij, want hij modelleert een tafel en meet niet de uwe.
- DXF en G-code uit dezelfde indeling
- Een DXF met elke contour als gesloten polylijn op een CUT-laag en de plaatcontour op een eigen laag, bogen bewaard als bulge, in millimeters. Of woordadres-G-code met de postprocessordetails van de machine. De twee beschrijven dezelfde nesting.
- Voorraad die zichzelf bijhoudt
- Een nesting als gesneden markeren verbruikt de plaat of de rest waarop hij lag, bewaart elke rest die voldoet als nieuwe voorraadregel met zijn contour en een verwijzing naar de nesting die hem maakte, verhoogt het gesneden aantal op elke orderregel die de nesting dekte, en meldt lage voorraad wanneer een materiaal onder de door u ingestelde drempel zakt.
Delen erin krijgen
DXF erin, en het vertelt u wat het niet kon lezen
De import leest lijnen, bogen, cirkels en polylijnen inclusief gebogen segmenten, sluit open ketens tot gesloten contouren door eindpunten binnen een twintigste millimeter aan elkaar te klikken, en sorteert de gevonden lussen op insluiting in buitencontouren en uitsnedes. Een cirkel die als losse entiteit binnenkomt houdt zijn boog, dus hij gaat er als boog weer uit en wordt als boog gepost in plaats van als veelhoek die er een nadoet.
Wat het niet kan gebruiken zegt het hardop. Niet ondersteunde entiteitstypen worden per type geteld en gemeld, en elke keten die niet zou sluiten wordt weggelaten en als weggelaten gemeld. Een DXF zonder ook maar één gesloten contour krijgt dat helder te horen, in plaats van als leeg deel te worden geïmporteerd, want een leeg deel dat u aan de machine ontdekt is een dure manier om erachter te komen.
Delen kunnen ook in de browser worden getekend of uit de parametrische sjablonen van de preset worden gehaald, en elk deel draagt zijn eigen materiaal, dikte, oppervlakte, snijlengte en aantal insteken, en daarop groepeert en calculeert de wachtrij.
Eerlijk gezegd
Wat dit niet doet
Goed om te weten voordat u er werk naartoe verplaatst, want een pagina die dit weglaat is er een waar u het later over hoort.
Het nest vlakke contouren in twee dimensies. Geen afschuining, geen buis- of profielnesting, geen meerdere toortsen en geen snijden met een gemeenschappelijke lijn of aaneengeschakelde contouren: elke contour krijgt zijn eigen insteek en aanloop. Eén werk is één materiaal op één dikte, want zo groepeert de snijwachtrij het openstaande werk.
Het kiest uw snijparameters niet. Voeding, insteektijd en snijspleet komen uit de procesparameters die u per materiaal en dikte instelt, en elk getal dat daaruit volgt, de snijtijd voorop, staat gemerkt als schatting. Niets hier beslist over een stroomsterkte, een toortshoogte of een set slijtdelen.
Het is geen machinebesturing. Het levert een bestand, en uw besturing beweegt de tafel. De directe G-code wordt samen op uw eigen tafel gevalideerd voordat iemand erop vertrouwt, en de DXF-weg naar de CAM die u al draait is er juist zodat u dat niet op vertrouwen hoeft aan te nemen.
Tegenover indelen op het oog
Waar het helpt en waar niet
Een zorgvuldige operator die delen op het scherm indeelt is een echt antwoord, en op een eenvoudige plaat een goed antwoord. Dit verandert er.
| Taak | Op het oog op het scherm | Kabaido |
|---|---|---|
| Twee concave contouren in elkaar schuiven | Als iemand het ziet | Gezocht, op de echte contouren |
| De uitsnede in een groot deel gebruiken | Zelden | Gevuld waar een deel past |
| Nesten op een grillige rest | Op het oog, op de rechthoek | Op de echte contour |
| Kiezen welke plaat wordt gesneden | Wat het dichtst bij ligt | Gerangschikt, resten eerst gewogen |
| De delen die niet passen | Tweede plaat, opnieuw indelen | Automatisch doorgeschoven en genest |
| Een geslaagde nesting herhalen | Uit het hoofd | Opgeslagen met zijn seed |
| Vastleggen wat overblijft | Een briefje op het rek, als het meezit | Bewaard met zijn contour |
| Snijvolgorde en plaats van de insteken | Uw CAM | Uitgestuurd, of geëxporteerd naar uw CAM |
| Voeding, insteektijd en snijspleet | De uwe | De uwe |
| De tafel besturen | Uw besturing | Uw besturing |
| Beslissen dat het werk zo gesneden kan worden | U | U |
Aan de slag
Nest een plaat die u al hebt gesneden
Geen kaart bij aanmelden, en het gratis plan is geen proefperiode.
Importeer de DXF-bestanden en voer de plaat in
Haal de contouren binnen van een werk dat u vorige maand sneed en voeg het formaat toe waarop u het sneed, rest of volle plaat.
Nest en vergelijk
Draai het en leg de indeling naast die u gesneden hebt. De benutting en de rest zijn de twee getallen waarover het zinvol is te discussiëren.
Exporteer en controleer het bestand
Neem de DXF mee naar de CAM die u al draait, of de G-code naar de tafel met het machineprofiel ingesteld, en controleer hem voordat u erop vertrouwt.
In het gesprek nesten we samen met u een van uw eigen werken, op uw eigen formaten, en wat eruit komt houdt u.
Vragen
Wat plasmabedrijven als eerste vragen
- Ware contour in de normale zoekmodus. Of twee delen naast elkaar mogen liggen bepaalt het no-fit-polygoon van hun echte contouren, berekend als Minkowski-som, en of een deel in de plaat of in een gevormde rest past bepaalt een inner-fit-polygoon van dezelfde soort. Omhullende rechthoeken komen op precies twee plekken voor en beide staan op het scherm: de kwaliteitsschakelaar Snel, en de snelle ronde die de kandidaatplaten rangschikt voordat de echte zoekactie start.
- Ja, uit dezelfde seed en dezelfde hoeveelheid zoekwerk. Elke trekking komt uit één stroom met vaste seed, dus de reeks geprobeerde indelingen ligt vast door de seed en het tijdvenster bepaalt alleen hoe ver de run daarin komt. De beste gevonden indeling wordt altijd bewaard, en de nesting wordt met zijn seed opgeslagen. Nogmaals op nesten drukken laat de seed met opzet oplopen, dus u krijgt een nieuwe poging om mee te vergelijken en niet dezelfde terug.
- Dat is een groot deel van waarom het bestaat. Een rest wordt bewaard met zijn echte contour, inclusief de gaten waar al delen uit zijn gehaald, en er wordt op die contour genest en niet op een rechthoek eromheen. Resten dragen bovendien een vaste bonus in de plaatkeuze, dus een rest die het werk aankan wordt boven een volle plaat gekozen.
- Waar ze passen. Na de hoofdronde krijgen niet geplaatste delen de uitsnedes van de reeds geplaatste aangeboden, elke uitsnede verkleind met dezelfde randmarge als de plaat en overgeslagen als er te weinig overblijft. Het snijbestand snijdt die delen dan volledig, en vóór het deel eromheen, zodat ze vrijkomen terwijl het kader nog aan de plaat hangt. Het vullen gaat één niveau diep.
- Echte deeloppervlakte gedeeld door het gebruikte gebied van de plaat, bijgesneden op de echte contour daarvan. Het is met opzet geen heleplaatgetal, want een heleplaatgetal is hetzelfde hoe strak de delen ook liggen en valt daarom niet te optimaliseren. Het betekent wel dat het getal niet rechtstreeks vergelijkbaar is met een heleplaatpercentage uit een ander pakket. Uitval wordt apart gemeld, tegen de hele plaat, met alles wat als rest is bewaard eraf.
- Lijnen, bogen, cirkels en polylijnen, inclusief gebogen polylijnsegmenten, waarbij open ketens tot gesloten contouren worden verbonden door eindpunten binnen 0,05 mm aan elkaar te klikken en de lussen op insluiting in buitencontouren en uitsnedes worden gesorteerd. Alles wat niet ondersteund wordt, wordt per type geteld en als waarschuwing gemeld, en een keten die niet sluit wordt weggelaten en gemeld. Een bestand zonder gesloten contour wordt met die reden geweigerd in plaats van als leeg deel geïmporteerd.
- Nee. Exporteer de nesting als DXF en ga verder in de CAM die u al draait, precies als vandaag. De directe G-codeweg is er voor wanneer u de korte route wilt, met de insteekvertraging, de regels van de hoogteregeling, het voedingsplafond en de machinenaam uit het profiel van die tafel, en hij wordt samen op uw tafel gevalideerd voordat u erop vertrouwt. Uw besturing beweegt de machine in beide gevallen.
- Nesten is handwerk en handwerk wordt nooit geteld, dus nesten, exporteren en snijden kosten op elk plan niets, ook op het gratis plan. Het gratis plan is de volledige handmatige Arcline op één machine, zonder kaart bij aanmelden en zonder tijdslimiet. Starter kost £149 per maand en voegt AI-credits en uw eigen huisstijl toe, elk plan bevat één machinescherm, en extra schermen kosten £49 per maand per stuk op elk betaald plan.
Nest een plaat die u al hebt gesneden en vergelijk de twee.
Meld u gratis aan, importeer de contouren, voer het formaat in waarop u sneed en draai het. Is de indeling niet beter dan die u met de hand maakte, vertel ons dan om welk werk het ging.