Sunteți pe pagina 1din 16

Jurnalul Internațional de Tehnologie Avansată de Fabricare (2021) 112:1023–1033

https://doi.org/10.1007/s00170-020-06396-2
ARTICOL ORIGINAL

Un algoritm eficient de tăiere a rețelei triunghiulare


pentru toate topologiile din fabricația aditivă

Bethany King1 & Allan Rennie1 & Graham Bennett 2 

REZUMAT
Până în prezent, algoritmii de tăiere pentru fabricarea aditivă sunt cei mai eficienți pentru topologiile
favorabile de plasă triunghiulară; Modelele din cel mai rău caz, în care un procent mare de triunghiuri
intersectează fiecare plan de felie, durează mult mai mult pentru a se tăia decât un fișier asemănător. În
fișierele mai mari, acest lucru are ca rezultat o durată semnificativă de tăiere, când modelele sunt ambele
cazuri cele mai grave și conțin mai mult de 100.000 de triunghiuri. Cercetarea prezentată aici introduce un
algoritm de tăiere care poate tăia în mod eficient modelele mari în cel mai rău caz. Un nou algoritm este
implementat utilizând o metodă eficientă de construcție a conturului, cu adaptări ulterioare, care fac
algoritmul potrivit pentru toate topologiile modelului. Potrivirea marginilor, care este o metodă avansată de
sortare, scade numărul de sortări pe muchie de la n număr total de intersecții la două, alături de micro-
optimizări suplimentare care oferă algoritmul eficient de construcție a conturului îmbunătățit. Algoritmul a
reușit să tranșeze un model din cel mai rău caz de 2,5 milioane de triunghiuri în anii 1025. Îmbunătățirea
maximă a fost măsurată cu 9400% față de metoda eficientă standard de construcție a conturului. De
asemenea, s-au observat îmbunătățiri în toate părțile care depășesc 1000 de triunghiuri. Algoritmul de tăiere
prezentat oferă metode noi care abordează eșecurile altor algoritmi descriși în literatură pentru a tăia în mod
eficient modelele din cel mai rău caz.
1. INTRODUCERE
Fabricarea aditivă (AM) poate fi definită ca o tehnologie în care un obiect tridimensional (3D) este
construit prin crearea secvențială de straturi bidimensionale (2D) [1 ] . Crearea componentelor poate fi
realizată folosind o gamă largă de metode și materiale; cu toate acestea, toate procesele AM constau din trei
etape distincte: (i) construirea unui model digital; (ii) aplicarea algoritmilor de preprocesare, conversia
modelului în straturi 2D apoi generarea traseului mașinii-unelte [ 2 ]; și (iii) crearea piesei fie prin
depunerea, fie prin topirea materialului pe stratul precedent. Beneficiile AM includ posibilități sporite de
proiectare față de producția subtractivă și creșterea eficienței și a costurilor în volume mici [ 3 ].
Dintre cele trei formate de fișiere principale pentru AM (*.STL, *.AMF, *.3MF) [ 4 , 5 ], toate construiesc
geometrie folosind ochiuri triunghiulare. Ochiurile din AM constau întotdeauna din triunghiuri teselated
care se conectează la vârfuri, fiecare vârf definit ca o coordonată 3D în virgulă mobilă și sunt ordonate în
sens invers acelor de ceasornic atunci când se observă partea din exterior [ 6 ] ; fiecărui triunghi i se atribuie
o normală asociată orientată spre exterior, care poate fi utilizată în timpul tăierii sau la redarea grafică a
piesei [ 7 ]. Pe măsură ce tehnologia a avansat, iar rezoluția și acuratețea mașinilor s-au îmbunătățit [ 8 ],
rețelele din fișierele AM necesare pentru a captura caracteristicile geometrice mai detaliate au crescut în
complexitate și au devenit mai fine [ 9 ]]. Algoritmul de tăiere necesar pentru a converti modelele moderne
AM în contururi 2D trebuie să se îmbunătățească în continuare, pentru a tăia în mod eficient ceea ce odată
era considerat fișiere excepțional de mari.
Modelele de piese care sunt cel mai rău caz dintr-o perspectivă algoritmică de tăiere sunt cele care conțin un
procent mare de triunghiuri care se intersectează pe orice strat dat. Procesul de tăiere constă din două
operații care calculează intersecțiile dintre triunghiuri și planul feliei și apoi sortează intersecția în contururi
învecinate. În cel mai rău caz, părțile sunt deosebit de dificil de tăiat din cauza procesului de sortare,
crescând în durată exponențial cu fiecare triunghi suplimentar din strat. Cercetarea prezentată aici se
bazează pe metoda construcției eficiente a conturului (ECC) [ 10 ] care exploatează formatul de plasă
triunghiulară adăugând caracteristici care abordează incapacitatea de a manipula în mod eficient piesele din
cel mai rău caz.

2 Revizuirea lucrărilor conexe


Tăierea este procesul de conversie a modelului 3D într-o serie de straturi care conţin limitele perimetrului
2D caracterizate printr-o buclă închisă de puncte conectate [ 11 ]. Xu și colab. [ 12 ] oferă o descriere de
bază a etapelor implicate în procesul de tăiere (Fig.  1 ), constând în calcularea tuturor intersecțiilor pentru
un plan de feliere apoi sortarea lor într-o metodă de contururi continue care funcționează foarte bine pentru
geometriile simple, dar devine extrem de ineficientă. pe măsură ce complexitatea crește, datorită luării în
considerare a triunghiurilor care nu se intersectează cu planul feliei. Tian şi colab. [ 13] descriu o metodă
prin care triunghiurile pre-grupează în funcție de faptul dacă acestea se încadrează într-o colecție de planuri
de felie folosind o căutare binară pentru a reduce astfel de considerații. Deși se poate observa o creștere
semnificativă a eficienței, ar fi mai bine dacă luarea în considerare a triunghiurilor redundante ar putea fi
eliminată în totalitate.
Fig 1. Diagramă de bază a algoritmului de tăiere

În modelul standard de tăiere (Fig. 1 ), sortarea intersecțiilor generate se bazează pe compararea punctelor
finale ale segmentului de linie generat atunci când se intersectează triunghiul cu planul feliei, așa cum este
descris de Steuben și colab. [ 14 ] luând forma unei căutări de graf conectat [ 15 ] provocând potriviri false
din cauza modelelor în care mai mult de două triunghiuri converg într-un singur punct (Fig.  2 ). Acest lucru
face ca algoritmul fie să cadă într-o buclă continuă, fie să producă o ieșire eșuată, pentru care este necesară
o metodă mai bună de sortare.
De obicei, grosimea stratului este constantă în timpul procesului de feliere; totuşi, există un număr de
exemple pentru tăierea adaptivă [ 16 , 17 , 18 ] în care înălţimea stratului este redusă la tăierea regiunilor cu
detalii ridicate sau mărită când există mai puţine caracteristici geometrice care trebuie capturate. Aceste
metode pot crește eficiența procesului de feliere; cu toate acestea, utilizarea este adecvată numai atunci când
este produs un model per ciclu de construcție. În mașinile AM mai mari, cum ar fi sinterizarea selectivă cu
laser (SLS), stereolitografia (SL) sau topirea selectivă cu laser (SLM), unde, în mod convențional, mai
multe modele sunt teselated în zona de construcție. Creșterea sau scăderea adâncimii feliei pentru un model
va fi probabil în detrimentul altor modele de pe strat. Li și Xu [ 19] recunosc că tăierea adaptivă este utilă în
primul rând pentru modelarea prin depunere fuzionată (FDM) și, prin urmare, nu poate fi considerată
potrivită pentru un motor de feliere eficient universal.

Fig.2 Mesh cu puncte partajate


Mai mulți algoritmi de tăiere produc o ieșire optimă pentru anumite metode de AM. Ding și colab. [ 20 ]
sugerează tăierea în mai multe orientări pentru AM bazat pe alimentare cu sârmă, în primul rând cu scopul
de a crește integritatea pieselor și de a minimiza structurile de susținere. Există cercetări similare care
încearcă să optimizeze procesul de feliere pentru tehnologia de fuziune a stratului de pulbere [ 21 ]; cu toate
acestea, îmbunătățiri similare, mai semnificative în această privință pot fi văzute în optimizarea orientării și
aranjamentului modelului [ 22 , 23 , 24 ] și, prin urmare, nu ar trebui să fie responsabilitatea algoritmului de
tăiere.
Combinarea algoritmului de tăiere cu generarea traseului sculei [ 25 ] poate îmbunătăți eficiența procesului
general prin eliminarea necesității de a scrie într-un fișier de feliere intermediar, dar limitează posibilitățile
de ieșire a algoritmului la aplicația specifică, datorită naturii variate. a formatului de introducere a traseului
sculei. Au existat o serie de eforturi pentru a compensa modelele de calitate scăzută, care conțin erori sau
caracteristici geometrice incorecte folosind procesul de tăiere; Zhao și colab. [ 26 ] a urmărit să reducă
eroarea cauzată de discretizarea modelului CAD în fișierul plasă triunghiulară folosind aproximarea
conturului, iar Luo și Wang [ 27 ] au urmărit în mod similar să minimizeze impactul defectelor, cum ar fi
fisurile și marginile suprapuse în model în timpul procesului de tăiere.

