The MATLAB® print
command
provides several options for printing Simulink® models. For example,
print the Compression
subsystem in the sldemo_enginewc
model
to your default printer:
open_system('sldemo_enginewc'); print -sCompression
Tip
When you use the print
command, you can
print only one system. To print multiple levels in a model, use multiple print
commands,
one for each system that you want to print. To print multiple systems
in a model, consider using the Print Model dialog box in the Simulink Editor.
For details, see Select the Systems to Print.
You can use set_param
and the following parameters to
specify printing options for models.
Model Parameters for Printing
Parameter | Description | Values |
---|---|---|
| Printing paper orientation. |
|
| When | vector — |
| Paper position mode.
|
|
| Size of | vector — |
| Printing paper type. |
|
| Printing paper size units. |
|
| Scales the size of the tiled page relative to the model. |
|
| Controls the size of the margins associated with each tiled page. Each element in the vector represents a margin at the particular edge. | vector — |
You can use orient
to
control the paper orientation.
To print a system whose name appears on multiple lines, assign
the newline character to a variable and use that variable in the print
command.
This example shows how to print a subsystem whose name, Aircraft
Dynamics Model
, appears on three lines.
open_system('f14'); open_system('f14/Aircraft Dynamics Model'); sys = sprintf('f14/Aircraft\nDynamics\nModel'); print (['-s' sys])
To print a system whose name includes one or more spaces, specify the name as a character vector. For example, to print the Throttle & Manifold subsystem, enter:
open_system('sldemo_enginewc'); open_system('sldemo_enginewc/Throttle & Manifold'); print (['-sThrottle & Manifold'])
To set just the paper orientation, use the MATLAB orient
command.
You can also set the paper orientation by using set_param
with
the PaperOrientation
model
parameter. Set the paper type with the PaperType
model
parameter.
To position and size the model diagram on the printed page,
use set_param
command with the PaperPositionMode
and PaperPosition
model parameters.
The value of the PaperPosition
parameter
is a vector of form [left bottom width height]
.
The first two elements specify the bottom-left corner of a rectangular
area on the page, measured from the bottom-left corner. The last two
elements specify the width and height of the rectangle.
If you set the PaperPositionMode
parameter
to manual
, Simulink positions (and scales,
if necessary) the model to fit inside the specified print rectangle.
If PaperPositionMode
is auto
, Simulink centers
the model on the printed page, scaling the model, if necessary, to
fit the page.
For example, to print the vdp
model in the
lower-left corner of a U.S. letter-size page in landscape orientation:
open_system('vdp'); set_param('vdp', 'PaperType', 'usletter'); set_param('vdp', 'PaperOrientation', 'landscape'); set_param('vdp', 'PaperPositionMode', 'manual'); set_param('vdp', 'PaperPosition', [0.5 0.5 4 4]); print -svdp
Use set_param
to set the PaperPositionMode
parameter
to tiled
.
Use the print
command with the -tileall
argument.
For example, to enable tiled printing for the Compression
subsystem
in the sldemo_enginewc
model:
open_system('sldemo_enginewc'); set_param('sldemo_enginewc/Compression', 'PaperPositionMode', ... 'tiled'); print('-ssldemo_enginewc/Compression', '-tileall')
To display the page boundaries programmatically, use the set_param
command,
with the model parameter ShowPageBoundaries
set
to on
. For example:
open_system('sldemo_enginewc'); set_param('sldemo_enginewc', 'ShowPageBoundaries', 'on')
To scale the block diagram so that more or less of it appears
on a single tiled page, use set_param
with
the TiledPageScale
parameter. By default, the value
is 1. Values greater than 1 proportionally scale the model to use
a smaller percentage of the tiled page, while values between 0 and
1 proportionally scale the model to use a larger percentage of the
tiled page. For example, a TiledPageScale
of 0.5
makes
the printed diagram appear twice its size on a tiled page, while a TiledPageScale
value
of 2
makes the printed diagram appear half its
size on a tiled page.
By decreasing the margin sizes, you can increase the printable
area of the tiled pages. To specify the margin sizes associated with
tiled pages, use set_param
with the TiledPaperMargins
parameter.
Each margin to 0.5 inches by default. The value of TiledPaperMargins
is
a vector that specifies margins in this order: [left top
right bottom]
. Each element specifies the size of the margin
at a particular edge of the page. The value of the PaperUnits
parameter
determines the units of measurement for the margins.
To specify a range of tiled page numbers programmatically, use print
with
the -tileall
argument and the -pages
argument.
Append to -pages
a two-element vector that specifies
the range.
Note
Simulink uses a row-major scheme to number tiled pages. For example, the first page of the first row is 1, the second page of the first row is 2, and so on.
For example, to print the second, third, and fourth pages:
open_system('vdp'); print('-svdp','-tileall','-pages[2 4]')