Leggi il documento 3D
Elenco dei formati supportati da 3D (importazione)
Aspose.3D for Java API supporta la lettura di vari tipi di documenti 3D. I costruttori disponibili della classe Scene
aiutano a farlo e accettano una stringa di percorso file valida. I formati di file leggibili supportati sono i seguenti:
- FBX 7.5 (ASCII, binario)
- FBX 7.4 (ASCII, binario)
- FBX 7.3 (ASCII, binario)
- FBX 7.2 (ASCII, binario)
- STL (ASCII, binario)
- WavefrontOBJ
- Discreet3DS
- Universal3D
- Collada
- glTF
- DXF
- PLY (ASCII, binario)
- X (ASCII, binario)
- Draco
- 3MF
- RVM (testo, binario)
- ASE
I costruttori della classe Scene rilevano internamente il formato del documento 3D.
Importa 3D documento
Aspose.3D for Java API supporta l’importazione di vari tipi di documenti 3D per la modifica, l’aggiunta e l’elaborazione.
Lettura di una scena da 3D: campioni di programmazione
// the path to the documents directory. | |
String MyDir = RunExamples.getDataDir(); | |
// Initialize a Scene class object | |
Scene scene = new Scene(); | |
// Load an existing 3D document | |
scene.open(MyDir + "document.fbx"); |
Lavorare con 3D proprietà
Aspose.3D API ti consente di leggere 3D proprietà della scena utilizzando i nodi figlio della scena. Il seguente esempio di codice dimostra l’utilizzo di questa funzionalità.
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-Java | |
String dataDir = RunExamples.getDataDir(); | |
Scene scene = new Scene(dataDir+ "EmbeddedTexture.fbx"); | |
Material material = scene.getRootNode().getChildNodes().get(0).getMaterial(); | |
PropertyCollection props = material.getProperties(); | |
//List all properties using for loop | |
for (Property prop:props) | |
{ | |
System.out.println("Name" + prop.getName() + " Value = " + prop.getValue()); | |
} | |
//or using ordinal for loop | |
for (int i = 0; i < props.size(); i++) | |
{ | |
Property prop = props.get(i); | |
System.out.println("Name" + prop.getName() + " Value = " + prop.getValue()); | |
} | |
//Get property value by name | |
Object diffuse = (Vector3)props.get("Diffuse"); | |
System.out.println(diffuse); | |
//modify property value by name | |
props.set("Diffuse", new Vector3(1, 0, 1)); | |
//Get property instance by name | |
Property pdiffuse = props.findProperty("Diffuse"); | |
System.out.println(pdiffuse); | |
//Since Property is also inherited from A3DObject | |
//It's possible to get the property of the property | |
System.out.println("Property flags = " + pdiffuse.getProperty("flags")); | |
//and some properties that only defined in FBX file: | |
System.out.println("Label = " + pdiffuse.getProperty("label")); | |
System.out.println("Type Name = " + pdiffuse.getProperty("typeName")); | |
//so traversal on property's property is possible | |
for (Property pp: pdiffuse.getProperties()) | |
{ | |
System.out.println("Diffuse. " + pp.getName() + " = " + pp.getValue()); | |
} |