SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 29874|回复: 31
打印 上一主题 下一主题

solidworks宏里自定义的属性,重量如何在赋予材料后自动带出来?

  [复制链接]

11

主题

66

帖子

69

金币

天使

Rank: 2Rank: 2

积分
183
QQ
跳转到指定楼层
楼主
发表于 2015-7-9 18:19:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
最近在网上得到一个,修改了一下,符合我们公司的使用习惯,其实就是用来分离零件名称和图号的,用“_"分开,前面部分填入物料编码属性,后面部分填入名称属性。再修改了一下,增加了材料属性,重量属性等,现在材料可以自动从零件赋予材质后,属性自动带出,但重量需要手动,不知道在里怎样得到重量。以下是的内容:
Sub main()
'link solidworks
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
'设定变量
c = swApp.ActiveDoc.GetTitle() '零件名
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
blnretval = Part.DeleteCustomInfo2("", "物料编码")
blnretval = Part.DeleteCustomInfo2("", "名称")
blnretval = Part.DeleteCustomInfo2("", "图号")
blnretval = Part.DeleteCustomInfo2("", "机型")
blnretval = Part.DeleteCustomInfo2("", "数量")
blnretval = Part.DeleteCustomInfo2("", "设计")
a = InStr(c, "_") - 1 '重点:分隔标识符,这里是一个空格
If a > 0 Then
k = Left(c, a)
t = Left(LTrim(e), 3)
If t = "GBT" Then
e = "GB/T" + Mid(k, 4)
Else
e = k
End If
b = Mid(c, a + 2)
t = Right(c, 7)
If t = ".SLDPRT" Or t = ".SLDASM" Then
j = Len(b) - 7
Else
j = Len(b)
End If
m = Left(b, j)
End If
blnretval = Part.AddCustomInfo3("", "物料编码", swCustomInfoText, e) '代号
blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称
blnretval = Part.AddCustomInfo3("", "图号", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "机型", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "材料", swCustomInfoText, strmat)
blnretval = Part.AddCustomInfo3("", "重量", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "数量", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "设计", swCustomInfoText, " ")
End Sub 根据梁大提供的修改方案,已经修改好,下面放出最终版的,希望对大家有帮助。自定义属性可以自行修改,分隔符"_"可以根据自己的习惯修改为空格或这个其它符号。再次感谢梁大!
图号分离(最终版).rar (8.66 KB, 下载次数: 208)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 转播转播 分享教程|习题|模型|技巧 点赞点赞8109 拍砖拍砖484
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

12

主题

59

帖子

72

金币

天使

Rank: 2Rank: 2

积分
196
QQ
推荐
发表于 2015-7-9 18:26:25 | 只看该作者
不要动不动一副教训人的架子,多一个功能有什么不好吗,你有本事解决了,我也是佩服你的,解决不了,你看着就行
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 1 反对 0

使用道具 举报

10

主题

70

帖子

53

金币

天使

Rank: 2Rank: 2

积分
175
QQ
板凳
发表于 2015-7-9 18:19:05 | 只看该作者

   经典图书
的主要目的不是用来添加自定义属性的,是用来从文件名提取物料编码和名称的,顺便增加了可以添加其他属性的功能。其实还是有作用的,有时用了空白的模板,没有添加自定义属性,这时,就比较方便添加了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

12

主题

79

帖子

173

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
309
QQ
地板
发表于 2015-7-9 18:22:46 | 只看该作者
设置好零件模板后。。属性都可以自动出来。。。。做一个有点小题大做了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

66

帖子

103

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
237
QQ
5#
发表于 2015-7-9 18:23:09 | 只看该作者

   经典案例图书
我觉得图号和名称用这个自动分离确实不错,至于别的属性,完全可以用属性填写卡来完成,更快捷。当然也不是说楼主的做法有什么不好,毕竟有探索才有进步。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

65

帖子

109

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
247
QQ
6#
发表于 2015-7-9 18:24:10 | 只看该作者
“有时用了空白的模板”,楼主,您日常的工作是有多漫不经心?
从文件名提取名称和编码,这个用是没错的。
添加其他属性用模板可以完全解决,没有必要与扯上关系。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

