iCAx开思网

标题: 【宏】宏的自动更新(常驻宏的应用) [打印本页]

作者: 楠柠檬、    时间: 2016-1-29 13:09
标题: 【宏】宏的自动更新(常驻宏的应用)
本帖最后由 楠柠檬、 于 2016-5-1 15:48 编辑

旧帖删除,我重新修改下帖子,让大家“知其然,更知其所以然”~~嘿嘿首先,贴上闷大常驻宏镇贴:
https://www.icax.org/thread-911488-1-2.html



常驻宏的运行基础是“切窗”更新,我开始觉得切窗太麻烦,感觉没啥实际用处,不如“重建”
后来我才知道,“切窗”可比“重建”实用多了,特别是分离宏、总重宏这类需要在工程图里更新的宏。
而且,分离宏启动以后,经常不好使,动不动就链接不上了,有了常驻宏,妈妈再也不用担心我工程图没图号了~~~




1、编辑常驻宏[attach]1230252[/attach]常驻宏内类模块里的 类1,(这是我的常驻宏,我让常驻宏同时让两个宏自动设变)
下载我这个宏,经过蛋蛋改的[attach]1230256[/attach]

蓝色部分第一个引号里,填写路径名称;
蓝色部分第二个引号里,填写模块名称;
路径名称很简单喽,就是宏文件所在的路径,宏文件的名称必须带上后缀(.swp)
至于模块名称,这个你得打开宏文件,看看这里:
[attach]1230255[/attach],看见 “模块”俩中文了没??
要把他下面的名字,例如“图号分离_宏1”填到第二个引号里(蛋蛋教我的)
好了,确认路径、文件名、模块名无误后,就可以保存关闭常驻宏了





2、让常驻宏跟随软件启动,以免开启了软件忘记开启常驻宏,导致数据不更新,致使工程出错(这个后果是不是很严重。。。)
步骤:右键桌面sw图标,属性,看图说话
[attach]1230257[/attach]
看见“目标”这俩字了没??
后面对话框里填写:D:\SW2014\SolidWorks\SLDWORKS.exe /m "C:\Macros\AutoRunzz.swp"
就是:solidworks启动程序的路径+空格+/m+空格+常驻宏的文件位置
空格不能少啊,少了就不对了。。。
如果“目标”后面的对话框是灰的,不可编辑,那就把桌面上的快捷方式删掉,从sw安装路径里复制一个出来。
设置好以后,点确定就可以喽~~~



3、设置多个宏一起自动更新?
[attach]1230252[/attach]
按照图片的样子做就可以了~~~复制蓝色的语句,然后参照第一条哦~~




4、常驻宏可能会有的问题?
在工程图里使用“相对于模型”命令时,有时候所选的实体视图可能出不来,除了这个问题暂时好像没发现啥问题。
再有问题也是总重宏或者图号宏有问题,还可能是图纸模板对应的格式有问题。。。
总重宏的问题参考这个帖子:https://www.icax.org/thread-959461-1-1.html


如果有问题就再回帖,我会一一回复的~~~~

在此附上图号分离宏:[attach]1233382[/attach]







作者: 莱虫    时间: 2016-1-29 14:31
看來腩大學習了專門店輔導長茱蒂的“只提供不解釋”的偉大指導思想。

還用了“大紅字”寫出免責條款,高舉事不關己,另有他人始作俑者的。
作者: 楠柠檬、    时间: 2016-1-29 14:50
莱虫 发表于 2016-1-29 14:31
看來腩大學習了專門店輔導長茱蒂的“只提供不解釋”的偉大指導思想。

還用了“大紅字”寫出免責條款,高 ...

莱大指责的是。。。。闷大的宏我也不敢解释什么,方法也是蛋蛋给我的,我也不好现学现卖。。。

我会抽时间把帖子弄得详细些,让人“知其然,更知其所以然”


还有,莱大为啥知道我跟朱迪认识。。。


作者: qiminger    时间: 2016-1-29 18:26
谢谢楠柠檬分享~~谢谢闷人和阿丹好方法~~
作者: wxg263    时间: 2016-1-29 18:57
多谢分享 谢谢闷人和阿丹好方法~~
作者: 莱虫    时间: 2016-1-29 19:48
樓上幾位都誤會啦,腩大所指的『蛋蛋』,是jack,不是dan。

