Entmake
- 構文
- (entmake [elist])
- 機能
- 図面内に新しい図形を作成する。グラフィカル図形と非グラフィカル図形のどちらも定義できる。
- 引数
-
- elist : entget 関数が返すのと同じ形式の図形定義データリスト。 elist 引数には、図形の定義に必要な情報がすべて含まれていなければならない。必要な何らかの定義データが抜けていると、nil を返し、その図形は無効になる。省略可能な定義データ(画層など)を省略した場合は既定値を使用する。
- 図形タイプ(CIRCLE や LINE など)は、elist 引数の1 番目か 2 番目のフィールドでなければならない。図形タイプが 2 番目のフィールドである場合、その前には図形名だけを置くことができる。新しい図形を作成するとき、entmake 関数は、その図形名を無視する。elist 引数に図形ハンドルが含まれる場合も、同様。
- 戻り値
- 成功した場合、図形の定義データのリストを返す。新しい図形が作成できなかった場合は、nil を返す。
- ブロックの定義が完了(ENDBLK オブジェクトを entmake)すると、通常返す図形データ リストではなく、ブロックの名前を返す。
- サンプル
- 次のコードは座標(4,4)を中心とする半径 1 の赤い円(色 62)を作成する。省略可能な画層と線種のフィールドが省略されているので、既定値とみなされる。
(entmake '((0 . "CIRCLE") (62 . 1) (10 4.0 4.0 0.0) (40 . 1.0))) ((0 . "CIRCLE") (62 . 1) (10 4.0 4.0 0.0) (40 . 1.0))
- entmake 関数使用の注意
- entmake 関数でビューポート オブジェクトを作成することはできない。
- グループ コード 66 は、ブロック挿入オブジェクトに対してのみ存在する(後に属性が続くことを示している)。ポリライン図形では、グループ コード 66 が強制的に 1 となり(後に頂点が続くことを示している)、その他のすべての図形では、既定の 0(ゼロ)になる。ポリライン図形の後に続くことができるのは、頂点図形のみ。
- 寸法図形のグループ コード 2(ブロック名)は、entmake 関数では必ずしも必要ではない。ブロック名が図形定義リストで省略された場合、CAD は新しいブロック名を作成する。それ以外の場合、CAD 与えられた名前を使用して寸法図形を作成する。
- 互換性の理由により、entmake 関数は、次の図形タイプの DXF グループ コード 100 を無視する。
AcDbText AcDbAttribute AcDbAttributeDefinition AcDbBlockBegin AcDbBlockEnd AcDbSequenceEnd AcDbBlockReference AcDbMInsertBlock AcDb2dVertex AcDb3dPolylineVertex AcDbPolygonMeshVertex AcDbPolyFaceMeshVertex AcDbFaceRecord AcDb2dPolyline AcDb3dPolyline AcDbArc AcDbCircle AcDbLine AcDbPoint AcDbFace AcDbPolyFaceMesh AcDbPolygonMesh AcDbTrace AcDbSolid AcDbShape AcDbViewport
- 注:AutoCAD 2004 以降のリリースでは、entmod 関数には、色操作に関する新しい機能がある。DXF グループ コード 62 は AutoCAD カラー インデックス(ACI)値を保持するが、グループ コード 420 は True Color 値を保持している。True Color 値と ACI 値が矛盾する場合、AutoCAD は 420 の値を使用する。そのため、コード 62 の値を使用する場合は、その前にコード 420 の値を削除する必要がある。詳細は、AutoCAD の完全インストールを実行し、¥Sample¥VisualLISP フォルダ内の color-util.lsp ファイルを参照。
関連事項