3 Replies Latest reply on Mar 9, 2018 4:40 PM by J. R.

    Modifying Move-Copy feature doesn't work

    J. R.

      Hello,

       

      I've run into a strange problem. A sub in my macro has to modify a rotation angle of the Z axis of a move-copy feature that exists in the model. The code looks like this:

       

      Sub SetHeelAngle(angle)
          Dim swMoveCopyBodyFeatureData As SldWorks.MoveCopyBodyFeatureData
          Dim swFeature As SldWorks.Feature
      
          boolstatus = swModel.Extension.SelectByID2("Heel_Trim", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
          Set myFeature = swModel.SelectionManager.GetSelectedObject6(1, -1)
          Set swMoveCopyBodyFeatureData = myFeature.GetDefinition
          swMoveCopyBodyFeatureData.TransformType = swMoveCopyBodyFeatureTransformType_e.swTransformType_Rotation
          swMoveCopyBodyFeatureData.TransformZ = (angle * PI / 180)
          myFeature.ModifyDefinition swMoveCopyBodyFeatureData, swModel, Nothing
          
          swModel.ClearSelection2 True
      End Sub
      

       

      Weird thing is, after this sub is called, it actually modifies the Z axis value, but the body is not rotated. If I manually open the feature, I can see that the rotation value is applied, but the model doesn't react. Here's a screenshot:

       

      8ZbZhfF.jpg

       

      As you can see, the Z value is 45 degrees, yet the model is not rotated. If I try to click OK, I get a message saying "Please define either a translation or a rotation", which kind of implies that Solidworks doesn't recognize that value. I tried rebuilding, force-rebuilding, but it's still won't rotate the model.

      Interestingly enough, if I use the exact same code to define translation (skipping the swMoveCopyBodyFeatureTransformType_e.swTransformType_Rotation), then everything updates perfectly.

       

      I'm sure I'm missing something obvious here, but I can't figure it out. Could anyone help, please?