20

主题

69

帖子

182

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
368
QQ
7#
发表于 2015-7-9 18:27:06 | 只看该作者

   经典案例图书
新增重量,1#原檔修改如圖示
strmass = Chr(34) + Trim("SW-Mass" + "@") + c + Chr(34) '定義重量變數(複製用的)
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

68

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
228
QQ
8#
发表于 2015-7-9 18:27:46 | 只看该作者
非常感谢royouss,论坛高手总是能真正解决问题的,万分感谢!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

18

主题

76

帖子

91

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
268
QQ
9#
发表于 2015-7-9 18:27:51 | 只看该作者
现在对我来说,很完美了。这个可以从文件名称中提取物料编码和名称分别填入自定义的属性里,并且增加其他相关属性。如图,1是运行之前,2是运行之后。
运行

运行之后
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

15

主题

73

帖子

131

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
291
QQ
10#
发表于 2015-7-9 18:29:10 | 只看该作者

   经典图书
问题解决了就OK!!!!!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

64

帖子

97

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
210
QQ
11#
发表于 2015-7-9 18:31:49 | 只看该作者
高人,你能把这些属性添加到“配置特定”选项卡里么?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

63

帖子

118

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
271
QQ
12#
发表于 2015-7-9 18:33:14 | 只看该作者
改成了分离编码和名称了,图号空出来了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

22

主题

91

帖子

207

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
383
QQ
13#
发表于 2015-7-9 18:33:31 | 只看该作者
回11#之需求   属性添加到“配置特定”
條件是依原樓主之格式
把對應的屬性欄名 " 英文名稱 " 自行修改為 " 簡體字 "


test0711 - configure specific.rar (12.67 KB, 下载次数: 266) SWP檔在2012版測試
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

69

帖子

110

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
246
QQ
14#
发表于 2015-7-9 18:41:10 | 只看该作者
谢谢梁大。正好我用的也是SW2012,我试下。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

82

帖子

61

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
222
QQ
15#
发表于 2015-7-9 18:43:33 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

梁大,我这里测试,属性是添加到了配置特定栏,但是读不出零件材质和重量。我的文件写入的代码是"SW-Material@19870105_测试用零件",没有自动添加文件后缀名。我把strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)这一行代码改成strmat = Chr(34) + Trim("SW-Material" + "@") + c + ".sldprt" + Chr(34)后就可以读取到零件材质了,不知道为何您在执行代码时不用添加 ".sldprt" 这一小段内容就能在填入属性时识别零件名后缀我的却不行?恳请指点。谢谢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

12

主题

72

帖子

125

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
292
QQ
16#
发表于 2015-7-9 18:44:12 | 只看该作者

   经典案例图书
如圖所示
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

64

帖子

140

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
286
QQ
17#
发表于 2015-7-9 18:44:18 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

找到問題點了!
須把WIN作業平台的"文件總管"里,有 "隱藏副檔名" 的設定打勾取消.
就是 隱藏了副檔名 C變數才抓不到 .SLDPRT 的副檔名.

操作如圖示
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

79

帖子

95

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
242
QQ
18#
发表于 2015-7-9 18:44:55 | 只看该作者

   经典案例图书
嗯,我估计也是这个问题。我的个人习惯是不显示已知文件的扩展名。看来只能用我修改的那个方法对付着用了。
谢谢梁大回复指点。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

134

帖子

113

金币

堂主

Rank: 4

积分
613

最佳新人活跃会员热心会员宣传达人灌水之王

19#
发表于 2017-2-8 14:39:21 | 只看该作者
上面的都用不了啊
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

134

帖子

113

金币

堂主

Rank: 4

积分
613

最佳新人活跃会员热心会员宣传达人灌水之王

20#
发表于 2017-2-10 11:20:43 | 只看该作者
试试才知道 ,2016根本用不了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-6-7 01:23 , Processed in 0.471491 second(s), 25 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表