4 Replies Latest reply on Aug 1, 2017 3:23 AM by Manikandan Babu

    Looking for API macro for Line Property change

    Meenakshi Sundar

      Hi Guys,

      I'm Just looking for API macro to change the line property. Kindly provide your suggestions.

       

      Below Program used for changing the Dimension and Note layers

       

      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 swNote As SldWorks.Note
          Dim swBal As SldWorks.BalloonStack
          Dim swBlock As SldWorks.BlockInstance
          Dim swLine As SldWorks.SketchLine
          Dim swAnnsa As Variant
         
          Set swApp = CreateObject("SldWorks.Application")
          Set swModel = swApp.ActiveDoc
          Set swDraw = swModel
         
          NumShts = swDraw.GetSheetCount
          For i = 1 To NumShts
              swDraw.SheetPrevious
          Next i
         
          For i = 1 To NumShts
              Set swView = swDraw.GetFirstView
              Set swAnnsa = swView.GetAnnotations(1)
              While Not swView Is Nothing
                  Set swDispDim = swView.GetFirstDisplayDimension5
                  While Not swDispDim Is Nothing
                      Set swAnn = swDispDim.GetAnnotation
                     
                      swAnn.Layer = ToLayer
                      Debug.Print "Layer is " & swAnn.Layer
                     
                      Set swDispDim = swDispDim.GetNext5
                  Wend
                 
                 
                  Set swNote = swView.GetFirstNote
                  While Not swNote Is Nothing
                      Set swAnn = swNote.GetAnnotation
                     
                      swAnn.Layer = ToLayer
                     
                      Set swNote = swNote.GetNext
                  Wend


                  Set swView = swView.GetNextView
              Wend
             
              swDraw.SheetNext
          Next i
      End Sub

       

      Regards,

      Sundar