Idea

Brandon Peterson avatar image
26 Likes"
Brandon Peterson suggested Brandon Peterson edited

Change the Model Time, Length, and Fluid units after model creation

Basically the same GUI that you see when you create a model it would just be available afterwards so that you could change the units.

Sometimes you don't know exactly what they will be at the start and it is a pain if you guess wrong.

**This would still be useful even if it didn't go through the model and change values already entered. It would only need to make it so that functions like minutes() would return the correct value after the change.

developmentmodel unitsideas
· 2
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Mischa Spelt avatar image Mischa Spelt commented ·

I like this idea, and am curious how much effort this would be to get right in general. I'm wondering, for example, whether it would be possible to show just the same GUI as on model creation, and have it change the units in the current model and nothing else.

In the past I have manually changed the model units in the tree. Assuming that the as a modeler I did not assume anything about the units (by using functions like hours(h) instead of h*60), would there be any potential drawbacks to this approach?

0 Likes 0 ·
Phil BoBo avatar image Phil BoBo ♦♦ Mischa Spelt commented ·

"Assuming that the as a modeler I did not assume anything about the units"

That's a big assumption, and most likely false.

For example, any objects in the model have sizes, and if you change the length units, then now they are the same size but a different unit. For example, your processor may now be 4 inches long instead of 4 meters if you change the length units from meters to inches.

Also, any task executers in your model have speeds, accelerations, and decelerations. If you change your time or length units, then those values are now unchanged but mean something different.

Also, any process times or other values in code that aren't explicitly wrapped in unit functions will be the same values, but the units will be different. For example, senddelayedmessage() calls, source arrival times, time tables, mtbf/mttr downtimes, etc will be the same values but different units.

Manually changing the model units in the tree is fine, as long as you recognize that changing those values doesn't affect the values of any existing objects in your model, but it does change what unit those values represent.

Also, the default values of objects in the library (such as sizes, speeds, etc.) are based on your model units when you start a new model or open a saved model. So if you manually change your model units, you will need to save and reopen your model in order for the default values in the library objects to update to your new units.

7 Likes 7 ·

No Comments

Your Opinion Counts

Share your great idea, or help out by voting for other people's ideas.