Storage.Slot

説明

ストレージオブジェクトの格納可能スロットのグリッドの一部であるスロット。

プロパティ

address スロットのアドレス。
aisleID スロットの通路ID。
bay スロットのベイ。
bayID スロットのベイID。
isStorable そのスロットが格納可能スロットの場合は1、それ以外の場合は0。
labelProperties 独自の名前付きプロパティを使用して、スロットのラベル値を取得または設定します。
level スロットのレベル。
levelID スロットのレベルID。
location スロットのストレージオブジェクトのローカル座標で、スロットの下端、前面、左隅の場所。
size スロットのサイズ。
slotID スロットのスロットID。
slotItems このスロットに格納または割り当てされているStorage.Slot.Itemの配列にアクセスします。
StorageObject スロットのストレージオブジェクト。
zoneID スロットのゾーンID。

メソッド

getLocation スロット内の位置を取得します。
hasSpace 渡されたアイテムをスロットに格納するため十分な容量があると計算された場合に1を、それ以外の場合に0を返します。
restack スロットに格納されている一部またはすべてのアイテムについて、スロットのスタッキングアルゴリズムを再実行します。

詳細

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.address

readonly string address

説明

スロットのアドレス。

スロットのストレージオブジェクトにアドレス方式が存在するなら、そのアドレス方式に従ってスロットのアドレスをフォーマットします。存在しない場合、アドレスは<StorageObjectName>-<BayNumber>-<LevelNumber>-<SlotNumber>のようにフォーマットされます。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.aisleID

readonly Variant aisleID

説明

スロットの通路ID。

スロットのストレージオブジェクトにアドレス方式が存在するなら、そのアドレス方式に従ってスロットの通路IDをフォーマットします。言い換えると、通路のアドレス方式が数値でアドレス指定されるなら、通路IDは数値です。それ以外の場合、通路IDは文字列です。アドレス方式が存在しない場合、通路IDは空白になります。指定されたストレージオブジェクトのすべてのスロットが、ストレージオブジェクトの通路IDを自分の通路IDとして使用します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.bay

readonly Storage.Bay bay

説明

スロットのベイ。

このスロットが属するベイを返します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.bayID

readonly Variant bayID

説明

スロットのベイID。

スロットのストレージオブジェクトにアドレス方式が存在するなら、そのアドレス方式に従ってスロットのベイIDをフォーマットします。言い換えると、そのアドレス方式でベイが英字でアドレス指定されるならbayIDは文字列、それ以外の場合、bayIDは数値です。アドレス方式が存在しない場合、bayIDはベイ番号になります。

ベイIDは、ストレージオブジェクトの開始ベイベイ幅に従ってマップされます。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.isStorable

readonly int isStorable

説明

そのスロットが格納可能スロットの場合は1、それ以外の場合は0。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.labelProperties

Variant labelProperties

説明

独自の名前付きプロパティを使用して、スロットのラベル値を取得または設定します。

Storage.Slotクラスを使用して、スロット上のラベルに適用されるカスタム名付きのプロパティを取得および設定できます。たとえば、指定したスロットの「SKU」という名前のラベルの値を5に設定するには、次のコードを使用します。

slot.SKU = 5;

これにより、ラベルの値は5に設定されます。その名前のラベルが存在しない場合、スロットのラベルに追加されます。

スロットの「SKU」ラベルに格納されている値を返すには、次のコードを実行します。

return slot.SKU;

スロットラベルの場合、この動的なプロパティ構文を使用してラベルにアクセスする必要があります。ツリー内で直接ラベルノードにアクセスする構文(

slot.labels.assert("SKU").value = 5;
など)は使用しません。ストレージシステムは、ルックアップを迅速に行えるよう、スロットラベル値のインデックスを管理できます。このインデックスは、動的なプロパティ構文を使用してラベルの値を設定する場合のみ、正しく更新されます。

詳細については、treenode.labelPropertiesを参照してください。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.level

readonly Storage.Level level

説明

スロットのレベル。

このスロットが属するレベルを返します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.levelID

readonly Variant levelID

説明

スロットのレベルID。

スロットのストレージオブジェクトにアドレス方式が存在するなら、そのアドレス方式に従ってスロットのレベルIDをフォーマットします。言い換えると、そのアドレス方式でレベルが英字でアドレス指定されるならlevelID は文字列、それ以外の場合、levelIDは数値です。アドレス方式が存在しない場合、levelIDはレベル番号になります。

レベルIDは、ストレージオブジェクトの開始レベルレベル幅に従ってマップされます。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.location

readonly Vec3 location

説明

スロットのストレージオブジェクトのローカル座標で、スロットの下端、前面、左隅の場所。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.size

readonly Vec3 size

説明

スロットのサイズ。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.slotID

readonly Variant slotID

説明

スロットのスロットID。

スロットのストレージオブジェクトにアドレス方式が存在するなら、そのアドレス方式に従ってスロットのスロットIDをフォーマットします。言い換えると、そのアドレス方式でスロットが英字でアドレス指定されるならslotIDは文字列、それ以外の場合、slotIDは数値です。アドレス方式が存在しない場合、slotIDはスロット番号になります。

スロットIDは、ストレージオブジェクトの開始スロットスロット幅に従ってマップされます。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.slotItems

readonly slotItems

説明

このスロットに格納または割り当てされているStorage.Slot.Itemの配列にアクセスします。

