InDesign:非グループのオブジェクト群同士で位置入れ替えちゃったりなんか

……暑いんですけど。

しばらくベルマーク漫画とかベルマークすごろくとかやっててスクリプトから離れてましたが。いまいち、仕事できるレベルまで画力が届いてない気がしてなりませんが。。

さておき。。

あーのー、画像は画像レイヤー、キャプションは文字レイヤー、とか、てけとうに置き分けられてたりしてて、そのひとかたまりを移動したい事ってあるんですよ。
これがただの移動じゃなくて入れ替えとかになると、移動先にあるやつの移動先の目安にするために複製なんかしてみちゃったりしてますけど。
めんどいです。めんどい。
オブジェクトがバラけないようにグループ化しちゃいたいとこだけど、レイヤー階層は変えたくない、とか。

そういうもろもろのこもごもがあって、ちょっと作ってみました。
需要は、あのー無理矢理つくってください。。



id_areaSwitcher.jsx ver_b
InDesign CS3 MacOSX10.6.8で動作確認
基本的な事しかしていないので、たぶんこれ以上のバージョンでも動きます。

あー欠陥ありorz いったん公開とめましたorz
オブジェクトA+B、B+Cが重なっていてもA+Cが重なってない場合、重なってない判定になる恐れがあります。
けっこうみっともないので直してから再度アップします。
すいませんすいません。

12.07.26 修正しました お沢蟹しました



あそびかた

重なり合ったオブジェクト群を2つ、まとめて選択しておきます。必ず2かたまり。


背面のK10色の長方形は目安用と思ってください。


スクリプト実行。


なんか、かわいいのが出ます。


基準点にしたいレディオボタンをカチします。


選択した基準点を基準点にして(日本語)、オブジェクト群が大移動します。


あのー、1つずつ移動してます。ださいけどがまんです。


以上でーす。おつかれさま。

きをつけかた

「重なってるか」の判断は、オブジェクトのgeometricBoundsの比較で行っています。


ので、図形のパスは重なっていなくてもこのような場合は「重なってる」になります。


なんだかすみません。


下図の上図(日本語)の場合、MとYの長方形は重なっていますがCは重なっていません。


しかしMとYがグループである場合、Cは「重なってる」になります。



これ、選択ツール(黒矢印)の時とダイレクト選択ツール(白矢印)の時で


挙動が異なるという事になりますので、注意が必要です。


むしろ、うまいこと使い分けてください。


重なり合ってないオブジェクト達をひとかたまりとして扱いたい場合、


下図のようにダミーオブジェクトを配置しておくとよいです。


でーす。

12.07.26 追記
えーと、重なり判定はよかったんですが、友達の友達も仲間、の判定が超ダメだったようで、
こっぴどく修正しました。そこのとこ、まるっと書き換えました。
どうもすいません。

先に書いた通り、オブジェクトを1個ずつ移動する関係で、場合によっては
ヤッベーモドソーとか思ったとき、途方もない回数のアンドゥをしなければいけないような
印象がありますが、多くの場合は、落ち着いてもう一度同じ基準点で実行する事で
外見上は元通りになります。

ただし、移動後にオブジェクト群同士がくっついてしまった時は、この限りではありません。
Zキーが傷んでしまうかも知れません。

4 thoughts on “InDesign:非グループのオブジェクト群同士で位置入れ替えちゃったりなんか

  1. あれ…CS4で動かないorz
    OKボタン必須かーーーー

  2. 改めて、ちゃんと直しましたorz
    CS3、CS4、CS6で動作確認おけでーす。。

  3. 開発おつかれさまです。そしてありがとうございます!
    せうぞーさんのswap_itemsがcs6で動かないので困ってました。
    これではかどります!

(z-) へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

*