Indexへ
(16010)//【15927】→(15931)
------------------------
【タイトル】文字色による属性選択
【記事番号】 15927 (*)
【 日時 】04/04/15 03:15
【 発言者 】zun

こんにちは。わからないので質問させてください。

文字の色で、属性選択することは可能でしょうか?
というのも、ほかのCADからDXF変換してJWで開くと、
文字種がすべて任意サイズになり大きさもばらばらになりますが、
色で区分けがされているので、この色別にレイヤを分けたいのです。

任意サイズになってしまうので文字種による属性選択はできないですし、
また同じサイズの文字で色が違うものも混ざっています。

線の場合は線色による属性選択ができるので、
文字も、色による属性選択はできないものでしょうか?

どなたかわかる方がいましたら、よろしくお願いいたします。


Indexへ
(15927)←【15931】→(15952)
------------------------
【タイトル】Re(1):文字色による属性選択
【記事番号】 15931 (15927)
【 日時 】04/04/15 09:55
【 発言者 】コジマ

▼zunさん:
>こんにちは。わからないので質問させてください。
>
>文字の色で、属性選択することは可能でしょうか?
>というのも、ほかのCADからDXF変換してJWで開くと、
>文字種がすべて任意サイズになり大きさもばらばらになりますが、
>色で区分けがされているので、この色別にレイヤを分けたいのです。
>
>任意サイズになってしまうので文字種による属性選択はできないですし、
>また同じサイズの文字で色が違うものも混ざっています。
>
>線の場合は線色による属性選択ができるので、
>文字も、色による属性選択はできないものでしょうか?
>
>どなたかわかる方がいましたら、よろしくお願いいたします。


文字の、色による属性選択はできないようですね。

任意文字の属性選択は以下のとうりです。

属性選択→文字種類選択→任意サイズ→幅又は高さにチェックをいれる。

必要ならば、フォント選択→書体を選択。さらに必要ならば、太字選択又は斜体選択

太字以外選択又は斜体以外、選択。


文字選択の要素は、幅、高さ、書体、太字、太字以外、斜体、斜体以外。


Indexへ
(15931)←【15952】→(15985)
------------------------
【タイトル】外部変形
【記事番号】 15952 (15927)
【 日時 】04/04/15 14:18
【 発言者 】コジマ

外部変形を作ってみましたので、よろしかったら試してください。
(ActiveRubyスクリプト)

この外部変形を実行するには、ActiveRubyのインストールが必要です。
牛渡さんのサイトで入手できます。
http://homepage2.nifty.com/ushiwatari/

尚、この外部変形は、任意文字しか対応しません。
コピペ後、全角スペースを半角スペースに一括置換してください。

◎バッチファイル(ファイル名 文字色レイヤ.bat で保存してください。)

REM 任意文字色別のレイヤ変更
echo off
REM #jww
REM #cd
REM #c文字色1の変更レイヤ  無指定(0)  :/_/a
REM #c文字色2の変更レイヤ  無指定(0)  :/_/b
REM #c文字色3の変更レイヤ  無指定(0)  :/_/c
REM #c文字色4の変更レイヤ  無指定(0)  :/_/d
REM #c文字色5の変更レイヤ  無指定(0)  :/_/e
REM #c文字色6の変更レイヤ  無指定(0)  :/_/f
REM #c文字色7の変更レイヤ  無指定(0)  :/_/g
REM #c文字色8の変更レイヤ  無指定(0)  :/_/h
REM #h3
REM #e
copy jwc_temp.txt temp.txt > nul
cscript //nologo 文字色レイヤ変更.rb temp.txt %1 %2 %3 %4 %5 %6 %7 %8 > jwc_temp.txt

◎スクリプトファイル(ファイル名 文字色レイヤ変更.rb  で保存してください。)

#任意文字色別のレイヤ分け 外部変形Rubyスクリプト
BEGIN{
print "hd\n"
# 選択したデータの削除
$a="ly"+"0"+"\n";$b="ly"+"0"+"\n"
$c="ly"+"0"+"\n";$d="ly"+"0"+"\n"
$e="ly"+"0"+"\n";$f="ly"+"0"+"\n"
$g="ly"+"0"+"\n";$h="ly"+"0"+"\n"
while ARGV.length > 1
case argument=ARGV.pop
when/^\/a/
$a="ly"+argument[2..-1]+"\n"
when/^\/b/
$b="ly"+argument[2..-1]+"\n"
when/^\/c/
$c="ly"+argument[2..-1]+"\n"
when/^\/d/
$d="ly"+argument[2..-1]+"\n"
when/^\/e/
$e="ly"+argument[2..-1]+"\n"
when/^\/f/
$f="ly"+argument[2..-1]+"\n"
when/^\/g/
$g="ly"+argument[2..-1]+"\n"
when/^\/h/
$h="ly"+argument[2..-1]+"\n"
end
end
}
def main
while ARGF.gets
  case $_ # 読込んだ行データを検査
  when /^hq/
  # 未実行チェック 何もしない
  when /^ly/  
  xy=split
   $mojily=xy[0]
  when /^cn/
  xy=split
  if xy[0]=="cn0"
    if xy[4]=="1"; print $_;print $a;end
    if xy[4]=="2"; print $_;print $b;end
    if xy[4]=="3"; print $_;print $c;end
    if xy[4]=="4"; print $_;print $d;end
    if xy[4]=="5"; print $_;print $e;end
    if xy[4]=="6"; print $_;print $f;end
    if xy[4]=="7"; print $_;print $g;end
    if xy[4]=="8"; print $_;print $h;end
  else
  print $_
  print $mojily+"\n"
  end
  else
  print $_ # データの書き戻し
 end
end
end
main()


Indexへ
(15952)←【15985】//(15930)
------------------------
【タイトル】Re(1):外部変形
【記事番号】 15985 (15952)
【 日時 】04/04/16 07:00
【 発言者 】zun

▼コジマさん:
返信ありがとうございます。
わざわざ外部変形まで作ってくださりまことにありがとうございます。
試してみたところうまくできました。
これで仕事の能率も上がりそうです。
ありがとうございました。