wobbl run
wobbl run is the strength study with everything spelled out, which is what you want for an answer you rely on.
$ wobbl run PART -m MATERIAL --fix SUPPORT --load LOAD [options]wobbl run needs at least one --load and one --fix. Without a material it falls back to
aluminum 6061-T6 and says so in the assumptions.
Examples
# a printed bracket screwed to a wall$ wobbl run bracket.py -m pla --fix "bolt holes d=4.5" --fix "wall x=min" \ --load "40 N down @ top and within 12 of 65,12.5,6" # a steel tab pulled sideways by the bolt through its hole$ wobbl run tab.step -m mild-steel --fix "x=min" --load "1.5 kN +x bearing @ hole d=8.5" # a cast mount with a belt pull off the part and a house rule of safety factor 2$ wobbl run cast_motor_mount.step -m "custom:E=72400,nu=0.33,yield=165,process=cast" \ --target-sf 2 --fix "z=min" --load "2000 N -0.8660254,0,-0.5 at 0,-30,66 @ holes d=6.6" \ --budget 600 # a printed mount with its layers stacked along z, run without its ribs$ wobbl run mount.py --param rib=0 -m petg --print-direction z --fix "bolt holes d=5.5" \ --load "250 N down at 0,-15,31 @ normal +y and box -21,4,10,21,6,52 rigid"Options
| Option | What it does |
|---|---|
-m, --material |
a material key such as pla or 6061-t6, a library material with one property changed such as pla:yield=40, or custom:E=...,nu=...,yield=..., as Materials explains |
-l, --load |
a load, repeatable, such as 200 N down @ top, or 300 N -x bearing @ hole d=6.6 for a bolt pressing on one side of its hole, as Loads explains |
-f, --fix |
a support, repeatable, such as bolt holes d=4.5 or clamp x=min, as Supports explains |
--target-sf |
the safety factor the part has to reach, by default the material’s own |
--quality |
fast for a quick look, normal (the default) or fine for a tighter tolerance |
--budget |
seconds for the whole study, 300 by default |
--print-direction |
the axis printed layers stack along, such as z, so pull across the layers is judged against the weaker layer strength |
--param |
a parameter of a parametric .py part, such as thickness=6, repeatable |
--scale |
scales the geometry, 25.4 for a file in inches or 1000 for one in meters |
--body |
picks one body, counting from 1, from a file that holds several |
--mesh-size |
forces the global size of the first mesh in mm |
--question |
the question this run answers, shown in the report |
-o, --out |
the result folder, by default wobbl-out/<part> |
--json |
prints the result as JSON instead of the readable summary |
--no-images |
skips drawing the heatmaps |
-q, --quiet |
drops the progress lines |
Time
A strength study on a real part takes one to seven minutes on a 2018 laptop. The budget is spent
by a cost model of each mesh and solve rather than by the clock, so the same input reaches the
same mesh level on every run, and when the budget runs out the last finished level comes back
with its checks. Large or thin walled parts need big meshes, so give them more time with
--budget 600, as the cast motor mount, enclosure and drone arm examples do.
Output
The terminal shows the verdict, the peak stress, the safety factor, the target, the largest deflection and the confidence with its reasons, then the checks, the fixes, the assumptions and the file paths. Reading a result walks through it.