A-Ming 发表于 2025-5-24 10:53:30

有大佬能帮我修改下吗,不要对话,设置固定间距:10MM,列...

本帖最后由 A-Ming 于 2025-5-24 10:59 编辑



有大佬能帮我修改下吗,不要对话框,设置固定间距:10MM,列数:10列


ar doc = activeDocument;

var selx = doc.selection;
if(selx.length ==0){alert("你必须选择对象来分布.");}
else{makeGrid(selx);}


function makeGrid(sel)
{
    var objectsCentered = true;
    if(objectsCentered){
         var newGroup = app.activeDocument.groupItems.add();
    }

    var maxW = maxH = currentX = currentY= maxRowH = 0;
    var absstring = prompt ("请分别输入分布间距和排列列数,并用英文逗号隔开 ——华印提示\n\n间距 , 列数      不输入为自动排列,间距0 (单位:mm) ","");

    var artbs = absstring.split (",")
    padding = artbs*2.8346;

if(artbs ==null){var gridCols =Math.round(Math.sqrt(sel.length)) ;}
else{
            if(artbs ==0){var gridCols =Math.round(Math.sqrt(sel.length)) ;}
               else{var gridCols = artbs ;}
         }


   for(var e=0, slen=sel.length;e<slen;e++)
    {

      if(objectsCentered){
                // ::Add to group
                sel.moveToBeginning( newGroup );
      }


      //   :::SET POSITIONS:::
      sel.top = currentY;
      sel.left = currentX;

      //:::DEFINE X POSITION:::
      currentX += (sel.width + padding);

      var itembottom = (sel.top-sel.height);
      maxRowH = itembottom <maxRowH ? itembottom : maxRowH;

      if((e % gridCols) == (gridCols - 1))
      {
            currentX = 0;   
            maxH =(maxRowH);

            //:::DEFINE Y POSITION:::
            currentY= maxH-padding;
            maxRowH=0;
      }
    }



    if(objectsCentered){
            newGroup.top = -( doc.height/2) + newGroup.height/2;
            newGroup.left = (doc.width/2)-newGroup.width/2;

            //   :::UNGROUP:::
            var sLen=sel.length;
            while(sLen--)
            {
                sel.moveToBeginning( doc.activeLayer );
            }
    }
}


A-Ming 发表于 2025-5-24 10:58:49

有大佬能帮我修改下吗,不要对话框,设置固定间距:10MM,列数:10列

snlsjw 发表于 2025-5-24 18:11:48

本帖最后由 snlsjw 于 2025-5-24 18:17 编辑

snlsjw 发表于 2025-5-24 18:16:03

本帖最后由 snlsjw 于 2025-5-24 18:19 编辑

snlsjw 发表于 2025-5-24 18:11

padding 间距   gridCols 列数

A-Ming 发表于 2025-5-26 16:45:17

snlsjw 发表于 2025-5-24 18:11


感谢大佬:handshake:handshake
页: [1]
查看完整版本: 有大佬能帮我修改下吗,不要对话,设置固定间距:10MM,列...