Indexへ
(*)//【29987】→(29996)
------------------------
【タイトル】外変の三斜計算について
【記事番号】 29987 (*)
【 日時 】08/07/04 11:33
【 発言者 】katsu

外変の三斜計算[JWW_SMPL.BAT]の設定で
楕円を[円]に変更し、線色を[2]にしたいのですが、
BATファイルの何処を変えて良いのか分かりません。

何処を変更すれば良いのかどなたか教えて下さい。


Indexへ
(29987)←【29996】→(30002)
------------------------
【タイトル】Re(1):外変の三斜計算について
【記事番号】 29996 (29987)
【 日時 】08/07/04 17:56
【 発言者 】hayabusa

katsuさん、こんばんは。

JWW_SMPL.BATでは番号枠を円で作図する事は出来ないようです。
下記のバッチファイルで一応可能となります。

この外部変形はmswin32ruby1.6系及び1.8系が前提です。
hikari様のJ_GARU Ver2.0というソフトで自動導入できます。
正常に導入された場合は|BAT 編集 R|項目をクリックしますと左上に
ruby 1.8.1が表示されます。

下記、バッチファイルをJWW_SMPL.EXE(win32版)と 同じディレクトリ( 通常はC:\jww )
に置いて下さい。
以下、Lite & Seen Lite のMiyakeさんの手法に基づくスクリプト兼用バッチファイルです。

バッチファイル名は「JWW_SMPLen.BAT」としてください。
######下記よりメモ帳にコピペして全角スペース→半角スペースの置換してください。
@REM 三斜計算(円枠対応)
@echo off
goto do%1
rem
rem ----------------------------------------------------------------
rem ※このファイルを編集した場合は上書き保存して閉じてください。
rem ※ファイルを閉じなくても編集は反映されます。
rem ※番号枠の設定はこのバッチファイルの63行目からです。
rem ----------------------------------------------------------------
rem
REM #jww
REM #cd
REM #hm |三斜計算 L|BAT 編集 R|
REM #:1
REM #h1
REM #g0 書込みグループのみ選択対象(全グループの場合はg1)
REM #hc 【 三 斜 計 算 】 三角形を選択(三角形の辺 200 まで)
REM #0 数値書き込み位置指示 (L)free (R)Read
REM #f 敷地名称(無指定 無)  : /_$1"
REM #c 初期番号指定( 1〜8001 無指定:1 ) : /_/N
REM #c レイヤ指定( 0〜F 無指定:書込レイヤ ) : /_/L
REM #ht10 ブロック図形の書出しをしない
REM #ht40 ソリッドの書出しをしない
REM #hr
REM #e
REM #:2
REM #h0
REM #hr
REM #e
rem ---------------------------------------------------------------------
rem  起動オプション(IME ON)
rem  #f 敷  地  名  称  : /_$1"
rem  起動オプション(IME OFF)
rem  #c 番号の前に追加する文字 : /_$2"
rem
rem  オプション説明(指定レイヤに作図)
rem  /N* :初期番号指定       「*」  は初期No[1〜8001]  (無指定:1)
rem  /L* :レイヤ指定        「*」  はレイヤNo[0〜F]  (無指定:書込レイヤ)
rem  /M* :文字種類を指定      「*」  は文字種類No[1〜10] (無指定:2)
rem  /K* :小数点以下有効桁数を指定 「*」  は桁数No[1〜3]   (無指定:2)
rem  /T* :三角形頂点に点を作図   「*」  は点種類No[1〜9]  (無指定:1)
rem  /E*.*:三角形頂点に円を作図   「*.*」 は円半径[図寸 mm]  (無指定:1.0)
rem  /H* :三角形の辺を作図     「*」  は線色No[1〜9]   (無指定:1)
rem
rem  /C  :指定小数点以下桁数未満を切捨で寸法値作図 (無指定:四捨五入)
rem  /S  :敷地面積(小数点以下3桁を切捨)を作図
rem ----------------------------------------------------------------------
:do1
JWW_SMPL.EXE /M3 /K3 /E1.5 /C /S %1 %2 %3 %4
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
rem del temp.txt
rem pause
exit
goto END
:do2
start notepad.exe JWW_SMPLen.BAT
ruby -e 'puts "h# ruby #{RUBY_VERSION} "' > jwc_temp.txt
goto END
#!ruby -Ks
#============= 設 定 ===================================================
#
waku_en = "1" #番号枠種類    (楕円枠 → 0 : 円枠 → 1 : 枠無 → 2)
waku_lc = "2" #番号枠線色    (1〜9) 0の場合はJWW_SMPL.EXE既定線色
line_lc = "0" #表枠,辺,頂点円線色(1〜9) 0の場合はJWW_SMPL.EXE既定線色
#
#=======================================================================
lcs = []
while ARGF.gets
 if $_ =~ /^ci/
  data = split
  if data.size == 8
   if waku_lc == "0"
    puts lcs[-1]
   else
    puts "lc"+waku_lc
   end
   if waku_en == "1"
    puts data[0,4].join("\s")
   elsif waku_en == "0"
    print
   elsif waku_en == "2"
   else
    puts "he 枠種類設定エラー"; exit
   end
  else
   print
  end
 elsif $_ =~ /^lc/
  if line_lc == "0"
   print
  else
   puts "lc"+line_lc
  end
  lcs << $_
 else
  print
 end
