| 横から失礼します。
文字色を変えずにサイズのみを一括変更するような作業はしたことがありませんが・・ Jw_cadの基本機能では一括変更はできないようです。(T_T)
そうなると専用の外部変形を作成しなければならないようです。 一応試作して動作を確認しましたが確かに利用価値はあるかも しれません。
以下は既存文字、寸法値のサイズを一括(個別選択も可)変更する スクリプト兼用バッチファイルの一例です。
この掲示板に於いてスクリプトを貼る行為が禁止されていましたら 削除願います。 m(_ _)m
文字基点、文字色、レイヤ等は既存文字を継承します。 なるべく簡易に使用できるように細かい設定は省いてあります。 注意点はバッチファイルに記してあります。
この外部変形にはmswin32Ruby1.8.1が必要です。 下記のhikari様の JWW外変環境設定支援ソフト J_GARU Ver2.0 というソフトで自動導入できます。 尚、導入する前にHPの説明を熟読して下さい。 http://officehikari.art-studio.cc/
以下、Lite & Seen Lite のMiyakeさんの手法に基づくスクリプト兼用バッチファイルです。 http://www17.ocn.ne.jp/~lite/
バッチファイル名は mojiSize.bat としてください。 #######下記から:ENDまでメモ帳にコピペしで全角スペース→半角スペースの置換をしてください。 @REM 文字サイズ変更(文字色継承) @echo off goto do%1 rem rem ---------------------------------------------------------------- rem ※このファイルを編集した場合は上書き保存して閉じてください。 rem ---------------------------------------------------------------- rem REM #jww REM #cd REM #hm |文字寸法値|寸法図形共|BAT 編集| REM #:1 REM #h3 REM #g1 全グループ対象(書込みグレープのみ場合は g0 ) REM #hc 文字または寸法値を範囲選択(寸法図形の寸法値対象外) REM #c サイズ入力 図寸mm [幅-高さ-間隔] 無指定 書込み文字サイズ /_/a REM #zz 寸法属性書出し REM #zc 文字基点書出し REM #bz 図寸書出し REM #hr REM #e REM #:2 REM #h2 REM #g1 全グループ対象(書込みグレープのみ場合は g0 ) REM #hc 文字または寸法値(寸法図形の寸法値共)を範囲選択 REM #c サイズ入力 図寸mm [幅-高さ-間隔] 無指定 書込み文字サイズ /_/a REM #ht10 ブロック図形の書出しをしない REM #ht20 曲線の書出しをしない REM #ht40 ソリッドの書出しをしない REM #zz 属性書出し REM #zc 文字基点書出し REM #zw 線幅書出し REM #bz 図寸書出し REM #hr REM #e REM #:3 REM #h0 REM #hr REM #e :do1 :do2 copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %1 %2 > jwc_temp.txt del temp.txt rem pause exit goto END :do3 start notepad.exe mojiSize.bat echo # > jwc_temp.txt goto END #!ruby ##### 注意点 ######################################################## # # 1.対象文字列は全レイヤグループです。 # # 2.文字列を個別選択したい場合は範囲選択の後項目1の場合は左右クリック # 項目2の場合は右クリックで追加取得できます。 # # 3.サイズ入力は半角数字で幅、高さ、間隔の順に"-"でつなげて入力して # ください。 # サイズ設定可能範囲(図寸mm) 幅0.11〜100:高さ0.11〜100:間隔0〜100 # < 例 > 幅5.5mm 高さ4mm 間隔2.2mm → 5.5-4-2.2 # ※ 無指定の場合は書込み文字種のサイズとなります。 # # 4.変更後の文字列は変更前の文字列(寸法値)のグループ、レイヤ、文字色 # フォント、文字基点、寸法属性を継承した任意サイズとなります。 # ※ 項目2に於いては寸法図形の寸法属性は解除されます。 # # 5.この外部変形はデータを書換えており思わぬ不具合があるかもしれません # ので十分注意して下さい。 # 問題が発生した場合は使用を中止してください。 # ####################################################################### size="0" while ARGV.size > 1 case argument=ARGV.pop when /\/a/ size = argument[2..-1].to_s end end if size != "0" begin whd = size.split(/-/) whd.collect!{ |item| sprintf("%0.2f",item).to_f } w,h,d=whd[0],whd[1],whd[2] if (w<0.11||w>100)||(h<0.11||h>100)||(d<0||d>100) puts "he サイズ入力エラー。"; exit end rescue puts "he サイズ入力エラー。"; exit end end wsize = [] while ARGF.gets if $_ =~ /^hq/ puts "hd" elsif $_ =~ /^hcw/ moji_w = split elsif $_ =~ /^hch/ moji_h = split elsif $_ =~ /^hcd/ moji_d = split elsif $_ =~ /^hcc/ moji_c = split elsif $_ =~ /^cn[0-9]/ if $_ =~ /^cn0/ cn0 = split wsize << [cn0[1],cn0[2],cn0[3]] c = cn0[4] elsif $_ =~ /^cn[1-9]/ cn=$_[2..-1].to_i wsize << [moji_w[cn],moji_h[cn],moji_d[cn]] c = moji_c[cn] end if size=="0" w,h,d = wsize[0][0],wsize[0][1],wsize[0][2] end puts ["cn0",w,h,d,c].join("\s") else print end end :END ##########以上です。
|