Sds entmake

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年12月16日 (水) 12:24時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
int sds_entmake (const struct sds_resbuf *entity-list);


機能
図面内に新しい図形を作成する。 但し、viewports、xrefs、xdefs、xdeps は作成できない。
sds_entgetと相対する関数。
エンティティリストを作成する際の注意点
  • リストの最初か2番目のバッファは、エンティティタイプ(有効なDXFエンティティタイプ)を指定しなければならない。
  • 最初のバッファがタイプを指定しないときは、sds_entget によって返されるのと同じフォーマットでエンティティ名を指定しなければならない。
  • 文字スタイル名、linetype名、shapeとブロック名は、sds_entmake を実行する前に定義されていなければならない。レイヤについては定義されていない場合は作成される。
  • リストは、ハンドルを含んではならない。
  • ポリラインやブロックなど、複雑な図形は、複数回のsds_entmekeでサブエンティティを作成してから作成する。サブエンティティが完全に定義されていないと図面へは登録されない。
引数
  • *entity-list : エンティティリスト
戻り値
成功なら RTNORM 、ブロックの endblk を作成したときは RTKWORD を返す。データベースを更新することができなかった場合は、RTREJ を返してシステム変数 ERRNO にエラーコードにセットする。


サンプル
sds_point point1 = {1.0,3.0,0.0};
sds_point point2 = {7.0,3.0,0.0};
entlist=sds_buildlist(RTDXF0, "line", // エンティティタイプ
                      8, "0",         // レイヤ名
                      62, 70,         // 色番号
                      10, point1,     // 開始点
                      11, point2,     // 終了点
                      RTNONE);        // リスト終了。 RTNONE か 0

sds_entmake(entlist);



関連事項