打开时运行命令的 Illustrator 文件
Illustrator file that runs commands upon opening
希望不大,但是否有可能在 Adobe Illustrator 文件中存储 JavaScript(或任何类型的可执行代码)?
我问这个问题的原因是因为我目前正在尝试自动执行从 Autodesk Maya 导入渲染结果的过程。这个概念是,一旦 Maya 渲染完所有 frames/layers,MEL 脚本就可以生成 Illustrator 可以打开的文件,并在其中找到 运行 命令,将 Illustrator 引导至渲染结果并开始导入它们。
最初的想法是通过 MEL 脚本发出系统命令,在渲染完成后立即启动 Illustrator 并以某种方式启动该过程。但由于这种自动化是为不太懂技术的人准备的,一个应用程序要求启动另一个应用程序会令人沮丧,甚至可能会造成混淆。
让 Maya 生成一个文件,当用户打开它时可以完成任务是一个更受欢迎的解决方案。为用户提供更多控制权,并且不会使已经忙于处理更多应用程序调用的系统过载。
把它想象成一个 .mel 文件,打开后,它会启动所需的应用程序 (Maya),当应用程序准备就绪时,执行包含的命令 (MEL)。有没有办法用 Adobe 应用程序,特别是 Illustrator 来做到这一点,其中文件自动被识别为 Illustrator 文件(例如 .ai),启动应用程序,然后 运行s 代码包含在其中(例如 JS )?
欢迎任何帮助,但我想避免使用 applescripts/VBS,因为它们是特定于平台的,并且在 Mac/Windows 之间很难管理。
谢谢。
这是一个相对宽泛的问题,因为有很多方法可以实现这一点。
我会在这里尝试给你一个可能的解决方案,它显然可能不是最好的。
您的需求:
- 创建一个 "file" 或导入插画场景中所有 Maya 渲染图像的东西。
- 可以随时执行(没有 post 打开 Illustrator 的渲染过程)
- 像我妈妈这样的非技术人员必须能够使用它。
- 跨平台(Win/Osx)
解决方案:
- 为 Maya 创建 post-渲染脚本(mel 或 python)
- 关于此脚本(.mel 或 .py):
- 是运行一旦所有帧都被渲染
- 复制已渲染帧的文件夹中的现有 JavaScript (.jsx) 文件
- 创建两个可执行文件(.bat 和 .command,都用于 Windows 和 OSX)
- 关于 .jsx 文件:
- 创建一个新的 .ai 文件
- 将渲染的帧一一导入并添加到新的画板中
- 将 .ai 文件保存到当前文件夹
- 关于 .bat 和 .command 可执行文件:
- 运行 插画家
- 启动时执行 .jsx 脚本
总而言之,渲染帧后,将在与帧相同的文件夹中创建所有三个文件(.jsx、.bat、.command)。
当您的艺术家想要创建他们的 Illustrator 场景时,他们只需双击 .bat 或 .command 文件即可自动 运行 Illustrator 并导入渲染的帧并保存文件。
运行 Windows 上 Illustrator (CS 5.1) 脚本的命令是,这将是 .bat 文件的内容:
"C:\Program Files (x86)\Adobe\Adobe Illustrator CS5.1\SupportFiles\Contents\Windows\Illustrator.exe" C:\Path\To\Script.jsx
您可以轻松地为 .command 文件创建一个等效文件。
Script.jsx 可以是这样的:
// Get the fullpath of the script
var script_fullpath = $.fileName
// Only get the folder path
var script_folder = Folder(script_fullpath).path
// Get renderred frames
var rendered_frames = Folder(script_folder).getFiles("*.exr");
if(rendered_frames.length == 0){
alert("No images to import");
}else{
// Loop through all the images
// Create a new artbook
// Import Fram
// Then save the file here: script_folder + "/" + "illustratorFile"
}
希望不大,但是否有可能在 Adobe Illustrator 文件中存储 JavaScript(或任何类型的可执行代码)?
我问这个问题的原因是因为我目前正在尝试自动执行从 Autodesk Maya 导入渲染结果的过程。这个概念是,一旦 Maya 渲染完所有 frames/layers,MEL 脚本就可以生成 Illustrator 可以打开的文件,并在其中找到 运行 命令,将 Illustrator 引导至渲染结果并开始导入它们。
最初的想法是通过 MEL 脚本发出系统命令,在渲染完成后立即启动 Illustrator 并以某种方式启动该过程。但由于这种自动化是为不太懂技术的人准备的,一个应用程序要求启动另一个应用程序会令人沮丧,甚至可能会造成混淆。
让 Maya 生成一个文件,当用户打开它时可以完成任务是一个更受欢迎的解决方案。为用户提供更多控制权,并且不会使已经忙于处理更多应用程序调用的系统过载。
把它想象成一个 .mel 文件,打开后,它会启动所需的应用程序 (Maya),当应用程序准备就绪时,执行包含的命令 (MEL)。有没有办法用 Adobe 应用程序,特别是 Illustrator 来做到这一点,其中文件自动被识别为 Illustrator 文件(例如 .ai),启动应用程序,然后 运行s 代码包含在其中(例如 JS )?
欢迎任何帮助,但我想避免使用 applescripts/VBS,因为它们是特定于平台的,并且在 Mac/Windows 之间很难管理。
谢谢。
这是一个相对宽泛的问题,因为有很多方法可以实现这一点。 我会在这里尝试给你一个可能的解决方案,它显然可能不是最好的。
您的需求:
- 创建一个 "file" 或导入插画场景中所有 Maya 渲染图像的东西。
- 可以随时执行(没有 post 打开 Illustrator 的渲染过程)
- 像我妈妈这样的非技术人员必须能够使用它。
- 跨平台(Win/Osx)
解决方案:
- 为 Maya 创建 post-渲染脚本(mel 或 python)
- 关于此脚本(.mel 或 .py):
- 是运行一旦所有帧都被渲染
- 复制已渲染帧的文件夹中的现有 JavaScript (.jsx) 文件
- 创建两个可执行文件(.bat 和 .command,都用于 Windows 和 OSX)
- 关于 .jsx 文件:
- 创建一个新的 .ai 文件
- 将渲染的帧一一导入并添加到新的画板中
- 将 .ai 文件保存到当前文件夹
- 关于 .bat 和 .command 可执行文件:
- 运行 插画家
- 启动时执行 .jsx 脚本
总而言之,渲染帧后,将在与帧相同的文件夹中创建所有三个文件(.jsx、.bat、.command)。 当您的艺术家想要创建他们的 Illustrator 场景时,他们只需双击 .bat 或 .command 文件即可自动 运行 Illustrator 并导入渲染的帧并保存文件。
运行 Windows 上 Illustrator (CS 5.1) 脚本的命令是,这将是 .bat 文件的内容:
"C:\Program Files (x86)\Adobe\Adobe Illustrator CS5.1\SupportFiles\Contents\Windows\Illustrator.exe" C:\Path\To\Script.jsx
您可以轻松地为 .command 文件创建一个等效文件。
Script.jsx 可以是这样的:
// Get the fullpath of the script
var script_fullpath = $.fileName
// Only get the folder path
var script_folder = Folder(script_fullpath).path
// Get renderred frames
var rendered_frames = Folder(script_folder).getFiles("*.exr");
if(rendered_frames.length == 0){
alert("No images to import");
}else{
// Loop through all the images
// Create a new artbook
// Import Fram
// Then save the file here: script_folder + "/" + "illustratorFile"
}