14 Replies Latest reply on Mar 19, 2015 4:54 PM by Rod Paslowski

    I have a macro for changing centerline color.  I want to change it to light grey from red.  How do I do that?  current is Colorint = 255

    Rod Paslowski

      Option Explicit

       

      Dim swApp                       As SldWorks.SldWorks

      Dim swModel                     As SldWorks.ModelDoc2

      Dim swDraw                      As SldWorks.DrawingDoc

      Dim swView                      As SldWorks.View

      Dim swCenterLine                As SldWorks.CenterLine

      Dim swcentermark                As SldWorks.CenterMark

      Dim swAnn                       As SldWorks.Annotation

      Dim ColorInt                    As Integer

       

      Sub main()

       

      Set swApp = Application.SldWorks

      Set swModel = swApp.ActiveDoc

      ColorInt = 255

       

      'check to see in a drawing is open

      If swModel.GetType = swDocDRAWING Then

          'a drawing is open

          Set swDraw = swModel

          Set swView = swDraw.GetFirstView

          'Debug.Print "File = " & swModel.GetPathName

             

          'sort through all the views on this sheet

          Do While Not swView Is Nothing

         

              'Debug.Print "  View = " + swView.GetName2

             

              'find the center lines in this view and change their color

              Set swCenterLine = swView.GetFirstCenterLine

              Do While Not swCenterLine Is Nothing

                  Set swAnn = swCenterLine.GetAnnotation

                  'Debug.Print "    Name       = " & swAnn.GetName

                  'swModel.DeleteEntityName swAnn.GetName

                  'LCOLOR = swAnn.Color

                  swAnn.Color = ColorInt

                             

                  Set swCenterLine = swCenterLine.GetNext

              Loop

             

              'find the center marks in this view and change their color

              Set swcentermark = swView.GetFirstCenterMark

              Do While Not swcentermark Is Nothing

                  Set swAnn = swcentermark.GetAnnotation

                  'Debug.Print "    Name       = " & swAnn.GetName

                  'swModel.DeleteEntityName swAnn.GetName

                  'LCOLOR = swAnn.Color

                  swAnn.Color = ColorInt

                             

                  Set swcentermark = swcentermark.GetNext

              Loop

         

              Set swView = swView.GetNextView

          Loop

      Else

          'a drawing is not open

          MsgBox "This macro requires a drawing to be the active document", vbOKOnly, "ANNOTATIAN COLOR CHANGE"

       

      End If

      End Sub