Zum Inhalt springen
CADCAMFUN
Doku

Dokumentation

Quellkarte

Einstiegspunkte für die Implementierung, um Verhalten zu verfolgen und gezielte Änderungen vorzunehmen.

Automatisch aus dem Englischen übersetzt. Englisches Original ansehen

CAD und Zeichnung

Beginnen Sie bei packages/core/src/index.ts um Namespace-Exporte anzuzeigen. packages/core/src/cad/index.ts listet CAD-APIs auf; packages/core/src/drawing/index.ts listet Zeichenvorgänge auf.

  • cad/sketch.ts, sketch-shapes.ts, snap.ts, intersect.ts: skizzendaten, Formen, Fangen und Schnittpunkt.
  • cad/history.ts, history-edit.ts, history-brep.ts: feature-Verlauf, Bearbeitungen und B-Rep-Rekonstruktion.
  • cad/brep/, solid.ts, tessellate.ts: volumentopologie, Modellierung und renderbare Netze.
  • cad/import-step.ts, dxf.ts, und import-drawing.ts: austausch- und Importgrenzen.
  • cad/scene-analysis.ts, scene-evidence.ts, dfm.ts: szenenanalyse, Beweise und Herstellbarkeitsprüfungen.

Halten Sie Importanalyse, exakte Geometrie, Tesselierung und Ansichtsfensterauswahl getrennt, wenn Sie ein Anzeigeproblem verfolgen. Ein sichtbares Netz kann einen anderen Ursprung haben als ein bearbeitbares parametrisches Feature.

CAM und G-Code

  • packages/core/src/cam/index.ts: öffentliche CAM-Namespaces und Exporte.
  • cam/operations/ und cam/generator/: betriebsimplementierungen und Generierungspipeline.
  • cam/setup.ts, indexing.ts, ir.ts: setup-Frames, indizierte Bearbeitung und Zwischenbewegungsdarstellung.
  • cam/post/index.ts, emitter.ts, und die Dialektdateien: registrierte Beiträge und gemeinsame Programmausgabe.
  • cam/post/convert.ts: der NC-Konvertierungskern: spielt G-Code oder Klartext ab, schreibt ihn mit jedem Beitrag neu und beweist die Bewegung durch Wiederholung.
  • cam/verify/, kernel/, model/, und viewer/: verifizierung, Bearbeitung von Kerneln, Modellen und Viewer-Helfern.

Trace setzte die Bearbeitung fort apps/sidecar/src/http/toolpaths.ts und src/services/cam-program.ts, dann in die Desktop-CAM-Funktion. Der setup-Referenz erklärt, wie tragbare Programmdokumente mit gespeicherten Werkzeugwegen zusammenhängen.

HTTP und Persistenz

  • packages/api/src/index.ts, groups/, errors.ts, auth.ts: endpunktverträge, Übertragungsfehler und Autorisierungserklärungen.
  • packages/api/src/client.ts: vollständiger vertragsbasierter Effekt-Client mit Träger-Middleware.
  • packages/api/scripts/generate-clients.ts: zielausgaben und explizite Generierungsausschlüsse.
  • packages/httpapi-codegen/src/index.ts: vertragsreflexion, Validierung und Kundenemittenten.
  • apps/sidecar/src/main.ts, config.ts, layers.ts: serverlebenszyklus, Konfiguration und Abhängigkeitsverknüpfung.
  • apps/sidecar/src/http/, services/, repos/: protokolladapter, Anwendungsvorgänge und Persistenzzugriff.
  • packages/db/src/index.ts, schema.ts, upgrade.ts, migrate.ts: datenbankdienst, Tabellen, Upgrade-Sicherheit und CLI.
  • packages/db/drizzle/: generierte Migrationen und Metadaten, die mit dem Desktop geliefert werden.

Desktop und mobil

