2014-11-05 76 views

回答

0

是的,这是可能的。看看SimioProjectFactory类。从那里您可以加载现有的.spfx文件并运行附加的实验。您还可以看到结果等。

以下是如何加载项目并获取其中的第一个模型。从那里开始,所有内容与编写加载项相似:

string[] warnings; 
ISimioProject project = SimioProjectFactory.LoadProject("Test.spfx", out warnings);  
IModel model= project.Models[1]; 
... 

玩得开心! 萨科

+0

这些函数的上下文是什么?我将如何去实际运行实验?我在API中找不到任何引用SimioProjectFactory的东西。是否有可能看到一个运行其中一个示例simio模型的简单脚本,就像您打开程序并运行一样?非常感谢! – 2014-11-06 21:25:41

0

您可以用下面的代码进行实验:

// 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(); 

希望这可以帮助您开始。随时提出更多问题。

Nicolas

相关问题