生存报告

大家好,我还活着。

貌似两个多星期没管 blog 了,这段时间完全没在做纸模,因为试着研究了一下 Illustrator 的脚本。

其实最近才了解到 Illustrator 还有脚本这个东西,以前还一直以为脚本和插件是同一个东西(你这个无知的人类啊......),感觉很强大,而且可以用 JavaScript 来写,然后突然就有一种想自己写点什么的想法,虽然也不知道到底要写什么啦......

因为本人对编程什么的一窍不通,曾经试图去学C语言,但完全不开窍。据说脚本语言会比较好学,于是乎就像看到了希望的曙光一样去学了。看了一些 JavaScript 方面的教学,还有几个官方提供的 Illustrator 脚本帮助文档,这些帮助文档没有中文的,所以看的很头大。

总之现在学了个大概,勉强写出了一个用来给图纸加黏贴标记的脚本。我以前有在 blog 发过一个用AI的动作来加黏贴标记的方法,但是后来发现那个方法有问题 -  -~ 不过原理差不多,都是把黏贴面的填充变成一个点。

脚本很短,不过我还是纠结了半天才写出来。
下面贴一个视频来现一下XDDD



我把脚本也贴出来,如果有人需要那就最好了,不过这种功能奇怪的脚本估计也没什么人用得到。
把代码保存成.jsx 扩展名的文件就行了。

if(app.documents.length > 0)
    {
        var flap = activeDocument.pathItems;
        var newLayer = activeDocument.layers.add();
        newLayer.name = 'flap_symbol';
        for(var i=0;i<flap.length;i++)
            {
                if (flap[i].filled > 0 && flap[i].pathPoints.length == 4)
                {
                    var x = (flap[i].pathPoints[0].anchor[0] + flap[i].pathPoints[1].anchor[0] + flap[i].pathPoints[2].anchor[0] + flap[i].pathPoints[3].anchor[0])/4;
                    var y = (flap[i].pathPoints[0].anchor[1] + flap[i].pathPoints[1].anchor[1] + flap[i].pathPoints[2].anchor[1] + flap[i].pathPoints[3].anchor[1])/4;
                    flap[i].remove();
                    var newPath = newLayer.pathItems.add();
                    var newPoint = newPath.pathPoints.add();
                    newPoint.leftDirection = newPoint.rightDirection = newPoint.anchor = [x,y];
                }
            }
        redraw();
        alert('Complete');
    }
else
    {
        alert('Open a document before running this script', 'Error');   
    }


就这些了。


另外,我的LBX今天也打印出来了,打算明天就开工。
以上。

1 comment:

  1. 看到程序编码就怕了~

    看似很好玩呢

    加油加油!

    ReplyDelete