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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 3404|回复: 27
打印 上一主题 下一主题

求自动将相关标注移动到指定的图层

  [复制链接]

5

主题

20

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
458

最佳新人宣传达人

跳转到指定楼层
楼主
 楼主| 发表于 2022-7-21 11:39:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
100金币
求一宏,将指定的标注内容移动到指定的图层,如:
尺寸标注——移动到——尺寸图层
符号标注,如基准符号、加工符号服、粗糙度符号、焊接符号移动到——符号图层
技术要求、材料明细表移动到——文字层


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

使用道具 举报

5

主题

20

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
458

最佳新人宣传达人

沙发
 楼主| 发表于 2022-7-22 08:48:51 | 只看该作者
有没有知道的大侠
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

9

主题

47

帖子

715

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1153
QQ
板凳
发表于 2022-7-22 19:50:09 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复

使用道具 举报

1

主题

111

帖子

67

金币

堂主

Rank: 4

积分
620

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

地板
发表于 2022-7-27 13:08:42 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复

使用道具 举报

5

主题

20

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
458

最佳新人宣传达人

5#
 楼主| 发表于 2022-8-2 10:24:07 | 只看该作者

   经典案例图书
顶一下,坐等高手!
SolidWorks机械工程师网
回复

使用道具 举报

10

主题

1358

帖子

2970

金币

实习版主

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

积分
9333

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

6#
发表于 2022-8-3 11:05:30 | 只看该作者
SolidWorks机械工程师网,顶一下。
SolidWorks机械工程师网
回复

使用道具 举报

37

主题

990

帖子

1万

金币

版主

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

积分
19509

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

7#
发表于 2022-8-26 09:00:23 | 只看该作者

   经典案例图书
还有需求么?有的话帮你弄一个
SolidWorks机械工程师网
回复

使用道具 举报

5

主题

131

帖子

95

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1964

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

8#
发表于 2022-8-26 13:37:29 | 只看该作者
Allate 发表于 2022-8-26 09:00
还有需求么?有的话帮你弄一个

有有有
SolidWorks机械工程师网
回复

使用道具 举报

5

主题

20

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
458

最佳新人宣传达人

9#
 楼主| 发表于 2022-8-26 18:40:39 | 只看该作者
Allate 发表于 2022-8-26 09:00
还有需求么?有的话帮你弄一个

感谢,不需要了。我抽空把好的发上来
SolidWorks机械工程师网
回复

使用道具 举报

5

主题

20

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
458

最佳新人宣传达人

10#
 楼主| 发表于 2022-8-26 18:42:02 | 只看该作者
Allate 发表于 2022-8-26 09:00
还有需求么?有的话帮你弄一个

请教一下,下面两句该如何写?谢谢!
选取顶层的装配体,
选择所有隐藏的零部件(相当于过滤选择中的“选取隐藏”命令,就是选择打开的装配体中所有的、不管所在子装配体层级的被隐藏的零部件)


SolidWorks机械工程师网
回复

使用道具 举报

0

主题

54

帖子

51

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
291

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

11#
发表于 2022-8-27 15:58:19 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复

使用道具 举报

5

主题

20

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
458

最佳新人宣传达人

12#
 楼主| 发表于 2022-8-29 14:11:58 | 只看该作者
下载后把文件后缀.rar改为.swp即可,solidworks 2019,不知道低版本能否打开,我把代码也贴上来。

注:此非本人所能,乃高手随手所做。谢谢帮助!



Const toLayer1 As String = "尺寸标注"
Const toLayer2 As String = "中心线"
Const toLayer3 As String = "文字"
Const toLayer4 As String = "符号"


