jrobinson Posted April 23, 2020 Share Posted April 23, 2020 Hi, We have a model where we have multiple entity states. This creates interface challenges in defining and populating these states or changing many of them at a time. My question is, can the UI be bypassed in some way using some kind of batch operations? For example suppose I want to assign 150 entity states using string construction and naming conventions easily set up in a spreadsheet. Is there a way to define all those states and import them from a file rather than hand editing each one in the Definitions UI? Another example is I want to set large numbers of these states at appropriate points in processing. Is there any way to do so by just importing name value pairs from a file rather than hand editing each one and copy pasting from a spreadsheet built up accordingly. Thanks Very Much, Jim Link to comment Share on other sites More sharing options...
dsturrock Posted April 24, 2020 Share Posted April 24, 2020 I have attached a simple example of one approach. 1) I edited the ModelEntity object and added a state array of type MatrixFromTable. This type of array is automatically initialized from a table. Ideally I might have also added a table to the entity, but Simio doesn't work that way. Instead, I added a RepeatGroup named InitializationValues consisting of a Real property. I used this repeat group as a way to essentially add a "table" into the object, since internal to Simio there is almost no difference between a table and a repeat group. 2) Back in the model I added a table and then imported data into that table from Excel. I used 10 rows, but I could have imported 350 rows with no change to anything else. 3) Now when you place the ModelEntity object into a model, you can pass a table into the InitializationValues repeat group. Again, intead of just typing a bunch of values into the repeat group, I just say go get the whole repeat group from a specified table. This has the result of sizing that state array inside the model entity to match the current size of the table, and then initializing the state values to whatever is in the table. 4) If you run the model, you can open the Watch window on any entity and view the values of its states. I expect this won't solve all your problems, but maybe it will give you a fresh approach to consider. ImportStateValues.spfx ImportStateValues.xlsx 1 Link to comment Share on other sites More sharing options...
jrobinson Posted April 27, 2020 Author Share Posted April 27, 2020 Dave, Thanks very much for your kind reply! I will take a look. Our intent is to do the "right" thing experimentally and initialize a bunch of task time states up front into the entities. This will mean carrying all those state values along through the processing. Since the number of entities is not particularly large at any one time I assume Simio will handle it. Best Regards, Jim Link to comment Share on other sites More sharing options...
Recommended Posts