「Sds entmakex」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成: ; 構文 : int sds_entmakex (const struct sds_resbuf *entity-list, sds_name new-entity); ; 機能 : sds_entmake関数と同じ。 : 当初の目的は、図面に保存され…)
 
(相違点なし)

2009年12月16日 (水) 12:45時点における最新版

構文
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);



関連事項