Trying to dig in

Hello all,

I looked around the code a bit more and I encountered some weirdness I’d like advice on:

The autoconstraints behaving a bit weird from my noob-user point of view was something I already pointed out in an earlier topic, they’re not really constraining, they’re just establishing geometric relationships. So I tried looking for the code doing that, I found where the variables and functions are defined, but not where the check is performed and the constraints get created. If you could point me in that direction, I’d appreciate it.

The other thing I looked at was more of the python integration, namely the plot workbench, which was advertised as the pure python workbench. It seemed weird to me that the plots or the data didn’t show up in the document tree view. So upon reading that guide to the codebase pdf, I noticed that to add a new element to the tree there needs to be a cpp baseclass that is referenced and that needs to be inherited from if I understood that correctly. That there is a python function for adding such an element but no default argument or help text to show how to actually do that for something that isn’t defined in cpp makes it almost pointless to do it with python?

The last thing I found really weird, was that elements of the document get added as attributes to the document object? I mean, directly. I’d understand if the structure was Document.Data.Sketch but it’s Document.Sketch or Document.Part the same way how you would access Document.Name or Document.MemSize. There is even a Document.Objects that seems to contain the part or sketch or other data again?

I’m grateful for anything you can say about these things.