Saltar al contenido
CADCAMFUN
Documentos

Documentación

Mapa fuente

Puntos de entrada de implementación para rastrear el comportamiento y realizar cambios enfocados.

Traducido automáticamente del inglés. Ver el original en inglés

CAD y dibujo

Empezar en packages/core/src/index.ts para ver las exportaciones de espacios de nombres. packages/core/src/cad/index.ts enumera las API de CAD; packages/core/src/drawing/index.ts enumera las operaciones de dibujo.

  • cad/sketch.ts, sketch-shapes.ts, snap.ts, intersect.ts: datos de boceto, formas, ajuste e intersección.
  • cad/history.ts, history-edit.ts, history-brep.ts: historial de funciones, ediciones y reconstrucción de B-rep.
  • cad/brep/, solid.ts, tessellate.ts: topología sólida, modelado y mallas renderizables.
  • cad/import-step.ts, dxf.ts, y import-drawing.ts: fronteras de intercambio e importación.
  • cad/scene-analysis.ts, scene-evidence.ts, dfm.ts: análisis de escena, pruebas y comprobaciones de capacidad de fabricación.

Mantenga separados el análisis de importación, la geometría exacta, la teselación y la selección de ventana gráfica al rastrear un problema de visualización. Una malla visible puede tener un origen diferente al de una característica paramétrica editable.

CAM y código G

  • packages/core/src/cam/index.ts: exportaciones y espacios de nombres CAM públicos.
  • cam/operations/ y cam/generator/: implementaciones de operación y tubería de generación.
  • cam/setup.ts, indexing.ts, ir.ts: marcos de preparación, mecanizado indexado y representación de movimiento intermedio.
  • cam/post/index.ts, emitter.ts, y los archivos dialectales: publicaciones registradas y emisión de programas compartidos.
  • cam/post/convert.ts: el núcleo de conversión NC: reproduce código G o Klartext, lo reescribe con cualquier publicación y prueba el movimiento mediante repetición.
  • cam/verify/, kernel/, model/, y viewer/: verificación, mecanizado de núcleos, modelos y ayudantes de visor.

Traza el mecanizado persistente a través de apps/sidecar/src/http/toolpaths.ts y src/services/cam-program.tsy luego a la función CAM de escritorio. El referencia de configuraciones explica cómo los documentos de programas portátiles se relacionan con las trayectorias guardadas.

HTTP y persistencia

  • packages/api/src/index.ts, groups/, errors.ts, auth.ts: contratos de terminales, errores de transferencia y declaraciones de autorización.
  • packages/api/src/client.ts: cliente Effect completo basado en contrato con middleware portador.
  • packages/api/scripts/generate-clients.ts: resultados objetivo y exclusiones generacionales explícitas.
  • packages/httpapi-codegen/src/index.ts: reflexión de contratos, validación y emisores de clientes.
  • apps/sidecar/src/main.ts, config.ts, layers.ts: ciclo de vida del servidor, configuración y cableado de dependencia.
  • apps/sidecar/src/http/, services/, repos/: adaptadores de protocolo, operaciones de aplicaciones y acceso de persistencia.
  • packages/db/src/index.ts, schema.ts, upgrade.ts, migrate.ts: servicio de base de datos, tablas, seguridad de actualización y CLI.
  • packages/db/drizzle/: migraciones generadas y metadatos enviados con el escritorio.

Escritorio y móvil

apps/desktop/src/app/App.tsx, Shell.tsx, y routes.tsx montar el banco de trabajo y las rutas. client.ts y sidecar.ts manejar el acceso a la API y el estado de la conexión nativa. El comportamiento del producto vive bajo src/features; los controles compartidos y el estado viven bajo src/shared.

La ventana gráfica está debajo apps/desktop/src/viewport, dividido en editor2d, view3d, y spatial. Los comandos nativos y el ciclo de vida están bajo apps/desktop/src-tauri/src; la configuración del embalaje es src-tauri/tauri.conf.json.

