K先生から、CAD図面の範囲を選択して、切り出して、特許出願用のGIFやJPEGファイルに変換する手間が面倒なのでなんとかしたいとのお話が。確かに手作業であれば相当な労力であり、100図とかになると、それだけで数時間を要します。
CADにマクロがあればなんとかなるかもしれません。例えば、AdobeのILLUSTRATORであれば以下のコード(EXTENDSCRIPT)で可能です。(注:最新のバージョンでは試していません)
簡易なスクリプトであるため、切り出し位置は固定としており、その位置に図面を描く必要があります。また、 切り出しサイズは特許図面の400dpiの最大サイズ程度として、画像を少し縮小しています。余白が嫌であれば手作業でカットする必要はあります。(カットしなくても出願は可能です。)
また、図ごとに 複数の.aiファイルを作成しているケースを対象としており、1ファイル中に複数のアートボードを置いているケースの場合は、修正が必要です。
.jsxファイルで保存し、イラストレーターのメニューバー「ファイル」→「スクリプト」→「その他のスクリプト」から、.jsxファイルを選択して、.ai(イラストレーター)のファイルが入っているフォルダを指定してください。同フォルダに複数のGIFファイルが自動でエクスポートされます。
//Adobeイラストレーターの図を特許出願用に切り出し
//.jsxファイルで保存
//ファイル→スクリプト→その他のスクリプトから、jsxファイルを選択して、
//.aiの図が入っているフォルダを指定してください。
//制作・著作:椿特許事務所
(function(){
var folderObj = Folder.selectDialog("SELECT FOLDER!");
if (!folderObj) return;
var fileList = folderObj.getFiles("*.ai");
for (var i=0; i<fileList.length; i++){
fileObj = new File(fileList[i]);
//alert(fileList[i]);
app.open(fileObj);
var saveFile = new File (fileList[i]+".gif");
var exportOptions = new ExportOptionsGIF();
var aiDocument = app.activeDocument;
var artboards = aiDocument.artboards;
var artboard =artboards[artboards.getActiveArtboardIndex()];
//alert(artboard.artboardRect);
artboard.artboardRect = [55,776,540,36];
exportOptions.horizontalScale = 540.0;
exportOptions.verticalScale = 540.0;
exportOptions.artBoardClipping = true;
exportOptions.colorCount = 2;
exportOptions.transparency = false;
exportOptions.matte = false;
exportOptions.antiAliasing = false;
exportOptions.interlaced = false;
aiDocument.exportFile (saveFile, ExportType.GIF, exportOptions);
aiDocument.close( SaveOptions.DONOTSAVECHANGES );
aiDocument = null;
//
//jpegOpt = new JPEGSaveOptions();
// jpegOpt.embedColorProfile = true;
// jpegOpt.quality = 8;
//jpegOpt.formatOptions = FormatOptions.PROGRESSIVE;
//jpegOpt.scans = 3;
//jpegOpt.matte = MatteType.NONE;
//activeDocument.saveAs(saveFile, jpegOpt, true, Extension.LOWERCASE);
//app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
})();