Indexへ
(3669)//【3664】→(3671)
------------------------
【タイトル】レイヤー名について
【記事番号】 3664 (*)
【 日時 】05/10/13 11:06
【 発言者 】名無し

いつもJW-Winを使用しているのですが
レイヤ変更、グループレイヤ変更をした時に
レイヤ名・グループ名も一緒に移動したいのですが
どうしたらよいのでしょうか?


Indexへ
(3664)←【3671】→(3672)
------------------------
【タイトル】Re(1):レイヤー名について
【記事番号】 3671 (3664)
【 日時 】05/10/13 17:09
【 発言者 】coolyoppe

▼名無しさん:
>いつもJW-Winを使用しているのですが
>レイヤ変更、グループレイヤ変更をした時に
>レイヤ名・グループ名も一緒に移動したいのですが
>どうしたらよいのでしょうか?

こんにちは。

レイヤ名やレイヤグループ名を選択データと共に移動することはできない
仕様です。
「属性変更」、「書込【レイヤ】に変更」等で一緒にということのようですが
範囲選択されたデータが複数のレイヤグループやレイヤにまたがっている場合
も考えられるわけですから、要望するにしても他の形になるかと思います。

確かに、グループ名やレイヤ名を流動的に利用されている方には、レイヤ名も
含めた変更や移動、複写などがもう少し簡単にできる機能があると便利かとは
思います。(例えば、グループ名レイヤ名一覧などが表示されたダイアログで
名前をドラッグするとデータも同時に移動したり複写できたりする等)

ただ、外部変形があるかもしれませんので、情報をお待ち下さい。

ちなみにデータ移動は別になりますが、現状でレイヤ名やグループ名を
移動・複写するには、環境設定ファイルを使う方法が有ります。
詳細は、設定>環境設定ファイル>編集・作成 から、「Sample.jwf」の
1160行目辺りに「◎レイヤー名設定」がありますのでを参照して下さい。
(簡単な手順としては、設定>環境設定ファイル>「書出し」 から、
ファイル名「レイヤ名設定.jwf」等として保存すると現状のグループ名、
レイヤ名が書き出されるので、>「編集・作成」から、そのレイヤ名設定
部分だけにして他を削除、レイヤ名を移動したり複写して、>「読込み」)


Indexへ
(3671)←【3672】→(3695)
------------------------
【タイトル】Re(1):レイヤー名について
【記事番号】 3672 (3664)
【 日時 】05/10/13 17:20
【 発言者 】siegel
【 リンク 】http://homepage2.nifty.com/siegel



▼名無しさん:
>いつもJW-Winを使用しているのですが
>レイヤ変更、グループレイヤ変更をした時に
>レイヤ名・グループ名も一緒に移動したいのですが
>どうしたらよいのでしょうか?

M.Hayashiさんの外部変形「lgycm」はどうでしょう。
http://f884leap.yh.land.to/

任意のグループレイヤ、レイヤ名を、
他のグループレイヤ、レイヤに複写、移動します。
また、エクセルにグループレイヤ、レイヤ一覧を出力します。

ご参考まで(作者様 ありがとうございます。)


Indexへ
(3672)←【3695】//(3666)
------------------------
【タイトル】Re(1):レイヤー名について
【記事番号】 3695 (3664)
【 日時 】05/10/16 18:41
【 発言者 】コジマ

▼名無しさん:
>いつもJW-Winを使用しているのですが
>レイヤ変更、グループレイヤ変更をした時に
>レイヤ名・グループ名も一緒に移動したいのですが
>どうしたらよいのでしょうか?

以前に掲載した、レイヤ間のデータ移動の外部変形に機能を追加してみました。

◎バッチファイル(ファイル名 レイヤ変更.bat)

@REM 別レイヤへデータを一括移動する。
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #zw
REM #bz
REM #ht10
REM #h1
REM #hc移動するデータを範囲選択してください
REM #k 名称移動(データとレイヤ名の移動) 名称移動無(データのみ移動)|名称移動|名称移動無|/_/a
REM #gn
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks レイヤ変更.rb %1
pause

◎スクリプトファイル(ファイル名 レイヤ変更.rb)

$by=[];$ly=[]
while ARGV.size>0
    case argument=ARGV.pop
        when/\/a/
            $lyn=argument[2..-1]
    end
