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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5621|回复: 27
打印 上一主题 下一主题

请问有没有一键改图纸格式的宏

  [复制链接]

5

主题

582

帖子

201

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2689

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

跳转到指定楼层
楼主
 楼主| 发表于 2022-6-6 13:53:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
请问有没有一键改图纸格式的宏,如图片所示,一键改图纸格式宏,一键改绘图标准宏,两个宏命令

A1.png

A2.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

2

主题

103

帖子

699

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2662

最佳新人活跃会员热心会员宣传达人

推荐
发表于 2022-6-11 17:44:03 | 只看该作者
模板路径自己设置下,2018测试没有问题,感谢@yni621  的更换图层代码

替换图纸模板和格式.zip

(11.48 KB, 下载次数: 129 售价: 5 金币

SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 1 反对 0

使用道具 举报

3

主题

126

帖子

852

金币

传奇

Rank: 8Rank: 8

积分
3066

最佳新人活跃会员热心会员宣传达人

板凳
发表于 2022-6-7 08:58:57 | 只看该作者

   经典图书
顶一下!!!!!!!!!!!!!!!
SolidWorks机械工程师网
回复

使用道具 举报

4

主题

36

帖子

369

金币

堂主

Rank: 4

积分
574
QQ
地板
发表于 2022-6-7 13:20:39 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

279

帖子

3722

金币

版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
15065

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

5#
发表于 2022-6-7 15:45:31 | 只看该作者

   经典案例图书
论坛中更换图纸模板的宏有很多,可以搜索一下。大概代码如下(VB.NET)
  1. Private Sub ReplaceDrawingTemplate(ByRef swDraw As DrawingDoc, ByVal DrawingTemplateDic As Dictionary(Of Integer, String))
  2.         Dim swSheet As Sheet
  3.         Dim sheetProperties As Double()
  4.         Dim vSheetName As Object()

  5.         vSheetName = swDraw.GetSheetNames
  6.         For Each sheetName As String In vSheetName
  7.             swDraw.ActivateSheet(sheetName)
  8.             swSheet = swDraw.Sheet(sheetName)
  9.             sheetProperties = swSheet.GetProperties2
  10.             For Each temp As KeyValuePair(Of Integer, String) In DrawingTemplateDic
  11.                 If temp.Key = sheetProperties(0) Then
  12.                     swSheet.SetProperties2(sheetProperties(0), swDwgTemplates_e.swDwgTemplateCustom, sheetProperties(2), sheetProperties(3), sheetProperties(4), sheetProperties(5), sheetProperties(6), sheetProperties(7))
  13.                     swSheet.SetTemplateName(temp.Value)
  14.                     swSheet.ReloadTemplate(False)
  15.                 End If
  16.             Next
  17.         Next
  18.     End Sub
复制代码
另外有一个批量工具实现,如下图


SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

582

帖子

201

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2689

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

6#
 楼主| 发表于 2022-6-8 10:15:30 | 只看该作者
wetiuer 发表于 2022-6-7 15:45
论坛中更换图纸模板的宏有很多,可以搜索一下。大概代码如下(VB.NET)
另外有一个批量工具实现,如下图
...

感谢,批量复制有好多插件也可以,就是有时候需要单个的,一键宏命令
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

103

帖子

699

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2662

最佳新人活跃会员热心会员宣传达人

7#
发表于 2022-6-9 20:59:42 | 只看该作者

   经典案例图书
可以实现的

20220609_132309_ev-20-8.gif
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

582

帖子

201

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2689

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

8#
 楼主| 发表于 2022-6-10 16:23:10 | 只看该作者

插件在哪下载,谢谢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

103

帖子

699

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2662

最佳新人活跃会员热心会员宣传达人

9#
发表于 2022-6-10 22:43:16 | 只看该作者
wwwerzhou 发表于 2022-6-10 16:23
插件在哪下载,谢谢

插件暂时不对外开放,可以给你写个宏
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

582

帖子

201

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2689

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

10#
 楼主| 发表于 2022-6-11 08:27:54 | 只看该作者

   经典图书
心无止境 发表于 2022-6-10 22:43
插件暂时不对外开放,可以给你写个宏

感谢老师,麻烦写个宏
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

103

帖子

699

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2662

最佳新人活跃会员热心会员宣传达人

11#
发表于 2022-6-11 17:51:45 | 只看该作者
wwwerzhou 发表于 2022-6-11 08:27
感谢老师,麻烦写个宏

标准层自己也要改下或者设置成和宏里面的一样
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

28

主题

565

帖子

244

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2311

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

12#
发表于 2022-6-12 19:52:32 来自手机 | 只看该作者
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

22

主题

1819

帖子

49

金币

传奇

Rank: 8Rank: 8

积分
6919

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

13#
发表于 2022-6-12 21:02:34 | 只看该作者
很不错,找到组织了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

582

帖子

201

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2689

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

14#
 楼主| 发表于 2022-6-13 10:49:41 | 只看该作者
心无止境 发表于 2022-6-11 17:44
模板路径自己设置下,2018测试没有问题,感谢@yni621  的更换图层代码

大师你好,是不是这几个打钩的都需要更改啊?
你看看我改的对不对,还有能不能含中文字?

A1.png
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

103

帖子

699

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2662

最佳新人活跃会员热心会员宣传达人

15#
发表于 2022-6-13 13:00:16 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

wwwerzhou 发表于 2022-6-13 10:49
大师你好,是不是这几个打钩的都需要更改啊?
你看看我改的对不对,还有能不能含中文字?

是的呀,全路径就行了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

582

帖子

201

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2689

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

16#
 楼主| 发表于 2022-6-13 15:17:28 | 只看该作者

   经典案例图书
心无止境 发表于 2022-6-13 13:00
是的呀,全路径就行了

我可以看一下你的设置吗,就像我截图的那个,我设置好之后,只有图层改过来了,其他的都没变过来,不知道是不是我哪里没设置对
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

582

帖子

201

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2689

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

17#
 楼主| 发表于 2022-6-14 09:21:52 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

心无止境 发表于 2022-6-13 13:00
是的呀,全路径就行了

Const tolayer As String = "FORMAT"                     '设置到标注层
Sub main()
Dim swapp As SldWorks.SldWorks
Dim swmodel As SldWorks.ModelDoc2
Dim swdraw As SldWorks.DrawingDoc
Dim swview As SldWorks.View
Dim swann As SldWorks.Annotation
Dim swdispdim As SldWorks.DisplayDimension
Dim numshts As Long
Dim i As Long
Dim swErrors As Long
Dim swWarnings As Long
Dim boolstatus As Boolean
Dim Sheet As Object
Dim SheetPr() As Double
Dim SheetName As String
Dim StdFile As String
Set swapp = CreateObject("sldworks.application")
Set swmodel = swapp.ActiveDoc
Set swdraw = swmodel
Set Sheet = swdraw.GetCurrentSheet()
SheetPr = Sheet.GetProperties2()
SheetPr(0) = 12
SheetPr(1) = 12
If swmodel Is Nothing Then
swapp.SendMsgToUser ("当前没有任何文档打开,该程序必须在工程图中运行!")
Exit Sub
ElseIf swmodel.GetType <> 3 Then
swapp.SendMsgToUser ("当前打开的文档不是一个工程图,请打开工程图后再试!")
Exit Sub
End If
boolstatus = Sheet.SetProperties2(SheetPr(0), SheetPr(1), SheetPr(2), SheetPr(3), SheetPr(4), SheetPr(5), SheetPr(6), SheetPr(7))
StdFile = "E:\Program Files\MOBAN\GCTMB.drwdot" '双引号内填写工程图模板完整的地址及后缀.drwdot
If SheetPr(5) = 1189 / 1000 And SheetPr(6) = 841 / 1000 Then 'A0图幅
    Sheet.SetTemplateName ("")
    swdraw.Extension.LoadDraftingStandard StdFile
ElseIf SheetPr(5) = 841 / 1000 And SheetPr(6) = 594 / 1000 Then 'A1图幅
    Sheet.SetTemplateName ("")
    swdraw.Extension.LoadDraftingStandard StdFile
ElseIf SheetPr(5) = 594 / 1000 And SheetPr(6) = 420 / 1000 Then 'A2图幅
    Sheet.SetTemplateName ("")
    swdraw.Extension.LoadDraftingStandard StdFile
ElseIf SheetPr(5) = 420 / 1000 And SheetPr(6) = 297 / 1000 Then 'A3图幅
    Sheet.SetTemplateName ("")
    swdraw.Extension.LoadDraftingStandard StdFile
ElseIf SheetPr(5) = 297 / 1000 And SheetPr(6) = 210 / 1000 Then 'A4图幅
    Sheet.SetTemplateName ("E:\Program Files\MOBAN\THTK.slddrt") '双引号内填写图纸格式完整的地址及后缀.slddrt
    swdraw.Extension.LoadDraftingStandard StdFile
ElseIf SheetPr(5) = 210 / 1000 And SheetPr(6) = 297 / 1000 Then 'A4p图幅
    Sheet.SetTemplateName ("")
    swdraw.Extension.LoadDraftingStandard StdFile
End If
'更换绘图标准
boolstatus = swdraw.Extension.LoadDraftingStandard("E:\Program Files\MOBAN\GBXG.sldstd") '双引号内填写绘图标准完整的地址及后缀.sldstd
Sheet.ReloadTemplate (False) '重装图纸格式,删除原有注释
'更换图层
numshts = swdraw.GetSheetCount
For i = 1 To numshts
  swdraw.SheetPrevious
Next i
For i = 1 To numshts
  Set swview = swdraw.GetFirstView
  While Not swview Is Nothing
  Set swdispdim = swview.GetFirstDisplayDimension
  While Not swdispdim Is Nothing
  Set swann = swdispdim.GetAnnotation
  swann.Layer = tolayer
  Set swdispdim = swdispdim.GetNext3
  Wend
  Set swview = swview.GetNextView
  Wend
  swdraw.SheetNext
  Next i
boolstatus = swdraw.Save3(1, swErrors, swWarnings) '保存
swapp.SendMsgToUser ("已完成")
End Sub

SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

126

帖子

852

金币

传奇

Rank: 8Rank: 8

积分
3066

最佳新人活跃会员热心会员宣传达人

18#
发表于 2022-6-14 11:23:01 | 只看该作者

   经典案例图书
心无止境 发表于 2022-6-11 17:44
模板路径自己设置下,2018测试没有问题,感谢@yni621  的更换图层代码

感谢大神无私分享!!!!!!!!!!!!!!!!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

86

帖子

85

金币

堂主

Rank: 4

积分
826

最佳新人活跃会员热心会员宣传达人

19#
发表于 2022-9-14 09:57:07 | 只看该作者

大佬,插件能分享吗
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

103

帖子

699

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2662

最佳新人活跃会员热心会员宣传达人

20#
发表于 2022-10-14 09:14:05 | 只看该作者
duanli96 发表于 2022-9-14 09:57
大佬,插件能分享吗

不好意思,这个暂时不对外。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

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

手机版|小黑屋| GMT+8, 2025-5-22 18:32 , Processed in 0.428434 second(s), 26 queries , Memcache On.

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

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

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