|
a |
|
b/Docs/Scaling/intro.md |
|
|
1 |
(scaling-intro)= |
|
|
2 |
|
|
|
3 |
# Introduction to Scaling |
|
|
4 |
|
|
|
5 |
:::{sidebar} Scaling Tutorials |
|
|
6 |
|
|
|
7 |
The three tutorials covers the different scaling |
|
|
8 |
methods shown in the table below: |
|
|
9 |
|
|
|
10 |
```{toctree} |
|
|
11 |
:maxdepth: 1 |
|
|
12 |
|
|
|
13 |
lesson1 |
|
|
14 |
lesson2 |
|
|
15 |
lesson3 |
|
|
16 |
|
|
|
17 |
``` |
|
|
18 |
::: |
|
|
19 |
|
|
|
20 |
Musculoskeletal models must be scalable to sizes of different |
|
|
21 |
individuals to be useful for product design. Scaling pertains not only to the overall geometry, |
|
|
22 |
but also muscle insertion points, muscle parameters, wrapping |
|
|
23 |
surfaces etc. AnyBody has a both generic and user-define scaling laws for models in the repository. |
|
|
24 |
|
|
|
25 |
For details on scaling theory behind please take a look at [Rasmussen 2005](https://paperpile.com/shared/sqkoXwnHARTiI82J2Sarhcg). |
|
|
26 |
|
|
|
27 |
Size related parameters of models in the {doc}`AMMR </index>` |
|
|
28 |
are seldom defined as constant numbers, but instead computed from global measurements |
|
|
29 |
(e.g., total height, weight of human) based on a scaling law. Thus all body models |
|
|
30 |
expect the definition of a scaling law, although user can |
|
|
31 |
choose the actual law. |
|
|
32 |
|
|
|
33 |
Currently there are six pre-defined scaling laws available in AnyBody: |
|
|
34 |
|
|
|
35 |
|
|
|
36 |
```{eval-rst} |
|
|
37 |
.. list-table:: |
|
|
38 |
:widths: 3 7 |
|
|
39 |
:header-rows: 1 |
|
|
40 |
|
|
|
41 |
* - Scaling law |
|
|
42 |
- Description |
|
|
43 |
* - :any:`ScalingStandard <_SCALING_STANDARD_>` |
|
|
44 |
- scale to a standard size; i.e. use 50th percentile sizes for a European male |
|
|
45 |
* - :any:`ScalingNone <_SCALING_NONE_>` |
|
|
46 |
- do not scale; i.e. use underlying cadaveric dataset as is |
|
|
47 |
* - :any:`ScalingUniform <_SCALING_UNIFORM_>` |
|
|
48 |
- cale segments equally in all directions; input is joint to |
|
|
49 |
joint distances |
|
|
50 |
* - :any:`ScalingLengthMass <_SCALING_LENGTHMASS_>` |
|
|
51 |
- scale taking mass into account; input is joint to |
|
|
52 |
joint distances and mass |
|
|
53 |
* - :any:`ScalingLengthMassFat <_SCALING_LENGTHMASSFAT_>` |
|
|
54 |
- scale taking mass and fat into account; input |
|
|
55 |
is joint to joint distances |
|
|
56 |
* - :any:`ScalingXYZ <_SCALING_XYZ_>` |
|
|
57 |
- scale taking mass and fat into account; scale segments along X, Y, Z axes; |
|
|
58 |
input is scale factors along X, Y, Z axes. |
|
|
59 |
``` |
|
|
60 |
|
|
|
61 |
**Please also notice that each scaling law scales the strength of the |
|
|
62 |
muscles, in addition to the size and mass of the bone.** This strength |
|
|
63 |
scaling is done automatically in most cases. We will come back to it |
|
|
64 |
when needed. Users who need a more comprehensive introduction can view |
|
|
65 |
this recorded previous webcast titled [“Anthropometrical Scaling of |
|
|
66 |
Musculoskeletal |
|
|
67 |
Models”](https://www.anybodytech.com/download/anthropometrical-scaling-of-musculoskeletal-models). |
|
|
68 |
|
|
|
69 |
## Overwriting default input parameters |
|
|
70 |
|
|
|
71 |
After selecting a scaling law, the user can override the default input |
|
|
72 |
parameters. All input parameters can be accesed in the |
|
|
73 |
`Main.HumanModel.Anthropometrics` folder. |
|
|
74 |
|
|
|
75 |
For example, to adjust the height of |
|
|
76 |
the model, the user can add the following code to the `Main` file: |
|
|
77 |
|
|
|
78 |
```AnyScriptDoc |
|
|
79 |
Main.HumanModel.Anthropometrics.BodyHeight = 1.8; // overwrites the default value |
|
|
80 |
``` |
|
|
81 |
|
|
|
82 |
### Using legacy `AnyMan.any` files |
|
|
83 |
|
|
|
84 |
To keep backward compatibility with older models, AnyBody still supports using custom `AnyMan.any` files. |
|
|
85 |
You can specify your own file with by setting the `BM_SCALING_ANTHRO_FILE` BM statement: |
|
|
86 |
|
|
|
87 |
```AnyScriptDoc |
|
|
88 |
#path BM_SCALING_ANTHRO_FILE "My_Own_AnyMan.any" |
|
|
89 |
``` |
|
|
90 |
|
|
|
91 |
This method is not recommended for new models, but it is still supported for older models. |
|
|
92 |
|
|
|
93 |
:::{admonition} **Next lesson:** |
|
|
94 |
:class: seealso |
|
|
95 |
Now head for {doc}`lesson1`. |
|
|
96 |
::: |
|
|
97 |
|
|
|
98 |
% .. image:: _static/intro/image1.jpeg |
|
|
99 |
% :width: 80% |