Thanks!
I've been experimenting with FreeCAD and freecad-mcp too, even managed for Claude to create a new LDraw benchmark for it.
However, given the amount of parts some LDraw models have, FreeCAD performance would not be enough, something to do with its solver trying to work out too many constraints at once.
The thing about how to assemble the parts, yes, that drove me crazy for quite a while.
A way I found that helps is to provide the agents information about contacts, e.g. what parts of a brick are actually connectors.
With that in place, it can create tools to automatically check if two parts are connected "the right way" ;-)
I got LEGO connectors info from here: https://www.melkert.net/LDCad/tech/shadowLib
I just added another comment under my original as you were replying- I'll try not to spam you with too many questions, this is just so cool though!
Do you find the models generally manage to avoid making errors when placing parts (e.g. placing parts which intersect, don't connect properly, etc) or do they rely on validation and correction cycles?