Las rutas móviles están bajo apps/mobile/app, componentes reutilizables bajo componentsy lógica de cliente/emparejamiento en lib. El módulo de socket nativo es modules/companion-net. En el servidor, inicie el seguimiento de acompañantes en apps/sidecar/src/http/companion.ts y services/companion.ts.

IA, complementos, historial y flujos de trabajo

  • packages/ai/src/actions y tools: declaraciones de acciones e integración de herramientas asistentes.
  • packages/ai/src/nikcli, prompts, y skills: integración de host integrada y guía asistente.
  • apps/sidecar/src/services/ai.ts: dependencias de IA en vivo y selección de host.
  • packages/nikcli-plugin/src/index.ts: puente HTTP nikcli externo.
  • packages/plugin-sdk/src/index.ts y apps/sidecar/src/plugins/host.ts: superficie de creación de complementos y host de tiempo de ejecución.
  • packages/vcs/src/index.ts, apps/sidecar/src/services/project-vcs.ts, y repos/project-vcs-repo.ts: biblioteca de historia, orquestación y persistencia.
  • packages/workflow/src/index.ts, apps/sidecar/src/services/workflow-runner.ts, y workflow-service-steps-live.ts: contrato de flujo de trabajo, ejecución y registro de pasos de servicio.

El control de versiones vive en packages/vcs/src: object.ts (formato de objeto git), repository.ts (árbitros y compromisos), snapshot.ts, diff.ts, store.ts, transport.ts, y github.ts. Los flujos de trabajo viven en packages/workflow/src: schema.ts, trigger.ts (coincidencia global y de activación), y run.ts. Los archivos de flujo de trabajo se leen desde .cadcamfun/workflows/ en el árbol del proyecto.

Documentación y entrega

packages/web/src/pages/docs contiene los artículos de documentación. src/layouts/DocsLayout.astro proporciona el shell del artículo compartido. La copia de navegación y recuperación están en src/data/docsSidebar.ts y docsIndex.ts; las descripciones de los paquetes compartidos están en architecture.ts.

src/lib/docsMarkdown.ts convierte artículos renderizados a Markdown para src/pages/llm.ts y el asistente de documentación. La recuperación está en docsRetrieval.ts; asistente de ejecución está en src/pages/api/docs-assistant.ts. Los asistentes de almacenamiento y análisis de artefactos están disponibles src/lib/docsArtifact.ts.

packages/web/script/dev.ts inicia Astro y el proceso de Studio local. studio-server.ts posee la API de descripción general de SQLite local. astro.config.mjs configura la infraestructura de prerenderizado y el proxy local; wrangler.toml declara vinculaciones de los trabajadores.

La compilación de escritorio y la preparación del lanzamiento comienzan en scripts/build.ts. Los flujos de trabajo de CI y lanzamiento están bajo .github/workflows. Ver Lanzamiento y actualizaciones para los requisitos de generación y firma de artefactos.

Rastrear el comportamiento a través de fronteras

  1. Identificar el punto final en el referencia de recursos y leer sus esquemas de parámetros, cuerpo, respuesta y error.
  2. Localice su declaración HttpApi en la composición raíz de la API. Algunos recursos fundamentales, incluidos los proyectos, se encuentran directamente bajo packages/api/src; otros grupos viven bajo src/groups.
  3. Encuentre su controlador en apps/sidecar/src/http. Lea las comprobaciones de recursos y usuarios actuales antes de seguir su llamada de servicio o repositorio.
  4. Para el cálculo, continúe hasta el núcleo. Para el almacenamiento, continúe a través del repositorio y Database.query. Para conocer el comportamiento del proveedor/red, inspeccione el adaptador configurado.
  5. Regrese al llamante de escritorio o móvil e inspeccione el manejo de sobres, el estado de la sesión, la cancelación y la visualización de errores.

