BUHINLIST2.exe Ver.2.18 2025/11/22

■ 概要
　CAD 上の既存の部品リストの文字列(TEXT)を取得し、テキストファイル化。
　そのファイルの文字列を選択した TEXT、属性に流し込み。または、新規に TEXT を作成。

　品名、型番、仕様等を一覧で表示。抽出も出来るため、型番の選択、流用がしやすくな
　ります。
　部品リストだけでなく、よく使う文字の一覧をファイルにしておくことで、文字入力の
　ツールとしても使えると思います。

■ 使い方
　「ファイル作成」と「作業エリア」タブがあります。
　「作業エリア」の [CAD] ボタンでターゲット CAD を変更します。
　一覧に無いときは、編集後に [追加] ボタンで追加。[OK] をクリックします。

　[TEXTを取得] ボタンで CAD 上の TEXTだけ、または部品リストの線分(LINE, POLYLINE)と 
　TEXT を選択します。

　[すべて選択] ボタンですべてを選択し、[新規保存] ボタンで名前を付けて保存します。
　「作業エリア」をアクティブにして、CADボタンの横のリストボックスから、ファイル名を
　選択します。

　[抽出 >] の右の検索ボックスから部分一致の文字を抽出します。
　対象のセルアクティブにして、[TEXT, 属性変更]、[TEXT 作成] ボタンをクリックすると、
　それぞれの処理が行えます。
　セルのダブルクリックで処理を行うときは、それぞれのボタンの上のチェックボックスを
　オンにします。
　セルのマウス右クリックのポップアップメニューからもそれぞれの処理が行えます。
　ダブルクリック使わないときは、どちらのチェックボックスもオフにしてください。

　TEXT を新規に [TEXT 作成] するときは、「罫線内」のチェックボックスに注意してください。
　オンのときは、指示した座標から４方向に線分を検出し、作成文字基点によりその矩形
　範囲の左、中、または右に作成されます。
　左、右の文字基点のオフセット位置は行高さの 1/2（初期値）になります。
　「設定」タブに罫線内判断の距離設定を追加しています。
　検出範囲を小さくすることで、幾分速くなります。
　CAD によって見えていない図形を選択できないため、4 方向の線分(LINE, POLYLINE)が
　表示されるようにしておいてください。

　指示した座標から４方向に線分を検出しているため、罫線の外を指示すると意図しない
　ところに TEXT が作成される可能性があります。
　４方向のいずれかに線分が無いときは、指示した座標に TEXT が作成されます。

　線分上に TEXT を作成するときは、「線分上」のチェックボックスをオンにしてください。
　LINE、または POLYLINE を選択（指示）します。
　文字作成のオフセット、文字角度の制限は「設定」タブから行えます。
　作成する文字基点は、ML、MC、MR のみです。

　基本的な使い方は
　セルをダブルクリック、またはセルを右クリックしてポップアップメニューから処理を選択。
　CAD 上で TEXT、属性を選択、または作成する座標、または線分上に作成する線分(*LINE)
　を指示します。
　以上を繰り返します。 
 
■ CAD からの取得
　ある程度に上下、左右に規則正しく並んだ TEXT を取得します。
　選択図形が文字だけ、または縦横の線分がそれぞれ２本以下のときは、
　選択した TEXT の最小の文字高さを取得し、その値以上離れた TEXT を別の行、列として
　格納します。
　文字基点が最小文字高さ以内にある複数の TEXT はそのうちの１つだけが採用されます。

　または、線分(LINE, POLYLINE)で作成された表全体と文字(TEXT)を取得します。
　空白行も取得されますが、ファイルに保存するときに削除されます。

　同じマス目に２つ以上の文字があるときは、罫線を選択せずに文字だけを選択すると
　取り込めます。ただし文字基点同士が文字高さより離れている必要があります。

■ セルの範囲選択
　[すべて選択]ボタン、または [CTRL]+[A] ですべてのセルが選択されます。
　表の一番上の固定セルをクリックすると、それ以下のセルが選択状態になります。
　 [SHIFT]+矢印キーでも矩形範囲を選択できます。

　「作業エリア」では、マウスでドラッグでも矩形範囲を選択できます。
　範囲を選択した状態で、[選択範囲をコピー] または、[CTRL]+[C] でクリップボードに
　コピーされます。

　[Ctrl]+[V] でペースト、[Ctrl]+[Z] で UNDO されます。

■ セルの文字編集
　「ファイル作成」タブでは、セル内の文字の編集が行えます。
　その代わりマウスドラッグでの範囲選択が行えません。
　「作業エリア」タブでは、セル内の文字の編集は行えません。
　マウスドラッグでの範囲選択が行えます。
　更新、作成用の一時的な文字の変更は、その都度上のエディットボックスの文字を
　変更してください。
　※複数のセルを選択して複数行の文字を作成するときは、文字の変更は無視され、
　　セル内の文字が採用されます。

■CAD 上の文字を一時的に再利用する
　「ファイル作成」タブの [TEXTを取得] ボタンで CAD 上の TEXT を取得します。
　[すべて選択]するか、対象の矩形範囲を選択状態にします。
　[新規保存]ボタンで、適当な名前で保存。
　「作業エリア」のリストボックスからファイル名を選択します。

■ ファイル説明
　データファイルは、EXE フォルダ内のファイルだけが対象です。
　同梱の ".TXT" ファイルと区別するために、拡張子は ".TSV" 、または ".CSV" を使用
　しています。
　内部では拡張子は関係なく、１行目にタブが含まれていればタブ区切り、コンマが含ま
　れていればコンマ区切り、どちらも無ければ１行ごとのテキストとして読み込んでいます。

　タブ区切りファイルはエクセルで簡単に作成できます。
　エクセルで対象のセルを選択。[CTRL]+[C] でコピー。
　エディターを開いて [CTRL]+[V] でペースト。
　ファイル拡張子を .TSV にして、EXE と同じフォルダに保存します。
　EXE を再起動すると、リストボックスから選択できるようになります。

■ポップアップメニュー
　「作業エリア」のセルの右クリックでポップアップメニューが表示されます。
　「TEXT、属性変更」、「TEXT 作成」、「文字高さ等の取得」が行えます。
　ボタンをクリックするよりマウス移動が少なくなります。

　「ファイル作成」タブのセルの右クリックでポップアップメニューが表示されます。
　「重複データ削除」、「ソート」が行えます。

■テキストファイルのドラッグ＆ドロップ
　一時的にテキストファイルをドラッグ＆ドロップできます。
　「ファイル作成」タブがアクティブなときは、表示のみ。
　「作業エリア」タブがアクティブなときは、作業用データとして使えます。
　「作業エリア」タブのファイルリストでファイル名を選択しなおすと、元に戻ります。

■テキストファイルの読み込み
　「ファイル作成」タブの[読み込み]ボタンで、テキストファイルを読み込み出来ます。
　編集後、 [保存]、[追加保存]ボタンで保存します。

■クリップボードからペースト(Ver.2.11)
　アクティブセルを基準にペーストされます。
　行数、列数が不足する場合は追加されます。
　エクセルのデータを一時的にペーストできます。

　※「作業エリア」で抽出文字を変更したときは、選択中のファイルから抽出されます。
　※「作業エリア」では、マウス右クリックのポップアップメニューから
　　「最終行に空白行を追加」できます。

■作成する TEXT の文字高さ、幅係数、文字基点の取得
　「文字高さ等取得」ボタンで CAD 上のTEXT、属性を選択します。
　文字高さ、幅係数、文字基点が取得できます。
　文字高さは / DIMSCALE された値です。「行ピッチ」は文字高さ x 2.0 になります。

■複数行の作成
　複数のセルの選択は、[SHIFT]+矢印キー、またはマウスドラッグです。
　縦方向に複数のセルを選択して「TEXT 作成」すると、上から順に「行ピッチ」の間隔で
　複数の TEXT が下方向に作成されます。
　「行ピッチ」の数値を確認しておいてください。
　「罫線内」がオンのときは、先頭行のみ罫線内の判断をし、以降の行は先頭行の位置を基準に
　下方向に作成されます。
　選択行に空白行が含まれる場合も使用できます。

■[普通に作成]ボタン(Ver.2.12)
　原点 0,0 に作成した TEXT を COPYBASE - ERASE - PASTECLIP します。
　「罫線内」、「線上点」のチェックボックスに関係なく、普通に TEXT を作成します。

■[属性一括変更]ボタン(Ver.2.14)
　EXE と同じフォルダに ATTTAGList.txt があるとき、タグ名を指定して複数のブロックを選択。
　属性文字を一括で変更します。
　タグ名はリストボックスから選択するか、一時的に対象のタグ名を編集します。
　※選択ブロック数 x 属性タグ名が多いとき、かなり時間がかかります。（Ver.2.15 で若干速くなりました）
　　LISP コマンド do_attrep を使うと高速になります。

　ATTTAGList.txt はタグ名＋TAB + 説明、またはタグ名＋"," + 説明 です。
　説明無しでタグ名だけでも読み込めます。

■[枠内に左中基点で一括作成]ボタン(Ver.1.18)<br>
　現在セルから右側のセルの文字列を、指示した枠内の座標から右側に左中基点で TEXT を作成します。
　名称、仕様・型番、メーカーを一括で作成するときに使います。

■ 著作権、免責事項等
　本ツールの著作権は作者 f.izawa が所有し、これを主張します。
　本ツールをダウンロード、解凍、使用したことによる事故、損害等の一切について、
　作者はその責を負いません。
　使用される方自身の責任においてお使いください。
 
■ 開発環境
　Delphi 10.4 Professional / Windows 11 Home（高 DPI 環境）
 
■ 履歴
　2025/04/13 Ver.2.0 
　　　　　　・ファイル作成機能を追加、ファイル拡張子を変更
　　　　　　・エディター、ファイルのドラッグ＆ドロップを削除
　　　　　　・属性の編集に対応
　2025/04/13a Ver.2.01 
　　　　　　・属性が変更できなかったのを修正
　　　　　　・数値入力の IME が CLOSE になっていなかったのを修正
　2025/04/14 Ver.2.02 
　　　　　　・BricsCAD 以外で「罫線内」検出が出来ないのを対策
　2025/04/14a Ver.2.02a 
　　　　　　・フォームのキャプションに不要な文字が表示されるのを手直し
　2025/04/14b Ver.2.03 
　　　　　　・[文字参照] ボタン（文字高さ、幅係数、基点を取得）を追加
　2025/04/15 Ver.2.04 
　　　　　　・文字の作成が出来なくなっていたのを修正
　　　　　　・テキストファイルのドラッグ＆ドロップを追加
　　　　　　・ポップアップメニューを追加
　　　　　　・縦方向の複数セルの選択で、複数行の文字作成を追加
　2025/04/15a Ver.2.05 
　　　　　　・「ファイル作成」にポップアップメニュー（重複データ削除、ソート）を
　　　　　　　追加
　2025/04/16 Ver.2.06 
　　　　　　・「設定」タブを追加
　　　　　　・罫線内判断の距離設定他を追加（罫線内検出が速くなった）
　　　　　　・「ファイル作成」タブに[読み込み]ボタンを追加
　　　　　　・「ファイル作成」タブのポップアップメニュー「重複データ削除」を修正
　2025/04/16a Ver.2.07 
　　　　　　・罫線内の判断を変更（検出が速くなった）
　2025/04/19 Ver.2.08 
　　　　　　・罫線内の検出の対象を垂直、水平のの線分のみにした
　2025/04/19a Ver.2.10 
　　　　　　・指示した線上に文字を作成を追加
　2025/04/20 Ver.2.10a 
　　　　　　・TEXT、属性変更で UNDO 処理が抜けていたのを追加
　2025/04/21 Ver.2.11
　　　　　　・クリップボードからのペースト([Ctrl]+[V])を整理
　　　　　　・[Ctrl]+[Z] での UNDO を追加
　2025/04/22 Ver.2.12
　　　　　　・[普通に作成]ボタンを追加
　2025/04/22 Ver.2.12a
　　　　　　・UNDO 処理を修正
　2025/04/27 Ver.2.13
　　　　　　・行ピッチの入力ボックスが消えていたのを修正
　2025/04/27a Ver.2.14
　　　　　　・[属性一括変更] ボタンを追加
　2025/04/28 Ver.2.15
　　　　　　・[属性一括変更] の若干の高速化＋LISP 関数の使用を追加
　2025/04/28 Ver.2.15a
　　　　　　・[属性一括変更] の LISP 関数をコマンドに変更
　2025/04/29 Ver.2.15b
　　　　　　・[属性一括変更] の若干の高速化
　2025/04/29 Ver.2.15c
　　　　　　・[属性一括変更] が IJCAD、ZWCAD で動かないのを修正
　2025/04/30 Ver.2.15d
　　　　　　・2.15 から [TEXT 作成] が動かなくなっていたのを修正
　2025/05/01 Ver.2.16
　　　　　　・「罫線内」の周囲の線分の取得方法を変更
　2025/05/09 Ver.2.17
　　　　　　・DraftSight(ARES) 2025 で「罫線内」が動かないのを対策
　2025/05/11 Ver.2.17a
　　　　　　・BricsCAD V20.2 で属性一括変更が動かなくなったのを戻す

　2025/11/22 Ver.2.18
　　　　　　・１ページ目「ファイル作成」で、現在行、項目の削除を追加
　　　　　　・グリッドでの項目移動を追加（行移動は固定項目が無いため不可）
　　　　　　・現在のセルを先頭に、右側のセルの文字を枠内に作成を追加

■作者連絡先
　e-mail: f.izawa@dream.com
　URL: http://www.izawa-web.com/

