Vai al contenuto
CADCAMFUN
Documentazione

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.

Grafico di importazione del kernel Trascina per orbitare · scorri per ingrandire · trascina con il tasto destro per eseguire la panoramica
Boxes are kernels; each line is a real relative import from one kernel’s source files to another’s (tests excluded), counted from packages/core/src. Lower layers sit at the front: tolerance, mesh, sketch and B-rep; history and features above them; CAM on top.
DaImportazioni daImportazione di file
generatore di cammecam-kernel2
generatore di cammestoria1
generatore di cammemaglia2
generatore di cammeschizzo1
cam-kernelgeneratore di camme4
cam-kernelmaglia1
disegnobrep1
disegnostoria4
disegnomaglia7
caratteristichemaglia5
storiabrep1
storiacaratteristiche5
storiamaglia2
storiaschizzo2
magliatolleranza1

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

PaginaCosa copreFonte
Risolutore di schizziLevenberg–Marquardt sui residui di vincolo, analisi dei ranghi per gradi di libertà, punti liberi e conflitti.packages/core/src/cad/sketch.ts
Maglia e CSGMesh 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 esattoFacce 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 tassellaturaUna tolleranza di accordo per conteggi di segmenti, decimali e tassellazione di entità.packages/core/src/cad/tolerance.ts, tessellate.ts
Nucleo di lavorazione CAMPianificazione, 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 RangeError o 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.