Read 3D document

Lista över format som stöds 3D (import)

Aspose.3D for Java API har stöd för att läsa olika typer av 3D dokument. Tillgängliga konstruktörer i klassen Scene hjälper till att göra det och de accepterar en giltig filsökvägssträng. De läsbara filformat som stöds är följande:

  1. FBX 7.5 (ASCII, Binära)
  2. FBX 7.4 (ASCII, Binära)
  3. FBX 7.3 (ASCII, Binära)
  4. FBX 7.2 (ASCII, Binära)
  5. STL (ASCII, binär)
  6. WavefrontOBJ
  7. Discreet3DS
  8. Universal3D
  9. Collada
  10. glTF
  11. DXF
  12. PLY (ASCII, binär)
  13. X (ASCII, binära)
  14. Draco
  15. 3MF
  16. RVM (Text, binärt)
  17. ASE

Konstruktörerna av Scene klass detekterar dokumentformatet 3D internt.

Importera 3D dokument

Aspose. 3D for Java API har stöd för att importera olika typer av 3D dokument för ändring, tillägg och bearbetning.

Läs en 3D Scene: Programmeringsprovning

// 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");

Arbetar med 3D Egenskaper

Aspose.3D API låter dig läsa 3D Scenegenskaper med hjälp av scenens barnnoder. Följande kodprov visar hur denna funktion används.

// 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());
}