Displaying 3D model with projected coordinates accurately to Cesium viewer

Hi Team,

I’m trying to display OBJ model that is in projected coordinate system on Cesium viewer that has almost exactly overlaps the Pointcloud tileset.
The OBJ model is converted from LandXML file which has the coordinates in projected coordinate system, originally.

This is how I display OBJ model on Cesium viewer right now.
REF Support tiling georeferenced 3D models into 3D Tiles - #3 by omar

  1. Calculate the center position from all vertices.
  2. Normalize all the vertices based on the center position.
  3. Re-project the center position which is currently projected coordinate into ECEF(Cartesian) coordinate.
  4. And I use the function below to display it on the viewer.
 modelTileset.readyPromise.then((tileset) => {


    let centerPosition = new Cesium.Cartesian3(position.x, position.y, position.z);

    let centerPositionMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
        centerPosition);

    tileset.modelMatrix = centerPositionMatrix ;
}

However, it gives a little bit of gap between pointcloud and the 3D model.

I’m wondering if Cesium.Transforms.eastNorthUpToFixedFrame has a child node that holds the model’s local coordinate system.

Please give me any idea to solve the issue.

Thanks!