AutoCADで図形を操作する際、すべての図形は「エンティティ」として管理されています。
このエンティティという概念を理解することで、AutoLISPによる図形操作が一気に自由になります。
🧩エンティティとは?
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 | 最後に作成されたエンティティを取得 |
assoc | DXFコードから特定情報を抽出する |
🧪チュートリアル:エンティティの色を変更する
ステップ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を制す
エンティティは、AutoCADの図形操作の“核”です。
AutoLISPを使えば、エンティティの取得・編集・作成・削除が自在に行えます。
このチュートリアルを通じて、図面の自動化や効率化の第一歩を踏み出しましょう!
コメント