# solidworks_apis **Repository Path**: l7871878100/solidworks_apis ## Basic Information - **Project Name**: solidworks_apis - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-30 - **Last Updated**: 2026-02-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SolidWorks 2022 API 中文文档 ## 文档说明 本文档是对 SolidWorks 2022 API 的[接口](https://help.solidworks.com/2022/english/api/help_list.htm?id=2.2.1),[常量](https://help.solidworks.com/2022/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks_namespace.html?id=2.2.0)中文整理,包含接口定义、参数说明和 C# 使用示例。 ## 目录结构 ``` solidworks_apis/ ├── README.md # 本文档 ├── 00-快速开始.md # 快速开始指南 ├── 00-COM对象管理最佳实践.md # COM对象生命周期管理 ├── AGENTS.md # AI助手项目指南 ├── API-索引.md # API方法索引(按字母/功能/接口分类) ├── CLAUDE.md # Claude Code项目指南 └── 按字母/ # 接口文档(按首字母分类) ├── A/ (14个接口) # A开头的接口 │ ├── IAdvancedHoleElementData.md │ ├── IAdvancedHoleFeatureData.md │ ├── IAssemblyDoc.md │ └── ... ├── B/ (22个接口) # B开头的接口 │ ├── IBaseFlangeFeatureData.md │ ├── IBody2.md │ └── ... ├── C/ (53个接口) # C开头的接口 │ ├── IConfiguration.md │ ├── IComponent2.md │ └── ... ├── D/ (31个接口) # D开头的接口 │ ├── IDrawingDoc.md │ ├── IDimension.md │ └── ... ├── F/ (19个接口) # F开头的接口 │ ├── IFeature.md │ ├── IFeatureManager.md │ ├── IFace2.md │ └── ... ├── M/ (44个接口) # M开头的接口 │ ├── IModelDoc2.md │ ├── IModelDocExtension.md │ ├── IMathUtility.md │ └── ... ├── P/ (54个接口) # P开头的接口 │ ├── IPartDoc.md │ └── ... ├── S/ (103个接口) # S开头的接口(最多) │ ├── ISldWorks.md │ ├── ISketch.md │ ├── ISketchManager.md │ ├── ISelectionMgr.md │ ├── ISurface.md │ └── ... └── ... (其他字母目录) ``` ## API 分类 ### 核心应用程序接口 - **ISldWorks**: SolidWorks 应用程序主接口,提供应用程序级别的方法和属性 - 文档管理:创建、打开、关闭、保存文档 - 系统控制:获取版本号、设置用户偏好 - 窗口管理:重绘窗口、获取窗口句柄 - 文档枚举:遍历所有打开的文档 ### 文档基础接口 - **IModelDoc2**: 所有文档类型(零件、装配、工程图)的基接口 - 通用操作:保存、重建、显示控制 - 选择管理:清除选择、获取选择对象 - 配置访问:获取配置管理器 - 扩展接口:访问 IModelDocExtension - **IModelDocExtension**: 文档扩展接口 - 自定义属性:获取属性管理器 - 图层管理:创建、删除、获取图层 ### 文档类型接口 - **IPartDoc**: 零件文档专用接口,继承自 IModelDoc2 - 特征创建:拉伸、旋转、扫描、放样 - 材质属性:获取质量属性、材质 - 草图编辑:插入草图、编辑草图 - **IAssemblyDoc**: 装配文档专用接口,继承自 IModelDoc2 - 组件操作:添加、删除、压缩组件 - 配合关系:创建、编辑配合 - 爆炸视图:创建、取消爆炸视图 - 干涉检查:组件干涉检测 - **IDrawingDoc**: 工程图文档专用接口,继承自 IModelDoc2 - 图纸管理:创建、激活、删除图纸 - 视图创建:标准视图、剖面视图、局部视图 - 标注功能:尺寸、注释、中心线 - 视图对齐:设置、解除对齐关系 ### 几何体接口 - **IFace2**: 表示模型的面 - 几何信息:获取法向量、面积、边界 - 材质属性:获取、设置材料属性 - 拓扑关系:获取边、循环、曲面 - **IEdge**: 表示模型的边 - 几何信息:获取长度、曲线、端点 - 拓扑关系:获取关联的面 - 类型判断:是否直线、圆弧 - **IVertex**: 表示模型的顶点 - 坐标获取:获取点坐标 - 拓扑关系:获取关联的边和面 ### 选择管理接口 - **ISelectionMgr**: 管理文档中的对象选择 - 选择操作:获取选中对象、数量、类型 - 选择控制:启用/禁用轮廓选择 - 光标位置:获取光标点坐标 - **ISelectData**: 提供选择操作所需的数据 - 选择标记:设置选择标识 - 选择点:设置选择位置 ### 特征管理接口 - **IFeature**: 表示模型中的特征 - 特征信息:获取名称、类型、定义 - 特征操作:编辑、删除、压缩 - 访问子特征:获取第一个特征、下一个特征 - **IFeatureManager**: 管理特征的创建和操作 - 基础特征:拉伸、旋转、扫描、放样 - 加工特征:圆角、倒角、拔模、抽壳 - 曲面特征:拉伸曲面、旋转曲面、扫描曲面 - 钣金特征:基体法兰、边线法兰、折叠 ### 草图接口 - **ISketch**: 表示草图 - 草图信息:获取草图平面、变换矩阵 - 草图状态:是否编辑模式、是否重建 - 草图约束:获取几何关系、尺寸 - **ISketchManager**: 草图管理器 - 草图创建:插入草图、编辑草图 - 图元绘制:直线、圆弧、矩形、样条曲线 - 约束添加:添加几何关系、尺寸 ### 数学工具接口 - **IMathUtility**: 数学工具根接口 - 创建对象:点、向量、变换矩阵 - 矩阵运算:组合变换、反转 - **IMathPoint**: 数学点 - 坐标操作:获取、设置坐标 - 向量运算:点加向量、应用变换 - **IMathVector**: 数学向量 - 向量运算:加减、点积、叉积 - 向量属性:长度、归一化、角度 - **IMathTransform**: 数学变换矩阵 - 矩阵操作:获取、设置矩阵数据 - 矩阵运算:反转、乘法、组合 ### 配置管理接口 - **IConfiguration**: 表示文档配置 - 配置属性:名称、备注、是否激活 - 配置参数:获取配置特定的参数 - **IConfigurationManager**: 配置管理器 - 配置操作:添加、删除、获取配置 ### 几何建模接口 - **IModeler**: 建模器接口 - 曲线创建:圆弧、直线、样条曲线 - 曲面创建:平面、圆柱面 - 实体创建:长方体、圆柱体 - 布尔运算:合并、减去、交集 - **ISurface**: 曲面接口 - 曲面信息:获取边界、法向量 - 曲面操作:延伸、修剪、偏移 ### 工程图视图接口 - **IView**: 表示工程图中的视图 - 视图属性:名称、比例、位置、角度 - 视图操作:激活、删除、对齐 - 视图类型:标准视图、剖面视图、局部视图 ### 自定义属性接口 - **ICustomPropertyManager**: 自定义属性管理器 - 属性操作:添加、获取、设置、删除属性 - 属性查询:获取所有属性名、数量、类型 ### 工具栏和命令接口 - **ICommandManager**: 命令管理器 - 命令组:创建、删除命令组 - 工具栏:创建、管理工具栏 - 上下文菜单:添加菜单项 - **IFrame**: 框架接口 - 菜单管理:添加菜单、菜单项 - 窗口管理:获取模型窗口 ### 进度显示接口 - **IUserProgressBar**: 用户进度条 - 进度控制:开始、更新、结束进度条 - 标题更新:更新进度条标题文本 ## 使用说明 ### 查找接口文档 本项目提供两种查找接口的方式: 1. **按字母查找**:所有接口文档按首字母分类在`按字母/`目录下 - 例如:`ISldWorks` → `按字母/S/ISldWorks.md` - 例如:`IModelDoc2` → `按字母/M/IModelDoc2.md` 2. **使用索引**:查阅`API-索引.md`,支持三种索引方式: - 按方法名字母顺序 - 按功能分类 - 按接口分类 ### 环境要求 - SolidWorks 2022 或更高版本 - Visual Studio 2019 或更高版本 - .NET Framework 4.7.2 或更高版本 ### 引用程序集 在 C# 项目中添加对以下 COM 组件的引用: - `SolidWorks.Interop.sldworks` - `SolidWorks.Interop.swconst` - `SolidWorks.Interop.swdocumentmgr` ### 基本使用示例 ```csharp using System; using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; public class SolidWorksAPIExample { private ISldWorks swApp; public bool ConnectToSolidWorks() { // 获取或创建 SolidWorks 应用程序实例 swApp = (ISldWorks)Activator.CreateInstance(Type.GetTypeFromProgID("SldWorks.Application")); return swApp != null; } public void OpenDocument(string filePath) { int errors = 0; int warnings = 0; // 打开文档 IModelDoc2 model = swApp.OpenDoc6(filePath, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", ref errors, ref warnings); if (model != null) { Console.WriteLine("文档打开成功"); } } } ``` ## 文档格式说明 每个 API 接口文档包含以下部分: 1. **接口概述**: 接口的用途和功能描述 2. **命名空间**: 接口所属的命名空间 3. **继承关系**: 接口的继承层次 4. **属性列表**: 接口的所有属性及其说明 5. **方法列表**: 接口的所有方法及其说明 6. **C# 示例**: 实际的 C# 代码示例 ## 更新说明 - 文档版本: 1.0 - SolidWorks 版本: 2022 - 最后更新: 2026-02-01 - 接口文档数量: 479个接口 - 文档组织方式: 按接口首字母分类(A-Z,24个字母目录) ## 免责声明 本文档基于 [SolidWorks 2022 API 官方](https://help.solidworks.com/2022/english/api/help_list.htm?id=2.2.1)文档整理,仅供参考。实际使用时请以 SolidWorks 官方文档为准。