整数
選択されたパート内にあるすべての形状のIDを得る


整数 [せいすう]

. (小数点)のついてない数字が整数として認識されるようです。
incr コマンドなどは、整数にしか使えません。

整数実数より使える範囲が狭いようです。
調べてみたところ、2147483647 が上限のようです。

set i 2147483647
incr i

とすると、iは

-2147483648

になってしまいます。同様にいちばん小さい整数は -2147483648 のようで

set i -2147483648
incr i -1

とすると、2147483647 になってしまいます。

整数同士の計算をすると、答えも整数になります。

expr 5 / 3

の答えは、1 になってしまいます。
2003.7.2(水) 21:29:25[編集]



選択されたパート内にあるすべての形状のIDを得る [せんたくされたぱーとないにあるすべてのけいじょうの]

set start $ordinal
if {[create_part]} {
    set end $ordinal
    clear
} else {
    return "パート作成に失敗!"
}
set id_list {}
for {set i $start} {$i < $end} {incr i} {
    if {[select_by_ordinal $i]} {
        lappend id_list $handle
    }
}

選択されたパート(自由曲面パートでも、形状でもいい)の下にパートを作り、その序数を得れば、
それから 1 引くことによって選択されたパート内で一番大きい序数を得る事ができます。

上の例では $start 〜 [expr $end -1] までがその序数ということになります。
select_by_ordinal で形状を選択し、そのまま処理を実行しても問題ない場合もありますが、
処理によっては(たとえば掃引体を自由曲面に変換するような)
形状数が変化し、それによって最初に得た序数が意味にないものになってしまう場合があります。

これを避けるため、いったんすべての形状を序数で選択して、そのID($handleで得られる値)
リストに保存し、実際の処理は以下のようにIDで選択して実行するという方法が一般的だと思います。

foreach id $id_list {
    select_by_handle $id
    #形状に対する処理
}

2003.6.9(月) 19:52:11[編集]


Sakura Dictionary Ver. 1.09a
Scripted by UTANO Lime
(c)Pastel Carrot 1999-
All rights Reserved.