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+属性」の組み合わせが最も実務的な解決策です。


コメント