apps/desktop/src/app/App.tsx, Shell.tsx, und routes.tsx montieren Sie die Werkbank und die Routen. client.ts und sidecar.ts behandeln Sie den API-Zugriff und den nativen Verbindungsstatus. Das Produktverhalten lebt unter src/features; gemeinsame Kontrollen und Zustand leben unter src/shared.

Das Ansichtsfenster befindet sich unten apps/desktop/src/viewport, aufgeteilt in editor2d, view3d, und spatial. Native Befehle und Lebenszyklus finden Sie unten apps/desktop/src-tauri/src; verpackungskonfiguration ist src-tauri/tauri.conf.json.

Mobile Routen finden Sie unten apps/mobile/app, wiederverwendbare Komponenten unten componentsund Client-/Pairing-Logik unten lib. Das native Socket-Modul ist modules/companion-net. Starten Sie auf dem Server die Companion-Ablaufverfolgung unter apps/sidecar/src/http/companion.ts und services/companion.ts.

KI, Plugins, Verlauf und Workflows

  • packages/ai/src/actions und tools: aktionserklärungen und Integration von Hilfstools.
  • packages/ai/src/nikcli, prompts, und skills: eingebettete Host-Integration und Assistentenführung.
  • apps/sidecar/src/services/ai.ts: live-KI-Abhängigkeiten und Host-Auswahl.
  • packages/nikcli-plugin/src/index.ts: externe Nikcli-HTTP-Brücke.
  • packages/plugin-sdk/src/index.ts und apps/sidecar/src/plugins/host.ts: plugin-Authoring-Oberfläche und Laufzeithost.
  • packages/vcs/src/index.ts, apps/sidecar/src/services/project-vcs.ts, und repos/project-vcs-repo.ts: geschichtsbibliothek, Orchestrierung und Persistenz.
  • packages/workflow/src/index.ts, apps/sidecar/src/services/workflow-runner.ts, und workflow-service-steps-live.ts: workflow-Vertrag, Ausführung und Registrierung von Serviceschritten.

Die Versionskontrolle lebt in packages/vcs/src: object.ts (git-Objektformat), repository.ts (referenzen und Commits), snapshot.ts, diff.ts, store.ts, transport.ts, und github.ts. Arbeitsabläufe leben in packages/workflow/src: schema.ts, trigger.ts (glob- und Trigger-Matching) und run.ts. Es werden Workflow-Dateien gelesen .cadcamfun/workflows/ im Projektbaum.

Dokumentation und Lieferung

packages/web/src/pages/docs enthält die Dokumentationsartikel. src/layouts/DocsLayout.astro stellt die freigegebene Artikel-Shell bereit. Navigations- und Abrufkopie sind vorhanden src/data/docsSidebar.ts und docsIndex.ts; gemeinsame Paketbeschreibungen sind in architecture.ts.

src/lib/docsMarkdown.ts konvertiert gerenderte Artikel in Markdown für src/pages/llm.ts und der Dokumentationsassistent. Der Abruf ist in docsRetrieval.ts; die Assistentenausführung ist in src/pages/api/docs-assistant.ts. Hilfsmittel zum Parsen und Speichern von Artefakten sind im Einsatz src/lib/docsArtifact.ts.

packages/web/script/dev.ts startet Astro und den lokalen Studio-Prozess. studio-server.ts besitzt die lokale SQLite-Übersichts-API. astro.config.mjs konfiguriert die Pre-Rendering-Infrastruktur und den lokalen Proxy; wrangler.toml deklariert Worker-Bindungen.

Die Desktop-Kompilierung und das Release-Staging beginnen in scripts/build.ts. CI- und Release-Workflows finden Sie unten .github/workflows. Sehen Veröffentlichung und Updates für Artefaktgenerierungs- und Signierungsanforderungen.

