SolidWorks API/宏创建带Description配置属性的方法咨询
SolidWorks二次开发创建配置写入Description字段实现方案
AddConfiguration3方法本身没有提供Description字段的传参入口,创建配置后通过返回的配置对象直接赋值对应属性即可完成写入,不需要额外遍历配置列表。
实现步骤
- 定义
Configuration类型的对象变量,接收AddConfiguration3方法执行后返回的新配置实例 - 直接对配置实例的
Description属性赋值,即可写入配置常规属性页的描述内容 - 如果需要写入配置特定自定义属性中的Description条目,调用配置对应的
CustomPropertyManager接口完成属性新增/赋值即可
完整修改后代码
Sub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swConfig As SldWorks.Configuration Dim strNumber As String Dim strConfigDesc As String Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc ' 获取配置名称 strNumber = InputBox("please enter name of config", "config") If strNumber = "" Then Exit Sub ' 可替换为固定业务值,不需要弹窗输入 strConfigDesc = InputBox("please enter description of config", "config description") ' 创建配置并直接获取返回的配置对象 Set swConfig = swModel.AddConfiguration3(strNumber, Empty, Empty, 0) ' 写入配置常规属性的Description字段 swConfig.Description = strConfigDesc ' ——如果需要写入配置特定自定义属性的Description,取消注释以下代码—— ' Dim swCustPropMgr As SldWorks.CustomPropertyManager ' Set swCustPropMgr = swConfig.CustomPropertyManager ' 新增属性(如果已存在会返回错误码,可按需加错误处理) ' swCustPropMgr.Add2 "Description", swCustomInfoText, strConfigDesc ' 赋值属性 ' swCustPropMgr.Set2 "Description", strConfigDesc End Sub
注意点
- 不要创建配置后再通过遍历所有配置匹配名称的方式找新配置,直接接方法返回值是效率最高、最稳定的实现方式,不会出现重名配置匹配错误的问题
- 注意区分两个Description字段:配置常规属性页的描述对应
Configuration.Description属性,配置特定自定义属性列表中的Description需要通过CustomPropertyManager操作 - 操作完成后建议调用
swModel.Save保存修改,避免程序异常退出导致配置写入内容丢失
内容的提问来源于stack exchange,提问作者Dani El
相关产品推荐
相关产品推荐

