solidworks属性栏中自动分离填入文件名中的零件名称与图号

日期:2024-07-04 发布者: 小编 浏览次数:

SOLIDWORKS 的属性和方程式界面支持使用VB语言进行写简单二次开发的语句,利用这种特性可以实现一些简单的属性提取。我将在此介绍如何利用这个特性实现一个以

SOLIDWORKS 的属性和方程式界面支持使用VB语言进行写简单二次开发的语句,利用这种特性可以实现一些简单的属性提取。我将在此介绍如何利用这个特性实现一个以名称+图号的方式命名的零件体,solidworks的自定义属性可自动识别分离名称与图号,并填写入自定义属性栏中,为后期工程图的属性链接提供便利。

我将以一个实例,介绍如何实现SOLIDWORKS简单的二次开发功能
如:---
某.sldprt文件的命名为:XXX零件 ICT-001-001
要实现以下的效果:在Solidworks的自定义属性自动输入

  1. 零件名称:XXX零件
  2. 图号:ICT-001-001

具体操作步骤:

1、编辑solidworks的自定义属性,额外添加两个自定义属性,属性名称的命名可自行定义。

 

2、为额外添加的两个自定义属性分别填写两条VB代码
  1. A:填入分离图号的VB代码
  1. Part.Extension.CustomPropertyManager("").Set("零件名称",Rtrim(Left(Part.GetTitle,InStr(Part.GetTitle," "))))  
  1. B:填入分离零件名称的VB代码
  1. Part.Extension.CustomPropertyManager("").Set("图号",Trim(Replace(Right(Part.GetTitle,Len(Part.GetTitle)-InStr(Part.GetTitle," ")),".SLDPRT"," ")))   


特别注意点:

  1. 代码表达式中的【图号】和【零件名称】要和对应的属性名称一致
  2. 关注(Part.GetTitle," ")引号内容为【空格】
  1. 创建两个方程式

"运行VB1"="A""运行VB2"="B"


特别注意点:

  1. 等于符号和引号符号在英文输入法的状态输入
  2. 额外添加的两个自定义属性要和【数值/方程式】输入的一致
  3. 方程式中两个全局变量名可以是任意符合语法规范的字符,对应的属性名称要输入正确,估算值为0代表自定义属性中的语句没有错误
  1. 重建并保存文件,可发现自定义属性已经自动填入分离的图号和名称

特别注意点:

  1. 【图号】和【零件名称】中间以空格分割,不限空格个数(表达式分离文字时对空格做了删除)
  2. 如果想修改为其他字符分割可以在两个表达式中的(Part.GetTitle," ")双引号中的内容做替换

例如零件命名为:XXX零件-ICT-001-001
(Part.GetTitle," ")改为(Part.GetTitle,"-")结果为:

此时会发现零件名称带有“-”可修改VB代码:

  1. Part.Extension.CustomPropertyManager("").Set("零件名称",Rtrim(Left(Part.GetTitle,InStr(Part.GetTitle,"-")-1)))  
  2. Part.Extension.CustomPropertyManager("").Set("图号",Trim(Replace(Right(Part.GetTitle,Len(Part.GetTitle)-InStr(Part.GetTitle,"-")),".SLDPRT"," ")))   
  1. 其他也能实现目的的VB代码参考:(此代码得隐藏文件扩展名,只允许一个空格作为名称和图号的分割)
  1. Part.Extension.CustomPropertyManager("").Set("图号",Left(Part.GetTitle,InStr(Part.GetTitle," ")))  
  2. Part.Extension.CustomPropertyManager("").Set("名称",Right(Part.GetTitle,Len(Part.GetTitle)-InStr(Part.GetTitle," ")))  

 

5、将此文件保存为零件体模板,以便快速使用


结语:
   我们不使用插件,进行SOLIDWORKS软件功能的二次开发,以方程式的方式运行简单规则,就能实现自动分离输入文件名中的名称与图号,不用手动在属性栏中输入重复的名称与图号,此后制作工程图也将更便利。


加入收藏


获取正版软件免费试用资格,有任何疑问拨咨询热线:400-886-6353或 联系在线客服

未解决你的问题?请到「问答社区」反馈你遇到的问题,专业工程师为您解答!

社交账号登录