6 Replies Latest reply on Nov 13, 2017 11:25 AM by Gregory Oundjian

    Assembly component's state won't update with excel vba macro

    Gregory Oundjian



      I would like to control dimensions, configurations and state of components of an assembly by means of an excel macro. I am starting slowly with a basic assembly with only 2 components (square and triangle). So far, I managed to control the dimensions and configurations of the components. However, I am stuck on the state changes. It seems that no mater what command I use, it ONLY suppresses the components. I can never resolve the components... Anybody can help me with this? I am quite new to excel vba macro programming for SW...


      Here is my code:


      Sub Button1_Click()


      Dim swApp As SldWorks.SldWorks

      Dim Part As Object

      Dim swComp As SldWorks.Component2


      Set swApp = CreateObject("SldWorks.Application")

      Set Part = swApp.ActiveDoc


      '--- Changing dimensions of components in assembly ---


      Part.Parameter("Side@Sketch1@Square.Part").Value = Range("C5").Value

      Part.Parameter("Height@Boss-Extrude1@Square.Part").Value = Range("C6").Value


      Part.Parameter("Side@Sketch1@Triangle.Part").Value = Range("F5").Value

      Part.Parameter("Height@Boss-Extrude1@Triangle.Part").Value = Range("F6").Value


      '--- Changing mate dimensions in assembly ---


      retval = Part.Parameter("Square@Distance1@Assembly.Part").SetValue2(Sheet1.Range("I5").Value, 1)

      retval = Part.Parameter("Triangle@Distance2@Assembly.Part").SetValue2(Sheet1.Range("I6").Value, 1)


      '--- Changing configuration of components in assembly ---


      Set swComp = Part.GetComponentByName("Square-1")


      swComp.ReferencedConfiguration = "Big"



      '--- Changing state of components in assembly ---


      'swComp.SetSuppression2 (swComponentSuppressed)


      swComp.SetSuppression2 (swComponentResolved)






      End Sub