Чтобы получить точное значение x, y, z, используйте эту технику 'ALT-key pivot point', чтобы получить точку поверхности модели вместо ее центроида:
https://github.com/wallabyway/markupExt/issues/2
Вторая часть:
Как только у вас есть значения x, y, z, вы можете заменить вычисление положения центроида в этом посте:
https://forge.autodesk.com/blog/placing-custom-markup-dbid
// get the center of the dbId (based on its fragIds bounding boxes)
const pos = this.viewer.worldToClient(this.getModifiedWorldBoundingBox(id).center());
Это помогает?