Vai al contenuto
CADCAMFUN
Documentazione

Documentazione

Mappa delle fonti

Punti di ingresso dell'implementazione per tracciare il comportamento e apportare modifiche mirate.

Tradotto automaticamente dall'inglese. Vedi l'originale in inglese

CAD e disegno

Inizia alle packages/core/src/index.ts per vedere le esportazioni dello spazio dei nomi. packages/core/src/cad/index.ts elenca le API CAD; packages/core/src/drawing/index.ts elenca le operazioni di disegno.

  • cad/sketch.ts, sketch-shapes.ts, snap.ts, intersect.ts: dati dello schizzo, forme, snap e intersezione.
  • cad/history.ts, history-edit.ts, history-brep.ts: cronologia delle funzionalità, modifiche e ricostruzione B-rep.
  • cad/brep/, solid.ts, tessellate.ts: topologia solida, modellazione e mesh renderizzabili.
  • cad/import-step.ts, dxf.ts, e import-drawing.ts: confini di scambio e importazione.
  • cad/scene-analysis.ts, scene-evidence.ts, dfm.ts: analisi della scena, prove e controlli di producibilità.

Mantieni separati l'analisi dell'importazione, la geometria esatta, la tassellatura e la selezione della finestra quando tracci un problema di visualizzazione. Una mesh visibile può avere un'origine diversa da una feature parametrica modificabile.

CAM e codice G

  • packages/core/src/cam/index.ts: spazi dei nomi CAM pubblici ed esportazioni.
  • cam/operations/ e cam/generator/: implementazioni operative e pipeline di generazione.
  • cam/setup.ts, indexing.ts, ir.ts: quadri di setup, lavorazione indicizzata e rappresentazione del movimento intermedio.
  • cam/post/index.ts, emitter.tse i file dialettali: post registrati ed emissione di programmi condivisi.
  • cam/post/convert.ts: il kernel di conversione NC: riproduce il codice G o Klartext, lo riscrive con qualsiasi post e dimostra il movimento tramite replay.
  • cam/verify/, kernel/, model/, e viewer/: verifica, lavorazione dei kernel, modelli e assistenti per i visualizzatori.

Traccia la lavorazione persistente apps/sidecar/src/http/toolpaths.ts e src/services/cam-program.ts, quindi nella funzionalità CAM del desktop. IL riferimento alle configurazioni spiega come i documenti di programma portatili si riferiscono ai percorsi utensile salvati.

HTTP e persistenza

  • packages/api/src/index.ts, groups/, errors.ts, auth.ts: contratti endpoint, errori di trasferimento e dichiarazioni di autorizzazione.
  • packages/api/src/client.ts: client Effect completo basato su contratto con middleware portante.
  • packages/api/scripts/generate-clients.ts: risultati target ed esclusioni di generazione esplicite.
  • packages/httpapi-codegen/src/index.ts: riflessione del contratto, validazione e client emettitori.
  • apps/sidecar/src/main.ts, config.ts, layers.ts: ciclo di vita del server, configurazione e cablaggio delle dipendenze.
  • apps/sidecar/src/http/, services/, repos/: adattatori di protocollo, operazioni dell'applicazione e accesso alla persistenza.
  • packages/db/src/index.ts, schema.ts, upgrade.ts, migrate.ts: servizio database, tabelle, sicurezza dell'aggiornamento e CLI.
  • packages/db/drizzle/: migrazioni generate e metadati forniti con il desktop.

Desktop e mobile

apps/desktop/src/app/App.tsx, Shell.tsx, e routes.tsx assemblare il banco di lavoro e i percorsi. client.ts e sidecar.ts gestire l'accesso API e lo stato della connessione nativa. Il comportamento del prodotto vive sotto src/features; controlli condivisi e lo stato vive sotto src/shared.

Il viewport è sotto apps/desktop/src/viewport, diviso in editor2d, view3d, e spatial. I comandi nativi e il ciclo di vita sono elencati di seguito apps/desktop/src-tauri/src; la configurazione della confezione è src-tauri/tauri.conf.json.

I percorsi mobili sono sotto apps/mobile/app, componenti riutilizzabili sotto componentse la logica client/associazione in lib. Il modulo socket nativo è modules/companion-net. Sul server, avvia la traccia complementare all'indirizzo apps/sidecar/src/http/companion.ts e services/companion.ts.

AI, plugin, cronologia e flussi di lavoro

  • packages/ai/src/actions e tools: dichiarazioni di azioni e integrazione dello strumento assistente.
  • packages/ai/src/nikcli, prompts, e skills: integrazione host incorporata e guida dell'assistente.
  • apps/sidecar/src/services/ai.ts: dipendenze AI live e selezione dell'host.
  • packages/nikcli-plugin/src/index.ts: bridge HTTP nikcli esterno.
  • packages/plugin-sdk/src/index.ts e apps/sidecar/src/plugins/host.ts: superficie di creazione plugin e host runtime.
  • packages/vcs/src/index.ts, apps/sidecar/src/services/project-vcs.ts, e repos/project-vcs-repo.ts: libreria storica, orchestrazione e persistenza.
  • packages/workflow/src/index.ts, apps/sidecar/src/services/workflow-runner.ts, e workflow-service-steps-live.ts: contratto del flusso di lavoro, esecuzione e registrazione delle fasi del servizio.

Il controllo della versione è presente packages/vcs/src: object.ts (formato oggetto git), repository.ts (riferimenti e commit), snapshot.ts, diff.ts, store.ts, transport.ts, e github.ts. I flussi di lavoro vivono packages/workflow/src: schema.ts, trigger.ts (corrispondenza glob e trigger) e run.ts. Vengono letti i file del flusso di lavoro .cadcamfun/workflows/ nell'albero del progetto.

Documentazione e consegna

packages/web/src/pages/docs contiene gli articoli di documentazione. src/layouts/DocsLayout.astro fornisce la shell dell'articolo condiviso. La copia per la navigazione e il recupero è disponibile src/data/docsSidebar.ts e docsIndex.ts; sono presenti le descrizioni dei pacchetti condivisi architecture.ts.

src/lib/docsMarkdown.ts converte gli articoli renderizzati in Markdown per src/pages/llm.ts e l'assistente alla documentazione. Il recupero è in arrivo docsRetrieval.ts; l'esecuzione dell'assistente è in corso src/pages/api/docs-assistant.ts. Sono presenti assistenti per l'analisi e l'archiviazione degli artefatti src/lib/docsArtifact.ts.

packages/web/script/dev.ts avvia Astro e il processo Studio locale. studio-server.ts possiede l'API di panoramica SQLite locale. astro.config.mjs configura l'infrastruttura di prerendering e il proxy locale; wrangler.toml dichiara i vincoli del lavoratore.

La compilazione del desktop e la gestione temporanea del rilascio iniziano tra scripts/build.ts. I flussi di lavoro CI e di rilascio sono in .github/workflows. Vedere Rilascio e aggiornamenti per la generazione di artefatti e i requisiti di firma.

Tracciare il comportamento oltre i confini

  1. Identificare l'endpoint nel file riferimento alla risorsa e leggerne i parametri, il corpo, la risposta e gli schemi di errore.
  2. Individua la relativa dichiarazione HttpApi nella composizione radice dell'API. Alcune risorse fondamentali, inclusi i progetti, risiedono direttamente sotto packages/api/src; sotto vivono altri gruppi src/groups.
  3. Trova il suo gestore qui sotto apps/sidecar/src/http. Leggere i controlli dell'utente corrente e delle risorse prima di seguire la chiamata al servizio o al repository.
  4. Per il calcolo, continuare con il core. Per l'archiviazione, continuare attraverso il repository e Database.query. Per il comportamento del provider/rete, ispezionare l'adattatore configurato.
  5. Torna al chiamante desktop o mobile e controlla la gestione della busta, lo stato della sessione, l'annullamento e la visualizzazione degli errori.

Ad esempio, un nome mancante nella creazione del progetto viene rifiutato apps/sidecar/src/http/projects.ts; non è un errore SQLite. Viene controllata una mancata corrispondenza del documento CAM portatile apps/sidecar/src/services/cam-program.ts; l'analisi di NC nel viewport non può ignorarlo. Un rifiuto dell'instradamento del telefono accoppiato ha origine nella policy del metodo/percorso del gateway complementare.

Albero delle directory con conteggio dei file

Layout del repository (file TS/TSX/RS non di test per directory)
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

Cartelle delle funzionalità desktop

Ogni cartella sotto apps/desktop/src/features/ possiede i componenti, lo stato e le chiamate API di un'area di prodotto:

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 funzionalità richiama il sidecar tramite il client API condiviso; i widget condivisi vivono shared/ e la scena 3D in viewport/.

Dove i concetti CAD vivono al centro

ConcettoFile in packages/core/src/cad/
Risoluzione di schizzisketch.ts, sketch-shapes.ts
Cronologia delle funzionalità e ricostruzionehistory.ts, history-brep.ts, history-edit.ts
B-rep esattobrep/
Booleani sulle meshcsg.ts
Espressioni e parametriexpr.ts
Importazione STEP e DXFimport-step.ts, dxf.ts, import-drawing.ts
Filetti e misceleedge-blend.ts
Ingranaggi, elementi di fissaggio, lamieragear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts
Montaggio e analisi della scenaassembly-analysis.ts, scene-analysis.ts, scene-step.ts
Producibilitàdfm.ts
ConcettoFile in packages/core/src/cam/
Kernel nativo (snapshot, esecuzione, attestazioni)kernel/
Post-processoripost/
Operazioni e generatorioperations/, generator/, cycles/
Configurazioni e indicizzazionesetup.ts, indexing.ts, five-axis.ts
Riproduzione e verificaverify/, program-evidence.ts
Macchine e strumentimachine.ts, tool.ts
Sottoprogrammisubprogram-text.ts

Nel 3D

Dove vive il codice: grafico dell'area di lavoro Trascina per orbitare · scorri per ingrandire · trascina con il tasto destro per eseguire la panoramica
Tutti i pacchetti dell'area di lavoro 13 dai relativi file package.json; ogni riga è una dipendenza workspace:* (17 in totale). Le righe rappresentano la profondità delle dipendenze: i pacchetti senza dipendenze dell'area di lavoro nella parte anteriore, il sidecar, che dipende da 8 di essi, nella parte posteriore. Le caselle arancioni sono app.