5 Replies Latest reply on Jun 28, 2018 4:11 AM by Simon Turner

    Update assembly component location without rebuilding

    Evan Long

      Hello all,

      Recently I have been attempting to put together a macro that is capable of mapping the position of a component within an assembly based on a series of input parameters.  The logic of the macro is relatively simple, it steps through the three input parameters in a nested for loop and records the position of the component each time.  However, as you can imagine with a triple-nested loop, the duration of the macro quickly grows with higher resolution in the steps.

      Currently, I have it set up so each input parameter is a dimension driven off a global variable, and I edit the global variable with the macro.  After every change to the global variables, I have to call swModel.EditRebuild3.  On average, calling this function takes about a half second to complete.

      Is there any alternative to rebuilding the whole model? Is it possible to update the location of a single component? I wasn't able to find anything online. 

      As an example, if I edit a distance dimension in the assembly, and increment it, the model updates almost instantly.  This leads me to believe that Solidworks has a method of solving the assembly, without a full rebuild.

       

      Any help is appreciated.

       

      If any of you are curious about the application, it's a delta robot that I am trying to map the work volume of.  Unfortunately, I am unable to use the established equations for the volume of a delta robot, because this robot needs to be packaged in an unconventional format.  I was hoping to use solidworks to assist with this, but the wait times on creating the volume is making iteration painfully slow.  I am happy to provide screenshots/code snippets if needed.