2014-11-05 83 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

相關問題