I modified the script and its now working as per my expectations.
Thanks a lot Knowledgeds.
/*Rule created by agawalv 1/22/2010*/
let onedomaincurves (List)
let domainindex (List)
let c (Curve)
let i (integer)
let j (integer)
let k (integer)
let beginning(integer)
let nbDomains(integer)
let nbCurves (integer)
i = 1
beginning = 1
nbCurves =DissCurves.Size()
nbDomains=NODSketch
for i while i <= nbDomains
{
j = beginning
for j while j <= nbCurves -1
{
c = assemble(DissCurves ->GetItem(j), DissCurves .GetItem(j +1))
if nbDomains(c) > 1
{
domainindex.Append(j + 1) /* domainindex will contain indexes where a new domain begins */
beginning = j + 1
j = nbCurves
}
}
}
domainindex.Append(nbCurves + 1)
i= 1
k = 1
for i while i <= nbDomains
{
if i == 1
j = 1
else
j = domainindex.GetItem(i- 1 )
for j while j <= nbCurves
{
if j < domainindex.GetItem(i)
onedomaincurves->Append(DissCurves ->GetItem(j))
}
Assembled_Curves ->SetAttributeObject("AsmCurve."+i ,assemble(onedomaincurves))
Assembled_Curves.Update()
onedomaincurves.RemoveAll()
}