{"@attributes":{"version":"2.0"},"channel":{"title":"Documentation \u2013 3D Modellierung","link":"https:\/\/docs.aspose.com\/3d\/de\/java\/3d-modeling\/","description":"Recent content in 3D Modellierung on Documentation","generator":"Hugo -- gohugo.io","language":"de","item":[{"title":"Java: Asset-Informationen zum 3D-Dokument hinzuf\u00fcgen","link":"https:\/\/docs.aspose.com\/3d\/de\/java\/add-asset-information-to-3d-document\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/de\/java\/add-asset-information-to-3d-document\/","description":"\n        \n        \n        <h2 id=\"asset-informationen-zum-3d-dokument-hinzuf\u00fcgen\"><strong>Asset-Informationen zum 3D-Dokument hinzuf\u00fcgen<\/strong><\/h2>\n<p>Metadaten sind strukturierte Informationen, die das Abrufen, Verwenden oder Verwalten einer Informations ressource beschreiben, erkl\u00e4ren, lokalisieren oder erleichtern. Aspose.3D for Java API bietet Unterst\u00fctzung f\u00fcr die Definition von Metadaten f\u00fcr die Szene.<\/p>\n<h3 id=\"definieren-sie-eine-metadaten-f\u00fcr-die-szene\"><strong>Definieren Sie eine Metadaten f\u00fcr die Szene<\/strong><\/h3>\n<p>3D Shows erzeugen riesige Mengen an Metadaten und Bild informationen. Metadaten sind ein Aktiv posten und Teil der Show.<\/p>\n<ol>\n<li>Initial isieren Sie eine 3D-Szene mit der <code>Scene<\/code>-Klasse.<\/li>\n<li>Legen Sie den Namen der Anwendung\/des Werkzeugs fest.<\/li>\n<li>Legen Sie den Namen des Anwendungs-\/Werkzeug herstellers fest.<\/li>\n<li>Ma\u00dfeinheit einstellen.<\/li>\n<li>Ma\u00dfeinheit Skalierung faktor festlegen.<\/li>\n<li>Speichern Sie die 3D-Szene im unterst\u00fctzten Dateiformat.<\/li>\n<\/ol>\n<p>In diesem Beispiel nehmen wir an, dass die Szene von einem CAD-Tool namens &ldquo;Egypt&rdquo; erstellt wurde und von &ldquo;Manualdesk&rdquo; entworfen wurde:<\/p>\n<div class=\"highlight\"><pre class=\"chroma\"><code class=\"language-java\" data-lang=\"java\"><span class=\"c1\">\/\/ Initialize a 3D scene\n<\/span><span class=\"c1\"><\/span><span class=\"n\">Scene<\/span> <span class=\"n\">scene<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">Scene<\/span><span class=\"o\">();<\/span>\n<span class=\"c1\">\/\/ Set application\/tool name\n<\/span><span class=\"c1\"><\/span><span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">getAssetInfo<\/span><span class=\"o\">().<\/span><span class=\"na\">setApplicationName<\/span><span class=\"o\">(<\/span><span class=\"s\">&#34;Egypt&#34;<\/span><span class=\"o\">);<\/span>\n<span class=\"c1\">\/\/ Set application\/tool vendor name\n<\/span><span class=\"c1\"><\/span><span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">getAssetInfo<\/span><span class=\"o\">().<\/span><span class=\"na\">setApplicationVendor<\/span><span class=\"o\">(<\/span><span class=\"s\">&#34;Manualdesk&#34;<\/span><span class=\"o\">);<\/span>\n<span class=\"c1\">\/\/ We use ancient egyption measurement unit Pole\n<\/span><span class=\"c1\"><\/span><span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">getAssetInfo<\/span><span class=\"o\">().<\/span><span class=\"na\">setUnitName<\/span><span class=\"o\">(<\/span><span class=\"s\">&#34;pole&#34;<\/span><span class=\"o\">);<\/span>\n<span class=\"c1\">\/\/ One Pole equals to 60cm\n<\/span><span class=\"c1\"><\/span><span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">getAssetInfo<\/span><span class=\"o\">().<\/span><span class=\"na\">setUnitScaleFactor<\/span><span class=\"o\">(<\/span><span class=\"n\">0<\/span><span class=\"o\">.<\/span><span class=\"na\">6<\/span><span class=\"o\">);<\/span>\n<span class=\"c1\">\/\/ The path to the documents directory.\n<\/span><span class=\"c1\"><\/span><span class=\"n\">String<\/span> <span class=\"n\">MyDir<\/span> <span class=\"o\">=<\/span> <span class=\"n\">RunExamples<\/span><span class=\"o\">.<\/span><span class=\"na\">getDataDir<\/span><span class=\"o\">();<\/span>\n<span class=\"n\">MyDir<\/span> <span class=\"o\">=<\/span> <span class=\"n\">MyDir<\/span> <span class=\"o\">+<\/span> <span class=\"n\">RunExamples<\/span><span class=\"o\">.<\/span><span class=\"na\">getOutputFilePath<\/span><span class=\"o\">(<\/span><span class=\"s\">&#34;InformationToScene.fbx&#34;<\/span><span class=\"o\">);<\/span>\n<span class=\"c1\">\/\/ Save scene to 3D supported file formats\n<\/span><span class=\"c1\"><\/span><span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">save<\/span><span class=\"o\">(<\/span><span class=\"n\">MyDir<\/span><span class=\"o\">,<\/span> <span class=\"n\">FileFormat<\/span><span class=\"o\">.<\/span><span class=\"na\">FBX7500ASCII<\/span><span class=\"o\">);<\/span><\/code><\/pre><\/div>\n\n      "},{"title":"Java: Szene mit primitiven 3D Formen erstellen","link":"https:\/\/docs.aspose.com\/3d\/de\/java\/create-scene-with-primitive-3d-shapes\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/de\/java\/create-scene-with-primitive-3d-shapes\/","description":"\n        \n        \n        \n\n<div class=\"alert alert-primary\" role=\"alert\">\n\nAspose.3D for Java API unterst\u00fctzt primitive 3D Formen. Alle param etrisierten Grundelemente werden automatisch in Mesh konvertiert, w\u00e4hrend in einem beliebigen unterst\u00fctzten Ausgabe dateiformat gespeichert wird.\n<\/div>\n\n<h2 id=\"erstellen-sie-eine-szene-aus-primitiven-3d-formen\"><strong>Erstellen Sie eine Szene aus primitiven 3D Formen<\/strong><\/h2>\n<p>Modellierung ist der Prozess der reinen Sch\u00f6pfung und Aspose.3D API unterst\u00fctzt das Erstellen einer Szene mit primitiven 3D Formen.<\/p>\n<h3 id=\"programmier-probe\"><strong>Programmier probe<\/strong><\/h3>\n<p>In diesem Code beispiel wird eine Szene mit primitiven 3D-Formen erstellt und in der FBX-Datei gespeichert.<\/p>\n<div class=\"highlight\"><pre class=\"chroma\"><code class=\"language-java\" data-lang=\"java\"><span class=\"c1\">\/\/ The path to the documents directory.\n<\/span><span class=\"c1\"><\/span><span class=\"n\">String<\/span> <span class=\"n\">MyDir<\/span> <span class=\"o\">=<\/span> <span class=\"n\">RunExamples<\/span><span class=\"o\">.<\/span><span class=\"na\">getDataDir<\/span><span class=\"o\">();<\/span>\n<span class=\"c1\">\/\/ Initialize a Scene object\n<\/span><span class=\"c1\"><\/span><span class=\"n\">Scene<\/span> <span class=\"n\">scene<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">Scene<\/span><span class=\"o\">();<\/span>\n<span class=\"c1\">\/\/ Create a Box model\n<\/span><span class=\"c1\"><\/span><span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">getRootNode<\/span><span class=\"o\">().<\/span><span class=\"na\">createChildNode<\/span><span class=\"o\">(<\/span><span class=\"s\">&#34;box&#34;<\/span><span class=\"o\">,<\/span> <span class=\"k\">new<\/span> <span class=\"n\">Box<\/span><span class=\"o\">());<\/span>\n<span class=\"c1\">\/\/ Create a Cylinder model\n<\/span><span class=\"c1\"><\/span><span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">getRootNode<\/span><span class=\"o\">().<\/span><span class=\"na\">createChildNode<\/span><span class=\"o\">(<\/span><span class=\"s\">&#34;cylinder&#34;<\/span><span class=\"o\">,<\/span> <span class=\"k\">new<\/span> <span class=\"n\">Cylinder<\/span><span class=\"o\">());<\/span>\n<span class=\"c1\">\/\/ Save drawing in the FBX format\n<\/span><span class=\"c1\"><\/span><span class=\"n\">MyDir<\/span> <span class=\"o\">=<\/span> <span class=\"n\">MyDir<\/span> <span class=\"o\">+<\/span> <span class=\"n\">RunExamples<\/span><span class=\"o\">.<\/span><span class=\"na\">getOutputFilePath<\/span><span class=\"o\">(<\/span><span class=\"s\">&#34;test.fbx&#34;<\/span><span class=\"o\">);<\/span>\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">save<\/span><span class=\"o\">(<\/span><span class=\"n\">MyDir<\/span><span class=\"o\">,<\/span> <span class=\"n\">FileFormat<\/span><span class=\"o\">.<\/span><span class=\"na\">FBX7500ASCII<\/span><span class=\"o\">);<\/span><\/code><\/pre><\/div>\n\n      "},{"title":"Java: Sparen Sie 3D Maschen im benutzer definierten Bin\u00e4r format","link":"https:\/\/docs.aspose.com\/3d\/de\/java\/save-3d-meshes-in-custom-binary-format\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/de\/java\/save-3d-meshes-in-custom-binary-format\/","description":"\n        \n        \n        \n\n<div class=\"alert alert-primary\" role=\"alert\">\n\nAspose.3D for Java API bietet Unterst\u00fctzung, um jedes unterst\u00fctzte 3D-Dokument zu \u00f6ffnen und dann Meshes in die Bin\u00e4r datei zu schreiben.\n<\/div>\n\n<h2 id=\"laden-sie-3d-datei-und-schreiben-sie-meshes-in-benutzer-definiertes-programmier-muster-im-bin\u00e4rformat\"><strong>Laden Sie 3D Datei und schreiben Sie Meshes in benutzer definiertes Programmier muster im Bin\u00e4rformat<\/strong><\/h2>\n<p>Akzeptieren Sie die Methode, die vom RootNode-Mitglied in der <code>Scene<\/code>-Klasse bereit gestellt wird, und erm\u00f6glicht den Besuch jedes Unter knotens. Das unten stehende Code-Snippet erm\u00f6glicht nur das Konvertieren von Maschen.<\/p>\n<div class=\"highlight\"><pre class=\"chroma\"><code class=\"language-java\" data-lang=\"java\"><span class=\"c1\">\/\/ The path to the documents directory.\n<\/span><span class=\"c1\"><\/span><span class=\"n\">String<\/span> <span class=\"n\">MyDir<\/span> <span class=\"o\">=<\/span> <span class=\"n\">RunExamples<\/span><span class=\"o\">.<\/span><span class=\"na\">getDataDir<\/span><span class=\"o\">();<\/span>\n<span class=\"c1\">\/\/ load a 3D file\n<\/span><span class=\"c1\"><\/span><span class=\"n\">Scene<\/span> <span class=\"n\">scene<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">Scene<\/span><span class=\"o\">(<\/span><span class=\"n\">MyDir<\/span> <span class=\"o\">+<\/span> <span class=\"s\">&#34;test.fbx&#34;<\/span><span class=\"o\">);<\/span>\n<span class=\"cm\">\/*\n<\/span><span class=\"cm\">* 3D format demonstration is simple\n<\/span><span class=\"cm\">*\n<\/span><span class=\"cm\">* struct File {\n<\/span><span class=\"cm\">*   MeshBlock blocks[];\n<\/span><span class=\"cm\">* };\n<\/span><span class=\"cm\">*\n<\/span><span class=\"cm\">* struct Vertex {\n<\/span><span class=\"cm\">*   float x;\n<\/span><span class=\"cm\">*   float y;\n<\/span><span class=\"cm\">*   float z;\n<\/span><span class=\"cm\">* };\n<\/span><span class=\"cm\">*\n<\/span><span class=\"cm\">* struct Triangle {\n<\/span><span class=\"cm\">*   int a;\n<\/span><span class=\"cm\">*   int b;\n<\/span><span class=\"cm\">*   int c;\n<\/span><span class=\"cm\">* };\n<\/span><span class=\"cm\">*\n<\/span><span class=\"cm\">* struct MeshBlock {\n<\/span><span class=\"cm\">*   int numControlPoints;\n<\/span><span class=\"cm\">*   int numTriangles;\n<\/span><span class=\"cm\">*   Vertex vertices[numControlPoints];\n<\/span><span class=\"cm\">*   Triangle faces[numTriangles];\n<\/span><span class=\"cm\">* };\n<\/span><span class=\"cm\">*\/<\/span>\n<span class=\"c1\">\/\/ open file for writing in binary mode\n<\/span><span class=\"c1\"><\/span><span class=\"k\">try<\/span> <span class=\"o\">(<\/span><span class=\"n\">DataOutputStream<\/span> <span class=\"n\">writer<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">DataOutputStream<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">BufferedOutputStream<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">FileOutputStream<\/span><span class=\"o\">(<\/span><span class=\"n\">MyDir<\/span> <span class=\"o\">+<\/span> <span class=\"s\">&#34;Save3DMeshesInCustomBinaryFormat_out&#34;<\/span><span class=\"o\">))))<\/span>\n<span class=\"o\">{<\/span>\n    <span class=\"c1\">\/\/ visit each descent nodes\n<\/span><span class=\"c1\"><\/span>    <span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"na\">getRootNode<\/span><span class=\"o\">().<\/span><span class=\"na\">accept<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"n\">NodeVisitor<\/span><span class=\"o\">(){<\/span>\n        <span class=\"nd\">@Override<\/span>\n        <span class=\"kd\">public<\/span> <span class=\"kt\">boolean<\/span> <span class=\"nf\">call<\/span><span class=\"o\">(<\/span><span class=\"n\">Node<\/span> <span class=\"n\">node<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\n            <span class=\"k\">try<\/span> <span class=\"o\">{<\/span>\n                <span class=\"k\">for<\/span> <span class=\"o\">(<\/span><span class=\"n\">Entity<\/span> <span class=\"n\">entity<\/span> <span class=\"o\">:<\/span> <span class=\"n\">node<\/span><span class=\"o\">.<\/span><span class=\"na\">getEntities<\/span><span class=\"o\">())<\/span> <span class=\"o\">{<\/span>\n                <span class=\"c1\">\/\/ only convert meshes, lights\/camera and other stuff will be ignored\n<\/span><span class=\"c1\"><\/span>                <span class=\"k\">if<\/span> <span class=\"o\">(!(<\/span><span class=\"n\">entity<\/span> <span class=\"k\">instanceof<\/span> <span class=\"n\">IMeshConvertible<\/span><span class=\"o\">))<\/span>\n                    <span class=\"k\">continue<\/span><span class=\"o\">;<\/span>\n                <span class=\"n\">Mesh<\/span> <span class=\"n\">m<\/span> <span class=\"o\">=<\/span> <span class=\"o\">((<\/span><span class=\"n\">IMeshConvertible<\/span><span class=\"o\">)<\/span> <span class=\"n\">entity<\/span><span class=\"o\">).<\/span><span class=\"na\">toMesh<\/span><span class=\"o\">();<\/span>\n                <span class=\"n\">List<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">Vector4<\/span><span class=\"o\">&gt;<\/span> <span class=\"n\">controlPoints<\/span> <span class=\"o\">=<\/span> <span class=\"n\">m<\/span><span class=\"o\">.<\/span><span class=\"na\">getControlPoints<\/span><span class=\"o\">();<\/span>\n                <span class=\"c1\">\/\/ triangulate the mesh, so triFaces will only store triangle indices\n<\/span><span class=\"c1\"><\/span>                <span class=\"kt\">int<\/span><span class=\"o\">[][]<\/span> <span class=\"n\">triFaces<\/span> <span class=\"o\">=<\/span> <span class=\"n\">PolygonModifier<\/span><span class=\"o\">.<\/span><span class=\"na\">triangulate<\/span><span class=\"o\">(<\/span><span class=\"n\">controlPoints<\/span><span class=\"o\">,<\/span> <span class=\"n\">m<\/span><span class=\"o\">.<\/span><span class=\"na\">getPolygons<\/span><span class=\"o\">());<\/span>\n                <span class=\"c1\">\/\/ gets the global transform matrix\n<\/span><span class=\"c1\"><\/span>                <span class=\"n\">Matrix4<\/span> <span class=\"n\">transform<\/span> <span class=\"o\">=<\/span> <span class=\"n\">node<\/span><span class=\"o\">.<\/span><span class=\"na\">getGlobalTransform<\/span><span class=\"o\">().<\/span><span class=\"na\">getTransformMatrix<\/span><span class=\"o\">();<\/span>\n                <span class=\"c1\">\/\/ write number of control points and triangle indices\n<\/span><span class=\"c1\"><\/span>                <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeInt<\/span><span class=\"o\">(<\/span><span class=\"n\">controlPoints<\/span><span class=\"o\">.<\/span><span class=\"na\">size<\/span><span class=\"o\">());<\/span>\n                <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeInt<\/span><span class=\"o\">(<\/span><span class=\"n\">triFaces<\/span><span class=\"o\">.<\/span><span class=\"na\">length<\/span><span class=\"o\">);<\/span>\n                <span class=\"c1\">\/\/ write control points\n<\/span><span class=\"c1\"><\/span>                <span class=\"k\">for<\/span> <span class=\"o\">(<\/span><span class=\"kt\">int<\/span> <span class=\"n\">i<\/span> <span class=\"o\">=<\/span> <span class=\"n\">0<\/span><span class=\"o\">;<\/span> <span class=\"n\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">controlPoints<\/span><span class=\"o\">.<\/span><span class=\"na\">size<\/span><span class=\"o\">();<\/span> <span class=\"n\">i<\/span><span class=\"o\">++)<\/span> <span class=\"o\">{<\/span>\n                    <span class=\"c1\">\/\/ calculate the control points in world space and save them to file\n<\/span><span class=\"c1\"><\/span>                    <span class=\"n\">Vector4<\/span> <span class=\"n\">cp<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Matrix4<\/span><span class=\"o\">.<\/span><span class=\"na\">mul<\/span><span class=\"o\">(<\/span><span class=\"n\">transform<\/span><span class=\"o\">,<\/span> <span class=\"n\">controlPoints<\/span><span class=\"o\">.<\/span><span class=\"na\">get<\/span><span class=\"o\">(<\/span><span class=\"n\">i<\/span><span class=\"o\">));<\/span>\n                    <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeFloat<\/span><span class=\"o\">((<\/span><span class=\"kt\">float<\/span><span class=\"o\">)<\/span> <span class=\"n\">cp<\/span><span class=\"o\">.<\/span><span class=\"na\">x<\/span><span class=\"o\">);<\/span>\n                    <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeFloat<\/span><span class=\"o\">((<\/span><span class=\"kt\">float<\/span><span class=\"o\">)<\/span> <span class=\"n\">cp<\/span><span class=\"o\">.<\/span><span class=\"na\">y<\/span><span class=\"o\">);<\/span>\n                    <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeFloat<\/span><span class=\"o\">((<\/span><span class=\"kt\">float<\/span><span class=\"o\">)<\/span> <span class=\"n\">cp<\/span><span class=\"o\">.<\/span><span class=\"na\">z<\/span><span class=\"o\">);<\/span>\n                <span class=\"o\">}<\/span>\n                <span class=\"c1\">\/\/ write triangle indices\n<\/span><span class=\"c1\"><\/span>                <span class=\"k\">for<\/span> <span class=\"o\">(<\/span><span class=\"kt\">int<\/span> <span class=\"n\">i<\/span> <span class=\"o\">=<\/span> <span class=\"n\">0<\/span><span class=\"o\">;<\/span> <span class=\"n\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">triFaces<\/span><span class=\"o\">.<\/span><span class=\"na\">length<\/span><span class=\"o\">;<\/span> <span class=\"n\">i<\/span><span class=\"o\">++)<\/span> <span class=\"o\">{<\/span>\n                    <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeInt<\/span><span class=\"o\">(<\/span><span class=\"n\">triFaces<\/span><span class=\"o\">[<\/span><span class=\"n\">i<\/span><span class=\"o\">][<\/span><span class=\"n\">0<\/span><span class=\"o\">]);<\/span>\n                    <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeInt<\/span><span class=\"o\">(<\/span><span class=\"n\">triFaces<\/span><span class=\"o\">[<\/span><span class=\"n\">i<\/span><span class=\"o\">][<\/span><span class=\"n\">1<\/span><span class=\"o\">]);<\/span>\n                    <span class=\"n\">writer<\/span><span class=\"o\">.<\/span><span class=\"na\">writeInt<\/span><span class=\"o\">(<\/span><span class=\"n\">triFaces<\/span><span class=\"o\">[<\/span><span class=\"n\">i<\/span><span class=\"o\">][<\/span><span class=\"n\">2<\/span><span class=\"o\">]);<\/span>\n                <span class=\"o\">}<\/span>\n            <span class=\"o\">}<\/span>\n        <span class=\"o\">}<\/span> <span class=\"k\">catch<\/span><span class=\"o\">(<\/span><span class=\"n\">Exception<\/span> <span class=\"n\">e<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\n            <span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"na\">printStackTrace<\/span><span class=\"o\">();<\/span>\n        <span class=\"o\">}<\/span>\n        <span class=\"k\">return<\/span> <span class=\"kc\">true<\/span><span class=\"o\">;<\/span>\n    <span class=\"o\">}<\/span>\n<span class=\"o\">});<\/span>\n<span class=\"o\">}<\/span><\/code><\/pre><\/div>\n\n      "}]}}