Sds entmod

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
int sds_entmod (const struct sds_resbuf *entity-list);


機能
オブジェクト(図形)の定義データを更新する。
sds_entmod はオブジェクトタイプやハンドルを変更することはできない。
viewports、xrefs、xdefs、xdeps 図形は変更できない。
デフォルトの色や線種であるBYLAYERにする場合は、256 をセットする。
文字スタイル名、線種名、shapeとブロック名は、sds_entmod を実行擦る前に定義されていなければならない。
サブエンティティを含む図形を更新した場合に更新を表示に反映させるには、sds_entupd か regen コマンドで再描画する必要がある。
引数
  • *entity-list : エンティティリスト
戻り値
RTNORM または RTREJを返す。システム変数 ERRNO にエラーコードがセットされる。


以下のシンボルテーブルエントリは修正や名前変更することはできない。
修正できないもの
テーブル名 エントリー
LAYER All, except extended entity data.
LINESTYLE CONTINUOUS
VPORT *ACTIVE


名前を変更できないもの
テーブル名 エントリー
APPID None.
BLOCKS *MODEL_SPACE と *PAPER_SPACE
DIMSTYLE STANDARD
LAYER 0 と Defpoints
STYLE STANDARD


サンプル
sds_entlast(entname);        // 最後の図形を取得。
entlist=sds_entget(entname); // リザルトバッファを取得。

// リザルトバッファを走査
for (templist=entlist;templist->rbnext!=NULL; templist=templist->rbnext)
{
  if (templist->restype==62) // 色の取得
  templist->resval.rint=240; // 240番に変更。
}
sds_entmod(entlist);         // 変更したデータで更新。



関連事項