スロットアイテム数へのアクセス

次のコードを使用して、スロットアイテムの数にアクセスできます。

slot.slotItems.length

ランクによるスロットアイテムへのアクセス

次のコードを使用して、ランクにより個別のスロットアイテムにアクセスできます。

slot.slotItems[1] // first slot item
slot.slotItems[slot.slotItems.length] // last slot item
slot.slotItems[i] // i-th slot item
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.storageObject

readonly Storage.Object storageObject

説明

スロットのストレージオブジェクト。

このスロットが属するストレージオブジェクトを返します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.zoneID

readonly Variant zoneID

説明

スロットのゾーンID。

スロットのストレージオブジェクトにアドレス方式が存在するなら、そのアドレス方式に従ってスロットのゾーンIDをフォーマットします。言い換えると、そのアドレス方式でゾーンが数値でアドレス指定されるなら、ゾーンIDは数値です。それ以外の場合、ゾーンIDは文字列です。アドレス方式が存在しない場合、ゾーンIDは空白になります。指定されたストレージオブジェクトのすべてのスロットが、ストレージオブジェクトのゾーンIDを自分のゾーンIDとして使用します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.getLocation()

Vec3 getLocation( double xFactor , double yFactor , double zFactor )
Vec3 getLocation( Vec3 factors )

パラメータ

xFactor スロット内の正規化されたターゲットxの場所。範囲は0~1です。
yFactor スロット内の正規化されたターゲットyの場所。範囲は0~1です。
zFactor スロット内の正規化されたターゲットzの場所。範囲は0~1です。
factors x、y、zの係数を単一のVec3としてカプセル化します。

説明

スロット内の位置を取得します。

このメソッドは、Object.getLocation()と似たものです。ストレージオブジェクトのローカル座標で、スロットの相対位置を返します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.hasSpace()

int hasSpace( treenode item )

パラメータ

item スロット内に配置するフローアイテム。

戻り値

int スロット内に、アイテムを格納するため十分な容量があると計算された場合は1、それ以外の場合は0。

説明

渡されたアイテムをスロットに格納するため十分な容量があると計算された場合に1を、それ以外の場合に0を返します。

hasSpace()メソッドは、ストレージオブジェクトの[スロットスタッキング順序]プロパティを使用して、スロットに既に格納または割り当てされているアイテムの組を考慮し、スロットへのアイテムの格納をシミュレートします。スロットにアイテムを格納できると判定された場合、その配置が完全にスロットの境界内かどうかのチェックが行われます。配置がスロットの境界内なら、メソッドは1を返します。それ以外の場合、メソッドは0を返します。

アイテムのサイズとローテーション

アイテムの配置を計算するとき、アイテムの現在のサイズとローテーションが使用されます。アイテムのサイズとローテーションは、アイテムが最終的にスロットに格納された時点でも同じであると想定されます。ローテーションはモデルの実行中に変化することが多いため、この点は特に重要です。アイテムが最終的にスロットに格納されるとき、hasSpace()が呼び出されたときとアイテムのローテーションが異なる場合、hasSpace()の戻り値が結果的に正しくなくなる可能性があります。これを修正するには、アイテムのローテーションを、そのアイテムがラックに格納されるときと同じに設定してから、hasSpace()を呼び出します。その後で、アイテムの現在のコンテキストで必要な値にローテーションを戻すことができます。

割り当てのみのアイテム

アイテムを格納できる容量が使用可能かどうかを判定するために配置を「シミュレート」するときは、そのスロットに既に格納されているアイテムだけではなく、スロットに割り当てられているが、まだスロットに格納されていないアイテムも考慮されます。まず割り当てのみのアイテムが、スロットに割り当てられた順で、スロットに仮想的に「配置」されます。その後で、現在照会されているアイテムが、他の割り当て済みアイテムすべての後でスロットに送り込まれたものとして、仮想的に配置されます。

割り当てのみのアイテムが仮想的に配置されるため、hasSpace()メソッドは発見的なものでしかないことに注意してください。hasSpace()の結果では、割り当て済みのアイテムがスロットに割り当てられたのと同じ順序でスロットに格納され、アイテムのローテーションとサイズが、ラックに格納されるときと同じであると想定します。これらの要素が変化する、または異なるサイズのアイテムが、割り当て順序とは異なる順序でスロットに格納される場合、hasSpace()の返す値は、すべての割り当て済みアイテムが格納された後で実際に容量がスロットに存在するかどうかとは一致しなくなります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Storage.Slot.restack()

void restack( int fromRank = 0 )

パラメータ

fromRank 0以外の場合、スロットは定義済みラックのアイテムからのみ開始し、そのポイントから再スタックします。

説明

スロットに格納されている一部またはすべてのアイテムについて、スロットのスタッキングアルゴリズムを再実行します。

スロットのスタッキング順序で、単一の軸にのみスタックが行われるストレージオブジェクト(および、グラビティフローとプッシュバックラックの場合)では、再スタックを必要とする場所からアイテムが取り出されるとき、ストレージオブジェクトの再スタックが自動的に行われます。しかし、スロットのスタッキング順序に複数の軸が含まれる場合、中間または先頭の場所からアイテムが取り出されても、ストレージオブジェクトのスロットは自動的に再スタックされません。この場合、このメソッドを使用して手動でスロットを再スタックする必要があります。