можно через MCG сделать.
Еще такой вариант. Уже чисто максовский
Spline IK Control. В нем жмешь кнопку Create Helpers - Это создаст во всех вершинах сплайна пустышки с именами Point001, Point002... .
Пустышки можно заменить на модельки. Выделяешь все модельки (Сортировка будет по алфавиту), которые нужно расставить, и запускаешь такой скрипт:
Такой еще вариант. Просто выделить сразу и сплайн(ы) и меши. И запустить скрипт.
objekts= selection as array
meshes=#()
splines=#()
splCoord=#()
for obj in objekts do
(if superClassOf obj == shape
then append splines obj
else append meshes obj )
for h=1 to splines.count do (
maxOps.cloneNodes splines[h] cloneType:#copy newNodes:&newSpline
convertTo newSpline SplineShape
for j = 1 to (numsplines newSpline[1]) do(
for k = 1 to (numknots newSpline[1] j) do (
knotCoord = getKnotPoint newSpline[1] j k
append splCoord knotCoord ))
delete newSpline[1] )
count = meshes.count
fn sortirovka mesh1 mesh2 = stricmp mesh1.name mesh2.name
qSort meshes sortirovka
i = 0
for m in splCoord do (
if (i<count) then i else i=0
i=i+1
onemesh = instance meshes[i]
onemesh.pos = m )