Aller au contenu
CADCAMFUN
Docs

Documentation

Carte source

Points d’entrée de mise en œuvre pour suivre le comportement et apporter des changements ciblés.

Traduit automatiquement de l'anglais. Voir l'original en anglais

CAO et dessin

Commencez à packages/core/src/index.ts pour voir les exportations d’espaces de noms. packages/core/src/cad/index.ts répertorie les API CAO ; packages/core/src/drawing/index.ts répertorie les opérations de dessin.

  • cad/sketch.ts, sketch-shapes.ts, snap.ts, intersect.ts: données d'esquisse, formes, accrochage et intersection.
  • cad/history.ts, history-edit.ts, history-brep.ts: historique des fonctionnalités, modifications et reconstruction B-rep.
  • cad/brep/, solid.ts, tessellate.ts: topologie solide, modélisation et maillages rendus.
  • cad/import-step.ts, dxf.ts, et import-drawing.ts: frontières des échanges et des importations.
  • cad/scene-analysis.ts, scene-evidence.ts, dfm.ts: analyse de scène, preuves et contrôles de fabricabilité.

Séparez l’analyse d’importation, la géométrie exacte, la tessellation et la sélection de fenêtre lors du traçage d’un problème d’affichage. Un maillage visible peut avoir une origine différente d'une entité paramétrique modifiable.

CAM et G-code

  • packages/core/src/cam/index.ts: espaces de noms CAM publics et exportations.
  • cam/operations/ et cam/generator/: mise en œuvre des opérations et pipeline de génération.
  • cam/setup.ts, indexing.ts, ir.ts: frames de configuration, usinage indexé et représentation du mouvement intermédiaire.
  • cam/post/index.ts, emitter.ts, et les fichiers dialectes : messages enregistrés et émission de programmes partagés.
  • cam/post/convert.ts: le noyau de conversion NC : rejoue le G-code ou le Klartext, le réécrit avec n'importe quel post et prouve le mouvement par replay.
  • cam/verify/, kernel/, model/, et viewer/: vérification, usinage des noyaux, modèles et aides à la visualisation.

Tracer l'usinage persistant à travers apps/sidecar/src/http/toolpaths.ts et src/services/cam-program.ts, puis dans la fonctionnalité CAM du bureau. Le référence des configurations explique comment les documents de programme portables sont liés aux parcours d'outils enregistrés.

HTTP et persistance

  • packages/api/src/index.ts, groups/, errors.ts, auth.ts: contrats de point de terminaison, erreurs de câblage et déclarations d'autorisation.
  • packages/api/src/client.ts: client Effect entièrement basé sur un contrat avec middleware support.
  • packages/api/scripts/generate-clients.ts: sorties cibles et exclusions de génération explicites.
  • packages/httpapi-codegen/src/index.ts: réflexion contractuelle, validation et clients émetteurs.
  • apps/sidecar/src/main.ts, config.ts, layers.ts: cycle de vie du serveur, configuration et câblage des dépendances.
  • apps/sidecar/src/http/, services/, repos/: adaptateurs de protocole, opérations d’application et accès à la persistance.
  • packages/db/src/index.ts, schema.ts, upgrade.ts, migrate.ts: service de base de données, tables, sécurité de mise à niveau et CLI.
  • packages/db/drizzle/: migrations générées et métadonnées livrées avec le bureau.

Ordinateur de bureau et mobile

apps/desktop/src/app/App.tsx, Shell.tsx, et routes.tsx assembler l'établi et les itinéraires. client.ts et sidecar.ts gérer l’accès à l’API et l’état de connexion natif. Le comportement du produit vit sous src/features; les contrôles partagés et l'État vivent sous src/shared.

La fenêtre est sous apps/desktop/src/viewport, divisé en editor2d, view3d, et spatial. Les commandes natives et le cycle de vie sont en cours apps/desktop/src-tauri/src; la configuration de l'emballage est src-tauri/tauri.conf.json.

Les itinéraires mobiles sont sous apps/mobile/app, composants réutilisables sous components, et la logique client/appariement sous lib. Le module socket natif est modules/companion-net. Sur le serveur, démarrez le suivi des compagnons à l'adresse apps/sidecar/src/http/companion.ts et services/companion.ts.

IA, plugins, historique et flux de travail

  • packages/ai/src/actions et tools: déclarations d'actions et intégration d'outils assistants.
  • packages/ai/src/nikcli, prompts, et skills: intégration de l'hôte intégré et guidage de l'assistant.
  • apps/sidecar/src/services/ai.ts: dépendances de l'IA en direct et sélection de l'hôte.
  • packages/nikcli-plugin/src/index.ts: pont HTTP nikcli externe.
  • packages/plugin-sdk/src/index.ts et apps/sidecar/src/plugins/host.ts: surface de création du plugin et hôte d'exécution.
  • packages/vcs/src/index.ts, apps/sidecar/src/services/project-vcs.ts, et repos/project-vcs-repo.ts: bibliothèque d'histoire, orchestration et persistance.
  • packages/workflow/src/index.ts, apps/sidecar/src/services/workflow-runner.ts, et workflow-service-steps-live.ts: contrat de workflow, exécution et enregistrement des étapes de service.

