partloom-solidworks-modeling 是做什么的?
源代码可用的非商业 Codex 技能,用于通过 Python COM 实现确定性、可编辑的 SolidWorks 零件建模。
概述
该技能允许用户通过 Python 脚本与 SolidWorks 的 COM API 交互,从而以编程方式创建和编辑零件模型。它专为需要自动化、可重复且可编辑的 CAD 工作流的设计师和工程师设计。
功能特性
- 确定性建模:每次运行相同的脚本可生成完全一致的零件,消除手动操作的不确定性。
- 可编辑性:生成的模型保留完整的特征树,可在 SolidWorks GUI 中进一步编辑。
- Python COM 集成:通过标准 Python 脚本(使用
pywin32库)驱动 SolidWorks。 - 支持基本建模操作:包括草图创建、特征应用(拉伸、旋转、扫描、放样等)、参数化驱动和配置管理。
使用前提
- 安装 SolidWorks(支持 COM 自动化的版本)。
- 安装 Python 3.x 及
pywin32库:pip install pywin32 - 确保 SolidWorks 在系统 PATH 中或已正确注册 COM 组件。
快速开始
以下是一个基本示例,演示如何启动 SolidWorks、创建新零件并添加一个拉伸特征:
import win32com.client as win32
# 连接到 SolidWorks 应用程序
swApp = win32.Dispatch("SldWorks.Application")
swApp.Visible = True
# 创建新零件文档
part = swApp.NewDocument("C:\\Program Files\\SOLIDWORKS Corp\\SOLIDWORKS\\lang\\english\\Templates\\Part.prtdot", 0, 0, 0)
# 获取模型文档对象
model = swApp.ActiveDoc
# 创建草图平面(前视基准面)
sketchManager = model.SketchManager
sketchManager.InsertSketch(True)
# 绘制一个矩形
sketchManager.CreateCornerRectangle(0, 0, 0, 0.05, 0.1, 0)
# 退出草图
sketchManager.InsertSketch(True)
# 应用拉伸特征
featureManager = model.FeatureManager
featureManager.FeatureExtrusion2(True, False, False, 6, 0, 0.02, 0.01, False, False, False, False, 0, 0, False, False, False, False, True, True, True, 0, 0, False)
# 保存零件
model.SaveAs("C:\\Temp\\MyPart.SLDPRT")
注意:实际使用时需根据 SolidWorks 版本调整 API 参数。
文档结构
skills/:包含该技能的核心脚本。examples/:提供多个使用示例,展示不同的建模操作。docs/:详细的技术说明和 API 参考。
许可
此技能为源代码可用的非商业项目。使用时请遵守相关许可条款。
贡献
欢迎提交 Issue 和 Pull Request。但请注意,此项目主要面向非商业用途。
支持平台
- Codex
- SolidWorks (Windows)
- Python 3.x