User manual › ICoreBlocks — the user manual
kind: manual#manual#getting-started#window#workflow

ICoreBlocks — the user manual#

ICoreBlocks is a block-diagram modelling application: you draw a system as blocks joined by signal links, run it over a stretch of simulated time, read the results on a scope or in the command window, and — when the model is right — export it as source code for another target.

This manual is about using the application. It assumes you have it installed and open, and nothing else.

The parts of the window#

PartWhat it is for
CanvasThe drawing surface, one per open tab. Blocks are placed here and joined with links. It is the only part that holds your model.
Library navigatorThe catalogue of blocks you can place, arranged by family. Hovering a block shows the same description you will see in its configuration dialog.
Subsystem navigationMoves you between levels of the model. The top level is called Home; a subsystem block opens a level of its own beneath it.
Command windowA console. It evaluates arithmetic, calls the built-in functions, and runs the commands listed in Command glossary — console commands, verbs, functions.
Model configurationThe solver settings a run obeys — start and stop time, solver type, sampling. See Running a simulation — solver settings, sampling, starting and stopping.
DiagnosticsWhat a run reports: warnings, errors, and the messages explained in Reading results — scopes, charts, stored values, and what a run tells you.
Code exportTurns the model into source for one of the supported targets.

A block's own configuration dialog carries an information panel describing that block — its ports, its parameters and what it computes. That description is the same text shown in the library navigator and on the block's page in Block catalog — every library block, so there is only ever one description to read.

The shortest path to a plotted result#

The quickest way to see the application do something is to open one of the worked examples that ship with it rather than to start from an empty canvas.

  1. Open a template — the catalogue is in Template catalog — every .iscript, and the application lists it for you:

    `` $ ICoreBlocks --console "templates" 49 template(s): Control Systems examples/Closed_Loop_Speed_Control Closed-Loop Speed Control A proportional controller driving a first-order plant, with unity feedback. subsystems/first_order_lag First-Order Lag A step into a 1/(s+1) transfer function, watched on a scope. ``

  2. Open one. It becomes a new project of its own, so the original template is never modified:

    `` $ ICoreBlocks --console "openTemplate examples/Closed_Loop_Speed_Control" opened 'Closed-Loop Speed Control' as a new project: …/Documents/ICore Blocks/Closed-Loop Speed Control ``

  3. Press Run. The scope in the diagram fills in as the run advances.
  4. Read the result. The scope plots it; Reading results — scopes, charts, stored values, and what a run tells you covers the other ways to get at the numbers.

From there, Building a diagram — blocks, links, subsystems, saving describes changing the model or starting one from nothing.

Doing it from the command window instead#

Everything above has a console equivalent, and the console is also a calculator in its own right. A response you can check by hand:

$ ICoreBlocks --console "G = tf([1],[1 1]); y = step(G, 5, 6); y.values()"
[[0], [0.632121], [0.864665], [0.950213], [0.981684], [0.993262]]  # Matrix of Double

Those are the samples of 1 − e⁻ᵗ at t = 0, 1, 2, 3, 4, 5 — the step response of 1/(s+1). Command glossary — console commands, verbs, functions is the full roster of commands and functions.

The --console "<command>" form used throughout this manual runs one command and exits, which is why the examples can be pasted and checked. Inside the application you type the same text into the command window without it.

Where to go next#

Real runs#

Every transcript on this page is a real run rather than an illustration. Binary cmake-build-debug/ICoreBlocks.app, built 2026-08-17 01:28 (source at approximately commit c2a229c6); one process per line, HOME=<scratch> QT_QPA_PLATFORM=offscreen ICoreBlocks --console "<line>", with the toolkit's startup noise removed and paths under that scratch home shortened to . Re-run any line above to check this page against the program.