Illustratorで作図した展開図を折紙展開図エディタORIPAに渡したくて、そのためのScriptを作ってみました。
// Script for Illustrator CS5 if ( app.documents.length > 0 && app.activeDocument.pathItems.length > 0 ) { var doc = app.activeDocument; var exportLineCount = 0; var saveFile = new File("C:/test.cp"); // specify a file name saveFile.open("w"); for (var i = 0; i < doc.pathItems.length; i++ ) { var pathRef = doc.pathItems[i]; if(pathRef.pathPoints.length < 2) continue; var lineType = 0; if(pathRef.strokeColor.red < 128 && pathRef.strokeColor.blue < 128 && pathRef.strokeColor.green < 128) lineType = 1; if(pathRef.strokeColor.red > 128 && pathRef.strokeColor.blue < 128 && pathRef.strokeColor.green < 128) lineType = 2; if(pathRef.strokeColor.red < 128 && pathRef.strokeColor.blue > 128 && pathRef.strokeColor.green < 128) lineType = 3; for(var j = 0; j < pathRef.pathPoints.length-1; j++) { var x0 = pathRef.pathPoints[j].anchor[0]; var y0 = pathRef.pathPoints[j].anchor[1]; var x1 = pathRef.pathPoints[j+1].anchor[0]; var y1 = pathRef.pathPoints[j+1].anchor[1]; saveFile.write(lineType + " " + x0 + " " + y0 + " " + x1 + " " + y1 + "\n"); exportLineCount++; } if(pathRef.closed) { var x0 = pathRef.pathPoints[pathRef.pathPoints.length-1].anchor[0]; var y0 = pathRef.pathPoints[pathRef.pathPoints.length-1].anchor[1]; var x1 = pathRef.pathPoints[0].anchor[0]; var y1 = pathRef.pathPoints[0].anchor[1]; saveFile.write(lineType + " " + x0 + " " + y0 + " " + x1 + " " + y1 + "\n"); exportLineCount++; } } saveFile.close(); alert(exportLineCount + "本のラインを出力しました"); }
参考:
ADOBE ILLUSTRATOR CS5
SCRIPTING REFERENCE: JAVASCRIPT
http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/illustrator/scripting/illustrator_scripting_reference_javascript_cs5.pdf
ORIPAで読み込み可能な .cp 形式でファイル出力するものですが、他の形式での出力にも応用できると思います。
こんな風に .cp 形式で保存できると、
↓Illustoratorでこんな風に展開図を作図したものを
↓折りたたんだ後の様子をシミュレーションできます(一部ちょっとノイズが入っているけど。。)
ここまでくると、実際に折るのはけっこう大変なのですぐにCGイメージで確認できるのは便利。