カテゴリごとのコマンド

AGV

agvaddlistener (obj agv, node listenernode, num flags[, ...])
説明
AGVにイベントリスナーを追加する
agvaddlistener(agv, c, AGV_LISTEN_PRE_ARRIVAL);
agvinfo (obj agv, num what[, p1, p2, p3, p4])
説明
廃止されました。AGVクラスを使用してください。
パラメータに応じて、AGVについての各種の情報を取得します。
AGV_CURRENT_CP - AGVの現在のコントロールポイントを返します。
AGV_ORIGIN_CP - AGVの元のコントロールポイントを返します。
AGV_INTERMEDIATE_DEST_CP - AGVの中間目的地コントロールポイントを返します。
AGV_DEST_CP - AGV_INTERMEDIATE_DEST_CPと同じです。
AGV_FINAL_DEST_CP - AGVの最終目的地のコントロールポイントを返します。
AGV_DEST - AGVの目的地オブジェクトを返します。
AGV_BATTERY_LEVEL - AGVの現在のバッテリーレベルをバッテリー容量のパーセンテージ(0~100)で返します。
AGV_AMP_HOURS - AGVの現在のバッテリーレベルをアンペア時で返します。
AGV_START_RECHARGE - AGVの再充電を開始します。最大容量まで再充電するため必要な時間を返します。
AGV_RECHARGE_TO_LEVEL - AGVのバッテリーレベルをp1(0~100)に明示的に設定します。
AGV_ADD_ALLOC_POINT - 移動初期化トリガーから呼び出します。割り当てのコントロールポイント/コントロールエリアを手動で割り当てます。これらは、AGVの現在の移動パスの一部として割り当てる必要がないコントロールポイント/コントロールエリアです。コントロールポイント/コントロールエリアはp1として渡され、どの距離で割り当てる必要があるかがp2として渡されます。このコマンドは、その割り当てを表すノードへの参照を返します。その割り当てポイントについてさらにデータを指定するには、AGV_SET_ALLOC_POINT_DEALLOC_DISTとAGV_SET_CAN_STOP_AT_ALLOC_POINTを使用します。
AGV_SET_ALLOC_POINT_DEALLOC_DIST - 追加された手動の割り当てポイントについて、AGVがオブジェクトを割り当て解除できる移動距離を設定します。オブジェクトが正しく割り当て解除されるよう、割り当ての追加後にいずれかの時点でこのコマンドを呼び出します。p1はAGV_ADD_ALLOC_POINTにより返される割り当てポイントノードへの参照、p2は割り当て解除距離です。
AGV_SET_CAN_STOP_AT_ALLOC_POINT - AGVが、手動で追加された割り当てポイントで停止可能かどうかを設定します。デフォルトはnoで、AGVは停止距離では停止せず、オブジェクトの割り当てを試みる前に次の停止可能なポイントまで続行します。これを1に設定すると、AGVは手動の割り当てポイントで停止し、先の割り当てを行います。p1はAGV_ADD_ALLOC_POINTにより返される割り当てポイントノードへの参照、p2は1または0です。
AGV_ATTACH_TRAILER - AGVに手動でトレーラーを追加します。p1は追加するオブジェクト、p2は適用するトレーラーギャップです。p3が1の場合はトレーラーがAGVの後ろ(AGVの末尾)に追加され、0の場合はトレーラーがAGVの前(AGVの先頭)に追加されます。p4が1の場合、オブジェクトがAGVから出るときにトレーラーが自動的にデタッチされ、0の場合、トレーラーのデタッチは手動で行います。
AGV_DETACH_TRAILER - AGVからトレーラーを手動でデタッチします。p1は、トレーラーとして追加されているオブジェクトです。
AGV_SPEED - AGVの現在の速度を返します。
AGV_PROXIMITY_STATE - AGVが累積パスの近接性によりブロックされている場合は1を、そうでない場合は0を返します。
AGV_ACCUM_AHEAD_AGV - 累積パスで、このAGVの前に別のAGVが存在する場合、そのAGVを返します。
agvinfo(agv, AGV_DEST_CP);
agvreassigncp (obj agv, obj controlpoint)
説明
廃止されました。AGVクラスを使用してください。
指定されたコントロールポイントにAGVを再割り当てします。
agvreassigncp(agv, controlpoint);
agvredirect (obj agv, obj object/controlpoint, num mode)
説明
廃止されました。AGVクラスを使用してください。
指定されたオブジェクト/コントロールポイントにAGVをリダイレクトします。modeは次のいずれかの値です。
REDIRECT_AND_WAIT - 到着前にリダイレクトされていない場合、AGVはリダイレクトされるまで目的地で待機します。
REDIRECT_AS_FINAL - 目的地がAGVの新しい最終目的地になります。REDIRECT_AND_CONTINUE_ON_ARRIVAL - AGVは中間目的地に到着した後で、最終目的地に移動を続けます。
REDIRECT_AND_CONTINUE_ON_PRE_ARRIVAL - AGVは中間目的地に事前に到着した後で、最終目的地に移動を続けます(減速して停止しません)。
agvredirect(agv, controlpoint, 1);
cp (obj/str object_or_name)
説明
AGVコントロールポイントへの参照を返します。
cp("CP547");
cpaddlistener (obj rootObj, str connectionPath, node listenerNode, num flags[, ...])
説明
1つ以上のコントロールポイントのイベントに、リスナーを追加します。
cpaddlistener(current, "Location > LoadPoints", c, CP_LISTEN_EXIT | CP_LISTEN_AVAILABLE);
cpallocate (obj controlPoint, obj allocator, num force)
説明
要求オブジェクトにコントロールポイントを割り当てます。成功した場合、割り当てを表す結合ノードへの参照が返されます。
cpallocate(controlPoint, current, 1);
cpconnection (obj controlpoint/object, num/str connection, num rank)
説明
コントロールポイント接続を返します。また、connectionが文字列で、controlpointとrankの両方が0の場合、このコマンドは与えられた接続のインデックスを返します。このコマンドは、以後のコマンドで接続の番号を使用し迅速化を行うためのものです。
cpconnection(cp, "ForwardTo", 1) cpの最初のForwardTo接続を返します。
cpconnection(cp, "LookForWork>NextLookForWork", 1) オブジェクトを見つけるため、2つの接続を横断します。これは、cpconnection(cpconnection(cp, "LookForWork", 1), "NextLookForWork", 1) と同じです。
cpconnection(cp, "LookForWork:2>NextLookForWork", 1) cpconnection(cpconnection(cp, "LookForWork", 2), "NextLookForWork", 1) と同じです。
int connIndex = cpconnection(0, "LookForWork", 0);
treenode obj = cpconnection(cp, connRank, 1);
接続のインデックスを取得し、名前の代わりにインデックスを使用します。
cpdeallocate (obj controlPoint, obj allocator)
説明
要求オブジェクトからコントロールポイントを割り当て解除します。成功した場合は1、失敗した場合は0が返されます。
cpdeallocate(controlPoint, current);
cpdistance (obj fromControlPoint, obj toControlPoint)
説明
2つのコントロールポイント間のAGVネットワーク距離を返します。
cpdistance(cp1, cp2)
cpisavailable (obj controlpoint)
説明
指定されたコントロールポイントが利用可能な場合、1を返します。byCriterionは現在は使用されず、将来の使用のため予約されています。
if (cpisavailable(cp)) {
...
}
cpnumconnections (obj controlpoint, num/str connection)
説明
コントロールポイントに存在する接続の数を返します。
cpnumconnections(cp, "ForwardTo")
cptasksequencequeue (obj controlpoint)
説明
コントロールポイントに関連付けられているタスクシーケンスキューへの参照を返します。
treenode tsQueue = cptasksequencequeue(cp);

通信

ソケットなどの外部アプリケーションとの通信、データベース通信、Microsoft Excelとのリンクを行うためのコマンド。
clientclose (num socket)
クライアントソケットを閉じる
説明
このコマンドは、socketで指定されたクライアントソケットを閉じます。
clientcreate()の後、いずれかの時点で呼び出す必要があります。ソケットが閉じると、読み取りや書き込みは一切できなくなります。
ソケット番号は、後でclientcreate()を呼び出すときに再利用できます。この関数は、ソケットが正常に閉じられた場合に真を返します。
clientclose(1);
clientconnect (num socket, str hostname, num port)
クライアントソケットへの接続を試みる
説明
このコマンドは、socketにより指定されたソケットから、hostnameの名前を持つマシンで実行中の、指定されたポートをリッスンしているサーバーへ接続を試みます。

socketとして渡される数値は、clientcreate()により以前に返された数値です。hostnameとして渡される文字列は、コンピュータの名前(クライアントと同じネットワークに存在する場合)またはIPアドレスです。このコマンドは、clientcreate()呼び出しが成功した後で使用します。ソケットが接続できなかった場合はソケットが閉じ、clientcreate()を再度呼び出して開く必要があります。この関数は、ソケットが正常に接続された場合に真を返します。
clientconnect(1,"localhost",1880);
clientcreate ()
TCP/IPプロトコルで新規クライアントソケットを作成する
説明
このコマンドは、TCP/IPプロトコルで通信を行うように設定された、新しいクライアントソケットを作成します。FlexSimは、同時に50までのクライアントソケットを作成できます。

各クライアントは、別のサーバーに接続できます。この関数は数値を返し、モデルは作成されたソケットを参照するために数値を保存する必要があります。

エラーが発生した場合、この関数は0を返します。
int socknum = clientcreate();
clientreceive (num socket, str buffer, num buffersize, num noblock[1/0])
ソケットへ送信されたデータを受信する
説明
このコマンドは、socketで指定されるソケットに送信されたデータを受信します。socketの値は、clientcreate()により返された数値です。このコマンドは、flexscriptとc++で動作が異なります。c++では、bufferはchar*デスティネーションへの有効なポインターの必要があり、読み取られたバイトはこのバッファにコピーされます。戻り値は、受信した合計バイト数です。クライアントのメッセージから最大でbufsizeまでのバイトが読み取られ、bufという名前の事前に割り当てられた文字配列に格納されます。これに対してflexscriptでは、bufferにNULLを渡し、戻り値は受信された実際の文字列です。noblocking = 1のとき、このコマンドはFlexSimプログラムの実行をブロックしません。noblocking = 0のとき、クライアントから何かが受信されるまでFlexSimプログラムの実行はブロック(フリーズ)されます。
c++: int bytes = clientreceive(1,Buf,15,0);
flexscript: string readstr = clientreceive(1, NULL, 15, 0);
clientsend (num socket, str message[, num charlength])
ソケットからメッセージを送信する
説明
このコマンドは、socketで指定されるソケットからメッセージを送信します。socketとして渡される数値は、clientcreate()により返された数値です。charlengthは渡される文字列の長さで、通常は省略可能です。送信される文字列にNULL文字が含まれている場合のみ必須となります。
clientsend(1,"REQ:service");
dbchangetable (str tablename)
ODBCデータベースに、tablenameで指定される名前のテーブルを開く
説明
このコマンドは、tablenameで指定される名前のテーブルをデータベースに開きます。データベースがSQLモードで開いている場合、このコマンドは何もしません。このコマンドが呼び出されたとき開いていたテーブルは閉じられます。新しいテーブルのみが読み取り可能です。これにより、ユーザーはデータベース全体を閉じて再度開く必要なしに、テーブルモードで複数のテーブルを読み取ることができます。
dbchangetable("Inventory");
現在開いているテーブルを閉じ、Inventoryという名前のテーブルを開きます。
dbclose ()
現在開いているODBCデータベースを閉じる
説明
このコマンドは、現在開いているODBCデータベースを閉じます。同時に開くことのできるデータベースは1つだけです。このコマンドは、dbopen()よりも前に呼び出された場合は何も行いません。SQLの「INSERT」コマンドの後に呼び出されると、エラーメッセージが返されます。dbclose()を呼び出す前に、通常の「SELECT」ステートメントを使用してください。
if (current.donegatheringdata == 1)
dbclose();

ラベルdonegatheringdataが現在1に設定されていれば、現在のデータベースが閉じられます。
dbexportnode (obj tablenode, num startrow, num startcol, num numrows, num numcols)
説明
指定されたノードから始まるテーブルを、現在開いているデータベーステーブルにエクスポートします。
テーブルの開始の行と列、およびエクスポートする行と列の数を指定します。
dbexportnode(so(),1,1,4,5);
dbexporttable (str tablename, num startrow, num startcol, num numrows, num numcols)
グローバルテーブルtablenameを、現在開いているODBCテーブルにエクスポートする
説明
指定されたグローバルテーブルを、現在開いているデータベーステーブルにエクスポートします。
テーブルの開始の行と列、およびインポートする行と列の数を指定します。
dbexportnode("MyTable4",2,2,3,3);
dbgetfieldname (num column)
開いているODBCデータベースのフィールド名を取得する
説明
このコマンドは、現在開いているODBCデータベースで、fieldnumにより指定されるフィールドまたは列の名前を返します。データベースが現在開いていない場合、空の文字列が返されます。存在しないフィールド番号を指定すると、例外が発生します。
string ColName = dbgetfieldname(1);

現在のデータベースにある最初の列の名前を、ColNameに設定します。
dbgetmetrics ()
開いているODBCデータベースのテーブルの寸法を取得する
説明
開いているODBCデータベースのテーブルの寸法を取得します。
dbgetmetrics()
dbgetmode ()
開いているODBCデータベースの現在のモードを取得する
説明
このコマンドは、現在開いているODBCデータベースのモードを返します。戻り値は次のとおりです。
DBMODE_CLOSED - 0 - データベースが開いていない
DBMODE_SQL - 1 - データベースがSQLモードで開いている
DBMODE_TABLE - 2 - データベースがテーブルモードで開いている
if (dbgetmode() != DBMODE_CLOSED)
ColName = dbgetfieldname(1);

データベースが開いていれば、データベースにある最初の列の名前が、ColNameに設定されます。
dbgetnumcols ()
開いているODBCデータベースの列数を取得する
説明
このコマンドは、現在開いているODBCデータベースの列数を返します。データベースが開いていなければ、0が返されます。
for (int x=1; x<=dbgetnumcols(); x++)
Table("MyTable")[1][x] = stringtonum(dbgettablecell(1,x));

データベースの列の値を、GlobalTableの列にコピーします。
dbgetnumrows ()
開いているODBCデータベースの行数を取得する
説明
このコマンドは、現在開いているODBCデータベースの行数を返します。データベースが開いていなければ、0が返されます。
for (int x=1; x<=dbgetnumrows(); x++)
Table("MyTable")[x][1] = stringtonum(dbgettablecell(x,1));

データベースの行の値を、GlobalTableの行にコピーします。
dbgettablecell (num row, num col)
開いているODBCデータベースのrowおよびcolと関連付けられている文字列を取得する
説明
このコマンドは、現在開いているODBCデータベースでrowおよびcolにより指定されるセルの情報を含む文字列を返します。データベースが開いていない場合、この関数はnull文字列(値0)を返します。
double tablevalue = stringtonum(dbgettablecell(1,1));

tablevalueを、データベースの最初の行、最初の列に格納されている数値に設定します。
dbgettablenum (num row, num col)
現在開いているODBCテーブルの行、列の数値を取得する
説明
現在のデータベーステーブルで、指定されたrowおよびcolにある数値を返します。
double val = dbgettablenum(2,3);
dbgettablestr (num row, num col)
現在開いているODBCテーブルの行、列の文字列を取得する
説明
現在のデータベーステーブルで、指定された行および列にある文字列を返します。
注意:FlexScriptのみのフィールドで使用された場合は数値が返され、tostring()を使用して明示的に文字列に変換する必要があります。
string val = dbgettablenum(2,3);
dbimportnode (obj tablenode, num startrow, num startcol, num numrows, num numcols)
現在開いているODBCテーブルからtablenodeにインポートする
説明
現在開いているデータベーステーブルを、指定されたノードから始まるテーブルにインポートします。
テーブルの開始の行と列、およびインポートする行と列の数を指定します。
dbimportnode(so(),1,1,4,5);
dbimporttable (str tablename, num startrow, num startcol, num numrows, num numcols)
現在開いているODBCテーブルからグローバルテーブルtablenameにインポートする
説明
現在開いているデータベーステーブルを、指定されたグローバルテーブルにインポートします。
テーブルの開始の行と列、およびインポートする行と列の数を指定します。
dbimportnode("MyTable4",2,2,3,3);
dbopen (str databasename, str command {SQL string or Tablename}, num usetable [, num showlogin])
ODBCデータベースを開く
説明
このコマンドは、ODBCデータベースを開く動作を試みます。成功した場合は1、失敗した場合は0が返されます。データベースを開く前に、ODBCエイリアス(またはデータソース名DSN)が定義されている必要があります。この操作は、Windowsコントロールパネルの[データソース]オプションを使用して行います。エイリアス名はdatabasenameとしてコマンドに渡されます。データベースのファイル名は渡しません。データベースは2つの異なるモードで開くことができます。これらのモードは、動作および使用可能なコマンドが多少異なります。SQLモードとテーブルモードがあります。パラメータtablemodeが1ならデータベースはテーブルモードで開き、commandには開くデータベースのテーブル名を使用します。テーブルが正しく開かれると、テーブル全体を読み取れるようになります。テーブルモードでは各セルを編集できます。データベースがテーブルモードのとき、SQLコマンドは呼び出せません。tablemodeが0ならデータベースはSQLモードで開き、commandには最初のSQLクエリを使用します。クエリが正しく実行されると、クエリの結果のみを読み取ることができます。SQLモードでは各セルを編集できません。ただし、データベースが開くとSQL更新クエリを呼び出すことができます。showloginが1なら、データベースへの接続を行う前に標準のログインプロンプト(ユーザー名/パスワード)が表示されます。
dbopen("itemdrive","timetable",1);

データベースをエイリアス「itemdrive」で開き、「timetable」という名前のテーブルをテーブルモードで開きます。

dbopen("warehouse","select * from inventory",0);

データベースをエイリアス「warehouse」で開き、SQLクエリを実行します。データベースはSQLモードで開きます。
dbsettablecell (num row, num col, str value)
開いているODBCデータベースの行、セルの値を設定する
説明
このコマンドは、現在開いているODBCデータベースで、rowおよびcolで指定されるセルの値をvalueに設定します。データベースがSQLモードで開いている場合、このコマンドは何もしません。データベースのエイリアスが読み取り専用に設定されている場合、このコマンドは例外を引き起こします。エイリアスは、Windowsコントロールパネルの[データソース]オプションで読み取り専用に設定されます。関数に数値を渡す必要がある場合は、strintonum()コマンドを使用します。
for (int x=1; x<= model().subnodes.length; x++)
dbsettablecell(x,1,model().subnodes[x].name);

モデルのすべてのオブジェクトの名前を、現在のデータベースの最初の列に置きます。
dbsettablenum (num row, num col, num val)
現在開いているODBCテーブルのrowおよびcolの数値を設定する
説明
現在のデータベーステーブルで、指定されたrowおよびcolの値を、与えられた数値に設定します。
dbsettablenum(2,3,56.5);
dbsettablestr (num row, num col, str val)
現在開いているODBCテーブルの行、列に文字列を設定する
説明
現在のデータベーステーブルで、指定されたrowおよびcolの値を、与えられた文字列に設定します。
dbgettablestr(1,1,"John");
dbsqlquery (str query[, num forwardOnlyCursor])
開いているODBCデータベースにSQLクエリを実行する
説明
このコマンドは、現在開いているデータベースに対して、queryにより指定されたSQLクエリを実行します。結果は現在のテーブルとなります。データベースがテーブルモードのとき、このコマンドは何もしません。クエリによりテーブルが返された場合、dbgettablecell()コマンドを使用してテーブルを読み取ることができます。クエリにより更新が行われた場合、dbgettablecell()コマンドを実行すると例外が引き起こされます。
このコマンドでUPDATEステートメントを実行した場合はテーブルが返されないため、直後にSELECTを呼び出します。このコマンドはSQLモードでのみ使用できます。forwardOnlyCursorが1の場合、結果は順方向のみのカーソルの結果と想定されます。順方向のみのカーソルにはdbgetnumrows()を使用できません。その代わりに、dbsqlquery()の後でdbnextrow()を呼び出してください。このコマンドはアクティブ化された行を返します。テーブルの末尾に到達すると、-1を返します。
dbsqlquery("select processtime from timetable where type='1'");

渡されたSQLクエリに基づく新しいテーブルを返します。

dbsqlquery("update timetable set processtime=type*2");

渡されたクエリに基づいてデータベースを更新します。
dbusername (str username, str password)
dbopen()でODBCデータベースにアクセスするため使用するユーザー名とパスワードを設定する
説明
このコマンドは、次にdbopen()を呼び出すときデータベースにアクセスするため使用する、ユーザー名とパスワードを設定します。これにより、モデル作成者はdbopen()で提供されるユーザー名とパスワードのプロンプトを使用せず、データベースに要求されるログインパラメータを使用できます。このコマンドで設定されるユーザー名とパスワードは、再度dbusername()を呼び出して変更されるまで、dbopen()呼び出しのたびに使用されます。ユーザー名、パスワード、または両方を空の文字列に設定することもできます。
dbusername("user1","abc123XYZ");

ユーザー名を「user1」、パスワードを「abc123XYZ」に設定します。これらの値は、次にdbopen()が呼び出されるときデータベースにアクセスするため使用されます。

dbusername("","");

最後に設定したユーザー名とパスワードをクリアします。dbopen()が次に呼び出されたとき、データベースはユーザー名とパスワードなしでアクセスされます。
dbviewtable ()
読み取り専用ダイアログボックスを開き、現在ロードされているODBCテーブルを表示する
説明
ダイアログボックスを開き、現在ロードされているデータベーステーブルを表示します。このダイアログからはテーブルを編集できません。
dbviewtable();
excelclose (num save [1/0])
現在開いているExcelワークブックを閉じる
説明
このコマンドは、現在開いているExcelワークブックを閉じます。saveが1なら、ワークブックは閉じる前に保存されます。saveが0なら、ワークブックに加えられた変更内容は破棄されます。
excelopen()の例を参照してください。
excelcreatesheet (str name)
現在開いているExcelワークブックに新しいワークシートを作成します。
説明
新しいワークシートを作成します。新しいシートにはnameで指定した名前が付けられます。
excelcreatesheet("MyNewSheet");
excelcreateworkbook ()
Excelワークブックを作成する
説明
このコマンドは、Excelでワークブックを作成します。同時に開くことのできるワークブックは1つだけです。ユーザーは、別のワークブックを開くまたは作成する、新しいモデルを開く、現在のモデルをコンパイルする、またはFlexSimを閉じる前に、excelclose()を呼び出す必要があります。開いているファイルから読み取りを行う前には、excelsetsheet()も呼び出す必要があります。
excelcreateworkbook();
excelsetsheet("Sheet1");
excelwritenum(1,1,1);
excelsave("NewWorkBook.xlsx");
excelclose(0);

最初にFlexSimと新しいExcelワークブックとの間にリンクを作成し、ワークブックのアクティブなシートを「Sheet1」に設定し、行1列1に1を書き込み、ワークブックを保存して、ワークブックを閉じます。
exceldeleterange (str rangename)
現在開いているExcelワークブックの指定範囲を削除します。
説明
指定範囲を削除します。範囲内のデータには影響しません。
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。
exceldeleterange("MyRange");
exceldeletesheet (str name [, int allowwarning])
現在開いているExcelワークブックのワークシートを削除します。
説明
指定されたワークシートを削除します。allowwarningが1なら、データのあるシートを削除する前に警告が与えられます。
exceldeletesheet("MyNewSheet");
excelexporttable (str/node/num table, num startrow, num startcol, num numrows, num numcols [, num rowchar, num colchar])
FlexSim内のテーブルから、現在開いているExcelワークブックにデータをエクスポートする
説明
FlexSim内のテーブルから、Excelにデータをエクスポートします。テーブルはGlobalTableの名前で参照することも、テーブルノードへのツリーノード参照を使用することもできます。エクスポートされるデータタイプ(文字列または数値)は、FlexSimテーブルのセルのデータタイプにより決定されます。ユーザーは、Excelの開始行および列番号と、エクスポートする行および列の総数を指定します。
excelexporttable("Table1",1,1,5,3);
excelgetrangeparam (str rangename, num param)
現在開いているExcelワークブックの名前付き範囲についての位置パラメータを取得する
説明
名前付き範囲についての位置パラメータを取得します。パラメータの有効な値は次のとおりです。
1 = 開始行番号
2 = 開始列番号
3 = 終了行番号
4 = 終了列番号
5 = 幅
6 = 高さ
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。
int width = excelgetrangeparam("MyRange",5);
excelgetrangesheet (str rangename)
現在開いているExcelワークブックのrangenameと関連付けられているワークシートの名前を取得する
説明
指定された範囲が位置するワークシートの名前を返します。
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。
pt(excelgetrangesheet("MyRange"));
excelimporttable (str/node/num table, num startrow, num startcol, num numrows, num numcols)
現在開いているExcelワークブックから、FlexSimのテーブルにデータをインポートします。
説明
Excelから、FlexSimのテーブルにデータをインポートします。テーブルはGlobalTableの名前で参照することも、テーブルノードへのツリーノード参照を使用することもできます。エクスポートされるデータタイプ(文字列または数値)は、FlexSimテーブルのセルのデータタイプにより決定されます。ユーザーは、Excelの開始行および列番号と、エクスポートする行および列の総数を指定します。
excelimporttable("MyTable",1,1,5,3);
excellaunch ([str launchdir])
Microsoft Excelを開始する
説明
このコマンドは、Microsoft Excelを開き、FlexSimからアクセスできるようにします。launchdirが指定されていない場合、[ツール]|[Excel]|[グローバル設定]で定義されているパスが使用されます。それ以外の場合、launchdirはハードドライブ上でEXCEL.EXEが置かれている場所を指す正確なパスである必要があります。一般には"C:/Program Files/Microsoft Office/Office10"のような形式ですが、インストールされているExcelのバージョンによって異なる可能性があります。通常、Excelとの通信を行う前にExcelを開始する必要はありません。ただし、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(デフォルト動作ではなく、maintenance(1000,1)を呼び出して)場合は、通信を行う前にExcelが実行されている必要があります。通信の開始時にexcellaunch()を呼び出しれた場合、ユーザーが新しいモデルを開く、現在のモデルをコンパイルする、またはFlexSimを閉じる前に、excelquit()を呼び出す必要があります。
excellaunch("C:/Program Files/Microsoft Office/Office10");
excelopen("C:/mybook.xls");
excelsetsheet("Sheet1");
double thenum = excelreadnum(1,1);
excelclose(true);
excelquit();

Excelを開始し、「mybook」という名前のワークブックを開き、そのワークブックの行1、列1から読み取った値を保存して、ファイルとExcelを閉じます。
excelmultitableimport ()
ExcelからFlexSimテーブルにデータの自動インポートを開始する
説明
[ツール]|[Excel]|[複数テーブルのインポート]ウィンドウでのセットアップに従い、ExcelシートからFlexSimテーブルにデータの自動インポートを開始します。
excelmultitableimport()
excelopen (str workbook)
Excelワークブックを開く
説明
このコマンドは、workbookで指定される名前のファイルをExcelで開きます。同時に開くことのできるワークブックは1つだけです。ユーザーは、別のワークブックを開く、新しいモデルを開く、現在のモデルをコンパイルする、またはFlexSimを閉じる前に、excelclose()を呼び出す必要があります。開いているファイルから読み取りを行う前には、excelsetsheet()も呼び出す必要があります。
excelopen("mydata.xls");
excelsetsheet("Sheet1");
double myvalue = excelreadnum(1,2);
excelclose(0);

最初にFlexSimと、「mydata.xls」という名前のExcelワークブックとの間にリンクを作成し、ワークブックのアクティブなシートを「Sheet1」に設定し、行1列2から読み取られた数値をmyvalueという名前のローカル変数に設定して、保存せずにワークブックを閉じます。
excelquit ()
Microsoft Excelを閉じる
説明
このコマンドは、Microsoft Excelが開いていれば、閉じます。このコマンドを呼び出した後は、Excelへの他のコマンドは呼び出せません。開いているExcelファイルは、このコマンドを呼び出す前に閉じる必要があります。開いているワークブックについて、変更の保存を求めるExcelプロンプトが表示されることがあります。これを回避するにはexcelclose()を使用します。以前にexcellaunch()を呼び出した場合、このコマンドを呼び出す必要があります。
excellaunch()を参照してください。
excelrangereadnum (str rangename, num row, num column)
現在開いているExcelワークブックの指定範囲のセルから数値を読み取る
説明
指定された名前付き範囲の、行および列により定義されたセルから数値を読み取ります。範囲の左上のセルが行1、列1です。
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。
excelreadnum("MyRange",5,1)
excelrangereadstr (str rangename, num row, num column [, num rowchar, num colchar])
現在開いているExcelワークブックの指定範囲のセルからテキスト値を読み取る
説明
指定された名前付き範囲の、rowおよびcolumnにより定義されたセルからテキスト値を読み取ります。範囲の左上のセルが行1、列1です。
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。
excelreadstr("MyRange",5,1)
excelrangewritenum (str rangename, num row, num column, num value)
現在開いているExcelワークブックの指定範囲のセルに数値を書き込む
説明
指定された名前付き範囲の、rowおよびcolumnにより定義されたセルに数値を書き込みます。範囲の左上のセルが行1、列1です。
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。テーブル全体の値をExcelに書き込むには、excelrangewriteを使用します。
excelwritenum("MyRange",5,1,99.87)
excelrangewritestr (str rangename, num row, num column, str value)
現在開いているExcelワークブックの指定範囲のセルに文字列値を書き込む
説明
指定された名前付き範囲の、rowおよびcolumnにより定義されたセルに文字列値を書き込みます。範囲の左上のセルが行1、列1です。
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。テーブル全体の値をExcelに書き込むには、excelrangewriteを使用します。
excelwritestr("MyRange",5,1,"My String")
excelreadcell (num row, num col[, num flags])
アクティブなワークシートのセルの値をバリアントとして返す
説明
アクティブなワークシートのセルの値をバリアントとして返します。Excelから何を返すかを正確に指定するため、flagsを指定できます。使用できるフラグはEXCEL_DATA_NUMBER、EXCEL_DATA_STRING、EXCEL_DATE_AS_NUMです。

EXCEL_DATA_NUMBERは、Excelデータを数値として読み取ります。

EXCEL_DATA_STRINGは、Excelデータを文字列として読み取ります。

EXCEL_DATE_AS_NUMは、Excelの日付をFlexsimで読み取り可能な日付数値として解釈します。
Variant value = excelreadcell(1, 5, EXCEL_DATA_NUMBER | EXCEL_DATE_AS_NUM);

最初の行に含まれる5つの列の値を数値として返します。その値が日付の場合、Flexsimで日付として読み取り可能な数値が返されます。
excelreadnum (num row, num column [, num rowchar, num colchar])
現在開いているExcelワークブックのアクティブなシートのセルから数値を読み取る
説明
現在開いているExcelワークブックのアクティブなシートのrowおよびcolumnで定義されるセルから、数値を読み取ります。
excelreadnum(5,1)
excelreadstr (num row, num column [, num rowchar, num colchar])
現在開いているExcelワークブックのアクティブなシートのセルからテキスト値を読み取る
説明
現在開いているExcelワークブックのアクティブなシートのrowおよびcolumnで定義されるセルから、テキスト値を読み取ります。
excelreadstr(5,1)
excelsave ([str filename])
現在開いているExcelファイルを保存する
説明
現在開いているExcelファイルを保存します。このコマンドにfilenameが渡された場合、その名前でファイルが保存されます。これは、Excelの[ファイル]メニューで[名前を付けて保存]を選択するのと同じです。このコマンドにパラメータが渡されない場合、ファイルは現在の名前で保存され、元のファイルが上書きされます。これは、Excelの[ファイル]メニューで[上書き保存]を選択するのと同じです。
excelsave("runresults_001.xls")
excelsetrange (str rangename, num startrow, num startcolumn, num endrow, num endcolumn)
現在開いているExcelワークブックの名前付き範囲を作成または変更する
説明
名前付き範囲を作成または変更します。この範囲はアクティブなシート上のものです。範囲の左上のセルがstartrowとstartcolumnにより定義されます。右下のセルはendrowとendcolumnにより定義されます。
このコマンドは、FlexSimがDDEを使用してExcelと通信を行うよう設定されている(FlexSimのデフォルト設定ではなく、maintenance(1000,1)を呼び出して)場合は何もしません。
excelsetrange("MyRange",5,5,10,15);
excelsetsheet (str sheetname)
現在開いているExcelワークブックのアクティブなワークシートの設定
説明
このコマンドは、現在開いているExcelワークブックのアクティブなワークシートを設定します。excelreadnum()またはexcelreadstr()が呼び出されるたびに、値はアクティブなワークシートから読み取られます。開いている同一のワークブックについて、アクティブなワークシートは何回でも設定できます。
excelopen()の例を参照してください。
excelversion ()
Microsoft Excelのバージョンを取得する
説明
Excelインターフェイスのバージョンを含む文字列を返します。
excelversion()
excelwritenum (num row, num column, num value [, num rowchar, num colchar])
現在開いているExcelワークブックのアクティブなシートのセルに数値を書き込む
説明
現在開いているExcelワークブックのアクティブなシートのrowおよびcolumnで定義されるセルに、数値を書き込みます。
excelwritenum(5,1,99.87)
excelwritestr (num row, num column, str value [, num rowchar, num colchar])
現在開いているExcelワークブックのアクティブなシートのセルに文字列値を書き込む
説明
現在開いているExcelワークブックのアクティブなシートのrowおよびcolumnで定義されるセルに、文字列値を書き込みます。
excelwritestr(5,1,"My String")
rundocument (str command, str path+filename)
ファイルタイプのデフォルトのアプリケーションを使用してファイルを開く
説明
指定された拡張子のファイルを、そのコンピュータでデフォルトのアプリケーションを使用して開きます。使用可能なコマンドはedit、explore、find、open、printです。戻り値が32より大きい場合は成功を意味します。
rundocument("open","C:/myfile.doc");

myfile.docを、コンピュータで*.docファイルを開くためのデフォルトのアプリケーションで開きます。
runprogram (str commandline)
外部プログラムを実行する
説明
外部プログラムを実行します。このコマンドは、オペレーティングシステムにコマンドを発行します。コマンドラインにはプログラムの完全な引数を含めることができます。戻り値が31より大きい場合は成功を意味します。
runprogram("c:/myprogram.exe")
serveraccept (int noblocking)
サーバーでクライアント接続の受け付けを試みる
説明
サーバーで、クライアント接続の受け付けを試みます。noblocking = 0なら、このコマンドは接続が作成されるまでブロックを行います。作成された接続への参照に使用されるインデックスが返されます。

サーバーは、待機中のクライアントから接続の受け付けを試みます。確立された接続のインデックスが数値として返されます。戻り値が0の場合、接続が作成されなかったことを示します。この値は、以後のすべてのサーバー呼び出しで使用されます。noblocking = 1なら、サーバーはFlexSimプログラムの実行をブロックしませんが、クライアントが接続を試みなかった場合に0を返します。noblocking = 0なら、サーバーはクライアントが接続を試みるまでFlexSimプログラムの実行をブロック(フリーズ)します。クライアントとの接続を作成するのはこのコマンドのみです。
int client = serveraccept(0);
servercloseconnection (int connection)
クライアント接続を閉じる
説明
クライアントへの指定された接続を閉じます。メインサーバーソケットは閉じられません。サーバーがクライアントとの通信を完全に終了したとき、このコマンドを使用します。
servercloseconnection(1);
serverclosemain ()
メインサーバーソケットと、開いているすべての接続を閉じる
説明
メインサーバーソケットと、まだ開いているすべての接続を閉じます。再度接続が作成されるまで、以後の通信は行われません。このコマンドを呼び出す前に、すべての接続を閉じてください。
serverclosemain()
servercreatemain (int port)
指定のポートへの接続をリッスンするサーバーソケットを作成する
説明
指定のポートでの接続をリッスンするサーバーソケットを作成します。一部のポート(既知のポートと呼ばれます)は、特別なアプリケーション用に予約されています。通常、1024より大きい番号のポートはすべて安全に使用できます。
servercreatemain(1880);
serverreceive (int connection, char *buffer, int bufsize, int noblocking)
接続からメッセージを受信する
説明
指定の接続からメッセージを受信します。このコマンドは、flexscriptとc++で動作が異なります。c++では、bufferはchar*デスティネーションへの有効なポインターの必要があり、読み取られたバイトはこのバッファにコピーされます。戻り値は、受信した合計バイト数です。クライアントのメッセージから最大でbufsizeまでのバイトが読み取られ、bufという名前の事前に割り当てられた文字配列に格納されます。これに対してflexscriptでは、bufferにNULLを渡し、戻り値は受信された実際の文字列です。noblocking = 1のとき、このコマンドはFlexSimプログラムの実行をブロックしません。noblocking = 0のとき、クライアントから何かが受信されるまでFlexSimプログラムの実行はブロック(フリーズ)されます。
c++: int bytes = serverreceive(1,Buf,15,0);
flexscript: string readstr = serverreceive(1, NULL, 15, 0);
serversend (int connection, char* message [, num charlength] )
クライアント接続から接続にメッセージを送信する
説明
指定された接続に接続されているクライアントへ、指定のテキストメッセージを送信します。正しく送信されたバイト(文字)数が返されます。送信するテキストメッセージは、char*に変換する必要があります。charlengthは渡される文字列の長さで、通常は省略可能です。送信される文字列にNULL文字が含まれている場合のみ必須となります。
serversend(1,"MadeConnection");
socketend ()
socketinit()で開始されたプロセスをシャットダウンする
説明
このコマンドは、socketinit()で開始されたプロセスをシャットダウンします。モデルが、開いたソケットでの作業を完全に終了したとき、このコマンドを呼び出します。この関数は、ソケットが正常にシャットダウンされた場合に真を返します。詳細については、clientsend()を参照してください。
socketend();
socketinit ()
Windows Socketsを使用可能にするバックグラウンドプロセスを初期化する
説明
このコマンドは、Windows Socketsを使用可能にするバックグラウンドプロセスを初期化します。ソケットコマンドの呼び出しを行う前に呼び出す必要があります。この関数は、初期化が成功した場合に真を返します。詳細については、clientsend()を参照してください。
socketinit();

変換

単位、データタイプ、空間座標を変換するコマンド。
apchar (str string)
文字列とchar*としてアサートする
説明
タイプをC形式の文字列(例:char*)としてアサートします。stringtopcharのエイリアスです。
apchar("hello")
cm (num centimeters)
センチメートル単位の数値をメートル単位の数値に変換する
説明
指定されたセンチメートル単位の数値に対応する、メートル単位の数値を返します。
cm(3)
convert (var value, var from, var to)
指定された値(時間)を、ある時間形式から別の時間形式に変換する
説明
指定された値(時間)を、ある時間形式から別の時間形式に変換します。fromおよびto引数には、次の値のみを使用できます。

FS_DATETIME
XL_DATETIME
MODEL_TIME
DATE_STR
TIME_STR
DATETIME_STR

FS_DATETIME - 1601年1月1日から計算した秒数。getmodelunit(START_TIME)はFS_DATETIME単位で数値を返します。

XL_DATETIME - 1900年1月1日を1として順に計算した日数。2025年2月10日、午後1時30分は、XL_DATETIME単位では45698.5625です。この形式は、Microsoft Excelで日付に使用されます。

MODEL_TIME - モデル開始時間から後のモデル単位数。

DATE_STR - datetime値の日付部分を表す文字列。結果として得られるテキストは、モデル設定で指定された日付形式によって異なります。この形式から変換する場合、それらの設定に従って値の書式を設定する必要があります。

TIME_STR - datetime値の時刻部分を表す文字列。結果として得られるテキストは、モデル設定で指定された時刻形式によって異なります。この形式から変換する場合、それらの設定に従って値の書式を設定する必要があります。

DATETIME_STR - datetime値の日付と時刻の部分を表す文字列。結果として得られるテキストは、モデル設定で指定された日時と時刻の形式によって異なります。この形式から変換する場合、それらの設定に従って値の書式を設定する必要があります。時刻部分が先で、1つのスペースによって日付部分と区切る必要があります。

このコマンドでは、3000年およびそれ以後はサポートされないことに注意してください。
convert(42308, XL_DATETIME, MODEL_TIME) // Excelの日付を有効なモデル時間に変換する
days (num days)
与えられた日数内のモデル時間単位数を取得する
説明
与えられた日数に含まれるモデル時間単位数を返します。
days(3)
fpm (num feetperminute)
フィート/分に含まれるモデル長/時間単位数を取得する
説明
指定された数のフィート/分に含まれるモデル長/時間単位の数を返します。
fpm(9)
fps (num feetpersecond)
フィート/分に含まれるモデル長/時間単位数を取得する
説明
指定された数のフィート/秒に含まれるモデル長/時間単位の数を返します。
fps(9)
ft (num feet)
フィート数内のモデル長単位数を取得する
説明
指定された数のフィートに含まれるモデル長単位の数を返します。
ft(3)
hours (num hours)
時間数内のモデル時間単位数を取得する
説明
与えられた数の時間に含まれるモデル時間単位の数を返します。
hours(3)
in (num inches)
インチ数内のモデル長単位数を取得する
説明
指定された数のインチに含まれるモデル長単位の数を返します。
in(8)
minutes (num minutes)
分数内のモデル時間単位数を取得する
説明
指定された数の分に含まれるモデル時間単位の数を返します。
minutes(3);

180を返します。
mph (num milesperhour)
マイル/時間数に含まれるモデル長/時間単位数を取得する
説明
指定された数のマイル/時間に含まれるモデル長/時間単位の数を返します。
mph(9)
tonode (thing)
タイプをノードポインターとしてアサートする
説明
タイプをノードポインターとしてアサートします。C++でのみ実際の役割を果たします。
tonode(getnodenum(couplingnode))

couplingnodeの数値をtreenodeに変換する
tonum (thing)
タイプを数値としてアサートする
説明
タイプを数値としてアサートします。C++でのみ実際の役割を果たします。
return tonum(current);

現在のオブジェクトへのポインターを数値にキャストして返します。
toptr (thing)
説明
開発者向けです。タイプをポインターとしてアサートします。引数thingをタイプvoid*としてアサートします。C++でのみ実際の役割を果たしますが、flexscriptでも安全に使用できます。
toptr(so())

コンベヤ

conveyorgetmotor (obj conveyor)
説明
廃止されました。Conveyorクラスを使用してください。
conveyorgetmotor(conveyor);
conveyorinfo (obj conveyor, num info[, p1, p2, p3, p4, p5])
説明
廃止されました。Conveyorクラスを使用してください。
conveyorinfo(conveyor, CONV_INFO_ESTIMATE_CONVEY_TIME);
conveyorresumeitem (obj item[, num force])
説明
廃止されました。Conveyorクラスを使用してください。
conveyorresumeitem(item);
conveyorsenditem (obj item, obj dest)
説明
廃止されました。Conveyorクラスを使用してください。
conveyorsenditem(item, outobject(current, 1));
conveyorsetspeed (obj conveyor, num toSpeed)
説明
廃止されました。Conveyorクラスを使用してください。
conveyorsetspeed(conveyor, 1);
conveyorstopitem (obj item)
説明
廃止されました。Conveyorクラスを使用してください。
conveyorstopitem(item);
mergegetlanestate (obj mergeController, num laneNum)
説明
廃止されました。Conveyor.MergeControllerクラスを使用してください。
mergegetlanestate(current, 5)
mergegetnumlanes (obj mergeController)
説明
廃止されました。Conveyor.MergeControllerクラスを使用してください。
mergegetnumlanes(current)
mergeislaneclear (obj mergeController, num laneNum)
説明
廃止されました。Conveyor.MergeControllerクラスを使用してください。
mergeislaneclear(current, 5)
mergereleaselane (obj mergeController, num laneNum)
説明
廃止されました。Conveyor.MergeControllerクラスを使用してください。
mergereleaselane(current, 1)

廃止

コマンドのサポートが終了したか、別のコマンドが作成されました。これらのコマンドのドキュメントは更新されていないため、不正確な可能性があります。多くのコマンドは後方互換性のため依然として動作しますが、代替コマンドの使用をお勧めします。
acos (num ratio)
廃止されました。Math.acos()を使用してください。
説明
このコマンドは廃止されました。代わりにMath.acos()を使用してください。

角度のarccosをラジアン単位で取得します。
add (num value1, num value2)
廃止されました。+オペレーターを使用してください。
説明
このコマンドは廃止されました。代わりに+オペレーターを使用してください。

value1をvalue2に加算します。value1+value2の数値演算式の結果が返されます。
double sum = add(1,2);
addfullhistorymoverecord (num flowitemid, num time, obj origin, obj destination, num itemtype)
廃止
説明
このコマンドは廃止されました。移動テーブルに新しいエントリを追加します。このエントリは、全履歴が有効なときに記録されます。この新しいエントリは、flowitemidで識別されるフローアイテムが原点オブジェクトから目的地オブジェクトへ、指定した時間に移動したことを記録します。このエントリは、移動時点のフローアイテムのアイテムタイプが、3番目のパラメータとして渡されたitemtypeであることも記録します。ユーザーがこのコマンドを使用する必要があるのは非常に稀な状況のみです。
addfullhistorymoverecord(getnodenum(uniqueid(item)), time(), current, current.outObjects[1], item.type);
addfullhistorystaterecord (num time, num state, obj object)
廃止
説明
このコマンドは廃止されました。状態テーブルに新しいエントリを追加します。このエントリは、全履歴が有効なときに記録されます。この新しいエントリは、3番目のパラメータで渡された指定のオブジェクトが、最初のパラメータで入力された時間に、指定の状態に変化したことを記録します。このコマンドを呼び出す必要があるのは、setstate()以外のsoemコマンドでオブジェクトの状態が変化する場合のみです。
addfullhistorystaterecord(time(), STATE_IDLE, current);
addlabel (obj object, str labelname [, num/str value])
廃止、treenode.LabelNameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.LabelNameまたはtreenode.labels.assert()を使用してください。

オブジェクトにラベルを追加します。
addtablecol (str/num/node table [, num column, num datatype])
廃止、Table.addCol()を使用すること
説明
このコマンドは廃止されました。代わりにTable.addCol()を使用してください。

テーブルに列を追加します。
addtablerow (str/num/node table [, num row, num datatype])
廃止、Table.addRow()を使用すること
説明
このコマンドは廃止されました。代わりにTable.addRow()を使用してください。

テーブルに行を追加します。
and (num/node condition1, num/node condition2)
廃止、&&オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに&&オペレーターを使用してください。
angle (num dx, num dy)
廃止、Math.atan2()を使用すること
説明
このコマンドは廃止されました。代わりにMath.atan2()を使用してください。

角度を度単位で返します。角度はベクトル(dx, dy)について、x軸の正方向から時計回りに計算されます。angle(dx, dy)を呼び出すのは、-Math.degrees(Math.atan2(dy, dx))を呼び出すのと同じです。
double myangle = angle(distx, disty)
anode (thing)
廃止、tonode()を使用すること
説明
このコマンドは廃止されました。代わりにtonode()を使用してください。

タイプをノードポインターとしてアサートします。
anode(so())
anum (thing)
廃止、tonum()を使用すること
説明
このコマンドは廃止されました。代わりにtonum()を使用してください。

タイプを数値としてアサートします。
anum(so())
aptr (thing)
廃止、toptr()を使用すること
説明
このコマンドは廃止されました。代わりにtoptr()を使用してください。

タイプをポインターとしてアサートします。
aptr(so())
arraysize (var array)
廃止、array.lengthを使用すること
説明
このコマンドは廃止されました。代わりにArray.lengthを使用してください。

配列の要素数を取得します。
asin (num ratio)
廃止、Math.asin()を使用すること
説明
このコマンドは廃止されました。代わりにMath.asin()を使用してください。

角度のarcsinをラジアン単位で取得します。
assertattribute (obj object, str attributename, num datatype)
廃止、Object.attrs.assert()を使用すること
説明
このコマンドは廃止されました。Object.attrs.assert()を使用してください。

オブジェクトの属性attributenameへの参照を取得します。属性が存在しない場合は作成します。
assertlabel (obj object, str labelname, num datatype)
廃止、treenode.labels.assert()を使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labels.assert()を使用してください。

ラベルlabelnameへの参照を取得します。ラベルが存在しない場合は作成します。
assertsubnode (node containernode, str name[, num datatype])
廃止、treenode.subnodes.assert()を使用すること
説明
このコマンドは廃止されました。代わりにtreenode.subnodes.assert()を使用してください。
atan (num ratio)
廃止、Math.atan()を使用すること
説明
このコマンドは廃止されました。代わりにMath.atan()を使用してください。

角度のarctanをラジアン単位で取得します。
atan2 (num dy, num dx)
廃止、Math.atan2()を使用すること
説明
このコマンドは廃止されました。代わりにMath.atan2()を使用してください。

att (obj object, num index)
廃止、getvarnode()を使用すること
説明
このコマンドは廃止されました。代わりにvar()、var_s()、getvarnode()を使用してください。
att(current,1)
att_s (obj object, str name)
廃止、getvarnode()を使用すること
説明
このコマンドは廃止されました。代わりにgetvarnode()を使用してください。

オブジェクトの属性ノードを名前で取得します。属性ノードは、オブジェクトの構造の「変数」ノード内に存在するものです。この関数は、オブジェクトの変数ノード内にある、nameで指定された名前のノードへのポインターを返します。このコマンドはvar_sに置き換えられました。
att_s(current,"myatt")
aviadd (node viewnode)
説明
このコマンドは廃止されました。代わりに動画レコーダーを使用してください。
avifinish (node viewnode)
説明
このコマンドは廃止されました。代わりに動画レコーダーを使用してください。
avistart (str filename, node viewnode, num fps)
説明
このコマンドは廃止されました。代わりに動画レコーダーを使用してください。
bcgetitemkinematics (obj basicconveyor, obj item, num kinematictype {0 - メインキネマティクス、1 - 時間に依存、2 - 搬送に依存})
廃止、レガシーコンベヤのサポートは終了
説明
廃止されました。レガシーコンベヤのサポートは終了しました。

このコマンドは、BasicConveyorオブジェクトと組み合わせて使用されます。

bcgetitemkinematicsコマンドは、BasicConveyorのフローアイテム移動に関連付けられている3つのキネマティクスのいずれかへの参照を取得するため使用されます。

0 = メインコンベヤ状態キネマティクス。これからキネマティクス情報を取得できますが、キネマティクスに追加や初期化の変更を加えることはできません。

1 = ユーザー定義可能なキネマティクスで、シミュレーション時間に依存します。

2 = ユーザー定義可能なキネマティクスで、コンベヤ上のフローアイテムの搬送位置に依存します。

2つのユーザー定義可能なキネマティクスは、ユーザーがコンベヤの長さに応じた移動に加え、カスタマイズされたキネマティクス動作をセットアップするため使用できます。bcgetitemkinematicsを使用して目的のキネマティクスノードへの参照を取得してから、標準のinitkinematics()およびaddkinematic()コマンドを通常に使用します。代替のinitkinematicsパラメータリストとして、initkinematics(node, x, y, z, rx, ry, rz, managerots, localcoords)を使用する必要があります。また、タイプ2の搬送依存のキネマティクスノードにキネマティクスを追加する場合、そのキネマティクス用の時間単位はどれも、実際のシミュレーションの時間単位には適用されないことに注意してください。代わりに、それらの時間単位は「搬送単位」と解釈されます。たとえば、速度5は時間単位当たり5単位とは解釈されず、搬送単位ごとに5単位と解釈されます。加速は時間あたりの距離の二乗ではなく、搬送単位ごとの距離の二乗です。開始時間はキネマティクスを開始する時間ではなく、コンベヤに沿った位置がキネマティクスを開始する時間です。例として、「start time」 5および「max speed」 0.5を使用して、搬送依存のキネマティクスノードに、y方向へ1単位移動するキネマティクスを追加したとします。搬送依存のキネマティクスでは、アイテムがコンベヤに沿って5単位に到達してから、y方向に移動を開始すると解釈されます。また、コンベヤの長さに沿って移動するすべての単位について、y方向に0.5単位移動します(搬送単位ごとに0.5 y単位)。このため、コンベヤに沿って7単位移動すると、yキネマティクスは終了します。アイテムが累積によって中間、たとえば搬送位置6でブロックされた場合、yキネマティクスも停止して、アイテムがコンベヤに沿った移動を再開するまではキネマティクスも再開されません。

BasicConveyorオブジェクトの一般的な説明については、bcsetitemconveystateコマンドのドキュメントを参照してください。
treenode kin = bcgetitemkinematics(current, item, 2);
treenode kin2 = bcgetitemkinematics(current, item, 1);

initkinematics(kin, 0,0,0, 0,0,0, 0,0);
addkinematic(kin, 0,1,1,0.5,1,1,0,0, 5, KINEMATIC_TRAVEL);
initkinematics(kin2, 0,0,0, 0,0,0, 0,0);
addkinematic(kin2, 0,0,720,360,0,0,0,0, time()+5.0, KINEMATIC_ROTATE);
bcgetitemposition (obj basicconveyor, obj item)
廃止、レガシーコンベヤのサポートは終了
説明
廃止されました。レガシーコンベヤのサポートは終了しました。

このコマンドは、BasicConveyorオブジェクトと組み合わせて使用されます。

bcgetitempositionコマンドは、BasicConveyorオブジェクト上のアイテムの現在位置を返します。この位置は、コンベヤの長さに沿って、コンベヤの頭部から、フローアイテムでコンベヤの頭部から最も離れたエッジまで測定されます。

BasicConveyorオブジェクトの一般的な説明については、bcsetitemconveystateコマンドのドキュメントを参照してください。
bcgetitemposition(current,current.first);
bcsetdirection (obj basicconveyor, num direction)
廃止、レガシーコンベヤのサポートは終了
説明
廃止されました。レガシーコンベヤのサポートは終了しました。

このコマンドは、BasicConveyorオブジェクトと組み合わせて使用されます。

bcsetdirectionコマンドは、コンベヤ上のすべてのフローアイテムを停止し、移動方向を1=順方向および0=逆方向に設定します。すべてのフローアイテムは、再度移動を開始する前にbcsetitemconveystate()コマンドで搬送状態をリセットする必要があります。次の例は、コンベヤを停止してから、すべてのフローアイテムを逆方向に速度1まで加速する方法を示しています。すべての追加アイテムキネマティクスは、方向の変更後もアクティブのままです。

BasicConveyorオブジェクトの一般的な説明については、bcsetitemconveystateコマンドのドキュメントを参照してください。
bcsetdirection(so(),0);
for(int i = 1; i <= so().subnodes.length; i++)
{
treenode item = so().subnodes[i];
bcsetitemconveystate(so(), item, bcgetitemposition(so(), item), 0, 1, 0.2);
}
bcsetitemconveystate (obj basicconveyor, obj item, num startpoint, num startspeed, num targetspeed, num accdec)
廃止、レガシーコンベヤのサポートは終了
説明
廃止されました。レガシーコンベヤのサポートは終了しました。

このコマンドは、BasicConveyorオブジェクトと組み合わせて使用されます。

BasicConveyorオブジェクトを使用すると、フローアイテムをどの時点、どの位置でもコンベヤの中に、またはコンベヤから外に移動できます。BasicConveyorの各フローアイテムに独自のキネマティクスプロファイルを割り当ておよび再割り当てし、フローアイテムがコンベヤに沿ってどのように移動するかを定義できます。1つのフローアイテムが、コンベヤ上で停止または低速で移動している他のフローアイテムに追い付くと、そのフローアイテムの速度に合わせてただちに減速されます。フローアイテムはコンベヤに沿ってどちらの方向にも移動する可能性がありますが、特定の時点で見ると、すべてのフローアイテムが同じ方向に移動します。コンベヤの移動方向はbcsetdirection()コマンドで設定されます。フローアイテムがコンベヤの中に、またはコンベヤから外に移動するとき、コンベヤ上の他のフローアイテムはコンベヤ上で利用可能な空間が増加または減少したことを認識し、自然に集積を行います。フローアイテムがコンベヤに進入した後で、receiveitem()コマンドで間接的に、またはmoveobject()コマンドで直接的に、フローアイテムの初期キネマティクスプロファイルを定義する必要があります。このプロファイルはフローアイテムの「搬送状態」と呼ばれ、bcsetitemconveystate()コマンドで設定されます。フローアイテムの搬送状態は、必要に応じて何回でも設定できます。フローアイテムの搬送状態を定義するため使用されるパラメータの定義は次のとおりです。

basicconveyor = コンベヤへの参照。

item = フローアイテムへの参照。

startpoint = フローアイテムの開始位置。コンベヤの先頭から、コンベヤの長さ方向に沿って、コンベヤの頭から最も離れたフローアイテムのエッジまで測定されます(コンベヤの方向が順方向なら前縁、逆方向なら後縁)。

startspeed = フローアイテムの移動開始時の速度。

targetspeed = フローアイテムが到達を試みる目標速度。targetspeedがstartspeedよりも大きい場合、フローアイテムは目標速度まで加速します。そうでない場合、目標速度まで減速します。startspeedとtargetspeedが両方とも0に設定されている場合、フローアイテムはstartpointのまま移動しません。

accdec = 時間の経過とともに目標速度に到達するため使用される、加速度または減速度。値が0なら、無限大の加速度/減速度を意味します。言い換えれば、フローアイテムは一瞬でtargetspeedに達します。

フローアイテムは、コンベヤの終端に到達する、別のフローアイテムに衝突する、または搬送状態が再度変更されるまでコンベヤに沿って移動を続けるため、目的地や終端速度は必要ありません。BasicConveyorでは、長さ方向に沿って複数の「決定点」を定義できます。これらのトリガーポイントは、フローアイテムの搬送状態を更新するため便利な場所です。フローアイテムには、bcsetitemconveystate()コマンドで割り当てられたメイン搬送状態キネマティクスに加え、2つの別のキネマティクス構造が関連付けられており、コンベヤに沿った移動の動作だけでなく、カスタムのキネマティクス動作(平行移動または回転)も適用できます。キネマティクス構造の1つはシミュレーションの時間単位に基づいており、もう1つはコンベヤの長さ方向に沿った距離単位に基づいています。これらのキネマティクス構造にアクセスするには、bcgetitemkinematics()コマンドを使用してからinitkinematics()およびaddkinematic()コマンドを使用して、必要なカスタムキネマティクス動作を作成します。詳細については、bcgetitemkinematics()コマンドのドキュメントを参照してください。
bcsetitemconveystate(current, item, position, 0, 60, 0);
bitwiseand (num a, num b)
廃止、&オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに&オペレーターを使用してください。

2つの32ビット整数値のビット単位AND演算の結果を返します。
int bwa = bitwiseand(0x460, 0x040);
この例は、bwaを値0x020に設定します。
bitwisenot (num a)
廃止、~オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに~オペレーターを使用してください。

32ビット整数値のビット単位NOTの結果を返します。
int bwn = bitwisenot(0x0);
この例は、bwnを値0xffffffffに設定します。
bitwiseor (num a, num b)
廃止、|オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに|オペレーターを使用してください。

32ビット整数値のビット単位ORの結果を返します。
int bwa = bitwiseand(0x15, 0x01);
この例は、bwoを値0x15に設定します。
bitwisexor (num a, num b)
廃止、^オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに^オペレーターを使用してください。

32ビット整数値のビット単位XORの結果を返します。
int bwxo = bitwisexor(0x15, 0x01);
この例は、bwxo を値0x14に設定します。
ceil (num num)
廃止、Math.ceil()を使用すること
説明
このコマンドは廃止されました。代わりにMath.ceil()を使用してください。

numよりも小さくない、最小の整数値を返します。
cell (node table, num col, num row)
廃止、Table.cell()を使用すること
説明
このコマンドは廃止されました。代わりにTable.cell()を使用してください。
cellrc (obj object, num row, num col)
廃止、Table.cell()を使用すること
説明
このコマンドは廃止されました。代わりにTable.cell()を使用してください。

テーブルのセルへの参照を取得します。
double val = getnodenum(cellrc(reftable("MyTable"),2,3));
cellrowcolumn (node table, num row, num col)
廃止、Tableクラスを使用すること
説明
このコマンドは廃止されました。代わりにTableクラスを使用してください。
centerobject (obj object, num centerportnum)
廃止、Object.centerObjects[]を使用すること
説明
このコマンドは廃止されました。代わりにObject.centerObjects[]を使用してください。

オブジェクトのセンターポートに接続されているオブジェクトを参照します。
changeconveyorspeed (obj conveyor, num newspeed )
廃止、conveyor.targetSpeedを使用すること
説明
このコマンドは廃止されました。レガシーコンベヤのサポートは終了しました。代わりにConveyor.targetSpeedを使用してください。

コンベヤの速度をnewspeedに変更します。
changeconveyorspeed(current, 4);
この例は、コンベヤの速度を4に変更します。
clearconsole ()
出力コンソールをクリアする
説明
このコマンドは、出力コンソールが開いているなら、クリアします。出力コンソールは、pt()、pf()、pr()コマンドの出力が表示される場所です。
if (v_printerror == 1)
{
clearconsole();
pt("An Error occurred");
}

出力コンソールをクリアし、変数printerrorが1の場合は簡単なエラーメッセージを表示します。
clearcontents (node thenode)
廃止、treenode.subnodes.clear()を使用すること
説明
このコマンドは廃止されました。代わりにtreenode.subnodes.clear()を使用してください。

ノードの下にあるすべてのオブジェクト/ノードを破棄します。
clearfullhistory (int resetuniqueid)
廃止
説明
このコマンドは廃止されました。全履歴システムにより収集されたすべてのデータを削除します。resetuniqueidが1なら、このコマンドが呼び出された後で作成されるフローアイテムの固有IDは、また1から始まります。このパラメータは通常は0で、以前のフローアイテムと新しいフローアイテムの混同がないよう、番号付けがリセットされずに続けられます。
clearfullhistory(0);
clearglobaltable (str/node/num table)
廃止、Tableクラスを使用すること
説明
このコマンドは廃止されました。代わりにTableクラスを使用してください。
closeinput (obj object)
廃止、Object.input.close()を使用すること
説明
このコマンドは廃止されました。代わりにUse Object.input.close()を使用してください。

このコマンドは、オブジェクトの入力をブロックします。エントリをブロックするには、入力ポート自体、または一般的な入力のみを閉じる必要があります。ポート接続がビューウィンドウに十分なサイズで表示されているとき、オブジェクトの入力ポート(正方形)すべてにわたって小さな赤色のバーが描画され、入力ポートがブロックされていることを示します。個別のポートを開くことはでき、開いているポートは緑色で表示されますが、赤いバーのためにオブジェクトへの進入はブロックされます。このコマンドをstopinput()と比較してください。
if (current.subnodes.length == getvarnum(current,"maxcontent")
closeinput(current);

current内のオブジェクトが多すぎる場合、currentの入力ポートをブロックします。
closeoutput (obj object)
廃止、Object.output.close()を使用すること
説明
このコマンドは廃止されました。代わりにObject.output.close()を使用してください。

このコマンドは、オブジェクトの出力をブロックします。出口をブロックするには、出力ポート自体、または一般的な出力のみを閉じる必要があります。ポート接続がビューウィンドウに十分なサイズで表示されているとき、オブジェクトの出力ポート(正方形)すべてにわたって小さな赤色のバーが描画され、出力ポートがブロックされていることを示します。個別のポートを開くことはでき、開いているポートは緑色で表示されますが、赤いバーのためにオブジェクトからの出口はブロックされます。このコマンドをstopoutput()と比較してください。
if (current.subnodes.length == current.mincontent)
closeoutput(current);

current内のオブジェクトが少なすぎる場合、currentの出力ポートをブロックします。
coloraqua (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.aquaに設定してください。

オブジェクトの色を水色に設定します。
colorarray (obj object, num colornumber)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.byNumber()に設定してください。

オブジェクトの色をカラーインデックスに基づいて設定します。
colorblack (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.blackに設定してください。

オブジェクトの色を黒色に設定します。
colorblue (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.blueに設定してください。

オブジェクトの色を青色に設定します。
colorbrown (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.brownに設定してください。

オブジェクトの色を茶色に設定します。
colorgray (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.grayに設定してください。

オブジェクトの色をグレーに設定します。
colorgreen (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.greenに設定してください。

オブジェクトの色を緑色に設定します。
colorlightblue (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.lightBlueに設定してください。

オブジェクトの色を明るい青色に設定します。
colorlime (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.limeに設定してください。

オブジェクトの色をライム色に設定します。
colororange (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.orangeに設定してください。

オブジェクトの色をオレンジ色に設定します。
colorpink (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.pinkに設定してください。

オブジェクトの色をピンクに設定します。
colorpurple (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.purpleに設定してください。

オブジェクトの色を紫色に設定します。
colorrandom (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.random()に設定してください。

オブジェクトの色をランダムな色に設定します。
colorred (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.redに設定してください。

オブジェクトの色を赤色に設定します。
colorrgb (obj object, num red, num green, num blue)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor()に設定してください。

赤、緑、青色のコンポーネントを使用してオブジェクトの色を設定します。
colorsilver (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.silverに設定してください。

オブジェクトの色を銀色に設定します。
colorteal (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.tealに設定してください。

オブジェクトの色を青緑色に設定します。
colorwhite (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.whiteに設定してください。

オブジェクトの色を白色に設定します。
coloryellow (obj object)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor.yellowに設定してください。

オブジェクトの色を黄色に設定します。
comparetext (str text1, str text2[, int ignorecase])
廃止、==オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに==オペレーターを使用してください。myStr == "Hello"

で文字列が等しいかどうかテストできます。
concat (str text1, str text2 [, str text3, ...])
廃止、+オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに+オペレーターを使用してください。"a" + "b" + "c"

文字列を互いに連結します。
connect (obj object1, num port1, obj object2, num port2)
廃止、contextdragconnection()を使用すること
説明
このコマンドは廃止されました。代わりにcontextdragconnection()を使用してください。

2つのオブジェクトのポートを接続します。2つのオブジェクトを接続するため、該当のオブジェクトにポートが存在するかどうかチェックしてから、接続が行われます。最初のオブジェクトの出力ポートは、2番目のオブジェクトの入力に接続されます。ポートが存在しない、または既に接続済みのとき、このコマンドは中断されます。2つのオブジェクトを、ポートを追加して自動的に接続するには、objectconnect()コマンドを参照してください。
connect(model().subnodes[2],1,model().subnodes[3],2)
containerentry (obj container, obj item)
廃止、追跡変数または処理フローを使用すること
説明
このコマンドは廃止されました。カスタム統計を追跡するには、追跡変数、処理フロー、または両方を使用してください。
containerexit (obj container, obj item)
廃止、追跡変数または処理フローを使用すること
説明
このコマンドは廃止されました。カスタム統計を追跡するには、追跡変数、処理フロー、または両方を使用してください。
content (node parent)
廃止、treenode.subnodes.lengthを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.subnodes.lengthを使用してください。

親ノードに存在する子ノードの数を取得します。
contentobj (obj container)
廃止、Object.attrs.lengthを使用すること
説明
このコマンドは廃止されました。代わりにObject.attrs.lengthを使用してください。

オブジェクトの属性サブツリーのコンテンツを取得します。
cos (num angle)
廃止、Math.cos()を使用すること
説明
このコマンドは廃止されました。代わりにMath.cos()を使用してください。

角度のcosをラジアン単位で取得します。
count ()
説明
repeat()、findmatch()、findmin()、findmax()などのコマンドに使用される反復子の値。countの値は、現在どの反復が実行されているかによって異なります。
findmax(Table("MyTable").numRows, Table("MyTable")[count][5])
テーブルMyTableのすべての行について、列5の最大値を返します。
cppgettoken (obj textblock, num tokenindex)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
cppsettoken (obj textblock, num tokenindex, str insertiontext)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
createdelaytask (obj dispatcher, num delaytime, num state, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、dispatcherにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、現在のタスクはdelaytime秒だけ一時停止されます。遅延時間の間は、stateで指定される状態に維持されます。タスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです:

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createdelaytask(current.centerObjects[1], 25, SCHEDULED_DOWN, 1, PREEMPT_NOT);
createglobaltasksequence (str name, obj dispatcher [, obj dp1, obj dp2, obj dp3, obj dp4, obj dp5])
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

与えられた動的パラメータ1~5を使用して名前付きグローバルタスクシーケンスのインスタンスを作成し、指定のディスパッチャーに送付します。作成されたグローバルタスクシーケンスへの参照が返されます。このコマンドはタスクシーケンスを送付しないことに注意してください。送付はdispatchtasksequence()を使用して行う必要があります。
treenode ts = createglobaltasksequence("GlobalTS", current.centerObjects[1])
dispatchtasksequence(ts)
createloadtask (obj taskexecuter, obj destination, obj flowitem, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、フローアイテムがロードされます。オフジェクトは、フローアイテムをロードする前に、フローアイテムへ移動しません。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです:

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createloadtask(current.centerObjects[1],current.centerObjects[2],item, 1, PREEMPT_NOT);
createsendmessagetask (obj taskexecuter, obj receiver, num priority, num preempting , num param1, num param2, num param3)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、dispatcherにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、receiverで指定されたオブジェクトにメッセージが送信されます。受信側オブジェクトのOnMessageトリガーは、メッセージの送信時に実行されます。param1、param2、param3で渡される値は、param()コマンドを使用してトリガー関数で使用可能です。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです:

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createsendmessagetask(current, current.centerObjects[1],1,PREEMPT_NOT,5, 6, 7);
createstandardtask (obj taskexecuter, obj origin, obj destination, obj flowitem, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これによりオブジェクトは原点に移動し、フローアイテムをロードして、目的地に移動してから、フローアイテムをアンロードします。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createstandardtaskcurrent.centerObjects[1],current.centerObjects[2],current.centerObjects[3],item, 1, PREEMPT_NOT);
createtravelloadtask (obj taskexecuter, obj destination, obj flowitem, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、オブジェクトは目的地に移動してフローアイテムをロードします。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createtravelloadtask(current.centerObjects[1],current.centerObjects[2],item, 1, PREEMPT_NOT);
createtraveltask (obj taskexecuter, obj destination, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、オブジェクトは目的地に移動します。オブジェクトは、前端が目的地に到達するまで移動します。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createtraveltask( current.centerObjects[1], current.centerObjects[2], 1, PREEMPT_NOT);
createtraveltolocandwaittask (obj taskexecuter, num relativeloc, num x, num y, num z, num endspeed, num state, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、オブジェクトはxlox、y、zにより指定されたポイントに移動します。オブジェクトがそのポイントに到達すると、stateで指定された状態のまま、endwaittask()がそのオブジェクトに対して発行されるまで待機します。有効な状態のリストについては、setstate()を参照してください。relativelocが1なら、指定されたポイントはディスパッチャーの原点に対する相対位置です。relativelocが0なら、指定されたポイントは

モデルの中でディスパッチャーの移動先となる正確なポイントです。オブジェクトは、前端が指定されたポイントに到達するまで移動します。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createtraveltolocandwaittask(current.centerObjects[1], 1, 5.15, 2.5, 0, 0, STATE_IDLE, 1, PREEMPT_NOT);
createtraveltoloctask (obj dispatcher, num relativeloc, num x, num y, num z, num endspeed, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、オブジェクトはxlox、y、zにより指定されたポイントに移動します。relativelocが1なら、指定されたポイントはディスパッチャーの原点に対する相対位置です。relativelocが0なら、指定されたポイントはモデルの中でディスパッチャーの移動先となる正確なポイントです。オブジェクトは、前端が指定されたポイントに到達するまで移動します。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createtraveltoloctask(current.centerObjects[1], 1, 5.15, 2.5, 0, 0, 1, PREEMPT_NOT);
createtravelunloadtask (obj taskexecuter, obj destination, obj flowitem, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、オブジェクトは目的地に移動してフローアイテムをアンロードします。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createtravelunloadtask(current.centerObjects[1],current.centerObjects[2],item, 1, PREEMPT_NOT);
createunloadtask (obj dispatcher, obj destination, obj flowitem, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーにより指定されるオブジェクトのタスクシーケンスを作成します。これにより、destinationで指定されたオブジェクトにフローアイテムがアンロードされます。オブジェクトはアンロードの前に、指定場所に移動しません。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createunloadtask(current.centerObjects[1],current.centerObjects[2],item, 1, PREEMPT_NOT);
createwaittask (obj taskexecuter, num state, num priority, num preempting)
廃止、代わりに処理フローを使用すること
説明
このコマンドは廃止されました。代わりに処理フローを使用してください。

このコマンドは、ディスパッチャーとして指定されたオブジェクトのタスクシーケンスを作成します。これにより、オブジェクトはリリースされるまで、与えられる新しいタスクシーケンスを実行しません。オブジェクトはendwaittask()コマンドでリリースできます。オブジェクトは待機中、stateで指定される状態に維持されます。可能な状態のリストについては、setstate()コマンドを参照してください。このタスクシーケンスの優先度はpriorityで、プリエンプト値はpreemptingで与えられます。preemptingの値は次のいずれかです。

0 - PREEMPT_NOT
1 - PREEMPT_ONLY
2 - PREEMPT_AND_ABORT_ACTIVE
3 - PREEMPT_AND_ABORT_ALL
createwaittask(current.centerObjects[1], STATE_IDLE, 1, PREEMPT_NOT);
current <括弧なし>
説明
このコマンドは廃止されました。このコマンドは、今後setcurrentコマンドとともに特殊コマンドとして使用してはいけません。代わりに、treenode変数タイプをcurrentとして宣言し、コード内で他の変数タイプと同様にcurrentを使用してください。
treenode current = model().subnodes[3];
pt(current.name);

モデル内で3にランクされるオブジェクトをcurrentに設定し、出力コンソールにその名前を表示します。
dbwritechanges ()
廃止
説明
このコマンドは廃止されました。

変更内容でデータベースを更新してください。
dbwritechanges()
defaultdragconnection (obj fromobject, obj toobject, char characterpressed)
廃止、contextdragconnection()を使用すること
説明
このコマンドは廃止されました。代わりにcontextdragconnection()を使用してください。

指定されたcharacterpressedに応じて、fromobjectとtoobjectとの間のポートを接続または接続解除します。このコマンドは、オブジェクトのポートを接続/切断するため使用されるキーボートおよびマウスの操作を模倣します。たとえば、「A」はキーボードの「A」を押し下げたまま、fromobjectをクリックしてtoobjectにドラッグする操作に相当します。「A」および「Q」なら、出力ポートを入力ポートに接続および接続解除します。「S」および「W」なら、セントラルポートを接続および接続解除します。C++でのみ使用でき、flexscriptでは使用できません。
defaultdragconnection(model().subnodes[count], model().subnodes[2], 'A')
degreestoradians (num degrees)
廃止、Math.radians()を使用すること
説明
このコマンドは廃止されました。代わりにMath.radians()を使用してください。

度をラジアンに変換します。
deletetablecol (str/num/node table, num column)
廃止、Table.deleteCol()を使用すること
説明
このコマンドは廃止されました。代わりにTable.deleteCol()を使用してください。

テーブルから列を削除します。
deletetablerow (str/num/node table, num row)
廃止、Table.deleteRow()を使用すること
説明
このコマンドは廃止されました。代わりにTable.deleteRow()を使用してください。

テーブルから行を削除します。
dellabel (obj object, str/num label)
廃止、treenode.labels["LabelName"].destroy()を使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labels["LableName"].destroy()を使用してください。

指定されたobjectで、「labels」で指定されたノードから、指定されたlabelを削除します。
labelの指定は文字列のラベル名、またはラベルのランクを示す数値です。
そのノードにラベルが存在しない場合、このコマンドは何もしません。
dellabel(current,"MyLabel")
destroyobject (node thenode)
廃止、treenode.destroy()を使用すること
説明
このコマンドは廃止されました。代わりにtreenodedestroy()を使用してください。

thenodeを破棄します。
diffsign (num value1, num value2)
廃止、Math.sign()を使用すること
説明
このコマンドは廃止されました。代わりにMath.sign()を使用してください。
div (num value1, num value2)
廃止、/オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに/オペレーターを使用してください。

value1をvalue2で除算します。value2が0のとき計算は中断され、0が返されます。
div(10,2)
divide (num value1, num value2)
廃止、/オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに/オペレーターを使用してください。

これはdiv()のエイリアスです。
divide(10,2)
dumpquery (node dumpNode[, num asTable])
廃止、Table.query()を使用すること
説明
このコマンドは廃止されました。代わりにTable.query()を使用してください。

最後に呼び出されたquery()について、完全な結果テーブルをノードにダンプします。asTableが1なら、結果はテーブルデータとしてダンプされます。asTableが0なら、結果はバンドルデータとしてダンプされます。
enablefullhistory (num on/off)
廃止
説明
このコマンドは廃止されました。全履歴収集をオン/オフします。渡されたパラメータが1なら、全履歴がオンになります。0ならオフになります。このコマンドは直接呼び出しません。代わりに、[全履歴を有効にする]メニューオプションを使用して全履歴をオン/オフしてください。
enablefullhistory(1); // 全履歴収集をオンにする
endwaittask (obj taskexecuter)
廃止、処理フローまたはfreeoperators()を使用すること
説明
このコマンドは廃止されました。代わりに、処理フローまたはfreeoperators()コマンドを使用してください。

このコマンドは、ディスパッチャーとして指定されたオブジェクトを、createwaittask()により発行された待機タスクからリリースします。オブジェクトがリリースされると以前の状態に戻り、タスクシーケンスキューに存在するタスクシーケンスの実行を開始します。
endwaittask(current.centerObjects[1]);
eq (num/node value1, num/node value2)
廃止、==オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに==オペレーターを使用してください。
excelexportnode (node table, num startrow, num startcol, num numrows, num numcols [, num rowchar, num colchar])
廃止、excelexporttable()を使用すること
説明
このコマンドは廃止されました。代わりにexcelexporttable()を使用してください。
excelexportnode(reftable("Table1"),1,1,5,3);
excelimportnode (obj node, num startrow, num startcol, num numrows, num numcols [, num rowchar, num colchar])
廃止、excelimporttable()を使用すること
説明
このコマンドは廃止されました。代わりにexcelimporttable()を使用してください。
excelimportnode(so(),1,1,5,3);
excelmacro (str macro)
廃止
説明
このコマンドは廃止されました。このコマンドは、ユーザーがExcel 4.0のマクロコマンドをExcelに送信するためのものです。この言語はMicrosoftでのサポートが終了しており、Excelの将来のバージョンでは削除される可能性があります。
excelmacro("select(\"r1c1:r5c5\")");

ワークブックの行1、列1から行5、列5までのセクションを選択します。
excelrangeread (str rangename[treenode target], num row, num col[, num numRows, num numCols, num flags])
Excelの範囲を読み込み、ツリーノードにダンプする
説明
この関数は、渡された引数に応じて2つの関数にオーバーロードされます。最初の関数(文字列を渡した場合)は廃止されました。代わりにexcelrangereadnum()とexcelrangereadstr()を使用してください。

2番目の関数(ツリーノードを渡した場合)はExcelのある範囲を読み込み、その範囲に含まれるすべてのデータをターゲットのツリーノードに割り当てます。ツリーノードにバンドルデータが存在する場合、Excelデータはバンドルに設定されます。それ以外の場合、ターゲットのツリーノードの下にサブノードが挿入されます。Excelのデータはこのサブノードに文字列または数値データとして、グローバルテーブルと同じ形式で設定されます。

範囲の原点は渡されたrowおよびcolにより指定され、2番目の数値のペアは範囲のサイズを指定します。これらのいずかに0が渡された場合、FlexSimはその方向のExcel範囲について、データが存在する範囲の境界を自動的に選択します。

flagsを渡すことで、Excelから正確に何を読み込むかを変更できます。flagsはEXCEL_DATA_AUTOMATIC、EXCEL_DATA_NUMBER、EXCEL_DATA_STRING、EXCEL_DATE_AS_NUM、EXCEL_USE_COLUMNHEADERS、EXCEL_USE_ROWHEADERSのいずれかです。

EXCEL_DATA_AUTOMATICは、Excelセルのデータタイプに応じて文字列または数値データを割り当てます。これはデフォルトの動作です。

EXCEL_DATA_NUMBERは、すべてのExcelデータを数値として読み込みます。

EXCEL_DATA_STRINGは、すべてのExcelデータを文字列として読み込みます。

EXCEL_DATE_AS_NUMは、Excel日付を、FlexSimで日付として読み込み可能な数値として読み込みます。それ以外の場合、データは文字列となります。

EXCEL_USE_COLUMNHEADERSは、データの最初の行をデータではなくテーブルの列の名前として使用します。

EXCEL_USE_ROWHEADERSは、データの最初の列をデータではなくテーブルの行の名前として使用します。

treenode myTable = node ("Tools/GlobalTables/GlobalTable1>variables/data", model());

excelrangeread(myTable, 1, 1, 5, 0, EXCEL_DATA_AUTOMATIC | EXCEL_USE_COLUMNHEADERS);

アクティブなシートのセルA1からデータを読み込みます。最初の5行について、データが存在する列をすべて読み込みます。最初の行は、書き込み先のグローバルテーブルの列名に使用されます。したがって、Excelシートにデータの存在する列が10存在するなら、グローバルテーブルのデータ変数の下に合計40のノードが挿入されます。これらの各ノードは、対応するExcelセルのデータタイプになります。
excelrangewrite (treenode source, num row, num col, num flags)
ソーステーブルノードからデータを読み込み、アクティブなExcelシートに置き込む
説明
この関数は、ソーステーブルノードのすべてのデータを、アクティブなExcelシートに書き込みます。ツリーノードにバンドルデータが存在する場合、バンドルデータを読み込んでシートに書き込みます。それ以外の場合、グローバルテーブルと同様に、データの存在する子ノードを探します。渡されるrowとcolは、Excelシートのどこからデータの書き込みを開始するかを指定します。常に、ソースノードのすべてのデータが書き込まれます。flagsを渡すと、ヘッダーの使用方法を変更できます。flagsに使用できるのは、EXCEL_USE_COLUMNHEADERSとEXCEL_USE_ROWHEADERSです。

EXCEL_USE_COLUMNHEADERSを使用すると、既存の列ヘッダーをExcelテーブルの別の行として書き込みます。

EXCEL_USE_ROWHEADERSを使用すると、既存の行ヘッダーをExcelテーブルの別の列として書き込みます。
treenode myTable = node("Tools/GlobalTables/GlobalTable1>variables/data", model());

excelrangewrite(myTable, 1, 1, EXCEL_USE_ROWHEADERS | EXCEL_USE_COLUMNHEADERS);

GlobalTable1のすべてのデータを取得し、アクティブなExcelシートのA1から始まるセルに書き込みます。実際のデータを書き込む前に、列ヘッダーの行と行ヘッダーの列があります。
excelread (num row, num col)
廃止、excelreadnum()、excelreadstr()、excelreadcell()のいずれかを使用すること
説明
このコマンドは廃止されました。代わりにexcelreadnum()、excelreadstr()、excelreadcell()のいずれかを使用してください。
excelwrite (str data, num row, num col)
廃止、excelwritenum()およびexcelwritestr()を使用すること
説明
このコマンドは廃止されました。代わりにexcelwritenum()とexcelwritestr()を使用してください。
executetablecell (str/node/num table, num row, num column)
廃止、Table.executeCell()またはTableの[]オペレーターを使用すること
説明
このコマンドは廃止されました。代わりにTable.executeCell()またはTableクラスの[]オペレーターを使用してください。

テーブルセルのテキストをFlexscriptとして実行します。
exp (num value)
廃止、Math.exp()を使用すること
説明
このコマンドは廃止されました。代わりにMath.exp()を使用してください。

(e ^ value)を返します。ここでeは2.7183です。
exportfullhistory ([str filename, num scenario, num replication])
廃止
説明
このコマンドは廃止されました。実行中に収集された全履歴データをデータベース(.mdbファイル)に書き込みます。このコマンドにファイル名が渡された場合、その名前がデータベースに使用されます。ファイル名が渡されない場合、ユーザーはデータの保存先のファイルを指定するように求められます。ファイル(コマンドに渡された、またはダイアログで選択されたもの)が存在しない場合、新たに作成されます。
exportfullhistory("myrundata.mdb");
fabs (num value)
廃止、Math.fabs()を使用すること
説明
このコマンドは廃止されました。代わりにMath.fabs()を使用してください。

引数の絶対値を返します。
factorial (num value)
廃止、Math.factorial()を使用すること
説明
このコマンドは廃止されました。代わりにMath.factorial()を使用してください。

valueの階乗を返します。
familycreate (obj familycontainer, str name)
説明
このコマンドは廃止されました。代わりにGroupクラスを使用してください。

新しいファミリー(リレーショナル情報の編成に使用されるノードのリスト)を作成します。
familycreate(item,"family1")
familydelete (obj familycontainer, str name)
説明
このコマンドは廃止されました。代わりにGroupクラスを使用してください。

ファミリーを削除します。
familydelete(item,"family1")
familymember (obj familycontainer, str name, num index)
説明
このコマンドは廃止されました。代わりにGroupクラスを使用してください。

指定されたファミリーのメンバーへのポインターを返します。
familymember(item,"family1",2)
familymemberadd (obj familycontainer, str name, obj member)
説明
このコマンドは廃止されました。代わりにGroupクラスを使用してください。

指定されたfamilycontainerに新しいファミリーメンバーを追加します。
familymemberadd(item,"family1",item.subnodes[1])
familymemberdel (obj familycontainer, str name, obj member)
説明
このコマンドは廃止されました。代わりにGroupクラスを使用してください。

指定されたfamilycontainerからファミリーメンバーを削除します。
familymemberdel(item,"family1",item.subnodes[2])
familymemberqty (obj familycontainer, str name)
説明
このコマンドは廃止されました。代わりにGroupクラスを使用してください。

指定されたファミリーのサイズを返します。
familymemberqty(item,"family1")
fillarray (array thearray, num/treenode/string val1[, num/treenode/string val2, ...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。配列リテラルを使用して配列を構築するには、Arrayクラスを使用してください。Array arr = [1, 2, 3];

ローカル配列に値を入力します。
findmatch (num nr, num matchexpression[, returnexpression = count, num reverseorder = 0])
説明
定義された回数だけ一致テストを実行し、一致が見つかった場合は、その一致と関連付けられたユーザ定義可能な値を返します。一致の式と戻り値の式では、チェックの反復の何回目かを「count」を使用して判定できます。これを使用して、何かのリストを検索し、一致するアイテムや条件を探すことができます。呼び出しにreturnexpressionが含まれていない場合、findmatch()は一致の式に関連付けられているcountを返します。一致が見つからなかった場合、findmatch()は0を返します。reverseorderが1なら、countにnrを最初に代入し、次にnr - 1を代入し、以下1まで逆順にカウントします。returnexpressionが指定されていない場合、findmatchは見つかった一致に関連付けられているcountを返します。
int portNr = findmatch(current.outObjects.length, current.outObjects[count].subnodes.length < 5);
この例は、currentの出力ポートに接続されている、コンテンツが5より小さい最初のオブジェクトに対応する出力ポート番号を返します。

treenode object = findmatch(current.outObjects.length, current.outObjects[count].subnodes.length < 5, current.outObjects[count]);
この例は前の例とほぼ同じですが、関連付けられているポート番号ではなくオブジェクト自体を返します。

int item2Rank = findmatch(current.subnodes.length, current.subnodes[count].type == 2);
この例は、currentのキューで見つかった、アイテムタイプが2である最初のアイテムのランク番号を返します。

findmax (num nr, num valueexpression[, returnexpression = maxvalue, num criterion = true, num reverseorder = 0])
説明
式を繰り返し評価し、見つかった最大値、またはその最大値に関連付けられているユーザー定義可能な戻り値を返します。値の式、戻り値の式、およひ基準では、チェックの反復の何回目かを「count」を使用して判定できます。戻り値の式が定義されていない場合、見つかった最大値が返されます。また、無効な値を除外するための基準を指定できます。基準が定義されており、基準を満たす値が存在しない場合、0が返されます。
double latestCreation = findmax(current.subnodes.length, getcreationtime(current.subnodes[count]));
この例は、currentに含まれるすべてのアイテムの最大作成時間を返します。

int largestQueuePortNr = findmax(current.inObjects.length, current.inObjects[count].subnodes.length;
この例は、アイテムの最も大きなキューを持つオブジェクトに関連付けられている入力ポート番号を返します。

int largestQueuePortNr = findmax(current.inObjects.length, current.inObjects[count].subnodes.length, count, getitemstate(current.inObjects[count].first) == FR_STATE_READY);
この例は前の例とほぼ同じですが、上流オブジェクトの最初のアイテムがリリースされているという条件が追加されています。

findmin (num nr, num valueexpression[, returnexpression = maxvalue, num criterion = true, num reverseorder = 0])
説明
式を繰り返し評価し、見つかった最小値、またはその最小値に関連付けられているユーザー定義可能な戻り値を返します。findmin()はfindmax()とほぼ同じですが、最大値ではなく最小値を探します。詳細については、findmax()のドキュメントを参照してください。
findmax()を参照
first (node container)
廃止、treenode.firstを使用すること
説明
このコマンドは廃止されました。代わりにtreenodefirstを使用してください。

親ノードの最初の子ノードを参照します。
floor (num num)
廃止、Math.floor()を使用すること
説明
このコマンドは廃止されました。代わりにMath.floor()を使用してください。

numよりも大きくない、最大の整数値を返します。
fmod (num value1, num value2)
廃止、Math.fmod()を使用すること
説明
このコマンドは廃止されました。代わりにMath.fmod()を使用してください。

value1/value2の剰余をdoubleで返します。
forobjecthighlightedin (obj view) { }
説明
このコマンドは廃止されました。代わりにselectedobject()を使用してください。

選択されたビューで、選択された(赤色)および強調表示された(黄色)ノードについて繰り返し処理を行います。ループ内で「a」を使用し、選択および強調表示されたノードを参照します。
forobjecthighlightedin(sv())
{
pt(a.name); pr();
}

モデルの最初のレベルに存在する、選択および強調表示されたノードの名前を出力コンソールに表示します。
forobjectlayerunder (node container) { }
説明
このコマンドは廃止されました。代わりにfor()またはwhile()コマンドを使用してください。

containerとして指定されたノードの直下にあるツリーレイヤーの各ノードに対して、コードブロックを実行します。ループ内で現在アクティブなノードにアクセスするため、「a」コマンドが使用されます。forobjectlayerunder()コマンドはflexscriptでのみ使用でき、C++では使用できません。
forobjectlayerunder(model())
{
pt(a.name); pr();
}

モデルの最初のレベルに存在するすべてのオブジェクトの名前を、出力コンソールに表示します。
forobjectsbefore (node thenode) { }
説明
このコマンドは廃止されました。代わりにfor()またはwhile()コマンドを使用してください。

thenodeとして指定されたオブジェクトと同じレイヤーに属し、オブジェクトのランクと同じ、またはより小さいランク値を持つ各ノードに対して、コードブロックを実行します。ループ内で現在アクティブなノードにアクセスするため、「a」コマンドが使用されます。forobjectsbefore()コマンドはflexscriptでのみ使用でき、C++では使用できません。
forobjectsbefore(model.subnodes[5]))
{
    pt(a.name); pr();
}

モデルの最初にある5つのオブジェクトの名前を、出力コンソールに表示します。
forobjectsbehind (node thenode) { }
説明
このコマンドは廃止されました。代わりにfor()またはwhile()コマンドを使用してください。

thenodeとして指定されたオブジェクトと同じレイヤーに属し、オブジェクトのランクと同じ、またはより大きいランク値を持つ各ノードに対して、コードブロックを実行します。ループ内で現在アクティブなノードにアクセスするため、「a」コマンドが使用されます。forobjectsbehind()コマンドはflexscriptでのみ使用でき、C++では使用できません。
forobjectsbehind(model.subnodes[5])
{
pt(a.name); pr();
}

モデルの6番目から始めて、それ以後のオブジェクトの名前を、出力コンソールに表示します。
forobjectselectionset (node container) { }
説明
このコマンドは廃止されました。代わりに次のコードを使用してください。

for(int i =1; i<= container.subnodes.length; i++)
{
if(switch_selected(container.subnodes[i]))
{
pt(container.subnodes[i].name); pr();
}
}

container内で選択された各オブジェクトに対して、コマンド以後のブロックが一回ずつ実行されます。「a」コマンドの値は、繰り返し実行が行われる対象のオブジェクトへのポインターを返します。このコマンドは、C++では使用できません。
forobjectselectionset(library()) { pt(a.name); pr(); }

ライブラリツリーで現在選択されているすべてのオブジェクトの名前を、出力コンソールに表示します。
frac (num value)
廃止、Math.frac()を使用すること
説明
このコマンドは廃止されました。代わりにMath.frac()を使用してください。

値の小数部分を取得します。
ge (num value1, num value2)
廃止、>=オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに>=オペレーターを使用してください。
get (node thenode)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenodevalueを使用してください。

数値データを持つノードの値を取得します。
getcolorcomponent (obj object, num index)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりに、Color.rColor.gColor.bColor.aのいずれかを使用してください。

objectのrgb色コンポーネントを取得します。
getdatatype (thing)
廃止、treenode.dataTypeを使用すること
説明
このコマンドは廃止されました。代わりにtreenodedataTypeを使用してください。

ノードのデータタイプを取得します。
getdatatype(so())
getinput (obj involved)
廃止、Object.stats.input.valueを使用すること
説明
このコマンドは廃止されました。代わりに、Object.stats.input.valueを使用してください。

関連オブジェクトの入力統計を返します。
double inval = getinput(current.centerObjects[1]);
getitemtype (obj object)
廃止、ラベルを使用すること
説明
このコマンドは廃止されました。代わりにラベルを使用してください。

フローアイテムのitemtype値を返します。
getitemtype(so())
getlabel (obj node, str/num label)
廃止、treenode.LabelNameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labelPropertiesを使用してください。

オブジェクトのラベルの値を設定します。
getlabelnum (obj node, str/num label)
廃止、treenode.LabelNameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labelPropertiesを使用してください。

オブジェクトのラベルの数値を取得します。
getlabelstr (obj node, str/num label)
廃止、treenode.LabelNameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labelPropertiesを使用してください。

オブジェクトのラベルの文字列値を取得します。
getmodelunitnum (num querytype)
説明
このコマンドは廃止されました。代わりにgetmodelunit()を使用してください。
getmodelunitstr (num querytype)
説明
このコマンドは廃止されました。代わりにgetmodelunit()を使用してください。

現在のモデル単位の名前または略語を返します。
getmoverecord (num record)
廃止
説明
このコマンドは廃止されました。全履歴レポート用に記録された移動レコードを返します。全履歴が有効な場合、フローアイテムがオブジェクトから別のオブジェクトに移動するごとに、移動レコードが作成されます。この関数に渡されるパラメータは、ユーザーが取得するレコードの番号(1から開始)です。このコマンドがC++で呼び出された場合、戻り値はMoveRecord*です。このコマンドがFlexScriptで呼び出された場合、戻り値はintに代入できます。
getnummoverecords()の例を参照してください。
getmoverecordvalue (num record, num value)
廃止
説明
このコマンドは廃止されました。関数の最初のパラメータとして渡された移動レコードから、値の1つを返します。このレコードは、getmoverecord()への呼び出しで返される戻り値です。この関数の2番目のパラメータとして渡される値は、移動レコードのどの値をユーザーが取得するかを示します。
0 = レコードID。これは、移動テーブルのレコードの行番号です。
1 = レコードに移動が記録されたフローアイテムのItemID。
2 = フローアイテムが移動した時間。
3 = フローアイテムの移動元のオブジェクト。この値はintとして返され、tonode()を使用してtreenodeに変換する必要があります。
4 = フローアイテムの移動先のオブジェクト。この値はintとして返され、tonode()を使用してtreenodeに変換する必要があります。
5 = フローアイテムが移動した時点でのアイテムタイプ。
getnummoverecords()の例を参照してください。
getname (node thenode)
廃止、treenode.nameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.nameを使用してください。

ノード/オブジェクトの名前を取得します。
getnodename (node thenode)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.nameを使用してください。

ノード/オブジェクトの名前を取得します。
getnodenum (node thenode)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

数値データを持つノードの値を取得します。
getnodestr (node thenode)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

文字列データを持つノードの値を取得します。
getnummoverecords ()
廃止
説明
このコマンドは廃止されました。全履歴レポート用に収集された移動レコードの数を返します。モデルがリセットされるとレコードは削除されるため、モデルの実行前は0が返されます。全履歴が有効でない場合、0が返されます。
// 記録された移動レコードを出力する
for (int rec = 1; rec <= getnummoverecords(); rec++)
{
int record = getmoverecord(rec);
pd(getmoverecordvalue(record,0)); pt(" ");
pd(getmoverecordvalue(record,1)); pt(" ");
pf(getmoverecordvalue(record,2)); pt(" ");
pt(getmoverecordvalue(record,3).name); pt(" ");
pt(getmoverecordvalue(record,4).name); pt(" ");
pd(getmoverecordvalue(record,5)); pt(" ");
}
getnumstaterecords ()
廃止
説明
このコマンドは廃止されました。全履歴レポート用に収集された状態変化レコードの数を返します。モデルがリセットされるとレコードは削除されるため、モデルの実行前は0が返されます。全履歴が有効でない場合、0が返されます。
// 記録された状態変化レコードを出力する
for (int rec = 1; rec <= getnumstaterecords(); rec++)
{
int record = getstaterecord(rec);
pd(getstaterecordvalue(record,0)); pt(" ");
pf(getstaterecordvalue(record,1)); pt(" ");
pd(getstaterecordvalue(record,2)); pt(" ");
pt(getstaterecordvalue(record,3).name); pr();
}
getobjectimageindex (obj object)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。

objectのベースに現在割り当てられているbmpまたはjpeg画像のインデックス番号を返します。
getobjectimageindex(item);
getquerycolcount ()
廃止、Table.query()を使用すること
説明
このコマンドは廃止されました。代わりにTable.query()を使用してください。

query()を最後に呼び出したときの結果テーブル内の列数を返します。
getquerymatchcount ()
廃止、Table.query()を使用すること
説明
このコマンドは廃止されました。代わりにTable.query()を使用してください。

query()を最後に呼び出したときの結果テーブル内の合計行数を返します。
getquerymatchtablerow (str/num table, num matchRow)
廃止、Table.query()を使用すること
説明
このコマンドは廃止されました。代わりにTable.query()を使用してください。

最後のquery()結果で一致する行に関連付けられている、ソーステーブルの行番号を返します。

table - 文字列の場合、FROMステートメントで定義されたテーブルの名前です。エイリアスを使用した場合、テーブルのエイリアスを使用します。数値の場合、FROMステートメントのテーブルの1から始まるインデックスです。クエリにテーブルが1つしか存在しない場合、1を使用します。複数のテーブルの場合、FROMの最初のテーブルが1、2番目が2の順序です。
matchRow - クエリの結果テーブルの行で、1から始まります。

SELECT句の中でMIN()、MAX()、AVG()などの集計関数を使用している場合、このコマンドは動作しないことに注意してください。集計関数が使用されている場合、このコマンドは単にソーステーブル内の行数を返します。
getqueryvalue (num row, num/str col)
廃止、Table.query()を使用すること
説明
このコマンドは廃止されました。代わりにTable.query()を使用してください。

query()を最後に呼び出したときの結果テーブルの値を返します。

row - 結果テーブルの1から始まる行番号。
col - 結果テーブルの1から始まる列番号、または結果の列の名前。selectステートメントでエイリアスを定義している場合、列名にはエイリアスを使用します。
getrank (node thenode)
廃止、treenode.rankを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.rankを使用してください。

親ノードのサブツリーにある子ノードのランクを取得します。
gets (node thenode)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

文字列データを持つノードの値を取得します。
getstatenum (obj object [, num stateprofilenr])
廃止、Object.stats.state().valueを使用すること
説明
このコマンドは廃止されました。代わりにObject.stats.state().valueを使用してください。

オブジェクトの状態を数値形式で返します。
getstatenum(current);
getstaterecord (num record)
廃止
説明
このコマンドは廃止されました。全履歴レポート用に記録された状態変化レコードを返します。全履歴が有効なとき、オブジェクトの状態が変化するごとに状態変化レコードが作成されます。この関数に渡されるパラメータは、ユーザーが取得するレコードの番号(1から開始)です。このコマンドがC++で呼び出された場合、戻り値はStateRecord*です。このコマンドがFlexScriptで呼び出された場合、戻り値はintに代入できます。
getnumstaterecords()の例を参照してください。
getstaterecordvalue (num record, num value)
廃止
説明
このコマンドは廃止されました。関数の最初のパラメータとして渡された状態変化レコードから、値の1つを返します。このレコードは、getstaterecord()への呼び出しで返される戻り値です。この関数の2番目のパラメータとして渡される値は、状態変化レコードのどの値をユーザーが取得するかを示します。
0 = レコードID。これは、移動テーブルのレコードの行番号です。
1 = 状態変化の時間。
2 = オブジェクトの変化後の状態。
3 = 状態が変化したオブジェクト。この値はintとして返され、tonode()を使用してtreenodeに変換する必要があります。
getnumstaterecords()の例を参照してください。
getstatestr (obj object)
廃止、Object.stats.state().valueStringを使用すること
説明
このコマンドは廃止されました。代わりにObject.stats.state().valueStringを使用してください。

オブジェクトの状態をテキスト文字列として返します。
getstatestr(current);
gettablecell (str/node/num table, num row, num column)
廃止、Table.cellを使用すること
説明
このコマンドは廃止されました。Table.cell()を使用してください。
gettablecols (str/node/num table)
廃止、Table.numColsを使用すること
説明
このコマンドは廃止されました。代わりにTable.numColsを使用してください。

テーブル内の列数を取得します。
gettableheader (string/num/node table, num row/col, num rowcolnr)
廃止、Table.getColHeader()またはTable.getRowHeader()を使用すること
説明
このコマンドは廃止されました。代わりにTable.getColHeader()またはTable.getRowHeader()を使用してください。

テーブルのヘッダーフィールドの値を取得します。
gettablenum (str/node/num table, num row, num col)
廃止、Tableの[]オペレーターを使用すること
説明
このコマンドは廃止されました。代わりにTableクラスの[]オペレーターを使用してください。

テーブルのセルの数値を取得します。
gettablerows (str/node/num table)
廃止、Table.numRowsを使用すること
説明
このコマンドは廃止されました。代わりにTable.numRowsを使用してください。

テーブル内の行数を取得します。
gettablestr (str/node/num table, num row, num col)
廃止、Tableの[]オペレーターを使用すること
説明
このコマンドは廃止されました。代わりにTableクラスの[]オペレーターを使用してください。

テーブルのセルのテキスト値を取得します。
gettrackedvariable (str/node trackedvar [, num valtype] )
廃止、TrackedVariableクラスを使用すること
説明
このコマンドは廃止されました。代わりにTrackedVariableクラスを使用してください。
getvartype (var)
廃止、Variant.typeを使用すること
説明
このコマンドは廃止されました。代わりにVariant.typeを使用してください。

getvartype(myVar)
glBegin (num primitive)
廃止、mesh() APIを使用すること
説明
このコマンドは廃止されました。使用してはいけません。代わりにmesh() APIを使用してください。
glColor3d (num red {0-1}, num green {0-1}, num blue {0-1})
廃止、fglColor()を使用すること
説明
このコマンドは廃止されました。代わりにfglColor()を使用してください。
glColor4d (num red {0-1}, num green {0-1}, num blue {0-1}, num alpha {0-1})
廃止、fglColor()を使用すること
説明
このコマンドは廃止されました。代わりにfglColor()を使用してください。
glDisable (num setting)
廃止、fglDisable()を使用すること
説明
このコマンドは廃止されました。代わりにfglDisable()を使用してください。
glEnable (num setting)
廃止、fglEnable()を使用すること
説明
このコマンドは廃止されました。代わりにfglEnableを使用してください。
glEnd ()
廃止、mesh() APIを使用すること
説明
このコマンドは廃止されました。使用してはいけません。代わりにmesh() APIを使用してください。
glLoadIdentity ()
廃止、fglLoadIdentity()を使用すること
説明
このコマンドは廃止されました。代わりにfglLoadIdentity()を使用してください。
glMatrixMode (num mode)
廃止、fglMatrixMode()を使用すること
説明
このコマンドは廃止されました。代わりにfglMatrixMode()を使用してください。
glNormal3d (num x, num y, num z)
廃止、fglNormal()を使用すること
説明
このコマンドは廃止されました。代わりにfglNormal()を使用してください。
glNormal3d(1,0,0);
globallist (str listName)
廃止、List("GlobalListName")を使用すること
説明
このコマンドは廃止されました。代わりにList("GlobalListName")を使用してください。

グローバルリストを名前で参照します。
glPopAttrib ()
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
glPopMatrix ()
廃止、fglPopMatrix()を使用すること
説明
このコマンドは廃止されました。代わりにfglPopMatrix()を使用してください。
glPushAttrib (num attribsetting)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
glPushMatrix ()
廃止、fglPushMatrix()を使用すること
説明
このコマンドは廃止されました。代わりにfglPushMatrix()を使用してください。
glRotated (num degrees, num x, num y, num z)
廃止、fglRotate()を使用すること
説明
このコマンドは廃止されました。代わりにfglRotate()を使用してください。
glScaled (num x, num y, num z)
廃止、fglScale()を使用すること
説明
このコマンドは廃止されました。代わりにfglScale()を使用してください。
glTexCoord2d (num x 0-1, num y 0-1)
廃止、mesh() APIを使用すること
説明
このコマンドは廃止されました。使用してはいけません。代わりにmesh() APIを使用してください。
glTranslated (num x, num y, num z)
廃止、fglTranslate()を使用すること
説明
このコマンドは廃止されました。代わりにfglTranslate()を使用してください。
glVertex3d (num x, num y, num z)
廃止、mesh() APIを使用すること
説明
このコマンドは廃止されました。使用してはいけません。代わりにmesh() APIを使用してください。
groupaddmember (str group, obj member)
廃止、Group.addMember()を使用すること
説明
このコマンドは廃止されました。代わりにGroup.addMember()を使用してください。

グループにオブジェクトを追加します。
groupmember (str group, num member)
廃止、Group[]を使用すること
説明
このコマンドは廃止されました。代わりにGroup[]を使用してください。

グループメンバーへの参照を取得します。
groupnummembers (str group)
廃止、Group.length()を使用すること
説明
このコマンドは廃止されました。代わりにGroup.lengthを使用してください。

グループのメンバー数を取得します。
groupremovemember (str group, num/obj member)
廃止、Group.removeMember()を使用すること
説明
このコマンドは廃止されました。代わりにGroup.removeMember()を使用してください。

グループからオブジェクトを削除します。
gt (num value1, num value2)
廃止、>オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに>オペレーターを使用してください。
helpcommands (node destnode, num what, str command)
説明
開発者向けです。コマンドについての情報の取得に使用します。パラメータ3にコマンド名を入力します。戻り値はdestnodeの文字列データにコピーされます。
「what」は、どの情報が必要なのかを次のように定義します。
1 - コマンドのドキュメントを含むxmlフラグメント文字列を返します。
helpcommands()
hidelabel (obj object[, num off/on])
廃止、switch_hidelabel()を使用すること
説明
このコマンドは廃止されました。代わりにswitch_hidelabel()を使用してください。

このコマンドは、指定されたobjectについて、名前と基本統計を画面上で表示/非表示にします。値が1なら表示、0なら非表示になります。オブジェクトの名前と統計が非表示のとき、どのビューウィンドウにも表示されません。ビューウィンドウには、ビューのすべてのオブジェクトについて、このコネクタ表示を制御する属性もあります。
Hidelabel(current,0);

currentで参照されるオブジェクトの名前と統計を表示しないよう設定します。
hideports (obj object[, num off/on])
廃止、switch_hideconnectors()を使用すること
説明
このコマンドは廃止されました。代わりにswitch_hideconnectors()を使用してください。

このコマンドは、指定されたobjectについて、ポートと接続を表示/非表示に設定します。値が1なら表示、0なら非表示になります。オブジェクトのポートと接続が非表示のとき、どのビューウィンドウにも表示されません。
hideports(current,1);

currentオブジェクトのポートと接続をすべてのビューウィンドウに表示するよう設定します。
inc (node thenode, num amount)
廃止、+=オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに+=オペレーターを使用してください。myNode.value += 2;

ノードの値を定義された数値だけ増やします。
inc(current.mylabel,1)
inittrackedvariable (node theNode, num type[, num startValue, num flags])
廃止、TrackedVariableクラスを使用すること
説明
このコマンドは廃止されました。代わりにTrackedVariableクラスを使用してください。
inobject (obj object, num inputportnum)
廃止、Object.inObjects[]を使用すること
説明
このコマンドは廃止されました。代わりにObject.inObjects[]を使用してください。

下流オブジェクトの入力ポートに接続されている上流オブジェクトを参照します。
installpackage (str path+filename)
廃止、ユーザーライブラリを使用すること
説明
このコマンドは廃止されました。代わりにユーザーライブラリを使用してください。

サービスパック(.fpk)をインストールします。
installpackage("C:/mypak.fpk")
item <括弧なし>
説明
このコマンドは廃止されました。このコマンドは、今後setitemコマンドとともに特殊コマンドとして使用してはいけません。代わりに、treenode変数タイプをアイテムとして宣言し、コード内で他の変数タイプと同様にアイテムを使用してください。
treenode item = model().subnodes[3];
pt(item.name);

モデル内で3にランクされるオブジェクトをitemに設定し、出力コンソールにその名前を表示します。
iterate (num start, num end, num step) {}
廃止、for()またはwhile()コマンドを使用すること
説明
このコマンドは廃止されました。代わりにfor()またはwhile()コマンドを使用してください。

カウンターの値をstartからendまで、step単位で増やしながら、次に続く{}ブロックを繰り返し実行します。countコマンドを使用して、繰り返しごとに現在のカウンターの値にアクセスできます。countの戻り値は、現在何回目の反復が実行されているかによって異なります。
iterate(1,9,2)
{
pd(count);pr();
}

次の数値を出力コンソールに表示します:1,3,5,7,9
label (obj object, str/num label)
廃止、treenode.labels[]を使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labels[]を使用してください。

オブジェクトのラベルへのノード参照を取得します。
last (node container)
廃止、treenode.lastを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.lastを使用してください。

親ノードの最後の子ノードを参照します。
le (num value1, num value2)
廃止、<=オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに<=オペレーターを使用してください。
listbackorders (obj list[, var partitionId])
廃止、List.backOrders()を使用すること
説明
このコマンドは廃止されました。代わりにList.backOrders()を使用してください。

リストのバックオーダーへの参照。
listentries (obj list[, var partitionId])
廃止、List.entries()を使用すること
説明
このコマンドは廃止されました。代わりにList.entries()を使用してください。

リストのプッシュされたエントリへの参照。
listinlist (num qty, num val [, num a,...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArrayクラスを使用してください。

リストに値が出現する場所のインデックス。この関数は長さqtyのリストを検索し、値valが出現する位置を返します。
listinlist(5,3,2,1,2,3,4)

5つの数値のリストで、3は4番目の数値なので、インデックス番号4が返されます。
listmax (num qty, num val [, num a,...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArrayクラスを使用してください。

最も大きな値のインデックス。この関数は長さqtyのリストを検索し、最も大きな値が出現する位置を返します。
listmax(5,2,1,2,3,4)

5つの数値のリストで、4が最も大きな値なので、5が返されます。
listmaximum (num qty, num val [, num a,...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArrayクラスを使用してください。

最大値。この関数は長さqtyのリストを検索し、最も大きな値を返します。
listmaximum(5,2,1,2,3,4)

リストで最も大きな値が4なので、4が返されます。
listmean (num qty, num val [, num a,...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArrayクラスを使用してください。

値の平均値。この関数は、長さqtyのリストから値の平均値を返します。
listmean(5,2,1,2,3,4)

2.5が返されます。
listmin (num qty, num val [, num a,...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArrayクラスを使用してください。

最も小さな値のインデックス。この関数は長さqtyのリストを検索し、最も小さな値が出現する位置を返します。
listmin(5,2,1,2,3,4)

リストで最も小さな値が1で、2番目の値なので、2が返されます。
listminimum (num qty, num val [, num a,...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArrayクラスを使用してください。

最小値。この関数は長さqtyのリストを検索し、最も小さな値を返します。
listminimum(5,2,1,2,3,4)

リストで最も小さな値が1なので、1が返されます。
listmul (num qty, num val [, num a,...])
廃止、*オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに*オペレーターを使用してください。

リストの積。この関数は、長さqtyのリストに含まれるすべての値の積を返します。
listmul(5,2,1,2,3,4)

値48を返します。
listpull (str/obj list, str/node query, num requestNum [, num requireNum, str/node/num puller, str/node/num partitionId, num flags])
廃止、List.pull()を使用すること
説明
このコマンドは廃止されました。代わりにList.pull()を使用してください。

リストから1つ以上のエントリをプルします。
listpush (str/obj list [, str/node/num pushVal, str/node/num partitionId, ...])
廃止、List.push()を使用すること
説明
このコマンドは廃止されました。代わりにList.push()を使用してください。

エントリをリストにプッシュします。
listremove (obj entryOrBackOrder)
廃止、List.backOrders()[backOrderNum].remove()またはList.entries()[enterNum].remove()を使用すること
説明
このコマンドは廃止されました。代わりにList.backOrders()[backOrderNum].remove()またはList.entries()[entryNum].remove()を使用してください。

所有しているリストからエントリまたはバックオーダーを削除します。
listsub (num qty, num val [, num a,...])
廃止、-オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに-オペレーターを使用してください。

リストの減算。この関数は、長さqtyのリストについて最初の値を取得してから、以後のすべての値を減算し、結果を返します。
listsub(5,2,1,2,3,4)
listsum (num qty, num val [, num a,...])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりに+オペレーターを使用してください。

値の合計。この関数は、長さqtyのリストの値すべての合計を返します。
listsum(5,2,1,2,3,4)
loadsound (str path+filename)
廃止、soundload()を使用すること
説明
このコマンドは廃止されました。代わりにsoundload()を使用してください。

ディスク上のサウンドファイルがFlexSimにロードされ、メディアリストに記録されます。FlexSimのメディアリストは、ロードされたすべてのサウンドのリストを保持します。それぞれのサウンドには、対応する名前とインデックスが存在します。このコマンドは、ロードされたサウンドに対応するインデックスを返します。このサウンドは.wavファイルの必要があります。
int applauseindex = loadsound("c:/My Music/APPLAUSE.WAV");
local (num index)
廃止、ローカル変数を使用すること
説明
このコマンドは廃止されました。代わりに、treenode、int、double、stringなどのローカル変数を使用してください。

インデックス付きローカル変数をツリーノードとして、参照を取得します。いくつのローカル変数を使用するか、およびどのデータタイプを保有するかは、localarray()を使用して定義する必要があります。flexscriptでのみ使用できます。
setnodenum(local(1),4);
ローカル配列の最初の変数を4に設定します。
localarray (num qty[, num datatype])
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArrayクラスを使用してください。

指定された数のローカル変数を持つ、汎用ローカル配列を割り当てます。
タイプは次のいずれかです:1 = num、2 = str、3 = coupling、4 = objflexscriptでのみ使用できます。
localarray(1,4)
log (num value)
廃止、Math.log()を使用すること
説明
このコマンドは廃止されました。代わりにMath.log()を使用してください。

値の自然対数。
log10 (num value)
廃止、Math.log10()を使用すること
説明
このコマンドは廃止されました。代わりにMath.log10()を使用してください。

値の10を底とする対数。
lognormal (num location, num normalmean, num normalstdev[, num stream])
対数正規分布からランダムなサンプルを返す
説明
lognormal()とlognormal2()は類似の関数ですが、パラメータの定義が異なります。lognormal()は、wikipediaや他のサイトで定義されているパラメータ定義を使用します。lognormal2()は、Expertfitの最新版で定義されているパラメータを使用します。本質的に、パラメータは次のように変換できます。

lognormal( location, normalmean, normalstdev ) = lognormal2( location, Math.exp( normalmean ), normalstdev )
lognormal2( location, scale, shape ) = lognormal( location, Math.log( scale ), shape ) (Math.exp(x)はeのx乗で、Math.log(x)はxの自然対数です)。

正しい分布を使用していることを確認してください。誤った分布を使用すると、不適切なシミュレーション結果が得られることがあります。

lognormal( location, normalmean, normalstdev, stream )は連続確率分布です。

入力:
location : ( - , )
(Math.exp( normalmean ) > 0)となるようなnormalmean
(normalstdev > 0)となるようなnormalstdev
streamは、FlexSimの乱数ストリーム{0,1,2,...}のいずれかを参照します。

出力:
range = ( location , )
mean = location + Math.exp( normalmean + normalstdev² 2)
variance = Math.exp( 2*normalmean + normalstdev² ) [ Math.exp( normalstdev² ) − 1 ]

確率密度関数:



可能な用途:
一部のタスクを実行する時間のモデル化、および多数の他の数量の積となる数量をモデル化するため使用されます。データがない場合に概略モデルとしても使用できます。

コメント:
対数正規分布の確率密度は、normalstdev > 1についてはgamma( normalstdev, normalmean )およびweibull( normalstdev, normalmean )の密度に近い形となりますが、x=0付近で大きなスパイクが発生することがあり、多くの場合にはこれが有用です。
lognormalmeanstdev (num mean, num stdev[, num stream])
対数正規分布からランダムなサンプルを返す
説明
このコマンドは、データが存在しないときlognormal2コマンドの代替として使用されます。平均と標準偏差を指定でき、コマンドはこれらのパラメータからlognormal2コマンド用の正しい場所、スケール、形状のパラメータを計算し、その分布からサンプルを返します。分布の形状は鐘型の曲線で、右側に妥当な長さのテール部があるよう事前定義されていることに注意してください。したがって、このコマンドはlognormal2コマンドほど柔軟ではありません。このコマンドは三角分布と同様に、データが存在せず、分布の平均値と標準偏差が判明しており、分布が右傾斜している(右側のテールの方が長い)と想定できるが、分布に一致する実際のデータセットが存在しない場合に使用します。詳細については、lognormal2を参照してください。lognormal2の分布を記述する図に関して、lognormalmeanstdevコマンドはnormalstdev/shapeに値0.75を使用して形状を定義します。分布の形状は固定されているため、平均値と標準偏差値によっては負の値が返される場合もあることに注意してください。
double cycletime = lognormalmeanstdev(10, 2);
この例は、平均値が10、標準偏差が2の右傾斜した対数正規分布に従うランダムな値を返します。
lt (num value1, num value2)
廃止、<オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに<オペレーターを使用してください。
main ()
廃止、maintree()を使用すること
説明
このコマンドは廃止されました。代わりにmaintree()を使用してください。

メインツリーノードを取得します。これは、FlexSimの2つの主要なデータベースの1つです。「プロジェクトツリー」とも呼ばれます。他の主要なデータベースはビューツリーノードで、「ビューレイアウトツリー」とも呼ばれます。
main()
makearray (num qty)
廃止、Arrayクラスを使用すること
説明
このコマンドは廃止されました。代わりにArray(qty)を使用してください。Array array = Array(4);

ローカル配列を初期化します。
max (num value1, num value2)
廃止、Math.max()を使用すること
説明
このコマンドは廃止されました。代わりにMath.max()を使用してください。

value1とvalue2の最大値を取得します。
maxof (num value1, num value2)
廃止、Math.max()を使用すること
説明
このコマンドは廃止されました。代わりにMath.max()を使用してください。

value1とvalue2の最大値を取得します。
min (num value1, num value2)
廃止、Math.min()を使用すること
説明
このコマンドは廃止されました。代わりにMath.min()を使用してください。

value1とvalue2の最小値を取得します。
minof (num value1, num value2)
廃止、Math.min()を使用すること
説明
このコマンドは廃止されました。代わりにMath.min()を使用してください。

value1とvalue2の最小値を取得します。
module (num type, node libnode)
廃止
説明
このコマンドは廃止されました。代わりに、バージョン4で提供されるDLL機能を使用してください。

dllプラグインで使用されます。タイプは次のいずれかです。

MOD_LOAD (1)
MOD_UNLOAD (2)
MOD_GETFUNCTION (3)
MOD_RUNFUNCTION (4)
module(MOD_UNLOAD,main.find("project/exec/dll/1"))
movetablecol (str/num/node table, num column, num newcolumn)
廃止、Table.moveCol()を使用すること
説明
このコマンドは廃止されました。代わりにTable.moveCol()を使用してください。

テーブルの列をnewcolumnに移動します。
movetablerow (str/num/node table, num row, num newrow)
廃止、Table.moveRow()を使用すること
説明
このコマンドは廃止されました。代わりにTable.moveRow()を使用してください。

テーブルの行をnewrowに移動します。
mul (num value1, num value2)
廃止、*オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに*オペレーターを使用してください。

aとbの積。value1*value2の数値演算の結果を返します。
double product = mul(3,4);
multisorttable (str/node/num table, num col1[, num col2, num col3, ...])
廃止、Table.sort()を使用すること
説明
このコマンドは廃止されました。代わりにTable.sort()を使用してください。

テーブルを各列ごとに並べ替えます(正の列は昇順、負の列は降順)。
ncols (node thenode)
廃止、Table.numColsを使用すること
説明
このコマンドは廃止されました。代わりにTable.numColsを使用してください。

ne (num/node value1, num/node value2)
廃止、!=オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに!=オペレーターを使用してください。
node (str relativepath[, obj startnode])
廃止、treenode.find()を使用すること
説明
このコマンドは廃止されました。代わりにtreenodefind()を使用してください。

ルートノードからの名前付きパスでノードを参照します。
nodeadddata (node thenode, num type:num/str/ptr/obj)
廃止、treenode.valueまたはtreenode.dataTypeを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueまたはtreenode.dataTypeを使用してください。

thenodeにデータ、たとえば、DATATYPE_NUMBERを追加します。
nodedeldata (node thenode)
廃止、treenode.valueまたはtreenode.dataTypeを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueまたはtreenode.dataTypeを使用してください。

ノードからすべてのデータを削除します。
nodepoint (node a, node b)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

ノードaがノードbをポイントするようにします。
nodetomodelpath (node thenode [, num nameflag=1])
廃止、treenode.getPath()を使用すること
説明
このコマンドは廃止されました。代わりにtreenodegetPath()を使用してください。

モデルからthenodeのテキストパスを返します。
nodetopath (node thenode [, num nameflag=0])
廃止、treenode.getPath()を使用すること
説明
このコマンドは廃止されました。代わりにtreenodegetPath()を使用してください。

thenodeのテキストパスを返します。
not (num/node value1)
廃止、!オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに!オペレーターを使用してください。
nrcp (obj object)
廃止、Object.centerObjects.lengthを使用すること
説明
このコマンドは廃止されました。代わりにObject.centerObjects.lengthを使用してください。

オブジェクトのセンターポートの数。
nrip (obj object)
廃止、Object.inObjects.lengthを使用すること
説明
このコマンドは廃止されました。代わりにObject.inObjects.lengthを使用してください。

オブジェクトの入力ポートの数。
nrop (obj object)
廃止、Object.outObjects.lengthを使用すること
説明
このコマンドは廃止されました。代わりにObject.outObjects.lengthを使用してください。

オブジェクトの出力ポートの数。
nrows (node thenode)
廃止、Table.numRowsを使用すること
説明
このコマンドは廃止されました。代わりにTable.numRowsを使用してください。

ntravelto (obj traveler, obj spline, num endx, num endy, num endz, num vmax, num acc, num dec, num startspeed, num endspeed)
廃止、代わりにキネマティクスを使用すること
説明
このコマンドは廃止されました。代わりにキネマティクスを使用してください。

与えられたrzにオブジェクトを移動し、シミュレーションでの到着時間を返します。traveltoコマンドと似ていますが、開始および終了速度の定義が含まれます。TaskExecuterの開発に使用されます。
ntravelto(current, 0, 5, 8, 0, 1, 1, 1, 0, 1)
ntraveltoupdate (obj object)
廃止、代わりにキネマティクスを使用すること
説明
このコマンドは廃止されました。代わりにキネマティクスを使用してください。

ntravelto()コマンドが呼び出された後で、objectのrzを更新します。TaskExecuterのOnPreDrawで、位置を更新するため使用されます。
ntraveltoupdate(current)
numtostring (num value[, num width, num precision])
廃止、string.fromNum()を使用すること
説明
このコマンドは廃止されました。代わりにstring.fromNum()(静的メソッド)を使用してください。

値を文字列に変換します。
objectconnect (obj object1, obj object2)
廃止、contextdragconnection()を使用すること
説明
このコマンドは廃止されました。代わりにcontextdragconnection()を使用してください。

2つのオブジェクトを接続し、必要なポートを追加します。必要ならobject1には出力ポートが、object2には入力が追加されます。その後でポート同士が接続されます。
connect(so(),so().next)
objectshapecode (obj object)
廃止、getshapeindex()を使用すること
説明
このコマンドは廃止されました。代わりにgetshapeindex()を使用してください。

オブジェクトのデフォルト形状のインデックスを取得します。FlexSimのメディアリストは、ロードされたすべての形状のリストを保持します。それぞれの形状には、対応する名前とインデックスが存在します。このコマンドは、オブジェクトのデフォルト形状に対応するインデックスを返します。
objectshapecode(so())
objecttexcode (obj object)
廃止、getobjecttextureindex()を使用すること
説明
このコマンドは廃止されました。代わりにgetobjecttextureindex()を使用してください。

objectのデフォルト画像のインデックスを取得します。FlexSimのメディアリストは、ロードされたすべてのテクスチャ(画像)のリストを保持します。それぞれのテクスチャには、対応する名前とインデックスが存在します。このコマンドは、オブジェクトのデフォルトテクスチャ(画像)に対応するインデックスを返します。
objecttexcode(current)
openflexsimchart ([str filename1] [,str filename2])
廃止
説明
このコマンドは廃止されました。
openglcolor (num red {0-1}, num green {0-1}, num blue {0-1}, num opacity {0-1})
廃止、fglColor()を使用すること
説明
このコマンドは廃止されました。代わりにfglColor()を使用してください。
opengllighting (num on/off)
廃止、fglEnable(GL_LIGHTING)およびfglDisable(GL_LIGHTING)を使用すること
説明
このコマンドは廃止されました。代わりにfglEnable(GL_LIGHTING)およびfglDisable(GL_LIGHTING)を使用してください。
openinput (obj object)
廃止、Object.input.open()を使用すること
説明
このコマンドは廃止されました。代わりにObject.input.open()を使用してください。

このコマンドは、以前にcloseinput()コマンドでブロックされたオブジェクトの入力のブロックを解除します。進入を許可する前に、入力ポート自体と入力全般を開く必要があります。モデラーは、senddelayedmessage()コマンドによりトリガーされたOnMessageフィールドを除いて、いかなるフィールドでもこのコマンドを使用しないことをお勧めします。これは、ポートを開くコマンドは多くの場合、トランジションイベントで行うべきでない複数の他の動作を引き起こすためです。このコマンドをresumeinput()と比較してください。
if (current.subnodes.length < maxcontent)
openinput(current);
openoutput (obj object)
廃止、Object.output.open()を使用すること
説明
このコマンドは廃止されました。代わりにObject.output.open()を使用してください。

このコマンドは、以前にcloseoutput()コマンドでブロックされたオブジェクトの出力のブロックを解除します。退出を許可する前に、出力ポート自体と出力全般を開く必要があります。モデラーは、senddelayedmessage()コマンドによりトリガーされたOnMessageフィールドを除いて、いかなるフィールドでもこのコマンドを使用しないことをお勧めします。これは、ポートを開くコマンドは多くの場合、トランジションイベントで行うべきでない複数の他の動作を引き起こすためです。このコマンドをresumeoutput()と比較してください。
if (current.subnodes.length > mincontent)
openoutput(current);
or (num/node condition1, num/node condition2)
廃止、||オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに||オペレーターを使用してください。
outobject (obj object, num outputportnum)
廃止、Object.outObjects[]を使用すること
説明
このコマンドは廃止されました。代わりにObject.outObjects[]を使用してください。

上流オブジェクトの出力ポートに接続されている下流オブジェクトを参照します。
parg ()
説明
このコマンドは廃止されました。
parg()
parnode (num index)
廃止、param()を使用すること
説明
このコマンドは廃止されました。代わりにparamを使用してください。

このコマンドは、nodefunction()コマンドにより呼び出される関数の内部で使用されます。nodefunctionに渡された、indexにより指定されたパラメータを、ノード(またはツリーノード)として返します。nodefunction()に渡される最初の追加パラメータはパラメータ1、2番目はパラメータ2の順に番号が付けられます。パラメータをparval()およびparstr()で取得し、それぞれ数値と文字列にキャストすることもできます。
トリガー/フィールドが
nodefunction(thefuncnode, item)
で呼び出された場合、そのトリガー/フィールド内で、最初の追加パラメータとして渡されたアイテムへのアクセスが、次のように取得されます。
treenode item = parnode(1);
parstr (num index)
廃止、param()を使用すること
説明
このコマンドは廃止されました。代わりにparamを使用してください。

このコマンドは、nodefunction()コマンドにより呼び出される関数の内部で使用されます。nodefunctionに渡された、indexにより指定されたパラメータを、文字列として返します。nodefunction()に渡される最初の追加パラメータはパラメータ1、2番目はパラメータ2の順に番号が付けられます。パラメータをparam()コマンドで取得することもできます。
トリガー/フィールドが
nodefunction(thefuncnode, passingstr)
で呼び出された場合、そのトリガー/フィールド内で、最初の追加パラメータとして渡されたpassingstr文字列へのアクセスが、次のように取得されます。
string passedstr = parstr(1);
particleset ()
廃止、使用しないこと
説明
このコマンドは廃止されました。「particle」オブジェクトに値を設定するため使用されていましたが、このオブジェクトのサポートは終了しました。
parval (num index)
廃止、param()を使用すること
説明
このコマンドは廃止されました。代わりにparamを使用してください。

このコマンドは、nodefunction()コマンドにより呼び出される関数の内部で使用されます。indexにより指定されたnodefunctionに渡されたパラメータを、数値として返します。nodefunction()に渡される最初の追加パラメータはパラメータ1、2番目はパラメータ2の順に番号が付けられます。パラメータをparnode()およびparstr()で取得し、それぞれツリーノードと文字列にキャストすることもできます。
トリガー/フィールドが
nodefunction(thefuncnode, passingval)
で呼び出された場合、そのトリガー/フィールド内で、最初の追加パラメータとして渡されたpassingvalへのアクセスが、次のように取得されます。
double passedval = parval(1);
pc (num asciivalue)
廃止、print()を使用すること
説明
このコマンドは廃止されました。代わりにprint()コマンドを使用してください。

ASCII文字を出力コンソールに表示します。
pd (num value)
廃止、print()を使用すること
説明
このコマンドは廃止されました。代わりにprint()コマンドを使用してください。

整数を出力コンソールに表示します。
pf (num value)
廃止、print()を使用すること
説明
このコマンドは廃止されました。代わりにprint()コマンドを使用してください。

浮動小数点数を出力コンソールに表示します。
pi ()
廃止、Math.piを使用すること
説明
このコマンドは廃止されました。代わりにMath.pi()を使用してください。

piの値(3.14159...)を取得します。
port <括弧なし>
説明
このコマンドは廃止されました。このコマンドは、今後setportコマンドとともに特殊コマンドとして使用してはいけません。代わりに、int変数タイプをポートとして宣言し、コード内で他の変数タイプと同様にポートを使用してください。
int port = param(3);
pd(port);

ポートをparam(3)に設定し、出力コンソールに値を表示します。
pow (num num1, num num2)
廃止、Math.pow()を使用すること
説明
このコマンドは廃止されました。代わりにMath.pow()を使用してください。

num1のnum2乗を計算します。
pr ()
廃止、print()を使用すること
説明
このコマンドは廃止されました。代わりにprint()コマンドを使用してください。

出力コンソールに改行を出力します。
pt (str text)
廃止、print()を使用すること
説明
このコマンドは廃止されました。代わりにprint()コマンドを使用してください。出力コンソールにテキストを表示します。
query (str query[, node/num/str p1, node/num/str p2, ...])
廃止、Table.query()を使用すること
説明
このコマンドは廃止されました。代わりにTable.query()を使用してください。詳細については、「その他の概念」 > 「SQLクエリ」を参照してください。
radianstodegrees (num value)
廃止、Math.degrees()を使用すること
説明
このコマンドは廃止されました。代わりにMath.degrees()を使用してください。

ラジアンを度に変換します。
rank (obj parent, num index)
廃止、treenode.subnodes[]を使用すること
説明
このコマンドは廃止されました。代わりにtreenode.subnodes[]を使用してください。

子ノードをランクで参照します。
rankobj (obj container, num rank)
廃止、Object.attrs[]を使用すること
説明
このコマンドは廃止されました。代わりにtreenode.attrsの[]オペレーターを使用してください。

オブジェクトの属性サブツリーのランク付きノードについて、ランクで参照を取得します。
reftable (str/num globaltable)
廃止、Table("GlobalTableName")を使用すること
説明
このコマンドは廃止されました。代わりにTableクラスを使用してください。

グローバルテーブルへの参照を取得します。
Table table = reftable("GlobalTable1")
relloc (obj object, obj containerobj, num coordinate)
廃止、Vec3.project()を使用すること
説明
このコマンドは廃止されました。代わりにVec3.project()を使用してください。

このコマンドは、オブジェクトのx、y、z位置を、それを包含するオブジェクトへの相対位置として返します。containerobjはそのオブジェクトを直接含むコンテナの必要はありませんが、最終的にそのオブジェクトのコンテナであることが必要です。座標値は1、2、3のいずれかで、それぞれx、y、zを意味します。
double x = relloc(current,model(),1);
double y = relloc(current,model(),2);
double z = relloc(current,model(),3);

x、y、zに、currentオブジェクトのx、y、z位置を、モデル空間への相対位置として設定します。
repeat (num nr, expression)
説明
指定された回数だけ式を実行します。式では「count」を使用して実行された繰り返し回数を取得できます(1から始まります)。
repeat(current.outObjects.length, current.outObjects[count].input.close);
この例は、currentの出力ポートに接続されているすべてのオブジェクトの入力を閉じます。
reset ()
廃止、resetmodel()を使用すること
説明
このコマンドは廃止されました。代わりにresetmodel()を使用してください。

開発者向けです。このコマンドはモデルをリセットします。シミュレーションクロックは0に設定され、モデルのすべてのオブジェクトについてOnResetイベント関数が呼び出されます。OnResetイベントは一般に、ユーザーが定義したResetTrigger関数を呼び出します。モデルはリセット前にコンパイル済みの必要があります。通常は、reset()の代わりにresetmodel()コマンドを呼び出します。
reset();
go();
モデルをリセットしてから実行します。
resumeinput (obj object)
廃止、Object.input.resume()を使用すること
説明
このコマンドは廃止されました。代わりにObject.input.resume()を使用してください。

このコマンドはopeninput()と同様にobjectの入力を開きますが、オブジェクトに対して呼び出された以前のstopinput()コマンドの記録を保持しているため、すべての停止が再開された後でのみ入力を開きます。詳細については、openinput()のドキュメントを参照してください。
resumeinput(current.centerObjects[1]);
resumeobject (obj object [, num id, num stateprofile ] )
廃止、Object.resume()を使用すること
説明
このコマンドは廃止されました。代わりにObject.resume[]を使用してください。

objectに対して、stopobject()が呼び出される前に行っていた動作を再開するよう指示します。
id値はオプションで、stopリクエストとresumeリクエストとの一致に使用されます。詳細については、stopobject()
のドキュメントを参照してください。
resumeobject(current.centerObjects[1]);
resumeoutput (obj object)
廃止、Object.output.resume()を使用すること
説明
このコマンドは廃止されました。代わりにObject.output.resume()を使用してください。

このコマンドはopenoutput()と同様にobjectの出力を開きますが、オブジェクトに対して呼び出された以前のstopoutput()コマンドの記録を保持しているため、すべての停止が再開された後でのみ出力を開きます。詳細については、openoutput()のドキュメントを参照してください。
resumeoutput(current.centerObjects[1]);
richeditaddtext (obj richedit, str text, num protected (0/1))
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
richedittoken (obj richedit, num tokenindex)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
round (num value[, num precision])
廃止、Math.round()を使用すること
説明
このコマンドは廃止されました。代わりにMath.round()を使用してください。

valueを最も近い整数に丸めます。
savefpk (node servicepackhead)
廃止、ユーザーライブラリを使用すること
説明
このコマンドは廃止されました。代わりにユーザーライブラリを使用してください。

ノードをサービスパックファイル(.fpk)としてディスクに保存します。
ファイルの保存ダイアログボックスが表示され、ファイルのパスと名前を定義できます。サービスパックは、サブノードを持つノードです。最初のサブノードはトグルされたflexscriptで、文字列データとコードを含むと見なされます。サービスパックが[ファイル]|[サービスパックのインストール]を使用してロードされると、サービスパックの最初のサブノードが自動的に実行されます。このコードは通常、他のサブノードをMAINおよびVIEWツリーにコピーします。
savefpk(so());
set (node thenode, num value)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

数値データを持つノードの値を設定します。
setcenter (obj object, num x, num y, num z)
廃止、Object.setLocation()を使用すること
説明
このコマンドは廃止されました。代わりにObject.setLocation[]を使用してください。

オブジェクトの回転中心のx、y、z位置を、オブジェクトのコンテナに対する相対位置に設定します。
setcolor (obj object, num red, num green, num blue)
廃止、Colorクラスを使用すること
説明
このコマンドは廃止されました。代わりにObject.colorColor()に設定してください。

オブジェクトの色の赤、緑、青コンポーネントを設定します。
setcurrent (thing)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
setitem (thing)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
setitemtype (obj object, num value)
廃止、ラベルを使用すること
説明
このコマンドは廃止されました。代わりにラベルを使用してください。

このコマンドは、オブジェクトのitemtype属性をvalueに設定します。オブジェクトにitemtype属性が存在しない場合、このコマンドは何もしません。itemtype属性は通常、同じクラスでタイプが異なるフローアイテムを区別するため使用されます。
setitemtype(item,duniform(1,3));

itemで参照されるフローアイテムのitemtype属性を、1から3までのランダムな整数に設定します。
setlabel (obj node, str/num label, num/str/node value)
廃止、treenode.LabelNameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labelPropertiesを使用してください。

オブジェクトラベル値を設定します。
setlabelnum (obj object, str/num label, num value)
廃止、treenode.LabelNameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labelPropertiesを使用してください。

オブジェクトラベル値を設定します。
setlabelstr (obj object, str/num label, str value)
廃止、treenode.LabelNameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.labelPropertiesを使用してください。

オブジェクトラベル値を設定します。
setloc (obj object, num x, num y, num z[, num xFactor, num yFactor, num zFactor])
廃止、Object.locationを使用すること
説明
このコマンドは廃止されました。代わりにObject.location[]を使用してください。

オブジェクトのx、y、z位置を、オブジェクトのコンテナに対する相対位置に設定します。
setname (obj object, str value)
廃止、treenode.nameを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.nameを使用してください。

ノード/オブジェクトの名前を設定します。
setnodename (obj/node object, str value)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.nameを使用してください。

ノード/オブジェクトの名前を設定します。
setnodenum (node thenode, num value)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

数値データを持つノードの値を設定します。
setnodestr (node thenode, str value)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

文字列データを持つノードの値を設定します。
setobjectimageindex (obj object, num index)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。

オブジェクトのベースに割り当てられているbmpまたはjpeg画像(2D形状およびベース画像)のインデックス番号を設定します。新しいインデックスを有効にするには、オブジェクトのimagebaseノードを削除するか、名前を変更する必要があるため、このコマンドはimagebaseノードの名前を「_imagebase」に変更します。インデックス番号は、現在インポートされているbmpまたはjpeg画像の有効なインデックス番号の必要があります。現在インポートされている画像を表示する、または別のbmpやjpeg画像をインポートするには、ツールボックスの[メディアをインポート]オプションを使用してください。
setobjectimageindex(item,gettextureindex("fs3d\\BBsphere.bmp"));
setport (thing)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
setquerynode (node queryNode)
廃止、Table.query()を使用すること
説明
このコマンドは廃止されました。代わりにTable.query()を使用してください。詳細については、「その他の概念」 > 「SQLクエリ」を参照してください。
setrank (obj/node object, num index)
廃止、treenode.rankを使用すること
説明
このコマンド。代わりにtreenode.rankを使用してください。

親ノードのサブツリーにある子ノードのランクを設定します。
setrot (obj object, num rx, num ry, num rz)
廃止、Object.rotationを使用すること
説明
このコマンドは廃止されました。代わりにObject.rotationを使用してください。

オブジェクトの回転を設定します。
sets (node thenode, str value)
廃止、treenode.valueを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.valueを使用してください。

文字列データを持つノードの値を設定します。
setsize (obj object, num sx, num sy, num sz)
廃止、Object.sizeを使用すること
説明
このコマンドは廃止されました。代わりにObject.sizeを使用してください。

オブジェクトのサイズを設定します。
setstate (obj object, num state [, num profilenr])
廃止、Object.setState()を使用すること
説明
このコマンドは廃止されました。Object.setState(stateNum); を使用してください。

オブジェクトの状態を設定します。
setstate_s (obj object, str statename)
説明
このコマンドは廃止されました。Object.stats.state().valueString = stateStr; を使用してください。

開発用です。状態のいずれかの実名を使用して、オブジェクトの状態を設定します。状態名は、状態円グラフに表示されるものと同じ名前にする必要があります。
setstate_s(current,"busy")
settable (node table, num sx, num sy[, num type, num overwrite])
廃止、Tableクラスを使用すること
説明
このコマンドは廃止されました。代わりにTableクラスを使用してください。
settableheader (string/num/node table, num row/col, num rowcolnr, string value)
廃止、Table.setColHeader()またはTable.setRowHeader()を使用すること
説明
このコマンドは廃止されました。代わりにTable.setColHeader()またはTable.setRowHeader()を使用してください。

テーブルのヘッダーフィールドの値を設定します。
settablenum (str/node/num table, num row, num col, num value)
廃止、Tableの[]オペレーターを使用すること
説明
このコマンドは廃止されました。代わりにTableクラスの[]オペレーターを使用してください。

テーブルのセルの数値を設定します。
settablesize (str/num/node table, num rows, num cols [, num datatype, num overwrite y/n])
廃止、Table.setSize()を使用すること
説明
このコマンドは廃止されました。代わりにTable.setSize()を使用してください。

テーブルのサイズを設定します。
settablestr (str/node/num table, num row, num col, str value)
廃止、Tableの[]オペレーターを使用すること
説明
このコマンドは廃止されました。代わりにTableクラスの[]オペレーターを使用してください。

テーブルのセルのテキスト値を設定します。
settrackedvariable (str/node trackedvar, num value[, num rate])
廃止、TrackedVariableクラスを使用すること
説明
このコマンドは廃止されました。代わりにTrackedVariableクラスを使用してください。
setundos (num maxundos)
廃止
説明
このコマンドは廃止されました。このコマンドを使用しない、より高速で軽量な取り消し機能の実装が開発されたため、このコマンドは現在では廃止されています。

許可される取り消しの最大数を設定します。マウスがクリックされるか、キーが押されるごとに、モデル全体のコピーが保存されます。setundosコマンドを使用して、取り消し用に記憶されるモデルのコピーの最大数を指定できます。このコマンドを使用するには、最初にメインツリーにundoという名前のノードを作成し、数値データを与える必要があります。
setundos(2);
showgraphicinfo (num showhide, str filename)
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。
sign (num value)
廃止、Math.sign()を使用すること
説明
このコマンドは廃止されました。代わりにMath.sign()を使用してください。

値の符号。
sin (num angle)
廃止、Math.sin()を使用すること
説明
このコマンドは廃止されました。代わりにMath.sin()を使用してください。

角度のsinをラジアン単位で取得します。
sorttable (str/node/num table, num column)
廃止、Table.sort()を使用すること
説明
このコマンドは廃止されました。代わりにTable.sort()を使用してください。

テーブルを列の値によって昇順に並べ替えます。
spaceglobal ()
廃止、drawtomodelscale()を使用すること
説明
このコマンドは廃止されました。代わりにdrawtomodelscale()を使用してください。

OpenGL空間をグローバルマトリクスに設定します。
spaceglobal()
spaceobject ()
廃止、drawtoobjectscale()を使用すること
説明
このコマンドは廃止されました。使用してはいけません。代わりにdrawtoobjectscale()を使用してください。
spaceobject()
sqr (num value)
廃止、Math.sqr()を使用すること
説明
このコマンドは廃止されました。代わりにMath.sqr()を使用してください。

値の平方。
sqrt (num value)
廃止、Math.sqrt()を使用すること
説明
このコマンドは廃止されました。代わりにMath.sqrt()を使用してください。

値の平方根。
startanimation (obj object, num/str animation[, num speedtype, num speedvalue, num repeattype, num repeatvalue])
廃止、Animationクラスを使用すること
説明
このコマンドは廃止されました。代わりにAnimationクラスを使用してください。

objectのアニメーションを開始します。
startanimation(current, "Stand");
statisticaltime ()
廃止、Modelクラスを使用すること
説明
このコマンドは廃止されました。代わりにModel.statisticalTimeを使用してください。

実験でウォームアップ時間が経過した後、またはresetstats()が実行された後など、状態が最後にリセットされたときに相対的な現在のシミュレーション時間を返します。
item.TimeIn = statisticaltime();

itemで参照されるオブジェクトの「TimeIn」というラベルを、現在のシミュレーションクロック時間に設定します。
stopanimation (obj object, num/str animation)
廃止、Animationクラスを使用すること
説明
このコマンドは廃止されました。代わりにAnimationクラスを使用してください。

オブジェクトのアニメーションを停止します。
stopanimation(current, "Walk");
stopinput (obj object)
廃止、Object.input.stop()を使用すること
説明
このコマンドは廃止されました。代わりにObject.input.stop()を使用してください。

このコマンドは、closeinput()と同様にオブジェクトの入力を閉じますが、連続したstopinput()コマンドの記録が保持され、すべての停止が再開された後でのみ入力を開きます。詳細については、closeinput()のドキュメントを参照してください。
stopinput(current.centerObjects[1]);
stopobject (obj object, num state [, num id, num priority, num stateprofile] )
廃止、Object.stop()を使用すること
説明
このコマンドは廃止されました。代わりにObject.stop()を使用してください。

オブジェクトに対して、現在行っている動作を停止し、指定された状態に移行して(指定されているなら状態プロファイルの状態に)、resumeobject()が呼び出されるまで待つように通知します。stopobjectコマンドは累積されます。すなわち、同じオブジェクトに対してstopobjectが2回呼び出されると、そのオブジェクトはresumeobjectが同様に2回呼び出されるまで動作を再開しません。オブジェクトの停止は、停止されるオブジェクトのタイプによって異なります。

FixedResourcesの場合、一般にイベントが無期限に遅延され、入力と出力が停止され、オブジェクトへ、およびオブジェクトからのあらゆる動作は停止されます。このため、TaskExecutersがオブジェクトへのロードやオブジェクトからのアンロードを試みるには、オブジェクトの再開まで待つ必要があります。

TaskExecutersの場合、イベントは遅延されませんが、TaskExecuter用に優先度100,000のプリエンプトのタスクシーケンスが作成され、その中に1つのTE_STOPタスクが含まれます。

同じオブジェクトに複数の停止リクエストが存在する場合、それぞれの停止リクエストの状態は記憶されないことに注意してください。オブジェクトがエンティティAにより状態12での停止を要求され、その後でエンティティBにより状態14での停止を要求された場合、オブジェクトは状態14に移行し、状態12は記憶されません。エンティティBがエンティティAより前にオブジェクトを再開させても、オブジェクトはすべての停止リクエストが再開されるまで状態14に維持されます。

最後の2つのパラメータidとpriorityはオプションで、前の段落に記載された問題を修正するために最近追加されたものです。これらのパラメータが指定されると、要求された停止の回数を増やすだけでなく、停止リクエストのレコードが保存されます。idは停止リクエストのキーと同様に扱われます。priorityは、オブジェクトが停止リクエストを優先度付けするために使用されます。たとえば、スケジュールされた停止状態用の停止リクエストと、故障状態用の停止リクエストが同時に存在する場合、オブジェクトは理論的には同時に2つの状態に置かれるべきですが、FlexSimのオブジェクトは同時に1つの状態しかとれないため、優先度の値で判断され、優先度が最も高い停止リクエストの状態に移行します。

id値は、後でresumeobject()コマンドに追加されるid値と一致する必要があります。この値は、停止リクエストと、対応する再開リクエストを一致するために使用されます。たとえば、オブジェクトをスケジュールされた保守のため、id値1で停止した場合、スケジュールされた保守が完了したら、同じ1のid値でオブジェクトを再開する必要があります。
stopobject(current.centerObjects[1], STATE_BLOCKED);
stopoutput (obj object)
廃止、Object.output.stop()を使用すること
説明
このコマンドは廃止されました。代わりにObject.output.stop()を使用してください。

このコマンドは、closeoutput()と同様にobjectの出力を閉じますが、連続したstopoutput()コマンドの記録が保持され、すべての停止が再開された後でのみ出力を開きます。詳細については、closeoutput()のドキュメントを参照してください。
stopoutput(current.centerObjects[1]);
store ()
説明
このコマンドは廃止されました。このコマンドを使用しない、より高速で軽量な取り消し機能の実装が開発されたため、このコマンドは現在では廃止されています。

現在のモデルのアーカイブされたコピーを、メインツリーの取り消しフォルダに明示的に保存します。詳細については、undos()コマンドのドキュメントを参照してください。
store();
stringcopy (str string, num start, num length)
廃止、string.substr()を使用すること
説明
このコマンドは廃止されました。代わりにstring.substr()を使用してください。

文字列から、インデックスの開始位置(1から開始)と長さにより定義される部分文字列を返します。
stringlen (str string)
廃止、string.lengthを使用すること
説明
このコマンドは廃止されました。代わりにstring.lengthを使用してください。

文字列の長さを取得します。
stringpart (str string, num start, num length)
廃止、string.substr()を使用すること
説明
このコマンドは廃止されました。代わりにstring.substr()を使用してください。

このコマンドは、stringの一部を返します。新しい文字列は、最初の文字番号と長さにより定義されます。開始値が0なら、元の文字列の最初の文字を意味します。
stringpart("Hello",2,3) は、部分文字列「llo」を返します。
stringreplace (str stringtosearch, str searchfor, str replacewith)
廃止、string.replace()を使用すること
説明
このコマンドは廃止されました。代わりにstring.replace()を使用してください。

stringtosearchのコピーを返しますが、searchforが出現する部分はすべてreplacewithに置き換えられます。
stringreturn (str returnstring, ptr callpoint)
説明
このコマンドは廃止されました。returnステートメントを使用して、C++のユーザーコマンドから簡単に文字列を返すことができます。

FlexSim 7.7より以前では、ユーザーコマンドのC++実装から文字列を返すために、このコマンドが使用されていました。このコマンドはC++でのみ必要でした。FlexScriptのユーザーコマンドでは、returnステートメントで簡単に文字列を返すことができます。
C++: stringreturn(result, callpoint); return 0;
stringsearch (str stringtosearch, str searchfor, int startindex[, int flags])
廃止、string.search()を使用すること
説明
このコマンドは廃止されました。代わりにstring.search()を使用してください。

文字列から、与えられた部分文字列searchfor(0から開始)を探します。
stringtonum (str string)
廃止、string.toNum()を使用すること
説明
このコマンドは廃止されました。代わりにstring.toNum()を使用してください。

stringを数値に変換します。
stringtopchar (str string)
廃止、apchar()を使用すること
説明
このコマンドは廃止されました。代わりにapchar()を使用してください。

このコマンドは、C++文字へのポインタとしして文字列を返します。char*のみを受け付ける一部のC++コマンド用に、stringタイプの変数をchar*タイプに変換するため使用されます。Flexscriptでは必要ありません。
setname(current,stringtopchar("ThisObjectName"));

currentで参照されるオブジェクトの名前を「ThisObjectName」に設定します。ここでstringtopchar()コマンドは必須ではありませんが、正当です。
strquote (str string)
廃止、\"を使用すること
説明
このコマンドは廃止されました。文字列に引用符を含めるには、代わりに\"を使用してください。
strquote("hello")
sub (num value1, num value2)
廃止、-オペレーターを使用すること
説明
このコマンドは廃止されました。代わりに-オペレーターを使用してください。

value1とvalue2の代わりにオペレーターを使用してください。数値演算式value1-value2の結果を返します。
代わりにdoubleオペレーターを使用してください。 = sub(10,4);
swaptablecols (str/num/node table, num column, num column2)
廃止、Table.swapCols()を使用すること
説明
このコマンドは廃止されました。代わりにTable.swapCols().を使用してください。

テーブルの2つの列を交換します。
swaptablerows (str/num/node table, num row, num row2)
廃止、Table.swapRows()を使用すること
説明
このコマンドは廃止されました。代わりにTable.swapRows().を使用してください。

テーブルの2つの行を交換します。
switch_hidebase (obj object[, num off/on])
廃止、使用しないこと
説明
このコマンドは廃止されました。使用してはいけません。オブジェクトの「2D形状を表示」フラグを取得または設定します。値が1なら非表示、0なら表示、-1なら現在の値を取得します。オブジェクトの2D形状(ベース)は、平面ビューウィンドウに表示されます。ビューウィンドウにはhideallbasesという名前の属性もあり、ビュー内のすべてのオブジェクトについて2D形状(ベース)の表示をコントロールしていることに注意してください。
switch_hidebase(so(),1)
tan (num angle)
廃止、Math.tan()を使用すること
説明
このコマンドは廃止されました。代わりにMath.tan()を使用してください。

ラジアン単位の角度のtanを取得します。
time ()
廃止、Modelクラスを使用すること
説明
このコマンドは廃止されました。代わりにModel.timeを使用してください。

現在のシミュレーション時間を返します。
item.TimeIn = time();

itemで参照されるオブジェクトの「TimeIn」というラベルを、現在のシミュレーションクロック時間に設定します。
trackedvariable (str name)
廃止、追跡変数クラスを使用すること
説明
このコマンドは廃止されました。代わりにTrackedVariableクラスを使用してください。
transfernode (node movenode, node container)
廃止、treenode.upを使用すること
説明
このコマンドは廃止されました。ノードの親(コンテナ)を設定するには、treenode.upを使用してください。

このコマンドは、movenodeをcontainerノードに移動します。これはmoveobjectコマンドとほぼ同じですが、イベント(OnSend、OnReceive)が実行されない点が異なります。
transfernode(current.labels["inactivequeue"].first, current.labels["activequeue"]);
travelto (obj object, obj spline, num x, num y, num z, num vmax, num acc, num dec)
廃止、キネマティクスを使用すること
説明
このコマンドは廃止されました。代わりにキネマティクスを使用してください。

オブジェクトの現在の移動パラメータを計算します。移動パスが計算されます。設定されると、このコマンドにより定義された移動パスに基づいてオブジェクトの位置が計算されます。この関数は、移動の終了時間を返します。この関数をスプラインと組み合わせて使用し、曲線の移動パスを作成できます。
travelto(traveler,NULL,100,100,0,5,1,6)
traveltoupdate (obj object [, obj spline])
廃止、キネマティクスを使用すること
説明
このコマンドは廃止されました。代わりにキネマティクスを使用してください。

現在の移動パラメータに基づいてオブジェクトの位置を更新します。オブジェクトに対して実行されたtravelto()コマンドで計算された時間および移動パスのパラメータに基づいて、オブジェクトの位置を明示的に設定します。必要なら、パスのジオメトリとしてスプラインを使用します。
traveltoupdate(current)

以前のtraveto()コマンドで設定された移動パラメータに基づいて、currentオブジェクトの位置を更新します。このコマンドは通常、[カスタム描画コード]フィールドから実行されます。
trunc (num value)
廃止、Math.trunc()を使用すること
説明
このコマンドは廃止されました。代わりにMath.trunc()を使用してください。

値を切り捨てます。
undos (num off/on)
説明
このコマンドは廃止されました。このコマンドを使用しない、より高速で軽量な取り消し機能の実装が開発されたため、このコマンドは現在では廃止されています。

このコマンドは、マウスがクリック、またはキーが押されるごとにモデルのコピーを自動的に保存するか(1)、しないか(0)を設定するため使用されます。setundosコマンドを使用して、取り消し用に記憶されるモデルのコピーの最大数を指定できます。このコマンドが正しく機能するには、最初にメインツリーにundoという名前のノードを作成し、数値データを与える必要があります。
undos(1);
up (obj object)
廃止、treenode.upを使用すること
説明
このコマンドは廃止されました。代わりにtreenode.upを使用してください。

ノードの親ノードを参照します。
updateanimation (obj object [, num updatetime, num animationnr])
廃止、Animationクラスを使用すること
説明
このコマンドは廃止されました。代わりにAnimationクラスを使用してください。

オブジェクトのアニメーションを更新します。
updateanimation(current);
updatetoolsmenu ()
廃止、ツールボックスを使用すること
説明
このコマンドは廃止されました。ツールボックスを使用してください。

ツールの追加または削除を反映してツールメニューを更新します。
updatetoolsmenu()
userfunction_n (obj object, num index [, num param_a,...])
廃止、nodefunction()を使用すること
説明
このコマンドは廃止されました。nodefunction()はどのノードにも使用できるため、こちらを使用してください。

オブジェクトのuserfunctionsグループにある、指定されたランクのindexを持つノードと関連付けられているコードを実行します。呼び出された関数ノードの中でparam()を使用し、関数に渡された引数を取得してください。
userfunction_s(current,4,1,2,3)

currentオブジェクトのuserfunctionsグループ内で4番目にランクされているノードと関連付けられているコードを実行します。
userfunction_s (obj object, str name [, num param_a,...])
廃止、nodefunction()を使用すること
説明
このコマンドは廃止されました。nodefunction()はどのノードにも使用できるため、こちらを使用してください。

オブジェクトのuserfunctionsグループにある、指定された名前を持つノードと関連付けられているコードを実行します。呼び出された関数ノードの中でparam()を使用し、関数に渡された引数を取得してください。
userfunction_s(current,"myfunc",1,2,3)

currentオブジェクトのuserfunctionsグループ内の、「myfunc」という名前のノードと関連付けられているコードを実行します。
var (obj object, num index)
廃止、getvarnode()を使用すること
説明
このコマンドは廃止されました。代わりにgetvarnode()を使用してください。

「variables」内のオブジェクトのノードをインデックスで取得します。
var(so(),1)
var_s (obj object, str name)
廃止、getvarnode()を使用すること
説明
このコマンドは廃止されました。代わりにgetvarnode()を使用してください。

「variables」内のオブジェクトのノードを名前で取得します。
var_s(current,"myatt")
vectorprojectx (obj projectfrom, num fromx, num fromy, num fromz, obj projectonto)
廃止、Vec3.project()を使用すること
説明
このコマンドは廃止されました。代わりにVec3.project()を使用してください。
vectorprojecty (obj projectfrom, num fromx, num fromy, num fromz, obj projectonto)
廃止、Vec3.project()を使用すること
説明
このコマンドは廃止されました。代わりにVec3.project()を使用してください。
vectorprojectz (obj projectfrom, num fromx, num fromy, num fromz, obj projectonto)
廃止、Vec3.project()を使用すること
説明
このコマンドは廃止されました。代わりにVec3.project()を使用してください。
xcenter (obj object)
廃止、Object.getLocation()を使用すること
説明
このコマンドは廃止されました。Object.getLocation()を使用してください。

コンテナ内にあるオブジェクトの回転中心のx位置を取得します。
xloc (obj object)
廃止、Object.locationまたはObject.getLocation()を使用すること
説明
このコマンドは廃止されました。Object.locationまたはObject.getLocation()を使用してください。

オブジェクトのx位置を取得します。
xrot (obj object)
廃止、Object.rotationまたはObject.setRotation()を使用すること
説明
このコマンドは廃止されました。代わりにObject.rotationまたはObject.setRotation()を使用してください。

オブジェクトのx回転(x軸周囲の回転)を取得します。
xsize (obj object)
廃止、Object.sizeを使用すること
説明
このコマンドは廃止されました。代わりにObject.sizeを使用してください。

オブジェクトのxサイズを取得します。
ycenter (obj object)
廃止、Object.getLocation()を使用すること
説明
このコマンドは廃止されました。代わりにObject.getLocation()を使用してください。

コンテナ内にあるオブジェクトの回転中心のy位置を取得します。
yloc (obj object)
廃止、Object.locationまたはObject.getLocation()を使用すること
説明
このコマンドは廃止されました。代わりにObject.locationまたはObject.getLocation()を使用してください。

オブジェクトのy位置を取得します。
yrot (obj object)
廃止、Object.rotationを使用すること
説明
このコマンドは廃止されました。代わりにObject.rotationを使用してください。

オブジェクトのy回転(y軸周囲の回転)を取得します。
ysize (obj object)
廃止、Object.sizeを使用すること
説明
このコマンドは廃止されました。代わりにObject.sizeを使用してください。

オブジェクトのyサイズを取得します。
zcenter (obj object)
廃止、Object.getLocation()を使用すること
説明
このコマンドは廃止されました。代わりにObject.getLocation()を使用してください。

コンテナ内にあるオブジェクトの回転中心のz位置を取得します。
zloc (obj object)
廃止、Object.locationまたはObject.getLocation()を使用すること
説明
このコマンドは廃止されました。代わりにObject.locationまたはObject.getLocation()を使用してください。

オブジェクトのz位置を取得します。
zrot (obj object)
廃止、Object.rotationを使用すること
説明
このコマンドは廃止されました。代わりにObject.rotationを使用してください。

オブジェクトのz回転(z軸周囲の回転)を取得します。
zsize (obj object)
廃止、Object.sizeを使用すること
説明
このコマンドは廃止されました。代わりにObject.sizeを使用してください。

オブジェクトのzサイズを取得します。

開発

高レベルの開発コマンドで、一般にエンドユーザー向けではありません。
addcommand (obj codenode, str commandname, str description, str parameters, str example [, str cppprefix, str shortdescription])
説明
開発者向けです。現在利用可能なコマンドのリストにFlexscriptコマンドを追加します。新しいコマンドは、次にコンパイルを行うときまで利用可能です。エンドユーザーが独自のコマンドを作成するには、[ツール]|[ユーザーコマンド]メニューを使用できます。
addcommand(...)
backupfile (str filepath)
説明
開発者向けです。指定されたファイルの名前に!を追加し、ファイルをバックアップします。ファイルのコピーは行われないことに注意してください。ファイルを上書きする前に使用します。
backupfile(modeldir() + "mydocument.htm");
buildall ()
説明
開発者向けです。このコマンドは、Flexscriptノードとして割り当てられているツリー内のすべてのノードについて、Flexscriptツリーを構築します。Flexscriptノードを実行する前に、Flexscriptツリーを作成する必要があります。このオプションは、メインメニューの[構築]->[すべてのFlexScriptを構築]で使用できます。モデルのどこかにFlexscriptが記述されている場合、そのモデルを実行する前にこの操作を行う必要があります。また、GUIに変更を加えた後もこの操作を行います。
buildall();

ツリー内のすべてのFlexscriptノードにFlexscriptツリーを構築します。
buildnodeflexscript (node codenode)
説明
開発者向けです。このコマンドは、ノードとして指定されたノードがFlexscriptノードとして割り当てられているなら、そのノード用のFlexscriptツリーを構築します。Flexscriptノードを実行する前に、Flexscriptツリーを作成する必要があります。
buildnodeflexscript(Table("mytable").cell(1,2));

「mytable」という名前のGlobalTableの行1、列2にあるノードがFlexscriptノードなら、そのノード用のFlexscriptツリーを構築します。
changedisplay (num width, num height, num depth, num fullscreen, num test)
解像度を変更する
説明
解像度を変更します。
changedisplay(1024,768,0,0,0)
cleannodeflexscript (node startnode)
説明
開発者向けです。このコマンドは、指定されたノードから始めて、Flexscriptツリーを再帰的に削除します。
cleannodeflexscript(model());

モデル内のすべてのFlexscriptノードを削除します。
cmdcompile ()
説明
開発者向けです。

プロジェクトをコンパイルします。
cmdcompile()
cmddelete (node thenode)
説明
開発者向けです。destroyobject()を使用してください。

thenodeを削除します。
cmddelete(model().subnodes[4]))
cmdexit ()
説明
開発者向けです。

FlexSimを閉じます。
cmdexit()
cmdloadbyextension (str filename, num silent)
説明
開発者向けです。

名前と拡張子により指定されるファイルをロードします。次のファイルが認識されます:プロジェクト(fsp)、セッション(fss)、モデル(fsm)、ビューレイアウト(fsv)。silentが0なら、ユーザーは開くファイルが正しいことを確認するよう求められます。
cmdloadbyextension("c:/mysession.fss",0)
cmdloadsession (str filename)
説明
開発者向けです。

名前で指定されたセッションをロードします。
cmdloadsession("c:/mysession.fss")
cmdloadtree (obj desttree, str filename [, num nobuild])
説明
開発者向けです。

ファイルパスで指定されたツリーをdesttreeにロードします。デフォルトでは、ロード後にすべてのflexscriptが構築されます。nobuildが1なら、flexscriptは構築されません。flexscriptとして切り替えられるスクリプトノードからこのコマンドを実行する場合、nobuildに1を設定します。これを行わない場合、スクリプトは正常に終了しません。
cmdloadtree(node("MAIN:/project/model/2"),"c:/mytree.t"))
cmdnew ()
説明
開発者向けです。

新しいモデルを開始します。このコマンドは、モデルのすべてのオブジェクトを削除し、モデルの内容をクリアします。
cmdnew()
cmdopen ()
説明
開発者向けです。

新しいモデルを開きます。このコマンドにより[モデルを開く]ダイアログボックスが表示され、開くモデルファイルを選択できます。
cmdopen()
cmdsaveas ()
説明
開発者向けです。

モデルを保存します。このコマンドにより[名前を付けてモデルを保存]ダイアログボックスが表示され、保存するモデルのファイル名を指定できます。
cmdsaveas()
cmdsavesession (str filename)
説明
開発者向けです。

名前を指定してセッションを保存します。
cmdsavesession("c:/mysession.fss")
cmdsavetree (obj tree, str filename)
名前を指定してツリーを保存する
説明
名前を指定してツリーを保存します。
cmdsavetree(node("MAIN:/project/library/1"),"c:\\mytree.t"))
consoleexecutefs (HWND input, HWND output)
説明
開発者向けです。

コンソールコードをFlexscriptとして実行します。
copyattributes (obj destination, obj source, num mask)
説明
開発者向けです。オブジェクトから別のオブジェクトに属性をコピーします。maskパラメータを使用して、特定のグループを有効にできます(最下位ビットから)。
ATTCOPY_ALL
ATTCOPY_SPATIAL
ATTCOPY_OFFSETS
ATTCOPY_VISUAL
ATTCOPY_MEDIA ATTCOPY_LABELS
ATTCOPY_VARIABLES
ATTCOPY_DESCRIPTIVE
ATTCOPY_TABLES

ORオペレーター(|)を使用すると、これらの値をmaskパラメータの1つの値として組み合わせできます。
copyattributes(library().subnodes[1],model().subnodes[1],ATTCOPY_SPATIAL | ATTCOPY_VISUAL)
copycolor (obj highlightedobj)
説明
開発者向けです。強調表示されたオブジェクトの色を、選択したオブジェクトすべてにコピーします。
copycolor(current)
copylabel (obj highlightedobject, str/obj labelnamenode)
説明
開発者向けです。パラメータ2で指定された名前、またはパラメータ2のノードの文字列データに保存されている名前のラベルを、パラメータ1のオブジェクトから、モデルで選択されたすべてのオブジェクトにコピーします。
copylabel(selectedobject(ownerview(c)), c.find(">labelname"))
copylabels (obj highlightedobj[, num mode])
説明
開発者向けです。パラメータ1のオブジェクトから、すべてのラベルを、モデルで選択されているすべてのオブジェクトにコピーします。デフォルトでは既存のラベルがすべてクリアされ、パラメータ1のオブジェクトのラベルで置き換えられます。modeが1なら、既存のラベルと同じ名前のラベルがコピーされた場合、既存のラベルが上書きされますが、それ以外の場合は変更されません。modeが2なら、選択されたオブジェクトに存在しないラベルのみがコピーされます。
copylabels(selectedobject(ownerview(c)), c.find(">labelname"))
copyvariable (obj fromobject, obj variablenamenode)
説明
開発者向けです。パラメータ2で指定されたノードに保持されている名前の変数を、パラメータ1のオブジェクトから、モデルで選択されているすべてのオブジェクトにコピーします。
copyvariable(selectedobject(ownerview(c)), c.find(">variablename"))
copyvariables (obj fromobject)
説明
開発者向けです。パラメータ1のオブジェクトから、すべての変数を、モデルで選択されているすべてのオブジェクトにコピーします。
copyvariables(selectedobject(ownerview(c)))
copyvisuals (obj highlightedobj [, num copyshapefactorsalso])
説明
開発者向けです。パラメータ1のオブジェクトから、すべてのビジュアルを、モデルで選択されているすべてのオブジェクトにコピーします。
copyvisuals(selectedobject(ownerview(c)),1)
daemonstate (num thing)
説明
開発者向けです。

次の状態を返します。
1 - クロック
2 - フライスルー
3 - ティッカー
daemonstate(1)
documentusercommands ()
説明
開発者向けです。現在のモデルのコマンドドキュメントにアクセスし、ユーザーコマンドがコマンドのドキュメントに含まれるよう、usercommands.xmlという名前のファイルを更新します。
documentusercommands();
excelupdatepreferences ()
システム使用のみ
説明
システム使用のみ - ユーザー設定と一致するよう、グローバル変数を更新します。startupRT.txt、およびExcelユーザー設定GUIのOnSelectで呼び出されます。
excelupdatepreferences()
fgldebuglevel (num level [0-3])
説明
開発者向けです。OpenGLのデバッグレベルを設定します。数値が大きいほどシステムが精密に調査され、多くの報告が行われます。0は調査なし、3は最大の精査です。
fgldebuglevel(3)
fileisreadonly (str filename)
説明
開発者向けです(Dynamo)。指定されたファイルのPROPERTY_COMMENTSから、「READONLY」という文字列を探します。
fileisreadonly(pdir() + "\\flexsim.exe")
fillwithatts (obj object, num attgroup)
説明
開発者向けです。属性グループからの属性をobjectに入力します。
fillwithatts(so(),1)
fscheckall (node startingnode)
説明
開発者向けです。このコマンドは、指定されたstartingnodeより下(それ自体も含む)にあるすべてのflexscriptノードのエラーをチェックし、最低1つのエラーが見つかればコンパイラーコンソールに結果を出力します。
fscheckall(main());
function_n (obj object, num index [, num param_a,...])
説明
開発者向けです。指定されたイベントコードを持つオブジェクトのeventfunctionsグループにあるノードと関連付けられているコードを実行します。イベントコードはeventfunctionsグループのノードのランクではなく、次に示す定義済みFlexSimイベントのいずれかに対応します:

OnReset 1
OnMessage 2
OnEvent 3
OnDraw 4
OnInopen 5
OnOutopen 6
OnReceive 7
OnSend 8
OnEntering 9
OnExiting 10
OnCompile 11
OnCreate 12
OnDestroy 13
OnLoad 14
OnCollision 15
OnClick 16
OnRunend 17
OnRunstart 18
OnInterrupted 19
OnCaptured 20
OnListen 21
OnPredraw 22
OnDrawplanar 23
OnPredrawplanar 24
OnPreListen 25
function_n(current,1,1,2,3)

currentオブジェクトに定義されているOnResetイベント関数を実行します。
function_s (obj object, str name [, num param_a,...])
説明
開発者向けです。指定された名前を持つオブジェクトのeventfunctionsグループにあるノードと関連付けられているコードを実行します。FlexSimで定義済みのシステムレベルイベントのリストについては、function_n()コマンドのドキュメントを参照してください。
function_s(current,"OnReset",1,2,3)

currentオブジェクトに定義されているOnResetイベント関数を実行します。
getapplicationtitle ()
説明
開発者向けです。現在のアプリケーションのタイトルを文字列として返します。
msg(getapplicationtitle(),"Hello world.");
getnextparametersobject (obj startobject, str guifocus, num doguifocusclass, num searchforward)
説明
開発者向けです。パラメータウィンドウで、[次へ]ボタンが押されたとき、次のオブジェクトにアクセスするため使用されます。
ビューツリーのオブジェクトパラメータプロパティのウィンドウを参照します。
getproperty (str filename, num property)
説明
開発者向けです。指定されたファイルの、指定されたプロパティの値を取得します。
getproperty(modeldir() + "MyModel.fsm",1);
gettreedrawposition (node destnode, node roottree)
説明
開発者向けです。
groupconnectfrom (obj object, str character)
説明
開発者向けです。param(1)で渡されたオブジェクトを、param(2)で渡された文字を使用して、モデル内で選択されているすべてのオブジェクトと接続します。
一般にGUIで使用されます。
groupconnectfrom(selectedobject(ownerview(c)),"A");
groupconnectto (obj object, str character)
説明
開発者向けです。モデル内で選択されているすべてのオブジェクトを、param(2)で渡された文字を使用して、param(1)で渡されたオブジェクトと接続します。
一般にGUIで使用されます。
groupconnectto(selectedobject(ownerview(c)),"A");
groupcopyconnections (obj object)
説明
開発者向けです。param(1)で渡されたオブジェクトの接続を、モデル内で選択されているすべてのオブジェクトにコピーします。
一般にGUIで使用されます。
groupcopyconnections(selectedobject(ownerview(c)));
help ()
説明
開発者向けです。ヘルプシステムのウィンドウを表示します。
help()
howmanyattributes ()
説明
開発者向けです。属性の数を返します。
howmanyattributes()
howmanycommands ()
説明
開発者向けです。コマンドの数を返します。
howmanycommands()
license ()
現在のライセンスタイプを取得する
説明
現在のライセンスタイプを取得します。
licenseactivation (num operation[, str buffer, var p1, node callback])
説明
開発者向けです。各種のライセンス操作を行います。
licenseactivation(LA_SET_ACTIVATION_SERVER_PARAMS,"@localhost",0);
maintenance (num command[, num state, str strparam])
説明
開発者向けです。保守スイッチを設定します。

最初のパラメータはオペレーションを割り当てます。2番目のパラメータは、設定する状態を割り当てます。

保守スイッチには次のものがあります。
0. このリストを出力する
1. デッドリンク
2. 属性のバインド方法(0=名前、1=インデックス、2=ブートストラップ)
3. numberprecision
4. バインディングレポートの表示
5. usercollisions
6. post-onsend
7. loadsavemode
8. disablefscheck
9. disablefspreprocess
10. splinetension
11. streamalizer
12. 拡張ドキュメントをただちにロード
13. 実験終了時にレポートを保存
14. オブジェクトライブラリのコンパイルを抑制
15. グローバルコンパイルを抑制
16. ランタイム情報の設定
17. ランタイム情報の取得
18. c++関数のバインド
19. c++関数の自動再バインドのオン/オフ
20. プレゼンテーションモードの取得
21. メインメニューの更新
22. optquestが有効か
23. flypathsの単位(秒)
24. chachedポートのオン/オフ
25. リセット時バインドのオン/オフ
26. カテゴリ名の設定(ユーザーコマンドグループは22、他のものは23、24以降は利用可能)
27. オブジェクトのsizermode 0、デフォルトは1。3軸
28. 非表示ノードをツリーに表示
29. 3dカーソルの非表示
30. simclock再描画の抑制
31. パーサー2の使用
32. グリッド描画の設定:ビット単位フィールド:0x1-グリッドを自動展開、0x2-グリッドの軸を表示、0x4-グリッドの原点を表示
1000. DDE
maintenance(0)
modeleditmode (num/str mode)
説明
開発者向けです。現在のモデル編集モードを設定します。現在のモードは-1で照会できます。
modeleditmode("AConnect");
optquest (num command[, num action, num/str p1, num/str p2, num p3, num p4, num p5, num p6])
説明
開発者向けです。この単一のコマンドは、OptQuest DLLに定義されているすべての関数を呼び出します。
optquest(...)
postclosewindowmessage (obj view)
ウィンドウを閉じるWindowsメッセージをポストする
説明
ウィンドウを閉じるメッセージをWindowsメッセージキューにポストします。これにより、ウィンドウが実際に閉じる前にスクリプトコードを完了できます。
postclosewindowmessage(ownerview(c));
postmovewindowupdate (obj view)
説明
開発者向けです。使用してはいけません。
postwindowmessage (HWND window, num msg[, num/str/node wParam, num/str/node lParam])
説明
開発者向けです。メッセージをウィンドウにポストし、Windows APIのPostMessage()コマンドに直接アクセスします。ウィンドウハンドルにアクセスするには、windowfromnode()またはgetviewhwnd()を使用してください。詳細については、Windows APIのドキュメントを参照してください。[out]パラメータとしてlParamまたはwParamを使用するメッセージ、または構造体へのポインターを渡すメッセージは使用できないことに注意してください。lParamまたはwParamに文字列を渡すことが可能ですが、これらを[out]パラメータには使用できません。FlexSimのflexscriptマクロには、可能なすべてのWM_メッセージが含まれているわけではないため、flexscriptでこれらのメッセージを使用するには、Windowsのヘッダーファイルでその定義を見つけ、flexscriptコードに定義を追加する必要があります。
postwindowmessage(windowfromnode(view), WM_COPY, 0,0);
rebindobjectattributes (node thenode)
オブジェクトの属性を再バインドする
説明
与えられたノードのオブジェクト属性を再バインドします。オブジェクトの属性を削除または追加するとき、オブジェクトの属性キャッシュはその変更をすぐには反映しないため、rebindobjectattributesを呼び出してオブジェクトの属性キャッシュを更新できます。これは、オブジェクトを右クリックして[編集]|[オブジェクトの属性を再バインドする]を選択するのと同じです。
rebindobjectattributes(c)
recover (num phase)
復旧ファイルをロードする
説明
復旧ファイルをロードします。フェーズは1または2です。
recover(1)
refreshcommandlist ()
説明
開発者向けです。コマンドリストを更新します。
refreshcommandlist()
refreshglobalvariables ()
説明
開発者向けです。すべてのグローバル変数を初期値に更新します。
refreshglobalvariables()
refreshmodelcommands ()
説明
システムコマンド。使用してはいけません。
runexpertfit ()
説明
開発者向けです。ライセンスが存在すれば、エキスパートフィットプログラムを自動的に開始します。
runexpertfit()
sendwindowmessage (HWND window, num msg[, num/str/node wParam, num/str/node lParam])
説明
開発者向けです。Windows APIのSendMessage() コマンドに直接アクセスし、メッセージをウィンドウに送信します。ウィンドウハンドルにアクセスするには、windowfromnode()またはgetviewhwnd()を使用してください。詳細については、Windows APIのドキュメントを参照してください。[out]パラメータとしてlParamまたはwParamを使用するメッセージ、または構造体へのポインターを渡すメッセージは使用できないことに注意してください。lParamまたはwParamに文字列を渡すことが可能ですが、これらを[out]パラメータには使用できません。FlexSimのflexscriptマクロには、可能なすべてのWM_メッセージが含まれているわけではないため、flexscriptでこれらのメッセージを使用するには、Windowsのヘッダーファイルでその定義を見つけ、flexscriptコードに定義を追加する必要があります。
sendwindowmessage(windowfromnode(view), WM_COPY, 0,0);
setapplicationtitle (str title)
説明
開発者向けです。現在のアプリケーションのタイトルを設定します。
setapplicationtitle("Custom Application Title");
setmessageloopsleep (num interval, num sleeptime)
説明
開発者向けです。メッセージループの各サイクルについてスリープ時間を設定し、cpu負荷を減らします。この値が大きいとFlexSimがユーザー入力に応答しなくなる可能性があるため、使用には注意してください。intervalで指定されたミリ秒ごとに、FlexSimはsleeptimeで指定されたミリ秒だけ一時停止します。このコマンドは、過剰なcpu使用によって過熱する傾向がある、一部のラップトップで役立つことがあります。
setmessageloopsleep(1)
setproperty (str filename, num property, str newvalue)
説明
開発者向けです。指定されたファイルの、指定されたプロパティの値をnewvalueに設定します。
setproperty(modeldir() + "MyModel.fsm",1,"Custom Title");
setticker (node thenode[, num tickspersecond])
説明
開発者向けです。ティッカースクリプトノードを設定します。tickspersecondが指定された場合、コードは1秒ごとにその回数だけ実行されます。指定されない場合、ノードに関連付けられているコードはWindowsのイベントループの繰り返しごとに実行されます。ノードはFlexScriptまたはC++で切り替える必要があります。ティッカーノードの実行に関連してモデルイベントが作成されることはありません。ティッカー実行をオフにするには、setticker(0)を使用します。
setticker(so())
statsenablemask (num mask)
説明
開発者向けです。統計収集の要素を有効または無効にします。32ビットのイネーブルマスクとして、フラグの合計を設定します。ビット:0 = 状態、1 = フロー、2 = ポート内部。
statsenablemask(add(1,2))
stick (num stickno, num command [, HWND/num win, var/num p])
説明
開発者向けです。このコマンドは、ジョイスティックやコントローラーの状態を照会するか、機能を設定します。

sticknoは、照会するジョイスティックやゲームパッドのidを定義します。0から32までの数値です。通常は、コンピュータに接続されているジョイスティックは1つだけなので、sticknoの値には1を使用します。ゲームパッドを使用する場合、sticknoに2を使用することが必要な場合もあります。Xboxコントローラーの場合、sticknoの値は0から3までです。VRコントローラーの場合、sticknoは0または1です。Oculusタッチコントローラーの場合、sticknoの0は左手、1は右手です。sticknoに-1を使用すると、接続されているVRヘッドセットのステータス、位置、回転を取得できます。

commandは、このコマンドで実行する動作を定義します。次のマクロのいずれかを使用します。

STICK_JOY_STATUS - ジョイスティックの接続性を照会します。ジョイスティックが正しく接続されていれば、このコマンドは0を返します。戻り値が0以外の場合、ジョイスティックの接続性に何らかのエラーがあり、どのようなエラーなのかをシステムコンソールで確認できます。次のエラーが発生する可能性があります。
    MMSYSERR_NODRIVER - ジョイスティックのドライバーが存在しません。
    MMSYSERR_INVALPARAM - ジョイスティックのIDが無効か、hwndがNULLです。
    JOYERR_NOCANDO - 必要なサービス(Windowsタイマーなど)が使用できないため、ジョイスティックの入力をキャプチャーできません。
    JOYERR_UNPLUGGED - 指定されたジョイスティックはシステムに接続されていません。
    JOYERR_PARMS - ジョイスティックのIDが無効か、hwndがNULLです。

STICK_JOY_XPOS - ジョイスティックの現在のX座標。0から65535までの数値です。0はジョイスティックが左へいっぱいまで押されていることを、65535は右へいっぱいまで押されていることを、32768は正確に中央の位置にあることを示します。ゲームパッドを使用している場合、左側のジョイスティックのx位置です。

STICK_JOY_YPOS - ジョイスティックの現在のY座標。この値も、0から65535までの数値です。0は上方向、65535は下方向を意味します。ゲームパッドを使用している場合、ゲームパッドの左側にあるジョイスティックの位置です。

STICK_JOY_ZPOS - ジョイスティックの現在のZ座標。ジョイスティックを使用している場合、これは通常、ジョイスティックのスロットルの現在の設定です。この値も、0から65535までの数値です。ゲームパッドを使用している場合、右側のジョイスティックのy位置を表します。

STICK_JOY_BUTTONS - ジョイスティックの32のボタンの現在の状態。ビット単位の整数で、各ビットは与えられたボタンの現在の状態を表します。ジョイスティックの場合、メインのトリガーボタンは通常0x00000001ビット、スティックの他のボタンは0x00000002および0x00000004、ジョイスティックのベースにあるボタンはより上位のビットで表されます。ジョイスティックごとに多少異なるので、自分でテストすることが必要です。

STICK_JOY_SET_CAPTURE - このコマンドは、ジョイスティックのキャプチャーを、指定したFlexSimウィンドウに設定します。このコマンドにはwinとpのパラメータを渡す必要があります。このコマンドを実行すると、ビューのOnStick属性にジョイスティックのメッセージが送信されます。たとえば、正投影ビューでジョイスティックのイベントをリッスンする場合、このコマンドを呼び出し、正投影ビューのHWNDハンドル(windowfromnode()を使用します)とポーリング期間を渡します。この期間は、OnStickイベントを繰り返し呼び出す時間間隔をミリ秒単位で指定します。pが0なら、ジョイスティックの状態が変化したときのみOnStickイベントが呼び出されます。pが0より大きい場合、サンプル時間間隔の終わりごとにOnStickイベントが呼び出されます。例:stick(1,5, windowfromnode(sv()), 200); は、200ミリ秒ごとにOnStickイベントが呼び出されるように設定します。このコマンドが動作するには、ビューにOnStick属性を追加する必要があります(ビューに属性を追加した後で、右クリック -> [編集]|[オブジェクトの属性を再バインドする]を使用して再バインドが必要な場合もあります)。

STICK_JOY_RELEASE_CAPTURE - このコマンドは、以前に5コマンドでキャプチャーしたウィンドウから、ジョイスティックのキャプチャーをリリースします。コマンド5と同様にwinパラメータを渡す必要があります。

STICK_JOY_RPOS - ジョイスティックのラダーまたは4番目の軸の現在の位置。ジョイスティックがz軸の周囲で回転できる場合、これは通常はジョイスティックの回転を示します。この値も、0から65535までの数値です。ゲームパッドを使用している場合、右側のジョイスティックのx位置です。

STICK_JOY_UPOS - ジョイスティックの5番目の軸の現在の位置。

STICK_JOY_VPOS - ジョイスティックの6番目の軸の現在の位置。

STICK_JOY_POV - ジョイスティックの視点コントロールの現在の位置。この値は0から35900までの数値で、度を100倍した数値を表します。ゲームパッドの場合、ゲームパッドの左側にある方向パッドを表します。上は0、右は9000、下は18000、左は27000です。方向パッドが押されていない場合、値は65535です。ジョイスティックを使用している場合、スティック自体に方向性サムコントローラがあり、上下左右に押せることがあります。このコマンドは、そのコントローラーの設定を取得します。

STICK_JOY_CURRENT_BUTTON - 現在押されているボタンの番号。

STICK_JOY_FLAGS - ジョイスティックについて有効な情報が返されていることを示すフラグ。

STICK_XBOX_STATUS - Xboxコントローラーの接続性を照会します。コントローラーが正しく接続されていれば、0を返します。

STICK_XBOX_BUTTONS - デバイスのデジタルボタンを示すビットマスク。セットされているビットは、対応するボタンが押されていることを意味します。

STICK_XBOX_LEFT_THUMB_X - 左側にあるサムスティックのx軸の値。サムスティックのそれぞれの軸メンバーは、-32768から32767までの符号付き数値で、サムスティックの位置を示します。値0は中央を示します。負の値は下または左を示します。正の値は上または右を示します。

STICK_XBOX_LEFT_THUMB_Y - 左側のサムスティックのy軸の値。値は-32768から32767までです。

STICK_XBOX_RIGHT_THUMB_X - 右側のサムスティックのx軸の値。値は-32768から32767までです。

STICK_XBOX_RIGHT_THUMB_Y - 右側のサムスティックのy軸の値。値は-32768から32767までです。

STICK_XBOX_LEFT_TRIGGER - 左側のトリガーアナログコントロールの現在の値。値は0から255までです。

STICK_XBOX_RIGHT_TRIGGER - 右側のトリガーアナログコントロールの現在の値。値は0から255までです。

STICK_VR_STATUS - Oculus Riftコントローラーがアクティブなら1を返します。HTC Viveコントローラーがアクティブなら2を返します。コントローラーが非アクティブなら0を返します。コントローラーがアタッチされていなければ、nullvarを返します。

STICK_VR_THUMB_X - サムスティックまたはトラックパッドのx軸の値で、-1から1までです。

STICK_VR_THUMB_Y - サムスティックまたはトラックパッドのy軸の値で、-1から1までです。

STICK_VR_INDEX_TRIGGER - インデックストリガーの値で、0から1までです。

STICK_VR_GRIP_TRIGGER - グリップトリガーの値で、0から1までです。HTC Viveでは、グリップボタンが押されています。

STICK_VR_BUTTON_1 - 最初のボタンが押されています。Oculus RiftではAまたはXです。HTC Viveでは使用されません。

STICK_VR_BUTTON_2 - 2番目のボタンが押されています。Oculus RiftではBまたはYです。HTC Viveでは使用されません。

STICK_VR_BUTTON_3 - 3番目のボタンが押されています。Oculus RiftではEnterまたはHomeです。HTC ViveではMenuです。

STICK_VR_BUTTON_4 - 4番目のボタンが押されています。Oculus Riftではサムスティックです。HTC Viveではトラックパッドです。

STICK_VR_TOUCH_BUTTON_1 - 最初のボタンがタッチされています。HTC Viveでは使用されません。

STICK_VR_TOUCH_BUTTON_2 - 2番目のボタンがタッチされています。HTC Viveでは使用されません。

STICK_VR_TOUCH_BUTTON_3 - 3番目のボタンがタッチされています。Oculus Riftでは使用されません。

STICK_VR_TOUCH_BUTTON_4 - 4番目のボタンがタッチされています。

STICK_VR_TOUCH_THUMB_REST - Oculus Riftのサムレストセンサーがタッチされています。HTC Viveでは使用されません。

STICK_VR_TOUCH_INDEX_TRIGGER - インデックストリガーセンサーがタッチされています。

STICK_VR_TOUCH_POINTING - Oculus Riftでハンドジェスチャがポイントされています。HTC Viveでは使用されません。

STICK_VR_TOUCH_THUMB_UP - Oculus Riftでハンドジェスチャがサムズアップされています。HTC Viveでは使用されません。

STICK_VR_HAND_POSITION - VR空間でのコントローラーの位置。

STICK_VR_HAND_ROTATION - VR回転座標でのコントローラーの回転。

STICK_VR_HAND_WORLD_POSITION - FlexSimのワールド空間でのコントローラーの位置。

STICK_VR_HAND_WORLD_ROTATION - FlexSim回転座標でのコントローラーの回転。

STICK_VR_HAND_OFFSET_POSITION - FlexSimのワールド空間でのコントローラーの位置ですが、コントローラーの回転に基づいてオフセットが適用されます。pパラメータには、オフセットベクトルとして配列を渡します。このオプションを使用して、コントローラーに対する相対ポイント、たとえば指の位置や、コントローラーのポイント先を取得できます。

STICK_VR_TARGET_FLOOR_POSITION - 床の上でコントローラーがポイントしている先の位置。pパラメータの値には、コントローラーからの最大距離を渡します。

STICK_VR_SET_VIBRATION - コントローラーを振動させます。Oculus Riftでは、pパラメータに配列を渡します。最初の要素は0から1までの値で、周波数を表します。2番目の要素は0から1までの値で、振幅を表します。HTC Viveでは、期間をミリ秒単位でpパラメータとして渡します。

STICK_VR_SUBMIT_VIBRATION - コントローラーを微振動させます。最初のOculus Touchコントローラーでは、pパラメータに振幅(0~255)の配列を渡し、この値がキューに入れられて実行されます。HTC ViveやOculus Rift Sコントローラーでは使用されません。
stick(1, STICK_JOY_YPOS); ジョイスティックid 1のy位置を取得します。
suspenddraw (num bitmask)
説明
開発者向けです。ビットマスク。ウィンドウタイプの描画を無効にします。ビット:0 - TREE、1 - PLANAR、2 - SPATIAL
suspenddraw(1)
switch_variable (obj object, str var[, num off/on])
説明
開発者向けです。動的スイッチ変数をオブジェクトに追加および設定、またはオブジェクトから削除します。onに設定するとき、varで指定される名前のノードがオブジェクトの構造体に追加され、数値1が割り当てられます。offに設定するとき、varで指定される名前のノードが存在すれば、オブジェクトの構造体から削除されます。モデル更新のコードで使用されます。
switch_variable(so(),"arrivalmode",1);
toggleallcodestates (node startpoint, num ascpp)
startpointの下にあるすべてのコードノードを、C++またはflexscriptとして切り替える
説明
startpointから開始してツリーを走査し、すべてのコードノードをc++またはflexscriptに切り替えます。1からc++に、0ならflexscriptに切り替えます。現在のコード状態にロックされていないノードのみが変更されます。メニューオプションの[構築]|[すべてのコードをC++にする]、または[構築]|[すべてのコードをFlexScriptにする]と同じ操作です。
toggleallcodestates(model(), 1);
tracemaskevents (num mask)
説明
開発者向けです。32ビットのトレースマスクとしてMath.pow(2,N1)+Math.pow(2,N2) の合計を設定します。ここでNxは、トレースで報告するイベント番号です。[表示]|[トレースデバッガー]を参照してください。
tracemaskevents(listsum(Math.pow(2,1),Math.pow(2,2),Math.pow(2,3)))
tracemaskobject (obj object)
説明
開発者向けです。トレースデバッガーのイベント報告に含めるオブジェクトを設定します。[表示]|[トレースデバッガー]を参照してください。
tracemaskobject(Model.find("Processor3"))
tracemasktime (num start, num end)
説明
開発者向けです。トレースデバッガーでのイベント報告の開始時間と終了時間を定義します。[表示]|[トレースデバッガー]を参照してください。
tracemasktime(100,200)
uselisteners (num mask)
説明
リスニングを有効または無効にします。
uselisteners(1)

描画

平面、正投影、または透視投影ビューでのグラフィックス描画に関連するコマンドです。描画コマンドは、オブジェクトの[プロパティ]ウィンドウにある[カスタム描画コード]フィールドなど、OnDrawイベントで使用するよう設計されています。
bindtexture (num textureid)
説明
この関数は、OpenGL呼び出しシーケンスで使用されます。シーンを描画するためOpenGLコマンドが使用されるとき、このコマンドはFlexSimにロードされるテクスチャをインデックスtextureidとバインドします。バインドされたテクスチャは、以後に描画されるポリゴンをレンダリングするため使用されます。テクスチャマッピングは、画像(またはテクスチャ)から、ポリゴンや他のグラフィックスプリミティブの表面への適用(またはマッピング)です。
bindtexture(10)

以後のポリゴンをレンダリングするため、インデックス番号10のロード済みテクスチャを使用します。
draw3dtext (str text[, num asBitmap])
3dビューにテキストを描画する
説明
このコマンドはdrawtext()と似ていますが、3Dビューでのみ使用でき、テキストのレンダリングプロシージャに直接アクセスできるようパラメータセットが削られています。drawtext()では現在のオブジェクトや、一部のOpenGL状態の変化に基づいて多少の自動スケーリングが行われるのに対して、draw3dtext()はテキスト描画プロシージャを直接呼び出すため、位置設定、スケーリング、色設定などはすべて、glTranslated()、glScaled()、glColor3d()などのOpenGLコマンドで行います。
draw3dtext(current.name);
drawbox (num x, num y, num z, num sx, num sy, num sz, num glbegin)
単純なボックスを描画する
説明
単純なボックスを描画します。glbeginが1なら、描画前にglBeginを呼び出します。このコマンドは、OpenGLタイプの立方体を描画するための早い方法で、ライティング、色、テクスチャをdrawcube()コマンドより細かく指定できます。
drawbox(5,0,0, 2,1,3, 1);
drawcolumn (num x, num y, num z, num totalsides, num baseradius, num topradius, num height, num rx, num ry, num rz, num red {0-255}, num green {0-255}, num blue {0-255} [, num opacity {0-1}, num textureindex, num textureXrepeat, num textureYrepeat])
3Dの列を描画する
説明
複数の辺と高さを持つ、正方形、五角形、ピラミッドなど任意の形状を描画できる非常に多用途なコマンドで、円筒(辺の総数が多い場合)も描画できます。

x、y、zの位置を原点(基部の中央)として、列を描画します。この列は、辺の数、下端の半径、上端の半径、高さで定義されます。列はrx、ry、rzにより各軸の周囲で度単位に回転できます。色は赤、緑、青の色コンポーネント(0~255)で定義されます。

オプションのopacityパラメータにより、列は透明(0)から不透明(1)まで変化します。有効なtextureindex番号が入力された場合、関連付けられている画像が列の各面に沿ってtextureXrepeatおよびtextureYrepeat回だけ繰り返されます。

列の位置、サイズ、回転はデフォルトで、描画の基礎となるオブジェクトに相対です。角括弧[]内に示されているパラメータは、すべて使用するか、どれも使用しないか、どちらかにする必要があります。textureindexは、gettextureindex()コマンドか、[ツール]|[メディアファイル]メニューを使用して得られる数値です。
drawcolumn(0,0,0, 5 ,4,2, 6 ,0,0,0, 175,175,175, .6, 3, 5,1);
drawcube (num x, num y, num z, num sx, num sy, num sz, num rx, num ry, num rz, num red {0-255}, num green {0-255}, num blue {0-255} [, num opacity {0-1}, num textureindex, num textureXrepeat, num textureYrepeat])
3D立方体を描画する
説明
x、y、zの位置を原点(左下コーナー)として、立方体を描画します。長さ、幅、高さはそれぞれsx、sy、szで定義されます。rx、ry、rzを使用して、それぞれx、y、z軸の周囲に度単位で回転できます。色は赤、緑、青の色コンポーネント(0~255)で定義されます。

オプションのopacityパラメータにより、立方体は透明(0)から不透明(1)まで変化します。有効なtextureindex番号が入力された場合、関連付けられている画像が立方体の各面に沿ってtextureXrepeatおよびtextureYrepeat回だけ繰り返されます。

立方体の位置、サイズ、回転はデフォルトで、描画の基礎となるオブジェクトに相対です。角括弧[]内に示されているオプションパラメータは、すべて使用するか、どれも使用しないか、どちらかにする必要があります。textureindexは、gettextureindex()コマンドか[ツール]|[メディアファイル]メニューを使用して得られる数値です。
drawcube(0,0,0, 5,3,2, 0,0,0, 175,175,175, .6, 3, 1,1);
drawcylinder (num x, num y, num z, num baseradius, num topradius, num height, num rx, num ry, num rz, num red {0-255}, num green {0-255}, num blue {0-255} [, num opacity {0-1}, num textureindex])
3Dの円柱を描画する
説明
このコマンドは、x、y、zの位置を原点(基部の中央)として、中空の円柱を描画します。円柱の寸法は、基部の半径、上端の半径、高さで定義されます。円筒の先端を飾るには、drawdisk()コマンドを使用します。円柱は、rx、ry、rzを使用して、それぞれx、y、z軸の周囲に度単位で回転できます。色は赤、緑、青の色コンポーネント(0~255)で定義されます。

オプションのopacityパラメータにより、円柱は透明(0)から不透明(1)まで変化します。有効なtextureindexの数値が入力された場合、関連付けられている画像が円柱の外周に沿ったテクスチャとして使用されます。

円柱の位置、サイズ、回転はデフォルトで、描画の基礎となるオブジェクトに相対です。角括弧[]内に示されているオプションパラメータは、すべて使用するか、どれも使用しないか、どちらかにする必要があります。textureindexは、gettextureindex()コマンドか、[ツール]|[メディアファイル]メニューを使用して得られる数値です。
drawcylinder(0,0,0, 1,1, 5, 0,0,0, 175,175,175, .6,3);
drawdisk (num x, num y, num z, num innerradius, num outerradius, num startangle, num sweepangle, num rx, num ry, num rz, num red {0-255}, num green {0-255}, num blue {0-255} [, num opacity {0-1}, num textureindex])
3Dの円盤を描画する
説明
x、y、zの位置を原点(半径の中央)として、平坦な円盤を描画します。円盤の寸法は内側の半径、外側の半径、開始角度、掃引角度で定義されます。掃引角度が360なら、完全な円が描画されます。innerradiusが0より大きいなら、円盤の中央に穴が開けられます。円盤は、rx、ry、rzを使用して、それぞれx、y、z軸の周囲に度単位で回転できます。色は赤、緑、青の色コンポーネント(0~255)で定義されます。

オプションのopacityパラメータにより、円盤は透明(0)から不透明(1)まで変化します。有効なtextureindexの数値が入力された場合、関連付けられている画像が円盤の表面に沿ったテクスチャとして使用されます。

円盤の位置、サイズ、回転はデフォルトで、描画の基礎となるオブジェクトに相対です。角括弧[]内に示されているオプションパラメータは、すべて使用するか、どれも使用しないか、どちらかにする必要があります。textureindexは、gettextureindex()コマンドか、[ツール]|[メディアファイル]メニューを使用して得られる数値です。
drawdisk(0,0,0, .5,2, 90,270, 0,0,0, 175,175,175, 1,3);
drawflattext (str text)
説明
このコマンドは、3Dビューでのみ使用できます。テクスチャマッピングされたテキスト文字列を描画します。下のオブジェクトの名前と統計情報を描画するのと同じ機能が使用されます。正しくスケーリングされれば、非常に鮮明で読み取りやすいテキストが描画されます。このコマンドをsetdrawnamefunction()と組み合わせて使用すると、オブジェクトの下のボックスに描画されるデータをカスタマイズできます。drawtext()とは異なり、このコマンドのパラメータセットは大幅に削られているため、テキストを描画する前に場所、サイズ、レンダリング設定をセットアップするにはglコマンド(fglTranslate()、fglScale()、fglColor()など)を使用します。
オブジェクトのカスタム描画コードトリガーに、次のコードを追加します。

if(!param(2)) {
	setdrawnamefunction(80, 15, c, param(1), 1);
} else {
	fglTranslate(-40, -15, 0);
	drawflattext("Hello World");
}
	
これにより、オブジェクトの下の表示ボックスに「Hello World」というテキストが描画されます。
drawfont (num font)
drawtext()で使用するフォントを指定する
説明
drawtextを呼び出す前に、描画するフォントを定義します。drawtextを呼び出した後で、フォントはデフォルトにリセットされます。現在使用できるフォントタイプは12(番号0から11まで)です。
drawfont(2)
drawimage (obj view, str imagepath, num x, num y, num width, num height, num scaling)
画像を描画する
説明
ビューのimagepathに画像を描画します。scalingの値は、画像をどのように配置およびスケーリングするかを指定します。
NO_SCALE(または0):画像のサイズと同じ幅と高さで、場所x、yに画像を描画します。
SCALE_DOWN:x、y、width、heightにより作成される長方形に画像を描画します。必要なら、この長方形に収まるように比率を維持して画像を縮小します。
SCALE_UP_DOWN:x、y、width、heightにより作成される長方形に画像を描画します。必要なら、この長方形に収まるように比率を維持して画像を拡大縮小します。
SCALE_INDEPENDENT:x、yの場所に、widthとheightのサイズの画像を描画します。
drawimage(c, "buttons\\visible_eye.png", 0, 10, 0, 0, 0);
drawline (obj view, num x1, num y1, num z1, num x2, num y2, num z2, num red {0-1}, num green {0-1}, num blue {0-1})
平面ラインを描画する
説明
このコマンドは、開始位置がxloc1、yloc1、zloc1で、終了位置がxloc2、yloc2、zloc2の平面ラインを描画します。色は赤、緑、青の色コンポーネント(0~1)で定義されます。
drawline(view, 0, 0, 0, 2, 2, 2, 1, 0, 0);

この例は、ポイント(0,0,0)からポイント(2,2,2)にラインを描画します。ラインの色は赤です。
drawobject (obj view, num shapeindex, num textureindex[, num animation, treenode shapedata])
3D形状を描画する
説明
指定された形状とテクスチャインデックスを使用して3dオブジェクトを描画します。
drawtomodelscale(current);
drawobject(view,getshapeindex("fs3d//texturebox.wrl"),gettextureindex("flexsim.bmp"));


描画スケールをモデルのものに設定してから、flexsim.bmpをテクスチャとして使用し、texturebox.wrl形状を描画します。
drawpie (obj view, num x, num y, num z, num x2, num y2, num z2, num startangle, num endangle, num red {0-1}, num green {0-1}, num blue {0-1})
平坦な扇形を描画する
説明
[x1,y1,z1]と[x2,y2,z2]の中点を原点(半径の中心)として、平坦な扇形を描画します。角度は正のx軸から反時計回りに、度単位で測定されます。負の角度は時計回りに測定されます。扇形は、開始角度から反時計回りに終了角度までを占めます。色は赤、緑、青の色コンポーネント(0~1)で定義されます。

drawpie(view,3,3,0,0,0,0,45,90,0.5,0,0);
drawquad (obj view, num x1, num y1, num z1, num x2, num y2, num z2, num x3, num y3, num z3, num x4, num y4, num z4, num red {0-1}, num green {0-1}, num blue {0-1})
平坦な四辺形を描画する
説明
このコマンドは、x1、y1、z1、x2、y2、z2、x3、y3、z3、x4、y4、z4により定義される頂点を持つ平坦な四辺形を描画します。色は赤、緑、青の色コンポーネント(0~1)で定義されます。結果として得られる形状と照明は、頂点が定義される順序やシーケンスによって異なります。頂点がすべて同じ平面に属する場合、drawrectangle()コマンドの使用を検討してください。
drawquad(view, 0, 0, 1, 0, 0, 0, 2, 2, 2, 4, 5, 6, 1, 0, 0);

この例は、(0,0,0)、(1,0,0)、(2,2,2)、(4,5,6)の4つのポイントで定義された頂点を持つ四辺形を描画します。四辺形の色は赤です。
drawrect (obj view, num x1, num y1, num z1, num x2, num y2, num z2, num red {0-1}, num green {0-1}, num blue {0-1})
平坦な長方形を描画する
説明
このコマンドは、x1、y1、z1およびx2、y2、z2で定義された対角のコーナーを持つ、平坦な長方形を描画します。どちらのポイントも、xy平面と平行な平面に存在する必要があります。色は赤、緑、青の色コンポーネント(0~1)で定義されます。このコマンドは、平面、3D、グラフ、パネルのビューから呼び出すことができます。drawquad()も参照してください。
drawrect(view, 0, 0, .5, 1, 1, .5, 1, 0, 0);

対角コーナー(0,0,.5)および(1,1,.5)を使用して赤色の長方形を描画します。
drawrectangle (num x, num y, num z, num length, num width, num rx, num ry, num rz, num red {0-255}, num green {0-255}, num blue {0-255} [, num opacity {0-1}, num textureindex, num textureXrepeat, num textureYrepeat])
3Dの長方形を描画する
説明
ユーザー定義の場所、長さ、幅、回転、色を使用して、平坦な長方形を描画します。x、y、z平面と並行でない長方形を描画するには、drawquad()コマンドを使用する必要があります。

オプションのopacityパラメータにより、長方形は透明(0)から不透明(1)まで変化します。有効なtextureindex番号が入力された場合、関連付けられている画像が長方形の表面にテクスチャとして、textureXrepeatおよびtextureYrepeat回だけ繰り返されます。

長方形の場所、サイズ、回転はデフォルトで、描画の基礎となるオブジェクトに相対です。角括弧[]内に示されているオプションパラメータは、すべて使用するか、どれも使用しないか、どちらかにする必要があります。textureindexは、gettextureindex()コマンドか、[ツール]|[メディアファイル]メニューを使用して得られる数値です。
drawrectangle(0,0,0, 2,3, 0,0,0, 175,175,175, .6, 1, 2,3);
drawshadow (num phase (1,2,3))
OnDraw内でシャドーボリュームを描画する
説明
OnDraw内でシャドーボリュームを描画します。
drawshadow(1);
drawsphere (num x, num y, num z, num radius, num red {0-255}, num green {0-255}, num blue {0-255} [, num opacity {0-1}, num textureindex])
3Dの球を描画する
説明
x、y、zの場所を原点(球の中央)として、中空の球を描画します。球の寸法は、単一の半径により定義されます。色は赤、緑、青の色コンポーネント(0~255)で定義されます。

オプションのopacityパラメータにより、球は透明(0)から不透明(1)まで変化します。有効なtextureindex番号が入力された場合、関連付けられている画像が球の表面にテクスチャとして貼り付けられます。

球の場所、サイズ、回転はデフォルトで、描画の基礎となるオブジェクトに相対です。角括弧[]内に示されているオプションパラメータは、すべて使用するか、どれも使用しないか、どちらかにする必要があります。textureindexは、gettextureindex()コマンドか、[ツール]|[メディアファイル]メニューを使用して得られる数値です。
drawsphere(0,0,0,5,175,175,175,1,3);
drawtext (obj view, str text, num x, num y, num z [, num width, num height, num thickness, num rx, num ry, num rz, num red {0-1}, num green {0-1}, num blue {0-1} , num opacity {0-1}, num flags])
テキストを描画する
説明
このコマンドは、x、y、zにより定義される場所にテキストを描画します。widthパラメータは使用されません。テキストの幅と高さは、heightパラメータにより決定されます。回転はrx、ry、rzにより定義されます。色は赤、緑、青の色コンポーネント(0~1)で定義されます。flagsパラメータは次のように定義できます:0x1 = 太字、0x2 = 斜体、0x4 = 下線。flagsパラメータは3d以外のビューにのみ適用されます。opacityが使用される場合、0(完全に透明)から1(不透明)までの数値です。必要なら、drawtext()の前にdrawfont()コマンドを呼び出してフォントタイプを変更できます。このコマンドは、平面、3D、グラフ、パネルのビューで使用できます。
drawtext(view, "Hello", 0,0,0, 0,.3,.1, 90,0,0, 1,0,0, .8);

この例は、場所(0,0,0)にサイズ0.3、太さ0.1、回転(90,0,0)、rgb色(1,0,0)、不透明度0.8で「Hello」と描画します。
drawtomodelscale (obj object)
モデルの現在の描画スケールを取得する
説明
以前にdrawtoobjectscale()を呼び出してモデルに設定された、現在の描画スケールを返します。これは、次のOpenGL関数と同じです。

    glScalef(1/object.location.x,1/object.location.y,1/object.location.z);
drawtomodelscale(current);
drawtoobjectscale (obj object)
以後の描画コマンドをオブジェクトのサイズに応じてスケーリングする
説明
このコマンドを使用すると、以後のすべての描画コマンドは、オブジェクトのサイズに応じてスケーリングされます。これは、次のOpenGL関数と同じです。

    glScalef(object.location.x,object.location.y,object.location.z);

デフォルトでは、最初はオブジェクトのスケールに設定されます。
drawtoobjectscale(current);
drawtriangle (obj view, num x1, num y1, num z1, num x2, num y2, num z2, num x3, num y3, num z3, num red {0-1}, num green {0-1}, num blue {0-1})
平坦な三角形を描画する
説明
このコマンドは、xloc1、yloc1、zloc1、xloc2、yloc2、zloc2、xloc3、yloc3、zloc3により定義される頂点を持つ平坦な三角形を描画します。色は赤、緑、青の色コンポーネント(0~1)で定義されます。
drawtriangle(view, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0);

この例は、(0,0,0)、(1,0,0)、(0,1,0)の3つのポイントで定義された頂点を持つ三角形を描画します。 三角形の色は赤です。
fglColor (num red {0-1}, num green {0-1}, num blue {0-1}[, num alpha {0-1}])
OpenGLでグリッドを描画する色を設定する
説明
OpenGLでグリッドを描画する色を設定します。rgbの色コンポーネントは0~1です。オプションのalphaコンポーネントは、0(透明)から1(不透明)までです。
fglDisable (num setting)
OpenGLの描画設定を無効にする
説明
OpenGLの描画設定を無効にします。描画設定のリストについては、glEnable()を参照してください。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglDisable(GL_LIGHTING);
fglEnable (num setting)
OpenGLの描画設定を有効にする
説明
OpenGLの描画設定を有効にします。FlexSimの描画エンジンは最適化のため、与えられた設定の有効/無効の状態を自動的に復元しないので、描画機能を実行した後でこのコマンドを使用し、設定をデフォルトに戻す必要があることに注意してください。設定をデフォルトに戻さないと、モデルの他のオブジェクトが正常にレンダリングされません。

OpenGLの一般的な描画設定には次のものがあります。
GL_LIGHTING
    照明をオン/オフにします。
    ポリゴンがビューアから離れても色が変わらない場合は、オンにします。
    デフォルトは有効です。
GL_CULL_FACE
    背面の除外をオン/オフにします。
    ポリゴンの両面(前面と背面)を描画する場合はオフにします。
    デフォルトは無効です。
GL_TEXTURE_2D
    テクスチャ処理をオン/オフにします。
    テクスチャが必要ない場所に表示されている場合はオフにします。
    デフォルトは有効です。

さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントでglEnable()を参照してください。
fglEnable(GL_LIGHTING);
fglinfo (num operation, obj view)
3Dビューの描画状態についての情報を取得する
説明
このコマンドを使用して、3dビューの描画状態について各種の情報にアクセスできます。実行されるロジックや、返されるデータは、動作パラメータに基づき、次のように決定されます。

FGL_INFO_SHADERTYPE - 描画パスのどの部分が実行されているか、たとえばシャドーマップのレンダリング(SHADERTYPE_RENDER_SHADOWS)、シャドーマップのぼかし処理(SHADERTYPE_BLUR)、オブジェクトの画面へのレンダリング(SHADERTYPE_DEFAULT)などを返します。

/*シャドーマップをレンダリングするときはこのオブジェクトを描画しないこと*/
if (fglinfo(FGL_INFO_SHADERTYPE, view) == SHADERTYPE_RENDER_SHADOWS)
    return 0;
fglLoadIdentity ()
説明
現在のOpenGL描画コンテキストに識別マトリクスをロードします。言い換えると、現在のマトリクスを識別マトリクスに置き換えます。マトリクスは、n次元変換を1つのパッケージで指定する方法です。識別マトリクスをロードすることで、指定を原点にリセットし、回転、平行移動、スケーリングを解除できます。デフォルトの位置は(0,0,0)で、デフォルトの方向はz軸の負の方向です。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglLoadIdentity()
fglMatrixMode (num mode)
以後のマトリクス演算について、どのマトリクススタックが対象かを指定する
説明
以後のマトリクス演算について、どのマトリクススタックが対象かを指定します。マトリクスは、n次元変換を1つのパッケージで指定する方法です。受け付けられる値は、GL_MODELVIEW、GL_PROJECTION、GL_TEXTUREの3つです。初期値はGL_MODELVIEWで、シーン内でオブジェクトを移動するとき使用されます。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglMatrixMode(GL_MODELVIEW);
fglNormal (num x, num y, num z)
OpenGLで以後の頂点のシェーディングを行うための法線ベクトルを設定する
説明
OpenGL描画で以後の頂点のシェーディングを行うための法線ベクトルを設定します。ポリゴンは、法線が適用されない限りフラットシェーディングされます。法線はポリゴンに対して垂直なベクトルで、ポリゴンの向いている方向を指すものです。頂点が反時計回りの順序で定義されているポリゴンは、「右手の法則」に従って前方を指すことに注意してください。ポリゴンのシェーディングは、法線と光源の間の角度に基づいて行われます。法線はそれぞれの頂点に対して、色と同様な方法で適用されますが、通常は単に各ポリゴンの定義の最初で定義されます。ポリゴンの法線が光源に直接向いている場合は明るくシェーディングされ、角度が傾斜している場合は暗くシェーディングされます。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglNormal(1,0,0);
fglPopMatrix ()
マトリクススタックから現在のOpenGL描画コンテキストをポップする
説明
マトリクススタックから現在のOpenGL描画コンテキストをポップします。すなわち、スタックの一番上にある空間に戻ります。OpenGLスタックでは、空間マトリクスがLIFOの順序で保存されます。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglPopMatrix();
fglPushMatrix ()
現在のOpenGL描画コンテキストをマトリクススタックにプッシュする
説明
現在のOpenGL描画コンテキストをマトリクススタックにプッシュします。プッシュしたコンテキストは、後でglPopMatrix()を使用して取得できます。複数のオブジェクトを描画するとき、glTranslated、glRotated、glScaledが次のオブジェクトに影響することが望ましくない場合は、glPushMatrixとglPopMatrixを使用します。OpenGLスタックでは、空間マトリクスがLIFOの順序で保存されます。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglPushMatrix();
fglRotate (num degrees, num x, num y, num z)
現在のOpenGL描画コンテキストを、x、y、z軸の周囲でdegreesだけ回転する
説明
現在のOpenGL描画コンテキストを、頂点(x,y,z)により定義される軸の周囲でdegreesだけ回転します。回転後は、すべてが軸の新しい回転に基づいて描画されます。OpenGLのxyz座標系の定義については、glVertex3dを参照してください。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglRotate(90,1,0,0);
fglScale (num x, num y, num z)
現在のOpenGL描画コンテキストをx、y、z方向にスケーリングする
説明
現在のOpenGL描画コンテキストを、与えられたスケールパラメータに従ってスケーリングします。OpenGLのxyz座標系の定義については、glVertex3dを参照してください。このコマンドの後では、すべてが変更後の軸のスケールに基づいて描画されます。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglScale(2,4,1);
fglTranslate (num x, num y, num z)
現在のOpenGL描画コンテキストをx、y、zだけ平行移動する
説明
現在のOpenGL描画コンテキストを、与えられた平行移動パラメータに従って変更移動します。OpenGLのxyz座標系の定義については、glVertex3dを参照してください。平行移動後は、すべてが軸の新しい場所に基づいて描画されます。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
fglTranslate(15, 4, 0);
getdrawtextmetric (str text, num fontsize, num metric[, num a])
説明
テキストについての情報を返します。metricが1なら、テキストの幅が返されます。metricが2なら、テキストの高さが返されます。metricが3なら、「a」を最大範囲として、収められるテキストの最大の長さが返されます。
getdrawtextmetric("Hello",12,1,0);
glIsEnabled (num setting)
OpenGL設定が有効なら1を、そうでなければ0を返す
説明
OpenGL設定が有効なら1を、そうでなければ0を返します。描画設定のリストについては、fglEnable()を参照してください。この操作は非常に低速で、推奨されないことに注意してください。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
glIsEnabled(GL_LIGHTING)
glLineWidth (num linewidth)
OpenGLで以後に描画されるラインの線幅を指定する
説明
OpenGLで以後に描画されるラインの線幅を指定します。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
glLineWidth(3);
glPointSize (num pointsize)
OpenGLで以後に描画される頂点のポイントサイズをピクセル単位で指定する
説明
OpenGLで以後に描画される頂点のポイントサイズを、ピクセル単位で指定します。さらに詳細な情報が必要な場合は、標準のOpenGLドキュメントを参照してください。
glPointSize(5);
mesh (node meshnode, int pervertexattribs, int flags)
空白のグリッドを作成してmeshnodeに割り当てる
説明
空白のグリッドを作成してmeshnodeに割り当てます。pervertexattribsは、次の属性をビット単位でORした値です。
MESH_POSITION(デフォルトで追加されます)
MESH_TEX_COORD2
MESH_NORMAL
MESH_DIFFUSE
MESH_DIFFUSE4
MESH_AMBIENT_AND_DIFFUSE
MESH_AMBIENT_AND_DIFFUSE4

flagsは次のいずれかです。
MESH_STATIC_DRAW
MESH_DYNAMIC_DRAW
MESH_INDEXED
mesh(Model.find("mesh"), MESH_NORMAL | MESH_DIFFUSE, MESH_STATIC_DRAW)
meshaddindex (node meshnode, int index)
インデックス付き頂点をグリッドに追加する
説明
インデックス付き頂点を、meshnodeに関連付けられているグリッドに追加します。グリッドにMESH_INDEXEDフラグがない場合、このコマンドは無視されます。
int newindex = meshaddindex(node("/mesh",model()), 4)
meshaddvertex (node meshnode)
頂点をグリッドに追加する
説明
頂点を、meshnodeに関連付けられているグリッドに追加します。
追加された頂点のインデックスを返します。
meshaddvertex(Model.find("mesh"))
meshdraw (node meshnode, int drawmode, int offset, int count [, int stride])
グリッドを描画する
説明
meshnodeに関連付けられているグリッドを描画します。drawmodeの値は次のいずれかです。
GL_POINTS
GL_LINES
GL_LINE_LOOP
GL_TRIANGLES
GL_TRIANGLE_STRIP
GL_TRIANGLE_FAN

offsetは、頂点インデックスの開始番号を示します。countは、いくつの頂点にdrawmodeを設定するかを指定します。strideは、いくつの頂点インデックスを中間でスキップするかを指定します。

インデックス付きグリッドの場合、strideは無視されます。
meshdraw(node("/mesh",model()), GLTRIANGLES, 0, 3, 0)
meshinfo (node meshnode, int type[,int index, int param])
グリッドから指定の情報を取得する
説明
meshnodeに関連付けられているグリッドから、指定の情報を取得します。indexは、要求される頂点のインデックスです(0から開始)。typeは、グリッドについて次のいずれかを指定します(indexとparamは無視されます)。
MESH_PER_VERTEX_ATTRIBS
MESH_PER_MESH_ATTRIBS
MESH_FLAGS
MESH_NR_VERTS
MESH_GET_INDEX - 与えられたインデックスについて頂点インデックスを返します(MESH_INDEXEDフラグと併用した場合のみ有効)。

次に示すのは頂点に固有のタイプです。
MESH_POSITION
MESH_TEX_COORD2
MESH_NORMAL
MESH_DIFFUSE
MESH_DIFFUSE4
MESH_AMBIENT_AND_DIFFUSE
MESH_AMBIENT_AND_DIFFUSE4

頂点を指定する場合、paramに次のものが有効です。
MESH_COLOR_RED
MESH_COLOR_GREEN
MESH_COLOR_BLUE
MESH_COLOR_ALPHA
MESH_POS_X
MESH_POS_Y
MESH_POS_Z
MESH_TEX_S
MESH_TEX_T
double xposition = meshinfo(Model.find("mesh"), MESH_POSITION, 6, MESH_POS_X)
meshsetattrib (node meshnode, int attribid, double param1 [, double param2, double param3, double param4])
attribidの値をグリッドのvertindexに追加/設定する
説明
attribidの値を、meshnodeに関連付けられているグリッド全体に適用します。attribidには次の属性を使用できます。
MESH_NORMAL
MESH_AMBIENT
MESH_DIFFUSE
MESH_DIFFUSE4
MESH_AMBIENT_AND_DIFFUSE
MESH_AMBIENT_AND_DIFFUSE4
MESH_SPECULAR
MESH_SHININESS
MESH_EMISSIVE
meshsetattrib(Model.find("mesh"), 1, MESH_DIFFUSE4, 1, 0, 0, 1)
meshsetvertexattrib (node meshnode, int vertindex, int attribid, double param1 [, double param2, double param3, double param4])
attribidの値をグリッドのvertindexに設定する
説明
attribidの値を、meshnodeに関連付けられているグリッドのvertindexに設定します。attribidには次の属性を使用できます。
MESH_POSITION
MESH_TEX_COORD2
MESH_NORMAL
MESH_DIFFUSE
MESH_DIFFUSE4
MESH_AMBIENT_AND_DIFFUSE
MESH_AMBIENT_AND_DIFFUSE4

注意:attribidは、グリッドを作成するより前に定義されている必要があります。
mesh(Model.find("mesh"), MESH_NORMAL | MESH_DIFFUSE4, MESH_STATIC_DRAW)
meshsetvertexattrib(Model.find("mesh"), 1, MESH_DIFFUSE4, 1, 0, 0, 1)
setdrawnamefunction (num boxwidth, num boxheight, node nodefunction[, num pval1, num pval2, num pval3])
説明
このコマンドを使用して、モデルでオブジェクトの下のボックスに情報を表示する機能に直接アクセスできます。FlexSimの3D表示メカニズムでは、モデル内のオブジェクトに対して複数の描画パスを実行します。最初に、描画が必要なデータを収集してキャッシュします。次に、各オブジェクトについてオブジェクトの形状を描画し、オブジェクトのカスタム描画機能を呼び出します。最後に、コネクターや情報ボックスなどのオーバーレイを描画します。オブジェクトのカスタム描画機能の一部、すなわちOnDrawイベントやオブジェクトのカスタム描画コードトリガーとしてsetdrawnamefunction()コマンドが呼び出された場合、そのオブジェクトの情報ボックスのステップに描画シーケンスが到達したときにコールバックが起動されます。このためには、コマンドを呼び出して描画するボックスのサイズを指定し、ボックス情報を描画するため起動されるコードを保持しているノードへの参照をnodefunctionパラメータとして渡し、最大3つのパラメータをparam(1)、param(2)、param(3)としてnodefunctionに渡します。その後で、drawflattext()コマンド、または他の任意のOpenGL描画コマンドを使用して、必要な情報を描画するnodefunctionコードを実装します。nodefunctionが呼び出されるとき、OpenGLのモデルビューマトリクスは、(0,0,0)のポイントが表示ボックスの上端中央で、長さの1単位が画面の1ピクセルに相当するよう設定されることに注意してください。
オブジェクトのカスタム描画コードトリガーに、次のコードを追加します。

if(!param(2)) {
	setdrawnamefunction(80, 15, c, param(1), 1);
} else {
	fglTranslate(-40, -15, 0);
	drawflattext("Hello World");
}
	
これにより、オブジェクトの下の表示ボックスに「Hello World」というテキストが描画されます。
spacebase ([num view/object])
説明
OpenGLマトリクスを、現在のobject/viewのスケーリングされた空間に設定します。パラメータが0なら、オブジェクトのベース空間マトリクスがロードされます。パラメータが1なら、ビューの空間がロードされ、以後のすべての描画コマンドは直接ビューアの方角を向き、スケールは変更されません。このコマンドは、OnDrawイベントとカスタム描画コードトリガーでのみ使用できます。OpenGL空間をオブジェクトのサイズでスケーリングするには、drawtoobjectscale()を参照してください。
spacebase(0);
spacerotate (num x, num y, num z)
説明
OpenGL空間に回転を適用します。これは、次のOpenGLコードに相当します(OpenGLの座標系ではyがFlexSimのz軸の方向、zはFlexSimのy軸の方向を指すことに留意してください)。

    glRotatef( z, 0.0f, 1.0f, 0.0f);
    glRotatef(-y, 0.0f, 0.0f, 1.0f);
    glRotatef( x, 1.0f, 0.0f, 0.0f);
spacerotate(90, 0, 0)

現在の座標空間を、FlexSimのx軸の周囲で90度回転します。以後の描画コマンドは、新しい回転に合わせて実行されます。
spacescale (num x, num y, num z)
説明
OpenGL空間にスケール変換を適用します。これは、次のOpenGLコードに相当します(OpenGLの座標系ではyがFlexSimのz軸の方向、zはFlexSimのy軸の方向を指すことに留意してください)。

    glScalef(x,z,y);
spacescale(2, 1, 1)

現在の座標空間を、FlexSimのx方向に2倍にスケーリングします。以後の描画コマンドは、新しいスケールに合わせて実行されます。
spacetranslate (num x, num y, num z)
説明
OpenGL空間に平行移動を適用します。これは、次のOpenGLコードに相当します(OpenGLの座標系ではyがFlexSimのz軸の方向、zはFlexSimのy軸の方向を指すことに留意してください)。

    glTranslatef(x,z,-y);
spacetranslate(current.size.x, -current.size.y, 0)

以前に平行移動が適用されていなければ、オブジェクトの左下コーナーに平行移動します。以後の描画コマンドは、新しい場所に合わせて実行されます。
textureaxis_s (num x, num y, num z, num a)
説明
OpenGLの呼び出しシーケンスでテクスチャをバインドした後で、テクスチャの座標を指定できます。OpenGLは、マッピングにテクスチャ座標の概念を使用します。この関数は、テクスチャのS軸を設定するため使用されます。設定されたテクスチャの軸は、以後に描画されるすべてのポリゴンをレンダリングするため使用されます。
textureaxis_s(1,0,0,0)
textureaxis_t (num x, num y, num z, num a)
説明
OpenGLの呼び出しシーケンスでテクスチャをバインドした後で、テクスチャの座標を指定できます。OpenGLは、マッピングにテクスチャ座標の概念を使用します。この関数は、テクスチャのT軸を設定するため使用されます。設定されたテクスチャの軸は、以後に描画されるすべてのポリゴンをレンダリングするため使用されます。
textureaxis_t(0,0,1,0)

イベント

イベントの作成、検索、操作に使用されるコマンド。
addtoeventtypelegend (str name, num parameter, num value, str legendname)
説明
eventtypeの凡例では、そのeventtypeで特定のパラメータに与えられた値と、文字列とを関連付けできます。「parameter」に負の数値を渡すと、パラメータの説明として、前に指定した文字列を追加できます。「parameter」が負の値で「value」が-1なら、その数値はノードへのポインターと見なされ、ノードのパスが文字列として表示されます。
addtoeventtypelegend(index,-1,-1,"resource: "); // p1について「resource: 」というテキストを表示し、オブジェクトのパスを表示する
addtoeventtypelegend(index,-2,0,"covermode: "); // p2について、「covermode: 」というテキストを表示する
addtoeventtypelegend(index,2,1,"YellowToGreen"); // p2について、値が1なら数値の1ではなく「YellowToGreen」と表示される
addtoeventtypelegend(index,2,2,"RedToGreen"); // p2について、値が2なら数値の2ではなく「RedToGreen」と表示される
addtoeventtypelegend(index,3,0,""); // p3について、0を空白にする
addtoeventtypelegend(index,4,0,""); // p4について、0を空白にする
createevent (obj object, num time, num code[, str data, node involved])
説明
開発者向けです。このコマンドは、以後のモデルの実行中に発生するイベントを作成します。このイベントは、objectで指定されるオブジェクト用に作成されます。イベントは、このコマンドが呼び出されてからtime秒後に発生します。イベントが、作成されたのと同じシミュレーション時間で発生する必要がある場合、timeを0にします。イベントが発生すると、オブジェクトのクラスのOnTimerEventイベント関数が呼び出されます。この関数にはcode、data、involvedが渡されます。これらの値は、OnTimerEventでeventcode、eventdata、iとしてアクセスできます。一般に、作成または実行されたイベントのタイプを判定するにはeventcodeが使用されます。eventdataはイベントの説明で、ユーザーの利便性のため使用されます。通常、OnTimerEventの実行には重要でありません。イベントに関係するオブジェクト、たとえば進入や退出を行うフローアイテムなどはinvolvedとして渡され、OnTimerEventでiとして参照されます。コード用に次の値が定義済みで、ユーザーが使用できます。

1 - EVENT_OPENINPUTS
2 - EVENT_OPENOUTPUTS
3 - EVENT_PROCESSFINISH
4 - EVENT_CREATEPART
5 - EVENT_DESTROYPRODUCT
6 - EVENT_CONVEYEND
7 - EVENT_BEGINLOADTIME
8 - EVENT_BEGINUNLOADTIME
9 - EVENT_ENDLOADTIME
10 - EVENT_ENDUNLOADTIME
11 - EVENT_ENDDELAYTIME
12 - EVENT_BEGINDOWNTIME
13 - EVENT_ENDDOWNTIME
14 - EVENT_ENDWAITTIME
15 - EVENT_MEETBATCHQTY
16 - EVENT_ENDTRAVELTIME
17 - EVENT_ENDSETUP

ユーザーが独自のイベントタイプを作成する場合、100より大きな値をコードとして使用します。eventcodeとeventdataも参照してください。
if (current.subnodes.length >= current.mincontent)
{
createevent(current,5,EVENT_OPENOUTPUTS,"openoutputs",involved);
}

シミュレーションで5秒後に、currentのコンテンツがcurrentで参照されるオブジェクトのmincontentという名前のラベルより少なければ、currentとして指定されたオブジェクトの出力ポートを、involvedで指定されたフローアイテム用に開きます。
createtickevent (obj fluidobject)
fluidobject、およびそのティッカーに割り当てられたすべてのオブジェクト用のティックイベントを作成する
説明
渡された流体オブジェクト、および同じティッカーでコントロールされる他のすべての流体オブジェクト用に、ティックイベントを作成します。これによりユーザーは、ティッカーの通常のティック時間とは異なる時間に流体物質を移動できます。ユーザーは、特定のティッカーをパラメータとしてこのコマンドに渡すこともできます。
createtickevent(current);
delayevents (num value)
説明
開発者向けです。eventlistのすべてのイベントを遅延させます。eventlistのすべてのイベントについて、時間がvalueだけ増やされます。
delayevents(20)
delayeventsofobject (obj object, num value)
説明
開発者向けです。オブジェクトのイベントを遅延させます。オブジェクトの時間付きイベントがvalueだけ増やされ、eventlistが並べ替えされます。valueには正と負のどちらも使用できます。
delayeventsofobject(model().subnodes[2],20)
destroyevent (node event)
説明
開発者向けです。イベントリストの特定のイベントを破棄します。
destroyevent(node("MAIN:/1/exec/events").last)
destroyeventsofobject (obj object [, num simtime, num code, str data, node involved])
オブジェクトに関連付けられているイベントを破棄する
説明
与えられたオブジェクトに関連付けらわれているイベントを破棄します。必須パラメータは、最初のパラメータobjectのみです。他のパラメータはオプションで、次に示すように、破棄するイベントを選択するフィルタとなります。

time:コマンドが呼び出された時間と等しいか、より大きければ、このパラメータはイベントを時間でフィルタリングします。イベントの時間が渡されたtimeと等しくなければ、イベントは破棄されません。フィルタとして使用しない場合、-1を渡します。

code:このパラメータが0より大きい場合、イベントコードでイベントをフィルタリングします。イベントのコードが渡されたcodeと等しくなければ、イベントは破棄されません。

data:NULL以外なら、このパラメータを使用し、イベントに関連付けられているデータ文字列でイベントがフィルタリングされます。イベントのデータ文字列が渡された文字列と等しくなければ、イベントは破棄されません。

involved:NULL以外なら、このパラメータにより、関係するノードやオブジェクトでイベントがフィルタリングされます。イベントの関連ノードが渡されたノードと等しくなければ、イベントは破棄されません。
destroyeventsofobject(model().subnodes[2])
destroymessageevents (obj object, num time, obj fromobj[, num param1, num param2, num param3])
オブジェクトに関連付けらわれているメッセージイベントを破棄する
説明
与えられたオブジェクトに関連付けられているメッセージイベントを破棄します。

メッセージパラメータが含まれていなければ、すべてのメッセージイベントが破棄されます。
destroymessageevents(current, time(), NULL, 8)
eventcode <no parentheses>
説明
開発者向けです。このコマンドは、createevent()コマンドにコードとして渡された数値を返します。ライブラリオブジェクトのOnTimerEvent関数でのみ使用されます。通常は、発生しているイベントのタイプを識別するために使用されます。このコマンドを呼び出すときは括弧を付けません。createevent()とeventdataも参照してください。
if (eventcode == EVENT_OPENINPUTS)
thisobjectdata->openinputs();

createevent()関数にEVENT_OPENINPUTSという値が渡された場合、thisobjectdataで参照されるオブジェクトのopeninputs()というメソッドを呼び出します。
eventdata <no parentheses>
説明
開発者向けです。このコマンドは、createevent()コマンドにデータとして渡された文字列値を返します。ライブラリオブジェクトのOnTimerEvent関数でのみ使用されます。通常は、発生しているイベントタイプのユーザー向け説明として使用されます。速度の理由から、OnTimerEvent関数の実行時には一般に使用されません。このコマンドを呼び出すときは括弧を付けません。createevent()とeventcodeも参照してください。
if (comparetext(eventdata,"openinputs"))
{
thisobjectdata->openinputs();
}

createevent()に渡された文字列値が「openinputs」と等しい場合、thisobjectdataで参照されるオブジェクトのopeninputsというメソッドを呼び出します。
eventget (num index, num thing)
インデックスのイベントのイベント属性
説明
MAIN:/project/exec/eventsの指定されたインデックスにあるイベント属性を返します。
thingは次のいずれかです。
1 = クライアント
2 = 時間
3 = コード
4 = データ
5 = 関係
6 = イベントノード
eventget(2,3)
eventloginfo (num operation, num n1)
説明
開発者向けです。イベントログに関係する何かを記述する文字列値を返します。

動作は次のいずれかです。
ELI_GET_OBJECTPATH 1 - objectpaths配列から、インデックスn1にあるオブジェクトのパスを返します。
ELI_GET_INVOLVEDPATH 2 - involvedpaths配列から、インデックスn1にあるオブジェクトのパスを返します。
ELI_GET_OTHERPATH 3 - objectpaths配列から、インデックスn1にあるオブジェクトのパスを返します。
ELI_EVENTTYPE_NAME 4 - eventtypes配列から、インデックスn1にあるeventtypeの名前を返します。
ELI_LOGGEDEVENTTYPE_NAME 5 - loggedeventtypes配列から、インデックスn1にあるlogged eventtypeの名前を返します。

イベントログに関係し、数値を返す他のオペレーションには、applicationcommand()関数でアクセスできます。
「seteventlogging」- eventtype n1のログ記録を有効または無効にします。
「geteventlogging」- eventtype n1についてログ記録が有効かどうかを返します。
「getobjectpathslistsize」- objectpaths配列のサイズを返します。
「getinvolvedpathslistsize」- involvedpaths配列のサイズを返します。
「getotherpathslistsize」- objectpaths配列のサイズを返します。
「geteventtypeslistsize」- eventtypes配列のサイズを返します。
「getloggedeventtypeslistsize」- loggedeventtypes配列のサイズを返します。
「geteventtypecode」- n1として渡された名前のeventtypeのインデックスを返します。
string objectpath = eventloginfo(ELI_GET_OBJECTPATH,1);
eventqty ()
現在保留中のイベントの番号を取得する
説明
現在保留中のイベントの番号を返します。
eventqty()
listenerinfo (int info)
説明
開発者向けです。このコマンドは、OnListenおよびOnPreListenイベント関数内で使用するための情報を返します。
返される情報は、リッスンしているイベントに渡された情報です。
infoが1なら、エンジンイベントコードを返します。エンジンイベントコードには、SM_MESSAGEやSM_DRAWなどのマクロがあります。
infoが2および3なら、関連付けられているツリーノードへのポインターを返します。

リスニングを設定するには、リッスン先のオブジェクト(オブジェクトA)に「listeners」属性を追加します。listeners属性は、リッスン元のオブジェクト(オブジェクトB)に結合されているサブノードを持つ必要があります。オブジェクトAでイベントが起動する前に、オブジェクトBのOnPreListenイベント関数が起動します。オブジェクトAの最初のイベントの後、オブジェクトBのOnListenイベント関数が起動します。また、オブジェクトBの結合ノードの下に数値データを持つサブノードを追加し、イベントをフィルタリングすることもできます。数値データには、リッスンするビットシフトされたイベントコードの、ビット単位の合計を使用します。結合にサブノードがない場合、オブジェクトはデフォルトですべてのイベントをリッスンします。

treenode current = c;
treenode involved = i;
int code = listenerinfo(1);
treenode associated = tonode(listenerinfo(2));
treenode coupling = tonode(listenerinfo(3));

print("OnListen");
print("current: ", current);
print("involved: ", involved);
print("code: ", code);
print("associated: ", associated);
print("coupling: ", coupling);
logevent (num/str index/name[, obj object, obj involved, num p1, num p2, num p3, num p4])
説明
イベントログのエントリとしてイベントをログ記録します。registereventtype()に渡された名前、またはregistereventtype()により返されたインデックスが使用されます。
logevent("MyEventType",current,item,port);
registereventtype (str name)
説明
イベントログで使用するカスタムイベントタイプを登録します。eventtypeのインデックスが返され、このインデックスは後でlogevent()など他のコマンドで使用できます。
int index = registereventtype("MyEventType");
startlisten (obj listener)
説明
開発者向けです。実行ファイルに対して、オブジェクトがリスナーであることを通知します。これはセッション間で継続されません。このコマンドは、実行ファイルのリスナーリストに、リスナーをポイントするノードを追加します。セッションが再ロードされるか、コンパイル後には、リスナーをリセットする必要があります。リスニングメカニズムは実行ファイルに大きな負荷をかける可能性があるため、使用は最小限にしてください。リスナーは、モデルのいずれかのオブジェクトにイベント(OnTimerEvent)がディスパッチされたとき、OnListenメッセージを受け取ります。リスナーはメッセージをフィルタリングし、OnListenメッセージに応答するかどうかを決定する必要があります。OnListenメッセージに渡されるパラメータについては、「オンラインリファレンスガイド」を参照してください。
startlisten(so())
stoplisten (obj listener)
説明
開発者向けです。実行ファイルに対して、このオブジェクトがリスナーでなくなったことを通知します。このコマンドは、リスナーへのポインターが以前にstartlisten()コマンドでリスナーリストに追加されていれば、リストからポインターを削除します。リスナーは、モデルのいずれかのオブジェクトにイベント(OnTimerEvent)がディスパッチされたとき、OnListenメッセージを受け取ります。
stoplisten(so())

FixedResources

FixedResourceオブジェクトに関連付けられているコマンド。これらのコマンドのほとんどは、BasicConveyorまたはBasicFRオブジェクトのカスタム動作を開発するとき使用されます。
evaluatepullcriteria (obj fixedresource, obj item, num portnr[, num bypassflags])
FixedResourceオブジェクトのプル要件を再起動する
説明
FixedResourceに対して、入力ポートportnr経由で渡されたオブジェクトのアイテムのプル要件を評価するよう通知します。このコマンドは、アイテムがプル可能な場合、プル要件のフィールドにより返される値を返します。理由にかかわらずアイテムをプルできない場合(ポートが閉じている、アイテムがリリースされていないなど)、このコマンドは0を返します。bypassflagsパラメータは、BYPASS_で始まるマクロのビット単位の組み合わせで、アイテムが利用可能かどうかを判定するときに特定の基準を無視するよう指定します。
evaluatepullcriteria(current, item, 1); // [ベストアイテムからプル]ピックリストオプションも参照
getiteminvolved (obj item)
アイテムのFixedResource関連の変数に保存されているオブジェクト参照を取得する
説明
アイテムのFixedResource関連の変数に保存されているオブジェクト参照を返します。
FixedResourceクラスでは、各フローアイテムに関連する1つの変数をサブクラスに保存できます。これらの変数の意味は、クラスのタイプによって異なります。
たとえば、プロセッサがプロセスまたは設定時間にオペレーターを使用するよう設定されている場合、プロセッサは関連変数を使用して、フローアイテム用に呼び出されるディスパッチャーへの参照を保存します。
モデルのオブジェクトとして明示的なFixedResourceクラスを使用している場合、このコマンドをsetitemvar、getitemvar、setiteminvolvedコマンドとともに使用して、オブジェクトが受け取るアイテムの変数を保存できます。
getiteminvolved(current.first)
getitemsendto (obj item)
アイテムについて評価されたsendtoの値を取得する
説明
itemがFixedResource内に存在し、リリースされていれば、そのアイテムについて評価されたsendtoの値を返します。
getitemsendto(item)
getitemstate (obj item)
フローアイテムのFixedResource状態を取得する
説明
フローアイテムのFixedResource状態を返します。これは、次に示す3つの値のいずれかです。
FRSTATE_INQUEUE:フローアイテムは処理中で、まだリリースされていません。
FRSTATE_READY:フローアイテムはリリース済みですが、それを受け取る準備の整った下流オブジェクトが見つかっていません。
FRSTATE_MOVEREQUESTED:フローアイテムはリリース済みで、下流オブジェクトの受け取り準備が整っていますが、アイテムは輸送によるピックアップ待ちです。
詳細については、FixedResourceのドキュメントを参照してください。
getitemstate(so())
getitemvar (obj item, num var)
アイテム用のFixedResource変数の値を取得する
説明
アイテム用のFixedResource変数の値を返します。varパラメータは1、2、3のいずれかです。FixedResourceクラスでは、各フローアイテムについて3つの数値変数をサブクラスに保存できます。これらの変数の意味は、クラスのタイプによって異なります。
たとえば、プロセッサは変数1にアイテムの処理開始時間を、変数2にアイテムの処理時間を保存できます。
モデルのオブジェクトとして明示的なFixedResourceクラスを使用している場合、このコマンドをsetitemvar、getiteminvolved、setiteminvolvedコマンドとともに使用して、オブジェクトが受け取るアイテムの変数を保存できます。
getitemvar(current.first, 3)
holditem (obj item)
アイテムがリリース済みなら保持する
説明
指定されたアイテムがリリース済みなら、それを保持します。このコマンドは実質的にアイテムを「リリース取り消し」し、退出を防止します。アイテムがFixedResource内に存在し、リリース済みで、下流オブジェクトに「割り当て」されていない(輸送待ちでない)場合のみ適用されます。
holditem(item)
inititem (obj item)
フローアイテムのFixedResource変数を初期化する
説明
フローアイテムのFixedResource変数を初期化します。通常は、フローアイテムが初めて固定リソースに進入したときに行われます。この動作は通常は自動的に行われますが、独自のBasicFRオブジェクト動作を開発するとき、例外的なケースで使用できます。
inititem(item)
pullitem (obj fixedresource, obj item, num portnr[, num bypassflags])
説明
fixedresourceに対して、入力ポートportnr経由で渡されたオブジェクトのアイテムのプル要件を評価するよう通知します。プル評価が真なら、このコマンドはただちにアイテムをプルします。このコマンドは、アイテムが正常にプルされれば1を、そうでなければ0を返します。理由にかかわらずアイテムをプルできない場合(ポートが閉じている、アイテムがリリースされていないなど)、このコマンドは0を返します。bypassflagsパラメータは、BYPASS_で始まるマクロのビット単位の組み合わせで、アイテムが利用可能かどうかを判定するときに特定の基準を無視するよう指定します。BYPASS_ALLを指定すると、利用可能性にかかわらずただちにアイテムがプルされます。
pullitem(current, item, 1); // [ベストアイテムからプル]ピックリストオプションも参照
receiveitem (obj station [, num port ] )
FixedResourceに対して、入力を開きフローアイテムを受け付けるよう通知する
説明
FixedResourceステーションに対して、入力を開きフローアイテムを受け付けるよう通知します。
portパラメータはオプションで、どのポートから受信すべきかが正確に判明している場合のみ使用します。portパラメータが指定されている場合、このオブジェクトは上流オブジェクトの対応する出力ポートが開いていれば、そのオブジェクトからアイテムの受け付けを試み、アイテムの以前のsend-to戻り値を無視します(プルロジックの動作と同様です)。この関数は、アイテムを受け付けるため1回、アイテムの受け付け後に(または受け付けの確認後に)1回だけ実行します。
releaseitem()コマンドも参照してください。この関数は、BasicFRまたはBasicConveyorのコードフィールド内でのみ使用します。他のオブジェクトには独自のreceiveitem()が実装されています。
receiveitem(current)
recycleitem (obj item , num binrank )
フローアイテムをflowItem binにリサイクルする
説明
指定されたフローアイテムをflowitem binにリサイクルします。binrankは、flowitem binをリサイクルする先のランクです(texturedcoloredbox = 5など)。
recycleitem(item, 5);
releaseitem (obj flowitem [, num port ])
フローアイテムを現在のオブジェクトからリリースする
説明
指定されたフローアイテムをリリースします。フローアイテムは、現在そのアイテムが含まれているオブジェクトから自由に退出可能な時にリリースされ、その時点で[ポートに送信]が評価されます。このコマンドは、フローアイテムがBasicFRオブジェクト内にあり、フローアイテムがまだリリースされていない、またはいずれかのFixedResourceでholditem()により保持されている場合のみ使用します。
2番目のパラメータportはオプションです。このパラメータが渡された場合、sendtoは評価されず、アイテムは指定のポートからリリースされます。フローアイテムが存在する場合、releaseitemは1を返します。それ以外の場合、0を返します。
receiveitem()コマンドも参照してください。
releaseitem(item)
resetuniqueid (obj flowitem)
フローアイテムのuniqueid属性を、他のフローアイテムに割り当てられていない値にリセットします。
説明
このコマンドは、フローアイテムのuniqueid属性を、他のフローアイテムに既に割り当てられていない値にリセットします。この属性は、フルレポート用の全履歴情報を収集するために必要です。このコマンドは、フローアイテムが破棄されていないが、データ取集上の目的から新規アイテムと見なす必要がある場合に使用します。たとえば、フローアイテムがモデラーによりリサイクルされる(内蔵のリサイクリング機能を使用せず)場合、フローアイテムが循環に戻されたときにこのコマンドを呼び出します。フローアイテムは通常、全履歴収集が有効なときのみuniqueid属性を持ちます。
resetuniqueid(item);
resumetransportsin (obj fixedresource [, num saverank])
説明
BasicFRオブジェクトのトリガーからのみ実行し、通常は[オブジェクトを再開]フィールドからのみ実行します。このコマンドは、savestoppedtransportinコマンドを使用して保存されたtaskexecutersへの参照を探し、アンロード操作を再開できることをtaskexecutersに通知します。saverankパラメータは、特定の保存済み参照のツリー内でのランクを指します。saverankパラメータが指定されていない場合、すべての保存済み参照が再開されます。このパラメータが指定されている場合、指定されたランクに関連付けられているtaskexecuterのみが再開を許可されます。保存済み参照は、BasicFRのnroftransportsin変数のサブノードとして格納されます。特定の保存済みtaskexecutersへの参照は、nroftransportsinnode.subnodes[saverank].valueで参照できます。
resumetransportsin(current);
resumetransportsout (obj fixedresource [, num saverank])
説明
BasicFRオブジェクトのトリガーからのみ実行し、通常は[オブジェクトを再開]フィールドからのみ実行します。このコマンドは、savestoppedtransportoutコマンドを使用して保存されたtaskexecutersへの参照を探し、ロード操作を再開できることをtaskexecutersに通知します。saverankパラメータは、特定の保存済み参照のツリー内でのランクを指します。saverankパラメータが指定されていない場合、すべての保存済み参照が再開されます。このパラメータが指定されている場合、指定されたランクに関連付けられているtaskexecuterのみが再開を許可されます。保存済み参照は、BasicFRのnroftransportsout変数のサブノードとして格納されます。特定の保存済みtaskexecutersへの参照は、nroftransportsoutnode.subnodes[saverank].valueで参照できます。
resumetransportsout(current);
savestoppedtransportin (obj fixedresource, obj taskexecuter)
説明
BasicFRオブジェクトの完全なトリガーの輸送からのみ実行します。
taskexecuterがアンロードしようとしているアイテムについて、BasicFRで受け付け準備が整っていない場合、BasicFRはtaskexecuterへの参照を保存してから値-1を返す必要があります。
その後でtaskexecuterはブロック状態に移行し、BasicFRで受け付け準備が整うまで待ちます。BasicFRは、アイテムの受け付け準備が整ったときresumetransportsin()コマンドを呼び出します。
これにより保存済みの参照が調べられ、対応するtaskexecutersに対して、アンロードオペレーションをすぐに再開可能であると通知されます。
if(getvarnum(current, "nrofstops") > 0)
{
savestoppedtransportin(current, transporter);
return -1;
}
savestoppedtransportout (obj fixedresource, obj taskexecuter)
説明
BasicFRオブジェクトから外への完全なトリガー輸送からのみ実行します。
taskexecuterがロードしようとしているアイテムについて、BasicFRで送る準備が整っていない場合、BasicFRはtaskexecuterへの参照を保存してから値-1を返す必要があります。
その後でtaskexecuterはブロック状態に移行し、BasicFRで送出準備が整うまで待ちます。BasicFRは、アイテムの送出準備が整ったときresumetransportsoutコマンドを呼び出します。
これにより保存済みの参照が調べられ、対応するtaskexecutersに対して、ロードオペレーションをすぐに再開可能であると通知されます。
if(getvarnum(current, "nrofstops") > 0)
{
savestoppedtransportout(current, transporter);
return -1;
}
setiteminvolved (obj item, obj involved)
説明
アイテムのFixedResource関連の変数に保存されているオブジェクト参照を設定します。FixedResourceクラスでは、各フローアイテムに関連する1つの変数をサブクラスに保存できます。これらの変数の意味は、クラスのタイプによって異なります。たとえば、プロセッサがプロセスまたは設定時間にオペレーターを使用するよう設定されている場合、プロセッサは関連変数を使用して、フローアイテム用に呼び出されるディスパッチャーへの参照を保存します。このコマンドは、モデルで明示的なFixedResourceクラスをandオブジェクトとして使う場合のみ使用します。このコマンドとsetitemvar、getitemvar、getiteminvolvedコマンドを併用して、オブジェクトが受け付けるアイテムに変数を保存できます。
setiteminvolved(current.first, current.centerObjects[1])
setitemsendto (obj item, num value)
説明
アイテムがFixedResource内に存在するなら、そのアイテムのsendtoの値を設定します。このコマンドは、明示的なFixedResourceクラスのオブジェクトを使用しており、アイテムをリリースする前にsendto値を保存し、後でreleaseitem()コマンドを使用してポートを渡すときのみ使用します。リリース済みのアイテムの評価済みsendtoを変更する場合は、このコマンドを使用する代わりに、holditem()を実行してからreleaseitem()を再実行してください。
setitemsendto(item, current.currentsendto)
setitemvar (obj item, num var, num value)
説明
アイテム用のFixedResource変数の値を設定します。varパラメータは1、2、3のいずれかで、valueパラメータには設定する値を指定します。FixedResourceクラスでは、各フローアイテムについて3つの数値変数をサブクラスに保存できます。これらの変数の意味は、クラスのタイプによって異なります。

たとえば、プロセッサは変数1にアイテムの処理開始時間を、変数2にアイテムの処理時間を保存できます。モデルのオブジェクトとして明示的なFixedResourceクラスを使用している場合、このコマンドをgetitemvar、getiteminvolved、setiteminvolvedコマンドとともに使用して、オブジェクトが受け取るアイテムの変数を保存できます。
setitemvar(current.first, 3, time())
transportincomplete (obj object, obj item [, num inport, obj transporter])
FixedResourceオブジェクトに、アイテムが運び込まれることを通知する
説明
このコマンドは、下流のFixedResourceオブジェクトに対して、指定されたアイテムが上流のオブジェクトから運び込まれることを通知します。このコマンドは、上流オブジェクトの[輸送を使用]フィールドがチェックされており、FRLOADタスクを使用する代わりにアイテムを明示的に移動する場合のみ使用します。これにより下流のFixedResourceは、オブジェクトに進入することが予定されているが、まだ到着していないアイテムがいくつ存在するかのデータを管理できます。このコマンドは、moveobjectコマンドでアイテムを移動する直前に実行します。詳細については、FixedResourceのドキュメントを参照してください。このコマンドが0を返した場合、オブジェクトはstopobjectコマンドで停止されており、アイテムを運び込むにはアイテムが再開されるまで待つ必要があります。
transportincomplete(current.outObjects[port], item, opipno(current, port));

この例は、輸送を使用せずフローアイテムをただちに移動するとき、moveobjectコマンドの前に[輸送の要求元]フィールドから実行します。
transportoutcomplete (obj object, obj item [, num outport, obj transporter])
FixedResourceオブジェクトに、アイテムが運び出されることを通知する
説明
このコマンドは、FixedResourceオブジェクトに対して、指定されたアイテムが運び出されることを通知します。このコマンドは、オブジェクトの[輸送を使用]フィールドがチェックされており、FRLOADタスクを使用する代わりにアイテムを明示的に移動する場合のみ使用します。これによりFixedResourceは、オブジェクトから退出する準備が整っているが、まだオブジェクトに存在するアイテムがいくつ存在するかのデータを管理できます。このコマンドは、moveobjectコマンドでアイテムを移動する直前に実行します。詳細については、FixedResourceのドキュメントを参照してください。このコマンドが0を返した場合、オブジェクトはstopobjectコマンドで停止されており、アイテムを運び込むにはアイテムが再開されるまで待つ必要があります。
transportoutcomplete(current, item, port);

この例は、輸送を使用せずフローアイテムをただちに移動するとき、moveobjectコマンドの前に[輸送の要求元]フィールドから実行します。

キネマティクスとスプライン

キネマティクスとスプラインの数学演算に関連するコマンド。
addkinematic (node infonode, num x, num y, num z, num targetspeed, num acc, num dec, num startspeed, num endspeed, num starttime, num type )
キネマティクスの組に1つのキネマティクス演算を追加する
説明
キネマティクスの組に1つのキネマティクス演算を追加します。詳細については、キネマティクスのユーザーマニュアルのドキュメントを参照してください。
addkinematic(current.labels["kinematics"], 1, 0, 0, 5,0,0, 0,0, time(), KINEMATIC_TRAVEL);
deactivatekinematics (node kinematicsnode)
updatekinematics()が呼び出されたときキネマティクスが何も行わないようにする
説明
以後にupdatekinematics()が呼び出されたとき、キネマティクスがオブジェクトを更新する代わりに、何も行わないようにします。オブジェクトのリセットトリガーでこのコマンドを呼び出すと、オブジェクトは正投影ビューで自由に移動できるようになります。
deactivatekinematics(current.labels["kinLabel"]);
dynamicsplineall (node starttree)
説明
開発者向けです。starttreeの下のオブジェクトについて、すべてのスプラインをキャッシュから消去します。モデル内のスプラインはすべて、編集可能または「ロック解除」になります。編集可能モードでは、スプラインのレンダリングが遅くなります。編集可能モードでは、スプラインを動的に編集できます。
dynamicsplineall(model())
fastspline (obj spline, num perc [0-1])
説明
開発者向けです。キャッシュされているスプラインからスプラインマッピングを取得します。このコマンドは、以後のsplinex()、spliney()、splinez()、splinerx()、splinery()、splinerz()、splinelength()、splineposobject()コマンドへの呼び出しにより返される値を設定します。splineで与えられるスプラインオブジェクトについて、事前に計算された値を使用します。パラメータpercは、対象のスプラインに沿った場所です。事前に計算された値は、fastsplineall()またはfastsplineupdate()コマンドが使用されたとき評価されます。
fastspline(splinestartnode,1)

最も離れたポイント(スプラインに沿って100%)でsplinestartnodeを指すスプラインをアクティブにします。
fastsplineall (obj starttree {model}, num res)
説明
開発者向けです。すべてのスプラインを同時にキャッシュします。スプラインジオメトリのレンダリングと評価を高速化するため、モデルのすべてのスプラインについて、ジオメトリが評価され「ロック」されます。このコマンドは、fastspline()を呼び出したとき、以後のsplinex()、spliney()、splinez()、splinery()、splinery()、splinery()、splinelength()、splineposobject()コマンドへの呼び出しにより返される値を設定します。
fastsplineall(model(),20)
fastsplineupdate (obj spline, num res)
説明
開発者向けです。高速化のため、スプラインの形状をキャッシュします。スプラインジオメトリのレンダリングと評価を高速化するため、モデルのすべてのスプラインについて、ジオメトリが再評価され「ロック」されます。このコマンドは、fastspline()を呼び出したとき、以後のsplinex()、spliney()、splinez()、splinery()、splinery()、splinery()、splinelength()、splineposobject()コマンドへの呼び出しにより返される値を設定します。
fastsplineupdate(so(),20)
getkinematics (node infonode, num querytype[, num kinematicindex, num updatetime/traveldist])
指定されたキネマティクス演算から情報を取得する
説明
指定されたキネマティクス演算から情報を取得します。詳細については、キネマティクスのヘルプドキュメントを参照してください。
getkinematics(current.labels["kinematics"], KINEMATIC_ARRIVALTIME, 1, current.size.x);
initkinematics (node infonode, obj/num object/x[, num flags/y, num z, num rx, num ry, num rz, num flags, num unused])
キネマティクス演算を初期化する
説明
キネマティクス演算を初期化します。
infonodeは、キネマティクス情報を保持できる空白のノードです。
objectは、キネマティクスを実行する対象のオブジェクトです。
flagsは、動作を定義する各種のフラグです。
unusedパラメータは廃止されました。これはflagsパラメータで定義できます。
詳細については、ユーザーマニュアルにあるキネマティクスのドキュメントを参照してください。
initkinematics(current.labels["kinematics"], current)
profilekinematics (node infonode, num kinematicindex)
指定されたキネマティクス演算についての情報を出力コンソールに表示する
説明
指定されたキネマティクス演算についての情報を出力コンソールに表示します。詳細については、キネマティクスのヘルプドキュメントを参照してください。
printkinematics(current.labels["kinematics"], 0);
scalekinematicstotime (node kinematics, int kinematicnr, double scaletotime)
キネマティクスを定義した時間にスケーリングする
説明
キネマティクスを定義した時間にスケーリングします。このコマンドを使用して、キネマティクスの特性(加速->ピーク速度->減速)を保持しながら、キネマティクスの実行に要する合計時間を、分布など他のメカニズムで定義できます。kinematicnrが0なら、キネマティクスの組の全体が、与えられた時間にスケーリングされます。Kinematicnrが0より大きければ、そのキネマティクスのみがスケーリングされます。戻り値は、キネマティクスの新しい終了時間です。
scalekinematicstotime(kinematics, 0, exponential(0, 10));
setkinematicsrotoffset (node infonode, num rx, num ry, num rz)
説明
キネマティクス演算の最初のキネマティクス回転オフセットを設定します。詳細については、キネマティクスのヘルプドキュメントを参照してください。
setkinematicsrotoffset(current.labels["kinematics"], 0, 0, 180);
spline (obj spline, num perc)
説明
開発者向けです。スプラインマッピングを計算し、スプラインオブジェクトsplineを使用して、現在のスプラインパラメータを設定します。このコマンドは、以後のsplinex()、spliney()、splinez()、splinerx()、splinery()、splinerz()、splinelength()、splineposobject()コマンドへの呼び出しにより返される値を設定します。fastspline()とは異なり、splineで与えられたスプラインオブジェクトの事前に計算された値を設定しません。パラメータpercは、対象のスプラインに沿った場所です。このコマンドは、fastsplineall()やfastsplineupdate()コマンドが使用されたときのように、事前に計算された値をロックしません。スプラインは、出力ポートから入力ポートに接続された、オブジェクトの任意のチェーンとして定義できます。出力ポートから入力ポートへのチェーンで最初のオブジェクトを、パラメータ1として渡します。
spline(splinestartobject,0.6)
splinedraw (obj object)
説明
開発者向けです。spline()で計算された現在のスプラインジオメトリに基づいて、スプラインに沿ったラインを描画します。
splinedraw()
splinedrawextrusion (obj object, num step, num wide, num high, num top, num side)
説明
開発者向けです。長方形の押し出し付きのspline()で計算された現在のスプラインジオメトリに基づいて、スプラインを描画します。スプラインオブジェクトのパラメータを使用します。
splinedrawextrusion(current,20,1,2,1,1)
splinelength ()
説明
開発者向けです。現在のスプラインのパラメータ。現在のスプラインの長さを返します。
splinelength()
splineposobject (obj object)
説明
開発者向けです。現在のスプラインのパラメータに従ってオブジェクトを配置します。
splineposobject(current)
splinerx ()
説明
開発者向けです。現在のスプラインのパラメータ。spline()への最後の呼び出しで与えられたパラメータpのスプライン上にオブジェクトが配置された場合の、オブジェクトの方向を返します。
splinerx()
splinery ()
説明
開発者向けです。現在のスプラインのパラメータ。spline()への最後の呼び出しで与えられたパラメータpのスプライン上にオブジェクトが配置された場合の、オブジェクトの方向を返します。
splinery()
splinerz ()
説明
開発者向けです。現在のスプラインのパラメータ。spline()への最後の呼び出しで与えられたパラメータpのスプライン上にオブジェクトが配置された場合の、オブジェクトの方向を返します。
splinerz()
splinex ()
説明
開発者向けです。現在のスプラインのパラメータ。spline()への最後の呼び出しで与えられたパラメータpのスプライン上の位置を返します。
splinex()
spliney ()
説明
開発者向けです。現在のスプラインのパラメータ。spline()への最後の呼び出しで与えられたパラメータpのスプライン上の位置を返します。
spliney()
splinez ()
説明
開発者向けです。現在のスプラインのパラメータ。spline()への最後の呼び出しで与えられたパラメータpのスプライン上の位置を返します。
splinez()
updatekinematics (node infonode, obj object [, num updatetime])
オブジェクトのキネマティクスに基づいて、オブジェクトの場所を更新する
説明
キネマティクス演算と現在の時間に基づいて、オブジェクトの場所を更新します。詳細については、キネマティクスのヘルプドキュメントを参照してください。
updatekinematics(current.labels["kinematics"], current, time());

言語

FlexscriptまたはC++のキーワードと構造体。
a <括弧なし>
説明
このコマンドは、forobjectlayerunder()やforobjecttreeunder()など特定のflexscriptコマンドの繰り返しにおいて、オブジェクトを参照するため使用されます。このコマンドには括弧は必要なく、C++でのみ使用できます。
forobjecttreeunder()を参照してください。
break
説明
switchステートメント{}のループまたはcaseを抜け出す
break;
case value:
説明
switchステートメント{}のcaseの1つ。
case 5: { msg("case statement",""); }
continue
説明
forまたはwhileループについて、現在のループにおける残りのコードを実行せず、ただちに次の繰り返しに移行します。
if(thisloopnotneeded) continue;
default :
説明
switchステートメントのデフォルトのcase。
default: { msg("case statement",""); }
else { }
説明
「if」ステートメントと組み合わせて使用され、「if」の条件が偽のときに実行すべきコードを(存在するなら)宣言します。
if( item.Weight < 100 )
{
msg("TRUE","");
}
else
{
msg("FALSE","");
}

この例は、アイテムのWeightラベルの値が100よりも小さい場合はTRUEのメッセージを、それ以外の場合はFALSEのメッセージを表示します。
for (initalstatement; whiletrueexpression ; countstatement)
説明
多くの回数のループを実行します。initialstatementは、ループの開始前に1回実行されます。whiletrueexpressionは各ループの実行前に評価され、この式が真になるとループは停止します。countstatementは各ループの終了時に実行され、通常はカウンターを増やします。詳細については、「FlexSimでロジックを記述する」の下にあるヘルプマニュアルを参照してください。
for(int i = 1; i <= 5; i++)
{
    msg("for loop","");
}
forobjecttreeunder (node container) { }
説明
ツリー内でコンテナとして指定されたノードの下にある各ノードのコードブロックを実行します。サブツリーもすべて含まれます。ループ内で現在アクティブなノードにアクセスするため、「a」コマンドが使用されます。forobjecttreeunder()コマンドはflexscriptでのみ使用でき、C++では使用できません。
forobjecttreeunder(model())
{
pt(a.name); pr();
}

モデル内のすべてのオブジェクト(他のオブジェクト内にあるものも含む)の名前を出力コンソールに表示します。
if (num condition) { }
説明
条件が真(条件式が1を返す)なら、閉じ括弧の直後にあるステートメントが実行されます。閉じ括弧の直後にあるのがブレース({ })なら、条件が真のとき、ブレース内のコードブロックが実行されます。条件が偽(0を返す)なら、「else」が定義されていない限りは何も実行されません。詳細については、ユーザーマニュアルを参照してください。
if (item.Weight < 100)
    msg("TRUE", "");

この例は、アイテムのWeightラベルの値が100より小さければ、「TRUE」というポップアップメッセージを表示します。
return (num value)
説明
このコマンドは関数の実行を停止し、その関数を呼び出した元の関数に値を戻します。
double res = item.rank * 5;
return res;

itemにより参照されるアイテムのランクを5倍した値をresに設定します。その後で、resに格納されている値が、この関数を呼び出した元の関数に返されます。
stringcompare (str text1, str text2)
文字列をアルファベット順に比較する
説明
文字列をアルファベット順に比較します。文字列が同一のものなら、戻り値は0です。text1がアルファベット順でtext2より前なら、負の数値が返されます。text1がアルファベット順でtext2より後なら、正の数値が返されます。C++のstrcmp()関数と同じものです。
stringcompare("zenith","beta")は1を返します。

comparetext("aqua","yellow")は-1を返します。
switch (num value)
説明
valueに基づいて、いくつかの可能なcaseのいずれかを実行します。
int msgcase = msgparam(1);
switch(msgcase)
{
    case 1:msg("","case 1");break;
    case 2:msg("","case 2");break;
    default:msg("","case 2");break;
}
while (num expression) {}
説明
expressionが0以外の値を返す間、次のブロック{}を繰り返し実行します。値が決して偽にならない場合、FlexSimがフリーズする可能性があるため、この関数の使用には注意してください。
while(current.subnodes.length > 4)
{
    current.last.destroy();
}

メディア

画像、サウンド、3D形状、動画、フライパスなど、プレゼンテーションとメディアに関連付けられているコマンド。
applyshapefactors (obj object)
すべての形状係数をオブジェクトに適用する
説明
このコマンドは、オブジェクトに形状係数が存在すれば、そのオブジェクトにすべての形状係数を適用します。
applyshapefactors(item);
autoloadallmedia ([node thenode])
説明
開発者向けです。このコマンドは、現在のビュー、ライブラリ、モデルに必要なすべてのメディア(画像と形状)をロードします。画像は.bmpまたは.jpgグラフィックスファイルです。形状は.3dsまたは.wrlファイルです。このコマンドは、多くの画像や形状をロードする必要があると、完了に多少の時間を要することがあります。このコマンドは、C++では使用できません。
autoloadallmedia();

現在のモデルに必要なすべてのメディアを再ロードします。
autoloadimages ()
説明
開発者向けです。このコマンドは、現在のビュー、ライブラリ、モデルに必要なすべての画像をロードします。画像は.bmpまたは.jpgグラフィックスファイルです。このコマンドは、多くの画像をロードする必要があると、完了に多少の時間を要することがあります。このコマンドは、C++では使用できません。
autoloadimages();

現在のモデルに必要なすべての画像を再ロードします。
autoloadshapes ()
説明
開発者向けです。このコマンドは、現在のビュー、ライブラリ、モデルに必要なすべての3D形状をロードします。形状は.3dsまたは.wrlファイルです。このコマンドは、多くの形状をロードする必要があると、完了に多少の時間を要することがあります。このコマンドは、C++では使用できません。
autoloadshapes();

現在のモデルに必要なすべての形状を再ロードします。
autoloadsounds ()
説明
開発者向けです。このコマンドは、現在のビュー、ライブラリ、モデルに必要な、オブジェクトの「sound」属性で宣言されているすべてのサウンドをロードします。このコマンドは、多くのサウンドをロードする必要があると、完了に多少の時間を要することがあります。このコマンドは、C++では使用できません。
autoloadsounds();

現在のモデルに必要なすべてのサウンドを再ロードします。
flyactive ()
フライパスが存在するなら1を、存在しなければ0を返す
説明
現在実行されているフライパスが存在するなら1を、存在しなければ0を返します。
flyactive()
flyendnode (node x)
現在のフライパスの停止ポイントを表すノードへの参照を取得する
説明
現在のフライパスの停止ポイントを表す、ツリー内のノードへの参照を返します。
プレゼンテーションビルダーGUIで使用されます。
flypath (obj view, num pathno [, num singlerun])
説明
開発者向けです。このコマンドは、viewで指定されたビューの、番号がpathnoの定義済みフライパスを開始します。任意のビューウィンドウをviewとして渡すことができます。
flypath(ownerview(c),1);

イベントのコードを含むビューウィンドウで、番号1のフライパスを実行します。
flypathadd (obj view, num pathno)
説明
開発者向けです。このコマンドは、viewで指定されたビューの、番号がpathnoのフライパスに、フライパスを追加します。任意のビューウィンドウをviewとして渡すことができます。
flypathadd(ownerview(c),1);

イベントのコードを含むビューウィンドウで、フライパス番号1にフライパスを追加します。
flypathreset (obj view, num pathno)
説明
開発者向けです。このコマンドは、viewで指定されたビューの、番号がpathnoのフライパスからポイントをクリアします。ポイントがクリアされると、フライパスポイントの新しいセットを生成できます。
flypathreset(ownerview(c),1);

イベントのコードを含むビューで、フライパス1のフライパスポイントをクリアします。
flystart (obj view)
説明
開発者向けです。フライモードを開始します。
flystart(ownerview(c))
flystop ()
説明
開発者向けです。このコマンドは、アクティブなフライパスを停止します。
flystop();

現在アクティブなすべてのフライパスの移動を停止します。
flyto (obj view, num endtime, num x, num y, num z, num rx, num ry, num rz)
説明
開発者向けです。指定されたビューポイントに時間をかけて移動します。
flyto(sv(),10000,0,0,20,-50,0,-30);
flyupdate ()
現在アクティブなフライパスを更新する
説明
現在アクティブなフライパスが存在するなら更新します。
getshapeindex (str name)
ロード済み3D形状のインデックスを取得する
説明
ロード済み形状のインデックスを、ファイルのパス名で取得します。このコマンドで使用するファイルパス名は、例に示すように二重のバックスラッシュを使用する必要があります。現在ロード済みの形状と、それぞれに関連付けられているファイルパス名およびインデックスの完全なリストは、[ビュー]->[メディアファイル]で表示できます。
getshapeindex("fs3d\\Operator\\BasicOperator\\Chest.3ds");
getsoundindex (str name)
ロード済みサウンドのインデックスを取得する
説明
project/media/soundsフォルダにあり、nameと関連付けられているロード済みサウンドのインデックスを返します。
getsoundindex("C:/My Sounds/APPLAUSE.WAV");
gettextureindex (str name)
ロード済み画像のインデックスを取得する
説明
ロード済み画像のインデックスを名前で取得します。FlexSimのメディアリストは、ロードされたすべてのテクスチャ(画像)のリストを保持します。それぞれのテクスチャには、対応する名前とインデックスが存在します。このコマンドは、テクスチャの名前に対応するインデックスを返します。
gettextureindex("myimage")
loadimage (str file, str name)
説明
開発者向けです。画像を直接ロードします。ディスク上の画像ファイルがFlexSimにロードされ、メディアリストに記録されます。FlexSimのメディアリストは、ロードされたすべての画像のリストを保持します。それぞれの画像には、対応する名前とインデックスが存在します。このコマンドは、ロードされた画像に対応するインデックスを返します。
loadimage("c:/myimage.bmp","myimage")
loadthreedobject (str file, str name)
説明
開発者向けです。3Dモデルを直接ロードします。ディスク上の形状ファイルがFlexSimにロードされ、メディアリストに記録されます。FlexSimのメディアリストは、ロードされたすべての形状のリストを保持します。それぞれの形状には、対応する名前とインデックスが存在します。このコマンドは、ロードされた形状に対応するインデックスを返します。
loadthreedobject("c:/myshape.wrl","myshape")
mediareset ()
説明
開発者向けです。すべてのメディアをアンロードします。現在ロードされているメディアすべて(画像、形状、サウンド)がFlexSimからアンロードされます。
mediareset()
objectsoundcode (obj object)
オブジェクトのデフォルトサウンドのインデックスを取得する
説明
オブジェクトのデフォルトサウンドのインデックスを取得します。FlexSimのメディアリストは、ロードされたすべてのサウンドのリストを保持します。それぞれのサウンドには、対応する名前とインデックスが存在します。この関数は、オブジェクトにsoundおよびsoundindex属性が存在するなら、オブジェクトのデフォルトサウンドに対応するインデックスを返します(現在のところ、デフォルトオブジェクトにはこれらの属性は存在しません)。
objectsoundcode(current)
shapeinfo (num info[, p1, p2, p3])
ロード済みの3D形状についての情報を取得または設定する
説明
ロード済みの3D形状についての情報を取得または設定します。
shapeinfo(SHAPEINFO_GET_ANIMATION_COUNT, shapeIndex);
soundchange (obj view, num sound, num volume, num tempo, num repeat, num balance)
現在再生中のサウンドを変更する
説明
現在再生中のサウンドを変更します。サウンドはオペレーティングシステムによってウィンドウに追加されるため、viewパラメータが重要になります。soundindexを取得するにはgetsoundindex()を使用します。volume、tempo、balanceは0~1の数値です。サウンドを繰り返し再生し続けるには、repeatに1を指定します。繰り返さない場合は0を指定します。オブジェクトに相対的な視点に基づいてvolumeやbalanceを変更すると、オブジェクトから音が発せられているような、おもしろい効果が得られます。
soundchange(sv(),1,1,1,1,.5)
soundload (str path+filename)
FlexSimにサウンドをロードする
説明
ディスク上のサウンドファイルがFlexSimにロードされ、メディアリストに記録されます。FlexSimのメディアリストは、ロードされたすべてのサウンドのリストを保持します。それぞれのサウンドには、対応する名前とインデックスが存在します。このコマンドは、ロードされたサウンドに対応するインデックスを返します。Microsoft Wave Formatファイル(.wav)をロードして再生できます。サウンドの音量、バランス、周波数は動的に調整可能です。Microsoft DirectSoundインターフェイスを使用して、複数のチャンネルを管理できます。
int applauseindex = soundload("c:/My Music/APPLAUSE.WAV");
soundplay (obj view, num soundindex, num volume [, num tempo, num repeat y/n, num balance])
ロード済みのサウンドを再生する
説明
ロード済みのサウンドを再生します。サウンドはオペレーティングシステムによってウィンドウに追加されるため、viewパラメータが重要になります。soundindexを取得するにはgetsoundindex()を使用します。volume、tempo、balanceは0~1の数値です。サウンドを繰り返し再生し続けるには、repeatに1を指定します。繰り返さない場合は0を指定します。
soundplay(sv(),3,.75,.25,1,.5)

サウンドインデックス3を選択したビューで、3/4のボリューム、1/4のテンポ、両方のスピーカーに等しいバランスで連続して再生します。
soundplayfile (obj view, str path+filename, num volume [, num tempo, num repeat, num balance])
ファイルから直接サウンドを再生する
説明
ファイルから直接サウンドを再生します。サウンドはオペレーティングシステムによってウィンドウに追加されるため、viewパラメータが重要になります。volume、tempo、balanceは0~1の数値です。サウンドを繰り返し再生し続けるには、repeatに1を指定します。繰り返さない場合は0を指定します。
soundplayfile(sv(),"C:/My Sounds/APPLAUSE.WAV",1,1,0,.5);
soundstop (obj view, num sound)
再生中のサウンドを停止する
説明
再生中のサウンドを停止します。サウンドはオペレーティングシステムによってウィンドウに追加されるため、viewパラメータが重要になります。
soundstop(sv(),1)
unloadimage (int textureid)
説明
開発者向けです。インデックスを使用して画像をメディアリストからアンロードします。
treenode view = node("VIEW:/1>Documents/Dashboard/1+/~/GraphPanel/1/1");
repaintview(view);
viewtofile(view, modeldir() + "test.png");
unloadimage(gettextureindex(modeldir() + "test.png"));
int newindex = loadimage(modeldir() + "test.png", modeldir() + "test.png");
setobjecttextureindex(Model.find("Plane1"), newindex);

この例は、ダッシュボードチャートを画像ファイルにレンダリングし、その画像をメディアリストからアンロードして、画像をメディアリストに再ロードし、平面のテクスチャインデックスをその画像に設定します。
viewtofile (obj view, str path[, num width, num height])
指定のビューをビットマップ画像として保存する
説明
指定のビューをビットマップ画像として、指定されたファイルに保存します。
viewtofile(node("VIEW:/active/ortho"), modeldir() + "screenshot.bmp"));

その他

カテゴリに属さないその他のコマンド。
addsystemcontrolleritem (obj systemcontroller, num productid, num linenum, num target, num starttime [, num newcolumn1, num newcolum2, num newcolum3, num newcolum4])
Dynamoで使用
説明
Dynamoで使用します。モデルの実行時に、SystemControllerのスケジュールに新しいラインアイテムを追加します。テーブルに実際に新しい行が追加されるわけではありません。パラメータは、SystemControllerのスケジュールに必要なものと同じデータです。各newcolumnパラメータは、SystemControllerのスケジュールテーブルの各行に追加されている数値です。
addsystemcontrolleritem(current.centerObjects[1],0,1,1,0);
commandlineparam (str param)
説明
FlexSimがコマンドラインから実行されている場合、渡された指定のコマンドラインパラメータを返します。
commandlineparam("nrofops");

この例は、「nrofops」コマンドラインパラメータを返します。
次の行を使用してバッチでFlexSimが開かれた場合
flexsim.exe myfile.fsm -nrofops 8
FlexSim内でcommandlineparam("nrofops")は「8」を返します。コマンドラインパラメータは、unix形式のハイフン(-)、またはWindows形式のスラッシュ(/)を使用して定義できます。
contextdragconnection (obj fromobject, obj toobject, str/num characterpressed)
オブジェクト間にAまたはS接続を作成する
説明
このコマンドは、キーボードで指定の文字のキーが押されたまま、マウスでfromobjectをクリックしてtoobjectへドラッグする操作を模倣します。
このコマンドが実行されると、実際にキーボードとマウスで操作したときと同じコンテキスト依存のアクションが行われます。
このコマンドは、FlexscriptとC++のどちらでも使用できます。
contextdragconnection(model().subnodes[5], model().subnodes3], "A");
createcopy (node thenode, node container [, num samename, num inobject, num cached, num replace])
thenodeを指定のコンテナにコピーする
説明
containerで指定されるノードにthenodeをコピーします。このコマンドはcreateinstance()と異なり、thenodeとどのクラスとの間にもリンクの確立を試みません。インスタンスの作成が必要な場合は、この代わりにcreateinstance()を使用してください。

samenameが1なら、コピーはthenodeと同じ名前になります。

samenameが0なら、新たに作成されるノードの名前は、thenodeの名前の末尾にランダムな番号を付加したものになります。

inobjectが1なら、コンテナのオブジェクトデータ部分にコピーが作成されます。コンテナにオブジェクトデータが存在しない場合、このコマンドは何もしません。

cachedが1なら、ノードの事前キャッシュされたバージョンがコピーされます。一般に、こちらの方が高速です。

replaceが1なら、コピーはコンテナの内側に配置される代わりに、コンテナを上書きします。

これらのパラメータを指定しない場合、デフォルトは0です。
createcopy(Model.find("Tools/FlowItemBin/7/1"), current)
createinstance (obj class, obj location)
説明
開発者向けです。

このコマンドは、classで指定されたクラスのインスタンスを作成し、locationで指定されたオブジェクト内に配置します。インスタンスには、クラスの名前の後に番号が続いた名前が付けられます。インスタンスは、クラスおよびそのスーパークラスのすべての変数および属性を持ちます。動作ノード内のノードは、クラスのすべてのインスタンスに適用されるため、インスタンスにコピーされません。クラスとして渡されるオブジェクトは、ライブラリに存在する必要があります。一般に、locationはモデルです。ライブラリとモデルは、library()およびmodel()コマンドを使用して簡単に参照できます。
createinstance(library().find("?Source"), model());
Sourceクラスのインスタンスをモデル内に作成します。
createuserlibrary ()
説明
開発者向けです。このコマンドは、新しいユーザーライブラリを作成します。
createuserlibrary();
deleteselected ()
説明
開発者向けです。モデル内で選択されたすべてのオブジェクトを削除します。
deleteselected()
dropuserlibraryobject (obj object [, obj ontoobject, num x, num y, num z, obj ontoview, num viewalreadyset])
説明
開発者向けです。指定されたオブジェクトを、ユーザーライブラリからモデルにドラッグされたのと同様にドロップします。
dropuserlibraryobject(node("MAIN:/project/userlibrary/1/1"));
duplicateselected ()
説明
開発者向けです。モデル内で選択されたすべてのオブジェクトを複製します。
duplicateselected()
executefsfile (str filename, num direct)
説明
開発者向けです。ファイルのFlexscriptコードを実行します。指定されたファイルがロードされ、コンテンツが実行されます。ファイルのコンテンツは有効なFlexscriptコードと見なされます。directが0なら、FlexSimのプログラムディレクトリがファイル名の前に連結されます。0でない場合、ファイル名がそのまま使用されます。
executefsfile("c:/myscript.fs",1)
filebrowse (str extension, str description, str startpath)
ファイル選択ダイアログを開く
説明
ファイル選択ダイアログを開き、ユーザーが指定のファイルタイプを選択できるようにします。複数のタイプはセミコロン(;)で区切ります。ダイアログのデフォルトディレクトリは、指定されたパスです。pdir()およびcdir()コマンドは、C++のpathパラメータとしてのみ渡すことができます。
string filename = filebrowse("*.fsm; *.fsp; *.fsv; *.fss","FlexSim Files",pdir());
firecreateevent (obj object, num x, num y, num z, num iscopy [, num libraryfunctiononly])
説明
開発者向けです。指定のオブジェクト作成イベントを起動します。x、y、およびzは、オブジェクトがドロップされたrzです。
firevalue of 0 islast(model()),0,0,0, 1);
flipselected (num firstX, num firstY, num secondX, num secondY[, node roottree])
選択されたオブジェクトを軸に対して反転する
説明
選択されたオブジェクトを、2つの渡されたxyポイントで定義される軸に対して反転します。
flipselected(1, 5, 2, 7)

この例は、選択されたオブジェクトをポイント(1, 5)および(2, 7)で定義される軸に対して反転します。
geteventtime (str EventName, num mode[1/2/3])
UserEventのイベント時間を取得する
説明
UserEventのイベント時間を返します。modeは次の意味です。1 - 繰り返しの時間間隔、2 - イベントの正確な時間、3 - イベントが起動するまでの時間
double remainingtime = geteventtime("myevent",3);
getlastfiletype ()
説明
開発者向けです。最後に保存されたファイルのタイプを返します。1 = モデルファイル、2 = プロジェクトファイル、3 = ビューファイル、4 = セッションファイル、0 = その他のファイル
if (getlastfiletype()) {pt("Known file type"); pr(); }
getlinecontrollerdata (obj linecontroller, num datatype, num column)
Dynamoで使用
説明
Dynamoで使用します。LineControllerの現在のジョブに関するデータを返します。1 = ProdID、2 = LineNum、3 = Target、4 = StartTime、 5 = Extra Column
getlinecontrollerdata(current,1,0);
getmodelunit (num querytype)
説明
モデルの単位設定についての情報を返します。
FlexSimの標準的な単位は、時間 - 1秒、長さ - 1m、容量 - 1リットル、重量 - 1kgです。現在のモデルの単位について名前または略語を返すこともできます。
querytypeは次のいずれかの値です。
TIME_MULTIPLEは、現在のモデルの1時間単位が何秒を表すかを返します。
LENGTH_MULTIPLEは、現在のモデルの長さ単位が何メートルを表すかを返します。
FLUID_MULTIPLEは、現在のモデルの液量単位が何リットルを表すかを返します。
FLUID_TYPEは、液量単位が容積を表す場合は0、質量を表す場合は1を返します。
DATE_TIME_NODEは、モデルの単位ツリーにある日付/時刻ノードへの参照を返します。
START_TIMEは、開始時間を1601年1月1日からの秒数で返します。
START_TIME_NODEは、モデルの単位ツリーにある開始時間ノードへの参照を返します。
CURRENT_TIMEは、現在時間を1601年1月1日からの秒数で返します。
CURRENT_TIME_NODEは、モデルの単位ツリーにある現在時間ノードへの参照を返します。
STOP_TIMEは、停止時間を1601年1月1日からの秒数で返します。
STOP_TIME_NODEは、モデルの単位ツリーにある開始時間ノードへの参照を返します。
START_YEARは、開始時間に関連付けられている年を数値として返します。
START_MONTHは、開始時間に関連付けられている月を1(1月)から12(12月)までの値で返します。
START_DAYは、開始時間に関連付けられている日を返します。1が月の最初の日を示します。
START_DAYOFWEEKは、開始時間に関連付けられている曜日を数値で返します。0が日曜日です。
START_HOURは、開始時間に関連付けられている時間を0~23の数値で返します。
START_MINUTEは、開始時間に関連付けられている分を0~59の数値で返します。
START_SECONDは、開始時間に関連付けられている秒を0~59の数値で返します。
START_MILLISECONDは、開始時間に関連付けられているミリ秒を0~999の数値で返します。
CURRENT_YEARは、モデルの開始時間からの年数を返します。
CURRENT_DAYは、モデルの開始時間からの日数を返します。
CURRENT_HOURは、モデルの開始時間からの時間数を返します。
CURRENT_MINUTEは、モデルの開始時間からの分数を返します。
CURRENT_SECONDは、モデルの開始時間からの秒数を返します。
CURRENT_MILLISECONDは、モデルの開始時間からのミリ秒数を返します。
CURRENT_YEAR_OF_TIMEは、現在の時刻に関連付けられている年を数値として返します。
CURRENT_MONTH_OF_YEARは、現在の時刻に関連付けられている月を1(1月)から12(12月)までの値で返します。
CURRENT_DAY_OF_MONTHは、現在の時刻に関連付けられている日を数値で返します。1が月の最初の日を示します。
CURRENT_DAY_OF_WEEKは、現在の時刻に関連付けられている曜日を数値で返します。0が日曜日です。
CURRENT_HOUR_OF_DAYは、現在の時刻に関連付けられている時間を0~23の数値で返します。
CURRENT_MINUTE_OF_HOURは、現在の時刻に関連付けられている分を0~59の数値で返します。
CURRENT_SECOND_OF_MINUTEは、現在の時刻に関連付けられている秒を0~59の数値で返します。
CURRENT_MILLISECOND_OF_SECONDは、現在の時刻に関連付けられているミリ秒を0~999の数値で返します。
TIME_NAMEは、モデルの時間単位の名前を返します。
TIME_PLURAL_NAMEは、モデルの時間単位の複数名を返します。
TIME_ABBREVIATIONは、モデルの時間単位の略語を返します。
LENGTH_NAMEは、モデルの長さ単位の名前を返します。
LENGTH_PLURAL_NAMEは、モデルの長さ単位の複数名を返します。
LENGTH_ABBREVIATIONは、モデルの長さ単位名の略語を返します。
FLUID_NAMEは、モデルの液量単位の名前を返します。
FLUID_PLURAL_NAMEは、モデルの液量単位の複数名を返します。
FLUID_ABBREVIATIONは、モデルの液量単位名の略語を返します。
START_TIME_STRは、開始時間を日付と時刻の形式で文字列として返します。
CURRENT_TIME_STRは、現在の時刻を日付と時刻の形式で文字列として返します。
STOP_TIME_STRは、停止時間を日付と時刻の形式で文字列として返します。
TIME_FORMATは、日付と時刻の文字列のフォーマットに使用される時間形式を返します。
DATE_FORMATは、日付と時刻の文字列のフォーマットに使用される日付形式を返します。
getmodelunit(LENGTH_MULTIPLE)
getreportnum (node report, int column, int rowsback)
Dynamoで使用
説明
Dynamoで使用します。Reportオブジェクトの指定された列にある値を返します。行は、テーブル内の行数からrowsbackパラメータを減算して求められます。
double myval = getreportnum(current,3,0);
groupsetnames (node namenode, num startnum, num append)
説明
開発者向けです。モデル内で選択されたすべてのオブジェクトの名前を、namenodeの文字列データに設定します。appendが1なら、それぞれの名前の末尾に数値が付加されます。この数値はstartnumから始まり、オブジェクトごとに1ずつ増やされます。
groupsetnames("WeldStation",1,1);
hideprogressbar ()
説明
開発者向けです。進行状況バーを非表示にします。
hideprogressbar();
highestconnection ()
番号が最も大きいサーバー接続インデックスを取得する
説明
番号が最も大きいサーバー接続インデックスを返します。
int highconn = highestconnection();
insertcopy (obj originalobject, obj containerobject)
フローアイテムのコピーを作成し、コンテナオブジェクトに移動する
説明
フローアイテムのコピーを作成し、コンテナオブジェクトに移動します。これにより、コンテナのOnReceiveイベントが実行されます。
insertcopy(item, current);

フローアイテムの複製を作成し、currentオブジェクトに移動します。
integrityscan (obj class, obj start)
説明
開発者向けです。モデルのオブジェクトから属性が削除されていないかを、クラスオブジェクトに基づいてチェックします。与えられた開始ノードから検索が実行されます。
integrityscan(rank(library(1)),model())
isprojectcompiled ()
説明
開発者向けです。プロジェクトがコンパイル済みなら1を返します。
isprojectcompiled()
loadselectedfromfile (obj highlightedobj)
説明
開発者向けです。以前に保存されたツリーファイルを、強調表示されているオブジェクトにロードします。
loadselectedfromfile(selectedobject(ownerview(c)))
loadstate ()
説明
開発者向けです。プロジェクトの状態をロードします。savestate()がすでに実行されている場合、モデルを再度実行する前にこのコマンドを実行する必要があります。
loadstate();
loaduserlibrary (str libfile [, obj libraryview, num reloadmedia, num changeitemcurrent, num autoinstall])
説明
開発者向けです。libfileで指定されたパスからライブラリをロードします。reloadmediaが真のとき、ライブラリのロード後にautoloadallmedia()が呼び出されます。autoinstallが真のとき、ライブラリのロードと新規モデルのautoinstallオブジェクトがモデルに追加されます。libraryviewおよびchangeitemcurrentパラメータは、現在は使用されません。
loaduserlibrary(cdir() + "libraries/mylib.fsl");
memberadd (obj childobject, str parentname, num type)
説明
type = 1なら、「parentname」という名前のタイムテーブルにメンバーとしてchildobjectを追加します。
type = 2なら、「parentname」という名前のMTBFMTTRオブジェクトにメンバーとしてchildobjectを追加します。
このコマンドは、各種のシフトにオペレーターを動的に割り当てるためなどに便利です。
memberadd(model().subnodes[2],"TimeTable1",1)
memberremove (obj childobject, str parentname, num type)
説明
type = 1なら、「parentname」という名前のタイムテーブルのメンバーからchildobjectを削除します。
type = 2なら、「parentname」という名前のMTBFMTTRオブジェクトのメンバーからchildobjectを削除します。
memberadd()を参照してください。
memberremove(model().subnodes[2],"TimeTable1",1)
memberremoveall (str parentname, num type)
説明
type = 1なら、「parentname」という名前のタイムテーブルからすべてのメンバーを削除します。
type = 2なら、「parentname」という名前のMTBFMTTRオブジェクトからすべてのメンバーを削除します。
memberremove()を参照してください。
memberremoveall("TimeTable1",1)
moveobject (obj object, obj location[, num outport])
オブジェクトを指定の場所に移動する
説明
このコマンドは、オブジェクトを指定のポート経由で、指定の場所へ移動します。指定されたポートが実際に存在する必要はありません。この値は受信側の場所が、オブジェクトがどのポートから来たのかを参照可能にするためのものです。オブジェクトが場所に移動するとき、その場所のOnReceiveイベント関数が実行されます。これには、OnEntryトリガー関数も含まれます。イベントがキューに置かれた状態で、フローアイテムに対して明示的にこのコマンドを呼び出すと、問題が発生することがあります。移動対象のオブジェクトについて保留中のイベントが存在しないのが明らかな場合のみ使用してください。
moveobject(current.first,current.centerObjects[1]);

currentにより参照されるオブジェクト内に存在する最初のオブジェクトを、currentの最初のセンターポートに接続されているオブジェクトに移動します。
moveselectedintohighlighted (obj highlightedobj [, node selectedcontainer])
説明
開発者向けです。モデル内で選択されたすべてのオブジェクトを、強調表示されているオブジェクトに移動します。
moveselectedintohighlighted(selectedobject(ownerview(c)))
nametomodelpath (obj node, obj object)
廃止、treenode.getPath()を使用すること
説明
このコマンドは廃止されました。代わりにtreenodegetPath()を使用してください。

ノードの名前を、モデルに相対的なオブジェクトのパスに設定します。
nametomodelpath(curlistnode, current);
notifylinecontroller (node object, int controllernum, num output, num sendinglast [0/1])
Dynamoで使用
説明
Dynamoで使用します。オブジェクトに接続されているLineControllerに対して、材料がラインを離れたため、実行が完了したかどうかをControllerが決定できることを通知します。通知を受けるLineControllerの番号は、contollernumパラメータで指定されます。オブジェクトは、モデルが実行を開始した後でどれだけの量の材料(種類を問わず)が退出したのか、および退出した材料がオブジェクトの最後の材料かどうかを報告します。
notifylinecontroller(current,1,current.stats.output + 1,(current.subnodes.length == 1));
pickoptiononselect (obj view)
説明
開発者向けです。このコマンドは、ピックリストのguiコントロールで、オプションが選択されたときのコンボボックスのテキストを変更するため使用されます。
pickoptiononselect(c);
rotateselected (double angle, double x, double y[, obj roottree])
説明
モデル内の選択されたすべてのオブジェクトを、割り当てられた原点のx/y位置の周囲で回転します。
rotateselected(90, 5, 0)

この例は、選択されたオブジェクトを場所(5,0)の周囲で90度回転します。
savebyname (obj tree, str filename)
説明
開発者向けです。指定されたツリーノードを、与えられた名前のファイルに保存します。
savebyname(Model.find("MyProcessor"), "C:\\MyProcessor.t");
savemodelprepare ()
説明
開発者向けです。モデルを保存する準備としてリセットなどの処理を行います。
savemodelprepare();
saveselectedtofile ()
説明
開発者向けです。モデル内で選択されたすべてのオブジェクトを、ツリーファイルに保存します。
saveselectedtofile()
savestate ()
説明
開発者向けです。プロジェクトの状態を保存します。このコマンドが実行されると、プロジェクト(.fsp)を保存して、後で開いてコンパイル、loadstate()の実行、および以前に開始したスポットからの実行を行えます。
savestate();
savetree (node tree, str extension, str description, str startingpath)
説明
開発者向けです。ファイルの保存ダイアログを開き、保存するファイル名の入力をユーザーに求めます。渡されるツリーは、セッションが選択されていない限り、指定の名前で保存されます。その場合、最初のパラメータは無視されます。FlexScriptでは、cdir()およびpdir()をパスとして直接使用できません。
savetree(model(),"fsm","FlexSim Model",documentsdir());
searchfornode (str/node searchstr, node startnode, num findnr[, num searchobjects])
説明
開発者向けです。startnodeから、searchstrを含む名前を持つノードを再帰的に検索します。findnrパラメータは、与えられた名前を含むノードが検索により複数見つかった場合に有用です。このパラメータに数値iを指定すると、i番目に見つかったノードが返されます。searchobjectsに1を設定すると、オブジェクトのデータノードが検索されます。
seteventtime (str EventName, num time, num timemode[1/2], num createevent[1/0])
グローバルUserEventの「繰り返しのイベント時間」を設定する
説明
指定されたグローバルUserEventの「繰り返しのイベント時間」を設定します。timemode = 1なら、timevalが直接使用されます。それ以外の場合、timeval - time()が使用されます。createevent = 1なら、「繰り返しのイベント時間」の更新に加えて、以前に指定された時間に単一のイベントが作成されます。
seteventtime("UserEvent1",20,1,0);

「UserEvent1」という名前のグローバルusereventの「繰り返しのイベント時間」を20に設定します。
setprogressbar (num progress)
説明
開発者向けです。進行状況バーを指定された値に設定します。値は0~100の範囲です。
setprogressbar((numread / numtotal) * 100);
showprogressbar (str caption)
説明
開発者向けです。指定されたキャプション付きで進行状況バーを開きます。バーの進行状況は0に初期化されます。進行状況の値を更新するにはsetprogressbarを使用します。
showprogressbar("Loading data, please wait");
so ()
so()として割り当てられた最後のノードへの参照を取得する
説明
このコマンドは、選択されたオブジェクトを割り当てられた最後のノードへの参照を返します。このコマンドは、スクリプトウィンドウでのみ使用されます。ノードをsoとして割り当てるには、ツリー内のノードを右クリックし、[編集]|[このノードを指定(so)]を選択します。ツリー内のどのノードにも、選択されたオブジェクトを割り当てできます。
getnodename(so())

選択されたオブジェクトを現在割り当てられているオブジェクトの名前を返します。このコマンドは一般に、スクリプトウィンドウでのみ使用されます。スクリプトウィンドウでは、最後のセミコロン(;)は必要ありません。
startuploadlibraries ([num viewalreadyset])
説明
開発者向けです。スタートアップ時にライブラリをロードします。
startuploadlibraries()
transfernodeobj (node movenode, node container)
movenodeをcontainerノードのオブジェクトデータに移動する
説明
このコマンドはmovenodeを、containerノードのオブジェクトデータに移動します。これはmoveobjectコマンドとほぼ同じですが、イベント(OnSend、OnReceive)が実行されない点が異なります。
transfernodeobj(current.attrs.find("body"), current.next);
updatereport (num/str/node report)
Dynamoで使用
説明
Dynamoで使用します。指定されたReportをテーブルの新しい行に追加し、正しく入力します。時間ベースでないエントリを追加するために使用されます。
updatereport("ResultsReport");
userinput (obj targetnode, str text)
ダイアログボックスで値の入力をユーザーに求める
説明
ダイアログボックスで値の入力をユーザーに求めます。この値は指定されたノードに置かれます。ダイアログが開いている間、モデルの実行は停止しません。
userinput(model().subnodes[3].labels["myLabel"],"Please enter a value");
validatename (obj node, num isviewtext [, obj object])
説明
開発者向けです。ノードの名前をFlexSimの有効な名前にするため、無効な文字をアンダースコアに置き換え、変更が行われ場合はメッセージを表示します。isviewtextが1なら、渡されたノードは編集フィールドと見なされ、ノードの名前の代わりにフィールドのviewtextが変更されます。objectパラメータが指定された場合、コンテナに存在する他のすべてのオブジェクト名に対して、オブジェクト名がチェックされます。同じ名前が存在する場合、エラーメッセージが表示されます。このコマンドは、オブジェクトの[プロパティ]ウィンドウで[適用]または[OK]ボタンが押されたとき呼び出されます。
validatename(current, 0);

モデル実行

シミュレーションの実行を停止、開始、管理するためのコマンド。
endreplication (num onlyifexperimenting)
現在の実験ツールの複製を終了する
説明
現在の実験ツールの複製を終了します。実験ツールの終了時間が設定されておらず、特定の条件が真になることで終了する場合に使用します。onlyifexperimentingに1を指定すると、実験の実行中のみ停止が行われます。
if(current.stats.output >= 5000) endreplication(1);
getrunstate ()
モデルが現在実行中なら1を、そうでなければ0を返す
説明
モデルが現在実行中なら1を、そうでなければ0を返します。
if(!getrunstate()){msg("Model Stopped", "The model is not running right now.",1);}

スクリプトウィンドウから実行すると、モデルが停止している場合のみメッセージが表示されます。
go ([num fast])
シミュレーションの実行を開始する
説明
このコマンドは、シミュレーションの実行を開始します。イベントキューにイベントが存在する場合、クロックがそのイベントに到達したときに発生します。キューにイベントがなければ、クロックは停止します。このコマンドはシミュレーションをリセットしません。fastが1なら、開始前にオブジェクトをバインドしません。これにより、シミュレーションの停止と開始を頻繁に行うときに速度が向上します。runfunction()も参照してください。
stop();
if (msg("Model Stopped","Continue?")==1)
{
go();
}

モデルを停止してから、再開するかどうかの入力をユーザーに求めます。ユーザーが[OK]を押すと、モデルは停止した場所から続行されます。
realtime (num timecode)
リアルクロック時間を取得する
説明
timecodeに基づいて、さまざまな形式でリアルクロック時間を返します。

1 = 1970年1月1日の真夜中からの秒数
2 = 最後に秒が変化してからのミリ秒の数
10 = hh:mm:ss形式の時間文字列
11 = mm/dd/yy形式の日付文字列
12 = Mon Nov 15 15:49:12 2004の形式の日付と時間の文字列
string curdatetime = realtime(12);
resetexperiment ()
説明
開発者向けです。完全なモデルのリセットを行わず、実験をリセットします。通常は、実験マネージャーにより内部的に使用されます。
resetexperiment()
resetlayer (obj layer)
説明
開発者向けです。渡されたレイヤーをリセットします。代わりにresetmodelを使用してください。
resetmodel ([num buildflexscript])
モデルをリセットする
説明
モデルをリセットします。reset()の代わりにこのコマンドを使用してください。パラメータは、エンジンがすべてのflexscript関数も構築するかどうかを指定します。
resetmodel()
resetstats ()
説明
開発者向けです。完全なモデルのリセットを行わず、すべてのオブジェクト統計をリセットします。通常は、実験マネージャーにより内部的に使用されます。
resetstats()
runfunction ()
説明
開発者向けです。ユーザーの入出力をブロックし、cpuで可能な最高速でモデルを実行して、stoptimeが満たされたときに制御を返します。stoptime = 0なら、stoptimeは1000と見なされます。go()を参照してください。
runfunction()
runspeed (num speed[, num precisionMode])
シミュレーションの速度を設定する
説明
このコマンドは、シミュレーションの実行速度を設定します。[実行コントロール]ウィンドウのスライバーバーをクリックしてドラッグするのと同じですが、より正確です。モデルが実行を試みる速度は、実際の秒あたりのシミュレーション時間単位の数で定義されます。コンピュータのcpuがその速度に追い付けない場合、モデルが実際にその速度で実行されるとは限りません。precisionModeは、使用する精度を定義します。0なら、精度モードは呼び出し前と同じに維持されます。RUN_SPEED_LOW_PRECISIONを渡すと、低精度の実行速度に設定されます。RUN_SPEED_HIGH_PRECISIONを渡すと、高精度モードで実行されます。これは、エミュレーションの目的で使用されます。精度モードはリセットごとに低精度にリセットされるため、高精度モードを有効にするには、リセット時またはモデルの開始時に設定を高精度に戻すメカニズムが必要です。
runspeed(10);
go();

シミュレーションの速度を、実際の1秒ごとにシミュレーションの10秒に設定してから、モデルを実行します。
step ()
説明
開発者向けです。モデルの実行を1ステップだけ進めます。1ステップは、正確に1イベントの処理を意味します。
step()
stop ([num fast])
シミュレーションの実行を停止する
説明
このコマンドは、シミュレーションクロックの実行を停止します。モデルは停止し、保留中のイベントはすべてキューに維持されます。ユーザーがリセット前にモデルを再開した場合、モデルは正確に停止した時点から続行します。fastが1なら、FlexSimはオブジェクトを再バインドしません。これにより、停止と開始を頻繁に行うときに速度が向上します。
stop()
stoptime (num time)
シミュレーションが停止する時間を設定する
説明
このコマンドは、シミュレーションが実行を停止する時間を設定します。モデルは正確に指定された時間で停止するとは限りませんが、指定された停止時間、またはそれ以後で最初のシステムチェック時に停止します。実行するイベントが残っていなければ、モデルはそれより早く停止することもあります。timeが-1なら、このコマンドは現在の停止時間を返します。
if (stoptime(-1) < 500)
stoptime(500);

stoptimeが500より小さければ、500に設定します。
updatestates ()
モデル内のすべてのオブジェクトの状態を更新する
説明
モデル内のすべてのオブジェクトの状態を更新します。また、このコマンドはすべてのオブジェクトのコンテンツ統計も更新します。[停止]ボタンとメニューオプションはどちらも、オブジェクトの統計を更新するため、stop()を実行する前にこの関数を呼び出します。これを行わないと、レポートはオブジェクトが最後の状態であった時間を反映しません。
updatestates();

ネットワークノード

ネットワークノードオブジェクトとネットワークパスに関連するコマンド。
closenodeedge (obj object, num edgenum)
ネットワークノードのエッジへのエントリを閉じる
説明
ネットワークノードの指定されたエッジ番号へのエントリを閉じます。
エッジの色がオレンジに変わり、閉じたことを示します。
エッジが開いている/閉じているのステータスは、移動者が
ノードから次のノードへ移動するときのみチェックされます(オフセットからノードに進入するときではなく)。
closenodeedge(current.centerObjects[1], 3);
getedgedist (obj netnode, num edgenum)
ネットワークノードのエッジの距離を取得する
説明
ネットワークノードの指定されたエッジの距離を返します。
getedgedist(current, 1)
getedgespeedlimit (obj netnode, num edgenum)
ネットワークノードのエッジの制限速度を取得する
説明
ネットワークノードの指定されたエッジの制限速度を返します。
getedgespeedlimit(current, 1)
getnetnode (obj object, num nodenr)
A接続ラインを持つオブジェクトに接続されている、n番目のネットワークノードを取得する
説明
「青」または「ステーション」接続ラインを持つオブジェクトに接続されている、n番目のネットワークノードを返します。
getnetnode(current, 1)
getnetnodespline (obj netnode, num edgenr)
netnodeのエッジedgenrのスプラインヘッドへの参照を取得する
説明
ネットワークノードの指定されたエッジのスプラインヘッドへの参照を返します。その後でspline()コマンドを使用し、そのスプラインの場所データにアクセスできます。スプラインヘッドは、渡されるネットワークノードの中にある必要はなく、エッジの反対側のネットワークノードに存在していてもかまわないことに注意してください。isedgeforward()コマンドを使用して、スプラインがネットワークノード内に存在するかどうかを照会できます。存在しない場合、spline()コマンドに渡されるスプラインのパーセンテージ距離は逆方向になります。
treenode splinehead = getnetnodespline(netnode, 2);
getnetworkdistance (num fromnetnoderank, num tonetnoderank)
2つのネットワークノード間のネットワーク距離を取得する
説明
ネットワークノード間のネットワーク距離を返します。ネットワークノードは、ネットワークノードへのポインターではなくメンバーランクで参照されることに注意してください。ネットワークノードのメンバーランクを取得するには、rankfromnetnode()を使用してください。
getnetworkdistance(rankfromnetnode(current), rankfromnetnode(current.outObjects[1]));
getnextnetnode (num fromnn, num tonn)
fromnnからtonnに到達するための、次のネットワークノードのランクを取得する
説明
あるネットワークノードから目的地のネットワークノードへ移動するための、次のネットワークノードのランクを返します。戻り値とパラメータはすべて、ネットワークノードのメンバーランクです。ネットワークノードのメンバーランクを取得するにはrankfromnetnode()を、メンバーランクからネットワークノードを取得するにはnetnodefromrank()を使用してください。
treenode nextnode = netnodefromrank(getnextnetnode(rankfromnetnode(current), rankfromnetnode(Model.find("NN5"))));
getnextnetnodeoutport (num fromnn, num tonn)
ネットワークノードfromnnからtonnに到達するための出力ポートを取得する
説明
ソースネットワークノードから目的地ネットワークノードに到達するため使用される出力ポート、またはエッジ番号を返します。
int outport = getnextnetnodeoutport(rankfromnetnode(current), rankfromnetnode(Model.find("NN5")));
gettenavigator (obj taskexecuter)
taskexecuterが現在接続されているナビゲータを取得する
説明
taskexecuter(TE)が現在接続されているナビゲータを返します。これはDefaultNavigatorまたはDefaultNetworkNavigatorです。
treenode navigator = gettenavigator(current);
gettenetnode (obj taskexecuter)
taskexecuterがA接続によってアタッチされている現在のネットワークノードを取得する
説明
taskexecuter(TE)が赤い線によってアタッチされている現在のネットワークノードを返します。
treenode netnode = gettenetnode(current);
gettenetworkinfo (obj taskexecuter, obj destobj, num info)
ノードネットワークのtaskexecuterの現在の状態に関する情報を取得する
説明
ノードネットワークのtaskexecuterの現在の状態に関する情報を返します。有効なクエリは次のとおりです。

NETWORK_INFO_DEST_NET_NODE_RANK - TEがdestobjへの移動タスクを与えられたとき、移動する目的地のネットワークノードの列/ランクを返します。これは通常はdestobjにアタッチされているネットワークノードですが、複数のネットワークノードがdestobjにアタッチされている場合、このコマンドは最も近いものを返します。
NETWORK_INFO_ORIGIN_NET_NODE_RANK - TEがdestobjへの移動タスクを与えられたとき、開始点となるネットワークノードの列/ランクを返します。これは通常はTEが置かれている現在のネットワークノードですが、そのネットワークに仮想出口が存在する場合、このコマンドは移動距離が最も短くなる仮想出口を返します。
NETWORK_INFO_DISTANCE - ネットワーク経由で目的地オブジェクトへの最も短い移動距離を返します。
NETWORK_INFO_CUR_DIST_ALONG_EDGE - TEが移動タスクをアクティブに実行中のときのみ有効です。TEが現在のネットワークエッジに沿って移動した現在の距離を返します。このクエリでは、destobjにNULLを指定します。
NETWORK_INFO_CUR_TRAVEL_ORIGIN_RANK - TEが移動タスクをアクティブに実行中のときのみ有効です。TEが現在の移動オペレーションを開始した元のノードのランクを返します。このクエリでは、destobjにNULLを指定します。
NETWORK_INFO_CUR_TRAVEL_DEST_RANK - TEが移動タスクをアクティブに実行中のときのみ有効です。TEが現在の移動オペレーションにより移動する目的地のノードのランクを返します。このクエリでは、destobjにNULLを指定します。
int destrank = gettenetworkinfo(current, NULL, NETWORK_INFO_CUR_TRAVEL_DEST_RANK);
isedgeforward (obj netnode, num edgenr)
ネットワークノードのエッジが順方向なら1を、そうでなければ0を返す
説明
ネットワークノードのエッジが「順方向」、すなわち作成時に接続がこのネットワークノードから他のネットワークノードに向けてドラッグされた場合、1を返します。エッジが順方向の場合、スプラインヘッドはこのネットワークノードに含まれ、スプライン距離の値はこのネットワークから順方向に計算されます。
isedgeforward(current, 2)
netnodefromrank (num rank)
ネットワークノードのランクrankにあるメンバーを返す
説明
ネットワークノードのメンバーランクを取得し、ネットワークノードへの実際の参照を返します。
treenode netnode = netnodefromrank(5);
opennodeedge (obj networknode, num edgenum)
ネットワークノードのエッジへのエントリを開く
説明
ネットワークノードの指定されたエッジ番号へのエントリを開きます。ノードのエッジをclosenodeedge()で閉じると、移動者はエッジに進入できなくなります。このコマンドはエッジを再度開きます。
opennodeedge(current.centerObjects[1], 3);

currentオブジェクトのセンターポート1に接続されているネットワークノードの、ノードエッジ3を開きます。
optimizenetwork ()
モデルのネットワークナビゲータで、距離テーブルを再生成する
説明
モデルのネットワークナビゲータで、距離テーブルを再生成します。
このコマンドは、シミュレーション実行時にネットワーク内のエッジを動的に接続するとき使用します。
大きなネットワークでは、この動作に数秒を要することがあります。
optimizenetwork()
rankfromnetnode (obj netnode)
ネットワークノードnetnodeのメンバーランクを返す
説明
ネットワークノードの参照を取得し、そのネットワークノードのメンバーランクを返します。各ネットワークノードには固有の「メンバーランク」が存在し、ネットワークの距離および次のノードのテーブルで、行/列の参照として使用されます。モデルに最初に追加されたネットワークノードがメンバーランク1、2番目がメンバーランク2の順に番号が付けられます。
int memberrank = rankfromnetnode(current);
reassignnetnode (obj taskexecuter, obj networknode)
説明
ネットワークノードシステムを使用するTaskExecuterは、システム内の特定のネットワークノード(赤い線のグラフィックス)と常に関連付けられていますが、これは移動に伴って変化し続けます。このコマンドは、指定されたtaskexecuterをネットワークノードに再割り当てします。
警告:このコマンドは、TaskExecuterがネットワーク上に存在し、現在移動タスクを実行中でないことが明らかな場合のみ実行してください。
reassignnetnode(current, current.centrObjects[5]);

現在のTaskExecuterを、5番目のセンターポートに接続されているネットワークノードに再割り当てします。
redirectnetworktraveler (obj traveler, obj newdest)
説明
travelerの最終目的地を、newdestオブジェクトのものに変更する操作を試みます。travelerが現在TASKTYPE_TRAVELタスクを実行中で、移動ネットワークに存在する場合のみ動作します。成功した場合は1を返します。
redirectnetworktraveler(traveler, Model.find("Processor5"));

travelerが、現在ネットワークノードシステム上を移動中のtaskexecuterへのポインターで、Processor5がネットワークに接続されていると想定し、モデル内でProcessor5という名前のオブジェクトにtravelerをリダイレクトします。
trafficcontrolinfo (obj trafficcontrol, num info [, num a, num b])
トラフィックコントローラーについての情報を取得する
説明
このコマンドを使用して、トラフィック制御についての各種の情報にアクセスし、トラフィック制御でロジックを実行するよう指示できます。実行されるロジックや返されるデータは、infoパラメータによって次のように指定されます。

trafficcontrolinfo(tc, TCI_NR_ACTIVE_TRAVELERS) - トラフィック制御でアクティブな移動者の総数を返します。

trafficcontrolinfo(tc, TCI_ACTIVE_TRAVELER, num travelnr) - トラフィック制御でアクティブなn番目の移動者への参照を返します。

trafficcontrolinfo(tc, TCI_ACTIVE_TRAVELER_COUPLING, num travelernr) - トラフィック制御の変数ツリーに格納され、アクティブなn番目の移動者と関連付けられている結合ノードへの参照を返します。この結合を使用して、アクティブな移動者に関するカスタムユーザー情報を格納できます。このためには、nodeinsertinto()を使用して結合ノードにサブノードを追加する、データを追加するなどを行います。アクティブな移動者がトラフィック制御エリアを離れると、結合およびそのサブノードは自動的に破棄されることに注意してください。

trafficcontrolinfo(tc, TCI_ACTIVE_TRAVELER_RANK_FROM_TRAVELER, obj traveler) - このコマンドは移動者オブジェクトへの参照を取得し、トラフィック制御のアクティブな移動者のうち、どのインデックスがその移動者と関連付けられているかを返します。0が返された場合、そのオブジェクトはトラフィック制御内のアクティブな移動者ではありません。

trafficcontrolinfo(tc, TCI_NR_MEMBERS) - トラフィック制御エリアのメンバーであるネットワークノードの総数を返します。

trafficcontrolinfo(tc, TCI_MEMBER, num membernr) - トラフィック制御のn番目のネットワークノードメンバーへの参照を返します。

trafficcontrolinfo(tc, TCI_MEMBER_COUPLING, num membernr) - トラフィック制御の変数に格納され、トラフィック制御のn番目のネットワークノードメンバーと関連付けられている結合ノードへの参照を返します。TCI_ACTIVE_TRAVELER_COUPLINGと同様に、このノードを使用して、そのネットワークノードに関連するデータを格納できます。

trafficcontrolinfo(tc, TCI_MEMBER_RANK_FROM_NETWORK_NODE, obj netnode) - ネットワークノードの参照を取得し、トラフィック制御内における、そのネットワークノードのメンバーインデックスを返します。0が返された場合、そのネットワークノードはトラフィック制御のメンバーではありません。

trafficcontrolinfo(tc, TCI_NR_ENTRY_REQUESTS) - トラフィック制御エリアへの進入待ちキューに存在する進入リクエストの数を返します。

trafficcontrolinfo(tc, TCI_ENTRY_REQUEST_TRAVELER, num requestnr) - n番目の進入リクエストに関連付けられており、トラフィック制御エリアへの進入待ちである移動者への参照を返します。

trafficcontrolinfo(tc, TCI_ENTRY_REQUEST_NETWORK_NODE, num requestnr) - 移動者が待機しており、n番目の進入リクエストと関連付けられているネットワークノードへの参照を返します。

trafficcontrolinfo(tc, TCI_ENTRY_REQUEST_NODE, num requestnr) - n番目の進入リクエストに関連付けられているノードへの参照を返します。TCI_ACTIVE_TRAVELER_COUPLINGと同様に、サブノードを追加して、リクエストに関連するデータを格納できます。ただし、このノードのデータはトラフィック制御ロジックで使用されるため、変更してはいけません。
trafficcontrolinfo(tc, TCI_ALLOW_ENTRY, num requestnr) - このコマンドを呼び出すと、トラフィック制御に対して、n番目の進入リクエストと関連付けられている移動者のトラフィック制御エリアへの進入を許可するよう通知されます。

trafficcontrolinfo(tc, TCI_SET_ENTRY_REQUEST_RANK, num requestnr, num settorank) - このコマンドを呼び出すと、トラフィック制御はn番目の進入リクエストを指定されたrankにランク変更します。

また、トラフィック制御トリガーの使用に関連するノートは、トラフィック制御のデフォルトロジックに優先されます。トラフィック制御のOnEntryRequestトリガーは、移動者がトラフィック制御エリアへの進入を最初に要求したとき起動され、3つのいずれかの値を返します。

TC_ON_ENTRY_REQUEST_DEFAULT - トリガーからこの値が返された場合、トラフィック制御は通常のフィルタリングロジックを実行します。

TC_ON_ENTRY_REQUEST_ALLOW - この値が返された場合、トラフィック制御はデフォルトロジックを無視し、移動者がエリアに進入することを無条件で許可します。このオプションが使用されるとき、トラフィック制御は最大容量の変数を無視するため、定義されているロジックによっては、エリア内の移動者の数がトラフィック制御に指定した最大容量変数を超過する可能性があることに注意してください。

TC_ON_ENTRY_REQUEST_QUEUE - この値が返された場合、トラフィック制御はデフォルトロジックを無視し、リクエストをリクエストキューに追加して、その時点では移動者がエリアに進入することを許可しません。
トラフィック制御のOnExitトリガーは、2つの戻り値のどちらかを返します。

0 - この値が返された場合、トラフィック制御はデフォルトロジックを実行し、他の移動者に進入その他を許可します。

1 - この値が返された場合、トラフィック制御は何も行いません。この場合、ユーザーがトリガーを使用して、どの移動者が受け取るのかを、TCI_ALLOW_ENTRYを使用し、トラフィック制御に対して明示的に通知します。

移動者のエリア進入を許可するためカスタムロジックの実装を計画している場合は、トラフィック制御のデフォルトの「相互排除」モードを使用することをお勧めします。
treenode netnode = trafficcontrolinfo(tc, TCI_MEMBER, 2);

オブジェクトデータ

オブジェクトへのアクセスとデータの割り当てを行うコマンド。
assertvariable (obj object, str variablename, num datatype)
オブジェクトの変数variablenameへの参照を取得します。変数が存在しない場合は作成します。
説明
このコマンドは、与えられた名前の変数への参照を返します。変数が存在しない場合、定義されたデータタイプで作成されます。
treenode newvar = assertvariable(Model.find("/Processor1"),"MyVariable", DATATYPE_NUMBER);
classobject (obj object)
インスタンスのクラスオブジェクトを返す
説明
インスタンスのクラスオブジェクトを返します。
if(classobject(current) == library().find("?Processor"))
{
pt("Processor1 is an instance of the Processor class.");pr();
}

currentがProcessorなら、出力コンソールにメッセージを表示します。
contentunder (node thenode [, num objectsonly)
説明
このコマンドは、thenodeで指定されたノード内のツリーのノード数と、そのレイヤーから始まるサブツリーに含まれているノードの数の合計を返します。thenodeに他のノードが含まれていない場合、このコマンドは0を返します。objectsonlyが指定されていない、または0なら、FlexSimツリー内の任意のノードをthenodeとして渡すことができます。objectsonlyが0以外なら、オブジェクト以外のノードがthenodeとして渡された場合は0が返されます。
if (contentunder(current) >= getvarnum(current,"maxcontent"))
{
current.input.close;
}

currentの下に含まれているオブジェクトの数が、thisobjectdataにより参照されるオブジェクトのmaxcontentという変数と同じか、より大きい場合、currentの入力を閉じます。
emptyfluidobject (obj object)
流体オブジェクトのコンテンツを0に設定する
説明
流体オブジェクトのコンテンツを0に設定します。
emptyfluidobject(current);
fluidcontent (obj fluidobject)
流体オブジェクトの現在の流体コンテンツを取得する
説明
指定されたfluidobjectの現在の流体コンテンツを返します。オブジェクトの「curcontent」変数を読み出すのと同じ動作です。離散オブジェクトが渡された場合、このコマンドは意味を持ちません。
double objcontent = fluidcontent(current.outObjects[1]);
fluidmaxcontent (obj fluidobject)
流体オブジェクトの最大の流体コンテンツを取得する
説明
指定されたfluidobjectに定義された最大の流体コンテンツを返します。オブジェクトの「maxcontent」変数を読み出すのと同じ動作です。離散オブジェクトが渡された場合、このコマンドは意味を持ちません。
double objmaxcontent = fluidmaxcontent(current.outObjects[1]);
getanimationvar (obj object, num/str animation, str varName)
アニメーション変数の現在の値を取得する
説明
アニメーション変数の現在の値を取得します。アニメーション変数の詳細については、setanimationvar()を参照してください。
treenode curItem = getanimationvar(current, "Animation1", "Item1");
getcreationtime (obj object)
フローアイテムが作成された時間を取得する
説明
フローアイテムが最初に作成された時間を返します。
time() - getcreationtime(item)
getentrytime (obj object)
フローアイテムが現在のオブジェクトに進入した時間を取得する
説明
アイテムの最後の入力時間(フローアイテムが最後に別のオブジェクトに進入した時間)を返します。
time() - getentrytime(item)
getframe (obj object)
オブジェクトに描画される現在の形状フレームを取得する
説明
オブジェクトについて描画される現在の3D形状フレームを返します。オブジェクトに割り当てられている3D形状がmyshape.3dsという名前で、myshape.3dsと同じディレクトリにmyshapeFRAME1.3dsおよびmyshapeFRAME2.3dsというファイル名の2つの追加3D形状が存在するなら、myshape.3dsがロードされると同時に、2つの追加ファイルが自動的にFlexSimにロードされ、オブジェクトのフレーム0、1、2の設定により、オブジェクトの形状が、3つのファイルにより定義されるそれぞれの形状に変更されます。
if(getframe(current) == 3)) setframe(current, 5);
getobjectshapeindex (obj object)
オブジェクトに割り当てられている3D形状のインデックス番号を取得する
説明
オブジェクトに現在割り当てられている3D形状のインデックス番号を返します。
getobjectshapeindex(item);
getobjecttextureindex (obj object)
オブジェクトの3D形状のテクスチャとして割り当てられている画像のインデックス番号を取得する
説明
オブジェクトの3D形状のデフォルトテクスチャとして現在割り当てられている、bmpまたはjpeg画像のインデックス番号を返します。
getobjecttextureindex(item);
getoutput (obj involved)
廃止、Object.stats.output.valueを使用すること
説明
このコマンドは廃止されました。代わりに、Object.stats.output.valueを使用してください。

関連オブジェクトの出力統計を返します。
double outval = getoutput(current.centerObjects[1]);
getvarnode (obj object, str/num var)
オブジェクトの変数へのノード参照を取得する
説明
指定されたオブジェクトの、指定された変数のノードへの参照を返します。
treenode schedule = getvarnode(current,"schedule");
getvarnum (obj object, str/num var)
オブジェクトの数値変数の値を取得する
説明
指定されたオブジェクトの、指定された変数に格納されている数値を返します。
double speed = getvarnum(current,"speed");
getvarstr (obj object, str/num var)
オブジェクトの文字列変数の値を取得する
説明
指定されたオブジェクトの、指定された変数に格納されている文字列データを返します。
pt(getvarstr(model().subnodes[2],"creationtrigger"));
isclasstype (obj object, num/str classtype)
objectをclasstypeと比較し、yesなら1、noなら0を返す
説明
オブジェクトが与えられたclasstypeかどうかを返します。1はyesを、0はnoを意味します。classtype に使用可能なパラメータは
CLASSTYPE_FLEXSIMOBJECT
CLASSTYPE_FIXEDRESOURCE
CLASSTYPE_TASKEXECUTER
CLASSTYPE_NETWORKNODE
などです。
isclasstype(current, CLASSTYPE_DISPATCHER);
reassignticker (obj fluidobject, obj ticker[, int resortticker])
流体オブジェクトのティッカーを再割り当てする
説明
最初のパラメータとして渡される流体オブジェクトを、現在のティッカーの制御から、2番目のパラメータとして渡されるティッカーの制御に変更します。その後でオブジェクトは、新しいティッカーのティック時間が経過するごとに流体移動が計算されます。互いに接続されている流体オブジェクトは、常に同じティッカーで制御することをお勧めします。resorttickerが1なら、新しいティッカーは制御対象オブジェクトのリストをただちに再ソートします。これにより、一部の流体オブジェクトの評価順序が変更され、モデルの動作に副作用が起きる可能性があります。
reassignticker(current,Model.find("Ticker2",1);
resumeanimation (obj object, num/str animation[, num resumeAtType, num resumeAtVal])
廃止、Animationクラスを使用すること
説明
このコマンドは廃止されました。代わりにAnimationクラスを使用してください。

アニメーションの中間のポイントから、アニメーションを再開します。
resumeanimation(current, "Stand");
setanimationvar (obj object, num/str animation, str varName, num/obj toValue)
オブジェクトのアニメーション変数の値を設定する
説明
オブジェクトのアニメーション変数の値を設定します。アニメーション変数は、アニメーションのサロゲート、キーフレーム間の時間、与えられたキーフレームの場所/回転/サイズの値など、アニメーションを実行するごとに動的に変更の必要がある属性です。たとえば、アニメーションの構築にサロゲートを使用できます。このためには、アニメーションを作成するときFlowitem Binから、使用するデフォルトのビジュアルを選択します。その後でシミュレーションを実行するとき、これらのサロゲートについて実際のフローアイテムを代入します。この代入を行うには、そのサロゲートと関連付けたアニメーション変数の値を、フローアイテムへの実際の参照に設定します。別の例として、アニメーション変数を使用し、キーフレームのz位置を実行時に動的に定義できます。
setanimationvar(current, "Animation1", "Item1", current.first);
setframe (obj object, num/str toframe)
オブジェクトの形状フレームを設定する
説明
オブジェクトのframe属性を、framenumberに設定します。frameは表示する3D画像を定義します。これは、オブジェクトの3D形状をその場で変更するため便利な方法です。オブジェクトにフレームを定義する方法は2つあります。最初に、各種の3Dファイルの名前付けによってこの操作を行えます。たとえば、オブジェクトにデフォルト形状としてOperator.3dsが割り当てられ、Operator.3dsと同じディレクトリにOperatorFRAME1.3ds、OperatorFRAME2.3ds、OperatorFRAME3.3dsという名前の追加ファイルが存在する場合、frame属性を0、1、2、3に設定して、表示される形状をそれぞれの3dsファイルに変更できます。次に、オブジェクトのshape属性にサブノードを追加し、そのフレームに関連付けられている3Dファイルへのパスを各サブノードに持たせることができます。その場合、フレーム1はshape属性の最初のサブノードに、以後のフレームも同様に割り当てられます。これは、FlexSimの環境内で形状フレームを定義するため使用される手法です。toframeが文字列の場合、後者の方法をお勧めします。この場合、対応する名前を持つshape属性サブノードが探されます。このコマンドの用途の1つは、「壊れた」形状を表示するためOnDownトリガーの3D形状を変更することです。
if(getframe(current) == 3)) setframe(current, 5);
setobjectbillboard (obj object, num mode)
ビジュアルツールオブジェクトのbillboard属性を設定する
説明
このコマンドは、ビジュアルツールオブジェクトのbillboard属性を設定します。次のモードが利用可能です。
0:ビルボードなし、ビジュアルツールは回転の設定に基づいて表示されます。
1:垂直ビルボード(平面のみ)、モデル内で平面が垂直に立ち、同じビュー平面に沿って、常にカメラの方角を向きます。
2:全体ビルボード(平面のみ)、表示角度にかかわらず平面の表面が常に存在するようになります。
3:スクリーンロック済みビルボード、ビジュアルツールをビューの前面にロックします。
setobjectbillboard(current, 1);
setobjectshapeindex (obj object, num index)
オブジェクトの3D形状のインデックス番号を設定する
説明
オブジェクトの3D形状のインデックス番号を設定します。新しいインデックスを有効にするには、オブジェクトのshapeノードを削除するか、名前を変更する必要があるため、このコマンドはshapeノードの名前を「_shape」に変更します。インデックス番号は、現在インポートされている3D形状の有効なインデックス番号の必要があります。現在インポートされている3D形状を表示、および追加形状をインポートするには、[ビュー]->[メディアファイル]を使用します。オブジェクトの3D形状をその場で変更する別の方法として、setframe()を参照してください。
setobjectshapeindex(item,getshapeindex("fs3d\\Processor.3ds"));
setobjecttextureindex (obj object, num index)
オブジェクトの3D形状のテクスチャとして割り当てられている画像のインデックス番号を設定する
説明
オブジェクトの3D形状のテクスチャとして割り当てられている、bmpまたはjpeg画像のインデックス番号を設定します。インデックス番号は、現在インポートされているbmpまたはjpeg画像の有効なインデックス番号の必要があります。現在インポートされている画像を表示する、または別のbmpやjpeg画像をインポートするには、ツールボックスの[メディアをインポート]オプションを使用してください。このコマンドはオブジェクトのimageobject属性を変更しないため、モデルがリセットされると元のテクスチャに戻ることに注意してください。
setobjecttextureindex(item,gettextureindex("bitmaps\\flowitempicture.bmp"));
setresetposition (obj object)
オブジェクトのリセット位置を設定する
説明
objectのリセット位置を現在の位置に設定します。
setresetposition(current);
setvarnum (obj object, str/num var, num value)
オブジェクトの数値変数の値を設定する
説明
objectの指定された変数を、valueで渡された数値に設定します。
setvarnum(current.centerObjects[1],"speed",1.5);
setvarstr (obj object, str/num var, str value)
オブジェクトの文字列変数の値を設定する
説明
objectの指定された変数の文字列値を設定します。
setvarstr(current,"cycletime","return exponential(10,1);");
switch_enablestats (obj object[, num off/on])
オブジェクトの「stats」フラグを取得または設定する
説明
objectの「stats」フラグを取得または設定します。値が1なら有効に、0なら無効に設定し、-1なら現在の値を取得します。
switch_enablestats(so(),1)
switch_hideconnectors (obj object[, num off/on])
オブジェクトの「Hide Connectors」フラグを取得または設定する
説明
objectの「Hide Connectors」フラグを取得または設定します。値が1なら非表示、0なら表示に設定し、-1なら現在の値を取得します。コネクターを非表示にすると、オブジェクトへの入力と出力の両方について、ポートおよび接続の表示がオフになります。ビューウィンドウにはhideallconnectorsという名前の属性があり、ビュー内のすべてのオブジェクトについてコネクターの表示をコントロールすることに注意してください。
switch_hideconnectors(so(),1)
switch_hidecontents (obj object[, num off/on])
オブジェクトの「Show Contents」フラグを取得または設定する
説明
objectの「Show Contents」フラグを取得または設定します。値が1なら非表示、0なら表示に設定し、-1なら現在の値を取得します。オブジェクトのコンテンツを非表示にすると、その中に含まれているオブジェクト(例:フローアイテム)が表示されなくなります。
switch_hidecontents(so(),1)
switch_hidelabel (obj object[, num off/on])
オブジェクトの「Show Name」フラグを取得または設定する
説明
objectの「Show Name」フラグを取得または設定します。値が1なら、オブジェクトの名前と統計情報を画面に表示しません。値が0なら、ビューウィンドウのviewhidealllabels属性に応じて、オブジェクトの名前と、多くの場合は統計情報を表示します。値が-1なら、スイッチの現在の値を取得します。ビューウィンドウのviewhidealllabels属性は次の値のいずれかで、ウィンドウ内のすべてのオブジェクトについてラベル表示に適用されます。0=名前と統計情報を表示、1=名前と統計情報を非表示、2=名前のみを表示。
switch_hidelabel(so(),1)
switch_hideshape (obj object[, num off/on])
オブジェクトの「Show 3D Shape」フラグを取得または設定する
説明
objectの「Show 3D Shape」フラグを取得または設定します。値が1なら非表示、0なら表示、-1なら現在の値を取得します。ビューウィンドウにはhidealldrawcontentという名前の属性もあり、ビュー内のすべてのオブジェクトについて3D形状の表示をコントロールすることに注意してください。
switch_hideshape(so(),1)
switch_showobject (obj object[, num off/on])
オブジェクトノードのオブジェクトデータを展開/折りたたみする
説明
ツリービューのオブジェクトノードのオブジェクトデータを展開または折りたたみします。これは、ツリービューでオブジェクトの[>次へ]をクリックするのと同様の操作です。値が1なら展開、0なら折りたたみ、-1なら現在の値を取得します。
switch_showobject(so(),1)
updatelocations (obj object)
オブジェクト、およびその中にあるオブジェクトの場所を更新する
説明
このコマンドは、オブジェクト自身、およびその中にあるオブジェクトの場所を更新します。このコマンドを使用して、クエリの実行や、オブジェクトの場所を照会する機能を実行する前に、場所を更新できます。この関数にフローアイテムをオブジェクトとして渡すことはできません。
updatelocations(current);
updatestate (obj object [, num profilenr])
オブジェクトの状態を更新する
説明
指定されたオブジェクトの状態を更新します。モデルの実行中に、オブジェクトのOnDraw関数