Jw_cad 情報交換室−その3New

 JWW についての情報交換の場としてお使いください
初心者の方などのご相談は Jw_cad 相談 室−その2をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
3 / 334 ツリー    ←次へ | 前へ→

曖昧文字重複処理 補助員 19/4/23(火) 3:12
Re:曖昧文字重複処理 kojima 19/4/23(火) 12:42
Re:曖昧文字重複処理 柳 絮 19/4/23(火) 15:51
Re:曖昧文字重複処理 補助員 19/4/24(水) 1:57
Re:曖昧文字重複処理 kojima 19/4/24(水) 12:46 [NEW]
Re:曖昧文字重複処理 補助員 19/4/25(木) 13:52 [NEW]

曖昧文字重複処理
 補助員  - 19/4/23(火) 3:12 -
協力事務所からJWWデータを いただいたのですがやたらデーターが重いのです

印刷出力では特に気にならないのですが、JWWで文字を拡大してみますと文字が重なっているようです

重複処理を行いましたが軽くなりません

座標ファイルで調べましたら下記のように同じ文字が複数(7個)作画されていました。

文字列に対してのみ複数重なっている状態です。

文字列1つに対してこのような状態です

-------------------------------------------------------------------------
lg0
ly1
lc2
lt1
lw0
cn3
cn"$<MS ゴシック>
#
ly0
cn0 4.99533 4.99533 0.994833 2
cc0
ch -20.2988335 -0.0846664285714205 40.936333 0 "サンプルデータ   ------1.
cn0 4.99533 4.99533 0.994833 2
ch -20.6374995 0.0846665714285741 40.936333 0 "サンプルデータ   -------2.
cn0 4.99533 4.99533 0.994833 2
ch -20.2988335 -0.169333428571431 40.936333 0 "サンプルデータ   -------3.
cn0 4.99533 4.99533 0.994833 2
ch -20.6374995 -0.169333428571431 40.936333 0 "サンプルデータ   -------4.
cn0 4.99533 4.99533 0.994833 2
ch -20.2988335 0.16933357142857 40.936333 0 "サンプルデータ    -------5.
cn0 4.99533 4.99533 0.994833 2
ch -20.6374995 0.16933357142857 40.936333 0 "サンプルデータ    -------6.
cn0 4.99533 4.99533 0.994833 2
ch -20.4681665 -4.28571421906554e-007 40.936333 0 "サンプルデータ -------7.
-----------------------------------------------------------------------------


そこで、このようなあいまいな文字の重複処理が可能な外部変形を探しております。

仕様書でほとんど文字の図面です。一個ずつ消す方法やエディター等で処理する方法も考えましたが

結構大変です。複数枚図面がありますが同じ状態です

処理後の文字位置のずれは、印刷上問題がありませんので 1.を採用して残りは消す方法でよいと
考えますが難しいでしょうか

外部変形で範囲を囲い処理してくれないかと思いました。

当方外部変形を作るまでのスキルがありません

文字ずれ寸法の範囲が調整できれば便利と考えますが、情報がありましたらお教えください

よろしくお願いします。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@i58-95-199-147.s41.a024.ap.plala.or.jp>
・ツリー全体表示

Re:曖昧文字重複処理
 kojima  - 19/4/23(火) 12:42 -
batファイルにrubyスクリプトを記述するタイプの外部変形。
Rubyのインストールが必要。
※この掲示板からコピペすると、行頭に半角スペースが付加される場合があります。(行頭の半角スペースを削除してください)


