3D framework für C++?



  • Hallo Leute,

    nehmen wir an ich will prozessabläufe visualisieren. Dies sind bspw. aktionen bewegungen einen Roboters. Sagen wir mal diese Prozessablaufkette von Aktionen/Events/Bewegungen sollen in als/in einem 3D Model dargestellt werden.

    Nun ich hab wenig bzw. fast keine ahnung von OpenGl/directx 3d programmierung und windows. gibt es framworks mit dem man rel. einfach bestehende 3Dmodel aus ner VRML CAD software laden /anzeigen kannt. und ich über ein schnittstelle objekte bewegen kann? grüße



  • Ich vermute mal, dass Du hierarchische Achssysteme abbilden musst?
    Dann kommst Du mit vrml leider nicht weit.
    Aus welcher Software kommen den die 3D-Daten?
    Ich benutze 3dxml um einen Objektbaum aus Solidworks zu exportieren (die Dokumentation ist allerdings ziemlich schlecht).
    Wenn Du die Daten erstmal hast, brauchst Du eigentlich nur noch den Baum zu durchlaufen, an jedem Knoten eine Matrix zu multiplizieren und die Geometrie zur 3D-Api zu schicken.
    Um Teile zu bewegen suchst Du zu einer Achse den passenden Parent-Knoten im Baum und aenderst dessen Matrix.


  • Mod

    hellihjb schrieb:

    Ich vermute mal, dass Du hierarchische Achssysteme abbilden musst?
    Dann kommst Du mit vrml leider nicht weit.

    bist du dir da sicher?
    ich glaube mich zu erinnern, dass ich mit vrml hierarchieen hatte, mit javascript konnte ich dann events an vrml schicken und animationen steuern.

    alternativ sollte man das mit opengl relativ einfach selbst coden koennen. mit displaylists die einzelnen gelenke zeichnen, danach nur noch abspielen.

    mit glpushmatrix und glpopmatrix bekommt man auch hierarchieen einfach hin, gibt viele tutorials dazu, die meisten davon sind planeten demos oder roboter bzw roboterarme.
    http://www.gamedev.net/reference/articles/article1267.asp

    das groeste problem ist meistens die daten vom CAD zu bekommen mit allen daten die man braucht, aber mit einem simplen VRML parser sollte das eigentlich auch gehen.



  • ich glaube mich zu erinnern, dass ich mit vrml hierarchieen hatte

    Stimmt, Du hast Recht.
    Das Problem war der VRML-Export von Solidworks, der jedes Bauteil einfach flach in die Datei schmeisst (Autocad kann's auch nicht besser).
    Fuer eine Halbleiter-Fertigungsmaschine hat man dann rund 100.000 vortransformierte Meshes mit Identitaetsmatrix ohne Bezug zueinander.
    Vielleicht kriegt Boris seine Daten ja aus einer Software die das besser kann...



  • hey jungs... ne er hat schon recht der begriff "VRML" kannte ich noch aus meinem studium was glaub so ein allg. format ist..

    ja ich würde die Daten aus solidworks bekommen, vll. gibts da ja ein passenderes format um es zu portieren. Das ganze soll ohne viel aufwand geschehen. Also das ich micht nich sooo viel in die 3D welt einarbeiten muss..

    Am besten wäre es die datei zu laden, so das ich das 3D gebilde in einem Fenster darstellen kann, drehen zoomen etc. vll. ein ActiveX??

    und das ich von meinem Programm aus sagen kann Bewege objekt x von A nach B..

    ohne das ich in dem Baum rumfrickeln muss...



  • ja ich würde die Daten aus solidworks bekommen

    Ich hab gerade nochmal in die 2008er-Version geschaut und da taucht der VRML (1.0) Export immernoch nix.

    vll. gibts da ja ein passenderes format um es zu portieren

    Ich denke das einzige Format das alle relevanten Informationen enthaellt ist 3D XML. Es gibt aber kaum Software die damit umgehen koennte. Du wirst die Daten also sehr wahrscheinlich nochmal konvertieren muessen.

    Das ganze soll ohne viel aufwand geschehen

    Ja, wie immer... 😃



  • ne jungs , dachte es gibt evlt. schon ein art 3D Ctrl, welches ich wie OCX oder andere steuerelemente bspw. in ein MFC dialog einbette. und ich dann via methoden propertys event, mit dem 3 D- mode das darin dargestellt wird arbeiten kann. Sowas wirds sicher doch geben.. gib ja eh schon alles^^ oder muss ich die ganze diretX geschichte mit Objekt-baum etc. selbst machen, also die VRML oder 3D XML datei parsen und so den Objekt baum erstellen?

    Hätte an sowas gedacht:

    http://software.techrepublic.com.com/abstract.aspx?docid=264788

    aber kostenlos und mächtig;))))


  • Mod

    kannst dir ja ein vrml plugin installieren, das sollte dann dein gewuenschtes activex sein.



  • Also für mechanismen, wie sie für Bewegungsabläufe gebraucht werden, oder auch zum designen von Robotoren gibt es spezielle dafür zugeschnittenen Programme, eins davon ist Autodesk Inventor. Wir hab in der schule schon damit gearbeitet, und es ist sehr komfortabel. Man kann auch Animationen erstellen, und die dann in Videos Speichern. OK kostenlos ist jetzt so eine sache, aber Testen kann man es.



  • kann man die bewegungsabläufe in echtzeit von ausßen bsw. von einer anderen Aplikation aus steuern?



  • Das weiß ich jetzt nicht, gemacht haben wir es im Unterricht jedenfalls nicht, aber ausschließen würde ich es auch nicht, denn für die Animationen gab es schon viele Einstellungsmöglichkeiten, die wir nicht gemacht haben. Das fragst du aber mal am besten im einem Inventor Forum oder ähnlichem die haben da sicher mehr Ahnung.



  • Wuerde mich sehr interessieren ob Du fuer Deine Aufgabenstellung eine praktikable Loesung gefunden hast.
    (Ich habe keine gefunden und so ziemlich das gleiche vor ein paar Monaten selber entwickelt)



  • Ist da schon irgendwas bei rausgekommen?


Anmelden zum Antworten