Skip to main content

solidworks-api

SolidWorks 2023 API/SDK coding assistant. Covers part modeling, sketches, features (extrude/revolve/cut), patterns, mates, materials, STEP export, and shield machine cutterhead design. Triggers: SolidWorks, SOLIDWORKS, SLDWORKS, ISldWorks, IModelDoc2, IFeatureManager, sketch, extrude, revolve, cut, pattern, mate, cutterhead, 刀盘, PartDoc, AssemblyDoc, VBA macro, C# SolidWorks add-in, Python win32com SolidWorks.

Source facts

Repository
guoleizhen717/solidworks-api-skill
Last source activity
May 20, 2026 at 14:49
Detected SKILL.md language
Chinese
Stars
5
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
solidworks-api
description
SolidWorks 2023 API/SDK coding assistant. Covers part modeling, sketches, features (extrude/revolve/cut), patterns, mates, materials, STEP export, and shield machine cutterhead design. Triggers: SolidWorks, SOLIDWORKS, SLDWORKS, ISldWorks, IModelDoc2, IFeatureManager, sketch, extrude, revolve, cut, pattern, mate, cutterhead, 刀盘, PartDoc, AssemblyDoc, VBA macro, C# SolidWorks add-in, Python win32com SolidWorks.
version
1.0.0
tags
["solidworks","cad","mechanical-engineering","shield-machine","cutterhead","automation","com-api"]
# SolidWorks 2023 API 编码规范 ## 核心规则:永远不要猜测 API 调用 SolidWorks API 方法的参数数量多(通常 10-15 个),参数类型混杂(bool/double/string)。 **每次写 API 调用时必须:** 1. 先用 `grep` 在 `~/Desktop/SW-AI-Project/docs/` 中搜索对应方法 2. 确认方法名、参数顺序、参数类型、返回值 3. 不要假设默认值——明确传递每个参数 4. 使用 `swConst` 枚举值,绝不硬编码整数 ## SolidWorks 对象模型 ``` SldWorks (Application) ├── IModelDoc2 │ ├── PartDoc → 零件 (.sldprt) │ ├── AssemblyDoc → 装配体 (.sldasm) │ └── DrawingDoc → 工程图 (.slddrw) ├── ISketchManager → 草图管理 ├── IFeatureManager → 特征管理 ├── ISelectionMgr → 选择管理 └── ISketch → 草图对象 ``` ## 常用 API 方法 ### 连接 SolidWorks ```python # Python (win32com) import win32com.client swApp = win32com.client.Dispatch("SldWorks.Application") swApp.Visible = True ``` ### 创建新零件 ```python # VBA/C# swApp.NewDocument(templatePath, paperSize, width, height) # 模板路径: "D:\\SW2023\\SOLIDWORKS\\lang\\chinese-simplified\\tutorial\\part.prtdot" part = swApp.NewPart() # 直接创建空零件 (VBA) ``` ### 草图操作 ```python part.InsertSketch2(True) # 插入草图 part.SketchManager.CreateCircle(x, y, z, radius) # 画圆 part.SketchManager.CreateLine(x1,y1,z1, x2,y2,z2) # 画线 part.SketchManager.CreateCornerRectangle(x1,y1,z1, x2,y2,z2) # 矩形 ``` ### 特征操作 ```python # 拉伸凸台 (Extrude) part.FeatureManager.FeatureExtrusion2( sd, flip, dir, t1, t2, d1, d2, dchk1, dchk2, ddir1, ddir2, dang1, dang2, offsetReversal1, offsetReversal2, merge, useFeatScope, useAutoSelect, t0, startOffset, startFlip ) # 关键参数: sd=True(单向), d1=厚度(m), dir=True(正向) # 旋转凸台 (Revolve) part.FeatureManager.FeatureRevolve2( angle, reverseDir, angle2, revType, merge, useFeatScope, useAutoSelect ) # 拉伸切除 (ExtrudeCut) part.FeatureManager.FeatureCut4( sd, flip, dir, t1, t2, d1, d2, dchk1, dchk2, ddir1, ddir2, dang1, dang2, offsetReversal1, offsetReversal2, flipCut, ... ) # 圆角 part.FeatureManager.FeatureFillet3(radius, ...) # 倒角 part.FeatureManager.FeatureChamfer3(...) # 圆周阵列 part.FeatureManager.FeatureCircularPattern4( numInstances, spacing, equalSpacing, ... ) # 线性阵列 part.FeatureManager.FeatureLinearPattern4(...) # 镜像 part.FeatureManager.FeatureMirror2(...) ``` ## SolidWorks 常量 (swConst) ```python # 文档类型 swDocPART = 1 # 零件 swDocASSEMBLY = 2 # 装配体 swDocDRAWING = 3 # 工程图 # 拉伸终止条件 swEndCondBlind = 1 # 给定深度 swEndCondThroughAll = 2 # 完全贯穿 swEndCondMidPlane = 6 # 两侧对称 # 草图平面 swPlaneTop = 1 # 上视基准面 swPlaneFront = 2 # 前视基准面 swPlaneRight = 3 # 右视基准面 # 单位转换 (SolidWorks 内部使用米) METERS_TO_MM = 1000 MM_TO_METERS = 0.001 # 选择类型 swSelFACES = 2 swSelEDGES = 4 swSelSKETCHES = 16 ``` ## 刀盘建模常用参数 盾构机刀盘建模需要的典型特征: - **刀盘面板**: 大直径圆盘 (φ6~15m),拉伸厚度 400~800mm - **辐条/辐臂**: 径向分布,4~8 条,矩形截面 - **滚刀安装座**: 圆周分布,配合阵列 - **切刀/刮刀**: 边缘分布 - **中心刀**: 中心区域 - **出土槽/排渣口**: 贯穿切除 - **搅拌棒**: 背面分布 - **安装法兰**: 中心连接结构 ## 单位系统 SolidWorks 内部使用**米**作为长度单位。所有 API 调用中传递的长度值单位都是米: - 1mm = 0.001m - 1m = 1.0 - 刀盘直径 6m = 6.0 ## 导出格式 ```python # 另存为 STEP part.SaveAs3(path, 0, 0) # .sldprt part.SaveAs3(path + ".STEP", 0, 0) # 某些版本 ``` ## 创建基准面 ```python part.FeatureManager.InsertRefPlane(...) ``` ## 板厚/壳特征 ```python part.FeatureManager.FeatureShell(thickness, ...) ``` ## 已知限制 (COM Late Binding) 使用 IDispatch 晚期绑定时存在以下已知限制: - `FeatureExtrusion2` 等参数过多(>12个)的方法会失败,需使用 VBA 宏 - `RecordMacro` / `EditMacro` 不可用(SW 2023 IDispatch 不支持) - `SelectByID2` 的 Callout 参数在 winax (Node.js) 中类型不匹配 - 中文基准面名称:前视基准面 / 上视基准面 / 右视基准面
View on GitHub