end
    open("temp.txt","r"){|f|
     while line=f.gets
        if line=~/^hs/
            xy=line.split
            xy[1..-1].each{|item|$by<        end
        if line=~/^lg\d$|^lg\d[a-f]$/
            $lg_o=line.chomp
            $lg_i=$lg_o[2,1].hex
        end
        if line=~/^ly[\d]\s+\d\d|^ly[a-f]\s+\d\d/
            ly=line.chomp
        end
        if line=~/^lyn/
            if ly=~/^ly0/;$ly0n=line.chomp;$ly<<[ly,$ly0n];end
            if ly=~/^ly1/;$ly1n=line.chomp;$ly<<[ly,$ly1n];end
            if ly=~/^ly2/;$ly2n=line.chomp;$ly<<[ly,$ly2n];end
            if ly=~/^ly3/;$ly3n=line.chomp;$ly<<[ly,$ly3n];end
            if ly=~/^ly4/;$ly4n=line.chomp;$ly<<[ly,$ly4n];end
            if ly=~/^ly5/;$ly5n=line.chomp;$ly<<[ly,$ly5n];end
            if ly=~/^ly6/;$ly6n=line.chomp;$ly<<[ly,$ly6n];end
            if ly=~/^ly7/;$ly7n=line.chomp;$ly<<[ly,$ly7n];end
            if ly=~/^ly8/;$ly8n=line.chomp;$ly<<[ly,$ly8n];end
            if ly=~/^ly9/;$ly9n=line.chomp;$ly<<[ly,$ly9n];end
            if ly=~/^lya/;$lyan=line.chomp;$ly<<[ly,$lyan];end
            if ly=~/^lyb/;$lybn=line.chomp;$ly<<[ly,$lybn];end
            if ly=~/^lyc/;$lycn=line.chomp;$ly<<[ly,$lycn];end
            if ly=~/^lyd/;$lydn=line.chomp;$ly<<[ly,$lydn];end
            if ly=~/^lye/;$lyen=line.chomp;$ly<<[ly,$lyen];end
            if ly=~/^lyf/;$lyfn=line.chomp;$ly<<[ly,$lyfn];end
            
        end
    end
    }
$deta=[];$ly_a=[];;$ly_c=[]
$deta << "hd\n"

begin
    puts "↓データ移動先のグループレイヤ番号を入力してください(変更無:ENTER 中止:10)"
    lg_s=gets
    if lg_s=="\n";$lg=$lg_o;else;$lg="lg"+lg_s;end
    if $by[$lg_i] != $by[lg_s.chomp.hex] && lg_s.chomp !="10"
        puts "縮尺が違います。次のいずれか入力してください"
        puts "図寸固定で移動 : 0  再入力 : 0以外"
        select=gets
        break if select.chomp=="0"
    end
    if lg_s.chomp=="10"
        break
        open("jwc_temp.txt","w"){|f|f.puts "hq"}
    end
end while ($by[$lg_i] != $by[lg_s.chomp.hex])
if lg_s.chomp!="10"
puts "↓レイヤ0のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly0=gets
if ly0=="\n";ly0c="ly0";else;ly0c="ly"+ly0;end
puts "↓レイヤ1のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly1=gets
if ly1=="\n";ly1c="ly1";else;ly1c="ly"+ly1;end
puts "↓レイヤ2のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly2=gets
if ly2=="\n";ly2c="ly2";else;ly2c="ly"+ly2;end
puts "↓レイヤ3のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly3=gets
if ly3=="\n";ly3c="ly3";else;ly3c="ly"+ly3;end
puts "↓レイヤ4のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly4=gets
if ly4=="\n";ly4c="ly4";else;ly4c="ly"+ly4;end
puts "↓レイヤ5のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly5=gets
if ly5=="\n";ly5c="ly5";else;ly5c="ly"+ly5;end
puts "↓レイヤ6のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly6=gets
if ly6=="\n";ly6c="ly6";else;ly6c="ly"+ly6;end
puts "↓レイヤ7のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly7=gets
if ly7=="\n";ly7c="ly7";else;ly7c="ly"+ly7;end
puts "↓レイヤ8のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly8=gets
if ly8=="\n";ly8c="ly8";else;ly8c="ly"+ly8;end
puts "↓レイヤ9のデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
ly9=gets
if ly9=="\n";ly9c="ly9";else;ly9c="ly"+ly9;end
puts "↓レイヤaのデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
lya=gets
if lya=="\n";lyac="lya";else;lyac="ly"+lya;end
puts "↓レイヤbのデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
lyb=gets
if lyb=="\n";lybc="lyb";else;lybc="ly"+lyb;end
puts "↓レイヤcのデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
lyc=gets
if lyc=="\n";lycc="lyc";else;lycc="ly"+lyc;end
puts "↓レイヤdのデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
lyd=gets
if lyd=="\n";lydc="lyd";else;lydc="ly"+lyd;end
puts "↓レイヤeのデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
lye=gets
if lye=="\n";lyec="lye";else;lyec="ly"+lye;end
puts "↓レイヤfのデータを移動するレイヤ番号を入力してください(変更無:ENTER)"
lyf=gets
if lyf=="\n";lyfc="lyf";else;lyfc="ly"+lyf;end
open("temp.txt","r") { |f|
while line=f.gets

  if line.chomp=~ /^hq/
  elsif line.chomp=~ /^ly0$/
    $deta << ly0c ;$ly_c<<[ly0c,$ly0n]
    $ly_a<<[line.chomp,$ly0n]
  elsif line.chomp=~ /^ly1$/
    $deta << ly1c;$ly_c <<[ly1c,$ly1n]
    $ly_a<<[line.chomp,$ly1n]
  elsif line.chomp=~ /^ly2$/
    $deta << ly2c;$ly_c <<[ly2c,$ly2n]
    $ly_a<<[line.chomp,$ly2n]
  elsif line.chomp=~ /^ly3$/
    $deta << ly3c;$ly_c <<[ly3c,$ly3n]
    $ly_a<<[line.chomp,$ly3n]
  elsif line.chomp=~ /^ly4$/
    $deta << ly4c;$ly_c <<[ly4c,$ly4n]
    $ly_a<<[line.chomp,$ly4n]
  elsif line.chomp=~ /^ly5$/
    $deta << ly5c;$ly_c <<[ly5c,$ly5n]
    $ly_a<<[line.chomp,$ly5n]
  elsif line.chomp=~ /^ly6$/
    $deta << ly6c;$ly_c <<[ly6c,$ly6n]
    $ly_a<<[line.chomp,$ly6n]
  elsif line.chomp=~ /^ly7$/
    $deta << ly7c;$ly_c <<[ly7c,$ly7n]
    $ly_a<<[line.chomp,$ly7n]
  elsif line.chomp=~ /^ly8$/
    $deta << ly8c;$ly_c <<[ly8c,$ly8n]
    $ly_a<<[line.chomp,$ly8n]
  elsif line.chomp=~ /^ly9$/
    $deta << ly9c;$ly_c <<[ly9c,$ly9n]
    $ly_a<<[line.chomp,$ly9n]
  elsif line.chomp=~ /^lya$/
    $deta << lyac;$ly_c <<[lyac,$lyan]
    $ly_a<<[line.chomp,$lyan]
  elsif line.chomp=~ /^lyb$/
    $deta << lybc;$ly_c <<[lybc,$lybn]
    $ly_a<<[line.chomp,$lybn]
  elsif line.chomp=~ /^lyc$/
    $deta << lycc;$ly_c <<[lycc,$lycn]
    $ly_a<<[line.chomp,$lycn]
  elsif line.chomp=~ /^lyd$/
    $deta << lydc;$ly_c <<[lydc,$lydn]
    $ly_a<<[line.chomp,$lydn]
  elsif line.chomp=~ /^lye$/
    $deta << lyec;$ly_c <<[lyec,$lyen]
    $ly_a<<[line.chomp,$lyen]
  elsif line.chomp=~ /^lyf$/
    $deta << lyfc;$ly_c <<[lyfc,$lyfn]
    $ly_a<<[line.chomp,$lyfn]
  elsif line.chomp =~ /^ly\d\s+\d\d|^ly[a-f]\s+\d\d/
        $deta << line.chomp if $lyn !="1"
  elsif line.chomp =~ /^lyn/
        $deta << line.chomp if $lyn !="1"
  elsif line.chomp =~ /^lg\d$|^lg[a-f]$/
    if $lg ==$lg_o
        $deta << line.chomp
    else
        $deta <<$lg
    end
  elsif line.chomp =~ /^lg\d\s+\d\d|^lg[a-f]\s+\d\d/
    $lg11=line.chomp
    if $lg ==$lg_o
        $deta <<$lg11
    else
        st_a=$lg11.split('');st_a[2,1]=$lg[2,1]
        $deta<    end
  else
    $deta << line
  end
end
}

if $lyn=="1"
    a=$ly_c.uniq.collect{|item|[item[0].chomp,item[1]]}
    b=a.sort{|n,i|n[0]<=>i[0]}
    ly_a=[]
    ($ly_a.uniq.sort{|n,i|n[0]<=>i[0]}).each{|item|ly_a<
    ly_c=[]
    b.each{|item|ly_c<    c=ly_a.select{|item|ly_c.include?(item)==false}

    $ly.each{|item|
        d=b.find{|item2|item[0] =~ /#{item2[0]}/}
        e=c.find{|item2|item[0] =~ /#{item2}/}

        if d
            $deta<        elsif e
            $deta<        else
            $deta<        end
    }
end

    $deta<<$lg11;$deta<<"lgn" if $lg_o!=$lg
    open("jwc_temp.txt","w"){|f|
    $deta.each{|item|f.puts item}
}
end