ADD LAYER

I HAVE ONE MADE DRAWING FOR A ASSEMBLY NOW I M TRYING TOASSIGN THE DIFFERENT LAYER TO THE EACH CHILD COMPONENT OF THEASSEMLY WITH THE HELP OF FOLLOWING MACRO, IT IS RUNNING FINE BUT IM FACING ONE PROBLEM...

IN ASSEMBLY THE CHILD COMPONENTS ARE IN THE SEQUENCE OF
TB-1
TB-2
TB-3..SO ON
BUT WHEN I M RUNNING THE MACRO IT PICKING THE CHILD NAME IN RANDOMMANNER SOMETIME FIRST IT PICKS TB-2, THEN TB-5 & SO ON
AS PER MY NEED IT SHOULD PICKS IN SEQUENCE SO CAN ANYBODY TELL WHATSHOLUD I MODIFY IN MACRO SO THAT IT WILL WORK ACCORDING TO MYNEED...


' Preconditions:

' (1) Drawing document is open.

' (2) Drawing view of an assembly is selected.
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSelMgr As SldWorks.SelectionMgr
Dim swView As SldWorks.View
Dim swDrawComp As SldWorks.DrawingComponent
Dim bRet As Boolean
Dim sPadStr As String
Dim vDrawCompChildArr As Variant
Dim vDrawCompChild As Variant
Dim swDrawCompChild As SldWorks.DrawingComponent
Dim sLayerName As String
Dim q As String
Dim p As String
Dim swLayerMgr As LayerMgr
Dim vLayers As Variant
Dim layer As Variant
Dim retval As Boolean
Dim child As String

Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swSelMgr = swModel.SelectionManager
Set swView = swSelMgr.GetSelectedObject5(1)
Set swDrawComp = swView.RootDrawingComponent
Set swLayerMgr = swModel.GetLayerManager
child = ""
'get comp & child name
vDrawCompChildArr = swDrawComp.GetChildren
If Not IsEmpty(vDrawCompChildArr) Then
For Each vDrawCompChild In vDrawCompChildArr
Set swDrawCompChild = vDrawCompChild

'set name of layer
comp = swDrawComp.Name
child = swDrawCompChild.Name
q = Replace(child, comp & "/", "")
a = Right(q, 2)
m = Replace(q, a, "")

'create layer
colour.Show
k1 = colour.k
retval = swDraw.CreateLayer(m, "1", k1, 0, 0, True)

'assign layer
swDrawCompChild.layer = m

Next
End If

swModel.ForceRebuild3 True
swModel.ViewZoomtofit2
End Sub
SolidworksApi macros