Skip to main content
June 6, 2008
Answered

Turn selected AI sublayers into top-level layers?

  • June 6, 2008
  • 18 replies
  • 127302 views
Hi, all!

I wanted to ask if by chance any of the scripting gurus here happen to have written an AI script that will take a number of selected sublayers/sub-sublayers and move them so they become top-level layers?
I am really needing this very badly, given that After Effects can only handle AI layers as separate entities. So I find myself moving tens, even hundreds of nested sublayers to the top level all the time.
Is it possible this script exists already?
This topic has been closed for replies.
Correct answer JETalmage
This .zip archive contains an AICS3 file and a draft script.

Install the script.
Launch Illustrator.
Open the AI file.

Note that an expanded Blend is on the Artboard. Each object from the former Blend is on its own Layer. The Layers palette contains 100 or so Layers, all named sequentially and nested 10 levels deep.

Run the script a few times. Each time the script runs, an alert tells you the number of existing top-level Layers. It then moves any sublayers nested inside each of those top-level Layers so that they are top-level Layers.

After you have done this for the number of times necessary in the example, you should see that all the Layers are top-level, and still have the correct stacking order (verified by the correct order of the overlapping paths on the Artboard).

Again, this is just rough and experimental. This is the only file I have tried it on; but I think it should work on any file, given that there are no loose objects inside the subLayers as you described. Also, it does not operate on only selected Layers, as your original post specifies. Perhaps it will help as a starting point.

JET

18 replies

New Participant
June 24, 2011

That seems to have done the trick!  I tried it again, and once it was released to layers the script worked for me.

Thanks for your help!

Larry G. Schneider
Adobe Expert
June 24, 2011

Glad to help.

August 19, 2008
Hi, James.
I have no words to thank you.
This will be extremely useful. It will really help in taking the sweat out of something I have to do constantly!
I tested very briefly. This week I have major work to do, and I'll let you know. Looks like a real time saver :)
Best,
Adolfo
JETalmage
JETalmageCorrect answer
Inspiring
August 16, 2008
This .zip archive contains an AICS3 file and a draft script.

Install the script.
Launch Illustrator.
Open the AI file.

Note that an expanded Blend is on the Artboard. Each object from the former Blend is on its own Layer. The Layers palette contains 100 or so Layers, all named sequentially and nested 10 levels deep.

Run the script a few times. Each time the script runs, an alert tells you the number of existing top-level Layers. It then moves any sublayers nested inside each of those top-level Layers so that they are top-level Layers.

After you have done this for the number of times necessary in the example, you should see that all the Layers are top-level, and still have the correct stacking order (verified by the correct order of the overlapping paths on the Artboard).

Again, this is just rough and experimental. This is the only file I have tried it on; but I think it should work on any file, given that there are no loose objects inside the subLayers as you described. Also, it does not operate on only selected Layers, as your original post specifies. Perhaps it will help as a starting point.

JET
New Participant
December 13, 2010

Are there any parameters that you can think of that would cause this script not to function properly?

When I try the script on the provided JET_X_Layers.ai file... it works like a champ - but when I try and use it on a file that I am wanting to separate into top layers... I continually get a script alert saying "1 Top Level Layer(s)", and nothing seems to change in my layer palette.

New Participant
June 24, 2011

Still running into this problem.  This script is a real lifesaver, but I can't get it to work on my files... only the sample file that comes with the script.

August 14, 2008
Hi, James.
I think it would not be a problem. There would be no loose objects, since I get the sublayers after using release to layers. So I would only use such a script when objects/groups are already converted to sublayers.

Having this would be great!
JETalmage
Inspiring
August 13, 2008
Adolfo,

After a little experimentation, making a script that moves sublayers to become top-level layers while maintaining the same relative stacking order between them is fairly trivial.

But what if a layer contains a mix of sublayers and loose objects? Moving the sublayers so that they become top level layers will change the overall stacking order of the illustration, because doing so would move the sublayers to locations above or below the loose objects.

Is that or is that not a problem in your situation?

JET
August 12, 2008
Tom:
I did not find a solution yet (ironically painful, as when I google for my name I get this thread pretty much at the top to remind me!)

Larry: That's the starting point, unfortunately. Release to layers gives you a hierarchy of sublayers and sub-sublayers nested in a top level layer. After Effects can only recognize top level layers as individual entities - sublayers (and AI objects/groups of course) are just internal content for the top level AI levers in AE. I find myself dragging sub and sub-sublayers out to the top level a million times :(
Jlittek
New Participant
April 6, 2016

Hey guys, I just used the release to layers option (sequence),

once I did that, I was able to drag my sub layers out of their top level layers to make them top level layers,

Hope this helps some

JaySprout
Inspiring
September 26, 2019
You are my hero!
Larry G. Schneider
Adobe Expert
August 12, 2008
Have you tried the Release to Layers command from the Layers flyout menu?
Participating Frequently
August 12, 2008
Hello Adolfo,

Could you find a solution for your problem?
As I know the main problem is that a script doesn't see which layers are selected.

Regards,
Tom

--
Stop monotonity. Start productivity.
http://softwareautomation.hu/