Aller au contenu
CADCAMFUN
Docs

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.

Graphique d'importation du noyau Faites glisser vers l'orbite · faites défiler pour zoomer · faites glisser vers la droite pour effectuer un panoramique
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.
DepuisImportations deImportation de fichiers
générateur de camesnoyau de came2
générateur de cameshistoire1
générateur de camesengrener2
générateur de camesesquisser1
noyau de camegénérateur de cames4
noyau de cameengrener1
dessinbrep1
dessinhistoire4
dessinengrener7
caractéristiquesengrener5
histoirebrep1
histoirecaractéristiques5
histoireengrener2
histoireesquisser2
engrenertolérance1

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

PageCe qu'il couvreSource
Solveur d'esquisseLevenberg – 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 CSGMaillages 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 exactVisages 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ésEngrenages à 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 pavageUne 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 CAMPlanification, 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 RangeError ou 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.