另外,樓主還不明白俺的意思,別使用血紅大字,這是不禮貌的。

其實應該跟帖討論,要是開新帖引人注目,也應該提供鏈接吧:
https://www.icax.org/thread-911488-1-1.html
作者: qxzch    时间: 2016-1-29 20:52
谢谢分享!
作者: 楠柠檬、    时间: 2016-1-30 07:23
莱虫 发表于 2016-1-29 19:48
樓上幾位都誤會啦,腩大所指的『蛋蛋』,是jack,不是dan。

另外,樓主還不明白俺的意思,別使用血紅大 ...

哦哦,是这样啊,我明白了~~~

作者: 口风琴    时间: 2016-1-30 17:39
感谢楠,谢谢闷大,谢谢蛋蛋,今天上午还准备发帖常驻宏怎么弄,下午打开论坛就找到了想要的,看来这是一种默契
作者: 口风琴    时间: 2016-1-30 17:48
楠大,弱弱的问一下,如果想把触发方式改为关闭窗口如何修改
作者: 楠柠檬、    时间: 2016-1-31 07:44
口风琴 发表于 2016-1-30 17:48
楠大,弱弱的问一下,如果想把触发方式改为关闭窗口如何修改

你得找闷大改改,据蛋蛋说,常驻宏是基于切窗而来的,如果更换设变模式无异于让他脱胎换骨。。,
还有,总重和图号这两个属性是需要时刻保持更新的,几时图号宏一次执行就可以,但是在工程图里没有自动更新有时候还是识别不上
关闭窗口更新,更新一次得关一下窗口,这不累嘛。。。

作者: 龙之梦_4506    时间: 2016-1-31 10:25
2012版本 不能用  不是有效路径   ??
作者: 莱虫    时间: 2016-1-31 12:02
解鈴還須繫鈴人,得到漁具還需魚。
作者: 口风琴    时间: 2016-1-31 13:28
楠柠檬、 发表于 2016-1-31 07:44
你得找闷大改改,据蛋蛋说,常驻宏是基于切窗而来的,如果更换设变模式无异于让他脱胎换骨。。,
还有, ...

关闭运行的目的是只有最后保存该零件时才运行,不然中间可能修改很多次,切换窗口很多次,那么运行这么多次只是一次次覆盖同一内容,这些多余的动作变得没有意义,窗口切换应该是触发该宏的一个条件,但不应该是唯一条件,这个还希望闷大能给予帮助
另外,按照楼主的方法试过,运行sw后的确是自动运行了常驻宏,不知是我设置的原因还是什么原因,每隔一两秒鼠标等待一次,应该是常驻宏在反复运行吧,这对于有严重强迫症的我来说真是要命啊,如何正确设置不知能否帮忙解答

[size=15.1999998092651px]每隔一两秒鼠标等待一次,详见视频地址

作者: 楠柠檬、    时间: 2016-1-31 20:29
口风琴 发表于 2016-1-31 13:28
关闭运行的目的是只有最后保存该零件时才运行,不然中间可能修改很多次,切换窗口很多次,那么运行这么多 ...

把这个宏用在实际上你才能知道切换窗口更新这个思路是有多实用
至于卡顿问题,可能是因为总重宏在作怪。

作者: tmyjsb    时间: 2016-1-31 22:14
谢谢,下载试一试,sw2016能行吗
作者: tmyjsb    时间: 2016-1-31 23:18
有用过的吗,不能自动运行啊,
作者: tmyjsb    时间: 2016-1-31 23:47
单独运行每个宏可以,但就不能自动运行
作者: 楠柠檬、    时间: 2016-2-2 12:58
莱虫 发表于 2016-1-29 14:31
看來腩大學習了專門店輔導長茱蒂的“只提供不解釋”的偉大指導思想。

還用了“大紅字”寫出免責條款,高 ...

莱大,小弟已修改了帖子内容,您看看那里又不合适的地方~~~~

作者: 13993359550    时间: 2016-2-8 11:51
谢谢分享
作者: hheyafu    时间: 2016-3-4 14:03
向高手学习学习

