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.

معلومات المصدر

المستودع
guoleizhen717/solidworks-api-skill
آخر نشاط في المصدر
٢٠ مايو ٢٠٢٦ في ١٤:٤٩
لغة SKILL.md المكتشفة
الصينية
النجوم
٥
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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) 中类型不匹配 - 中文基准面名称:前视基准面 / 上视基准面 / 右视基准面
عرض على GitHub