Por ejemplo, un nombre que falta en la creación del proyecto se rechaza en apps/sidecar/src/http/projects.ts; no es un error de SQLite. Una discrepancia en un documento CAM portátil se verifica mediante apps/sidecar/src/services/cam-program.ts; analizar NC en la ventana gráfica no puede omitirlo. El rechazo de una ruta de teléfono emparejado se origina en la política de ruta/método de la puerta de enlace complementaria.

Árbol de directorios con recuentos de archivos.

Diseño del repositorio (archivos TS/TSX/RS que no son de prueba por directorio)
apps/
  desktop/src/          app/ 13  features/ 280  pages/ 68  shared/ 44  viewport/ 25  i18n/ 1
  desktop/src-tauri/src commands.rs lib.rs main.rs menu.rs secrets.rs sidecar.rs tray.rs updater.rs
  sidecar/src/          http/ 34  repos/ 24  services/ 29  plugins/ 3   (+ main.ts, config.ts, layers.ts)
  mobile/               app/ 13  components/ 30  lib/ 21  hooks/ 2  modules/ 2
packages/
  core/src/             cad/ 80  cam/ 110  drawing/ 7
  ai/src/               actions/ 14  nikcli/ 27  tools/ 26  prompts/ 5  skills/ 2
  api/src/              groups/ (one file per group)  sdk/generated/  client/generated/
  db/                   src/ (index, schema, upgrade, migrate)  drizzle/ (4 migrations)
  vcs/ workflow/ plugin-sdk/ httpapi-codegen/ nikcli-plugin/ web/
scripts/                build.ts compile-sidecar.ts stage-release.ts updater-manifest.ts
                        release-helpers.ts release-ref.ts signing-config.ts smoke-sidecar.ts
.github/workflows/      ci.yml release.yml build-platforms.yml ios.yml

Carpetas de funciones de escritorio

Cada carpeta bajo apps/desktop/src/features/ posee los componentes, el estado y las llamadas API de un área de producto:

apps/desktop/src/features/
admin  ai  analytics  auth  billing  cad  cam  chat  companion  costs  dashboard
legal  library  marketplace  mcp  organizations  plugins  profile  projects  settings  toolpaths

Una característica llama al sidecar a través del cliente API compartido; Los widgets compartidos viven en shared/ y la escena 3D en viewport/.

Donde residen los conceptos CAD en el núcleo

ConceptoArchivo en paquetes/core/src/cad/
Resolución de bocetossketch.ts, sketch-shapes.ts
Historial de funciones y reconstrucciónhistory.ts, history-brep.ts, history-edit.ts
Representante B exactobrep/
Booleanos en mallascsg.ts
Expresiones y parámetrosexpr.ts
Importación STEP y DXFimport-step.ts, dxf.ts, import-drawing.ts
Filetes y mezclasedge-blend.ts
Engranajes, sujetadores, chapagear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts
Análisis de montaje y escena.assembly-analysis.ts, scene-analysis.ts, scene-step.ts
Fabricabilidaddfm.ts
ConceptoArchivo en paquetes/core/src/cam/
Kernel nativo (instantánea, ejecución, reclamos)kernel/
Postprocesadorespost/
Operaciones y generadores.operations/, generator/, cycles/
Configuraciones e indexaciónsetup.ts, indexing.ts, five-axis.ts
Reproducción y verificaciónverify/, program-evidence.ts
maquinas y herramientasmachine.ts, tool.ts
Subprogramassubprogram-text.ts

En 3D

Dónde vive el código: gráfico del espacio de trabajo Arrastrar para orbitar · desplazarse para hacer zoom · arrastrar con el botón derecho para desplazarse
Todos los 13 paquetes de espacio de trabajo desde sus archivos package.json; cada línea es un espacio de trabajo:* dependencia (17 en total). Las filas son la profundidad de dependencia: paquetes sin dependencias de espacio de trabajo al frente, el sidecar, que depende de 8 de ellos, al final. Los cuadros naranjas son aplicaciones.