Sds entmakex
- 構文
- int sds_entmakex (const struct sds_resbuf *entity-list, sds_name new-entity);
- 機能
- sds_entmake関数と同じ。
- 当初の目的は、図面に保存されていないオブジェクトを作成するためにオーナー割り当てされないことを除いて、sds_entmakeに類似した機能を提供することであった。ただし、互換性の理由から、sds_entmakex とオーナーを割り当てた場合は図面に保存されるため、該当するADS関数と同様の機能にならない。
- 引数
-
- *entity-list : エンティティリスト
- new-entity : エンティティ名
- 戻り値
- 成功なら RTNORMを返す。データベースを更新することができなければ、RTREJ を返す。
- サンプル
struct sds_resbuf *listbuf = NULL;
struct sds_resbuf *databuf = NULL;
sds_name xname;
sds_name newxname;
sds_name nmdict;
/* エンティティリストの作成 */
listbuf= sds_buildlist(RTDXF0, "DICTIONARY", 100, "AcDbDictionary", 0);
/* エンティティリストのエンティティを作成 */
if ( sds_entmakex(listbuf,xname) != RTNORM )
sds_printf("\nエンティティ生成エラー : listbuf.");
/* ディクショナリから named object を取得 */
sds_namedobjdict(nmdict);
/* ディクショナリテーブルにレコードを追加 */
sds_dictadd( nmdict, "MY_DICTIONARY", xname);
/* 拡張データのエンティティリストを作成 */
databuf= sds_buildlist(RTDXF0, "XRECORD", 100, "AcDbXrecord", 1, "My Data", 0);
/* エンティティリストのエンティティを作成 */
if ( sds_entmakex(databuf,newxname) != RTNORM )
sds_printf("\nエンティティ生成エラー : databuf.");
/* ディクショナリテーブルにレコードを追加 */
sds_dictadd( xname, "MY_DICTIONARY", newxname);
関連事項