8 ms·
This may not come across well, because it is related to very large CAD models. Think rockets, cars, ships, airplanes, type large. In the assembly paradigm, ea
by ddingus 7y ago
This may not come across well, because it is related to very large CAD models. Think rockets, cars, ships, airplanes, type large.
In the assembly paradigm, each component has 6 degrees of freedom. On average, a good human can mentally process a handful of components. Beyond that, it gets very hard to balance all the degrees of freedom.
Solvers also do not scale well once things reach the hundreds, sometimes low thousand component level. Linear compute performance bound. Parallelization is hard and a focus of current development.
Very large assemblies present problems similar to the ones seen in large software.
The dominant way of building big models, assemblies is to compartmentalize sub systems, build to common interface points, and only constrain important component groups.
Resolving all the degrees of freedom requires making big investments in time and compute power that only pay off when things change.
Almost never makes sense.
The balance is making those investments where change is known or predicted with high confidence.
Otherwise, it is easier to defer this task and work with common assumptions, until such time as a more complete model is warranted and indicated.
It is always a hard balance to find because the allure of "handling the future changes" now is seen as a savings when the truth is almost always a loss.
Those efforts become debt in a few ways:
Big investment in change ready model sees changes that lie outside the scope of already implemented model dynamics. (Big refactoring needed) 2x if not more work required.
Model actually defined incorrectly. Creates problems that would not otherwise exist. Hard to find these due to massive compute and human time spent simulating and debugging.
Model overly compartmentalized, due to compute limits and too many assembly model constraints. Makes reasonable changes difficult. Refactoring is needed.
Inability to operate with full or large fractions of model, due to inability to compute it reasonably.
Finally, where the large model is made across various CAD systems, designing in place, just putting things relative to common assembly mating points actually is the most efficient way!
When a dynamic assembly model is needed for analysis or other simulation related task, or changes, making it right then, even sometimes throwing it away when the work is done can make the best sense, with only the final result kept for the future.
None of this is intuitive at first. Everyone will tend to over model, until they hit one of the pain points, have to over correct, and work through it all.