跳到内容
CADCAMFUN
文档

文档

源图

用于跟踪行为和进行有针对性的更改的实施入口点。

从英文自动翻译。 查看英文原文

CAD 和绘图

开始于 packages/core/src/index.ts 查看名称空间导出。 packages/core/src/cad/index.ts 列出 CAD API; packages/core/src/drawing/index.ts 列出绘图操作。

  • cad/sketch.ts, sketch-shapes.ts, snap.ts, intersect.ts:草图数据、形状、捕捉和交集。
  • cad/history.ts, history-edit.ts, history-brep.ts:特征历史记录、编辑和 B-rep 重建。
  • cad/brep/, solid.ts, tessellate.ts:实体拓扑、建模和可渲染网格。
  • cad/import-step.ts, dxf.ts, 和 import-drawing.ts:交换和进口边界。
  • cad/scene-analysis.ts, scene-evidence.ts, dfm.ts:场景分析、证据和可制造性检查。

在跟踪显示问题时,将导入解析、精确几何图形、曲面细分和视口选择分开。可见网格可能具有与可编辑参数化特征不同的原点。

CAM 和 G 代码

  • packages/core/src/cam/index.ts:公共 CAM 命名空间和导出。
  • cam/operations/ 和 cam/generator/:操作实现和生成管道。
  • cam/setup.ts, indexing.ts, ir.ts:设置框架、索引加工和中间运动表示。
  • cam/post/index.ts, emitter.ts,以及方言文件:注册帖子和共享程序发射。
  • cam/post/convert.ts:NC转换内核:重放G代码或Klartext,用任何帖子重写它并通过重放证明运动。
  • cam/verify/, kernel/, model/, 和 viewer/:验证、加工内核、模型和查看器助手。

通过跟踪持续加工 apps/sidecar/src/http/toolpaths.ts 和 src/services/cam-program.ts,然后进入桌面CAM功能。这 设置参考 解释可移植程序文档如何与保存的刀具路径相关。

HTTP 和持久性

  • packages/api/src/index.ts, groups/, errors.ts, auth.ts:端点合同、线路错误和授权声明。
  • packages/api/src/client.ts:带有不记名中间件的完全基于合同的效果客户端。
  • packages/api/scripts/generate-clients.ts:目标输出和明确的生成排除。
  • packages/httpapi-codegen/src/index.ts:合约反射、验证和客户端发射器。
  • apps/sidecar/src/main.ts, config.ts, layers.ts:服务器生命周期、配置和依赖关系连接。
  • apps/sidecar/src/http/, services/, repos/:协议适配器、应用程序操作和持久性访问。
  • packages/db/src/index.ts, schema.ts, upgrade.ts, migrate.ts:数据库服务、表、升级安全性和 CLI。
  • packages/db/drizzle/:生成的迁移和桌面附带的元数据。

桌面和移动设备

apps/desktop/src/app/App.tsx, Shell.tsx, 和 routes.tsx 组装工作台和路线。 client.ts 和 sidecar.ts 处理 API 访问和本机连接状态。产品行为存在于 src/features;共享控制和状态 src/shared.

视口位于 apps/desktop/src/viewport,分成 editor2d, view3d, 和 spatial。本机命令和生命周期位于 apps/desktop/src-tauri/src;包装配置是 src-tauri/tauri.conf.json.

移动路线如下 apps/mobile/app,可重复使用的组件 components,以及客户端/配对逻辑 lib。本机套接字模块是 modules/companion-net。在服务器上,启动同伴跟踪 apps/sidecar/src/http/companion.ts 和 services/companion.ts.

AI、插件、历史记录和工作流程

  • packages/ai/src/actions 和 tools:动作声明和辅助工具集成。
  • packages/ai/src/nikcli, prompts, 和 skills:嵌入式主机集成和助手指导。
  • apps/sidecar/src/services/ai.ts:实时 AI 依赖性和主机选择。
  • packages/nikcli-plugin/src/index.ts:外部 nikcli HTTP 桥。
  • packages/plugin-sdk/src/index.ts 和 apps/sidecar/src/plugins/host.ts:插件创作表面和运行时主机。
  • packages/vcs/src/index.ts, apps/sidecar/src/services/project-vcs.ts, 和 repos/project-vcs-repo.ts:历史库、编排和持久性。
  • packages/workflow/src/index.ts, apps/sidecar/src/services/workflow-runner.ts, 和 workflow-service-steps-live.ts:工作流契约、执行和服务步骤注册。

