Ryo Sekizaki Architectural Laboratory

■ いただき物 外部変形 のページ ■ 初版 2006.10.10




What'new

■ 2007.02.21 ページ中程に【梁符号00】のVersionup版【梁符号0A】をUPしました。■ ■ 同 ページ最下行に【WSH外変の起動しないことに対する対処法】をUPしました。■




 ■ 前口上

 ■ 私は外変に関しては、AWKも、RUBYも、VBSも、script に関しては一切知識がありません。

     何とか人様から頂戴したものを、どうにかこうにか動かしているだけです。 まさか外変のページを作ろうなどとは (;^_^A アセアセ


     機会を得て、皆さんよくご存じの、馬目好男 氏、sugi 氏、JBA 氏、から夫々いくつかの外変を、個人的に?? 作っていただきました。


     そっと使わせていただいていたのですが、馬目 氏から、『あれは、お前に個人的に作ってやったようなものだから、他でDL出来るところが

     ほとんどないのだ。 一つお前の所でDL出来るようにしてみてはどうか』 と、怖れに怖れていた一言が (;^_^A アセアセ(;^_^A アセアセ

     逃げ回っているわけにも行かず、意を決して、他のお二方の分も含めて、ご披露かたがたDLも出来るページをUPさせていただきました。

     もとより、script の解説など出来るわけもなく、私は私らしく、
【こんな風に使わせていただいています】と【Down Load】 を中心に、このページを作ってみました。

     もうすでに汗びっしょりだよ (;^_^A アセアセ (;^_^A アセアセ (;^_^A アセアセ



■ Script の Down Load ■
D
   ■ 馬目 氏の Script【完全版】           manome.LZH       Down Load
   ■ 追加差分           manome_2.LZH       Down Load
 
    manome ・フォルダ

    +--【1_木梁符号 】・フォルダ
   |     ├
【木梁符00.BAT】【木梁符00.AWK】※木造梁伏図の梁記入
   |     ├
【木梁符0A.BAT】【木梁符0A.AWK】※【木梁符00】のV-UP版 2007.02.21追加
   |     ├【木梁符01.BAT】【木梁符01.AWK】※木造梁伏図の梁記入
   |     ├【木梁符05.BAT】【木梁符05.AWK】※木造梁伏図の梁記入
   |     ├【readme.txt】
   |     └【木梁符00.JWW】※使用説明画像
   |
    +--【2_木梁符号改】・フォルダ
   |     ├【木梁符10.BAT】【木梁符10.AWK】※木造梁伏図の梁記入
   |     └【readme.txt】
   |
     +--【3_丸太符号 】・フォルダ
   |     ├
【丸太符00.BAT】【丸太符00.AWK】※小屋伏図の丸太記入
   |     ├【丸太符01.BAT】【木梁符01.AWK】※小屋伏図の丸太記入
   |     ├【丸太符05.BAT】【木梁符05.AWK】※小屋伏図の丸太記入
   |     ├【readme.txt】
   |     └【丸太00.JWW】※使用説明画像
   |
     +--【4_配筋記入 】・フォルダ
   |     ├【配筋記00.BAT】【配筋記00.AWK】※配筋要領書込
   |     ├
【配筋記01.BAT】【配筋記01.AWK】※配筋要領書込
   |     ├【readme.txt】
   |     └【配筋記01.JWW】※使用説明画像
   |
     +--【5_文字記入 】・フォルダ 
2006.10.24 追加
   |     │    ├【文字02.BAT】【文字02.AWK】※文字列の書込
   |     │    ├【文字03.BAT】【文字03.AWK】※文字列の書込
   |     │    ├【文字05.BAT】【文字05.AWK】※文字列の書込
   |     │    ├【文字06.BAT】【文字06.AWK】※文字列の書込
   |     │    ├【readme.txt】
   |     │    └【文字06倍.JWW】※使用説明画像
   |     │
   |     └【6_文字記_rsa】・フォルダ
   |     └
【文字記_rsa.BAT】【文字記_rsa.AWK】※文字列の書込
   |
     +--【7_砂利ハッチ 】・フォルダ
         ├【0_RC砂利ハッチオリジナル】・フォルダ
        |   ├
【c_maru.BAT】  【c_maru.AWK】※RC断面砂利ハッチ
        |   ├【d_ten.BAT】   【d_ten.AWK】   ※RC断面砂利ハッチ
        |   ├【e_ten_w.BAT】 【e_ten_w.AWK】※RC断面砂利ハッチ
        |   ├【d_ten.BAT】  【d_ten.AWK】   ※RC断面砂利ハッチ
        |   ├【e_ten_w.BAT】 【e_ten_w.AWK】※RC断面砂利ハッチ
        |   ├【readme.txt】
        |   └【砂利ハッチ.JWW】※使用説明画像       
        |
             └【1_RC砂利ハッチ_rsa】・フォルダ
            ├【RC砂利ハッチ.BAT】【RC砂利ハッチ.AWK】※RC断面砂利ハッチ
            ├【砂利地業.BAT】 【砂利地業.AWK】      ※砂利地業ハッチ
            ├【readme.txt】
            └【RC砂利ハッチ.JWW】※使用説明画像       


     ■ 同 Web Site URL           http://homepage3.nifty.com/Y_MANOME/        
     ■ sugi 氏の Script                    sugi.LZH       Down Load

    sugi ・フォルダ

   |     ├【引出線2.BAT】   ※60°系文字中央引出線合併BAT
   |     ├【引出線中専.BAT】※60°系文字中央引出線記入
   |     ├【config.rb】
   |     ├【jww.rb】
   |     ├【sample.rb】
   |     ├【寸法矢印.jwf】※使用説明画像
   |     └【readme.txt】
   |
     +--【ruby 】・フォルダ


     ■ 同 Web Site URL           http://homepage2.nifty.com/igus/
     ■ JBA 氏の Script                  JBA.LZH       Down Load
 
    JBA ・フォルダ

    +--【WSH_KEY】・フォルダ
         ├【HIRAKU.BAT】【HIRAKU.VBS】※jwwを開く
         ├【HOZON.BAT】 【HOZON.VBS】※保存
         ├【INSATU.BAT】【INSATU.VBS】※印刷
         └【readme.txt】

      
     ■ 同 Web Site URL           http://jba52.com/
     ■ ko 氏の Web Site URL              http://www.page.sannet.ne.jp/kiyoaki-oikawa/    
D




■ 馬目好男 氏 の AWK 外部変形 ■

 ■ 馬目好男 氏とは、CAD&CG 誌の【読者がリクエストする外変】だったかな? に応募させていただいて以来のお付き合いと言うことになります。

     氏は、お願いしたもののバリエーションを時間もいとわず沢山作ってくださいます。 その流れを見ていると、script の知識が皆無でも、ひょっとしたらこうなるかな? と言うところが見えてきて

     大変勉強になります。 リクエストさせていただいたのが【木造伏図】の補助線でした。 れっど氏にそれを紹介したら、『この変形で配筋要領の書込』にも使えそうだな〜っと、ちらっ と私を見たような

     気配を感じましたが、私にはそんなことお願いする勇気はありません。(^^ゞポリポリ  この Site の【私が使わせていただいている外変】のコーナーに、ちょっとその辺のことを書いておいたら

     それをご覧になり、早速作ってくださいました。m(._.)m 。 それを含めていくつかご紹介。


     馬目 氏は沢山ヴァリエーションを作ってくださいますが、最初何から導入すればいいかちょっと迷うかも知れません。

     あくまで Script の優劣ではなくて、【最初に導入した方が解りやすいかな?】 と私が勝手に思い込んだものを
【この色の文字】で選別してみました。他意はありません。


■ 木造梁符号 ■ 【木梁符00】 【木梁符01】 【木梁符05】 ■

 ■ 木造梁伏図を描く時のあの台形の底辺のない様な補助線と、梁の梁巾と成を描き込んでくれる外変です。 それまでは、真ん中で切れた二つの図形を使って作図していました。

     【木梁符00】 は梁の両サイドを【指示点1】【指示点2】と指示して、

     【指示点3】として、 適当なところで良いのですが(free)

     【指示点1】側に近いところを指示した場合 → 文字列は補助線の外側に作図されます。

     【指示点2】側に近いところを指示した場合 → 文字列は補助線の内側に作図されます。  



     【木梁符01】【木梁符05】 は夫々バリエーションで、【指示点3】無しで、外側、内側 を書き分けてくれます。 大量の場合はこちらが有利でしょうが、私は【00】が気に入っています。


     ※ 追加解説:文字種は、本外変起動直前のJww文字種が保持されます。



giri さんが 使い方の Flash を作ってくださいました。 m(._.)m


【Flash を見る】


2006.10.15 ■ 追加情報 ■

 ■ 作者の馬目好男 氏から追加の情報を頂きました。

     
上記【木梁符00】で文字を補助線の外側に書くことが比較的多い場合(あくまで【木梁符01】【木梁符05】のように固定ではなくて) は、

   
 AWK Script の65行目辺り

     
if(dl1>=dl2){     の不等号を逆にしてやる

     即ち

     
if(dl1<=dl2){     に変えてやると、【指示点2】の近くで【指示点3】を指示してやることで、補助線の外側に文字を書いてくれます。

     これでわざわざ遠い【指示点1】に戻って指示する必要が無くなって効率が上がります。

     
下の【配筋記00〜01】、【文字記入02〜06】にも適用されます。 誠に心憎いばかりの、痒いところに手の届く編集です。 氏に厚く御礼申し上げます。



 
Script 行頭に【 # 】を表示することで、その行は実行されません。スイッチ的に使うなら、コピーペーストして2行作っておき、不等号を反対にして記述しておき

     片方に行頭【 # 】を表示して、切り替えてみるという手もあります。

   
 また、各行の記述のうしろに、少しスペースを空けて、【 # 】を付けて始める文字列はScript言語には成りません。何を書いても実行もされなければ表示もされません。

     こういう事ですね。行頭からそのままコピーできます。

#if(dl1>=dl2){          #【指示点3】は【指示点1】に近い方
if(dl1<=dl2){
            #【指示点3】は【指示点2】に近い方

     既に記述されている箇所もありますし、自分の覚え書きとして書き込んでおくという方法もあります。  この辺のことは全く難しいことではありませんから実行してみるのも面白いです。

     

 ■ 上図は外変を利用して描いた梁伏図です。ハッチは別に描画したものです。集成材梁を示しています。     
 2007.02.21 ■ 【木梁符00】のV-UP版 木梁符0A】 ※ハッチング、文字付き

 ■ ↑の実務図面をご覧になって、馬目 氏が、『ハッチング付きの梁があるがあれは何か?』 『【集成材梁】を示しています』 『ならば、最初からハッチが入るVerを作りましょう』 

     『それならついでに、梁ディメンションの前に【集成材梁】の書き込みもお願いしたいです (^^ゞポリポリ』

     で、作ってくださいました。    馬目 氏に感謝申し上げます。


 ■
【追加仕様】

     
1)梁幅の入力の時に【S120】【s120】 のように【S】又は【s】を付けて入力すると

     
1.台形補助線内にハッチを描画する。

      
ハッチの間隔はスクリプトの4行目を修正する


      BEGIN {

       u0 = 200                      ;#梁面と補助線との間隔

       j = 4

     
hp0 = 0.5                     ;#ハッチの間隔(図寸)

       hlc = 6                        ;#ハッチの線色


      
ハッチのレイヤ、線色は夫々スクリプトの 100、101 行目を修正する。

       print "ly8"                     ;#ハッチのレイヤ

       print "lc6"                     ;#ハッチの線色


      
ハッチ属性を付けない場合はスクリプトの107 行目の行頭に【#】を記入する。

       print "z1"                     ;#ハッチ属性を持たせないときは行頭に【#】を追記


   
 2.上記入力を行うと、梁寸法の前に文字【集成材梁】を描画する。

       例えば 【集成材梁】 135×390 のようになる。

      
文字の変更はスクリプトの113行目を修正する

       moji = "【集成材梁】" moji           ;#書き込み文字


      
文字のレイヤはスクリプトの 116 行目を修正する。

       print "lyb"                     ;#書き込み文字のレイヤ


     
前回の入力データをファイルに出力し、データが入力されない場合には、ファイルから読み込む。



     
【注意事項】

     
バッチファイルの 3 行目の【REM #jw】を【#jww】に書き換えてはならない。

        基本開発が、DOS 版なので書き換えると上手く動作しない場合があります。本 V-UP 版では文字位置の指定は、Win 版用になっています。


■ 【木梁符10】 ■

 ■ 【木梁符00〜05】 のバリエーション版です。

     データの梁成表記以外に関しては【木梁符00】と同じです。

       データの入力は 
       梁の大きさが 120 x 300 離れ寸法200 の場合には、120-300-200 と入力する。 離れ寸法が 200(デフォルト) でよい場合は入力の必要がありません。 120-300 と入力します。

       その結果、120-300-200 と 120-300 は 同じ意味になります。

       一つ前の大きさと同じ場合には、キー入力をしないでそのままクリックします。すると、一つ前のデータを入力した事になります。


■ 丸太符号 ■ 【丸太符00】 【丸太符01】 【丸太符05】 ■

 ■ 木造小屋伏図に丸太の【元口部分】を表示して斜め線を引く補助線と【末口φ】を入力無しで【末口φ270】などと作図してくれます。     基本操作は【木梁符00】に倣います。 

            【丸太符00】

            指示点1(丸太面始点位置を指示)

      指示点2(丸太面終点位置を指示)

      指示点3(指示点1又は2の近い所をいいかげんに指示(free))
      ※指示点3に近い方が補助線元口が作図される。 ※このScriptでは、文字列は補助線の外側だけに作図される。

      丸太メンバーは全て補助線の外側に表示される。
      
      丸太メンバーを記入。 【末口φ】は自動作図される



            【丸太符01】 指示点3 無しに補助線元口は指示点1側に描画される。


            【丸太符05】 指示点3 無しに記号線元口は指示点2側に描画される。


            ※ 追加解説:文字種は、本外変起動直前のJww文字種が保持されます。



 ■ 上図は外変を利用して描いた小屋伏図です。
■ 配筋記入 ■ 【配筋記00】 【配筋記01】

 ■ 【木梁符00】 を編集しての【配筋記入】版です。 データの梁成表記以外に関しては【木梁符00】と同じです。

      【配筋記00】

             指示点1を指示する。

      指示点2を指示する。

      指示点3(指示点1又は2の近い所をいいかげんに指示(free))
      ※指示点3が、指示点1に近い場合は補助線の外側、反対の場合は補助線の内側に文字列が作図される。
      

      文字列を入力

      1.本数を入力 続いて【-】を入力

      2.鉄筋をの太さを入力 続いて【-】を入力 太さ記号【D】は自動作図される。

      3.離れ距離を入力


      ※一つ前の配筋と同じ場合は、キー入力しないでクリックします。離れ寸法が、200(デフォルト)の場合は入力の必要がありません。


      8-19-200 と 8-19 は 同じ意味になります。   EX 8-19-200 と記入して【8-D19】離れ200で作図される。
      斜めの補助線は指示点から作図される。



      【配筋記01】

             操作は、配筋記00】と同じです。
      
      斜めの補助線は指示点から離れて作図される。


              ※ 追加解説:文字種は、本外変起動直前のJww文字種が保持されます。


2006.10.24 追加UP ■ 文字記入 ■ 【文字02倍】【文字02半】 【文字03倍】【文字03半】 【文字05倍】【文字05半】 【文字06倍】【文字06半】 【文字記_rsa】

 ■ 【配筋記入】のヴァリエーションです。 台形状の底辺がないような補助線の内外に文字列を作図します。前Verと違うところは書込文字列をフリーとしていただいたというところです。  

     一連の【木梁符号】→【配筋記入】とヴァリエーションが進んで来ると最後はやはり【フリーの文字列】が欲しくなります。 順番が逆か? ^^;



 
■ 【各BAT共通事項】

     各 BAT FILE の【倍】と【半】の違いは

     【文字○○倍】:
FEPがONになる

     【文字○○半】:
FEPがONにならない

               の違いです。   【半角英数だけの文字列】の場合は【文字○○半】の方が便利です。

            いずれにしても【半角/全角】キーを押すことによって、どちらも同じ仕様になります。最初にどっちが楽か? と言うことでしょうか?

     各指示点の指定の仕方は【木梁符号】や【配筋記入】と同じです。



 ----------------------------------------------------------------------------------------------------------------------------


 
■ T.【任意文字使用バージョン】

       Jwwの文字種を使用しないので、ユーザーの環境に依存せず常に同じ大きさの文字を作図できる。

     
AWK Script の冒頭の初期設定部分

   
mh = 30;     #文字の高さ
   mw =
30;     #文字の幅
   md =  
3;     #文字の間隔
   mc =  
1;     #文字の色

      ×0.1mmの大きさの任意文字となる。


   
任意文字の大きさを変更する場合には、スクリプトのこの部分をを修正します。



 ■ A.【文字02倍.bat】【文字02半.bat】【補助線間隔固定系】→【文字02.awk】

     
文字列を入力する。補助線と指示点は一致する。

      補助線と指示点の間隔を空ける場合には、スクリプトの14行目


     
dh = 0     #指示点からの距離

     
を修正する。

       どのように数字を変えても、デフォルトで【固定】になります。

      文字入力が無い場合には、一つ前の文字列となる。(haikin.txtに記入されている文字) 使用BATが半角でも全角でも同様の結果となる。




■ B.【文字03倍.bat】【文字03半.bat】【補助線間隔任意指定系】→【文字03.awk】

     
 指示点と書き込み位置の間隔を入力できる。

       文字入力が無い場合には、一つ前の文字列となる。 使用BATが半角でも全角でも同様の結果となる。

       間隔の入力が無い場合には、一つ前の間隔となる。 間隔に0を入力すると 上記02と同じことになる。 
        ※hanare.txtがフォルダの中に存在すること。hanare.txtは、離れ寸法を入力すれば自動作成される。



 ----------------------------------------------------------------------------------------------------------------------------


 ■ T.【文字指定バージョン】

         Jww指定の文字種を使用します。 デフォルトでは、文字種2の書き込みとなる。

     
文字種を変更する場合には、スクリプトの7行目

     
mm = 2     #書込み文字種

       
  を修正する。



 ■ A.【文字05倍.bat】【文字05半.bat】【補助線間隔固定系】→【文字05.awk】

       
文字列を入力する。補助線と指示点は一致する。

        補助線と指示点の間隔を空ける場合には、スクリプトの15行目


       
dh = 0     #指示点からの距離

       
を修正する。

        文字入力が無い場合には、一つ前の文字列となる。(haikin.txtに記入されている文字) 使用スクリプトが半角でも全角でも同様の結果となる。



 
■ B.【文字06倍.bat】【文字06半.bat】【補助線間隔任意指定系】→【文字06.awk】

       指示点と書き込み位置の間隔を入力できる。

        文字入力が無い場合には、一つ前の文字列となる。 使用BATが半角でも全角でも同様の結果となる。

        間隔の入力が無い場合には、一つ前の間隔となる。 間隔に0を入力すると 上記02と同じことになる。 
         ※hanare.txtがフォルダの中に存在すること。hanare.txtは、離れ寸法を入力すれば自動作成される。





 ■ 馬目氏は一つの外変に沢山のヴァリエーションを作ってくださいます。 上の【文字記入】の中でも私はフルバージョン仕様の【文字06倍】が一番気にいっっています。

     但し、私は文字種は、本外変起動直前のJww文字種を保持した方が使い易いようです。

     それともう一つ、これをまとめていて気付いたのですが、前の【配筋記入】迄は、台形の補助線と文字列が若干離れていたのですが、本外変ではクリアー0になっていました。

     氏は、手を抜いたところだなどと仰っておられましたが、その部分の加筆部分を快く教えていただきました。

     その部分をあえて上の【文字記入】Scriptには反映させておかないで、ここで新に記述して、【文字記_rsa】バージョンをUPさせていただくことを了承いただきました。

     その方が、ご覧になる方も、例え初心者でおられようとも、何処をどうやるとどうなっていくのか みたいなことが少しではありますが解ってくるような感じがします。

     ご了解いただいた馬目 氏に感謝申し上げます。



 ----------------------------------------------------------------------------------------------------------------------------


 ■ 【文字記_rsa】 版

       
フル仕様バージョンであるところの 【文字06倍.bat】【文字06.awk】=【補助線間隔任意指定・Jww文字指定系】をベースに


     
1.Jww指定の文字種を固定から【本外変起動直前のJww文字種保持】に変更

 
      2.補助線と書込文字の離れを調整できるようにした。




      上記の変更を加え編集した、【文字記_rsa】外部変形Script です。



 
      1.の変更部分

        AWK Script の7行目、行頭に【#】を書き込むことによって、デフォルト文字種の読込を廃止した。


           BEGIN {
      #初期設定
      # mh = 30;           #文字の高さ
      # mw = 15;           #文字の幅
      # md =  5;            #文字の間隔
      # mc =  1;            #文字の色
      
# mm = 2;            #書込み文字種 行頭に#を入て文字種をフリーとした
      mlc = "1";           #書込み線色
      l_yl = "b";            #線分書込みレイヤー
      l_ym = "b";           #文字列書込みレイヤー
      f_name = "haikin.txt";     #文字列を保存するファイル
      l_name = "hanare.txt";     #指示点からの離れ


       
これで、本外変起動直前のJww文字種を保持するようにしました。


          ↓行頭からコピペでそのまま使えます

# mm = 2;            #書込み文字種 行頭に#を入て文字種をフリーとした



      2.の変更部分

        AWK Script の16行目に追加

       
m_uki = 0.75;         #補助線と文字の間隔【図寸】


          ↓行頭からコピペでそのまま使えます

m_uki = 0.75;         #補助線と文字の間隔【図寸】



        93・94行目に追加

        if(dl1>=dl2){;                    # 3指示点が2指示点の近く
         
m_x = m_x-m_uki*ky*scale[gg]   #補助線と文字の離れ実行のため追記
        m_y = m_y+m_uki*kx*scale[gg]   #補助線と文字の離れ実行のため追記

        if(x1>0){


          ↓行頭から2行ともコピペでそのまま使えます

m_x = m_x-m_uki*ky*scale[gg]   #補助線と文字の離れ実行のため追記
m_y = m_y+m_uki*kx*scale[gg]   #補助線と文字の離れ実行のため追記




        112・113行目に追加

         }else{
       
m_x = m_x+m_uki*ky*scale[gg]      #補助線と文字の離れ実行のため追記
        m_y = m_y-m_uki*kx*scale[gg]      #補助線と文字の離れ実行のため追記

       if(x1>0){


          ↓行頭から2行ともコピペでそのまま使えます

m_x = m_x+m_uki*ky*scale[gg]      #補助線と文字の離れ実行のため追記
m_y = m_y-m_uki*kx*scale[gg]      #補助線と文字の離れ実行のため追記



   
  以上の5行を追加しました。これで文字が図寸で移動します、ただし固定です。


         ※ ここからコピペして、各自のScriptに貼付けて使う場合、行頭のインデントなどのためにスペースを記入するときは必ず【半角スペース】の連続で行ってください。

            全角のスペースで記述されたScriptは未実行になるようです。  インデントが必要な場合は【Tabキー】を使用して統一した方が間違いがないとのことです。



     
■ RC砂利ハッチオリジナル ■ 【c_maru】 【d_ten】 【d_ten_w】 【e_ten】 【e_ten_w】 ■

 ■ 縮尺の小さい RC 断面に、三本線のハッチの代わりに【砂利ハッチング】を作図します。


     【c_maru 】矩形の対角2点を指示。丸形のランダムハッチが作図される。


     【d_ten 】矩形の4点を指示。丸形のランダムハッチが作図される。


     【d_ten_w】全点指示して閉合させる。丸形のランダムハッチが作図される。


     【e_ten 】矩形の4点を指示。丸形+矩形+三角のランダムハッチが作図される。


     【e_ten_w】全点指示して閉合させる。丸形+矩形+三角のランダムハッチが作図される。


     ※ script の内容の変化を見ていくとなかなか面白いです。


■ rsa 編集RC砂利ハッチ ■ 【RC砂利ハッチ】 【砂利地業】 ■

     ■ 馬目氏オリジナルの【 c_maru 】のAWK script の

         # RC砂利ハッチ
         BEGIN {
         m_max = 20           #丸の最大半径 mm
         m_min = 1            #丸の最少半径 mm
         ko = 0.0001           #単位面積当りの丸の数 個/平方mm2
         lc = "lc1"            #線色
         ly = "lya"             #書込みレイヤー
         # ji = .5              #実点を使用した場合の数(丸との比率)
         nige = 20             #円の基本最少離れ(乱数で調整有り)
         }

                   中略

        printf "lc%d\n",rand()*6
         #^^^ 単色で書く時はこの上の行頭に # (半角)を書き込む

                   後略

    
部分を編集して

        ---------------------------------------------------

         # RC砂利ハッチ
         BEGIN {
         m_max = 20           
         m_min = 1           
         ko =
0.0005          
         lc =
"lc6"             
         ly =
"ly8"            
         # ji =
.0             
         nige = 20            
         }    

           中略

       
 # printf "lc%d\n",rand()*6

            後略

       
として、左の【RC砂利ハッチ】を得た。

      更に

        m_max =
7
        m_min =
3
        ko =
0.01
        lc = "lc6"  
        ly = "ly8"
        ji = .0
        nige =
25

       
として、【砂利地業】を得た。乱数調整があるためか、なかなか思うような
        砂利になってくれない。いま少し挑戦の要有りかな?

     

 ■ 最近は表層地盤改良やベタ基礎も多くなってきて、割栗り地業を廃して、砂利地業が多くなってきている。昔ながらの【斜め線の割栗石表示】も変わっていかなければならないかも知れない。
     上図で使われている矢印引き出し線は、全て、sugi 氏と ko 氏の外変で描かれている。

■ 馬目 氏の Script      Down Load






■ sugi 氏 の ruby 外部変形 ■ 【引出線2】 【引出線中専】

 ■ 手書きの時代から、
【引き出し線書込は全て60°系、文字は真ん中=引き出し線中央の真後ろ】でした。45°系では図面がなまる。 15°系では図面がいらつく。 60°系以外不可!(^^ゞポリポリ

     外変や線記号変形でも沢山お作りいただいていますが、私にはどうもしっくり来るものがありませんでした。 以前より sugi 氏の ruby script 集は使わせていただいていたので、意を決して

     【60°系 文字中央】をお願いしました。 ご快諾いただいて作っていただいた物が【引き出し線2】と言うものでした。 角度は60°固定ではなく、角度指定制のものでした。 

     あくまで【60°デフォルト】に成っていました。(*^_^*)   ただこの BAT は、【引出線(角度)】(これは線の上下が文字のタイプ)、【引出線(中)】、【矢視】、【切断線】、 等の合併 BAT でした。

     最初は喜んで使わせていただいたのですが、なにしろ多用するもの、おまけに肝心な物が 2番目です。 何年かの内に何度か自分で【単独で抽出】しようと試みたのですが、

     私などに出来るわけもなく完全に挫折しました。 最近このページを作る決心をしたのを期に、氏にお願いしました。 

     またまたご快諾いただいて作っていただいたのが【引出線中専用】です。!(^^)!  ruby の設定についても色々ご教授をいただきました。

     当初のことは失念しているのですが、sugi 氏に最初にお願いしている頃、【不精者の道具箱】の ko 氏からも同趣旨のものを作っていただきました。

     これは私用?だったかどうか失念しています。氏の script の【引き出し線描込】がそれです。

   
 sugi 氏のものが【矢印線先行・文字後書型】  ko 氏のものが【文字先行(複写・移動)・矢印線後描型】です。

     先にsugi 氏のもので作図して、同一文字列の場合は、ko 氏のもので作図すると言うことで、
【引出線描き込み】関係は【完璧!】です。(*^_^*)



 ■ 【引き出し線2】のBAT

    @REM 引出し線2
    @echo off
    REM #jww
    REM #cd
    set PATH=ruby\bin;%PATH%
    goto %1
    REM #hc【引出し線2】 ボタンを選択して下さい。
    REM #hm【引出し線2】 |引出線(角度)|引出線(中)|矢視|切断線|
                 座標寸法へ| 引出し線へ|
     REM #:1
     REM #h0
     REM #1-%d 【引出線(角度)】 矢印始点選択 (L)free (R)Read
     REM #2-%d 【引出線(角度)】 矢印終点選択 (L)free (R)Read
     REM #3%d 【引出線(角度)】 文字の方向 (L)free (R)Read
     REM #c 【引出線(角度)】 角度(初期値:60) :/_D
     REM #f 【引出線(角度)】 文字 :/_M"
     REM #hr
     REM #e
     REM #:2
     REM #h0
     REM #1-%d 【引出線(中)】 矢印始点選択 (L)free (R)Read
     REM #2-%d 【引出線(中)】 矢印終点選択 (L)free (R)Read
     REM #3%d 【引出線(中)】 文字の方向 (L)free (R)Read
     REM #c 【引出線(中)】 角度(初期値:60) :/_D
     REM #c 【引出線(中)】 線長さ(初期値:5) :/_L
     REM #c 【引出線(中)】 間隔(初期値:2) :/_K
     REM #f 【引出線(中)】 文字 :/_M" 

               中略

     REM #e

     :1
     copy jwc_temp.txt jwc_temp.bak
     druby -rsample -e 'hikidashisen_2' jwc_temp.bak %1 %2 %3" > jwc_temp.txt
     goto END
     :2
     copy jwc_temp.txt jwc_temp.bak
     druby -rsample -e 'hikidashisen_2' jwc_temp.bak %1 %2 %3 %4 %5" > jwc_temp.txt
     goto END
     :3

               後略

     を

 
■ 【引出線中専】BAT : 【引き出し線2】の |引出線(中)| だけ単独で抽出したBAT

     @REM 引出線(中)
     @echo off
     REM #jww
     REM #cd
     set PATH=ruby\bin;%PATH%
     REM #h0
     REM #1-%d 【引出線(中)】 矢印始点選択 (L)free (R)Read
     REM #2-%d 【引出線(中)】 矢印終点選択 (L)free (R)Read
     REM #3%d 【引出線(中)】 文字の方向 (L)free (R)Read
     REM #c 【引出線(中)】 角度(初期値:60) :/_D
     REM #c 【引出線(中)】 線長さ(初期値:5) :/_L
     REM #c 【引出線(中)】 間隔(初期値:2) :/_K
     REM #f 【引出線(中)】 文字 :/_M"
     REM #hr
     REM #e

     copy jwc_temp.txt jwc_temp.bak
     druby -rsample -e 'hikidashisen_2' jwc_temp.bak
2 %1 %2 %3 %4" > jwc_temp.txt
     goto END
                                
↑jwc_temp.bak のあとの引数に 2 を渡してやるのがポイント だそうです。


 ■ この流れを見て、不遜ではありますが、氏の他の合併BAT から、多用するものを、単独抽出することが出来るかも知れません。



 ■ このscriptは、ruby-20020411.lzh の解凍されたものが必要です。
      

   既に作者氏のルビー外部変形スクリプト集が展開されている場合は、同じフォルダーに【引出し線中専.BAT】だけを挿入して下さい。

   新に設定する場合は、解凍されたフォルダー(名称任意)をそのまま展開することが一番簡単だと思います。 必要なものは全て同梱されています。そのままで動きます。

   作者氏の御説明に依りますと【ruby-20020411.lzh】を利用しているのは多分、氏のスクリプト集だけなので、【ruby】をsystem関連フォルダーに挿入したり、

     環境変数でパスを設定するより、同一フォルダーに展開した方がお勧めとのことです。


 ■ 【config.rb】の編集

     config.rb を修正します。

  Jww_path を jw_win.exe のあるフォルダに設定して下さい。 Jwf_file を 読み込む環境ファイル名に設定して下さい。

   寸法関係の設定を環境ファイルから読み取ります。 Jwf_file の設定を省略すると jw_win.jwf が利用されます。

   OutDir にファイルの書き出し先を設定して下さい。 これは、NCデータ.BAT や カンマ区切り.BAT のファイルの出力先になります。

   詳しくは、config.rb を参照して下さい。せっかく【矢印引出線】のつもりでも、Jwf_fileをjw_win.jwfのままにしておいて、

   そのjw_win.jwf が
【寸法線の端部を【・】にしてあったなら】このScriptで実行される矢印? の端部も【・】になってしまいます。

   その為、このScript専用のjwfファイルを作るわけです。


 
■ 【jw_win.jwf 抜粋】

       中略

     #  寸法線色・引出線色・矢印色(点色)を2桁にし、十の位に1〜9を記述

     # すると寸法線・引出線・矢印の線種が記述した数値になる(1は省略可)。

     #  また、寸法設定ダイヤログの寸法線色・引出線色・矢印色(点色)の指定

     # のときも2桁にすることで同様に線種を指定できる。

     #

     #    @寸法線色  A引出線色  B矢印・点色  C寸法線端部        D引出線の

     #      (1〜9)         (1〜9)         (1〜9)          (0:点 1:矢印1 2:逆矢印)    突出寸法

     #      ↓         ↓        ↓       ↓                  ↓

     S_SET1 = 1          1         1       
1                  0.7

                                            

                                     此処を【1】にしないと【矢印】になりません。


       私は、【◎寸法設定】を一括して、【寸法矢印.jwf】として別枠で作っています。
       収納場所は当然 jw_win.jwf と同じディレクトリーになります。



 
■ 【config.rb 編集部分】

     途中略

     # ユーザー変更個所 ここから

     # jw_win.exe のパスを Jww_path に設定して下さい。

     Jww_path="c:/jww"
           

            ※此処はこれでよいか?自分の環境に合わせる(通常はこうなっているはずです)



     # 寸法関係の設定を読み込ませる環境ファイル名を設定して下さい。

     Jwf_file="jw_win.jwf"
              

               ※専用のjwfを用意しているなら、それを指定する。
                例えば私なら Jwf_file="寸法矢印.jwf" になります。

       

     # ファイルの出力先を OutDir に設定して下さい。

     OutDir="c:/ncdata"
           

             ※此処でよいか?



 ■ ※上の解説の中で、sugi 氏の解説文を多用、引用させていただいています。 問題がありましたらご指摘下さい。 m(._.)m


       
2006.10.15 ■ 追加情報 ■

 ■ 作者の sugi 氏から追加の情報を頂きました。

     このBATを実行すると、【角度】(デフォルト:60°)、【線長さ】(デフォルト:5)、【間隔】(デフォルト:2)、を夫々聞いてきます。

     【60°固定】で良ければ、BAT FILEの10行目辺りの

     
REM #c 【引出線(中)】 角度(初期値:60) :/_D        を、行頭にスペースをいくつか【^^^^^】のように挿入することで

     即ち

   
 ^^^^^REM #c 【引出線(中)】 角度(初期値:60) :/_D     と記述することで、60°固定のままで聞いてこなくなります。

     【^^^^^】は、キーボード右上角近辺【へ】のキーの記号です。【カレット】=【脱字記号】と言うようです。数の指定はないようですが此処では5つになっています。

     解りにくければここからコピーして、メモ帳などにペーストして使っても良いと思います。

^^^^^     ←行頭からそのままコピペで使えます。

     同様に【線長さ】(デフォルト:5)、【間隔】(デフォルト:2) も好みに合わせて設定して下さい。

     貴重な編集の解説を下さった sugi 氏に厚く御礼申し上げます。



 ■ 第2弾 【レイヤを指定する】

     これには2つ有ります。

     1.フリーのレイヤにいて→本外変を実行する→指定のレイヤに書き込む→外変終了後変更されたレイヤを保持する。(変更されたレイヤそのまま)

     2.フリーのレイヤにいて→本外変を実行する→指定のレイヤに書き込む→外変終了後、外変が実行される前のレイヤに戻る


 ■ 1 の方法

     BAT FILE の変更だけで済みます。

     
copy jwc_temp.txt jwc_temp.bak
      druby -rsample -e 'hikidashisen_2' jwc_temp.bak 2 %1 %2 %3 %4" > jwc_temp.txt
      goto END


      を下記に変更して下さい

     
copy jwc_temp.txt jwc_temp.bak
     
echo ly9 > jwc_temp.txt     #レイヤ設定のためこの行追加                                            ←この行の追加
     
druby -rsample -e 'hikidashisen_2' jwc_temp.bak 2 %1 %2 %3 %4" >> jwc_temp.txt     #レイヤ設定のため【>】追加
     
goto END
                                          
 ↑【>】の追加


     ↓行頭から2行ともコピペでそのまま使えます

echo ly9 > jwc_temp.txt                                          #レイヤ設定のためこの行追加
druby -rsample -e 'hikidashisen_2' jwc_temp.bak 2 %1 %2 %3 %4" >> jwc_temp.txt       #レイヤ設定のため【>】追加


     これは便利です。なにしろ多用するものですから【レイヤ指定】は大変ありがたいです。此処では
【ly9】ですから、【9レイヤ】を指定したことになります。各自の設定でどうぞ。


     

 ■ 2 の方法

     これは、スクリプトファイルを修正します。sample.rb の439行目付近を以下のように変更します。
赤文字の2行が追加と言うことになります。 これで外変起動前のレイヤに戻ります。



 ■ 現況


 ■ 編集

 ■ そのままコピペで使えます。


     elsif Arg["2"] #中
     pt6=pt4.move(pt5,nagasa)
     puts_yajirushi(pt1,pt4)
     puts_line(pt4+pt6)
     puts "cn#{@jwf_sunpou_mojisyu}"
     if pt2.x-pt3.x<=0
     puts_moji2(pt6+[0,moji],
     4,"cn#{@jwf_sunpou_mojisyu}","cs",[kankaku,0])
     else
     puts_moji2(pt6+[0,moji],
     6,"cn#{@jwf_sunpou_mojisyu}","cs",[-kankaku,0])
     end
     end
     end


     elsif Arg["2"] #中
     
puts "ly9" #この行追加
     pt6=pt4.move(pt5,nagasa)
     puts_yajirushi(pt1,pt4)
     puts_line(pt4+pt6)
     puts "cn#{@jwf_sunpou_mojisyu}"
     if pt2.x-pt3.x<=0
     puts_moji2(pt6+[0,moji],
     4,"cn#{@jwf_sunpou_mojisyu}","cs",[kankaku,0])
     else
     puts_moji2(pt6+[0,moji],
     6,"cn#{@jwf_sunpou_mojisyu}","cs",[-kankaku,0])
     end
     
puts "ly#{Jwc[\"ly\"]}" #この行追加
     end


elsif Arg["2"] #中
puts "ly9" #この行追加
pt6=pt4.move(pt5,nagasa)
puts_yajirushi(pt1,pt4)
puts_line(pt4+pt6)
puts "cn#{@jwf_sunpou_mojisyu}"
if pt2.x-pt3.x<=0
puts_moji2(pt6+[0,moji],
4,"cn#{@jwf_sunpou_mojisyu}","cs",[kankaku,0])
else
puts_moji2(pt6+[0,moji],
6,"cn#{@jwf_sunpou_mojisyu}","cs",[-kankaku,0])
end
puts "ly#{Jwc[\"ly\"]}" #この行追加
end
■ sugi 氏の Script      Down Load






■ JBA 氏 の WSH 外部変形・キーコマンドを外変で開く ■ 【HIRAKU】 【HOZON】 【INSATU】 ■

 ■ Jw_cad スタートインターフェースで【メニューバー】を非表示にすることが出来ます。コントロールバーの右上角を右クリックで出てくるサブメニューで非表示に出来ます。

     何と言うことはないのですが、画面めいっぱいに使えて何かとても嬉しい(*^_^*) ただそれだけなのです。 ちなみにツールバーは、レイヤ、レイヤグループ、線属性、のみです。

     しかし!!! これではファイルが開けない!!! (-_-;)  勿論 ! 開く、名前を付けて保存、印刷、はキーコマンドに割り当てていました。

     でも、AUTO使い としてはどうにも面白くない(^^ゞポリポリ


    ある時、JBAさんの Web Site で WSH外変と言うんでしょうか? 【コマンドを外変で開く】というscript を見せていただきました。しかしこれはメニューバーが表示されていないと機能しない。

     意気消沈していたところへ、【キーコマンドから開く方法があるよ】と言うことを教えていただいて。これだ!これだ!これだ!!! ということで、早速教えていただきました。

     これで本当に、メニューバー非表示で、ほぼ99% AUTOモード、AUTOモードクロックメニュー で作図が可能になりました。




 
■ キーコマンドを外変で開く・ 【HIRAKU】 【HOZON】 【INSATU】


    【使用方法】 Jw_cad 側で、最初に必要なキーコマンドを仕込んでおきます。

      例えば
     
 【98=開く】【キーZ】に仕込んでおくとします。
      先にキーコマンドは仕込んでおかなければいけません。



      次の2つのファイルを同一フォルダー内に格納します。

       【hiraku.bat】
       【hiraku.vbs】
      
名称は自由、ご自分の解りやすいもので、但し二つの名前は合わせる。
      Script的には合わせる必要はありませんが、その方が解りやすい?



       【hiraku.bat】

      @rem
開く                 ←【【開く】各自名称設定】
      @echo off
      rem 2004年 6月 01日 火曜日 01:58 PM 作成
      rem #jww
      rem #cd
      rem #h0
      rem #e
      echo h# 
開く >jwc_temp.txt    ←【【開く】各自名称設定】
      
hiraku.vbs                  ←【各自が決めた .vbs file 名称】


       【hiraku.vbs】

      Set WSHShell = WScript.CreateObject("WScript.Shell")
      WSHShell.AppActivate "jw_win"
      WScript.Sleep 50
      WSHShell.SendKeys
"z"      ←【【"z"】 各自のキー設定】
      WScript.Sleep 50


      これを【外変】に仕込めばいい。G+などを介さずにダイレクトの方が便利そうです。


      あとは応用で、各キーを読みに行かせればいい事になります。


   
        【上書の場合】は 【保存】で代用させます。thumbnail ダブルクリックで【上書】になります。




 ■ WSH外変が起動しないという問題点


     
本外変だけでなく、WSH外変が起動しない、又は未実行となる現象が報告されています。 HN. おっじゃ さんのご協力を頂いてある程度原因を解明していただきました。

     officeXP や office200* 関連の【ctfmon.exe】が何らかの形でバッティングして、又はそのUP DATE FILE が Windous のUP DATE FILE により書き換えられて

     不具合を起こすことが考えられます。


     とりあえず

     
※言語バーがフロート状態では起動しない。 最低限これは事実のようです。 つまり、言語バーを【タスクバー内に収納】するか【タスクトレイ内に収納】するかで回避できるようです。

     
それでもだめな場合は、msconfig 等から【ctfmon】をはずす方向での対策があるようです。

     このことは、

    【言語バーをタスクバーに格納していない状態】では、キーを送る時間をPCの環境毎にこまめに設定しないと送られたキーを言語バーが横取りするなどが考えられる ということを

     示しているのかも知れません。

     また、せっかく上手くセッティングされていても、↑のUPDATE でそのセッティングが崩れてしまう? ということが起こっているのかも知れません。



     言語バー関係の設定は、使用者の拘りも多いところで、また順列組み合わせでは記述仕切れないことも事実です。

     最低限、これをやったら動く と言うことを中心に、以下、 MS IME  と  ATOK に分けて記述してみます。 私はATOK単独で、MS IME関係を全て外してありますので、

     MS IME 関係の記述が少ないことをあらかじめお断りしておきます。

     また、前述のようになかなか全ての状況を記述しきれないため、検証過程、確認過程の掲示板でのやりとりを別頁で【抜粋】としてUPしてあります。下記の記述で上手く行かない場合は

     参考にしていただくと、なにがしかのヒントになるかも知れません。



■ MS IME の場合 ■



■ ATOK の場合 ■



 ■
基本的に【言語バー】を【フロート状態にしていない】限り→即ち【タスクバーに収納している】限り

     実行されるようです。


     但し、所謂 【普通の状態】での確認です。

     1.
言語バーをタスクバーに収納して日本語変換をしている。フロートでは不可。

     2.【コントロールパネル】→【地域と言語オプション】→の各設定で

      
 ・既定の言語:Natural Input 200*

       
・詳細なテキストサービスのサポートを:チェック無し

       ・詳細なテキストサービスをオフにする :チェック無し



 ■ これでだめな場合は→のATOKの方法に倣って、
【ctfmon】をはずす方向で回避は出来ます。

     ただし、officeXP や office200* に関連があるため、それらのアプリに影響があるか無いか

     慎重に確かめながらのセッティングが必要になると思います。


     私はインストールしていないため検証が出来ません。


 
■ 基本的に【言語バー】を【フロート状態にしていない】限り→即ち【タスクバーに収納している】限り

     実行されるようです。 ATOK の場合は、【タスクバー収納】より、【タスクトレイ収納】の方が

     より確実なようです。


     【普通にATOKを設定している状態】?

     1.
言語バーをタスクバー又はタスクトレイに収納して日本語変換をしている。フロートでは不可。

     2.【コントロールパネル】→【地域と言語オプション】→の各設定で

      
 ・既定の言語:ATOK**

       ・他にインストール:Microsoft IME 200*(スタンダードとNatural)

       
【音声認識】【手書きの認識】はそのまま

       
・詳細なテキストサービスのサポートを:チェック無し

       ・詳細なテキストサービスをオフにする :チェック無し


 ■ これで動いていると確認はされています。



 ■ 私の場合は

       ・言語バー(ATOKバー)は間違いなく【タスクトレイ】内に格納されていた。

       ・既定の言語:ATOK17

       ・他にインストールされているもの全て削除

       ・詳細なテキストサービスのサポートを:チェック無し   ※この辺は少し記憶曖昧

       ・詳細なテキストサービスをオフにする :チェック無し    ※同上


       ・msconfig から □ Ctfmon のチェックをはずす      ※これは確実


     この状態で動いていました。


     ある時、明らかに Windows UPDATE を完了した段階で、外変が1回起動した後は

     一切起動しなくなりました。

     Jwwを再インストすると又最初の1回だけ起動するという状態になりました。

     
     ↑の HN. おっじゃ さんの検証からご指導いただいて、

     【コントロールパネル】→【地域と言語オプション】→【言語タブの詳細設定】→【言語】→

     【詳細】→【テキストサービスと入力言語】で

       ・互換性の構成
        詳細なテキストサービスの ・ ・ ・ の全てに拡張する:ノーチェック

       ・システムの構成
        詳細なテキストサービスをオフにする:チェック


     この状態で、msconfig を開いた結果【ctfmon】
 の項目自体が消滅していました。

     もし残っていたら、チェックをはずすと良いでしょう。

     
     又突然 Windows UPDATE で動かなくなったときは、ここがUPDATE により書き換えられた

     可能性が大きいわけで、此処を調整して復活させようと考えています。



 ■ 私の【地域と言語オプション】関係の設定環境








 






























 インストール
 されている
 サービスを
 ATOK以外
 全て削除
 すると

 基本設定の
 言語バー

 グレー表示
 になります

 言語バー
 関係の設定
 はATOK
 本体に
 依ります












 詳細な
 テキスト
 サービスを
 オフにする
 にチェックを
 入れると
 互換性の
 構成が

 グレー表示
 になります


言語設定関係は、レジストリーの変更などに比べてはるかに安全ですが、変更の場合は復活できるように必ず現状のメモなどを取って置いて下さい。

この設定変更によって障害が発生した場合、当方には一切の責任はありません。各人の責任に於いて行って下さい。


■ 検証過程、確認過程の掲示板でのやりとり抜粋 ■



 ■ 2007.02.21 追加情報 

     JBA 氏の掲示板で下記の解説がありました。   JBA さんありがとうございました。

     ---------------------------------------------------------------------------------

     外変バッチ起動>VBS起動・終了>DOS窓閉>キーバッファからJWWへ流れる・・・みたいだったのが・・・

     外変バッチ起動>VBS起動>キー送る・・JWWは外変処理で忙しい>終了>DOS窓閉>jwwに戻る・・

     あれ?あれれ?キーはどこ行った??? って感じだったので・・

     
バッチのvbs起動行にstartを付けて・・

     外変バッチ起動>VBS起動>バッチ終了>DOS窓閉>JWWへ戻る

         ↓

         >ちょいと休んでから(休んでる間に外変は終了)JWWへキー送る  

     みたいに別のスレッドにしたら、うまくいきました。

   
 結局のところ、スクリプトには手を付けず、バッチにstartを入れただけで解決です

     ---------------------------------------------------------------------------------

     例えば、【hiraku.bat】 であれば

            @rem 開く              

      @echo off

      rem 2004年 6月 01日 火曜日 01:58 PM 作成

      rem #jww

      rem #cd

      rem #h0

      rem #e

      echo h# 開く >jwc_temp.txt   

      
Start hiraku.vbs


     と言うことです。

     
■ JBA 氏の Script      Down Load






 ■ Jw_cad a little_1■

■ TOP PAGE ■