Documentação
Núcleos
A geometria pura e os núcleos de usinagem dos pacotes/núcleo, explicados internamente com resultados reais e 3exemplos D.
Traduzido automaticamente do inglês. Ver o original em inglês
Os kernels e como eles dependem uns dos outros
A geometria e o código de usinagem em packages/core é um conjunto de kernels puros: mesma entrada, mesma saída, sem E/S. Cada página nesta seção explica um deles por dentro: para que serve, suas estruturas de dados e algoritmos, a API real, limites e constantes, saída capturada ao executá-la e 3visualizações D criadas a partir dessa saída.
| De | Importações de | Importação de arquivos |
|---|---|---|
| gerador de câmera | kernel da câmera | 2 |
| gerador de câmera | história | 1 |
| gerador de câmera | malha | 2 |
| gerador de câmera | esboço | 1 |
| kernel da câmera | gerador de câmera | 4 |
| kernel da câmera | malha | 1 |
| desenho | brep | 1 |
| desenho | história | 4 |
| desenho | malha | 7 |
| características | malha | 5 |
| história | brep | 1 |
| história | características | 5 |
| história | malha | 2 |
| história | esboço | 2 |
| malha | tolerância | 1 |
O único ciclo, kernel CAM ↔ gerador CAM, é deliberado: o kernel reutiliza as estratégias e o esquema de elementos do gerador, e o gerador chama de volta os dados de corte e o planejador do kernel.
Páginas do kernel
| Página | O que cobre | Fonte |
|---|---|---|
| Solucionador de esboço | Levenberg – Marquardt sobre resíduos de restrições, análise de classificação para graus de liberdade, pontos livres e conflitos. | packages/core/src/cad/sketch.ts |
| Malha e CSG | Malhas triangulares fechadas, booleanos BSP com caminho rápido convexo, limpeza de sopa e topologia. | packages/core/src/cad/csg.ts, solid.ts, mesh-clean.ts |
| Rep B exato | Faces analíticas e NURBS, Booleanos exatos, filetes, reconhecimento de furos, propriedades de massa, STEP. | packages/core/src/cad/brep/ |
| Geradores de recursos | Engrenagens envolventes, roscas ISO, hélices e chapas com padrões planos. | packages/core/src/cad/gear.ts, thread.ts, helix.ts, sheet-metal.ts |
| Tolerância e mosaico | Uma tolerância de acorde para contagens de segmentos, decimais e mosaico de entidades. | packages/core/src/cad/tolerance.ts, tessellate.ts |
| Núcleo de usinagem CAM | Planejamento, cortadores, estoque de voxel com suporte de volume restante, verificações de colisão certificadas. | packages/core/src/cam/kernel/ |
Regras compartilhadas
- Milímetros em todos os lugares, radianos no código (graus apenas onde um campo indica isso, como o ângulo de pressão de uma engrenagem ou um ângulo de mistura).
- Z para cima, loops externos no sentido anti-horário, triângulos voltados para fora.
- Dados simples. Malhas são matrizes digitadas, B-reps são tabelas de índice, esboços são listas de entidades; tudo serializa para JSON e difere no histórico do projeto.
- Os erros são explícitos. Entrada inválida gera um
RangeErrorou uma classe de erro do kernel (SketchError,BooleanError,BudgetExceeded) com uma mensagem que o assistente pode mostrar; resultados que seriam errados nunca são retornados. - Trabalho limitado. Orçamentos de segmento e vértice no kernel mesh, orçamento de tempo no kernel exato, limites de giro em threads, profundidade de subdivisão na verificação de colisão.
Cada número nessas páginas foi produzido executando o kernel com Bun no código-fonte deste repositório; execute novamente os trechos para reproduzi-los.