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:
openExample('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:
openExample('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:
openExample('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:
openExample('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]')
To print your model to an image file format such as .png or
.jpeg, use the -device argument with the MATLAB
print command. For example, to print the vdp model to a
.png format, use this command:
print -dpng -svdp vdp_model.png
To programmatically export a model into an image format:
Call your model in the MATLAB command line.
model %model is your model nameUse the print command to save your model in a .jpeg
format.
print('-smodel', '-djpg', 'new_name')
By default, the canvas (background) of the exported model matches the color of the model. To use a white or transparent canvas for model files that you export to another file format, set the Simulink Preferences > General > Export preference. For more information, see Set Simulink Preferences.