Documentation
Graines
La géométrie pure et les noyaux d'usinage des packages/core, expliqués de l'intérieur avec des sorties réelles et des exemples 3D.
Traduit automatiquement de l'anglais. Voir l'original en anglais
Les noyaux et comment ils dépendent les uns des autres
Le code de géométrie et d'usinage dans packages/core est un ensemble de noyaux purs : même entrée, même sortie, pas d'E/S. Chaque page de cette section explique l'un d'entre eux de l'intérieur : à quoi il sert, ses structures de données et ses algorithmes, la véritable API, les limites et les constantes, la sortie capturée en l'exécutant et les 3 vues D créées à partir de cette sortie.
| Depuis | Importations de | Importation de fichiers |
|---|---|---|
| générateur de cames | noyau de came | 2 |
| générateur de cames | histoire | 1 |
| générateur de cames | engrener | 2 |
| générateur de cames | esquisser | 1 |
| noyau de came | générateur de cames | 4 |
| noyau de came | engrener | 1 |
| dessin | brep | 1 |
| dessin | histoire | 4 |
| dessin | engrener | 7 |
| caractéristiques | engrener | 5 |
| histoire | brep | 1 |
| histoire | caractéristiques | 5 |
| histoire | engrener | 2 |
| histoire | esquisser | 2 |
| engrener | tolérance | 1 |
Le cycle unique, noyau CAM ↔ générateur CAM, est délibéré : le noyau réutilise les stratégies et le schéma des éléments du générateur, et le générateur rappelle les données de découpe et le planificateur du noyau.
Pages du noyau
| Page | Ce qu'il couvre | Source |
|---|---|---|
| Solveur d'esquisse | Levenberg – Marquardt sur les résidus de contraintes, l'analyse des classements pour les degrés de liberté, les points libres et les conflits. | packages/core/src/cad/sketch.ts |
| Maillage et CSG | Maillages triangulaires fermés, booléens BSP avec un chemin rapide convexe, nettoyage en soupe et topologie. | packages/core/src/cad/csg.ts, solid.ts, mesh-clean.ts |
| Représentant B exact | Visages analytiques et NURBS, booléens exacts, congés, reconnaissance de trous, propriétés de masse, STEP. | packages/core/src/cad/brep/ |
| Générateurs de fonctionnalités | Engrenages à développante, filetages ISO, hélices et tôles à motifs plats. | packages/core/src/cad/gear.ts, thread.ts, helix.ts, sheet-metal.ts |
| Tolérance et pavage | Une tolérance d'accord pour le nombre de segments, les décimales et le pavage d'entités. | packages/core/src/cad/tolerance.ts, tessellate.ts |
| Noyau d'usinage CAM | Planification, découpeurs, stock de voxels avec support de volume restant, contrôles de collision certifiés. | packages/core/src/cam/kernel/ |
Règles partagées
- Des millimètres partout, radians dans le code (degrés uniquement lorsqu'un champ l'indique, comme l'angle de pression d'un engrenage ou un angle de fusion).
- Z en haut, boucles extérieures dans le sens inverse des aiguilles d'une montre, triangles orientés vers l'extérieur.
- Des données simples. Les maillages sont des tableaux typés, les B-reps sont des tables d'index, les croquis sont des listes d'entités ; tout est sérialisé en JSON et diffère dans l'historique du projet.
- Les erreurs sont explicites. Une entrée invalide génère un
RangeErrorou une classe d'erreur du noyau (SketchError,BooleanError,BudgetExceeded) avec un message que l'assistant peut afficher ; les résultats qui seraient erronés ne sont jamais renvoyés. - Travail délimité. Budgets de segments et de sommets dans le noyau de maillage, budget de temps dans le noyau exact, limites de tour dans les threads, profondeur de subdivision dans la vérification des collisions.
Chaque numéro de ces pages a été produit en exécutant le noyau avec Bun sur la source de ce référentiel ; réexécutez les extraits pour les reproduire.