Sub main()
  Dim swApp As SldWorks.SldWorks
  Dim swModel As SldWorks.ModelDoc2
  Dim LyrMgr As LayerMgr
  Dim Layer As Variant
  Dim swDraw As SldWorks.DrawingDoc
  Dim swView As SldWorks.View
  Dim swAnn As SldWorks.Annotation
  Dim swDispDim As SldWorks.DisplayDimension
  Dim swCenterLine As SldWorks.Centerline
  Dim swCtrMark As SldWorks.CenterMark
  Dim swNote As SldWorks.Note
  Dim swWeldSymbol As SldWorks.WeldSymbol
  Dim swSFSymbol As SldWorks.SFSymbol
  Dim swAnnDatumTag As SldWorks.DatumTag
  Dim swAnnDatumTargetSym As SldWorks.DatumTargetSym

  Dim numshts As Long
  Dim i As Long
  Dim SheetName() As String
  Set swApp = CreateObject("sldworks.Application")
  Set swModel = swApp.ActiveDoc
  Set LyrMgr = swModel.GetLayerManager
  Set swDraw = swModel
  
  LyrMgr.DeleteLayer ("尺寸标注")
  Layer = LyrMgr.AddLayer("尺寸标注", "尺寸标注", RGB(0, 128, 0), 0, 0) '指定顏色
  LyrMgr.DeleteLayer ("中心线")
  Layer = LyrMgr.AddLayer("中心线", "中心线", 255, 2, 0) '指定顏色
  LyrMgr.DeleteLayer ("文字")
  Layer = LyrMgr.AddLayer("文字", "文字", RGB(0, 0, 0), 0, 0) '指定顏色
  LyrMgr.DeleteLayer ("符号")
  Layer = LyrMgr.AddLayer("符号", "符号", RGB(0, 0, 0), 0, 0) '指定顏色

   
  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.Color = -1
            swAnn.Layer = toLayer1
            Set swDispDim = swDispDim.GetNext3
        Wend
        
        Set swCtrMark = swView.GetFirstCenterMark
        While Not swCtrMark Is Nothing
            Set swAnn = swCtrMark.GetAnnotation
            swAnn.Color = -1
            swAnn.Layer = toLayer2
            Set swCtrMark = swCtrMark.GetNext
        Wend
        
        Set swCenterLine = swView.GetFirstCenterLine
        While Not swCenterLine Is Nothing
            Set swAnn = swCenterLine.GetAnnotation
            swAnn.Color = -1
            swAnn.Layer = toLayer2
            Set swCenterLine = swCenterLine.GetNext
        Wend
        
        Set swNote = swView.GetFirstNote
        While Not swNote Is Nothing
            Set swAnn = swNote.GetAnnotation
            swAnn.Color = -1
            swAnn.Layer = toLayer3
            Set swNote = swNote.GetNext
        Wend

       Set swWeldSymbol = swView.GetFirstWeldSymbol
        While Not swWeldSymbol Is Nothing
            Set swAnn = swWeldSymbol.GetAnnotation
            swAnn.Color = -1
            swAnn.Layer = toLayer4
            Set swWeldSymbol = swWeldSymbol.GetNext
        Wend


        Set swSFSymbol = swView.GetFirstSFSymbol
        While Not swSFSymbol Is Nothing
            Set swAnn = swSFSymbol.GetAnnotation
            swAnn.Color = -1
            swAnn.Layer = toLayer4
            Set swSFSymbol = swSFSymbol.GetNext
        Wend
        
       Set swAnnDatumTag = swView.GetFirstDatumTag
        While Not swAnnDatumTag Is Nothing
            Set swAnn = swAnnDatumTag.GetAnnotation
            swAnn.Color = -1
            swAnn.Layer = toLayer4
            Set swAnnDatumTag = swAnnDatumTag.GetNext
        Wend
        
        
      Set swAnnDatumTargetSym = swView.GetFirstDatumTargetSym
        While Not swAnnDatumTargetSym Is Nothing
            Set swAnn = swAnnDatumTargetSym.GetAnnotation
            swAnn.Color = -1
            swAnn.Layer = toLayer4
            Set swAnnDatumTargetSym = swAnnDatumTargetSym.GetNext
        Wend
               


     
        Set swView = swView.GetNextView
    Wend
    swDraw.SheetNext
    Dim swLayerMgr As Object
    Dim swLayer As Object
    Set swLayerMgr = swModel.GetLayerManager
    swLayerMgr.SetCurrentLayer ("")
  Next i
  SheetName = swDraw.GetSheetNames
  swDraw.ActivateSheet SheetName(0)
End Sub





AutoLayer.rar

(53 KB, 下载次数: 163

SolidWorks机械工程师网
回复

使用道具 举报

37

主题

990

帖子

1万

金币

版主

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

积分
19509

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

13#
发表于 2022-8-30 13:29:27 | 只看该作者
arter_2006 发表于 2022-8-26 18:42
请教一下,下面两句该如何写?谢谢!
选取顶层的装配体,
选择所有隐藏的零部件(相当于过滤选择中的“ ...

选取顶层的装配体这是有什么操作呢?估计是要用到GetRootComponent吧。

选择隐藏的零部件,这个可以先获取所有的零部件,然后使用循环判断每个零部件的状态,然后把状态是隐藏的选择起来就好。
SolidWorks机械工程师网
回复

使用道具 举报

5

主题

20

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
458

最佳新人宣传达人

14#
 楼主| 发表于 2022-8-31 08:43:33 | 只看该作者
Allate 发表于 2022-8-30 13:29
选取顶层的装配体这是有什么操作呢?估计是要用到GetRootComponent吧。

选择隐藏的零部件,这个可以先 ...

感谢指点!
SolidWorks机械工程师网
回复

使用道具 举报

0

主题

51

帖子

79

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
331

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

15#
发表于 2022-9-21 19:31:00 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

楼主很专业,写得很好!
SolidWorks机械工程师网
回复

使用道具 举报

0

主题

125

帖子

256

金币

堂主

Rank: 4

积分
524

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

16#
发表于 2023-3-10 15:32:39 | 只看该作者

   经典案例图书
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复

使用道具 举报

0

主题

22

帖子

2

金币

天使

Rank: 2Rank: 2

积分
94

最佳新人

17#
发表于 2023-10-4 08:15:02 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

下载失败~~~~
SolidWorks机械工程师网
回复

使用道具 举报

3

主题

1118

帖子

219

金币

传奇

Rank: 8Rank: 8

积分
3742

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

18#
发表于 2023-10-4 19:47:15 | 只看该作者

   经典案例图书
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复

使用道具 举报

1

主题

566

帖子

48

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1592

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

19#
发表于 2023-11-15 19:43:24 | 只看该作者
楼主太有才了,膜拜中……
SolidWorks机械工程师网
回复

使用道具 举报

10

主题

1358

帖子

2970

金币

实习版主

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

积分
9333

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

20#
发表于 2023-11-23 10:58:54 | 只看该作者
SW机械工程师网,找到组织了!
SolidWorks机械工程师网
回复

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-4-27 11:54 , Processed in 0.214052 second(s), 35 queries .

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

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

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