Autor
|
Thema: BE per Methode zuweisen (1586 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 |
| Landschaftsplaner/in - Umweltplaner/in Landschaftsarchitekt/in - Landschaftsökologe/in (m/w/d) | Wir sind ein etabliertes Planungsbüro mit Tätigkeitsschwerpunkt am Unteren Niederrhein, das seit vier Jahrzehnten für regionale und internationale Unternehmen, Behörden und private Auftraggeber umweltfachliche Planungsbeiträge zu verschiedensten Vorhaben erstellt. Im Bereich der Wasserwirtschaft und der Rohstoffgewinnung werden zudem Zulassungs- und Genehmigungsplanungen erarbeitet sowie die Verfahrensbegleitung und die Projektsteuerung übernommen.... | Anzeige ansehen | Geowissenschaften |
|
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 >>)
|