2009-06-04 11 views
1

Ist es möglich, einen 3-D-Editor in meine wxPython-Anwendung einzubetten? (Ich denke Blender, aber andere Vorschläge sind willkommen.)Ein 3-D-Editor (z. B. Blender) in eine wxPython-Anwendung einbetten

Meine Anwendung öffnet ein WxPython-Fenster, und ich möchte einen 3-D-Editor drin haben. Natürlich möchte ich, dass mein Programm und der 3D-Editor miteinander interagieren.

Möglich? Wie?

+1

Wenn Sie sagen, ‚die Interaktion mit‘, was waren willst du damit anfangen? –

+0

Zum Beispiel, dass mein Programm die Positionen von Körpern in der 3-d Welt verändern kann. Auch wenn ich einen Körper in den 3D-Editor ziehe, möchte ich, dass er diese Aktion an mein Programm mit der neuen Position meldet. –

Antwort

0

Für Blender spezifisch bezweifle ich es. Blender verwendet eine benutzerdefinierte Benutzeroberfläche, die auf OpenGL basiert, und ich bin mir nicht sicher, ob Sie die Verwendung eines bereits vorhandenen Fensters erzwingen können. Ich schlage vor, den Code "Ghost" zu durchsuchen, bei dem es sich um Blenders benutzerdefinierte Anpassungsschicht handelt (verantwortlich für die Interaktion mit dem Betriebssystem für UI-Zwecke).

2

Blender hat Python-Plugins, Sie können ein Plugin schreiben, um mit Ihrem Programm zu interagieren.

+0

http://blenderartists.org/forum/archive/index.php/t-3098.html und http://blenderartists.org/forum/archive/index.php/t-3336.html diskutieren mit Sockets zu kommunizieren zwischen Blender-Instanzen, etwas Ähnliches könnte leicht zwischen Python und Blender – dbr

+0

getan werden Aber in diesem Szenario wird Blender immer noch ein eigenes Fenster sein, oder wird es in meinem Programmfenster sein? Ich ziele auf Letzteres. –

+0

Es wäre ein separates Fenster/Anwendung – dbr

0

Vielleicht könnte this script einen Kontext für Ihr Projekt bieten. Es integriert Blender, ActiveX und wxPython.

Vorbehalt: Nur Windows.

1

Ich zweite Luper Rouch Idee von Blender Plugins. Aber wenn Sie Ihr eigenes Fenster haben müssen, müssen Sie Blender abzweigen. Werfen Sie einen Blick auf makehuman Projekt. Es hatte einmal Blender als Plattform. (Ich bin nicht sicher, aber ich denke, sie haben eine andere Infrastruktur jetzt) ​​

0

Für Blender2.5 auf Linux Sie gtk.Socket verwenden können, Codebeispiel ist here on pastebin

+0

Willkommen auf SO. Da es nicht zu lang ist, schlage ich vor, dass Sie den relevanten Teil einfügen. Sie können dies tun, indem Sie den Link "Bearbeiten" unter Ihrem Beitrag verwenden. :) – ForceMagic