Documentación
granos
La geometría pura y los núcleos de mecanizado de los paquetes/núcleo, explicados desde dentro con resultados reales y ejemplos 3D.
Traducido automáticamente del inglés. Ver el original en inglés
Los núcleos y cómo dependen unos de otros
El código de geometría y mecanizado en packages/core es un conjunto de núcleos puros: misma entrada, misma salida, sin E/S. Cada página de esta sección explica uno de ellos desde adentro: para qué sirve, sus estructuras de datos y algoritmos, la API real, límites y constantes, el resultado capturado al ejecutarlo y las vistas 3D creadas a partir de ese resultado.
| De | Importaciones desde | Importación de archivos |
|---|---|---|
| generador de levas | núcleo de leva | 2 |
| generador de levas | historia | 1 |
| generador de levas | malla | 2 |
| generador de levas | bosquejo | 1 |
| núcleo de leva | generador de levas | 4 |
| núcleo de leva | malla | 1 |
| dibujo | brep | 1 |
| dibujo | historia | 4 |
| dibujo | malla | 7 |
| características | malla | 5 |
| historia | brep | 1 |
| historia | características | 5 |
| historia | malla | 2 |
| historia | bosquejo | 2 |
| malla | tolerancia | 1 |
El único ciclo, núcleo CAM ↔ generador CAM, es deliberado: el núcleo reutiliza las estrategias y el esquema de elementos del generador, y el generador vuelve a llamar a los datos de corte y al planificador del núcleo.
páginas del núcleo
| Página | lo que cubre | Fuente |
|---|---|---|
| solucionador de bocetos | Levenberg-Marquardt sobre residuos de restricciones, análisis de rangos para grados de libertad, puntos libres y conflictos. | packages/core/src/cad/sketch.ts |
| Malla y CSG | Mallas de triángulo cerrado, booleanos BSP con ruta rápida convexa, limpieza de sopa y topología. | packages/core/src/cad/csg.ts, solid.ts, mesh-clean.ts |
| Representante B exacto | Caras analíticas y NURBS, booleanos exactos, filetes, reconocimiento de huecos, propiedades de masas, STEP. | packages/core/src/cad/brep/ |
| Generadores de funciones | Engranajes de espiral, roscas ISO, hélices y chapas con patrones planos. | packages/core/src/cad/gear.ts, thread.ts, helix.ts, sheet-metal.ts |
| Tolerancia y teselación | Tolerancia de una cuerda para recuentos de segmentos, decimales y teselación de entidades. | packages/core/src/cad/tolerance.ts, tessellate.ts |
| Núcleo de mecanizado CAM | Planificación, cortadores, stock de vóxeles con un soporte de volumen restante, comprobaciones de colisiones certificadas. | packages/core/src/cam/kernel/ |
Reglas compartidas
- Milímetros por todas partes, radianes en código (grados solo cuando un campo lo indique, como el ángulo de presión de un engranaje o un ángulo de fusión).
- Z arriba, bucles exteriores en sentido antihorario, triángulos orientados hacia afuera.
- Datos simples. Las mallas son matrices escritas, las B-reps son tablas de índice, los bocetos son listas de entidades; todo se serializa en JSON y se diferencia en el historial del proyecto.
- Los errores son explícitos. La entrada no válida arroja un
RangeErroro una clase de error del kernel (SketchError,BooleanError,BudgetExceeded) con un mensaje que el asistente puede mostrar; Los resultados que serían incorrectos nunca se devuelven. - Trabajo acotado. Presupuestos de segmentos y vértices en el núcleo de malla, un presupuesto de tiempo en el núcleo exacto, límites de giro en subprocesos, profundidad de subdivisión en la verificación de colisiones.
Cada número en estas páginas fue producido ejecutando el kernel con Bun contra la fuente en este repositorio; Vuelva a ejecutar los fragmentos para reproducirlos.