ppemawm wrote: ↑
Sun Jul 19, 2020 4:46 pm
Not so silly. Thank you for sharing your file and workflow.
I learned so much studying your tree, step-by-step:
1. How to get the master sketch into ASM4 Model by simply assembling it. Avoids the out-of-scope warning I usually get with drag/drop of a carbon copy.
2. Your approach allows you to create the bodies in their own file at the global origin (which has some advantages BTW) and 'assemble' each in its Model at its proper location controlled by the master sketch. And then, go to the main assembly file, assemble the link in Model which puts all of the bodies in context where you can then modify or finish the body! Amazing.
3. I better understand why to use the OZX, OZX, etc. attachment modes which I have rarely used.
Thanks. When I finally discovered list item 2 and understood the advantages, it was quite a heureka moment for me. In practice, I usually set the sub-model LCS:s by coordinate values and angles by using Variables and Expression Engine. When I use the same variables in the involved body sketches for the same dimensions, the combination is a) 100 % topo problem proof, and b) completely parametric (the sketches and LCS:s move by the same variables, when edited). I only use the sketch attachment option for complicated movements/attachments, where simple Variable solutions cannot be found. But even then, using your master sketch approach, the topo problems are usually quite manageable.
4. How to use the variables across the linked external files which I had not done or did not know I needed yet. Thanks again.
Yes, that is very powerful, although it is also a very
tricky beast, because it is easily possible, without any warnings, to introduce a cyclic dependency by using Expression Engine to make the sub-models depend on the main model variables. This makes it possible to edit and use the model, but FreeCAD refuses to load such assembly (it chokes in a cyclic DAG). I wish it would be possible to have the Asm4 Variables excluded from the cyclic dependency check, but I understand why it's necessary for preventing endless calculation loops for badly designed models. However, directly linking
the sub-assembly Variables to the main assembly is not a dependency (from the sub-models' point of view), so it should work fine. And indeed, changing the sub-assembly variables through main model is then a procedural operation, not a calculation dependency, and this is ok both theoretically and in practice. Unfortunately, the Asm4 animation button does not (at least yet) support this. Hopefully Zolko expands the workbench in this direction, too
I am imagining your workflow or something similar that which would facilitate team design of a bespoke assembly and its bodies:
1. A senior designer defines the assembly and sub-assembly master sketches in an Assembly file with interface dimensions and necessary design intent constraints.
2. He can then establish files for each body and 'assemble' the master sketches links into the body Models and assemble (links) the body files in the Assembly file Model. He could go as far to create the basic envelope of the body in-context.
3. Now, another designer(s) can access each file and detail the body using (carbon copies?) of the master sketch as guidance somehow. Unfortunately, this is not" in context" so there is still a chance that it will have to be modified in the Assembly file.
Do you have any thoughts or suggestions on the above approach?
That is more or less how I try to work, except that I work alone, and quite often I actually do in-context editing/modeling by accessing the sub-Models through the links in the main Model. That way the whole model is visible, even if you just edit some sub-model features. Sometimes, if everything is very cluttered, I click on the individual sub-file, and everything around the detail vanishes, and I can concentrate on the detail. It is a very neat workflow. Thus, maybe in your team design workflow suggestion it might be reasonable to keep the files in a common file server, where only the senior designer would have read-write access at the file level to the main model, and other designer see it as read-only. That way all the designers could work in-context and see the whole model, but only edit their specific areas.
BTW in your example you could have used a Draft > Make polar array wit out all of the LCS's after you assemble the first. The downside is that you cannot move each independently AFAIK.
Exactly, and exactly. That is what makes my example slightly silly, because I used a lot of clicking to make the LCS:s independent, but didn't use the independence at all (because the example was simple, and meant just to show how I normally use the Asm4 workbench).