end
:END
############以上です。


Indexへ
(29996)←【30002】→(30012)
------------------------
【タイトル】Re(1):外変の三斜計算について
【記事番号】 30002 (29987)
【 日時 】08/07/05 07:55
【 発言者 】入門者

 katsuさん
 こんにちは、お世話に成ります。

>外変の三斜計算[JWW_SMPL.BAT]の設定で
>楕円を[円]に変更し、線色を[2]にしたいのですが、
>BATファイルの何処を変えて良いのか分かりません。

 プログラム部分が隠れているのでしょうか?
隠れたプログラムを現せない様ですね。考え様がないですね。

>楕円を[円]に変更し、線色を[2]にしたいのですが、何処を変更すれば良いのかどなたか教えて下さい。

座標ファイルにファイル書込し黄色い楕円のみをすべて範囲選択し基準点変更で読取点を確定しておき選択確定し、ファイル編集で現れたメモ帳の#以下のlc4を
lc2に変更しci以降の数値の三番目を70%数値に変更し四番目以降を削除してメモ帳を上書き保存(S)して終了します。ファイル読込し確定して置いた読取点を右クリックし黄色い楕円のみをすべて削除します。


Indexへ
(30002)←【30012】→(30016)
------------------------
【タイトル】Re(2):外変の三斜計算について
【記事番号】 30012 (30002)
【 日時 】08/07/07 10:49
【 発言者 】katsu

hayabusa様,入門者様

回答ありがとうございました。
hayabusa様の方法で解決致しました。
仕事で入り組んだ形の求積を行うことが多く
酷い時は500番位になるため、いつも
苦労しておりました。
これで作業時間の短縮が出来ると思います。
本当にありがとうございました。


Indexへ
(30012)←【30016】→(30024)
------------------------
【タイトル】Re(3):一部訂正です。
【記事番号】 30016 (30012)
【 日時 】08/07/07 21:20
【 発言者 】hayabusa

katsuさん、こんばんは。

過日のJWW_SMPL.BATのオプションの説明にて点種[1〜9]
三角形の辺線色[1〜9]と記述してありますがそれぞれ
[1〜6]の誤りです。

そこで少しスクリプトが長くなりますが全ての線属性を
[1〜9]に個別設定できるように修正しました。