Verfolgen Sie Verhalten über Grenzen hinweg

  1. Identifizieren Sie den Endpunkt im ressourcenreferenz und lesen Sie die Parameter-, Text-, Antwort- und Fehlerschemata.
  2. Suchen Sie die HttpApi-Deklaration in der API-Stammzusammensetzung. Einige grundlegende Ressourcen, einschließlich Projekte, befinden sich direkt darunter packages/api/src; andere Gruppen leben darunter src/groups.
  3. Finden Sie den Handler unten apps/sidecar/src/http. Lesen Sie die aktuellen Benutzer- und Ressourcenprüfungen, bevor Sie dem Dienst- oder Repository-Aufruf folgen.
  4. Fahren Sie zur Berechnung mit dem Kern fort. Fahren Sie zur Speicherung mit dem Repository fort und Database.query. Überprüfen Sie den konfigurierten Adapter hinsichtlich des Anbieter-/Netzwerkverhaltens.
  5. Kehren Sie zum Desktop- oder Mobilanrufer zurück und überprüfen Sie dessen Umschlagverarbeitung, Sitzungsstatus, Abbruch und Fehleranzeige.

Beispielsweise wird ein fehlender Name bei der Projekterstellung abgelehnt apps/sidecar/src/http/projects.ts; es handelt sich nicht um einen SQLite-Fehler. Eine Nichtübereinstimmung des tragbaren CAM-Dokuments wird von überprüft apps/sidecar/src/services/cam-program.ts; das Parsen von NC im Ansichtsfenster kann es nicht umgehen. Die Ablehnung einer gepaarten Telefonroute hat ihren Ursprung in der Methoden-/Pfadrichtlinie des Companion-Gateways.

Verzeichnisbaum mit Dateianzahl

Repository-Layout (nicht testende TS/TSX/RS-Dateien pro Verzeichnis)
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

Desktop-Funktionsordner

Jeder Ordner darunter apps/desktop/src/features/ besitzt die Komponenten, Zustände und API-Aufrufe eines Produktbereichs:

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

Eine Funktion ruft den Sidecar über den gemeinsam genutzten API-Client auf; Geteilte Widgets leben in shared/ und die 3D-Szene in viewport/.

Wo CAD-Konzepte im Kern leben

KonzeptDatei in packets/core/src/cad/
Skizzenlösungsketch.ts, sketch-shapes.ts
Funktionsverlauf und Neuaufbauhistory.ts, history-brep.ts, history-edit.ts
Exakte B-Repbrep/
Boolesche Werte auf Netzencsg.ts
Ausdrücke und Parameterexpr.ts
STEP- und DXF-Importimport-step.ts, dxf.ts, import-drawing.ts
Filets und Mischungenedge-blend.ts
Zahnräder, Befestigungselemente, Blechgear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts
Montage- und Szenenanalyseassembly-analysis.ts, scene-analysis.ts, scene-step.ts
Herstellbarkeitdfm.ts
KonzeptDatei in packets/core/src/cam/
Nativer Kernel (Snapshot, Ausführung, Ansprüche)kernel/
Postprozessorenpost/
Betrieb und Generatorenoperations/, generator/, cycles/
Setups und Indizierungsetup.ts, indexing.ts, five-axis.ts
Wiedergabe und Überprüfungverify/, program-evidence.ts
Maschinen und Werkzeugemachine.ts, tool.ts
Unterprogrammesubprogram-text.ts

In 3D

Wo sich der Code befindet: Arbeitsbereichsdiagramm Zum Orbit ziehen · zum Zoomen scrollen · zum Schwenken mit der rechten Maustaste ziehen
Alle 13-Arbeitsbereichspakete aus ihren package.json-Dateien; Jede Zeile ist eine workspace:*-Abhängigkeit (insgesamt 17). Zeilen sind Abhängigkeitstiefe: Pakete ohne Arbeitsbereichsabhängigkeiten vorne, der Sidecar, der von 8 davon abhängt, hinten. Orangefarbene Kästchen sind Apps.