SolidWorks自然语言控制工具

SolidWorks MCP Server是一个通过自然语言控制SolidWorks的工具,利用Claude AI和Model Context Protocol (MCP)实现自动化设计。

  • by alisamsam
  • Python
  • 本地部署
  • 184 星标
  • 更新于
在 GitHub 查看 alisamsam/Solidworks-MCP

使用说明

SolidWorks MCP服务器🔧

通过Claude AI和模型上下文协议(MCP)使用自然语言自动化SolidWorks


🎯 这是什么?

SolidWorks MCP服务器 生产准备好了吗 模型上下文协议 服务器,让Claude AI通过自然语言控制SolidWorks。您只需告诉Claude要设计什么,它就会为您构建,而不是手动点击菜单。

您可以使用的示例提示:

  • 创建一个新零件,绘制一个半径为30mm的圆,然后将其拉伸15mm
  • “在所有边缘添加2mm的圆角”
  • “画一个六边形,切割并挤出10mm”
  • “列出当前零件中的所有功能”

✨ 特性

  • ✅ 22工具 涵盖零件、草图、特征和实用程序
  • ✅ SolidWorks 2023–2025兼容 带有版本软件API故障
  • ✅ 自动检测SolidWorks 通过Windows注册表安装
  • ✅ 多单元支持 --毫米、厘米、英寸、米、英尺
  • ✅ 模块化架构 --干净、可扩展的Python包
  • ✅ 稳健的错误处理 -COM API的级联回退链
  • ✅ JSON配置 --无需接触代码即可轻松定制
  • ✅ 综合录井 --用于故障排除的完整调试输出

🛠️ 可用工具

类别 工具 描述
连接 connect_solidworks 连接到正在运行的SolidWorks实例
连接 get_solidworks_info 获取版本和安装信息
文件 create_new_part 创建新的零件文档
文件 create_new_assembly 创建新的装配文档
文件 open_document 打开现有SolidWorks文件
文件 close_document 关闭活动文档
文件 save_document 保存活动文档
文件 list_open_documents 列出所有打开的文档
草图 create_sketch 在平面(前/上/右)上创建草图
草图 close_sketch 退出活动草图
草图 draw_circle 按圆心和半径画一个圆
草图 draw_rectangle 用两个角画一个矩形
草图 draw_line 在两点之间画一条线
草图 draw_arc 按中心和角度绘制圆弧
草图 draw_polygon 绘制一个正多边形(三角形、六边形等)
特性 extrude_sketch Boss拉伸活动草图
特性 cut_extrude 切割挤出物以去除材料
特性 fillet_edges 向选定边添加圆角
特性 chamfer_edges 为选定边添加倒角
特性 list_features 列出模型中的所有功能
公用事业 set_units 更改默认单位(毫米/英寸/厘米/米/英尺)
公用事业 execute_python 在软件上下文中执行自定义Python代码

📋 需求

  • 操作系统: Windows 10或Windows 11
  • SolidWorks: 2023年、2024年或2025年(必须安装并获得许可)
  • python 3.10或更高
  • 克劳德: 克劳德桌面应用程序或克劳德代码

⚡ 快速开始

1.克隆存储库

git clone https://github.com/alisamsam/solidworks-mcp.git
cd solidworks-mcp

2.安装依赖项

pip install -r requirements.txt

3.配置克劳德桌面

将以下内容添加到您的 claude_desktop_config.json:

地点: C:\Users\YOUR_NAME\AppData\Roaming\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "solidworks": {
      "command": "python",
      "args": ["C:\\path\\to\\solidworks-mcp\\solidworks_mcp_server.py"]
    }
  }
}

4.发射

  1. 打开 SolidWorks 第一
  2. 重启 克劳德桌面
  3. 在Claude中,键入: “连接到SolidWorks”
  4. 开始设计! 🎉

📁 项目结构

solidworks-mcp/
├── solidworks_mcp_server.py      # Entry point
├── solidworks_mcp/               # Main package
│   ├── __init__.py              # Package exports (v3.0.0)
│   ├── server.py                # MCP server & tool definitions
│   ├── config.py                # Configuration management
│   ├── config.json              # Default settings
│   ├── constants.py             # SolidWorks constants & enums
│   ├── automation/              # Core automation modules
│   │   ├── base.py             # Connection management
│   │   ├── documents.py        # Document operations
│   │   ├── sketches.py         # Sketch operations
│   │   └── features.py         # Feature operations (SW 2025 fixed)
│   └── utils/                   # Utility modules
│       ├── units.py            # Unit conversion system
│       └── sw_finder.py        # Auto-detect SolidWorks
├── requirements.txt
├── .gitignore
└── DEVELOPMENT_ROADMAP.md       # Future development plan

⚙️ 配置

编辑 solidworks_mcp/config.json 要自定义行为:

{
  "exe_path": "auto",
  "default_unit": "mm",
  "startup_timeout": 120,
  "log_level": "INFO",
  "default_extrude_depth": 10.0,
  "default_fillet_radius": 2.0
}
设置 默认值 说明
exe_path "auto" SLDWORKS.exe或自动检测的路径
default_unit "mm" 所有尺寸的默认单位
startup_timeout 120 等待软件启动的秒数
log_level "INFO" 记录冗长

🔧 SolidWorks 2025兼容性

此服务器包括对SolidWorks2025 API更改的特殊处理:

  • 挤压回退链: FeatureExtrusion3 → FeatureExtrusion2 → FeatureBossSimple
  • 安全的财产访问 为了 feat.Name, feat.GetTypeName2(), IsSuppressed2()
  • stdout捕获 修复 execute_python 工具
  • 基于注册表 SolidWorks自动检测

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/my-feature
  3. 提交您的更改: git commit -m "Add my feature"
  4. 推到分支: git push origin feature/my-feature
  5. 打开拉取请求

📄 许可证

该项目根据 MIT许可证 --看看 许可证 文件以获取详细信息。


👤 作者

萨姆萨姆·阿里·拜格


🙏 致谢


⭐ 如果这个项目对你有帮助,请给它一颗星!