AnsweredAssumed Answered

GetSketchSegments problem

Question asked by Emad Ktifany on Mar 2, 2019
Latest reply on Mar 2, 2019 by Emad Ktifany

Hello everyone


I wanted to delete all construction lines in all sketches in a part

so as usual, I wrote code to traverse all features, and at every one of them I called this function:



Function deleteConstructionSketchSegments (swModel As SldWorks.ModelDoc2, swFeat As SldWorks.Feature)


        Dim swSketch As SldWorks.Sketch

        Set swSketch = swFeat.GetSpecificFeature2

        swFeat.Select2 False, 0



        Dim varSketchSegments As Variant

        varSketchSegments = swSketch.GetSketchSegments


        Dim swSketchSeg As SldWorks.SketchSegment

        Dim lngCounter As Long

        For lngCounter = 0 To UBound(varSketchSegments)

            Set swSketchSeg = varSketchSegments(lngCounter)

            If swSketchSeg.ConstructionGeometry Then

                swSketchSeg.Select4 False, Nothing


            End If

        Next lngCounter


        swModel.InsertSketch2 True


End Function


Every thing went well, until the function treated a sketch that has no segments at all, a points-sketch, where I got the message "Type mismatch".

So, any help on how to avoid that!


Thanks everyone