Pular para o conteúdo
CADCAMFUN
Docs

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.

Gráfico de importação do kernel Arraste para orbitar · role para ampliar · arraste com o botão direito para deslocar
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.
DeImportações deImportação de arquivos
gerador de câmerakernel da câmera2
gerador de câmerahistória1
gerador de câmeramalha2
gerador de câmeraesboço1
kernel da câmeragerador de câmera4
kernel da câmeramalha1
desenhobrep1
desenhohistória4
desenhomalha7
característicasmalha5
históriabrep1
históriacaracterísticas5
históriamalha2
históriaesboço2
malhatolerância1

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áginaO que cobreFonte
Solucionador de esboçoLevenberg – 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 CSGMalhas 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 exatoFaces analíticas e NURBS, Booleanos exatos, filetes, reconhecimento de furos, propriedades de massa, STEP.packages/core/src/cad/brep/
Geradores de recursosEngrenagens 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 mosaicoUma 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 CAMPlanejamento, 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 RangeError ou 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.