@REM 重複した文字位置の整理
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #h3
REM #bz
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
pause
goto end
#!ruby -Ks
include Math
def moji_zahyo(moji_x,moji_y,moji_l,moji_arg,moji_h,cc)
case cc
when 0
x,y=moji_x,moji_y
when 1
x=moji_x-moji_l/2*cos(moji_arg)
y=moji_y-moji_l/2*sin(moji_arg)
when 2
x=moji_x-moji_l*cos(moji_arg)
y=moji_y-moji_l*sin(moji_arg)
when 3
x=moji_x+moji_h/2*cos(moji_arg-PI/2)
y=moji_y+moji_h/2*sin(moji_arg-PI/2)
when 4
x=moji_x+moji_h/2*cos(moji_arg-PI/2)-moji_l/2*cos(moji_arg)
y=moji_y+moji_h/2*sin(moji_arg-PI/2)-moji_l/2*sin(moji_arg)
when 5
x=moji_x+moji_h/2*cos(moji_arg-PI/2)-moji_l*cos(moji_arg)
y=moji_y+moji_h/2*sin(moji_arg-PI/2)-moji_l*sin(moji_arg)
when 6
x=moji_x+moji_h*cos(moji_arg-PI/2)
y=moji_y+moji_h*sin(moji_arg-PI/2)
when 7
x=moji_x+moji_h*cos(moji_arg-PI/2)-moji_l/2*cos(moji_arg)
y=moji_y+moji_h*sin(moji_arg-PI/2)-moji_l/2*sin(moji_arg)
when8
x=moji_x+moji_h*cos(moji_arg-PI/2)-moji_l*cos(moji_arg)
y=moji_y+moji_h*sin(moji_arg-PI/2)-moji_l*sin(moji_arg)
end
return x,y
end
moji_zahyo_array=[];hch=[]
puts "hd","bz"
n1=0;n2=0
while ARGF.gets
xy=$_.split
if xy[0]=~/^hq/
elsif xy[0]=~/^hch/
xy.each{|item|hch<<item.to_f}
elsif xy[0]=~/^cn(\d+)/
print $_
cn=$1.to_i
case cn
when 0
moji_h=xy[2].to_f
else
moji_h=hch[cn]
end
elsif xy[0]=~/^cc/
print $_
cc=xy[0][2,1].to_i
elsif xy[0]=~/^ch/
n1 += 1
moji_x=xy[1].to_f
moji_y=xy[2].to_f
moji_l=hypot(xy[4].to_f,xy[3].to_f)
moji_arg=atan2(xy[4].to_f,xy[3].to_f)
x,y=moji_zahyo(moji_x,moji_y,moji_l,moji_arg,moji_h,cc)
if moji_zahyo_array.include?([x.round,y.round])
else
n2 += 1
print $_
moji_zahyo_array<<[x.round,y.round]
end
else
print $_
end
end
printf "h#削除された文字数#{n1-n2}\n"
__END__
:end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko@ai126244141177.61.access-internet.ne.jp>
・ツリー全体表示

Re:曖昧文字重複処理
 柳 絮  - 19/4/23(火) 15:51 -
▼kojimaさん:
お世話になります。
私もそんなデータを頂いた時がありました。
作者は、意図して作図をしたそうでした
(何でも印刷をしたときに
  ハッキリ・クッキリ文字を再現したかったとか・・迷惑w)

動作確認をいたしました。
ありがたく使わせて頂きます。

動作環境
Win-7 64bit JWW7.11 ruby1.91(64bit)

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko@p152210-ipngn2301yosida.nagano.ocn.ne.jp>
・ツリー全体表示

Re:曖昧文字重複処理
 補助員  - 19/4/24(水) 1:57 -
kojima 様

 いつもありがとうございます。
 こんなに早く公開してくださり感謝、感謝です。
 この数日何だったのか?との思いです

 早速この外変使用させていただきました。
 結果
   該当のファイル4回実行することで曖昧な文字の処理ができました。
   1回目  5203 文字処理
   2回目   371 文字処理
   3回目   25 文字処理
   4回目    4 文字処理

   合計  5603 文字処理

大変助かりました。

どれぐらいのずれ距離の処理が可能なのか気になりましたので
 手探りでずれ距離を探ってみました。
 1/1 図面で
 文字を左右上下に0.44mm(当方の場合は0.44mmが限度のように思います)程 度コピーして処理をしてみました
 結果2回で9文字を8文字処理してくれました

RN 様のご指摘も気になりましたので、変更してみました

   該当のファイル3回実行することで曖昧な文字の処理ができました。
   1回目  5203 文字処理
   2回目   368 文字処理
   3回目   32 文字処理
  
   合計  5603 文字処理

 わたくしの考えているオプション入力はこのずれ距離が1mmとか入力できる  と便利かなと考えております。
   図面の 重複処理を行い 次に この外変処理を 行う

 とにかく、すごいですよね

