Sds ssget

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年12月23日 (水) 09:20時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
int sds_ssget (const char *mode, const void *point1, const void *point2, const struct sds_resbuf *filter, sds_name setname);


機能
選択されたオブジェクトから選択セットを作成する。
注意 : オブジェクトスナップの設定は無視される。選択セットがモデルスペースで使用される場合は、ペーパー空間の図形は選択されない。逆もまた然り。
引数
  • *mode : 選択モード (下表参照)
  • *point1 : 選択点
  • *point2 : 選択点
  • *filter : フィルター (下表参照)
  • setname : セット名
戻り値
なし?


有効な選択モードは、次のとおり。
モード 意味
NULL (なし)点指示 point1
C 交差選択 point1 point2
CC 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト) point1 point2
CP ポリゴン交差選択(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト) 点リスト
F フェンス選択 点リスト
I 暗黙選択(システム変数 PICKFIRST が有効な間に選択されたオブジェクト) なし
L データベースに最後に追加された可視オブジェクト なし
O 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト) 点リスト
OC 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト以外のオブジェクト) point1 point2
OP 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト) 点リスト
P 最後に作成された選択セット なし
PO 閉じた図形 (指定された点が内部になるすべての閉じたオブジェクト) point1
W 窓選択 point1 point2
WC 円窓選択 point1 point2
WP ポリゴン窓選択(指定されたポリゴンに完全に含まれるすべてのオブジェクト) 点リスト
X データベース全体。 X 選択方法を指定し、filter-list 引数を指定しなかった場合、非表示、フリーズ、表示しているスクリーンの外にある図形を含む、すべての図形を選択する。 なし


フィルターで利用できる演算子
演算子 意味
= 等しい
!= 等しくない
/= 等しくない
<> 等しくない
< より小さい
<= より小さいか等しい
> より大きい
>= より大きいか等しい
* All.
実数では以下の演算子は使えない。
  • "&" : ビット積(AND)演算子 (整数のみ)。
  • "&=" : ビット積代入(AND)演算子 (整数のみ)。
  • "*" : 文字のみ利用可能。


サンプル
sds_name setname1;

// フィルタリスト(線分)の作成
sds_resbuf *filter = sds_buildlist(RTDXF0,"LINE",0);
   
// 図面内の線分図形を取得する。
if (sds_ssget("X", NULL, NULL, filter, setname1) == RTNORM){
  long setlen;
  sds_sslength(setname1, &setlen);
  sds_printf("\n %li 個の図形がありました。",setlen);
}