许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  技术文档 >  sw二次开发修改草图尺寸

sw二次开发修改草图尺寸

阅读数 19
点赞 0
article_banner
在 SolidWorks(SW)二次开发中修改草图尺寸,主要通过 ‌API 操作草图实体的参数(Dimension)‌ 实现。以下是关键方法和示例代码:

‌核心方法‌

‌使用 Part.Parameter 获取尺寸参数对象‌,然后设置其 SystemValue 属性。

‌必须调用 EditRebuild3()‌ 使模型更新。

尺寸名称格式通常为 "D<编号>@<草图名称>",如 "D1@草图1"。

‌常用开发语言示例‌

‌1. VBA 示例‌

vba

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc

Dim swPart As SldWorks.PartDoc

Sub SetDimensionValue()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swPart = swModel ' 确保是零件文档

If Not swPart Is Nothing Then

Dim paramName As String

paramName = "D1@草图1" ' 替换为实际尺寸名称



Dim newValue As Double

newValue = 50 ' 新尺寸值(单位:米,若系统单位为mm则需转换)

Dim myParam As SldWorks.Parameter

Set myParam = swPart.Parameter(paramName)



If Not myParam Is Nothing Then

myParam.SystemValue = newValue

sw二次开发修改草图尺寸

swPart.EditRebuild3 ' 重建模型

MsgBox "尺寸已更新"

Else

MsgBox "未找到指定尺寸"

End If

End If

End Sub

‌2. Python 示例(使用 pywin32)‌

python

import win32com.client as win

import pythoncom

def set_sketch_dimension(dim_name, new_value):

sw_app = win32.Dispatch("Sldworks.Application")

sw二次开发修改草图尺寸

sw_app.Visible = True

sw_model = sw_app.ActiveDoc



获取参数并设置新值

param = sw_model.Parameter(dim_name)

if param is not None:

param.SystemValue = new_value

sw_model.EditRebuild3()

print("尺寸已更新")

else:

print("未找到指定尺寸")

使用示例

set_sketch_dimension("D1@草图1", 0.05) 50mm = 0.05m(若系统单位为米)

‌注意事项‌

‌单位问题‌:SolidWorks API 默认使用 ‌米(m)‌ 作为单位,若草图尺寸为毫米(mm),需将数值除以

‌尺寸名称查找‌:可在 FeatureManager 设计树中查看具体尺寸名称,或通过遍历参数获取。

‌草图必须处于非编辑状态‌:修改尺寸前确保草图未被激活编辑。

‌参考资料‌

‌‌

SolidWorks二次开发:添加约束并设置尺寸值(微信公众号,2024)

‌‌

Python二次开发SolidWorks:修改实体尺寸(CSDN博客,2023)

‌‌

《SOLIDWORKS 二次开发与API教程(2025版)》(机械工业出版社,2025)

如需进一步学习,推荐参考官方文档《SOLIDWORKS 2025 API Fundamentals`‌‌

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空