I found the API files, which will be merged into my codes to get length of weldment. Do you think it is suitable or not?
----------------------------------------------------
Option Explicit
Public Enum swSketchSegments_e
swSketchLine = 0
swSketchArc = 1
swSketchEllipse = 2
swSketchSpline = 3
swSketchTEXT = 4
swSketchParabola = 5
End Enum
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.feature
Dim swSketch As SldWorks.sketch
Dim i As Long
Dim bRet As Boolean
Dim vSketchSeg As Variant
Dim swSketchSeg As SldWorks.SketchSegment
Dim nLength As Double
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swFeat = swSelMgr.GetSelectedObject5(1)
Set swSketch = swFeat.GetSpecificFeature2
vSketchSeg = swSketch.GetSketchSegments
For i = 0 To UBound(vSketchSeg)
Set swSketchSeg = vSketchSeg(i)
' Ignore construction lines
If swSketchSeg.ConstructionGeometry = False Then
' ignore text
If swSketchTEXT <> swSketchSeg.GetType Then
nLength = nLength + swSketchSeg.GetLength
End If
End If
Next i
Debug.Print "File = " & swModel.GetPathName
Debug.Print " Sketch = " & swFeat.Name
Debug.Print " Total length = " & nLength * 1000# & " mm"
End Sub
SolidworksApi macros