バッチファイル名は「JWW_SMPLen.BAT」としてください。
######下記よりメモ帳にコピペして全角スペース→半角スペースの置換してください。
@REM 三斜計算(円枠対応)
@echo off
goto do%1
rem
rem ----------------------------------------------------------------
rem ※このファイルを編集した場合は上書き保存して閉じてください。
rem ※ファイルを閉じなくても編集は反映されます。
rem
rem ※全てのオプションをコマンドラインに設定してありますので環境
rem  に応じて適宜修正して下さい。
rem
rem ※作図設定はこのバッチファイルの68行目からです。
rem ----------------------------------------------------------------
rem
REM #jww
REM #cd
REM #hm |三斜計算 L|BAT 編集 R|
REM #:1
REM #h1
REM #g0 書込みグループのみ選択対象(全グループの場合はg1)
REM #hc 【 三 斜 計 算 】 三角形を選択(三角形の辺 200 まで)
REM #0 数値書き込み位置指示 (L)free (R)Read
REM #f 敷地名称(無指定 無)  : /_$1"
REM #c 番号の前に追加する文字(無指定 無) : /_$2"
REM #ht10 ブロック図形の書出しをしない
REM #ht40 ソリッドの書出しをしない
REM #hr
REM #e
REM #:2
REM #h0
REM #hr
REM #e
rem ---------------------------------------------------------------------------
rem  起動オプション(IME ON)
rem  #f 敷  地  名  称  : /_$1"
rem  起動オプション(IME OFF)
rem  #c 番号の前に追加する文字 : /_$2"
rem
rem  オプション説明(指定レイヤに作図)
rem  /N* :初期番号指定       「*」  は初期No[1〜8001]  (無指定:1)
rem  /L* :レイヤ指定        「*」  はレイヤNo[0〜F]  (無指定:書込レイヤ)
rem  /M* :文字種類を指定      「*」  は文字種類No[1〜10] (無指定:2)
rem  /K* :小数点以下有効桁数を指定 「*」  は桁数No[1〜3]   (無指定:2)
rem  /T* :三角形頂点に点を作図   「*」  は点種類No[1〜6]  (無指定:1)
rem  /E*.*:三角形頂点に円を作図   「*.*」 は円半径[図寸 mm]  (無指定:1.0)
rem  /H* :三角形の辺を作図     「*」  は線色No[1〜6]   (無指定:1)
rem
rem  /C  :指定小数点以下桁数未満を切捨で寸法値作図 (無指定:四捨五入)
rem  /S  :敷地面積(小数点以下3桁を切捨)を作図
rem
rem  ※頂点点種、枠線色はNo[1〜9]の範囲内で再設定できます。
rem ----------------------------------------------------------------------------
:do1
JWW_SMPL.EXE /N1 /LF /M3 /K3 /T /E1.5 /H /C /S %1 %2 %3
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
del temp.txt
rem pause
exit
goto END
:do2
start notepad.exe JWW_SMPLen.BAT
ruby -e 'puts "h# ruby #{RUBY_VERSION} "' > jwc_temp.txt
goto END
#!ruby -Ks
#============= 設 定 =============================================
#
waku_en = "1"  #番号枠種類(楕円枠 → 0 : 円枠 → 1 : 枠無 → 2)
waku_lc = "2"  #番号枠線色(1〜9)      0の場合は既定線色
waku_lt = "0"  #番号枠線種(1〜9)      0の場合は既定線種
waku_br = "0.8" #番号枠半径補正倍率(0.5〜2) 1の場合は元半径
#
line_lc = "3"  #高さ垂直線線色(1〜9)    0の場合は既定線色
line_lt = "0"  #高さ垂直線線種(1〜9)    0の場合は既定線種
#
apex_lc = "4"  #頂点円線色(1〜9)      0の場合は既定線色
apex_lt = "0"  #頂点円線種(1〜9)      0の場合は既定線種
#
apex_pn = "5"  #頂点点種(1〜9)       0の場合は既定点種
#
shen_lc = "6"  #三角形の辺線色(1〜9)    0の場合は既定線色
shen_lt = "0"  #三角形の辺線種(1〜9)    0の場合は既定線種
#
hyou_lc = "7"  #面積表線色(1〜9)      0の場合は既定線色
hyou_lt = "0"  #面積表線種(1〜9)      0の場合は既定線種
#
#=================================================================
if waku_br.to_f < 0.5 or waku_br.to_f > 2.0
 puts "he 番号枠半径補正値設定エラー。"; exit
