過去ログ

                                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.文字間隔だけ変更する。

宜しくお願い致します。

 ───────────────────────────────────────  ■題名 : Re:文字サイズ変更の外部変形を探しています。  ■名前 : R.N  ■日付 : 17/6/9(金) 20:07  -------------------------------------------------------------------------
   ▼kenjiさん:
>外部から頂いた他CADデータが沢山有り、文字サイズに関して変更枚数が多くて困っています。
> 以下の外部変形を御存じないでしょうか?
>
> 1.任意サイズ文字で、横幅を縦高に、縦高を横幅に、のように合わせられる。
> 2.文字のサイズを、1.2倍とか倍数を入力して変更する。
> 3.文字間隔だけ変更する。
>
> 宜しくお願い致します。

こんにちは、

他CADデータを、JWWデータに変換されてると思いますが、
変換方法には、色々ありますし、再現性も色々です。
どのような方法で、変換されてるのでしょうか?

それによって、根本的なことから、糸口が見つかるかもしれません。

(本体機能で上記変換ができないことはないのですが、面倒---ということでしょうから)

 ───────────────────────────────────────  ■題名 : Re:文字サイズ変更の外部変形を探しています。  ■名前 : kenji  ■日付 : 17/6/10(土) 1:58  -------------------------------------------------------------------------
   ▼R.Nさん:

こんにちは、

頂いた設計図データから竣工図を作るんですが、
仕様書等で、文字列の途中の選択肢の・に○が円で書かれていたり、
途中が無い文字や記号を線で表している場合にズレが出ています。
又、引き出し線が左側に書かれている場合は良いのですが、
右側に書かれているとズレが激しいのです。
同じ物件の数百枚でも、図面によってまちまちで、
先の投稿で挙げた1が良い場合と2が良い場合3が良い場合があります。

標準機能では、文字種1から10まで、横幅だけ、高さだけ、間隔だけとか変更は簡単ですが、
任意サイズ文字では、それが出来ないので困っています。
使われている任意サイズが多くて、属性選択の近似値で選択して変更していますが、
1枚の図面に15回以上するときもあります。

 ───────────────────────────────────────  ■題名 : Re:文字サイズ変更の外部変形を探しています。  ■名前 : kojima  ■日付 : 17/6/9(金) 22:05  -------------------------------------------------------------------------
   ▼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

 ───────────────────────────────────────  ■題名 : Re:文字サイズ変更の外部変形を探しています。  ■名前 : kenji  ■日付 : 17/6/10(土) 2:31  -------------------------------------------------------------------------
   ▼kojimaさん:

こんにちは、

わざわざ外部変形を作って頂き恐縮です。

> 1.任意サイズ文字で、横幅を縦高に、縦高を横幅に、のように合わせられる。
説明が悪くて済みません。
横幅と縦高を入れ替えるのでは無く、どちらかに合わせて同じ数値にしたいのです。
変更できますでしょうか?

2. 3.に関しては、要望通りで完璧です。

宜しくお願い致します。

 ───────────────────────────────────────  ■題名 : Re:文字サイズ変更の外部変形を探しています。  ■名前 : kojima  ■日付 : 17/6/10(土) 20:04  -------------------------------------------------------------------------
   @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

 ───────────────────────────────────────  ■題名 : Re:文字サイズ変更の外部変形を探しています。  ■名前 : O.M  ■日付 : 17/6/11(日) 6:03  -------------------------------------------------------------------------
   ▼kenjiさん:
昔同じような質問を見てExcelで外部変形を作ったことがあります。
※動作にはエクセルが必要です。

ダウンロード
http://nekobasu83.webdeki-bbs.com/nekobasu83_tree_r_9.html

説明
http://blog.livedoor.jp/nekobasu83/archives/19404772.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 618