版本控制存在于 packages/vcs/src: object.ts (git 对象格式), repository.ts (参考和提交), snapshot.ts, diff.ts, store.ts, transport.ts, 和 github.ts。工作流程位于 packages/workflow/src: schema.ts, trigger.ts (全局和触发器匹配),以及 run.ts。工作流程文件读取自 .cadcamfun/workflows/ 在项目树中。

文件和交付

packages/web/src/pages/docs 包含文档文章。 src/layouts/DocsLayout.astro 提供共享文章外壳。导航和检索副本位于 src/data/docsSidebar.ts 和 docsIndex.ts;共享包描述位于 architecture.ts.

src/lib/docsMarkdown.ts 将渲染的文章转换为 Markdown src/pages/llm.ts 和文档助理。检索是在 docsRetrieval.ts;助理执行在 src/pages/api/docs-assistant.ts。工件解析和存储助手位于 src/lib/docsArtifact.ts.

packages/web/script/dev.ts 启动 Astro 和本地 Studio 进程。 studio-server.ts 拥有本地 SQLite 概述 API。 astro.config.mjs 配置预渲染基础设施和本地代理; wrangler.toml 声明 Worker 绑定。

桌面编译和发布暂存开始于 scripts/build.ts。 CI 和发布工作流程如下 .github/workflows。看 发布和更新 用于工件生成和签名要求。

跨边界追踪行为

  1. 识别端点 资源参考 并读取其参数、正文、响应和错误模式。
  2. 在 API 根组合中找到其 HttpApi 声明。一些基础资源(包括项目)直接位于 packages/api/src;其他群体生活在 src/groups.
  3. 在下面找到它的处理程序 apps/sidecar/src/http。在执行服务或存储库调用之前,请阅读当前用户和资源检查。
  4. 对于计算,继续进入核心。对于存储,请继续浏览存储库并 Database.query。对于提供商/网络行为,请检查配置的适配器。
  5. 返回桌面或移动呼叫者并检查其信封处理、会话状态、取消和错误显示。

例如,项目创建中缺少名称会被拒绝 apps/sidecar/src/http/projects.ts;这不是 SQLite 错误。通过以下方式检查便携式 CAM 文档不匹配 apps/sidecar/src/services/cam-program.ts;在视口中解析 NC 无法绕过它。配对电话路由拒绝源于伴随网关的方法/路径策略。

带有文件计数的目录树

存储库布局(每个目录的非测试 TS/TSX/RS 文件)
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

桌面功能文件夹

下各文件夹 apps/desktop/src/features/ 拥有一个产品区域的组件、状态和 API 调用:

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

功能通过共享API客户端调用sidecar;共享小部件位于 shared/ 以及 3D 场景 viewport/.

CAD 概念的核心所在

概念文件位于packages/core/src/cad/中
素描解题sketch.ts, sketch-shapes.ts
功能历史和重建history.ts, history-brep.ts, history-edit.ts
精确 B 代表brep/
网格上的布尔值csg.ts
表达式和参数expr.ts
STEP 和 DXF 导入import-step.ts, dxf.ts, import-drawing.ts
鱼片和混合物edge-blend.ts
齿轮、紧固件、金属板gear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts
装配和场景分析assembly-analysis.ts, scene-analysis.ts, scene-step.ts
制造性dfm.ts
概念文件位于packages/core/src/cam/
本机内核(快照、运行、声明)kernel/
后处理器post/
操作和发电机operations/, generator/, cycles/
设置和索引setup.ts, indexing.ts, five-axis.ts
回放和验证verify/, program-evidence.ts
机具machine.ts, tool.ts
子程序subprogram-text.ts

在 3D

代码所在的位置:工作区图 拖动进行轨道旋转·滚动进行缩放·右键拖动进行平移
来自 package.json 文件的所有 13 工作区包;每行都是一个工作区:* 依赖项(总共 17)。行是依赖项深度:前面没有工作区依赖项的包,后面是依赖于其中 8 的 sidecar。橙色框是应用程序。