Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a1d3f710d | ||
|
|
c0d650aef8 | ||
|
|
67d09d05c9 | ||
|
|
a1942b228d |
@@ -16,9 +16,9 @@ STEP/STL, осмотр и измерение модели — плюс два н
|
||||
(`SDK\Samples\CSharp.zip`, каталог `Common`); при первом запуске они распаковываются
|
||||
в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`. Если SDK не установлен, укажите каталог
|
||||
с этими сборками в переменной окружения `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), поэтому рантайм берётся с машины.
|
||||
Проверить: `dotnet --list-runtimes` должен показать `Microsoft.NETCore.App 8.x` или новее;
|
||||
Проверить: `dotnet --list-runtimes` должен показать `Microsoft.NETCore.App 10.x` или новее;
|
||||
- чекаут и рабочие файлы — вне синхронизируемых папок OneDrive.
|
||||
|
||||
Запускать КОМПАС заранее не нужно: сервер присоединится к открытому окну, а если его нет —
|
||||
@@ -48,7 +48,7 @@ STEP/STL, осмотр и измерение модели — плюс два н
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **MCP-сервер `kompas`** | 74 инструмента: документы, эскизы, выдавливание/вращение/по сечениям/по траектории, оболочка, рёбра, уклон, скругления и фаски, массивы и зеркало, отверстия, булевы операции, прямое редактирование B-rep, переменные и параметризация, **исполнения** (несколько геометрий одной модели в одном файле), внешний вид (цвет, прозрачность, текстуры), сборки и сопряжения (в том числе по вспомогательным плоскостям и осям), 2D-чертежи (виды, размеры, обозначения, тех. требования), STEP/STL, осмотр (`describe_model`, `list_faces`, `list_edges`, `measure`) |
|
||||
| **MCP-сервер `kompas`** | 78 инструментов: документы, эскизы, выдавливание/вращение/по сечениям/по траектории, оболочка, рёбра, уклон, скругления и фаски, массивы и зеркало, отверстия, булевы операции, прямое редактирование B-rep, переменные и параметризация, **исполнения** (несколько геометрий одной модели в одном файле), внешний вид (цвет, прозрачность, текстуры), сборки и сопряжения (в том числе по вспомогательным плоскостям и осям), 2D-чертежи (виды, размеры, обозначения, тех. требования), STEP/STL, осмотр (`describe_model`, `list_faces`, `list_edges`, `measure`) |
|
||||
| **Навык `kompas-3d`** | методика построения: порядок работы, выбор подхода, проверенные приёмы и ловушки |
|
||||
| **Навык `kompas-fdm-design`** | проектирование под FDM/FFF-печать: нависания, толщины стенок, зазоры и посадки, ориентация, бобышки и защёлки |
|
||||
| **Команда `/kompas:doctor`** | диагностика установки |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "kompas",
|
||||
"displayName": "КОМПАС-3D",
|
||||
"version": "0.4.0",
|
||||
"version": "0.7.1",
|
||||
"description": "Управление КОМПАС-3D из Claude Code: детали, сборки, чертежи, STEP — через MCP-сервер",
|
||||
"author": {
|
||||
"name": "Shahovalov Mikhail",
|
||||
|
||||
+2
-2
@@ -13,9 +13,9 @@
|
||||
сервера не входят и берутся из установки (`SDK\Samples\CSharp.zip`, каталог `Common`). При первом
|
||||
запуске они распаковываются в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`; если SDK не установлен,
|
||||
укажите каталог с этими сборками в переменной окружения `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`
|
||||
показывает `Microsoft.NETCore.App 8.x` или новее;
|
||||
показывает `Microsoft.NETCore.App 10.x` или новее;
|
||||
- чекаут репозитория и рабочие файлы — вне синхронизируемых папок OneDrive.
|
||||
|
||||
## Установка
|
||||
|
||||
@@ -4,7 +4,7 @@ Codex не знает ни маркетплейсов, ни `${CLAUDE_PLUGIN_ROO
|
||||
к каталогу плагина.
|
||||
|
||||
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>` на абсолютный путь
|
||||
к каталогу `plugin/` клона. Лаунчер `scripts/launch-kompas-mcp.ps1` — тот же, что у плагина
|
||||
Claude Code.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Подключение к opencode
|
||||
|
||||
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>` на абсолютный путь к
|
||||
каталогу `plugin/` клона. Используется тот же лаунчер `scripts/launch-kompas-mcp.ps1`.
|
||||
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.
+477
-562
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": {
|
||||
"tfm": "net8.0",
|
||||
"tfm": "net10.0",
|
||||
"rollForward": "LatestMajor",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
"version": "10.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"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`.
|
||||
|
||||
4. **.NET Runtime.** Сервер поставляется framework-dependent, поэтому рантайм нужен на машине:
|
||||
`dotnet --list-runtimes` должен показать строку `Microsoft.NETCore.App 8.<любая>` или новее
|
||||
`dotnet --list-runtimes` должен показать строку `Microsoft.NETCore.App 10.<любая>` или новее
|
||||
(x64). Ни одной подходящей строки или самой команды `dotnet` нет — это и есть причина сбоя
|
||||
пункта 3: попроси пользователя поставить .NET Runtime 8 или новее с
|
||||
пункта 3: попроси пользователя поставить .NET Runtime 10 или новее с
|
||||
https://dotnet.microsoft.com/download/dotnet (нужен именно x64; Desktop Runtime не обязателен).
|
||||
|
||||
5. **КОМПАС-3D установлен и, возможно, уже запущен.** Сервер подключается к КОМПАС лениво — не при
|
||||
|
||||
@@ -40,7 +40,7 @@ catch {
|
||||
# Самая частая причина здесь — отсутствующий .NET Runtime: сервер поставляется
|
||||
# framework-dependent, и без рантайма apphost падает именно тут.
|
||||
[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
|
||||
}
|
||||
|
||||
|
||||
@@ -153,6 +153,8 @@ variables | errors | components` (`sections` сужает и ответ, и об
|
||||
| Переменное сечение: хвост, гребень, переход круга в квадрат | `loft` по сечениям на смещённых плоскостях (`mode=boss` приклеивает к телу) |
|
||||
| Труба, поручень, кант по кривой | `sweep(profileSketchId, pathSketchId)` — профиль и траектория на разных плоскостях |
|
||||
| Тонкая стенка, ободок по контуру | эскиз + `extrude(thinThickness, thinSide)` |
|
||||
| Наклонная полка, скос, элемент под углом | `sketch_create(plane, planeAngle, planeAxis)` или `planePoints` (три вершины) + `extrude`; сторону берёт нормаль из ответа — `help(topic="auxiliary-planes")` |
|
||||
| Резьба на валу или в отверстии (M10, M8×1) | `thread` на цилиндрической грани — условное изображение, тело не режет; в отверстии сначала `hole` под сверло (M10 → Ø8.5), потом `thread` — `help(topic="threads")` |
|
||||
|
||||
Их **сочетают в одной детали**: корпусные объёмы — примитивами, сложные контуры — эскизами.
|
||||
|
||||
@@ -321,8 +323,8 @@ variables | errors | components` (`sections` сужает и ответ, и об
|
||||
файл детали не меняется — но он перекрывает ВСЕ акценты детали (надпись станет цвета
|
||||
компонента). Нужны акценты — оставь компоненту наследуемый цвет. Грань или тело ВНУТРИ
|
||||
компонента из сборки не красятся: акценты, общие для всех экземпляров, задают в файле детали.
|
||||
- **Передача дальше**: STEP несёт цвета и прозрачность — ответ `export_model` их перечисляет; STL
|
||||
цветов не несёт.
|
||||
- **Передача дальше**: STEP несёт цвета и прозрачность, но не текстуры и вырезы; STL не несёт
|
||||
оформления вовсе. Ответ `export_model` перечисляет попавшие цвета и называет, что потеряно.
|
||||
- **Отделка по материалу**: металл — `finish="metal"` (`silver`, `gold`), пластик — `satin` или
|
||||
`matte`, `glossy` — умолчание КОМПАС.
|
||||
- **Текстура — там, где она что-то говорит**: накатка на рукоятке (`texture="diamond knurl"`,
|
||||
@@ -336,8 +338,7 @@ variables | errors | components` (`sections` сужает и ответ, и об
|
||||
на снимке, не трогая массу и топологию. Нужны настоящие отверстия под крепёж или DFM — это
|
||||
`hole`/`pattern`, вырез их не заменяет. Рисунок «не тем боком» — `textureAngle`, сдвиг —
|
||||
`textureOffset` (оба вместе с повтором имён `texture` и `cutout` — повернётся только то, что
|
||||
названо в вызове; поворот 0…180°). Смена рисунка плитку и раскладку сохраняет. В STEP уходят
|
||||
только цвета — текстуры и вырезы остаются в `.m3d`.
|
||||
названо в вызове; поворот 0…180°). Смена рисунка плитку и раскладку сохраняет.
|
||||
- **Проверка — глазами**: `model_snapshot(view="iso")` после раскраски; что окрашено на самом
|
||||
деле — `describe_model(sections=appearance)`. Прозрачность снимок не рисует — её видно только
|
||||
в разделе `appearance`.
|
||||
|
||||
@@ -38,9 +38,11 @@
|
||||
| «сдвинуть грань на N мм» | `move_face` | это он и есть |
|
||||
| «диаметр отверстия (бобышки) должен стать D» | **`resize_face`** | задаётся ДИАМЕТР, ось не двигается; `move_face` сдвинул бы стенку на (D−d)/2, и это пришлось бы считать самому |
|
||||
| «грань должна встать НА объект: на плоскость, на грань соседнего тела» | **`replace_face`** | расстояние считает КОМПАС; `move_face` требует вычислить его заранее |
|
||||
| «убрать отверстие / скругление / фаску» с импорта (дефичеринг) | **`remove_face`** | соседние грани затягивают место сами; заливка отверстия телом и вычитание — лишние операции. `saveBody=false` оставляет дыру (тело-оболочка, объём 0) — нужен только если надо именно её |
|
||||
| «увеличить / уменьшить деталь целиком», компенсация усадки (1.004) | **`scale_body`** | `scale` равномерно или `scaleX/Y/Z`; центр — начало координат либо `x,y,z`; объём сверяется ×kx·ky·kz. Размеры эскизов и переменные остаются прежними — масштабируется тело |
|
||||
| вставка N мм в призматическую ножку | `split_solid_by_plane` → `move_body` → `move_face` (мост) → `boolean` | цепочка проверена end-to-end: проставка 39.45 → 41.45 мм |
|
||||
|
||||
`resize_face` и `replace_face` требуют КОМПАС v25; на версиях старше они отвечают отказом с
|
||||
`resize_face`, `replace_face` и `remove_face` требуют КОМПАС v25; на версиях старше они отвечают отказом с
|
||||
номером установленной версии, и тогда остаётся `move_face` с арифметикой.
|
||||
|
||||
**Проверяйте прямое редактирование РАЗНОСТЬЮ ОБЪЁМОВ против аналитической формулы** — объём и так
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": "0.4.0",
|
||||
"tag": "v0.4.0",
|
||||
"sourceSha": "f1ecc6ff5a923d524a7aa8dc7b97c538d9cf1bb3",
|
||||
"built": "2026-10-15T03:15:33Z"
|
||||
"version": "0.7.1",
|
||||
"tag": "v0.7.1",
|
||||
"sourceSha": "3029b17e8e1f52bf1bed08882fe368b7f0886b0a",
|
||||
"built": "2026-10-27T22:23:50Z"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user