end
datas,hens,all,lcs,lts = [],[],[],[],[]
while ARGF.gets
 datas << $_
end
(datas.reverse).each{|data|
 if data =~ /^\s[0-9-]/
  hens << data
 else
  break
 end
}
datas -= hens
datas.each{|data|
 all << data
 if data =~ /^ci/
  en = data.split; en[3] = waku_br.to_f*en[3].to_f
  if en.size == 8
   if waku_lc == "0"
    puts lcs[-1]
   else
    puts "lc"+waku_lc
   end
   if waku_lt == "0"
    puts lts[-1]
   else
    puts "lt"+waku_lt
   end
   if waku_en == "1"
    puts en[0,4].join("\s")
   elsif waku_en == "0"
    puts en.join("\s")
   elsif waku_en == "2"
   else
    puts "he 枠種類設定エラー"; exit
   end
  else
   if apex_lc == "0"
    puts lcs[-1]
   else
    puts "lc"+apex_lc
   end
   if apex_lt == "0"
    puts lts[-1]
   else
    puts "lt"+apex_lt
   end
   puts data
  end
 elsif data =~ /^pt/
  if apex_pn != "0"
   puts "pn"+apex_pn
  end
  puts data
 elsif data =~ /^\s[0-9-]/
  if all[-2][0,2] == "z3"
   if line_lc == "0"
    puts lcs[-1]
   else
    puts "lc"+line_lc
   end
   if line_lt == "0"
    puts lts[-1]
   else
    puts "lt"+line_lt
   end
  else
   if hyou_lc == "0"
    puts lcs[-1]
   else
    puts "lc"+hyou_lc
   end
   if hyou_lt == "0"
    puts lts[-1]
   else
    puts "lt"+hyou_lt
   end
  end
  puts data
 elsif data =~ /^lc/
  puts data
  lcs << data
 elsif data =~ /^lt/
  puts data
  lts << data
 else
  puts data
 end
}
if hens.size >= 3
 if shen_lc != "0"
  puts "lc"+shen_lc
 end
 if shen_lt != "0"
  puts "lt"+shen_lt
 end
 hens.each{|hen|
  puts hen
 }
end
:END
##########以上です


Indexへ
(30016)←【30024】→(30025)
------------------------
【タイトル】Re(4):一部訂正です。
【記事番号】 30024 (30016)
【 日時 】08/07/08 10:59
【 発言者 】katsu

hayabusa様

またまたありがとうございます。
実は番号枠の円の大きさを変えれないかなぁ・・・
と思っていたところです。
線属性だけでなく番号枠の大きさも変更出来るようになっており
感動致しました。
本当にありがとうございました。

ところで線属性の設定のところで
73行目に高さ垂直線線色
84行目に面積表線色
がありますが各々違う線色に変えても
84行目の面積表線色になってしまうようなんですが
これはしょうがないのでしょうか?
面積表線色は最後に範囲指定して色を変えれば良いので
大した作業量ではないのですが、もし可能であれば
高さ垂直線線色と面積表線色を各々違う色に設定
したいなと思いまして・・・


Indexへ
(30024)←【30025】→(30027)
------------------------
【タイトル】Re(5):一部訂正です。
【記事番号】 30025 (30024)
【 日時 】08/07/08 12:22
【 発言者 】hayabusa

katsuさん、こんにちは。

