Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  3D-Viewer per SimTalk starten möglich?

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:  3D-Viewer per SimTalk starten möglich? (429 mal gelesen)
aloetscher
Mitglied
Logistiksimulation


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

Beiträge: 10
Registriert: 03.06.2005

erstellt am: 03. Okt. 2005 15:33    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 zusammen

Ich bin gerade dabei, mich mit dem 3D-Teil von eM-Plant zu befassen. Ich habe nun folgendes Problem:

Ich habe ein Simulationsmodell, welches mittels genetischer Algorithmen ein Optimum bestimmt. Die optimale Lösung wird anschliessend nochmals berechnet. Aus Performanzgründen möchte ich nur die optimierte Lösung im 3D-Viewer anzeigen lassen. Nun weiss ich aber nicht, ob ich den 3D-Viewer per SimTalk öffnen kann. Für jeden Hinweis wäre ich sehr froh.

Ein zweites Problem habe ich mit dem Positionieren der Bausteine, welche ich im Modell per "erzeugeObjekt()" erzeuge. Diese werden nämlich erst nach Klick auf Menübefehl "eM-Plant => 2D --> 3D => Alle" am richtigen Ort erzeugt. Weiss jemand auch zu diesem Befehl ein SimTalk-Alias?

Ah, ja, bevor ich es vergesse, ich benutze noch eM-Plant der Version 7.08.

Vielen Dank für eure Antworten und Gruss,
Adrian


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 03. Okt. 2005 16:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

also den 3D-Viewer kannst Du mit der SIMTALK-Methode "open3d" oeffnen;

nach dem "open3d" solltest Du noch eine sleep(2)-Methode einbauen bevor Du die 3D-Objekte erzeugst, damit der Viewer Zeit hat sich aufzubauen.

Gruss

------------------
DER SIMULATOR 

aloetscher
Mitglied
Logistiksimulation


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

Beiträge: 10
Registriert: 03.06.2005

erstellt am: 04. Okt. 2005 09:38    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 Simulator,

vielen Dank für deine Antwort. Das Öffnen klappt nun einwandfrei. Jetzt habe ich aber noch ein Problem mit dem Schliessen des 3D-Viewers über den Befehl "beendeViewer".

Nach Ausführung dieses Befehls und sleep(2) erscheint im TabViewer (im Register 3D-Model) wie gewünscht die Meldung "3D Viewer nicht gestartet", im Menü "3D" ist aber noch der Befehl "3D-Viewer schliessen" aktiv. Auch die Ausführungsgeschwindigkeit der Simulation entspricht noch der einer 3D-Simulation.

In der Konsole erscheint bei Ausführung von "beendeViewer" zudem die Meldung "3D wird geschlossen. Möchten Sie Ihr Modell speichern?". Ich denke, man müsste irgendwie diese Meldung quittieren können, ich weiss aber nicht wie. Kennst du auch dazu eine Lösung?

Gruss und nochmals Dank,
Adrian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 04. Okt. 2005 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

habe das, was Du beschrieben hast, nachvollzogen.

In der Tat stimmt da was nicht!

Habe deshalb diese Sache zur Bearbeitung /Korrektur an die UGS/TMX Hotline weitergegeben.

Hier ein Workaround:

Du kannst ja bei den meisten Objekten den Viewerprozess selber definieren.(s. Reiter "extras");

Defaultmässig ist "3d" - also der 3d-Viewer eingestellt.

Wenn du z.B. für die Be´s diesen Namen löscht ( 1x in der Klassenbibliothek)
dann sollte die Simulation bei aktivem 3d-Viewer wieder so schnell laufen wie die 2d-Simulation.

Gruss


------------------
DER SIMULATOR  

[Diese Nachricht wurde von Simulator am 04. Okt. 2005 editiert.]

aloetscher
Mitglied
Logistiksimulation


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

Beiträge: 10
Registriert: 03.06.2005

erstellt am: 04. Okt. 2005 14:40    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 Simulator,

Vielen Dank für deine prompte Antwort und Hilfe. Ich werde es dann einmal mit diesem Workaround versuchen.

Gruss, Adrian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 05. Okt. 2005 20:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo Adrian,

mich interessiert, ob diese Möglichkeit, den Datenaustausch 2D <--> 3D zu kappen (partiell), soweit funktioniert hat. Konnte damit das Problem umgangen/gelöst werden oder sollte noch nach weiteren Möglichkeiten nachgedacht werden ?

Gruss

------------------
DER SIMULATOR 

aloetscher
Mitglied
Logistiksimulation


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

Beiträge: 10
Registriert: 03.06.2005

erstellt am: 06. Okt. 2005 09:57    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 Simulator,

jetzt bin ich endlich dazugekommen, den Workaround mit dem Kappen des 2D  <--> 3D Datenaustausches auszuprobieren. Dies ergab bei mir nicht den gewünschten Effekt, denn es erschien im Sekundentakt die Meldung in der Statuszeile, dass die Simulation verzögert wird. Es mag aber auch daran liegen, dass ich nur bei den beweglichen Bausteinen die KanalId "3d" herausgenommen habe, ich habe dies aber nicht mehr weiter untersucht, da ich einen anderen Weg gefunden habe.

Und zwar erstelle ich nun bei geöffnetem 3D-Viewer die Verbindung zum 3D-Viewer über den Befehl "verbinde3DViewer", bevor ich die Objekte erzeuge. Nachdem die Objekte erzeugt sind, trenne ich diese Verbindung wieder, wenn ich keine Animation wünsche. Codemässig sieht das ganze dann folgendermassen aus:

  verbinde3DViewer(true);
  createLayout;  -- eigene Methode zur Erstellung der Objekte
  verbinde3DViewer(false);

Nun habe ich noch ein Problem, dass alle die von mir erzeugten Objekte in der Mitte des 3D-Viewer-Netzwerkes erzeugt werden. Ich habe dieses Problem aber noch nicht genügend untersucht und werde hier dann wieder posten, wenn ich genaueres darüber weiss.

Gruss, Adrian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

aloetscher
Mitglied
Logistiksimulation


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

Beiträge: 10
Registriert: 03.06.2005

erstellt am: 06. Okt. 2005 10:57    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

Hi,

so, nun habe ich auch noch mein Problem analysieren können, warum die von mir erzeugten Objekte in der Mitte des 3D-Viewer-Netzwerkes angezeigt werden.

Dies ist der Fall, wenn man die Verbindung zum 3D-Viewer wieder neu aufbaut und danach nicht auf den Menübefehl "em-Plant => 2D-->3D => Alle" klickt. Da ich dazu keinen SimTalk-Befehl gefunden habe, setze ich nun die Position der Bausteine über den Befehl "sendeNachricht" manuell. Ich finde dies sowieso geeigneter, da man somit die Position ganz unter seiner Kontrolle hat. Der Befehl sieht dann folgendermassen aus:

  meinObjekt.sendeNachricht("position", "3 x y z");

  wobei:
    meinObjekt = Pfad zum 2D-Objekt
    x, y, z = x-, y-, z-Position

Gruss, Adrian

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