3.1.15: Dispatch Elements

All structural elements can be given identifiers, i.e. names. Names are case sensitive and need to start with a letter or underscore. After the first initial letter numbers and letters may follow. Names need not be unique: Two elements can have the same name without Karamba3D complaining. Each element has a default identifier: its index. This is the reason why it is not allowed to have an integer number as an element identifier. Fig. 3.1.15.1 shows how a list of elements can be split into two data trees using their identifiers. The β€œDispatch Elements"-component expects a list of elements in β€œElems” as well as a list of identifiers or regular expressions in β€œId”. Regular expressions need to be prefixed by a β€œ&”. They represent a very mighty selection tool. In fig. 3.1.15.1 one can see three use-cases:

  • β€œ&.[1-2]”: a β€œ.” matches any character; β€œ[1-2]” matches one character in the range of β€œ1” to β€œ2”. This is equivalent to β€œ[12]”.

  • β€œ&b.”: matches any identifier that starts with β€œb” followed by an arbitrary character.

  • β€œ&.[13]”: matches any identifier that starts with an arbitrary character followed either by β€œ1” or β€œ3”.

Fig. 3.1.15.1: Elements can be selected by using their identifiers

There are two output-plugs on the β€œSelect Beam”-component: β€œSElem” renders the selected elements which match the selection criteria, β€œRElem” returns the rest. The entries of the β€œSElem” and β€œRElem” output data remember their spot in the original list of elements. Joining them results in the original order of elements.

Last updated

Was this helpful?