作者: jin198250    时间: 2016-3-7 13:08
感谢分享~!
作者: ChenMuYu    时间: 2016-3-12 20:42
看看楠兄的教程,学习一下。

作者: 懒懒的天    时间: 2016-3-14 08:26
看起来很高深的样子啊,学习一下
作者: pzhzshun    时间: 2016-3-15 16:23
这个好,收藏学习了!
作者: 极2012    时间: 2016-3-18 09:44
常驻宏的启动是根据什么,保存??新建??
作者: zdjdj520    时间: 2016-3-26 21:41
可以下载吗?我想下载

作者: yx1991    时间: 2016-3-27 00:02
看看,学习一下啊很重要


作者: 楠柠檬、    时间: 2016-3-27 08:28
极2012 发表于 2016-3-18 09:44
常驻宏的启动是根据什么,保存??新建??

切窗               

作者: 开米    时间: 2016-3-27 09:27
谢谢楼主,先下载用用!
作者: jch2005    时间: 2016-4-26 20:14
谢谢楼主分享。。。很需要。。
不知道为什么,我的目标后面都是灰色,
按你的方法从文件夹中复制出来也是的,,
找个好几个电脑的都是灰色。。请问下
什么原因,谢谢

[attach]1233187[/attach]

作者: 楠柠檬、    时间: 2016-4-26 20:45
jch2005 发表于 2016-4-26 20:14
谢谢楼主分享。。。很需要。。
不知道为什么,我的目标后面都是灰色,
按你的方法从文件夹中复制出来也是 ...

把这个快捷方式删掉,然后从安装目录里做一个快捷方式出来,这样就可以了

