IDなしジャーナルファイル
ジャーナルファイルは、エンティティIDを参照せずに作成することもできます。この機能の目的は、以前のCUBITバージョンで作成したジャーナルファイルを新しいCUBITバージョンで再生できるようにすることです。「IDless」方式では、エンティティIDを使って入力したコマンドが、そのエンティティを別の方法で参照する形式でジャーナルへ記録されます。CUBITやACISの変更によってエンティティIDが変化することはよくあります。たとえば、あるバージョンではwebcut後に左側がVolume 3、右側がVolume 4になっても、別のバージョンではIDが逆になる場合があります。IDlessジャーナルファイルを再生すれば、エンティティの実際のIDに依存せずに処理できます。構文は次のとおりです。
[set] Journal IDless {on|off|reverse}
on オプションを使用するとIDlessジャーナリングが有効になり、コマンドはエンティティIDを使わずに記録されます。たとえば「mesh volume 1」は「mesh volume at 3.42 5.66 6.32 ordinal 2」のように記録される場合があります。
off オプションを選択すると、コマンドは従来どおり、入力した形式でジャーナルへ記録されます。
reverse オプションを使用すると、IDlessジャーナルファイルをIDベースのジャーナルファイルへ戻せます。新しいジャーナルファイルでは、現在のID番号体系が反映されます。
次のコマンドを Journal IDless 追加オプションなしで実行すると、現在のIDジャーナリング状態が表示されます。起動時の状態は「off」です。
古いジャーナルを変換する場合は、再生中にrecordコマンドを使用する方法が一般的です。次に例を示します。
journal idless on
record "my_idless.jou"
playback "my_journal.jou"
record stop
journal idless off
IDless ジャーナルファイルを IDベース のジャーナルファイルへ戻して記録するには、次の手順を使用できます。
journal idless reverse
record "new_id_based.jou"
playback "my_idless.jou"
record stop
journal idless off
注: APREPRO式のIDless変換は部分的にサポートされています。
IDlessモードを ONに設定すると、Vx(id)のようにIDを引数として取るAPREPRO関数は、Vx(x, y, z, ord)のように(x, y, z, ord)を引数として使用する形へ変換されます。(x, y, z)は中心点の座標、ordはordinal値です。ordinal値1..nは、共通の中心点を持つn個のエンティティ集合の各エンティティを識別します。エンティティのordinal値は、同じ集合内のほかのエンティティに対する生成順序に基づきます。
IDlessモードを REVERSE に設定すると(上記の例では)、Vx(x, y, z, ord)はVx(id)へ変換されます。これらのAPREPRO関数以外では、ジャーナルファイルをIDless形式へ変換するときも、IDless形式から戻すときもAPREPRO式は変更されません。そのため、「volume {x} size 10」のように式の評価結果がエンティティIDになる記述も変更されません。したがって、ジャーナルファイルを別のCUBITバージョンへ移す場合は、APREPRO式内のIDを手作業で更新する必要があることがあります。