Yes, but unfortunately my list of things to do in this branch is that long that I can't offer any coding help in this new view.Hello, I was hoping you would chime in as we have had a similar conversation a little while ago.
I think your problem goes deeper than what you have described in your initial post. Have a look at the following picture: There are two points:I don't really follow your example as it trying to use a datum plane from another body/part which part design rejects. Doesn't matter though because I have no doubt the problem you describe exists. My question to you about this is: Does this problem exist because a feature node/point isn't in the correct column? If the answer is yes, this leads back to the point of my original post.
1. Sketch002 is connected to origin: that is not true, there should be no line between them. origin should be left or right from the sketch/pad/body nodes and connect to part only. That is what i suspect you described n your first post. (the same happens for datum plane: it depends on Fillet, but not on Sketch, but for both connections exist)
2. Sketch002 depends on DatumPlane. This connection most likely exist, but pases through many many other nodes making it invisible. It is impossible to see what is connected to what anymore.
What you basically need is a edge and node avoidance system with two rules:
1. a edge shout never touch any node except its start and end node.
2. an edge shall never occupy the space of another edge, but only cross it perpendicular if needed.
This then reduces to a layout problem which can be handled without any additional information from the document objects. IMHO document object information is never enough to enforce those rules and hence would always lead to errors as seen here. But most likely creating a layout engines which enforces those rules will be rather hard. You can have a look at adaptagrams, they offer pretty powerful algorithms. (But maybe there are more powerful libraries out there foor such problems, maybe even a git library?)
No, I modified the code very much recently and this is only in my repository. If you are interested I can provide an example code. Note that the recent update included the possibility to filter the graph, so this may come in handy for your additional ideas! And also feel free to copy the 3 relevant files over, no need for dependencies here (hail the templates!)Hah! I already looked at it a little while ago out of curiosity and even made some changes to the documentation. Sounds interesting, but to be honest the idea/concept hasn't penetrated my thick skull yet. Is your latest code merged into jurgens assembly branch? Even though I am building this on the assembly branch I am doing my best to make the dagview independent.