Le contrôle de version réside dans packages/vcs/src: object.ts (format d'objet git), repository.ts (références et commits), snapshot.ts, diff.ts, store.ts, transport.ts, et github.ts. Les flux de travail vivent dans packages/workflow/src: schema.ts, trigger.ts (correspondance globale et déclencheur), et run.ts. Les fichiers de workflow sont lus à partir de .cadcamfun/workflows/ dans l'arborescence du projet.

Documentation et livraison

packages/web/src/pages/docs contient les articles de documentation. src/layouts/DocsLayout.astro fournit le shell de l'article partagé. La copie de navigation et de récupération est en cours src/data/docsSidebar.ts et docsIndex.ts; les descriptions des packages partagés sont dans architecture.ts.

src/lib/docsMarkdown.ts convertit les articles rendus en Markdown pour src/pages/llm.ts et l'assistant de documentation. La récupération est en cours docsRetrieval.ts; l'exécution de l'assistant est en cours src/pages/api/docs-assistant.ts. Les aides à l'analyse et au stockage des artefacts sont disponibles src/lib/docsArtifact.ts.

packages/web/script/dev.ts démarre Astro et le processus Studio local. studio-server.ts possède l'API de présentation SQLite locale. astro.config.mjs configure l'infrastructure de prérendu et le proxy local ; wrangler.toml déclare les liaisons Worker.

La compilation du bureau et la préparation des versions commencent dans scripts/build.ts. Les workflows CI et de version sont en cours .github/workflows. Voir Sortie et mises à jour pour la génération d’artefacts et les exigences de signature.

Tracer le comportement au-delà des frontières

  1. Identifiez le point final dans le référence de ressource et lisez ses schémas de paramètres, de corps, de réponse et d’erreur.
  2. Recherchez sa déclaration HttpApi dans la composition racine de l'API. Certaines ressources fondamentales, y compris les projets, résident directement sous packages/api/src; d'autres groupes vivent sous src/groups.
  3. Trouvez son gestionnaire sous apps/sidecar/src/http. Lisez les vérifications de l'utilisateur actuel et des ressources avant de suivre son appel de service ou de référentiel.
  4. Pour le calcul, continuez avec le noyau. Pour le stockage, continuez à travers le référentiel et Database.query. Pour le comportement du fournisseur/réseau, inspectez l’adaptateur configuré.
  5. Revenez à l'appelant de bureau ou mobile et inspectez la gestion des enveloppes, l'état de la session, l'annulation et l'affichage des erreurs.

Par exemple, un nom manquant lors de la création d'un projet est rejeté dans apps/sidecar/src/http/projects.ts; ce n'est pas une erreur SQLite. Une incompatibilité de document CAM portable est vérifiée par apps/sidecar/src/services/cam-program.ts; l'analyse de NC dans la fenêtre ne peut pas la contourner. Un refus de route téléphonique couplée provient de la politique méthode/chemin de la passerelle compagnon.

Arborescence de répertoires avec le nombre de fichiers

Disposition du référentiel (fichiers TS/TSX/RS non-test par répertoire)
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

Dossiers de fonctionnalités du bureau

Chaque dossier sous apps/desktop/src/features/ possède les composants, l'état et les appels API d'un domaine de produit :

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

Une fonctionnalité appelle le sidecar via le client API partagé ; les widgets partagés sont présents dans shared/ et la scène 3D dans viewport/.

Où les concepts de CAO sont au cœur

ConceptFichier dans packages/core/src/cad/
Résolution d'esquissesketch.ts, sketch-shapes.ts
Historique des fonctionnalités et reconstructionhistory.ts, history-brep.ts, history-edit.ts
Représentant B exactbrep/
Booléens sur les maillagescsg.ts
Expressions et paramètresexpr.ts
Importation STEP et DXFimport-step.ts, dxf.ts, import-drawing.ts
Filets et mélangesedge-blend.ts
Engrenages, fixations, tôlegear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts
Assemblage et analyse de scèneassembly-analysis.ts, scene-analysis.ts, scene-step.ts
Fabricabilitédfm.ts
ConceptFichier dans packages/core/src/cam/
Noyau natif (instantané, exécution, revendications)kernel/
Post-processeurspost/
Opérations et générateursoperations/, generator/, cycles/
Configurations et indexationsetup.ts, indexing.ts, five-axis.ts
Relecture et vérificationverify/, program-evidence.ts
Machines et outilsmachine.ts, tool.ts
Sous-programmessubprogram-text.ts

En 3D

Où se trouve le code : graphique de l'espace de travail Faites glisser vers l'orbite · faites défiler pour zoomer · faites glisser vers la droite pour effectuer un panoramique
Tous les 13 packages d'espace de travail à partir de leurs fichiers package.json ; chaque ligne est un espace de travail :* dépendance (17 au total). Les lignes représentent la profondeur des dépendances : les packages sans dépendances d'espace de travail à l'avant, le sidecar, qui dépend de 8 d'entre eux, à l'arrière. Les cases orange sont des applications.