Algoritmul ECC a lui Zhang [ 10] prezintă un algoritm universal cuprinzător de tăiere, care este eficient atât
în timp, cât și în memorie; metoda lor exploatează natura în sensul acelor de ceasornic a unei rețele
triunghiulare, permițând să fie calculată o singură intersecție pe plan de felie per triunghi, reducând cerința
de memorie a algoritmului de tăiere la jumătate. În plus, metoda de sortare dinamică este utilizată în cazul
în care intersecțiile sunt inserate direct în contur, pe măsură ce sunt calculate, mai degrabă decât utilizarea
unei structuri de date intermediare pentru a păstra segmentele de linie nesortate, reducând din nou necesarul
de memorie a algoritmului. Metoda de sortare permite conectarea liniilor astfel încât să fie verificate doar
începutul și sfârșitul segmentelor de linie conectate,1 .
3 Metode
3.1 Implementarea algoritmului ECC
Zhang şi colab. [ 10 ] oferă un algoritm ECC robust, care este eficient pentru anumite geometrii de
piese. Algoritmul se bazează pe calcularea intersecțiilor pentru fiecare triunghi de sus în jos fie de-a lungul
muchiei celei mai lungi, fie de-a lungul celor două muchii mai scurte (Fig.  3 ). Decizia se bazează pe
ordinea în care apar vârfurile celei mai lungi muchii în fiecare triunghi. La calculul intersecției, aceasta este
stocată într-un nod de intersecție (IN), care conține coordonatele 2D ale intersecției, un indicator de margine
(EP) care conține adresa de memorie a vârfurilor celor două muchii ale triunghiului care intersectează
planul feliei. , și indicatorul următor și anterior, care localizează un IN următor sau precedent în listă,
respectiv (Fig.  4). O serie de IN-uri legate sunt păstrate într-o structură de date a listei de intersecție (ILL),
care conține un pointer către ILL-ul următor și un pointer către primul și ultimul element din listă.

Fig. 3 Triunghi de plasă cu planuri de felie

Fig. 4 Reprezentarea grafică a structurii datelor IN

În urma creării IN, acesta trebuie introdus într-un ILL. Toate ILL-urile existente ale punctelor de margine
ale primului și ultimului element sunt comparate cu indicatorul de margine al IN pentru inserare. IN este
apoi introdus în conformitate cu următoarele scenarii:

1. Nu există ILL existente, IN este prima intersecție calculată pe acel strat, iar IN este inserat într-un
nou ILL;
2. Se găsește o potrivire cu primul IN dintr-un ILL, iar IN este inserat în partea din față a listei;
3. Se găsește o potrivire cu ultimul IN dintr-un ILL, iar IN este inserat în spatele listei;
4. Două potriviri se găsesc, în liste separate, la primul element dintr-un ILL și ultimul element dintr-un
al doilea ILL; IN-ul conectează cele două liste; iar a doua listă este ștearsă;
5. Două potriviri sunt găsite în aceeași listă, IN este inserat în spatele listei potrivite, iar aceasta indică
că lista potrivită a fost completată;
6. Nu se găsește nicio potrivire în niciunul dintre ILLS existente, iar IN este inserat într-un nou ILL.

Odată ce IN a fost introdus într-un ILL, următoarea intersecție de pe margine este calculată și sortată. Odată
ce toate intersecțiile de pe triunghi au fost calculate și inserate în ILL-uri, triunghiul următor este luat în
considerare până când toate triunghiurile din plasă au fost luate în considerare, iar tăierea ajunge la
final. Datele din ILL-uri pot fi apoi scrise într-un format de fișier slice, sau formatul de listă ILL poate fi
utilizat direct pentru generarea traseului sculei.

La implementarea algoritmului ECC și a unei strategii tradiționale bazate pe diagrama de flux detaliată în
Fig. 1 [ 12 ], în limbajul C++, s-au efectuat teste cuprinzătoare pe fișierele *.STL prezentate în Fig. 5 şi 6 ,
iar rezultatele sunt date în Tabelul 1 . Algoritmul ECC arată îmbunătățiri față de metoda convențională de
tăiere între 9000 și 1150% pentru toate cele trei părți. Rezultatul a fost deosebit de impresionant pentru
Fig.  6 , având nevoie de sub 575 ms pentru a tăia piesa. Cu toate acestea, atât în metoda convențională, cât
și în cea ECC, există o diferență între duratele secțiunii pentru Fig. 5a și 6în ciuda faptului că consta dintr-
un număr similar de triunghiuri, a durat peste 237.000 ms și 2.752.181 ms pentru algoritmii ECC și,
respectiv, convenționali — de 413 de ori mai mult pentru a tăia pentru metoda ECC și de 494 de ori mai
mult pentru algoritmul convențional.

Figura 5b timpul de tăiere este de 20,9 și 19,2 ori mai mic decât cel din Fig. 5a pentru ECC și, respectiv,
algoritmul convențional, indicând că direcția de tăiere care interacționează cu topologia piesei are un impact
semnificativ asupra eficacității ambilor algoritmi. O posibilă soluție este analizarea pieselor și orientarea
acestora într-un mod optim pentru algoritmul de tăiere; cu toate acestea, acest lucru nu prezintă un rezultat
bun, deoarece orientarea optimă pentru feliere este puțin probabil să fie orientarea optimă pentru construirea
piesei [ 28 ]. Un algoritm capabil să taie piesele în mod eficient, indiferent de orientare, este esențial.

Analiza topologiei din Fig. 5a a indicat că procentul mediu de triunghiuri care se intersectează pe fiecare
strat este de 33% echivalent cu 34.000 de triunghiuri, ceea ce înseamnă că partea poate fi identificată ca
fiind cel mai rău caz, în timp ce pentru Fig. 5b, o medie mai mică de 2% sau 2056 triunghiuri se
intersectează pe fiecare strat. Numărul total de intersecții ale întregii părți rămâne același pentru ambele
cazuri. Se poate deduce că procedura de sortare atunci când un număr mare de triunghiuri sunt prezente pe
strat este cauza ineficienței.

Fig. 5 a Foaie de testare cu 100 de găuri cu 102.812 triunghiuri și dimensiuni 265 × 265 × 3
mm; b aceeași foaie de testare rotită cu 90°

Fig. 6 Turn de șah care conține 93.930 triunghiuri, dimensiuni: 31,75 × 31,75 × 53,15 mm
Table 2 Reduction in the number of matching processes from ECC to EECC

Model Total number of Average number Total number Percentage reduction


sorts per ECC part of sorts per layer of sorts EECC from ECC to EECC

Test sheet with 100 1,562,144 52,071 53,555 2916%


holes (Fig. 5a )

Test sheet with 100 2,380,123 898 53,555 44.446%


holes rotated
(Fig. 5b )

Rook (Fig. 6 ) 3,949,700 7452 81,435 4850%

3.2 Potrivirea marginilor
Procesul de sortare din algoritmul ECC se bazează pe compararea indicatorului de margine la începutul și la
sfârșitul fiecărei liste de vârfuri conectate pentru o potrivire cu IN-ul curent. Acest proces poate fi optimizat
în continuare utilizând faptul că ochiurile triunghiulare pot fi asociate doar margine cu margine și vârf cu
vârf; prin urmare, un triunghi împarte doar margini cu exact alte trei, câte unul pe fiecare margine. În
consecință, odată ce s-a făcut o potrivire pentru o intersecție pe o muchie, triunghiul potrivit va fi același
pentru restul acelei muchii (Fig.  7 ). Algoritmul ECC standard a fost ajustat pentru a ține cont de acest
lucru pentru a reduce numărul de proceduri de sortare necesare pentru fiecare muchie de la n , numărul total
de intersecții ale muchiei la una.

Fig. 7 Exemplu de plan de felie care se intersectează cu triunghiuri potrivite


Structura de date IN a fost modificată pentru a conține un indicator de legătură de margine (Fig. 8 ), ținând
adresa locației de memorie care indică către ILL care conține IN al intersecției ulterioare pe
triunghi. Procedura de utilizare a legăturii de margine este descrisă în diagrama de flux din Fig.  9 . Prima
intersecție este inserată în ILL utilizând metoda pentru algoritmul standard ECC, iar în urma acesteia, IN-ul
următor (IN i ) este inserat în ILL în patru cazuri, în funcție de rezultatul sortării IN-ului anterior (IN prev . ):

