Help
Generating Blocks
Generate Blocks is a convenience tool that can derive operational blocks directly from the feedbacks and geometry of a complete layout. Blocks can also be created and managed manually from the canvas context menus.
Start block generation
Open Define and choose Generate Blocks. The information button beside that command opens this page. A project containing track and at least one placed feedback must be open. RailKernel performs the generation immediately and presents a summary of the newly created blocks. Existing blocks remain unchanged; only feedbacks that are not already assigned to a block are considered.
Creating and reorganizing blocks manually
Generate Blocks is optional. On track that does not yet belong to a block, use the canvas context menu to create a block and enter its properties yourself, or attach an existing detached block. Detach Block removes the relationship between a block and its rails while preserving the block definition and its settings, so you can modify the track and attach the block again afterwards. Copy Block keeps the original block and creates a separate copy with a new name; the copy starts detached and can be attached to another suitable track section. Attach Block is available from suitable track that is not already part of a block, including sections connected to a turnout or buffer stop and turntable track.
How the algorithm works
RailKernel first builds a graph from every placed rail, flextrack and precisely transformed connector. Each unassigned feedback supplies one or more seed rails. From those seeds the algorithm follows connected block-capable track in both directions until it reaches a boundary, such as a turnout or crossing, a buffer stop, the end of the track, or rail already belonging to an existing block. Switchable junctions are deliberately kept outside generated blocks because they can participate in several possible routes. Feedbacks found on the same uninterrupted section are combined into one block.
Geometry supplies the measurements
You do not have to enter the length or measure the physical rails. Catalogue geometry, connector positions, curves and flextrack paths already describe the complete section. RailKernel orders the elements from one boundary to the other and calculates the block length from their real geometry. The generated blocks receive consecutive names such as B001 and are normal editable blocks afterwards: you can rename them and adjust their properties, feedbacks and stopping behaviour.
Why every generated block needs feedback
A block represents track whose occupancy RailKernel can observe. Without at least one feedback there is no reliable evidence that a train has entered or left it, so the generator does not create a block from a completely undetected section. This is not an error and it does not mean that every millimetre of track needs detection.
Undetected track between blocks
Routing still follows the complete layout graph. Rails and accessories between two detected blocks remain part of the route as between-block geometry, even though they do not form a separate block. Their exact lengths are included in route and operational distance calculations, and any accessories on that section are reserved and switched before the train is allowed to use it. You can therefore use sensible detection sections without inventing artificial blocks for every short feedbackless piece of rail.
Inspect the result
Generation removes repetitive setup work, but the result remains yours. Inspect the summary and the canvas, give blocks meaningful names and verify that their feedbacks and physical limits match the railway before starting automatic operation. Running Generate Blocks again preserves existing definitions and only tries to build blocks for feedbacks that are still unassigned.