-
-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Understanding the Element Concept #61
Comments
Yes, you are right. Although, not only big changes like replacing parts, any model changes can possibly break the link. With a deep hierarchical assembly, if there is a breaking Element due to model change, you only need to update the deepest sub-assembly that directly hosting the model object. You can also check out this tutorial and see how elements are manually created for different hierarchies. |
That's a nice concept. Thanks! |
While reading https://github.com/realthunder/FreeCAD_assembly3/wiki/Concepts#element, it seems like that:
Any assembly constraint MUST use two or more of points, edges or faces directly. In order to reduce the amount of work on broken reference cases, which might occur when a major change has taken place in the model (like an already assembled component (or even its sub component) would be totally replaced by a totally different one instead of making some small changes) there is a middle layer called "Elements" that holds a map of both our intention (ie. "top of the screw") and the actual point/edge/face (ie. "Face017"). When a such major change occurs, we only need to update our intentions. Since we used our "intentions" potentially many times in the actual constraint definitions, our re-work burden would be significantly reduced in such cases.
Naming the
Element
instancesIf that's true till this point, we might consider giving names (description of our intention) to the
Element
instances whenever possible, because If we wanted to replace an object with many elements (like in Replacing Part example) we can't easily update the brokenElement
s because we can't know/remember what the intention ofElement057
was. Is that true?The text was updated successfully, but these errors were encountered: