Sto lavorando all'utilità di affettatura mesh per scopi di stampa 3D. In generale, dovrebbe tagliare un modello di mesh 3D in forme 2D (un numero di poligoni, probabilmente con fori) e riempirle con percorsi di spessore determinato utilizzando un modello specifico. Questi percorsi verranno utilizzati per generare comandi gcode per un firmware di stampante 3D.Algoritmo di riempimento poligono
Esistono vari strumenti open source con gli stessi scopi, scritti su python e perl. Ma il mio obiettivo è capire il flusso di lavoro di slicer e scrivere il mio strumento in C o C++.
Finora sono in grado di ottenere il contorno della fetta e ora li riempirò di percorsi. Il problema è che non ho trovato un algoritmo efficiente per farlo. Un processo schematico di esempio di riempimento:
Qualcuno può consigliare come generare questi percorsi di riempimento? Grazie.
Attualmente sto usando il seguente algoritmo:
- Trova un riquadro della forma
- Split bb verticalmente con le linee (numero di righe = bb.width/path.thickness)
- punti di intersezione Ricerca per forma e ogni linea (dovrebbero essere due punti per linea)
- costruire un segmenti da questi punti con offset dal contorno .210
- Aggiungere a segmenti che si collega un segmenti originali insieme formando una striscia linea
- Siamo pronti a generare gcode o disegnare un percorso
Questo è semplice e algoritmo veloce, ma fa non funziona per poligoni concavi e poligoni con fori. Inoltre usa solo un modello specificato.
Entrambi i punti sulla figura sono blu. Uno di loro dovrebbe essere verde? – ElKamina
Inoltre, quali sono le restrizioni sul percorso di riempimento? – ElKamina
Si prega di notare che ci sono due percorsi diversi e ognuno ha punti di inizio e di fine. – san