PDA

View Full Version : New Inkscape Extension - restack z-order



RobA
12-05-2007, 10:12 PM
I'm not sure whether to post this as a tutorial or reference, but I think is the most fitting forum.

Someone here posted that CC provides a way to "restack" the z-order of drawn objects, so you could (for example) draw a forest then plunk a tower in the middle, and have it set the tower in among the trees automatically based on the base point of the symbols. Well, I couldn't find a way to do this in Inkscape, but did discover that you can write extensions for Inkscape in python (which I had never used).

I posted to the friendly inkscape-users mailing list, and thanks to Kurt I was able to cobble together an extension. It is really slow but it does work. It provides an option of restacking the selected objects in a direction (left to right, right to left, top to bottom, or bottom to top) as well as the point of each object to compare (top left, bottom middle, etc).

Install it by putting the two files from the zip into the Inkscape extension folder and restarting Inkscape. It registers as "Effects->Modify Path->Restack"

I am running on Inkscape 0.46dev+devel, built Apr 28 2007, so ymmv if
running .45 (I think it uses some features that only came in with .46)

Here is a before sample:
1862
and the after:
1863

EDIT: See the last post for the latest version

-Rob A>

Arcana
12-06-2007, 07:44 AM
Thats extremely useful! Nice! Have some rep!

ravells
12-06-2007, 07:58 AM
We're going to have to start calling you, 'Mr Gimpscape' soon! Great work!

RPMiller
12-06-2007, 02:33 PM
Very nice and very useful. I wonder if such a thing could be produced for PhotoShop as well?

RobA
01-22-2011, 08:34 AM
While this is major thread necromancy, I wanted to post up a patched version I've submitted to the inkscape bug tracker.

This one keeps objects in the original layer (oops). If they span layers all the objects will end up in the layer of the first selected object.

It also fixes a bug where the extension would hang for large filesizes.

-Rob A>