Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1942b228d |
@@ -16,9 +16,9 @@ STEP/STL, осмотр и измерение модели — плюс два н
|
|||||||
(`SDK\Samples\CSharp.zip`, каталог `Common`); при первом запуске они распаковываются
|
(`SDK\Samples\CSharp.zip`, каталог `Common`); при первом запуске они распаковываются
|
||||||
в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`. Если SDK не установлен, укажите каталог
|
в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`. Если SDK не установлен, укажите каталог
|
||||||
с этими сборками в переменной окружения `KOMPAS_INTEROP_DIR`;
|
с этими сборками в переменной окружения `KOMPAS_INTEROP_DIR`;
|
||||||
- **[.NET Runtime](https://dotnet.microsoft.com/download/dotnet) 8 или новее, x64** — сервер
|
- **[.NET Runtime](https://dotnet.microsoft.com/download/dotnet) 10 или новее, x64** — сервер
|
||||||
поставляется framework-dependent (2,3 МБ вместо 34), поэтому рантайм берётся с машины.
|
поставляется framework-dependent (2,3 МБ вместо 34), поэтому рантайм берётся с машины.
|
||||||
Проверить: `dotnet --list-runtimes` должен показать `Microsoft.NETCore.App 8.x` или новее;
|
Проверить: `dotnet --list-runtimes` должен показать `Microsoft.NETCore.App 10.x` или новее;
|
||||||
- чекаут и рабочие файлы — вне синхронизируемых папок OneDrive.
|
- чекаут и рабочие файлы — вне синхронизируемых папок OneDrive.
|
||||||
|
|
||||||
Запускать КОМПАС заранее не нужно: сервер присоединится к открытому окну, а если его нет —
|
Запускать КОМПАС заранее не нужно: сервер присоединится к открытому окну, а если его нет —
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "kompas",
|
"name": "kompas",
|
||||||
"displayName": "КОМПАС-3D",
|
"displayName": "КОМПАС-3D",
|
||||||
"version": "0.4.0",
|
"version": "0.5.0",
|
||||||
"description": "Управление КОМПАС-3D из Claude Code: детали, сборки, чертежи, STEP — через MCP-сервер",
|
"description": "Управление КОМПАС-3D из Claude Code: детали, сборки, чертежи, STEP — через MCP-сервер",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Shahovalov Mikhail",
|
"name": "Shahovalov Mikhail",
|
||||||
|
|||||||
+2
-2
@@ -13,9 +13,9 @@
|
|||||||
сервера не входят и берутся из установки (`SDK\Samples\CSharp.zip`, каталог `Common`). При первом
|
сервера не входят и берутся из установки (`SDK\Samples\CSharp.zip`, каталог `Common`). При первом
|
||||||
запуске они распаковываются в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`; если SDK не установлен,
|
запуске они распаковываются в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`; если SDK не установлен,
|
||||||
укажите каталог с этими сборками в переменной окружения `KOMPAS_INTEROP_DIR`;
|
укажите каталог с этими сборками в переменной окружения `KOMPAS_INTEROP_DIR`;
|
||||||
- [**.NET Runtime**](https://dotnet.microsoft.com/download/dotnet) **8 или новее, x64** — сервер
|
- [**.NET Runtime**](https://dotnet.microsoft.com/download/dotnet) **10 или новее, x64** — сервер
|
||||||
поставляется framework-dependent, рантайм берётся с машины. Проверка: `dotnet --list-runtimes`
|
поставляется framework-dependent, рантайм берётся с машины. Проверка: `dotnet --list-runtimes`
|
||||||
показывает `Microsoft.NETCore.App 8.x` или новее;
|
показывает `Microsoft.NETCore.App 10.x` или новее;
|
||||||
- чекаут репозитория и рабочие файлы — вне синхронизируемых папок OneDrive.
|
- чекаут репозитория и рабочие файлы — вне синхронизируемых папок OneDrive.
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Codex не знает ни маркетплейсов, ни `${CLAUDE_PLUGIN_ROO
|
|||||||
к каталогу плагина.
|
к каталогу плагина.
|
||||||
|
|
||||||
1. Склонировать `https://git.shahovalov.ru/mikhail/kompas-plugin.git` — сервер лежит внутри,
|
1. Склонировать `https://git.shahovalov.ru/mikhail/kompas-plugin.git` — сервер лежит внутри,
|
||||||
в `plugin/bin/`, собирать ничего не нужно (требуется .NET Runtime 8+ x64).
|
в `plugin/bin/`, собирать ничего не нужно (требуется .NET Runtime 10+ x64).
|
||||||
2. Вставить `config.snippet.toml` в `~/.codex/config.toml`, заменив `<PLUGIN>` на абсолютный путь
|
2. Вставить `config.snippet.toml` в `~/.codex/config.toml`, заменив `<PLUGIN>` на абсолютный путь
|
||||||
к каталогу `plugin/` клона. Лаунчер `scripts/launch-kompas-mcp.ps1` — тот же, что у плагина
|
к каталогу `plugin/` клона. Лаунчер `scripts/launch-kompas-mcp.ps1` — тот же, что у плагина
|
||||||
Claude Code.
|
Claude Code.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Подключение к opencode
|
# Подключение к opencode
|
||||||
|
|
||||||
1. Склонировать `https://git.shahovalov.ru/mikhail/kompas-plugin.git` — сервер лежит внутри,
|
1. Склонировать `https://git.shahovalov.ru/mikhail/kompas-plugin.git` — сервер лежит внутри,
|
||||||
в `plugin/bin/` (требуется .NET Runtime 8+ x64).
|
в `plugin/bin/` (требуется .NET Runtime 10+ x64).
|
||||||
2. Слить `opencode.json` со своим конфигом opencode, заменив `<PLUGIN>` на абсолютный путь к
|
2. Слить `opencode.json` со своим конфигом opencode, заменив `<PLUGIN>` на абсолютный путь к
|
||||||
каталогу `plugin/` клона. Используется тот же лаунчер `scripts/launch-kompas-mcp.ps1`.
|
каталогу `plugin/` клона. Используется тот же лаунчер `scripts/launch-kompas-mcp.ps1`.
|
||||||
3. Навыки: скопировать `plugin/skills/{kompas-3d,kompas-fdm-design}` в каталог навыков агента
|
3. Навыки: скопировать `plugin/skills/{kompas-3d,kompas-fdm-design}` в каталог навыков агента
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+470
-555
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,14 +1,15 @@
|
|||||||
{
|
{
|
||||||
"runtimeOptions": {
|
"runtimeOptions": {
|
||||||
"tfm": "net8.0",
|
"tfm": "net10.0",
|
||||||
"rollForward": "LatestMajor",
|
"rollForward": "LatestMajor",
|
||||||
"framework": {
|
"framework": {
|
||||||
"name": "Microsoft.NETCore.App",
|
"name": "Microsoft.NETCore.App",
|
||||||
"version": "8.0.0"
|
"version": "10.0.0"
|
||||||
},
|
},
|
||||||
"configProperties": {
|
"configProperties": {
|
||||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
|
||||||
|
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,9 +28,9 @@ description: "Диагностика установки плагина КОМП
|
|||||||
`/plugin update kompas@kompas-plugin`, затем `/reload-plugins`.
|
`/plugin update kompas@kompas-plugin`, затем `/reload-plugins`.
|
||||||
|
|
||||||
4. **.NET Runtime.** Сервер поставляется framework-dependent, поэтому рантайм нужен на машине:
|
4. **.NET Runtime.** Сервер поставляется framework-dependent, поэтому рантайм нужен на машине:
|
||||||
`dotnet --list-runtimes` должен показать строку `Microsoft.NETCore.App 8.<любая>` или новее
|
`dotnet --list-runtimes` должен показать строку `Microsoft.NETCore.App 10.<любая>` или новее
|
||||||
(x64). Ни одной подходящей строки или самой команды `dotnet` нет — это и есть причина сбоя
|
(x64). Ни одной подходящей строки или самой команды `dotnet` нет — это и есть причина сбоя
|
||||||
пункта 3: попроси пользователя поставить .NET Runtime 8 или новее с
|
пункта 3: попроси пользователя поставить .NET Runtime 10 или новее с
|
||||||
https://dotnet.microsoft.com/download/dotnet (нужен именно x64; Desktop Runtime не обязателен).
|
https://dotnet.microsoft.com/download/dotnet (нужен именно x64; Desktop Runtime не обязателен).
|
||||||
|
|
||||||
5. **КОМПАС-3D установлен и, возможно, уже запущен.** Сервер подключается к КОМПАС лениво — не при
|
5. **КОМПАС-3D установлен и, возможно, уже запущен.** Сервер подключается к КОМПАС лениво — не при
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ catch {
|
|||||||
# Самая частая причина здесь — отсутствующий .NET Runtime: сервер поставляется
|
# Самая частая причина здесь — отсутствующий .NET Runtime: сервер поставляется
|
||||||
# framework-dependent, и без рантайма apphost падает именно тут.
|
# framework-dependent, и без рантайма apphost падает именно тут.
|
||||||
[Console]::Error.WriteLine("kompas-mcp launcher: не удалось запустить сервер: $($_.Exception.Message)")
|
[Console]::Error.WriteLine("kompas-mcp launcher: не удалось запустить сервер: $($_.Exception.Message)")
|
||||||
[Console]::Error.WriteLine("kompas-mcp launcher: если .NET Runtime не установлен — https://dotnet.microsoft.com/download/dotnet (нужен .NET 8 или новее, x64)")
|
[Console]::Error.WriteLine("kompas-mcp launcher: если .NET Runtime не установлен — https://dotnet.microsoft.com/download/dotnet (нужен .NET 10 или новее, x64)")
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -321,8 +321,8 @@ variables | errors | components` (`sections` сужает и ответ, и об
|
|||||||
файл детали не меняется — но он перекрывает ВСЕ акценты детали (надпись станет цвета
|
файл детали не меняется — но он перекрывает ВСЕ акценты детали (надпись станет цвета
|
||||||
компонента). Нужны акценты — оставь компоненту наследуемый цвет. Грань или тело ВНУТРИ
|
компонента). Нужны акценты — оставь компоненту наследуемый цвет. Грань или тело ВНУТРИ
|
||||||
компонента из сборки не красятся: акценты, общие для всех экземпляров, задают в файле детали.
|
компонента из сборки не красятся: акценты, общие для всех экземпляров, задают в файле детали.
|
||||||
- **Передача дальше**: STEP несёт цвета и прозрачность — ответ `export_model` их перечисляет; STL
|
- **Передача дальше**: STEP несёт цвета и прозрачность, но не текстуры и вырезы; STL не несёт
|
||||||
цветов не несёт.
|
оформления вовсе. Ответ `export_model` перечисляет попавшие цвета и называет, что потеряно.
|
||||||
- **Отделка по материалу**: металл — `finish="metal"` (`silver`, `gold`), пластик — `satin` или
|
- **Отделка по материалу**: металл — `finish="metal"` (`silver`, `gold`), пластик — `satin` или
|
||||||
`matte`, `glossy` — умолчание КОМПАС.
|
`matte`, `glossy` — умолчание КОМПАС.
|
||||||
- **Текстура — там, где она что-то говорит**: накатка на рукоятке (`texture="diamond knurl"`,
|
- **Текстура — там, где она что-то говорит**: накатка на рукоятке (`texture="diamond knurl"`,
|
||||||
@@ -336,8 +336,7 @@ variables | errors | components` (`sections` сужает и ответ, и об
|
|||||||
на снимке, не трогая массу и топологию. Нужны настоящие отверстия под крепёж или DFM — это
|
на снимке, не трогая массу и топологию. Нужны настоящие отверстия под крепёж или DFM — это
|
||||||
`hole`/`pattern`, вырез их не заменяет. Рисунок «не тем боком» — `textureAngle`, сдвиг —
|
`hole`/`pattern`, вырез их не заменяет. Рисунок «не тем боком» — `textureAngle`, сдвиг —
|
||||||
`textureOffset` (оба вместе с повтором имён `texture` и `cutout` — повернётся только то, что
|
`textureOffset` (оба вместе с повтором имён `texture` и `cutout` — повернётся только то, что
|
||||||
названо в вызове; поворот 0…180°). Смена рисунка плитку и раскладку сохраняет. В STEP уходят
|
названо в вызове; поворот 0…180°). Смена рисунка плитку и раскладку сохраняет.
|
||||||
только цвета — текстуры и вырезы остаются в `.m3d`.
|
|
||||||
- **Проверка — глазами**: `model_snapshot(view="iso")` после раскраски; что окрашено на самом
|
- **Проверка — глазами**: `model_snapshot(view="iso")` после раскраски; что окрашено на самом
|
||||||
деле — `describe_model(sections=appearance)`. Прозрачность снимок не рисует — её видно только
|
деле — `describe_model(sections=appearance)`. Прозрачность снимок не рисует — её видно только
|
||||||
в разделе `appearance`.
|
в разделе `appearance`.
|
||||||
|
|||||||
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"version": "0.4.0",
|
"version": "0.5.0",
|
||||||
"tag": "v0.4.0",
|
"tag": "v0.5.0",
|
||||||
"sourceSha": "f1ecc6ff5a923d524a7aa8dc7b97c538d9cf1bb3",
|
"sourceSha": "29b0f1188a1ddafad5b49076f73d75239bd9bc76",
|
||||||
"built": "2026-10-15T03:15:33Z"
|
"built": "2026-10-26T20:45:56Z"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user