Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  BE per Methode zuweisen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  BE per Methode zuweisen (1586 mal gelesen)
CharlesB
Mitglied



Sehen Sie sich das Profil von CharlesB an!   Senden Sie eine Private Message an CharlesB  Schreiben Sie einen Gästebucheintrag für CharlesB

Beiträge: 11
Registriert: 25.08.2014

erstellt am: 28. Sep. 2015 17:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 29. Sep. 2015 10:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CharlesB 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von CharlesB an!   Senden Sie eine Private Message an CharlesB  Schreiben Sie einen Gästebucheintrag für CharlesB

Beiträge: 11
Registriert: 25.08.2014

erstellt am: 04. Okt. 2015 16:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 ansehenGeowissenschaften
Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 04. Okt. 2015 17:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CharlesB 10 Unities + Antwort hilfreich

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz