AutoCADでファイル名から図番・部品名・改定数をLISPとフィールドで自動抽出する方法

CAD

AutoCADで図面管理を行う際、ファイル名に含まれる情報を図面枠へ自動反映したいケースはよくあります。特に「図番・部品名・改定数・試作記号」などがファイル名に含まれている場合、それぞれを分解して図枠へ表示したいというニーズは一般的です。本記事では、そのようなファイル名構造から必要な情報を抽出する考え方と、LISPやフィールドを使った実装の基本方針を整理します。

ファイル名構造の整理と前提条件

例として「aaaaaaaaa(bbb)(cc)(ddd).dwg」のような構造を考えます。

この場合、a部分が図番、bが部品名、cが改定数、dが任意の補足情報という前提になります。

このように括弧で区切られている構造は、文字列処理として分解しやすい形式です。

LISPでの基本的な考え方

AutoLISPでは文字列操作関数を使い、括弧やドット位置を基準に分割します。

例えば「vl-string-search」や「substr」を使うことで、指定位置の文字列を切り出すことが可能です。

特に最初の「(」の位置を基準にすることで図番部分を抽出できます。

図番・部品名・改定数の抽出ロジック

図番(a部分)は「最初の(の直前まで」を取得することで実現できます。

部品名(b部分)は「1つ目と2つ目の括弧の間」、改定数(c部分)は「2つ目と3つ目の括弧の間」として扱います。

これらは文字位置を順番に検索することで安定して抽出できます。

フィールドとの連携方法

AutoCADのフィールド機能単体では複雑な文字列分解はできないため、基本的にはLISPで分解した値を属性やテキストに渡します。

その後、図枠の属性定義に対して自動更新する形にするのが一般的です。

フィールドは日付やファイル名全体取得には便利ですが、部分抽出には限界があります。

実務でのおすすめ構成

実務では「LISPで分解 → 属性ブロックへ書き込み → 図枠で表示」という流れが安定します。

特に図面番号や改定管理を行う場合は、手入力を排除することでミスを大幅に減らせます。

ファイル命名規則を統一することも重要な前提条件になります。

まとめ

ファイル名から図番や部品名などを抽出する場合は、フィールド単体ではなくLISPによる文字列処理が基本になります。

括弧位置を基準に分解することで、安定したデータ抽出が可能になります。

AutoCADでは「命名規則+LISP+属性」の組み合わせが最も実務的な解決策です。

コメント

タイトルとURLをコピーしました