>ところで線属性の設定のところで
>73行目に高さ垂直線線色
>84行目に面積表線色
>がありますが各々違う線色に変えても
>84行目の面積表線色になってしまうようなんですが
>これはしょうがないのでしょうか?
>面積表線色は最後に範囲指定して色を変えれば良いので
>大した作業量ではないのですが、もし可能であれば
>高さ垂直線線色と面積表線色を各々違う色に設定
>したいなと思いまして・・・

検証ありがとうございます。

多分バッチファイルの下記箇所を修正すれば良いと
思います。
既に気が付かれていると思いますが外部変形を起動して
BAT編集項目から貼付置換して上書き保存しますとその
まま利用できます。

変更前
elsif data =~ /^\s[0-9-]/
 if all[-2][0,2] == "z3"  #此処を修正(145行目)
  if line_lc == "0"
  puts lcs[-1]
  else
  puts "lc"+line_lc
  end

修正後
 if all[-2][0,2] =~ /^z3/


Indexへ
(30025)←【30027】→(30029)
------------------------
【タイトル】Re(6):一部訂正です。
【記事番号】 30027 (30025)
【 日時 】08/07/08 13:30
【 発言者 】katsu

hayabusa様

>変更前
> elsif data =~ /^\s[0-9-]/
> if all[-2][0,2] == "z3"  #此処を修正(145行目)
>  if line_lc == "0"
>  puts lcs[-1]
>  else
>  puts "lc"+line_lc
>  end
>
>修正後
> if all[-2][0,2] =~ /^z3/

置換により変更を行いましたが、前と同じで
高さ垂直線線色が面積表線色と同じになってしまいます。


Indexへ
(30027)←【30029】→(30030)
------------------------
【タイトル】Re(7):一部訂正です。
【記事番号】 30029 (30027)
【 日時 】08/07/08 14:31
【 発言者 】hayabusa hayabusa001@infoseek.jp.no

私の方では再現できませんが
下記の方法でもう一度修正してください。
if all[-2].strip == "z3"

それでも上手くいかない場合はJWW_SMPL.EXEの書出しデータ
が私の想定外の様式になる場合があるのかもしれません。
その場合は面積表と辺長の線属性の区別ができませんので
アウトです。

後、この外部変形はJw_cad6.01に添付のJWW_SMPL.BAT(win32)
を対象としていますので念の為確認願います。

もし宜しければ実行した資料をお送り頂けたらと思います。
メールの末尾.noは削除してください。


Indexへ
(30029)←【30030】//(30015)
------------------------
【タイトル】Re(8):一部訂正です。
【記事番号】 30030 (30029)
【 日時 】08/07/08 15:53
【 発言者 】katsu

▼hayabusa様:

>私の方では再現できませんが
>下記の方法でもう一度修正してください。
>if all[-2].strip == "z3"
>
>それでも上手くいかない場合はJWW_SMPL.EXEの書出しデータ
>が私の想定外の様式になる場合があるのかもしれません。
>その場合は面積表と辺長の線属性の区別ができませんので
>アウトです。
>
>後、この外部変形はJw_cad6.01に添付のJWW_SMPL.BAT(win32)
>を対象としていますので念の為確認願います。
>
>もし宜しければ実行した資料をお送り頂けたらと思います。
>メールの末尾.noは削除してください。

申し訳ありません
使っているJw_cadのバージョンが5.11eでして
先ほどバージョン6.01の方で確認しましたところ

>変更前
> elsif data =~ /^\s[0-9-]/
> if all[-2][0,2] == "z3"  #此処を修正(145行目)
>  if line_lc == "0"
>  puts lcs[-1]
>  else
>  puts "lc"+line_lc
>  end
>
>修正後
> if all[-2][0,2] =~ /^z3/

この方法でちゃんと各々違う線色で作図
されました。
最初にJw_cadのバージョンを書くことを
怠っておりました。
ご迷惑お掛け致しましたorz
次から質問する際はちゃんとJw_cadのバージョンを書くよう
気をつけます。