3.2 モデルの名前の管理

次のページ

 幾何モデルのデータは、NUCE_BASICの変数と配列の作業領域とは独立した作業域を使っています。この作業域には二種類あって、一つが幾何モデル保存用のリストセル、もう一つがスタックと呼ばれ、モデルの名前が登録されています。コマンドのCMINITは、リストセルとスタックとの両方をクリアして初期化します。これはディスク領域をFORMATするのと考え方は同じです。一般のユーザーは、GEOMAPの作業域の詳細構造を知る必要はありませんが、メモリの使われ方を確認することができます。これはMS-DOSのコマンドのDIRに似せて、CDIRが用意されています。モデルが創成されると、その名前が「後入れ先だし」LIFO (last in, first out)の順でスタックに登録されます。モデルの名前は、現在のGEOMAPのバージョンではアスキー8文字以内に決めてあります。

 プログラミングの単位として、例えば干渉処理PUNIでは、元のサブルーチンは二つのモデル間での処理をするように作られています。ユーザーの使い勝手が良くなるように、NUCE_BASICのコマンドは、例えば「PUNI "A", "B1", "B2", "B3" …」のように複数のモデルを順に処理できるようにしてあります。現在のGEOMAPのバージョンでは、"B6"まで、6回の処理ができ、合成された名前は最初のモデル"A"を引き継ぎ、演算に使ったモデルの名前は消去されます。

 例えば、二つの立体モデルの和をコマンド PUNI を使って求めるとき、二つの立体が離れていて干渉が生じない場合でも、二つをまとめて一つの名前のモデルに合わせます。名前が一つであっても、実際には独立した幾何モデルが複数存在するものを、集合体(assembly)と呼びます。モデルが集合体であるかどうかは、直接確かめることができません。そこで、モデルが複数の独立したモデルに分解させるコマンドとして PDCOMP が用意されています。この処理を行なわせると、同じ名前のモデルが複数できますので、これらに別々の名前を付け直して区別できるようにします。

 リストセルの作られたモデルのデータを外部のファイルに書き出したり、読み込んだりするコマンドにFSSAVE/FSLOADがあります。この詳細は第9章で説明します。なお、専門のプログラマが利用してモデルの検査をする隠しコマンドがありますが特殊ですので載せませんでした。英字のCを付けたコマンドはセル(Cell)管理を意味しますが下の表のような種類があります。

CMINIT 記憶領域の初期化で、いわばファイルのフォーマットに当たります。
CDIR リストセルの使用数、利用可能な残りのリストセルの数、作成されている幾何モデルの名前とその種別、をコンソールに表示します。幾何モデルの名前は、新しく作られた順に、スタックに並びます。集合体を単体のモデルに分解すると、同じ名前が並びます。
CRENAM 幾何モデルの名前を別の名前に書き直します。直したい名前は、スタックの先頭から探して、最初に見つかった名前を替えます。
COPY ある幾何モデルの複製を作って別の名前をつけます。一回のコマンドで、最大6個までの名前を指定できます。目的によってPCOPY,RCOPY,JCOPYとして使います。
CDEL 既に作られている幾何モデルを消去して、リストセルが使用されていた領域を解放し、リストセルの再利用に当てます。

次のページ