Краткосрочная проблема: у меня есть три дорожки на артборде.Конец одного пути имеет точку в той же позиции, что и начало другого.Другой путь отдельный.Все они сгруппированы.У меня есть некоторый код, который проходит через пути в группе, и если один путь заканчивается там, где начинается другой, он пытается соединить их вместе.Группа должна быть выделена.Для начала мой артборд выглядит следующим образом (верхняя строка состоит из двух путей): ![enter image description here](https://i.stack.imgur.com/L0WYl.png)
А после запуска скрипта это выглядит так:
![enter image description here](https://i.stack.imgur.com/frGZA.png)
С большим количеством точек, добавленных в конец линии внизу.Может ли кто-нибудь помочь мне с этим, в идеале, я бы хотел, чтобы это выглядело так: ![enter image description here](https://i.stack.imgur.com/cwtfw.png)
Код выглядит так:
var doc = activeDocument;//Gets the active document
var numArtboards = doc.artboards.length;//returns the number of artboards in the document
var intersections = true
var group = doc.selection[0]
var paths = []
var intersecttions = 0
// Builds an array of all the paths in the grouped object
if (group !== undefined && group.pageItems.length >= 2) {
for (var i = 0; i < group.pageItems.length; i++) {
var item = group.pageItems[i];
if (item instanceof PathItem) {
item.id = 'Path No' + i;
paths.push(item)
}
}
}
//Sets the first path that will be added to
$.write('paths length ', paths.length,'\n')
var chain = paths[0]
var chainPoints = chain.pathPoints
var chainLength = chainPoints.length - 1
var c1 = chainPoints[0]
var c2 = chainPoints[chainLength]
$.write('c ', c1.anchor,':::', c2.anchor,'\n')
//loops through the paths in the group to see if any overlap the first past
for (var i = 1; i < paths.length-1; i++) {
var link = paths[i]
$.write(link, '\n')
var linkPoints = link.pathPoints
var linkLength = linkPoints.length - 1
$.write('l ', l1.anchor, ':::', l2.anchor, '\n')
if (toString(c1.anchor) === toString(l2.anchor)) {
$.write('inttersection', '\n')
$.write('link', link.id, '\n')
for (var j = 0; j < linkLength; ++j) {
chain.pathPoints.add(linkPoints[j])
$.write (linkPoints[j], '\n')
}
}
}