The attached model demonstrates two possible ways to achieve this.
The first way exclusesively uses the 3d-model logic (labels and triggers).
The items are assigned a "Step" label on creation. This is used to know whether to send them to drilling or the queue when processor 1-3 finish. This is done by using it as the argument in the processors "Send to Port" option. It starts at one is changed to two in the entry trigger of the "Drilling" processor.
When an item enters a processor (1-3), the label "Allocated" on the processor is set to one. The pull strategy is set in a way, that the processor will only receive items from the drill in this state. When an item with "Step" == 2 exits the processor, the label is reset to 0 and it can receive another item from the source.
The logic in the second version is controlled by a process flow. When an item exits the source, a token with a reference to it is created. This token then acquires a processor and moves the item there. When the process finishes for the first time it also acquires the drill, sends the item there and then once more to the original processor.
MultiStep_Process.fsm