Saltar al contenido
CADCAMFUN
Documentos

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.

Gráfico de importación de kernel Arrastrar para orbitar · desplazarse para hacer zoom · arrastrar con el botón derecho para desplazarse
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.
DeImportaciones desdeImportación de archivos
generador de levasnúcleo de leva2
generador de levashistoria1
generador de levasmalla2
generador de levasbosquejo1
núcleo de levagenerador de levas4
núcleo de levamalla1
dibujobrep1
dibujohistoria4
dibujomalla7
característicasmalla5
historiabrep1
historiacaracterísticas5
historiamalla2
historiabosquejo2
mallatolerancia1

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áginalo que cubreFuente
solucionador de bocetosLevenberg-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 CSGMallas 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 exactoCaras analíticas y NURBS, booleanos exactos, filetes, reconocimiento de huecos, propiedades de masas, STEP.packages/core/src/cad/brep/
Generadores de funcionesEngranajes 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ónTolerancia 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 CAMPlanificació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 RangeError o 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.