Fig. 8 Modificat IN pentru a include legătura de margine

Fig. 9 Organigrama algoritmului EECC


1. Dacă IN prev este inserat într-un nou ILL, IN curent pentru a fi luat în considerare IN i va fi de
asemenea inserat într-un nou ILL, iar adresa ILL care conține IN i va fi salvată ca indicator de
legătură marginea IN prev ;
2. Dacă IN prev este inserat în spatele unei liste, IN i va fi inserat în spatele listei care se află la
indicatorul de margine al ultimului IN din lista la care este conectat IN prev ;
3. Dacă IN prev este inserat în fața unei liste, IN i va fi inserat în partea din față a listei care se află la
indicatorul de margine al primului IN din lista la care IN prev este conectat;
4. În cele din urmă, dacă IN prev a conectat două liste, IN i va conecta cele două liste conținute în
pointerii de margine ale ultimului IN din ILL care urmează IN prev și primul IN pe care IN prev îl
precede odată conectat.

În cazurile de la 1 la 3, adresa locației de memorie a ILL în care a fost introdus IN i este atribuită ca legătură
de margine a IN prev . În cazul 4, nu este necesară alocarea legăturii de margine, deoarece IN prev este pe
mijlocul unui ILL și, prin urmare, nu va fi verificat în inserările viitoare IN. Impactul implementării
indicatorului de legătură la margine în algoritm este că numărul de intersecții care sunt supuse procesului de
verificare pe triunghi este redus de la n (numărul total de intersecții de pe triunghi) la unu. Valorile
înregistrate în contor au fost implementate temporar în cadrul fiecărui algoritm, detaliind de câte ori a fost
supus procesul de potrivire al ECC standard pentru fiecare algoritm este prezentat în Tabelul 2 .
3.3 Modificări suplimentare și potrivirea marginilor
Transferul ILL-urilor finalizate din CLL de sortare activă într-un CLL separat care conține numai liste
completate era de așteptat să crească eficiența prin reducerea numărului de sortări. În unele cazuri, toate
triunghiurile dintr-o plasă triunghiulară multi-cochilii conectată apar succesiv în fișier; prin urmare,
conturul sau contururile asociate cu acel shell vor fi finalizate mai întâi și, în consecință, orice IN-uri
suplimentare generate de shell-urile rămase vor verifica ILL-ul finalizat la fiecare iterație de căutare. La
inițializarea algoritmului, sunt create două versiuni ale CLL: CLL-ul standard în care au loc toate sortările și
inserările IN și un al doilea CLL complet unde ILL-urile sunt transferate prin modificarea indicatorilor de
locație de memorie, când IN se constată că se potrivește în aceeași listă de două ori.

Micro-optimizarea în ordinea în care variabilele de caz sunt evaluate în bucla de caz IF/ELSE a oferit o
economie de timp vizibilă. Ordinea în care apar variabilele cazului a fost restructurată pentru a se asigura că
cel mai probabil caz apare primul. Pentru a testa care caz este cel mai probabil, au fost create o serie de
valori întregi pentru a număra de câte ori a apărut fiecare variabilă de caz. Tabelul 3 arată numărul de
apariții ale fiecărui caz înregistrat utilizând contoare întregi la rularea algoritmului ECC cu potrivirea
marginilor.

Tabelul 4 arată că cazul cel mai dominant depinde în mare măsură de topologia triunghiurilor din plasă,
evidențiat de o comparație a foilor de testare rotite din Fig. 5, prezentând cazuri diferite, în ciuda faptului că
au triunghiuri de geometrie și conexiuni identice. Tabelul 5 conține probabilitatea medie de apariție a unui
caz pentru toate modelele luate în considerare în această lucrare. Sa stabilit că ordinea proceselor de
inserare automată în bucla IF/ELSE va urma apariția cea mai probabilă până la cea mai puțin probabilă
prezentată în Tabelul 4 .

4 Rezultate, analiză și discuție


Modificările la algoritmul ECC creează algoritmul de construcție eficientă a conturului îmbunătățit (EECC),
pentru a evalua succesul acestei metode; mai multe părți au fost tăiate folosind algoritmul ECC standard,
algoritmul ECC cu potrivirea marginilor și algoritmul EECC completat, iar rezultatele sunt prezentate în
Tabelul 5 .

