Improve mesh quality when converting 3D-PDF to GLTF

I am currently using “Aspose.3D for .NET” to convert CAD files in “3D PDF format” to the “Gltf format”. This works very well, only small errors occur in the CAD model due to the conversion. Maybe the reason is that the mesh is compressed too much.
In the photos you can see the original CAD model on the one hand and on the other hand the model after conversion to Gltf format.

original_CAD_model.jpg (74.2 KB)

mesh_after_conversion.jpg (69.9 KB)

Unfortunately I have not found a way to improve the quality during the conversion?

This is my current code:

      System.Console.WriteLine("convert from '3d pdf' to 'gltf' ...");
      Aspose.ThreeD.License license = new Aspose.ThreeD.License();

      var scn = Scene.FromFile(args[0]);

      GltfSaveOptions opts = new GltfSaveOptions(FileContentType.Binary);
      opts.MaterialConverter = delegate (Material material)
              PhongMaterial m = (PhongMaterial)material;

              return new PbrMaterial() { Albedo = new Vector3(m.DiffuseColor.x, m.DiffuseColor.y, m.DiffuseColor.z) };

      scn.Save("output.glb", opts);

Thanks for any help.


We have logged an investigation ticket as THREEDNET-1276 in our issue tracking system in order to further analyze this scenario. We will look into its details and keep you posted with the status ticket resolution. Meanwhile, would you please share your sample source file for our reference?

Thank you very much for the quick response.

As requested, I hereby provide you with a small example: (935.0 KB)


Thanks for providing sample file. We have attached it with the logged ticket and will inform you as soon as it is resolved.

Hello @asad.ali,

as we just saw in the “Issues Status” it says that THREEDNET-1276 is resolved. So were you able to fix the problem? Currently we couldn’t see any improvements on our end.

Thank you very much for your help.


The 3D PDF file does not contain normal data, so the generated GLTF also have no normal data.

Aspose.3D for .NET 22.11 will generate normal data if there’s no normal definition.

Perfect, the new version solves our problem! Thanks a lot for your support.