Jump to content
Simio Forum

Welcome to the Simio Forum

Welcome to the Simio Forum! Experience the full experience of the forum by becoming a Simio Insider! You must be an Insider to post on any forum!



  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About ccrooks

  • Rank
    Senior Software Developer
  • Birthday March 12


Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. To help speed up a large batch of operations on a model, I would suggest trying the IModel.BulkUpdate routine. It may help. However, batch removals are hard. Our current code path always tries to keep the errors and error window up to date, which means on every deletion we basically notify every object in the model that something was deleted and give it an opportunity to say "Hey, wait! I was referencing that! Now I need to generate an error..." There may be ways to speed up the removal of a majority of objects from a model, but that is something we'd have to schedule internally on our feature backlog.
  2. When we first implemented it, we went with a standard "First Person Shooter" coordinate system, meaning (for a person standing up, looking forward), X was the horizontal on the screen, Y was vertical on the screen, and Z was depth. Of course, if you change your perspective to now "look down" at the world (which is the standard way you start looking at stuff in Simio), those same axis now turn into X being horizontal, Y being depth, and Z being vertical. We certainly could maybe rename and reorder them in the property grid or something to make more sense so maybe instead they maybe look like: Vertical (old X) Horizontal (old Z) Height (old Y) I don't know if that would be more or less confusing for users however.
  3. As mentioned in the description for the Distribute Runs property: The feature is available in Team and Enterprise editions of Simio. It is specifically not available for academic editions at this time.
  4. If I understand your need correctly, you currently have a table like this: Product Name | Material ================== ProductA | MaterialA ProductA | MaterialB ProductB | MaterialA ProductB | MaterialC You are then using Search to find all rows that say match "ProductA", then using the value of the Material column. If that is indeed the case, you could create two tables: a "Product" table, and a "Material Usage" table. The "Product Table" would just contain the products (in a column marked as a Key): Name ========== ProductA ProductB The "Material Usage" table would look like the first table above, with the Product Name column being a Foreign Key into the Product Table's key column (Name). Then if you set a row on the entity/token to a row in the "Product Table", the "Material Usage" table will automatically be "filtered" down to just the rows pointing to that product. You can then use the Search step not to search the Material Usage table, but simply to enumerate it, to fire a new token for every row related to the product. You need to make sure the Search Related Rows Only on the Search step is set to "True".
  5. Currently, we just do a simple linear search, from top to bottom, hitting each row and running the Match Condition expression on it. We stop the search at the end of the table or whenever we hit the Limit of found items, whichever comes first. If you have a very large number of rows, and are looking for data in a sortable column, you *may* have better performance by not using Search and instead putting the table in sorted order, and then using steps to create binary search of that sorted data.
  6. In general yes, you just have to be careful to make sure you opt-in for all the object updates. So, for example, the Encomenda used in your "greater model" will match the version referenced by the model in the same project as Encomenda, which is also used in the "greater model". If you are doing the updates but still having issues, there may be some corner case we may not be handling correctly, in which case I would send the model and the instructions of what your standard update path is to support@simio.com
  7. If you are using Sprint 86 or later, you can hold down Shift and then click on the Object References... menu item in your model to open the references dialog in a mode that allows you the change the versions it thinks it has. If you do that in your model, and change the "13" to "1" and then do a Check for Updates, it should update to version 12. Note that if you have references to Encomenda in *other* library objects, they ALL need to agree on what version you are using. So let's say: - Encomenda version 1 is used in object A version 1 - Object A version 1 is used in your model - Encomenda version 1 is used in your model Let's say you then make changes to make Encomenda go to version 2. If you then run updates, and *just* pick to update Encomenda (assuming Ecomenda and A were in the same library, both should have gotten versioned up when Encomenda changed), the model will be using version 2, but the A inside it will still be using version 1. When the model tries to pass an Encomenda version 2 to one of it's A instances, you will have a message like you got here. Do you know if your Encomenda object is used (or referenced via an expression) in other objects? If so, are they in the same project as Encomenda?
  8. This is *probably* because those PNGs were written out with a PPI (Pixels per inch) value which isn't 96 ppi. We will draw them correctly in the next sprint release. Thanks for the report!
  9. Ok, I see the issue now. That was definitely a bug, it will be fixed in the next sprint release. In the meantime, you can work around it by making sure any PNG files you use are less than or equal to 32x32. Anything larger will go through some resize logic, which will create an in memory bitmap, which when serialized falls back to encoding as jpeg, and looses the alpha data. A PNG file less than or equal to 32x32 will serialize in its native format, and retain its alpha value.
  10. That should be working. What version of Simio are you using? How are you bringing in the PNG images? Are you selecting them from the "Icon" property button for the given model?
  11. If possible, it would be of great help to have the model, so we can examine it locally and figure out what exactly is failing.
  12. This error is indicative of some internal timeout logic firing when communication breaks down between Simio and the Replication Runner process. Do you happen to know how many hours pass between starting the run and seeing these problems? Is it possible for you to send us a copy of the project to support@simio.com?
  13. Thanks for the report. This has been fixed in the software, and the fix will be available in the sprint 76 (available in about 10 days).
  14. That is probably as close as you are going to get to describe it in standard OOP terms. Another might be: Definition: Text file of your program (.java,.cpp,.cs, whatever) with takes some command line arguments (the definition of the arguments you take could be thought of in Simio to be property definitions) Instance: Running .exe of your program to which you have pass command line arguments (in Simio property values) Runspaces: Instances of a class inside a running .exe which are taking the command line arguments and doing something with them (generating values)
  • Create New...