■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ □ □ ■ 消去範囲・自由自在 外部変形 for JW_CAD ■ □ DEL_P.exe (多角形内 図形消去プログラム) □ ■ ■ □ Copyright (C) t.w (MXB01427@niftyserve.or.jp) □ ■ ■ □ Last Modified: 24mar1998 □ ■ Version 1.20 ■ □ □ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ 説明書です。 必ず、お読み下さい。 --------------------------------------------------------------------------- 【 ソフト名 】 消去範囲・自由自在 (外部変形 for JW_CAD) 【 登 録 名 】 DEL_P120.LZH 【 動作環境 】 MS-DOS互換 (Windows95 DOS窓) 【 開発言語 】 LSIC 試食版 【 動作確認 】 AT互換機(DOS/V) & 98機 【 著作権者 】 Snap_Kin(MXB01427) 【ソフトウェア種別】 フリーソフトウェア 【 作成方法 】 LHA にて解凍を行う >LHA e DEL_P120.LZH 【 転載条件 】 自由ですが、事前にメールをください。 --------------------------------------------------------------------------- ★機能 JW_CADの消去コマンドは、対角点で指示した長方範囲の図形消去のため、込み入 った範囲を一度に消去することはできません。 このプログラムは、JW_CADの外部変形処理の機能を利用して、より複雑な範囲消 去を実現するものです。 ^^^^^^^^^^ マウスで指示される多角形を消去範囲として、範囲内の図形だけを切取・消去す るので、例えば▽、◇、凸、凹形とか☆形のように、自在な範囲を一遍に消去で きます。 (消しゴム+字消し板)代わりに、お使いください ★組込み方 適当なフォルダ(ディレクトリ)で解凍してください。下記の3つのファイルが 現れます。 DEL_P.TXT (この説明書ファイル) DEL_P.EXE (実行プログラム・ファイル) DEL_P.BAT (外部変形起動バッチ・ファイル) すべてをJW_CAD.EXEのあるフォルダにコピーします。コピー後は解凍したファイ ルを消去してもかまいません。あるいは、初めからJW_CAD.EXEと同じフォルダに 解凍しても同じことです。 その結果、フォルダの階層は次のようになります。 | +--JWC--+--JW_CAD(V).EXE | +--JW_CAD.DOC | ……… | ……… +--DEL_P.TXT *** +--DEL_P.EXE *** +--DEL_P.BAT *** 注意:前回のバージョンからご利用の方も、今回の全てのファイルに入れ替えてく ださい。(上書きコピー) ★お試し方法 1.JW_CADを起動し、適当な線や円を描きます。 2.メニューウィンドウの| 変形 h|をクリックします。 3.メッセージバーの |5)外部|をクリックします。 4.ファイル・リストが表示されますから、その中でDEL_P.BATを選択します。 (ここから、外部変形が動作はじまります。メッセージバーの指示に従って操作 するだけです。) 5.消去処理する範囲を聞いてきます。実際に消去したい範囲を大きく含むよう に始点と終点をクリックして、|範囲確定|してください。 (注)消去範囲に円や円弧を含めるには、大きく範囲指定しなければいけま せん。 6.|コーナー(1)を指示|… のメッセージ通りに、マウスで切取りたい範囲をプロッ トして行くと、消去範囲が緑線で結ばれて表示されます。 7.消去範囲の指示がOKなら、|点指示終了|をクリックします。 一瞬、この外部変形(DEL_P)の起動画面に切替わり、処理が終わると 元のJW_CAD画面に戻ります。 マウスで指示した範囲の線や円が切取り消去されているはずです。 ★便利な登録方法 色々な状況で試用してみて、「これは使えそうだ!」と思われたら、もっと手軽 に、この外部変形を利用できるように自分なりの設定をしてみてください。 多くの外部変形メニュー・プログラムが公開されてますので、それを利用する手 があります。ですが、もっと便利に、この外部変形(DEL_P)をJW_CADの標 準コマンドのように登録する方法を紹介しておきます。 1.外部変形起動バッチ DEL_P.BAT を JW_PRO25.BAT と名前を変更します。 (注: ↑英文字のオーで、ゼロではない) 2.Ctrlキーを押しながら|消去 d|をクリックすると、この外部変形(DEL _P)が起動します。 指1本とクリック1発ですから、この方法をお薦めします。 (参考:|複写 C|~|入出力 q|は、それぞれJW_PRO01.BAT~JW_PRO30.BATに対 応しています。空いているコマンド番号をお選びください。詳しくはJW _CAD添付のドキュメントに書いてあります。) ★仕様 消去範囲設定: 3角形~9角形 (9角形までの制限は、JW_CAD外変の仕様に依ります。) 消去要素: 直線、曲線、円、円弧、点、文字 (楕円及び楕円弧は、現在のところパスです。) 要素制限: 50,000個 注意:丁度、消去ライン上にある直線は、範囲内とみなして消去させます。 ただし、一部には演算誤差の関係で消去されずに残る場合があります。 この場合でも、境界点で切断されています。手動で線消ししてください。 ★トラブル DEL_Pは有志にも協力していただき、バグは潰したつもりでUPしています。 (^^; しかし、結構複雑な処理をやってるせいで、処理図形や範囲によっては発 見できていない特異点があるかもしれません。 こう言うと、処理範囲が広いとか曲線を多く含み要素数が膨大とかの理由で処理 時間がかかる場合は、ハングしたかと不安にさせてしまいます。 そこで、DEL_Pの画面で処理経過をカウンターを表示させています。さらに 要素数の制限も設けています。 また、DEL_Pの画面には、 「外部処理実行中 (時間がかかります) AUTO.JWCに図面を待避しました。」 と、あまり意味もないようなメッセージが現れます。 外部変形に共通することですが、何らかの理由で最悪JW_CADに処理が戻らなくな り、リセットせざるおえないトラブルに遭遇すると、大抵の人は動転してしまう ものです。あわてて再起動させて、それまで描いた図面データを失う場合があり ます。 JW_CADは外部処理に切替わる直前に、それまでの図面データをAUTO.JWCにコピー します。ですから、JW_CADを再起動させる前に、AUTO.JWCを描きかけの図面名xx xxxx.JWCに名前変更(RENAME)すれば、最新の図面データを失う事はありません。 、、、で、あのメッセージは、そのことを喚起してるだけのものです(^^; 処理時間は、実際のところ、それほどかかっていません。 上の理由で、いらんメッセージやカウンターなどを表示させているので時間がか かっています。 いずれにしても、自己責任でデータの保存だけはマメに実行されることをお薦め します。 (……と、ここまで脅しておけばイイだろう(^^; ) ★どうしても動作しない場合 このファイルが読めるということは、圧縮ファイルの解凍には成功しています。 上に書いた「組込み方」をもう一度確認してください。 それでもダメな場合は、NIFTYのフォーラムFARCCの会議室に出来るだけ詳しく状 況を説明して相談してみてください。同様の問題を解決した人とかが答えてくれ るかもしれません。私も FARCC会議室3番と7番は巡回しています。 パソコン通信のフォーラムにもアクセス出来なくて、いよいよお困りの人はメー ルでも構いません。ですが、年中メールが溜まっていますので(^^;返事をすぐに 書けるとは限りません。 この外部変形プログラム(DEL_P.EXE) は、あまりメモリを必要としていません。 少ないメモリでも動作しますので、特に設定を気にしなくてもいいはずです。 どうしても動作しないという原因は他のところ(たぶん組込み方)にあります。 ★参考(動作メモリの確保) この外変では気にしなくて良いですが、他の外変が動作しないというのは、動作 メモリが確保できていないケースが一番多いですね。 JW_CADはDOSアプロケーションです。Windowsアプリケーションと違っ てアプリケーションが使用できるメモリに制限があります。外部変形の際に利用 できるメモリは、JW_CADの使用した残りということになり、通常では 200KB前後 しか残っていません。そのままでは、大きな動作メモリを必要とする外変はメモ リ不足となり実行できません。 自分のマシンで、どのくらい使用メモリが空いているかを調べるには、次のよう にします。 JW_CADのメニューウィンドーの|オプション s| --> 7)外部処理 --> 3)子プロセス と、 たどってゆくとDOS画面になります。そこで、 JWC>mem /c > t.txt ~~~~~~~~~~~~~~ と入力します。DOS画面から戻るには、 JWC>exit ~~~~ と入力します。それから一旦JW_CADを終了させて、JW_CAD(V).EXE があるフォル ダをエクスプローラか他のファイル管理ソフト(ファイラー)で覗いてください。 つい最近できたばかりの t.txt というファイルがあるはずです。 これは、上のところで >mem /c とすると、メモリ状況が画面に現れる代わり に t.txt というファイルに同じ内容を書き込んでいるのです。(リダイレクト と呼びます) この中を読むと、コンベンショナル(メモリ)の欄で、空きメモリの数値 が分かります。 大抵の外変を動作させようとするには、 500KB以上の空きメモリが必要です。( 外変の中には、まれに550KB以上ものメモリ大食いもあります。) 子プロセス(この場合、外変)のために空きメモリを大きく確保するには、親( この場合、JW_CAD)が使用中のメモリ内容を一旦他所にスワップ(SWAP)さ せるのが有効です。 これを行うのがスワップ・ツールというユーティリティ・ソフトです。 DOSに詳しくない人やPC初心者には、設定の簡単なスワップ・ツールとして SHROOMをお薦めします。下記から入手できますが、いずれの場合でもSWAP をキーワードとして検索すれば見つかります。 SHROOM.ZIP入手先 パソコン通信(Niftyserve) FPCUPRO-L1-#232 インターネット(www.shareware.com) アメリカ人の作ったシュアウェアです。当然ドキュメントは英語で書かれていま すが、JW_CADのためにだけ使用するのなら読み飛ばしても構いません。使用方法 は、いたって簡単です。 日本で普及している.LZHが付くファイルと、外国製の.ZIPファイルとは圧縮方法 が違います。従って、それなりの解凍ツールが必要なのですが、インターネット が一般化した最近では、LZHでもZIPでも両方解凍できるツールが雑誌の付録など でも入手できます。(代表的なものに、Lhasa があります。) SHROOM.ZIPを解凍して得られた「 SHROOM.COM 」をパスの通ったフォルダにコピ ーします。、、、パスと言っても通じない人は、JW_CAD.EXEと同じフォルダにコ ピーしましょう。これで、スワップ・ツールのインストールは終了です。 次に、JW_CADの起動BAT(生DOS上でも、Windows95のDOS窓フルスクリーン上でも起動 BATを作って、そのBATを起動させているはずです。希に違う方法で起動さ せている人がいます。)の中の記述を、下記のように1行だけ書き換えます。 スワップ・ツール使用前: … JW_CADV.EXE -$$2 -L4 … (98機の場合は、JW_CAD.EXEと読み替える) … スワップ・ツール使用後: … SHROOM JW_CADV.EXE -$$2 -L4 … … 要するに、JW_CADの実行ファイルの頭に「SHROOM」と追加するだけです。 これで、以前より大きくメモリが確保できるようになります。上に書いた方法で JW_CADの子プロセスの中からコンベンショナル・メモリのサイズを使用前と使用後で比較してみ ましょう。500KB以上空きがあれば、大抵の外変ではOKです。(^^)v もし500KBに満たない場合は、CONFIG.SYSやAUTOEXEC.BATや、Windows95ならばプ ロパティのメモリーの項目(全てを自動に設定)を見直す必要があります。 もっともっと空けようとしたら上級者に相談してください。(^^; 色々な方法が あります。 ******************** ********************* ******************** 沢山の作者によって、さまざまな外変が公開されています。大変有益です。 この方法で、多くの人が外変を利用できるようになることを願っています。 ******************** ********************* ******************** 尚、SHROOMはシェアウェアです。ドキュメント中の"SHROOM SHAREWARE LICENCE" に金額と送り先が記載されています。郵便局から外国郵便為替を郵送する方法が あります。文例とか詳しく知りたいなら Nifty-FARCC-MES3-#03306(1998/01/20) に連なる会議室のログ(発言集)を参考にしてください。 ★履歴 version 1.0 1998-1-15 休日(成人の日)に突然作り始める。 3角形範囲の直線処理だけ。 version 1.0a 1998-1-26 円・円弧・点処理を追加。 9角形範囲に拡張。 有志にサンプル版配布。 version 1.0b 1998-1-30 曲線処理を追加。 多角形の範囲内/外の判定改良。 version 1.0c 1998-2-3 演算精度を上げる。 消去ラインを書込むオプションを追加。 公開版とする。 version 1.0d 1998-2-5 複雑に深く入込んだ範囲指定の際の 範囲内/外評価のバグ修正 version 1.1a 1998-2-11 文字処理を追加。 範囲内/外の判定方法を変更。 version 1.20 1998-3-24 曲線処理の不具合を修正。 除外線種の設定を追加(起動BAT参照) その他、細部の修正。 ★最後に ・このような外部処理の機能を開発してくださったjw_software clubの皆様に深 く感謝します。 ・プログラム開発のために、試食版Cコンパイラ(LSI C-86)を公開(FLABO-L2 -#1425)してくださったエル・エス・アイ・ジャパン(株)さまに感謝します。 Snap_kin(MXB01427) March.1998 t.w