4 Replies Latest reply on Mar 14, 2014 6:58 PM by Scott McFadden

    Is it possible to link revisions to a drawing from a part?

    Brandon Stephan

      I am attempting to redraw several dozen drawings to have a more presentable bank of drawings. I am trying to incorperate a macro to redraw all of the configurations and have it place them in the appropriate views. I'm also trying to link revisions from the part to the drawing files so when a new revision is added to a part, it will automatically insert the revision into the drawings. This would save a lot of time opening and adding a single revision to several dozen drawings is time consuming. If you have any suggestions with either the macro or simply adding the revisions, I would appreciate it. Also if I could incorperate the dimensions properly into each drawing. I also don't want it to create and save each drawing back to back. I would like to look at each one as it is drawn and I decide to save and move on to the next. I'm not very good at writing code.


      I've managed to correct some of the minor errors but I am not experienced enough with macros.

      This is the macro I'm trying to work with:





      Dim swApp As SldWorks.SldWorks
      Dim swModel As SldWorks.ModelDoc2
      Dim swDraw As SldWorks.DrawingDoc


      Dim vConfs As Variant
      Dim i As Integer


      Dim sDrTemplate As String
      Dim lDrSize As Long


      Const sOutputFolder As String = "E:\Drawings\"


      Sub main()
          Set swApp = Application.SldWorks
          Set swModel = swApp.ActiveDoc
          sDrTemplate = swApp.GetUserPreferenceStringValue(swUserPreferenceStringValue_e.swDefaultTemplateDrawing)
          lDrSize = swDwgPaperSizes_e.swDwgPaperA0size
          vConfs = swModel.GetConfigurationNames()
          For i = 0 To UBound(vConfs)
              Set swDraw = swApp.NewDocument(sDrTemplate, lDrSize, 0, 0)
              swDraw.Create1stAngleViews2 swModel.GetPathName
              Dim swView As SldWorks.View
              Set swView = swDraw.GetFirstView
              While Not swView Is Nothing
                  swView.ReferencedConfiguration = vConfs(i)
                  Set swView = swView.GetNextView
              Dim swDrawModel As SldWorks.ModelDoc2
              Set swDrawModel = swDraw
              swDrawModel.ForceRebuild3 False
              swDraw.InsertModelAnnotations3 swImportModelItemsSource_e.swImportModelItemsFromEntireModel, 32776, True, True, False, False
              swDrawModel.Extension.SaveAs sOutputFolder + swModel.GetTitle() + "_" + vConfs(i) + ".slddrw", swSaveAsVersion_e.swSaveAsCurrentVersion, swSaveAsOptions_e.swSaveAsOptions_Silent, Nothing, 0, 0
              swApp.CloseDoc swDrawModel.GetTitle()
      End Sub