+CADLabo.comCAD / LISP / AUTOMATION
AutoLISP初心者講座

エンティティ|図形の情報を取得・変更する

AutoLISPの基本・図形操作のTips一覧
要点

図形の名前を取得し、entgetでDXFデータを読み取ります。色の変更とentmodの流れを、小さな図形で順番に確認します。

始める前に

先に確認すると読み進めやすい記事:

確認の手順

  1. 練習用図面に線を1本描き、対象を選びます。
  2. entgetで取得したリストの図形種別と画層を確認します。
  3. 掲載例で色のデータを変更し、entmodで反映します。
  4. 画面の色とプロパティを照合し、削除の例は別の練習図形で試します。

エンティティとは?

AutoCADにおける「エンティティ(Entity)」とは、図面内の個々の図形要素のことです。
線、円、ポリライン、テキスト、寸法など、すべてがエンティティとして扱われます。

エンティティには以下のような特徴があります:

  • 一意の「図形名(Entity Name)」が割り当てられている
  • 属性情報(レイヤー、色、線種など)を持っている
  • AutoLISPで取得・編集・削除・作成が可能

エンティティの構造を覗いてみよう

AutoLISPでは、エンティティの情報を「Dxfコード」と呼ばれる形式で取得します。
以下は、線分(LINE)のエンティティ情報の例です:

掲載コード
(entget (car (entsel)))

返ってくるリストはこんな感じ:

掲載コード
((0 . "LINE") (8 . "0") (10 0.0 0.0 0.0) (11 100.0 100.0 0.0) (62 . 256))
DXFコード意味
0エンティティの種類(LINEなど)
8レイヤー名
10, 11始点・終点座標
62色番号

エンティティ操作に使うAutoLISP関数

関数名目的
entselユーザーにエンティティ選択を促す
entgetエンティティ情報を取得する
entmodエンティティ情報を変更する
entdelエンティティを削除する
entmake新しいエンティティを作成する
entnext次のエンティティを取得する
entlast最後に作成されたエンティティを取得
assocDXFコードから特定情報を抽出する

チュートリアル:エンティティの色を変更する

ステップ1:エンティティを選択

掲載コード
(setq ename (car (entsel "\n図形を選択してください: ")))

ステップ2:情報を取得

掲載コード
(setq edata (entget ename))

ステップ3:色を赤(1)に変更

掲載コード
(setq edata (subst (cons 62 1) (assoc 62 edata) edata))

ステップ4:変更を反映

掲載コード
(entmod edata)

エンティティの削除と復元

削除

掲載コード
(entdel ename)

※削除されたエンティティは、図面を閉じる前なら復元可能です。

復元

掲載コード
(entdel ename) ; 再度呼び出すことで復元

まとめ:図形操作の要点

エンティティは、AutoCADの図形操作の“核”です。
AutoLISPを使えば、エンティティの取得・編集・作成・削除が自在に行えます。
このチュートリアルを通じて、図面の自動化や効率化の第一歩を踏み出しましょう!

結果の確認

選択した図形だけが変更されたか確認します。DXFデータに必要なコードがあるか、選択がnilになっていないかも確認してください。

参照資料

対象環境・動作確認

AutoLISP対応環境(関数・OSごとの対応は要確認)。内容更新:2026年10月5日。掲載コードのCAD実機検証は未実施です。図形を変更する例は、コピーした図面で結果を確認してください。