Page 618 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼文字サイズ変更の外部変形を探しています。 kenji 17/6/8(木) 19:18 ┣Re:文字サイズ変更の外部変形を探しています。 R.N 17/6/9(金) 20:07 ┃ ┗Re:文字サイズ変更の外部変形を探しています。 kenji 17/6/10(土) 1:58 ┣Re:文字サイズ変更の外部変形を探しています。 kojima 17/6/9(金) 22:05 ┃ ┣Re:文字サイズ変更の外部変形を探しています。 kenji 17/6/10(土) 2:31 ┃ ┗Re:文字サイズ変更の外部変形を探しています。 kojima 17/6/10(土) 20:04 ┗Re:文字サイズ変更の外部変形を探しています。 O.M 17/6/11(日) 6:03 ─────────────────────────────────────── ■題名 : 文字サイズ変更の外部変形を探しています。 ■名前 : kenji ■日付 : 17/6/8(木) 19:18 -------------------------------------------------------------------------
外部から頂いた他CADデータが沢山有り、文字サイズに関して変更枚数が多くて困っています。 以下の外部変形を御存じないでしょうか? 1.任意サイズ文字で、横幅を縦高に、縦高を横幅に、のように合わせられる。 2.文字のサイズを、1.2倍とか倍数を入力して変更する。 3.文字間隔だけ変更する。 宜しくお願い致します。 |
▼kenjiさん: >外部から頂いた他CADデータが沢山有り、文字サイズに関して変更枚数が多くて困っています。 > 以下の外部変形を御存じないでしょうか? > > 1.任意サイズ文字で、横幅を縦高に、縦高を横幅に、のように合わせられる。 > 2.文字のサイズを、1.2倍とか倍数を入力して変更する。 > 3.文字間隔だけ変更する。 > > 宜しくお願い致します。 こんにちは、 他CADデータを、JWWデータに変換されてると思いますが、 変換方法には、色々ありますし、再現性も色々です。 どのような方法で、変換されてるのでしょうか? それによって、根本的なことから、糸口が見つかるかもしれません。 (本体機能で上記変換ができないことはないのですが、面倒---ということでしょうから) |
▼R.Nさん: こんにちは、 頂いた設計図データから竣工図を作るんですが、 仕様書等で、文字列の途中の選択肢の・に○が円で書かれていたり、 途中が無い文字や記号を線で表している場合にズレが出ています。 又、引き出し線が左側に書かれている場合は良いのですが、 右側に書かれているとズレが激しいのです。 同じ物件の数百枚でも、図面によってまちまちで、 先の投稿で挙げた1が良い場合と2が良い場合3が良い場合があります。 標準機能では、文字種1から10まで、横幅だけ、高さだけ、間隔だけとか変更は簡単ですが、 任意サイズ文字では、それが出来ないので困っています。 使われている任意サイズが多くて、属性選択の近似値で選択して変更していますが、 1枚の図面に15回以上するときもあります。 |
▼kenjiさん: >外部から頂いた他CADデータが沢山有り、文字サイズに関して変更枚数が多くて困っています。 > 以下の外部変形を御存じないでしょうか? > > 1.任意サイズ文字で、横幅を縦高に、縦高を横幅に、のように合わせられる。 > 2.文字のサイズを、1.2倍とか倍数を入力して変更する。 > 3.文字間隔だけ変更する。 > > 宜しくお願い致します。 本当に実用的なのか? ですが、 横幅と縦高の入替、一括拡大、文字間隔だけの変更は可能です。 バッチファイルにRubyスクリプトを記述するタイプの外部変形です。 Rubyのインストール等の方法は割愛します。 @REM 文字の幅・高入替/一括拡大/間隔変更 @echo off goto %1 REM #jww REM #cd REM #hm|1)幅・高入替(L)|2)一括拡大(R)|3)間隔変更| REM #:1 REM #zz REM #zc REM #h3 REM #bz REM #e REM #:2 REM #zz REM #zc REM #h3 REM #c拡大率 無指定:1/_/a REM #bz REM #e REM #:3 REM #zz REM #zc REM #h3 REM #c文字間隔(図寸) 無指定:0/_/a REM #bz REM #e :1 echo h#1> test.txt copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt > jwc_temp.txt pause goto end :2 echo h#2> test.txt copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %2 > jwc_temp.txt pause goto end :3 echo h#3> test.txt copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %2 > jwc_temp.txt pause goto end #!ruby -Ks def moji_a(file,hcw,hch,hcd,hcc) f=open(file,"r") while f.gets xy=$_.split if xy[0]=~/^hcw/ xy.each{|item|hcw<<item.to_f} elsif xy[0]=~/^hch/ xy.each{|item|hch<<item.to_f} elsif xy[0]=~/^hcd/ xy.each{|item|hcd<<item.to_f} elsif xy[0]=~/^hcc/ xy.each{|item|hcc<<item.to_i} end end f.close end def moji_syu(xy,hcw,hch,hcd,hcc) if xy.size==1 i=xy[0][2..-1].to_i moji_w=hcw[i] moji_h=hch[i] moji_d=hcd[i] moji_c=hcc[i] else moji_w=xy[1].to_f moji_h=xy[2].to_f moji_d=xy[3].to_f moji_c=xy[4].to_i end return moji_w,moji_h,moji_d,moji_c end spec="" open("test.txt","r"){|f|spec=f.gets} hcw=[];hch=[];hcd=[];hcc=[] moji_a("temp.txt",hcw,hch,hcd,hcc) puts "hd" if spec=~/^h#1/ while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^cn(\d+)/ moji_w,moji_h,moji_d,moji_c=moji_syu(xy,hcw,hch,hcd,hcc) puts "cn0 #{moji_h} #{moji_w} #{moji_d} #{moji_c}" else print $_ end end elsif spec=~/^h#2/ by=1.0 while ARGV.size>1 case argument=ARGV.pop when /\/a/ by=argument[2..-1].to_f end end while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^cn(\d+)/ moji_w,moji_h,moji_d,moji_c=moji_syu(xy,hcw,hch,hcd,hcc) puts "cn0 #{moji_w*by} #{moji_h*by} #{moji_d*by} #{moji_c}" else print $_ end end else moji_d2=0 while ARGV.size>1 case argument=ARGV.pop when /\/a/ moji_d2=argument[2..-1].to_f end end while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^cn(\d+)/ moji_w,moji_h,moji_d,moji_c=moji_syu(xy,hcw,hch,hcd,hcc) puts "cn0 #{moji_w} #{moji_h} #{moji_d2} #{moji_c}" else print $_ end end end __END__ :end |
▼kojimaさん: こんにちは、 わざわざ外部変形を作って頂き恐縮です。 > 1.任意サイズ文字で、横幅を縦高に、縦高を横幅に、のように合わせられる。 説明が悪くて済みません。 横幅と縦高を入れ替えるのでは無く、どちらかに合わせて同じ数値にしたいのです。 変更できますでしょうか? 2. 3.に関しては、要望通りで完璧です。 宜しくお願い致します。 |
@REM 文字の幅・高を同寸に/一括拡大/間隔変更 @echo off goto %1 REM #jww REM #cd REM #hm|1)幅高同寸(L)|2)一括拡大(R)|3)間隔変更| REM #:1 REM #zz REM #zc REM #h3 REM #k|高→幅に(L)|幅→高に(R)|/_/a REM #bz REM #e REM #:2 REM #zz REM #zc REM #h3 REM #c拡大率 無指定:1/_/a REM #bz REM #e REM #:3 REM #zz REM #zc REM #h3 REM #c文字間隔(図寸) 無指定:0/_/a REM #bz REM #e :1 echo h#1> test.txt copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %2 > jwc_temp.txt pause goto end :2 echo h#2> test.txt copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %2 > jwc_temp.txt pause goto end :3 echo h#3> test.txt copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %2 > jwc_temp.txt pause goto end #!ruby -Ks def moji_a(file,hcw,hch,hcd,hcc) f=open(file,"r") while f.gets xy=$_.split if xy[0]=~/^hcw/ xy.each{|item|hcw<<item.to_f} elsif xy[0]=~/^hch/ xy.each{|item|hch<<item.to_f} elsif xy[0]=~/^hcd/ xy.each{|item|hcd<<item.to_f} elsif xy[0]=~/^hcc/ xy.each{|item|hcc<<item.to_i} end end f.close end def moji_syu(xy,hcw,hch,hcd,hcc) if xy.size==1 i=xy[0][2..-1].to_i moji_w=hcw[i] moji_h=hch[i] moji_d=hcd[i] moji_c=hcc[i] else moji_w=xy[1].to_f moji_h=xy[2].to_f moji_d=xy[3].to_f moji_c=xy[4].to_i end return moji_w,moji_h,moji_d,moji_c end spec="" open("test.txt","r"){|f|spec=f.gets} hcw=[];hch=[];hcd=[];hcc=[] moji_a("temp.txt",hcw,hch,hcd,hcc) puts "hd" if spec=~/^h#1/ while ARGV.size>1 case argument=ARGV.pop when /\/a/ av=argument[2..-1].to_i end end while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^cn(\d+)/ moji_w,moji_h,moji_d,moji_c=moji_syu(xy,hcw,hch,hcd,hcc) if av==1 puts "cn0 #{moji_w} #{moji_w} #{moji_d} #{moji_c}" else puts "cn0 #{moji_h} #{moji_h} #{moji_d} #{moji_c}" end else print $_ end end elsif spec=~/^h#2/ by=1.0 while ARGV.size>1 case argument=ARGV.pop when /\/a/ by=argument[2..-1].to_f end end while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^cn(\d+)/ moji_w,moji_h,moji_d,moji_c=moji_syu(xy,hcw,hch,hcd,hcc) puts "cn0 #{moji_w*by} #{moji_h*by} #{moji_d*by} #{moji_c}" else print $_ end end else moji_d2=0 while ARGV.size>1 case argument=ARGV.pop when /\/a/ moji_d2=argument[2..-1].to_f end end while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^cn(\d+)/ moji_w,moji_h,moji_d,moji_c=moji_syu(xy,hcw,hch,hcd,hcc) puts "cn0 #{moji_w} #{moji_h} #{moji_d2} #{moji_c}" else print $_ end end end __END__ :end |
▼kenjiさん: 昔同じような質問を見てExcelで外部変形を作ったことがあります。 ※動作にはエクセルが必要です。 ダウンロード http://nekobasu83.webdeki-bbs.com/nekobasu83_tree_r_9.html 説明 http://blog.livedoor.jp/nekobasu83/archives/19404772.html |