How to align parent objects based off of their respective children positions?

I have imported two gltfs made in blender. Each of these are being used as Object3Ds and load into the scene no problem. In blender, I added an empty to each of them in a specific vertex location. In three js I would like to position one of these objects manually, and then dynamically position the second one such that its empty (a child of the object) is the same position as the empty of the first object. Is there any way to achieve this?

If this is possible, then it would seem also possible to add 2 additional empties to each object (so that each has 3) and then to position one of the objects’ empties against the other objects’ empties such that the 2 objects are positioned together and also aligned in a specific way (rotationally).

I’m also open to better ways to dynamically position things if this empty approach is a bad idea.

Thanks for any help.

Sounds like you need to use localToWorld do you have an illustration to better understand what you mean or a live example of your code so far?

Fwiu of your question you’ll probably want to do something like this…

const empty1_v3 = new Vector3() 
const empty2_v3 = new Vector3() 

object2.position.copy(empty1.localToWorld(empty1_v3)).sub(empty2.localToWorld(empty2_v3))