【发布时间】:2014-11-05 15:26:20
【问题描述】:
我想从 C# 应用程序运行 Simio 模型。我不想打开 Simio 并从那里运行模型。这可能吗?
【问题讨论】:
标签: c# api simulation
我想从 C# 应用程序运行 Simio 模型。我不想打开 Simio 并从那里运行模型。这可能吗?
【问题讨论】:
标签: c# api simulation
您可以使用以下代码运行实验:
// Open project
string[] warnings;
ISimioProject project = SimioProjectFactory.LoadProject(getFile.FileName, out warnings);
IModel model = project.Models[1];
然后您可以访问模型的实验。您可以添加新实验,或运行现有实验:
IExperiment experiment = model.Experiments.Create("MyExperiment");
// Setup the experiment (optional)
// Specify run times.
IRunSetup setup = experiment.RunSetup;
setup.StartingTime = new DateTime(2010, 10, 01);
setup.WarmupPeriod = TimeSpan.FromHours(0);
setup.EndingTime = experiment.RunSetup.StartingTime + TimeSpan.FromDays(runtime);
experiment.ConfidenceLevel = ExperimentConfidenceLevelType.Point90;
experiment.LowerPercentile = 5;
experiment.UpperPercentile = 95;
// Add event handler for events from experiment
experiment.ScenarioEnded += new EventHandler<ScenarioEndedEventArgs>(experiment_ScenarioEnded);
experiment.RunCompleted += new EventHandler<RunCompletedEventArgs>(experiment_RunCompleted);
experiment.RunProgressChanged += new EventHandler<RunProgressChangedEventArgs>(experiment_RunProgressChanged);
experiment.ReplicationEnded += new EventHandler<ReplicationEndedEventArgs>(experiment_ReplicationEnded);
// Run Experiment, will call event handler methods when finished etc.
experiment.RunAsync();
希望这可以帮助您入门。如有更多问题,请随时提出。
尼古拉斯
【讨论】:
是的,这是可能的。看看 SimioProjectFactory 类。从那里您可以加载现有的 .spfx 文件并运行附加的实验。还可以查看结果等等。
以下是如何加载项目并获取其中的第一个模型。从那里开始,一切都与编写加载项类似:
string[] warnings;
ISimioProject project = SimioProjectFactory.LoadProject("Test.spfx", out warnings);
IModel model= project.Models[1];
...
玩得开心! 尼古拉斯
【讨论】: