Перейти к содержанию
CADCAMFUN
Документы

Документация

Исходная карта

Точки входа в реализацию для отслеживания поведения и внесения целенаправленных изменений.

Автоматически переведено с английского. Смотреть оригинал на английском

САПР и чертеж

Начать с packages/core/src/index.ts чтобы увидеть экспорт пространства имен. packages/core/src/cad/index.ts перечисляет 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: ядро преобразования ЧПУ: воспроизводит 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: полный клиент Effect на основе контракта с промежуточным программным обеспечением носителя.
  • 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: служба базы данных, таблицы, безопасность обновления и интерфейс командной строки.
  • 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.

ИИ, плагины, история и рабочие процессы

  • packages/ai/src/actions и tools: объявления действий и интеграция вспомогательных инструментов.
  • packages/ai/src/nikcli, prompts, и skills: встроенная интеграция с хостом и помощник под руководством.
  • apps/sidecar/src/services/ai.ts: живые зависимости AI и выбор хоста.
  • packages/nikcli-plugin/src/index.ts: внешний HTTP-мост nikcli.
  • 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 (сопоставление glob и триггера) и 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 владеет локальным API обзора SQLite. astro.config.mjs настраивает инфраструктуру пререндеринга и локальный прокси; wrangler.toml объявляет привязки Worker.

Компиляция рабочего стола и подготовка выпуска начнутся в scripts/build.ts. Рабочие процессы CI и выпуска находятся в стадии разработки. .github/workflows. Видеть Релиз и обновления для создания артефактов и требований к подписи.

Отслеживание поведения через границы

  1. Определите конечную точку в ссылка на ресурс и прочитайте его параметры, тело, ответы и схемы ошибок.
  2. Найдите его объявление HttpApi в корневой композиции API. Некоторые основополагающие ресурсы, включая проекты, находятся непосредственно под 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; общие виджеты живут в shared/ и сцена 3D в viewport/.

Где концепции САПР живут в основе

КонцепцияФайл в packages/core/src/cad/
Решение эскизовsketch.ts, sketch-shapes.ts
История функций и перестройкаhistory.ts, history-brep.ts, history-edit.ts
Точный B-повторbrep/
Логические значения на сеткахcsg.ts
Выражения и параметрыexpr.ts
Импорт STEP и DXFimport-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

Через 3Д

Где живет код: граф рабочей области Перетащите на орбиту · прокрутите, чтобы увеличить · перетащите вправо, чтобы панорамировать
Все пакеты рабочей области 13 из файлов package.json; каждая строка представляет собой зависимость workspace:* (всего 17). Строки — это глубина зависимости: пакеты без зависимостей от рабочей области спереди, вспомогательная программа, которая зависит от 8 из них, сзади. Оранжевые квадратики — это приложения.