皆様 ありがとうございます

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@i58-95-199-147.s41.a024.ap.plala.or.jp>
・ツリー全体表示

Re:曖昧文字重複処理
[NEW]  kojima  - 19/4/24(水) 12:46 -
▼補助員さん:
> わたくしの考えているオプション入力はこのずれ距離が1mmとか入力できる  と便利かなと考えております。


@REM 重複した文字位置の整理
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #h3
REM #c重複しているとみなす縦横ズレの最大値(図寸) 無指定:1/_/a
REM #bz
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1 > jwc_temp.txt
pause
goto end
#!ruby -Ks
include Math
zure=1
while ARGV.size>1
case argument=ARGV.pop
when /\/a/
zure=argument[2..-1].to_f
end
end
def moji_zahyo(moji_x,moji_y,moji_l,moji_arg,moji_h,cc)
case cc
when 0
x,y=moji_x,moji_y
when 1
x=moji_x-moji_l/2*cos(moji_arg)
y=moji_y-moji_l/2*sin(moji_arg)
when 2
x=moji_x-moji_l*cos(moji_arg)
y=moji_y-moji_l*sin(moji_arg)
when 3
x=moji_x+moji_h/2*cos(moji_arg-PI/2)
y=moji_y+moji_h/2*sin(moji_arg-PI/2)
when 4
x=moji_x+moji_h/2*cos(moji_arg-PI/2)-moji_l/2*cos(moji_arg)
y=moji_y+moji_h/2*sin(moji_arg-PI/2)-moji_l/2*sin(moji_arg)
when 5
x=moji_x+moji_h/2*cos(moji_arg-PI/2)-moji_l*cos(moji_arg)
y=moji_y+moji_h/2*sin(moji_arg-PI/2)-moji_l*sin(moji_arg)
when 6
x=moji_x+moji_h*cos(moji_arg-PI/2)
y=moji_y+moji_h*sin(moji_arg-PI/2)
when 7
x=moji_x+moji_h*cos(moji_arg-PI/2)-moji_l/2*cos(moji_arg)
y=moji_y+moji_h*sin(moji_arg-PI/2)-moji_l/2*sin(moji_arg)
when 8
x=moji_x+moji_h*cos(moji_arg-PI/2)-moji_l*cos(moji_arg)
y=moji_y+moji_h*sin(moji_arg-PI/2)-moji_l*sin(moji_arg)
end
return x,y
end
moji_zahyo_array=[];hch=[]
puts "hd","bz"
n1=0;n2=0
while ARGF.gets
xy=$_.split
if xy[0]=~/^hq/
elsif xy[0]=~/^hch/
xy.each{|item|hch<<item.to_f}
elsif xy[0]=~/^cn(\d+)/
print $_
cn=$1.to_i
case cn
when 0
moji_h=xy[2].to_f
else
moji_h=hch[cn]
end
elsif xy[0]=~/^cc/
print $_
cc=xy[0][2,1].to_i
elsif xy[0]=~/^ch/
n1 += 1
moji_x=xy[1].to_f
moji_y=xy[2].to_f
moji_l=hypot(xy[4].to_f,xy[3].to_f)
moji_arg=atan2(xy[4].to_f,xy[3].to_f)
x,y=moji_zahyo(moji_x,moji_y,moji_l,moji_arg,moji_h,cc)
array=moji_zahyo_array.find{|x1,y1|(x1-x).abs<zure && (y1-y).abs<zure}
unless array
n2 += 1
print $_
moji_zahyo_array<<[x,y]
end
else
print $_
end
end
printf "h#削除された文字数#{n1-n2}\n"
__END__
:end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko@ai126189029005.58.access-internet.ne.jp>
・ツリー全体表示

Re:曖昧文字重複処理
[NEW]  補助員  - 19/4/25(木) 13:52 -
kojima 様 ありがとうございます。

バッチリ動いております。
当方の希望通り、ずれ位置を入力出来るようアップしてくださり感謝、感謝 です。

今後共よろしくお願いします。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@i58-95-199-147.s41.a024.ap.plala.or.jp>
・ツリー全体表示

3 / 334 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
 923480
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3
Jw_cad Copyright (C)1997-2016 Jiro Shimizu & Yoshifumi Tanaka