Model Total number of Average number Total number Percentage reduction


sorts per ECC part of sorts per layer of sorts EECC from ECC to EECC

Test sheet with 100 1,562,144 52,071 53,555 2916%


holes (Fig. 5a )

Test sheet with 100 2,380,123 898 53,555 44.446%


holes rotated
(Fig. 5b )

Rook (Fig. 6 ) 3,949,700 7452 81,435 4850%

Tabelul 3 Numărul EECC de cazuri per parte


Model Nicio listă de Introduceți în Introduceți în Legați două Necesită
potrivire fața listei spatele listei liste sortare

Foaie de testare cu 733.700 174 11.600 733.700 54.036


100 de găuri (Fig. 5a )

Foaie de testare cu 377.964 256.360 25.639 800.658 72.589


100 de găuri rotite
(Fig. 5b )

Foaie de testare cu 17.904.600 174 497.350 17.904.600 1.288.736


1225 de găuri
(Fig.  12 )

Foaie de testare cu 3.288.600 174 91.350 3.288.600 236.736


225 de găuri (Fig.  15 )

Foaie de testare cu 7.074.144 174 19.504 7.074.144 509.204


484 de găuri (Fig.  13 )

Foaie de testare cu 10.655.064 174 295.974 10.655.064 766.944


729 de găuri (Fig.  14 )

Dodecaedre (Fig.  10 ) 4850 7810 1386 4693 567

Model de calibrare 69.540 123.906 51.421 68.144 81.459


(Fig.  11 )

Rook (Fig. 6 ) 30.379 83.907 82.258 26.514 9077

Cap figurină (Fig. 16 ) 159.372 194.935 202.963 15.906 511.004

Tabelul 4 Procentajul mediu de apariții a rezultatului sortării


EECC pe 50 de piese de testare

Nicio listă de potrivire Inserați în fața listei Inserați în spatele listei Legături două liste
(%) (%) (%) (%)

26.91 29,89 20.79 22.40

 Îmbunătățirea cea mai de impact este prezentată în părțile identificate în cel mai rău caz
(Fig.  12 , 13 , 14 și 15 ). În cel mai mare model din cel mai rău caz care ar putea fi tăiat folosind algoritmul
ECC (Fig. 15), algoritmul EECC este cu 9400% mai rapid decât algoritmul ECC standard. Dintre piesele
testate, doar modelele care conțin sub 1000 de triunghiuri au înregistrat o creștere procentuală semnificativă
în comparație cu timpul inițial de tăiere de 180% pentru Fig.  10 . Aceasta este o creștere acceptabilă
datorită timpilor imperceptibili de tăiere atât cu algoritmii ECC, cât și EECC și poate fi explicată datorită
implementării testării edge-point care durează mai mult timp decât economiile sale; doar o scădere
neglijabilă se vede în Fig.  11 din același motiv.
Fig. 10 Model de dodecaedră format din 2074 triunghiuri, 157,81 × 133,62 × 165,15 mm

Fig. 11 Un model de calibrare format din 316 triunghiuri, 165,1 × 165,1 × 25,4 mm

Figurile  11 , 12 și 13 , 16  reprezintă cel mai mare dintre fișierele testate folosind algoritmul standard ECC,
care a fost supus procesului de tăiere timp de peste 4 ore, dar nu a ajuns niciodată la finalizare, deoarece
programul a fost terminat după acest timp, deoarece era inacceptabil de lung . Acest lucru a indicat că aceste
părți ar fi văzut îmbunătățiri și mai mari decât cele observate în Fig.  14 , dacă finalizarea ar fi fost într-
adevăr posibilă.
Fig. 12 Foaie de testare care conține 1225 de găuri, 2.513.751 triunghiuri cu dimensiunea 250 × 250 ×
3 mm

Fig. 13 Foaie de testare care conține 484 de găuri, 993.180 de triunghiuri cu dimensiunea 250 × 250 ×
3 mm
Fig. 14 Foaie de testare care conține 729 de găuri, 1.495.920 de triunghiuri cu dimensiunea 250 × 250
× 3 mm

Tabelul 6 oferă o comparație a slicerelor cu sursă deschisă cu algoritmul ECC îmbunătățit; tăierea a fost


cronometrată cu precizie prin descărcarea software-ului open-source și inclusiv modificările de
sincronizare. Algoritmul EECC a fost de cel puțin două ori mai rapid pentru toate cazurile.

