/// <summary> /// Method called when the add-in is run. /// </summary> public void Execute(IDesignContext context) { // This example code places some new objects from the Standard Library into the active model of the project. if (context.ActiveModel != null) { // Example of how to place some new fixed objects into the active model. // This example code places three new fixed objects: a Source, a Server, and a Sink. IIntelligentObjects intelligentObjects = context.ActiveModel.Facility.IntelligentObjects; IFixedObject sourceObject = intelligentObjects.CreateObject("Source", new FacilityLocation(-10, 0, -10)) as IFixedObject; IFixedObject serverObject = intelligentObjects.CreateObject("Server", new FacilityLocation(0, 0, 0)) as IFixedObject; IFixedObject sinkObject = intelligentObjects.CreateObject("Sink", new FacilityLocation(10, 0, 10)) as IFixedObject; // Example of how to place some new link objects into the active model (to add network paths between nodes). // This example code places two new link objects: a Path connecting the Source 'output' node to the Server 'input' node, // and a Path connecting the Server 'output' node to the Sink 'input' node. INodeObject sourceOutputNode = sourceObject.Nodes[0]; INodeObject serverInputNode = serverObject.Nodes[0]; INodeObject serverOutputNode = serverObject.Nodes[1]; INodeObject sinkInputNode = sinkObject.Nodes[0]; ILinkObject pathObject1 = intelligentObjects.CreateLink("Path", sourceOutputNode, serverInputNode, null) as ILinkObject; ILinkObject pathObject2 = intelligentObjects.CreateLink("Path", serverOutputNode, sinkInputNode, null) as ILinkObject; // Example of how to edit the property of an object. // This example code edits the 'ProcessingTime' property of the added Server object. serverObject.Properties["ProcessingTime"].Value = "100"; } }
private void crear() { IIntelligentObjects _objetos = _modelo.Facility.IntelligentObjects; int x = 0; int z = 0; int y = 1; IIntelligentObject combiner = _objetos.CreateObject("Combiner", new FacilityLocation(x, z, y)); combiner.ObjectName = "fabi"; INodeObject input = seekForName("MemberInput@" + combiner.ObjectName) as INodeObject; INodeObject output = seekForName("ParentInput@" + combiner.ObjectName) as INodeObject; List <FacilityLocation> listpoints = new List <FacilityLocation>(); FacilityLocation fl = new FacilityLocation(35, 36, 86); listpoints.Add(fl); IIntelligentObject connect1 = _objetos.CreateLink("Connector", input, output, listpoints); }
public void crearLink(String type, INodeObject nodo1, INodeObject nodo2) { intelligentObjects.CreateLink(type, nodo1, nodo2, null); }
private static IIntelligentObject CrearLink(string tipo, INodeObject nodo1, INodeObject nodo2) { return(intelligentObjects.CreateLink(tipo, nodo1, nodo2, null)); }
public Link(IIntelligentObjects intelligentObjects, INodeObject node1, INodeObject node2, string type) { @object = intelligentObjects.CreateLink(type, node1, node2, null); }
/// <summary> /// Method called when the add-in is run. /// </summary> public void Execute(IDesignContext context) { var warnings = new List <String>(); // This example code places some new objects from the Standard Library into the active model of the project. if (context.ActiveModel != null) { IIntelligentObjects intelligentObjects = context.ActiveModel.Facility.IntelligentObjects; IFixedObject bed = intelligentObjects.CreateObject("Bed", new FacilityLocation(0, 0, 0)) as IFixedObject; IFixedObject sourceObject = intelligentObjects.CreateObject("Source", new FacilityLocation(-10, 0, -10)) as IFixedObject; IFixedObject serverObject = intelligentObjects.CreateObject("Server", new FacilityLocation(0, 0, 0)) as IFixedObject; IFixedObject sinkObject = intelligentObjects.CreateObject("Sink", new FacilityLocation(10, 0, 10)) as IFixedObject; IEntityInstanceReferencePropertyDefinition modelentitiy = intelligentObjects.CreateObject("Patient", new FacilityLocation(-20, 0, -10)) as IEntityInstanceReferencePropertyDefinition; ITransporterInstanceReferencePropertyDefinition regnurse = intelligentObjects.CreateObject("Worker", new FacilityLocation(-30, 0, -30)) as ITransporterInstanceReferencePropertyDefinition; //var RNurseName = context.ActiveModel.Facility.IntelligentObjects["Worker1"]; //RNurseName.Properties["Name"].Value = "RegularNurse"; //var modelentitiy = context.ActiveModel.Facility.IntelligentObjects["Patient"]; // Example of how to place some new link objects into the active model (to add network paths between nodes). // This example code places two new link objects: a Path connecting the Source 'output' node to the Server 'input' node, // and a Path connecting the Server 'output' node to the Sink 'input' node. INodeObject sourceOutputNode = sourceObject.Nodes[0]; INodeObject serverInputNode = serverObject.Nodes[0]; INodeObject serverOutputNode = serverObject.Nodes[1]; INodeObject sinkInputNode = sinkObject.Nodes[0]; INodeObject bedinputnode = bed.Nodes[0]; INodeObject bedoutputnode = bed.Nodes[1]; ILinkObject pathObject1 = intelligentObjects.CreateLink("Path", sourceOutputNode, serverInputNode, null) as ILinkObject; ILinkObject pathObject2 = intelligentObjects.CreateLink("Path", serverOutputNode, bedinputnode, null) as ILinkObject; ILinkObject pathObject3 = intelligentObjects.CreateLink("Path", bedoutputnode, sinkInputNode, null) as ILinkObject; // Example of how to edit the property of an object. // This example code edits the 'ProcessingTime' property of the added Server object. serverObject.Properties["ProcessingTime"].Value = "0"; sourceObject.Properties["EntityType"].Value = "Patient1"; var defaultEntity = context.ActiveModel.Facility.IntelligentObjects["Patient1"]; defaultEntity.Properties["RegNurseCheckTime"].Value = "HospitalData.RNRounding"; defaultEntity.Properties["TherapistCheckTime"].Value = "HospitalData.TherapistRounding"; defaultEntity.Properties["AssistantNurseCheckTime"].Value = "HospitalData.ANRounding"; defaultEntity.Properties["BedStayTime"].Value = "HospitalData.BedStayTime"; defaultEntity.Properties["TherapistVisitTime"].Value = "HospitalData.TherapistVisitTime"; defaultEntity.Properties["RegNurseVisitTime"].Value = "HospitalData.RegNurseVisitTime"; defaultEntity.Properties["AssistantNurseNextVisit"].Value = "HospitalData.AssistantNurseNextVisit"; ITable entitydatatable = context.ActiveModel.Tables.Create("HospitalData"); var i = entitydatatable.Columns.AddEntityReferenceColumn("PatientTypes"); var mix = entitydatatable.Columns.AddRealColumn("Mix", 0.0); var admisiontime = entitydatatable.Columns.AddExpressionColumn("AdmissionTime", "0.0"); (admisiontime as IUnitizedTableColumn).UnitType = SimioUnitType.Time; var rnrounding = entitydatatable.Columns.AddExpressionColumn("RNRounding", "0.0"); var nurserounding = entitydatatable.Columns.AddExpressionColumn("ANRounding", "0.0"); var therapistrounding = entitydatatable.Columns.AddExpressionColumn("TherapistRounding", "0.0"); var bedtime = entitydatatable.Columns.AddExpressionColumn("BedStayTime", "0.0"); var RVisitTime = entitydatatable.Columns.AddExpressionColumn("RegNurseVisitTime", "0.0"); var TVisitTime = entitydatatable.Columns.AddExpressionColumn("TherapistVisitTime", "0.0"); var AVisitTime = entitydatatable.Columns.AddExpressionColumn("AssistantNurseNextVisit", "0.0"); //Add Resource Type List var resourceType = context.ActiveModel.NamedLists["ResourceType"]; if (resourceType != null) { warnings.Add(string.Format(FormatListMessage(resourceType.Name))); } else { resourceType = context.ActiveModel.NamedLists.AddObjectList("ResourceType"); var firstRow = resourceType.Rows.Create(); firstRow.Properties[0].Value = "Source"; var secondRow = resourceType.Rows.Create(); secondRow.Properties[0].Value = "Server"; var thirdRow = resourceType.Rows.Create(); thirdRow.Properties[0].Value = "Patient"; var fourthRow = resourceType.Rows.Create(); fourthRow.Properties[0].Value = "RegNurse"; var fifthRow = resourceType.Rows.Create(); fifthRow.Properties[0].Value = "Therapist"; var sixthrow = resourceType.Rows.Create(); sixthrow.Properties[0].Value = "Ass.Nurse"; var seventhRow = resourceType.Rows.Create(); seventhRow.Properties[0].Value = "Sink"; var eigthRow = resourceType.Rows.Create(); eigthRow.Properties[0].Value = "Bed"; var ninthRow = resourceType.Rows.Create(); ninthRow.Properties[0].Value = "Worker"; } //Adding Resource Table ITable resourceTable = context.ActiveModel.Tables["Resources"]; if (resourceTable != null) { warnings.Add(string.Format(FormatListMessage(resourceTable.Name))); } else { resourceTable = context.ActiveModel.Tables.Create("Resources"); var j = resourceTable.Columns.AddObjectReferenceColumn("ResourceName"); j.FilterToResources = false; j.IsKey = true; var resourceTypes = resourceTable.Columns.AddListReferenceColumn("ResourceType"); resourceTypes.ListName = ("ResourceType"); resourceTypes.DefaultString = ("Bed"); } ITable link = context.ActiveModel.Tables["LinkBetweenResources"]; if (link != null) { warnings.Add(string.Format(FormatLinkMessage(link.Name))); } else { } //var modelentity1 = context.ActiveModel.Facility.IntelligentObjects["Patient"]; //modelentity1.Properties["BedStayTime"].Value = "5"; } #endregion }
public void rutas() { //Entrada-Caja-Almacen-Entrega intelligentObjects.CreateLink("Conveyor", ((IFixedObject)model.Facility.IntelligentObjects["Entrada"]).Nodes[0], ((IFixedObject)model.Facility.IntelligentObjects["Caja"]).Nodes[0], null); intelligentObjects.CreateLink("Conveyor", ((IFixedObject)model.Facility.IntelligentObjects["Caja"]).Nodes[1], ((IFixedObject)model.Facility.IntelligentObjects["Almacen"]).Nodes[0], null); intelligentObjects.CreateLink("Conveyor", ((IFixedObject)model.Facility.IntelligentObjects["Almacen"]).Nodes[1], ((IFixedObject)model.Facility.IntelligentObjects["Entrega"]).Nodes[0], null); intelligentObjects.CreateLink("Conveyor", ((IFixedObject)model.Facility.IntelligentObjects["Entrega"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["Tn"]), null); intelligentObjects.CreateLink("TimePath", ((INodeObject)model.Facility.IntelligentObjects["Tn"]), ((IFixedObject)model.Facility.IntelligentObjects["Salida"]).Nodes[0], null); intelligentObjects.CreateLink("TimePath", ((INodeObject)model.Facility.IntelligentObjects["Tn"]), ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), null); intelligentObjects.CreateLink("TimePath", ((INodeObject)model.Facility.IntelligentObjects["Tn"]), ((INodeObject)model.Facility.IntelligentObjects["Mesas910"]), null); intelligentObjects.CreateLink("Conveyor", ((INodeObject)model.Facility.IntelligentObjects["Tn"]), ((INodeObject)model.Facility.IntelligentObjects["BarrasLaterales"]), null); intelligentObjects.CreateLink("Conveyor", ((INodeObject)model.Facility.IntelligentObjects["Tn"]), ((INodeObject)model.Facility.IntelligentObjects["BarraFront"]), null); #region mesas intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa1"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa2"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa3"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa4"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa5"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa6"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa7"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas18"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa8"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas910"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa9"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["Mesas910"]), ((IFixedObject)model.Facility.IntelligentObjects["Mesa10"]).Nodes[0], null); // Mesas a basic node intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa1"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa2"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa3"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa4"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa5"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa6"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa7"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa8"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BasicNode1"]), ((INodeObject)model.Facility.IntelligentObjects["BasicNode2"]), null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BasicNode2"]), ((INodeObject)model.Facility.IntelligentObjects["BasicNode3"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa9"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode3"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["Mesa10"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode3"]), null); intelligentObjects.CreateLink("TimePath", ((INodeObject)model.Facility.IntelligentObjects["BasicNode3"]), ((IFixedObject)model.Facility.IntelligentObjects["Salida"]).Nodes[0], null); #endregion #region barraFront intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BarraFront"]), ((IFixedObject)model.Facility.IntelligentObjects["BarraEnfrente"]).Nodes[0], null); intelligentObjects.CreateLink("TimePath", ((IFixedObject)model.Facility.IntelligentObjects["BarraEnfrente"]).Nodes[1], ((IFixedObject)model.Facility.IntelligentObjects["Salida"]).Nodes[0], null); #endregion #region barrasLaterales intelligentObjects.CreateLink("TimePath", ((INodeObject)model.Facility.IntelligentObjects["BasicNode4"]), ((IFixedObject)model.Facility.IntelligentObjects["Salida"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BasicNode5"]), ((INodeObject)model.Facility.IntelligentObjects["BasicNode4"]), null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BasicNode6"]), ((INodeObject)model.Facility.IntelligentObjects["BasicNode5"]), null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BarrasLaterales"]), ((INodeObject)model.Facility.IntelligentObjects["BasicNode8"]), null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BasicNode8"]), ((INodeObject)model.Facility.IntelligentObjects["BasicNode7"]), null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BarrasLaterales"]), ((IFixedObject)model.Facility.IntelligentObjects["LateralD"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((INodeObject)model.Facility.IntelligentObjects["BasicNode7"]), ((IFixedObject)model.Facility.IntelligentObjects["LateralI"]).Nodes[0], null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["LateralI"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode6"]), null); intelligentObjects.CreateLink("Path", ((IFixedObject)model.Facility.IntelligentObjects["LateralD"]).Nodes[1], ((INodeObject)model.Facility.IntelligentObjects["BasicNode4"]), null); #endregion intelligentObjects.CreateObject("ModelEntity", new FacilityLocation(-7.5, 0, -3)); // Llegada-Caja model.Facility.IntelligentObjects["Conveyor1"].Properties["DrawnToScale"].Value = "False"; model.Facility.IntelligentObjects["Conveyor1"].Properties["LogicalLength"].Value = "8"; // Caja-Entrega model.Facility.IntelligentObjects["Conveyor2"].Properties["DrawnToScale"].Value = "False"; model.Facility.IntelligentObjects["Conveyor2"].Properties["LogicalLength"].Value = "6"; //Entrega-Salida model.Facility.IntelligentObjects["TimePath2"].Properties["SelectionWeight"].Value = "0.5"; model.Facility.IntelligentObjects["TimePath2"].Properties["TravelTime"].Value = "0.25"; //seg //Entrega-Mesas 1 -8 model.Facility.IntelligentObjects["TimePath3"].Properties["SelectionWeight"].Value = "0.25"; model.Facility.IntelligentObjects["TimePath3"].Properties["TravelTime"].Value = "0.11667"; //seg //Entrega Mesas 9- 10 model.Facility.IntelligentObjects["TimePath4"].Properties["SelectionWeight"].Value = "0.08"; model.Facility.IntelligentObjects["TimePath4"].Properties["TravelTime"].Value = "0.16667"; //seg //Entrega - Laterales model.Facility.IntelligentObjects["Conveyor5"].Properties["SelectionWeight"].Value = "0.10"; model.Facility.IntelligentObjects["Conveyor5"].Properties["DrawnToScale"].Value = "False"; model.Facility.IntelligentObjects["Conveyor5"].Properties["LogicalLength"].Value = "10"; //Entrega - Frontal model.Facility.IntelligentObjects["Conveyor6"].Properties["SelectionWeight"].Value = "0.07"; model.Facility.IntelligentObjects["Conveyor6"].Properties["DrawnToScale"].Value = "False"; model.Facility.IntelligentObjects["Conveyor6"].Properties["LogicalLength"].Value = "5"; // Mesas - salida model.Facility.IntelligentObjects["TimePath5"].Properties["TravelTime"].Value = "0.416667"; //seg model.Facility.IntelligentObjects["TimePath6"].Properties["TravelTime"].Value = "0.416667"; //seg model.Facility.IntelligentObjects["TimePath7"].Properties["TravelTime"].Value = "0.416667"; //seg model.Facility.IntelligentObjects["Path26"].Properties["SelectionWeight"].Value = "0.5"; model.Facility.IntelligentObjects["Path28"].Properties["SelectionWeight"].Value = "0.5"; //Cliente model.Facility.IntelligentObjects["ModelEntity1"].ObjectName = "Cliente"; model.Facility.IntelligentObjects["Entrada"].Properties["EntityType"].Value = "Cliente"; }
public void crearPath(string nodo1, string nodo2) { intelligentObjects.CreateLink("Path", ((INodeObject)modelo.Facility.IntelligentObjects[nodo1]), ((INodeObject)modelo.Facility.IntelligentObjects[nodo2]), null); }