3D Model aus Solidworks laden und anzeigen?



  • Hallo,

    ich hab mal ne ganz allgemeine Frage zu 3D modeln bzw. 3D Programmierung. In wie weit wäre es machbar, eine 3D Model aus einer CAD Anwendung (Solid Works) via 3D Programmierung DirectX oder OpenGL zu "laden" und anzuzeigen?
    Ich habe frühr im Studium mal ein Semiar besucht , da haben wir in C++ ein simples 3D Planeten System Programmiert, mit dem Szenengraph usw. ! So ein 3D Model aus Solidworks wird ja siche rauch in so einen Szengraph repäsentiert, und könnte doch sicher in C++ konvertiert werden etc.

    Aber das ganze ist sicher ein morz Aufwand, was meint ihr?

    EDIT: vll. könnt ihr mir ein verständliches schönes 3d programmierung c++ tutorial empfehlen;)



  • eine 3D Model aus Solid Works "via 3D Programmierung DirectX oder OpenGL" zu laden und anzuzeigen?

    Zu genau diesem Zwecke habe ich mal Daten aus Solidworks als 3DXML exportiert (weil bei VRML zuviel verloren ging) und einen Parser dafuer geschrieben. Die Dokumentation des Formates ist stellenweise etwas diffus. Wenn Du Dich mit OpenGL/Direct3D schon auskennst (das kursiv gedruckte laesst das Gegenteil vermuten) ist das in zwei Wochen erledigt.



  • dein 3DXML Parser geneiert mir quaise nen Szenengraph? d.h. eine Parser bzw. library welche mir XML 3D modele in eine szenengraph läde oder wie auch immer gibts keine?

    Hab ich das richtig verstanden. Hab mal bischen recherchiert und gesehen, das bspw. WPF (GUI) von C# solche art 3D Controls haben in die man sowas rel. einfach laden kann (habs mir aber nich weiter angeschaut).



  • Solidworks hat, wie jede vergleichbare Software auch, intern einen "Scene-Graphen" (effektiv ein Baum) der die hierachischen Abhaengigkeiten der einzelnen Objekte beschreibt (stell Dir zb einen Roboterarm mit mehreren aneinandergereihten Gelenken vor).
    Sofern Du irgendwie Bewegungsablaeufe darstellen willst, musst Du diese Informationen aus Solidworks uebernehmen.
    Dazu gibt es effektiv zwei Ansaetze:
    - Du schreibst ein Plugin fuer Solidworks das den Objekt-Baum in ein eigenes Format exportiert.
    - Du exportierst die Daten mittels eines integrierten Exporters in ein Standard-Format und liesst daraus die Daten.
    Ersterer Weg benoetigt dabei sicher etwas mehr Einarbeitungszeit in die Solidworks-internen Strukturen.
    Fuer zweiteren Weg bietet sich eigentlich nur das 3DXML-Format an, weil es sich leicht parsen laesst (da Ascii) und alle benoetigten Informationen enthaelt.
    Eine fertige Lib zum laden von 3DXML ist mir nicht bekannt.
    Mit WPF habe ich mich noch nicht beschaeftigt, aber auch da wirst Du die Daten irgendwie in ein "3D Control" reinkriegen muessen.
    Wenn Du den Objektbaum erstmal hast, existiert an jedem Knoten eine Transformationsmatrix fuer das Objekt und eine Liste von Polygonen der Geometrie - das laesst sich mit einer beliebigen 3D-API sehr leicht darstellen.

    Welche Art von Modellen und welcher Komplexitaet willst Du denn darstellen?


Anmelden zum Antworten