z398903650 发表于 2019-8-14 12:42:00

solidworks一键提取钣金展开尺寸到属性栏 宏命令

研究很多天了,貌似solidworks2018才可以这么做

liuhob 发表于 2019-8-14 20:19:08

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeature As SldWorks.feature
Dim FeatName As String
Dim FeatType As String
Sub main()
Set swApp = Application.SldWorks
If Not swApp Is Nothing Then
Set swModel = swApp.ActiveDoc
If Not swModel Is Nothing Then
Set swFeature = swModel.FirstFeature
While Not swFeature Is Nothing '遍历零件FeatureManager并获取特征和属性
FeatName = swFeature.Name '获取特征名称
FeatType = swFeature.GetTypeName '获取特征属性
If FeatType = "CutListFolder" Then
swFeature.Name = "切割清单项目" '修改名称
End If
Set swFeature = swFeature.GetNextFeature
Wend
End If
Set swModel = Nothing
End If
Set swApp = Nothing
blnretval = swModel.DeleteCustomInfo2("", "长") '清除原有的属性
blnretval = swModel.DeleteCustomInfo2("", "宽")
blnretval = swModel.AddCustomInfo3("", "长", swCustomInfoText, """SW-边界框长度@@@切割清单项目@零件3.SLDPRT""") 'VB语法,两个引号组成一个引号
blnretval = swModel.AddCustomInfo3("", "宽", swCustomInfoText, """SW-边界框宽度@@@切割清单项目@零件3.SLDPRT""")
End Sub

amay0411 发表于 2019-8-15 09:24:58

hisoft 发表于 2019-8-17 01:34:18





要实现我上面的宏 ,这个选项必须打开,这个可以保存的零件模板里面的

wallen 发表于 2019-8-17 05:33:29

我的思路是:
利用切割清单里面的展开尺寸,把这个尺寸调用到属性栏,但是如果零件特征自己全部删了然后重新画,属性栏的表达式也会被删掉,属性栏的展开尺寸表达式保存到模板里面会无法生效。所以只能每次都手动把这个表达式输入到属性栏。
属性栏的 “长” 和 “宽” 就是展开尺寸数据 ,属性栏有了这个数据,链接到工程图就很简单了

WD123WXY 发表于 2019-8-17 08:01:56

@大侠很忙007

xibeimoke 发表于 2019-8-18 07:26:21

切割清单 下面的 切割清单项目 可能会自己改变名称,后面会带一个数字,我把这个名称同一改为"切割清单项目" ,那连接到属性栏的表达式就可以统一起来了

jiang730411 发表于 2019-8-18 11:35:02

看着很厉害 还会自己写代码

kanglong 发表于 2019-8-18 17:42:34

低于2018版本的,要在工程图自动出现展开尺寸,只能调用焊接表来显示尺寸,焊接表可以做成模板。那以后要显示尺寸就要调出焊接表来显示,那要点2下键盘和1下鼠标,我还是觉得有点麻烦。具体方法,没人想了解我就懒得说了。

yangjunkai 发表于 2019-8-19 07:38:31

可以使用凯元工具,挺好用的
页: [1]
查看完整版本: solidworks一键提取钣金展开尺寸到属性栏 宏命令