作者: jch2005    时间: 2016-4-26 21:26
楠柠檬、 发表于 2016-4-26 20:45
把这个快捷方式删掉,然后从安装目录里做一个快捷方式出来,这样就可以了[/back ...

做一个快捷方式,请问是按下面方法做吗?
[attach]1233188[/attach]

https://www.icax.org/thread-911488-4-2.html

作者: jch2005    时间: 2016-4-26 21:31
且打开你上传的宏程序,,怎么只有下面以点点,,
[attach]1233189[/attach]





作者: jch2005    时间: 2016-4-26 21:32
并没有你所讲的下面蓝色部分,,,请问是什么原因,,谢谢
[attach]1233190[/attach]

作者: jch2005    时间: 2016-4-26 22:31
打开方式已解决,不是复制,复制出来的快捷方式也是灰色的,而是用发送到桌面上。可又有个下面问题来了,因不懂宏,请多多指点下
[attach]1233191[/attach]

作者: jch2005    时间: 2016-4-26 22:33
宏文件内容完全是照着你贴的图片复制的,有一行红色,请指点下,谢谢[attach]1233192[/attach]

作者: jch2005    时间: 2016-4-26 23:12
按下面方法,把下面的复制到宏文件中

寫多一個宏, 讓SW在每次切換文件時都自動執行指定的宏, 那就可以避免忘記按動按鈕.

1.
在C:盤建立"Macros"的文件夾, 並複制宏"partitionTM.swp"於其中.

2.
新建一個宏, 儲存到"C:\Macros\AutoRun.swp"
把以下代碼完全取代模塊的內容:
Public AutoRun As 类1
Sub main()
Set AutoRun = New 类1
End Sub
再插入"類模塊", 名稱為"类1", 內容如下:
Private WithEvents SwApp As SldWorks.SldWorks
Private Sub Class_Initialize()
Set SwApp = Application.SldWorks
End Sub
Private Function SwApp_ActiveModelDocChangeNotify() As Long
Dim runMacroError As Long
SwApp.RunMacro2 "C:\Macros\partitionTM.swp", "partitionTM1", "main", 0, runMacroError
End Function
儲存宏及關閉SW.


出自   https://www.icax.org/thread-911488-2-2.html

出现下面一行红色的字体,

[attach]1233195[/attach]


把红色的两行删掉保存后,,可以正常打开软件且不报错,
但在零件改名后,再打开工程图又弹出下面对话框

[attach]1233197[/attach]



作者: jch2005    时间: 2016-4-27 00:37
我使用的图号分离宏宏程序是下面这个

[attach]1233198[/attach]

https://www.3dportal.cn/discuz/forum.php?mod=viewthread&tid=1468531&extra=&highlight=%CD%BC%BA%C5&page=1

作者: siwwe    时间: 2016-4-29 09:43
不能下载啊
作者: siwwe    时间: 2016-4-29 10:10
修改目标名称时,出现指定的名称无效。
作者: eastking1111    时间: 2016-4-29 11:29
成功制作完成,中间一直不成功,还以为宏弄错了,后来看帖子才知道需要切窗,现在圆满成功!!
能否不切窗就自动搞定的?比如按下保存就自动运行一次?
作者: eastking1111    时间: 2016-4-29 11:32
jch2005 发表于 2016-4-27 00:37
我使用的图号分离宏宏程序是下面这个

你仔细看,别个弄的类模块,你弄的模块!!!就是这么简单。
作者: qxzch    时间: 2016-4-29 17:34
按楼主的方法,成功应用
作者: eastking1111    时间: 2016-4-29 20:15
今天多长测试发现,只能在焊接件的时候两个自动运行,正常使用!!
如果单纯零件,就一直没反应。能否改改?
作者: 楠柠檬、    时间: 2016-4-29 21:54
eastking1111 发表于 2016-4-29 11:29
成功制作完成,中间一直不成功,还以为宏弄错了,后来看帖子才知道需要切窗,现在圆满成功!!
能否不切窗 ...

比起按下保存,还是切窗更方便,真的。。。。。

作者: 楠柠檬、    时间: 2016-4-29 21:55
eastking1111 发表于 2016-4-29 20:15
今天多长测试发现,只能在焊接件的时候两个自动运行,正常使用!!
如果单纯零件,就一直没反应。能否改改 ...

零件下没有焊件特征就会导致总重宏出错

作者: 楠柠檬、    时间: 2016-4-29 21:57
eastking1111 发表于 2016-4-29 20:15
今天多长测试发现,只能在焊接件的时候两个自动运行,正常使用!!
如果单纯零件,就一直没反应。能否改改 ...

图号分离宏的格式为,图号+空格+名称,你是不是少大空格了

作者: jch2005    时间: 2016-4-30 01:19
谢谢各位的指点,,报错问题已解决,原来是没找到模块与类模块。。可不知道为什么修改零件的名称与代号后,,打开工程图,图纸上的名称与代号还
是没有更新,,需要手动点击图号分离宏工具才会更新。
下面是我用的图号分离宏及自己修改楼主的宏文件,,
图档命名的格式是:“零件名称+空格+代号”,如”底座 1604300118“

图号分离宏文件

[attach]1233355[/attach]

修改楼主的常驻宏文件

[attach]1233356[/attach]

各位帮看看是什么原因,,谢谢。。

作者: jch2005    时间: 2016-4-30 01:21
宏文件都放在目录“D:\SolidWorks”下。。
作者: 楠柠檬、    时间: 2016-4-30 07:57
jch2005 发表于 2016-4-30 01:21
宏文件都放在目录“D:\SolidWorks”下。。

切窗更新啊。。。

作者: jch2005    时间: 2016-5-1 01:56
切窗时弹出下面报警,
[attach]1233377[/attach]

点击调试弹出下面窗口,,

[attach]1233378[/attach]

两个宏程序都上传50楼,帮看看,,谢谢

作者: zsega    时间: 2016-5-1 10:15
學習學習,感謝

作者: 楠柠檬、    时间: 2016-5-1 14:44
jch2005 发表于 2016-5-1 01:56
切窗时弹出下面报警,

你这是重命名宏有问题,具体啥问题我也说不上来,你为啥不用我提供的宏试试呢
作者: jch2005    时间: 2016-5-1 15:25
楠柠檬、 发表于 2016-5-1 14:44
你这是重命名宏有问题,具体啥问题我也说不上来,你为啥不用我提供的宏试试呢

哦,,你上传的图号分离宏在什么地方,,能否贴个链接,,,谢谢
作者: 楠柠檬、    时间: 2016-5-1 15:49
jch2005 发表于 2016-5-1 15:25
哦,,你上传的图号分离宏在什么地方,,能否贴个链接,,,谢谢

哦,原来我没贴图号分离宏啊。。。。

现在已经贴上了,在文章的最下面


作者: jch2005    时间: 2016-5-1 20:53
楠柠檬、 发表于 2016-5-1 15:49
哦,原来我没贴图号分离宏啊。。。。

现在已经贴上了,在文章的最下面

感谢,,下下来试试。。。

作者: jch2005    时间: 2016-5-1 22:43
非常感谢,,,一切都OK
作者: 楠柠檬、    时间: 2016-5-1 22:57
jch2005 发表于 2016-5-1 22:43
非常感谢,,,一切都OK

客气了

作者: ac250626    时间: 2016-5-2 13:23
jch2005 发表于 2016-4-30 01:19
谢谢各位的指点,,报错问题已解决,原来是没找到模块与类模块。。可不知道为什么修改零件的名称与代号后, ...

楼主你能不能给我改成代号为:RF10-05-04-05    名称为:焊接块

作者: 楠柠檬、    时间: 2016-5-2 15:39
ac250626 发表于 2016-5-2 13:23
楼主你能不能给我改成代号为:RF10-05-04-05    名称为:焊接块

啥意思,没看懂

作者: jch2005    时间: 2016-5-2 22:14
ac250626 发表于 2016-5-2 13:23
楼主你能不能给我改成代号为:RF10-05-04-05    名称为:焊接块

零件名称与图号的链接位置是由你自己在工程图模板中设置链接属性的位置有关,,只要你零件取名的格式是“XXXX加空格加XXXXX"
只要有空格,零件名称与图号是随便你自己的调换的。。。

作者: jch2005    时间: 2016-5-4 22:44
楼主,用你的图号分离宏工具,,分离的名称与图号是填在自定义属性中,且把档案的
后缀名也读取了 ,,有没有办法不读取后面名,且是配置属性中。。
作者: 楠柠檬、    时间: 2016-5-5 19:13
jch2005 发表于 2016-5-4 22:44
楼主,用你的图号分离宏工具,,分离的名称与图号是填在自定义属性中,且把档案的
后缀名也读取了 ,,有 ...

后缀名没有读取吧?

作者: 83038113    时间: 2016-5-12 11:41
没有贡献 下载不来

作者: 83038113    时间: 2016-5-12 11:43
..................

作者: hailuohaili    时间: 2016-9-22 16:37
多谢多谢!
作者: hailuohaili    时间: 2016-9-22 17:22
能用了,能用。。。。
谢谢谢谢
作者: fanhesong586    时间: 2016-10-13 09:04
谢谢分享
作者: xinyc1025    时间: 2016-10-18 14:29
感谢大神,我再研究研究,。
作者: foxzxm    时间: 2016-11-30 23:05
本帖最后由 foxzxm 于 2016-11-30 23:06 编辑

打开零件图时没有什么问题,但打开工程图时报错!求解决办法?
file:///C:/Users/Administrator/Pictures/打开工程图时报错.jpg
作者: 楠柠檬、    时间: 2016-12-10 21:57
foxzxm 发表于 2016-11-30 23:05
打开零件图时没有什么问题,但打开工程图时报错!求解决办法?

可能还是宏没设置好,你把设置宏的截图发上来看看

作者: 游离ya    时间: 2017-1-7 10:39
在Win10系统下单独每个宏运行没问题,但是自动运行还是不得行!
作者: 楠柠檬、    时间: 2017-1-7 19:12
游离ya 发表于 2017-1-7 10:39
在Win10系统下单独每个宏运行没问题,但是自动运行还是不得行!

自动更新需要先开启常驻宏才能实现时时更新
作者: wangbaijun1980    时间: 2017-1-14 19:03
这两天找图,号分离,头都大了
谢谢分享
作者: 楠柠檬、    时间: 2017-1-15 08:23
wangbaijun1980 发表于 2017-1-14 19:03
这两天找图,号分离,头都大了
谢谢分享

这位朋友,这还不是图号分离的帖子,这是实现图号自动分离的帖子~~

作者: 游离ya    时间: 2017-1-16 21:44
楠柠檬、 发表于 2017-1-15 08:23
这位朋友,这还不是图号分离的帖子,这是实现图号自动分离的帖子~~

经过指导,现已实现自动更新。

作者: xk15c    时间: 2017-4-21 23:15
至今为止还是没成功
作者: 幻想柏拉图    时间: 2017-6-12 20:01
哥们可以问你一下 SolidWorks里零件里的自定义材料,在宏里面怎么应用 地址是什么啊?

作者: sxl_sxl    时间: 2017-7-17 11:17
jch2005 发表于 2016-4-27 00:37
我使用的图号分离宏宏程序是下面这个

你好,你用的这个分离宏能实现常驻吗?我这里老是报跟你一样的错误,不知道你找到原因没有

作者: sxl_sxl    时间: 2017-7-17 11:17
jch2005 发表于 2016-5-1 01:56
切窗时弹出下面报警,

跟你报一样的错,不知道你解决没有

作者: TeAmo870529    时间: 2017-7-18 09:19
真是大神 有点看不懂
作者: njvtc502    时间: 2017-8-10 00:47
谢谢   看看了哈哈
作者: njvtc502    时间: 2017-8-10 00:49
应该是不错的东西
作者: wwwerzhou    时间: 2017-9-2 14:31
非常感谢楼主~~~
作者: chaomogu    时间: 2018-1-27 22:51
这几天才明白常驻宏是什么。。。之前都没懂
作者: 13993359550    时间: 2018-1-28 10:26
楼主大人,新建或者打开时会跳出这个


作者: ily25198    时间: 2018-2-22 12:54
这个直接把你想作为常驻宏的,比如:图名图号分离swp,直接写在执行的后面这个方法可行吗?

作者: a8012024    时间: 2018-2-23 06:44
感谢分享,
作者: qiuliejin    时间: 2018-2-27 11:50
好贴,顶起来,标记一下
作者: 114669338    时间: 2018-4-9 23:01
多谢楼主热心分享
作者: a8012024    时间: 2018-4-11 06:18
感谢分享~~
作者: 坐井关天    时间: 2018-4-28 11:54
感谢楠大,自动计算总重宏已经学会了,如果上线了请通过好友,还有焊件的问题想要请教你,或者QQ731970815
作者: 332321665    时间: 2018-7-30 15:34
谢谢分享。。。。。。。。。。。。。
作者: jjmj77011    时间: 2018-10-19 19:37
试了一下,感觉方便好多了

作者: zhchn    时间: 2018-10-20 09:25
这个宏是用来做什么的呀
作者: wbfu168    时间: 2018-11-16 23:41
本帖最后由 wbfu168 于 2018-11-16 23:43 编辑

楼主您好!
我按照你的操作折腾到半夜还没搞定是什么原因,上图帮我看看,谢谢!

作者: hh4984    时间: 2018-11-17 17:02
学习!!!!!!!!!!!!!!!!
作者: 楠柠檬、    时间: 2018-12-20 19:47
wbfu168 发表于 2018-11-16 23:41
楼主您好!
我按照你的操作折腾到半夜还没搞定是什么原因,上图帮我看看,谢谢!

图号分离宏你启用了嘛

作者: 楠柠檬、    时间: 2018-12-20 20:38
本帖最后由 楠柠檬、 于 2018-12-20 20:40 编辑

2018.12.20,换了电脑(WIN10)我又按照我帖子的方法试了一下好像常驻宏没办法成功,研究了一阵子发现是如下问题导致:

快捷方式的“目标”路径设置有问题:
我之前的版本路径为:E:\solidworks2017 SP1\SOLIDWORKS\SLDWORKS.exe /m "E:\solidworks2017 SP1\Macro\AutoRun.swp"
正确的路径应为为:"E:\solidworks2017 SP1\SOLIDWORKS\SLDWORKS.exe" /m "E:\solidworks2017 SP1\Macro\AutoRun.swp"


原来我所说的,solidwroks 路径没有引号,后来加上英文引号就好了。
原版本以WIN7为基础,不知道是我之前帖子讲错了还是因为WIN10的原因,总之,请各位知悉。









欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3