We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Uniquely identifying fbx meshes

Hello

We’re testing Aspose ThreeD for .NET for extracting meshes from FBX files. Part of the requirement is to have a reliable means of uniquely identifying each mesh from within a file. This is to prevent us from re-extracting existing meshes if we run a new version of the file. I’ve read that the ‘Name’ property of the mesh’s parent node is not guaranteed to be unique, however the file I’m testing contains entries like the following:

Model: 1234567890, "Model::AN-EXAMPLE-MESH", "Mesh" {
	Version: 232
	Properties70:  {
		P: "PreRotation", "Vector3D", "Vector", "",-90,-0,0
		P: "RotationActive", "bool", "", "",1
		P: "InheritType", "enum", "", "",1
		P: "ScalingMax", "Vector3D", "Vector", "",0,0,0
		P: "DefaultAttributeIndex", "int", "Integer", "",0
		P: "Lcl Rotation", "Lcl Rotation", "", "A",0,-0,179.999991348578
		P: "Lcl Scaling", "Lcl Scaling", "", "A",100,100,100
		P: "MaxHandle", "int", "Integer", "UH",422
	}
	Shading: T
	Culling: "CullingOff"
}

The first number (1234567890) appears to be a means of identifying the mesh in order that it can be associated with, among other things a geometry and a material. Assuming that this number is unique to its associated mesh, it would be an ideal property with which to identify the meshes once they are extracted. Is there a means of obtaining the number via the API and, if not, are there any plans to expose this number in the future?

Many Thanks,
Martin

@Unpleasantken,
We have logged a feature request under the ticket ID THREEDNET-286 in our issue tracking system. We would recommend you kindly share a source FBX file because it will help us to investigate the actual scenario. We have linked your post to this ticket and will keep you informed regarding any available updates. We are sorry for the inconvenience caused.

Best Regards,
Imran Rafique

@Unpleasantken,
We have logged a feature request under the ticket ID THREEDNET-286 in our issue tracking system. We would recommend you kindly share a source FBX file because it will help us to investigate the actual scenario. We have linked your post to this ticket and will keep you informed regarding any available updates. We are sorry for the inconvenience caused.

Best Regards,
Imran Rafique

In this file, line 217 contains the text

Model: 3, "Model::Mesh0", "Mesh" {`

It would be useful for our purposes if the number (3 in this case) was exposed by the API.

Thanks for your help,
Martin

@Unpleasantken,
Thank you for the details. We have logged this information under the same ticket ID THREEDNET-286. We will let you know once a significant progress has been made in this regard.

Best Regards,
Imran Rafique

@Unpleasantken,
The ticket ID THREEDNET-286 has been resolved. If there is no issue in the quality assurance phase, then this fix will be included in the next version 17.9 of Aspose.3D for .NET API. We will notify you once the next version is published.

Best Regards,
Imran Rafique

@Unpleasantken,
The linked ticket ID THREEDNET-286 has been fixed. Please download and try the new version 17.9 of Aspose.3D for .NET API. We can get or set every object ID, please refer to this code example:

C#

Scene scene = new Scene(); 
Mesh mesh = new Box().ToMesh(); 
Node cube1 = scene.RootNode.CreateChildNode("cube1", mesh); 
cube1.FindProperty("objectId").Value = 2345; 
scene.Save("D:\\temp\\test.fbx", FileFormat.FBX7400ASCII);