mb
mb adds an offset to the coordinates of the vertices in a region of the open part.
Syntax
mb imin jmin kmin imax jmax kmax component value [ value ... ]
The arguments are those of pb: a region of reduced indices, a component (x, y, z, xy, xz, yz or xyz) and one real for each of its letters. Here each value is an offset, not a position.
What it does
mb adds each offset to the named coordinate of every vertex in the region. The coordinates that component does not name stay as they were. In a cylinder part the offsets are in radius, angle in degrees and height.
When James applies it
Step 1iii of the hierarchy, in input order within the step, as pb describes. mb is legal only in the Part phase.
Rules James adds
- An offset may take a
cylinderpart’s angle outside 0 to 360 degrees. James neither wraps nor refuses it. The value passes through and converts periodically when the part ends, so 390 degrees lands where 30 does. A vertex pushed past its neighbour folds the element, which the negative-Jacobian warning reports.
Diagnostics
- E0500: a reduced index lies outside the part.
- E0501:
componentis not one of the seven words. - E0502: the number of values does not fit
component. - E0106: a minimum is larger than its maximum.
Example
The script tests/golden/016-cylinder-angle-wrap/input.tg, which make test runs:
c A cylinder part whose j = 2 vertex at r = 1 is pushed by mb 300 degrees past
c its 90: the angle passes through unchanged and converts periodically at
c endpart, so the vertex lands at 30 degrees, below its neighbour at 90,
c and the one element folds (vertex-positioning.md, Decisions, M7).
cylinder 1 2;1 2;1 2;1 2;0 90;0 1;
mb 1 2 1 1 2 1 y 300
merge
neutral
write
The offset is added to the angle y of the vertex at 90 degrees. James keeps 390 and converts it at the end of the part, so the vertex lands at 30 degrees. It then lies below its neighbour at 90, and James prints the warning in tests/golden/016-cylinder-angle-wrap/input.diag.txt:
input.tg:5:1: warning: part #0 has 1 element with a negative Jacobian
james: 0 errors, 1 warning