Graebert Japan ヘルプセンター

9/17開催 | 無料オンラインイベント「Graebert neXt Japan 2026」

  1. Home
  2. /
  3. FAQ
  4. /
  5. ARES LISP ガイド
  6. /
  7. 図形を作成する

図形を作成する

図形を作成するには、command 関数、entmake 関数、Add図形名 関数を使います。

command 関数を使って図形を作成する

中心 (10,10,0) 半径 2.5 の円を作図するには、次のようにします。

(setq p ‘(10.0 10.0 0.0))

(command “CIRCLE” p 2.5)

‘ はクオートと読み、リストを式ではなく値として利用することを示します。

座標は3つの実数を持つリストで表すので、引数をリスト化する list 関数を使って

(setq p (list 10.0 10.0 0.0))

と表現してもよいことになります。

また command 関数でユーザーに入力させるには定数 PAUSE を使います。

(command “CIRCLE” PAUSE 2.5)

は、中心点はユーザーに指定させ、半径 2.5 はプログラムで与えています。

線色はシステム変数 CECOLOR、線種はシステム変数 CELTYPE を適用します。

entmake 関数を使って図形を作成する

先の例と同じく、中心 (10,10,0) 半径 2.5 の円を作図します。

(setq el ‘((0 . “CIRCLE”)( 8 . “PIPE” )( 6 . “ByLayer”)(10 10.0 10.0 0.0)(40 . 2.5)))

(entmake el)

entmake で図形を作成するには、図形を表すリストを用意します。

ARESで図形を選択すると、プロパティパレットにプロパティの名前と値が表示されますが、図形を表すリストでは、プロパティの名前と値の対応は、DXFファイルのグループコードと値で表現します。

グループコードプロパティ名
0図形名“CIRCLE”
8画層“PIPE”
6線種“ByLayer”
10円の中心(10.0 10.0 0.0)
40円の半径2.5

図形を表すリストに含まれなかったプロパティは、システム変数から取得します。 その図形を定義するのに最低限必要なプロパティがリストに含まれなかったときは、entmake 関数は失敗し、プログラムは中断します。

Add図形名 関数を使って図形を作成する

オートメーションを使って図形を作成するには次の手順になります。

先の例と同じく、中心 (10,10,0) 半径 2.5 の円を作図します。

(setq app (vlax-get-acad-object))

(setq doc (vla-get-ActiveDocument app))

(setq ms (vla-get-ModelSpace doc))

(setq pt (vlax-3d-point ‘(10.0 10.0 0.0)))

(setq ent (vla-AddCircle ms pt 2.5))

オートメーションを使用するには、最初にアプリケーションオブジェクトが必要です。
それには、vlax-get-acad-object 関数を使います。

次に作図先として現在アクティブな図面を取得します。

それには、vla-get-ActiveDocument 関数を使用します。これは、アプリケーションオブジェクトの ActiveDocument プロパティを読み取っています。

次に作図先として図面のモデル空間ブロックを取得します。

それには、vla-get-ModelSpace 関数を使用します。これは、ドキュメントオブジェクトの ModelSpace プロパティを読み取っています。ペーパー空間ブロックが必要なら vla-get-PaperSpace 関数、特定のブロックが必要ならブロックコレクションからブロックを取得します。以下は ブロック名 POLE にアクセスする例です。

(setq rec (vla-Item (vla-get-Blocks doc) “POLE”))

ARES LISPでは座標は3つの実数値のリストですが、オートメーションでは3つの実数値を持つセーフ配列です。リストをセーフ配列に変換する vlax-3d-point 関数を使って、中心 (10.0,10.0,0.0) をセーフ配列を取得します。 最後に、モデル空間ブロックに円を追加します。それには、vla-AddCircle 関数を使用します。これは、ブロックオブジェクトの AddCircle メソッドを呼び出しています。パラメータとして中心点と半径が必要です。

図形のプロパティを変更する

作成された円オブジェクトは、変数 ent に格納されているので、画層や線種を変更することも可能です。

(vla-put-layer ent “Floor”)

(vla-put-color ent 6)

vla-put-layer は円図形の画層 Layer プロパティに画層名 Floor を設定します。
vla-put-color は円図形の色番号 Color プロパティに色番号 6 (マジェンタ)を設定します。 オートメーションのオブジェクトのプロパティをまとめて確認するには、vlax-dump-object 関数を使います。

図形リストから図形のプロパティを調べるにはDXFファイルのグループコードを覚える必要がありますが、オートメーションでは vlax-dump-object を使います。

オブジェクトが持っているプロパティ、メソッド、イベントを全て知りたい場合は、Visual Studio や Visual Basic for Application のオブジェクトブラウザを使います。


ユーザー入力に戻る  図形を選択するに進む

短縮URL: https://jp-help.graebert.com/?p=38968

ARES CAD 活用リソース

ARES Commander 2027 リリース

ARES の最新バージョン ARES 2027 がリリースされました。ARES 2027 は、AI・自 動化・BIM・クラウドという、CADの各領域を強化した最新版です。

DWG図面をリンク1つで共有

表示専用リンクを使えば、DWG図面をリンクだけで安全に共有できます。
CADソフトを持っていない相手でもブラウザから閲覧し、コメントやマークアップを追加できます。

DWG図面を無料でオンライン表示

ARES Kudoの無料ビューアーを使えば、DWG図面をブラウザから簡単に表示できます。
インストール不要で図面の確認や計測ができ、コメントやマークアップで共同作業も可能です。