Sds bbox

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
int sds_bbox(const sds_name entname, sds_point lowerleft, sds_point upperright);


機能
エンティティのバウンディングボックスを返す。
引数
  • entname : エンティティ名
  • lowerleft : 左下点の配列
  • upperright : 右上点の配列
戻り値
成功なら RTNORM、そうでない場合は RTERROR を返す。


サンプル
sds_point lowerleft, upperright;
sds_name entname;
sds_name_clear(entname);

if (sds_entlast(entname) == RTNORM)
{
  if (sds_bbox(entname, lowerleft, upperright) == RTNORM)
  {
    // grdraw でバウンディングボックスを描画
    sds_point upperleft, lowerright;
    upperleft[0] = lowerleft[0];
    upperleft[1] = upperright[1];
    upperleft[2] = lowerleft[2];
    lowerright[0] = upperright[0];
    lowerright[1] = lowerleft[1];
    lowerright[2] = upperright[2];
    sds_grdraw(lowerleft, upperleft, 1, 0); // 左辺
    sds_grdraw(upperleft, upperright, 1, 0); // 上辺
    sds_grdraw(upperright, lowerright, 1, 0); // 右辺
    sds_grdraw(lowerright, lowerleft, 1, 0); // 底辺
  }
}