Tabelul 6 Comparația algoritmului ECC îmbunătățit cu Slic3r și


Cura, tăiat la o grosime a feliei de 0,1 mm cu umplere de 0%

Nume de fișier Ultimaker Cura 1 (s) Slic3r 2 (s) ECC îmbunătățit(e)

Dodecaedre (Fig.  10 ) 7.674 9.125 0,654

Foaie de testare cu 225 de găuri (Fig. 15 ) 128.360 - a 50.3

Rook (Fig. 6 ) 5.341 6.31 2.29


-a Slicing nu s-ar putea finaliza fără terminarea programului
Tabelul 5 Rezultatele testului de eficiență a algoritmului ECC
îmbunătățit; toate părțile au fost tăiate la o grosime a feliei de
0,1 mm pe un sistem de 64 de biți

Numele piesei #Triunghiuri #Straturi Algoritm (e) Ora ECC Timp ECC+ ECC (e)
convențional (e) potrivire îmbunătățit
de timp margine (e) în timp

Foaie de testare 102.812 30 2752.181 237.582 10.029 8.241


cu 100 de găuri
(Fig. 5a )

Foaie de testare 2.513.712 30 - a - a 1025,81 302,8


cu 1225 de
găuri (Fig.  12 )

Foaie de testare 461.712 30 - a 4775,382 70.884 50.3


cu 225 de găuri
(Fig.  15 )

Foaie de testare 993.180 30 - a - a 202.745 111.3


cu 484 de găuri
(Fig. 13 )

Foaie de testare 1.495.920 30 - a - a 380.788 169,1


cu 729 de găuri
(Fig. 14 )

Dodecaedre 2074 1653 2.582 0,41 0,685 0,654


(Fig. 10 )

Model de 316 255 1.573 0,031 0,066 0,058


calibrare
(Fig. 11 )

Rook (Fig. 6 ) 93.930 533 34,81 2.855 2.452 2.29

Cap figurină 467.882 814 788.698 65.695 8.091 7,59


(Fig.  16 )

Talpă cu 862.014 545 - a - a 186.351 95.876


zăbrele
(Fig. 17 )
a Timp de tranșare a depășit 4 ore; procesul a fost încheiat
4.1 Complexitatea spațială și temporală
Procedura standard de sortare ECC poate fi definită în trei cazuri: cel mai rău caz, cel mai bun caz și caz
mediu, dacă există k număr de liste în CLL, m intersecții per triunghi și n triunghiuri în
model; complexitatea algoritmului de sortare este detaliată în Tabelul 7 .
Tabelul 7 Complexitatea temporală a algoritmului standard de
sortare ECC

Caz Numărul de verificări pe Numărul de verificări pe Numărul de verificări pe


intersecție triunghi model

Cel mai O (1) O (m) O (min)


bun

Cel mai O ( k ) O (km) O (kmn)


rău

In medie O ( k /2) O (km/2) O (kmn/2)

Introducerea algoritmului ECC îmbunătățit reduce numărul de sortări pe triunghi de la m intersecții pe


triunghi la 2 în toate cazurile și, prin urmare, complexitatea timpului devine O (2 n ), O (2kn) și O (kn)
pentru cele mai bune, cele mai rele și, respectiv, cazuri medii. Acest lucru demonstrează că îmbunătățirile
algoritmului ECC au cel mai mare impact asupra rețelelor triunghiulare din cel mai rău caz și cel mai puțin
asupra celui mai bun caz. Procedura de sortare în cel mai rău caz poate fi diferențiată de modelele de cel
mai rău caz identificate anterior, în care valoarea k ar fi foarte mare, până la 67% din numărul total de
triunghiuri n , în comparație cu un model de cel mai bun caz în care kar fi mai puțin de 1% din numărul
total de triunghiuri.
A existat o ușoară creștere a complexității spațiului în algoritmul ECC îmbunătățit în comparație cu
algoritmul ECC standard, datorită implementării pointerului de legătură margine, unde fiecare pointer are 8
octeți pe un sistem de 64 de biți. Necesarul total de spațiu pentru o intersecție este de 4 octeți fiecare pentru
coordonatele X și Y ale intersecției și cele cinci pointere, două indicatori de margine, un indicator de
legătură de margine și doi pointeri care leagă conturul împreună, ceea ce reprezintă un total de 48 de octeți
pe intersecție, o creștere de 8 octeți sau 16,67% față de algoritmul ECC standard. Deoarece
există m intersecții pe triunghi și ntriunghiuri din model, necesarul total de RAM poate fi definit ca 48-nm
octeți. Această ușoară creștere a complexității spațiului poate fi justificată prin îmbunătățirea eficienței.
4.2 Context industrial
Au fost identificate structuri cu zăbrele care oferă avantaje semnificative față de produsele de umplutură
solide și în funcție de proiectare și pot oferi aceleași proprietăți sau mai bune ale materialului, de exemplu,
rezistență la tracțiune și compresiune la o greutate și volum a părții considerabil reduse. Aceste tipuri de
piese au prezentat avantaje semnificative în domeniile în care este de dorit un raport mare
rezistență/greutate, exemple includ produse aerospațiale și de performanță sportivă. Modelele de structură
cu zăbrele pot fi adesea clasificate ca modele din cel mai rău caz, mai ales atunci când zăbrelele se află într-
un singur strat care rulează de sus în jos în direcția construcției.

