|
Autor
|
Thema: BE per Methode zuweisen (1799 mal gelesen)
|
CharlesB Mitglied

 Beiträge: 11 Registriert: 25.08.2014
|
erstellt am: 28. Sep. 2015 17:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Aufgrund der Anzahl (über 150) erstelle ich mittels Methode und Tabelle in der Klassenbibliothek meine Objekte. Funktioniert soweit recht gut. ----- is i:integer; do local obj : object := .erzeugeOrdner; obj.Name := "W_BOX"; for i:=1 to t_Box.yDim loop .BEs.Förderhilfsmittel.duplizieren; .BEs.Förderhilfsmittel1.verschiebeInOrdner(.W_BOX); .W_BOX.Förderhilfsmittel1.XDim := (t_Box[2,i]); .W_BOX.Förderhilfsmittel1.YDim := 1; .W_BOX.Förderhilfsmittel1.setzeName(.Modelle.Netzwerk.t_Box[1,i]); next; end; ----- Auf eine ähnliche Art und Weise erstelle ich im Netzwerk, Netzwerke mit unterschiedlichen Objekten (Quelle->Förderstrecke->Einzelstation->Arbeitsplatz->Fußweg->Übergang). Funktioniert auch einwandfrei. ----- is obj,obj_klasse bject; x,y:integer; i:integer; do for i:=1 to daten.yDim loop --klasse aus Tabelle erzeugen obj_klasse:=str_to_obj(".Supermarkt_Regal."+Daten[2,i]); --Koordinaten in Pixel umrechnen x:=round(Daten[3,i]/root.SkalierungsFaktor); y:=round(Daten[4,i]/root.SkalierungsFaktor); --objekte erzeugen und nach Tabelle umbenennen obj:=obj_klasse.erzeugeObjekt(root,x,y,Daten[1,i]); next; end; ----- Meine Frage nun. In den per Methode erstellten Netzwerken befindet sich eine Quelle welcher ich das zuvor per Methode erstellte BE zuweisen will. Wie könnte ich dies umsetzen? Ich möchte nur ungern in über 150 Quellen die BE´s reinziehen müssen. LG Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
   
 Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 29. Sep. 2015 10:15 <-- editieren / zitieren --> Unities abgeben:          Nur für CharlesB
Sie müssten beim Erzeugen die Quelle identifizieren. Dan können Sie mit quelle.pfad das BE setzen, was die Quelle erzeugt: Code:
--objekte erzeugen und nach Tabelle umbenennen obj:=obj_klasse.erzeugeObjekt(root,x,y,Daten[1,i]); if obj.klasse = .Materialfluss.Quelle then obj.pfad:=IhrBE; end;
Es wäre dafür vorteilhaft, wenn Sie die Pfade der BEs in Relation zu den Quellen speichern würden (z.B. in Ihrer Objekt-Tabelle). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CharlesB Mitglied

 Beiträge: 11 Registriert: 25.08.2014
|
erstellt am: 04. Okt. 2015 16:24 <-- editieren / zitieren --> Unities abgeben:         
Vielen lieben Dank für die Info. Ihre Antwort bringt mich wieder ein Stück weiter. Nun kommt schon die nächste Frage :-) Ich erstelle mit der Methode Netzwerke in denen sich die zu bearbeitende Quelle (Pfad) befindet. Daher müsste ich anstelle des in {{ }} eingeklammerten Pfads das gerade erstellte Netzwerk einfügen. Dann würde es meiner Meinung nach funktionieren. {{.Modelle.Netzwerk.p052_000040819}}.Quelle.pfad:=(".W_BOX."+Daten[5,i]); Wie bekomme ich das hin? --objekte erzeugen und nach Tabelle umbenennen obj:=obj_klasse.erzeugeObjekt(root,x,y,Daten[1,i]); if obj.klasse = .Materialfluss.Netzwerk then .Modelle.Netzwerk.p052_000040819.Quelle.pfad:=(".W_BOX."+Daten[5,i]); end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Verfahrenstechniker (m/w/d) Entwicklung | | Was unsere Kunden von ihren Technologielösungen erwarten? Das nächste Level! Das gelingt unserem Team bei FERCHAU Tag für Tag. Wir suchen dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Anbieter und Entwickler von IT-Lösungen und überzeugen täglich mit fundierter Expertise und fachlichem Know-how.... | | Anzeige ansehen | Arbeitnehmerüberlassung |
|
Bon Simul Mitglied Simulant
   
 Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 04. Okt. 2015 17:12 <-- editieren / zitieren --> Unities abgeben:          Nur für CharlesB
wenn Sie in jedem Fall eine Quelle im erzeugten Netzwerk haben, dann analog zu oben: Code:
--objekte erzeugen und nach Tabelle umbenennen obj:=obj_klasse.erzeugeObjekt(root,x,y,Daten[1,i]); obj.name:="Ihr Name für das Netzwerk"; if obj.klasse = .Materialfluss.Netzwerk then obj.Quelle.pfad:=(".W_BOX."+Daten[5,i]); end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |