Documentazione
Kernel
La geometria pura e i nuclei di lavorazione dei pacchetti/core, spiegati dall'interno con risultati reali ed esempi 3D.
Tradotto automaticamente dall'inglese. Vedi l'originale in inglese
I chicchi e come dipendono l'uno dall'altro
La geometria e il codice di lavorazione in packages/core è un insieme di kernel puri: stesso input, stesso output, nessun I/O. Ogni pagina in questa sezione ne spiega uno dall'interno: a cosa serve, le sue strutture dati e i suoi algoritmi, l'API reale, i limiti e le costanti, l'output acquisito eseguendolo e le 3viste D create da quell'output.
| Da | Importazioni da | Importazione di file |
|---|---|---|
| generatore di camme | cam-kernel | 2 |
| generatore di camme | storia | 1 |
| generatore di camme | maglia | 2 |
| generatore di camme | schizzo | 1 |
| cam-kernel | generatore di camme | 4 |
| cam-kernel | maglia | 1 |
| disegno | brep | 1 |
| disegno | storia | 4 |
| disegno | maglia | 7 |
| caratteristiche | maglia | 5 |
| storia | brep | 1 |
| storia | caratteristiche | 5 |
| storia | maglia | 2 |
| storia | schizzo | 2 |
| maglia | tolleranza | 1 |
L'unico ciclo, kernel CAM ↔ generatore CAM, è intenzionale: il kernel riutilizza le strategie e lo schema degli elementi del generatore e il generatore richiama i dati di taglio e il pianificatore del kernel.
Pagine del kernel
| Pagina | Cosa copre | Fonte |
|---|---|---|
| Risolutore di schizzi | Levenberg–Marquardt sui residui di vincolo, analisi dei ranghi per gradi di libertà, punti liberi e conflitti. | packages/core/src/cad/sketch.ts |
| Maglia e CSG | Mesh a triangolo chiuso, booleane BSP con percorso veloce convesso, soup cleanup e topologia. | packages/core/src/cad/csg.ts, solid.ts, mesh-clean.ts |
| B-rep esatto | Facce analitiche e NURBS, booleane esatte, raccordi, riconoscimento dei fori, proprietà di massa, STEP. | packages/core/src/cad/brep/ |
| Generatori di funzionalità | Ingranaggi ad evolvente, filettature ISO, eliche e lamiere con motivi piani. | packages/core/src/cad/gear.ts, thread.ts, helix.ts, sheet-metal.ts |
| Tolleranza e tassellatura | Una tolleranza di accordo per conteggi di segmenti, decimali e tassellazione di entità. | packages/core/src/cad/tolerance.ts, tessellate.ts |
| Nucleo di lavorazione CAM | Pianificazione, taglierine, stock voxel con staffa di volume rimanente, controlli di collisione certificati. | packages/core/src/cam/kernel/ |
Regole condivise
- Millimetri ovunque, radianti nel codice (gradi solo dove indicato in un campo, ad esempio l'angolo di pressione di un ingranaggio o l'angolo di fusione).
- Z su, anelli esterni in senso antiorario, triangoli rivolti verso l'esterno.
- Dati semplici. Le mesh sono matrici tipizzate, i B-rep sono tabelle indice, gli schizzi sono elenchi di entità; tutto viene serializzato su JSON e differisce nella cronologia del progetto.
- Gli errori sono espliciti. L'input non valido genera a
RangeErroro una classe di errore del kernel (SketchError,BooleanError,BudgetExceeded) con un messaggio che l'assistente può mostrare; i risultati che sarebbero errati non vengono mai restituiti. - Lavoro limitato. Budget di segmenti e vertici nel kernel mesh, budget temporale nel kernel esatto, limiti di svolta nei thread, profondità di suddivisione nel controllo delle collisioni.
Ogni numero in queste pagine è stato prodotto eseguendo il kernel con Bun rispetto al sorgente in questo repository; rieseguire gli snippet per riprodurli.