ds-blue-logo
Preview  |  SOLIDWORKS USER FORUM
Use your SOLIDWORKS ID or 3DEXPERIENCE ID to log in.
JPJohn Pate12/06/2014

I need help debugging a section of  sheet metal flat pattern macro since our VAR is useless and refuses to look at it. 

Below is a small section of code for a large macro that we have been using successfully with SW2012 for quite a long time that I am trying to upgrade to SW2014 compatability.  When we begin a drawing of a sheet metal part, we insert an isometric view then we run the macro.  It's purpose is to validate that the material thickness, bend radius, and K-factor are consistent against a standard that we know works in our pressbrakes.  If all of the checks are validated, the macro will insert the flat pattern along with a note stating that all the parameters are correct.  If they do not pass validation, the flat pattern gets inserted but it generates a note stating whick parameters are incorrect.

If I make a part in my typical fashion using our standard gauge tables, go to the drawing, insert the view, and run the macro, everything works as it should.  The problem occurs when I go back to the part I just created and change the gauge from one thickness to another.  In SW2012, this was not a problem:  I would go back to the drawing, run the macro again and it would revalidate and update as necessary.  In SW2014, what is happening is that the thickness and K-factor update properly, but the bend radius is locked to the original material gauge I selected.

For example, in SW2014, I chose 16GA stainless for the original part.  We use thickness of 0.062"/1.5748mm, K-factor of 0.4170, and bend radius of 0.062"/1.5748mm. The macro works properly.  Then I go back to the part and change the material to 11GA stainless.  This should be a thickness of 0.125"/3.1496mm, K-Factor of 0.4158, and bend radius of 0.125"/3.1496mm.  However, when I re-run the macro my bend radius is always 0.062"/1.5748mm on the drawing even though it is 0.125" in the part.  I thought it was something in the re-running of the macro but the bend radius parameter stays incorrect even if I delete the existing drawing and start a new one.  This same situation happens with all of the materials that we use.

I am stumped. Dues anyone have any idea why this returns incorrect values if I modify the part sheet metal gauge or ideas for fixes?

Thanks,

John

'Code'

Sub ProcessFlatView(ByVal ParamSMconfig As String, ByRef ParamSWflatViewNote As Variant)

Dim swFeat As SldWorks.Feature

Dim swSheetMetal As SldWorks.SheetMetalFeatureData

Dim Kfactor, BendRad, Thickness As Single

Dim bBendParamValidate As Boolean

Dim xlApp As Excel.Application

Dim xlSheetMetalWb As Excel.Workbook

Dim xlRowIterator, xlSheetIterator As Long

Dim tempThick, tempKfactor, tempBendRad, EvalTol As Single

Dim bThickValidate As Boolean

Dim bKfactorValidate As Boolean

Dim bBendRadValidate As Boolean

Dim swMatl, swMatlDB As String

Dim bRet As Boolean

Dim lRet As Long

Dim swFlatView          As SldWorks.View

Dim SWnote As SldWorks.Note

Dim swAnnotation        As SldWorks.Annotation

Dim FlatViewText, GrainDirectionText As String

Dim FlagStart, FlagEnd As String

Dim sThickness As String

Dim sKfactor As String

Dim sBendRad As String

Dim sFirstSMFeatName As String

bRet = swCurrentDoc.ShowConfiguration2(ParamSMconfig) 'activates the current SM configuration

    Set swFeat = swCurrentDoc.FirstFeature

    While Not swFeat Is Nothing 'hunt for sheet metal data

        If bFoundMultiBodies = False Then 'for single body sheet metal:

            If (swFeat.GetTypeName2 = "SheetMetal") And (swFeat.IsSuppressed = False) Then

                Set swSheetMetal = swFeat.GetDefinition

                Thickness = Val(Format(swSheetMetal.Thickness * 1000, "#.####")) 'value in mm

                BendRad = Val(Format(swSheetMetal.BendRadius * 1000, "#.####")) 'value in mm                '<---------- SOMETHING WRONG HERE I THINK

                Call MsgBox("Thickness = " & Thickness)

                Call MsgBox("Bend Radius = " & BendRad)

...

Message was edited by: John Pate Removed attached drawing.