Fig. 15 Foaie de testare care conține 225 de găuri, 461.712 triunghiuri cu dimensiunea 250 × 250 × 3
mm
Fig. 16 Cap figurină care conține 467.882 triunghiuri, dimensiunile de 141,61 × 111,27 × 81,29 mm

Un exemplu industrial de structuri de zăbrele în AM este pantofii imprimați 3D [ 29 , 30 ],


Figura 17 prezintă pantofii Adidas Alphaedge 4D disponibili în prezent pe piața de masă, prezentând o
structură de zăbrele pe talpa pantofului. Din ce în ce mai mult, acești pantofi sunt fabricați personalizat
pentru o scanare a piciorului purtătorului, ceea ce înseamnă că fiecare model CAD este diferit și va trebui
tăiat individual, rezultând în general timpi de tăiere foarte lungi. Figura 18 prezintă un model al tălpii de
încălțăminte destinată producției prin fabricarea aditivă. Această parte poate fi considerată atât cel mai rău
caz, cu o medie de 24% triunghiuri intersectându-se pe fiecare strat și un fișier *.stl mare. Rezultatele din
tabelul 5să demonstreze un algoritm ECC îmbunătățit care oferă un avantaj semnificativ pentru această
parte care ar fi fabricată într-o aplicație industrială. Partea prezintă o îmbunătățire de peste 100% față de
algoritmul standard ECC și o îmbunătățire de cel puțin 15.200% față de algoritmul tradițional de sortare a
liniilor de la capăt la capăt.
Fig. 17 Adidas Alphaedge 4D [ 29 ]
Fig. 18 Talpă cu zăbrele din pantof fabricat AM, care conține 862.014 triunghiuri, dimensiuni de 324
× 125 × 54 mm

5 Concluzie
Obiectivul acestei cercetări a fost acela de a genera un algoritm de tăiere pentru AM care este capabil să
tăieze eficient părțile geometrice din cel mai rău caz, definite ca modele de plasă triunghiulară în care un
procent mare de părți ale triunghiurilor se intersectează pe fiecare strat. O adaptare a algoritmului ECC,
inclusiv reducerea numărului de sortări pentru fiecare triunghi și micro-optimizări prin structurare, au
format algoritmul ECC îmbunătățit. Testele de eficiență au fost efectuate pe un set de fișiere *.STL (cu
toate acestea, orice alte fișiere mesh triunghiulare ar putea fi utilizate în algoritm) și au găsit o îmbunătățire
maximă de 9400% pe cel mai mare fișier din cel mai rău caz. Sa constatat, de asemenea, că fișierele *.STL
care anterior erau prea ineficiente în timp pentru a finaliza tăierea folosind algoritmul ECC standard au
durat mai puțin de 300s pentru a se tăia.

Algoritmul ECC îmbunătățit abordează defecțiunile celorlalți algoritmi de a tăia părți foarte mari în cel
mai rău caz, care devin din ce în ce mai răspândite în sectorul AM [31] în reproducerea obiectelor scanate
din lumea reală [ 32 ] sau foarte detaliate, la scară largă. componente AM. Îmbunătățirile aduse procesului
de tăiere vor trebui să evolueze pe măsură ce modelele cresc în complexitate și dimensiune; în timp ce
algoritmul ECC îmbunătățit ar putea fi capabil să taie toate piesele în mod eficient acum și vor fi necesare
dezvoltări ulterioare în viitor.

S-ar putea să vă placă și