Translate the Cesium Coordinates to Local Model Coordinates?

Hi,there,I need some helps about translate the Cesium Coordinates to Local Model Coordinates.

I have build some models through SketchUp,and final I export them to gltf format.When I put them on the Cesium globe,I used the code like below:

var modelEntity = viewer.entities.add({
    name : 'milktruck',
    position : Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706),
    model : {
        uri : '../../SampleData/models/CesiumMilkTruck/CesiumMilkTruck-kmc.gltf'
    }
});

after that,I want to get the relative coords on the gltf models.I have used some code to pick the mouse position like below:

handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function(movement) {
var foundPosition = false;

var scene = viewer.scene;
var pickedObject = scene.pick(movement.endPosition);
if (scene.pickPositionSupported && Cesium.defined(pickedObject) && pickedObject.id === modelEntity) {
    var cartesian = viewer.scene.pickPosition(movement.endPosition);

    if (Cesium.defined(cartesian)) {
        var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
        var longitudeString = Cesium.Math.toDegrees(cartographic.longitude);
        var latitudeString = Cesium.Math.toDegrees(cartographic.latitude);
        var heightString = cartographic.height;

        labelEntity.position = cartesian;
        labelEntity.label.show = true;
        labelEntity.label.text = '(' + longitudeString + ', ' + latitudeString + ', ' + heightString + ')';

        var camera = scene.camera;
        labelEntity.label.eyeOffset = new Cesium.Cartesian3(0.0, 0.0, camera.frustum.near * 1.5 - Cesium.Cartesian3.distance(cartesian, camera.position));

        foundPosition = true;
    }
}

if (!foundPosition) {
    labelEntity.label.show = false;
}

}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

and then ,I translate the coords(longitudeString ,latitudeString ,heightString ) to the Cartesian3:

the translate method is “viewer.scene.globe.ellipsoid.cartographicToCartesian()”


then,I use the mouse position coords minus the model Cesium globe position coords to get the relative coords (I think the relative coords is the same to the Local Model Coordinates that I built):

var RelativeCoords_1 = {x: MousePosition_1.x - ModelOriginPosition.x, y: MousePosition_1.y - ModelOriginPosition.y, z: MousePosition_1.z - ModelOriginPosition.z};

but finally,I get the wrong relative coords(the relative coords is not the same to the Local Model Coordinates),so I want to know where I make the mistakes,any help would be great!