从 MATLAB 命令行窗口以编程方式打印模型
您可以打印 Simulink® 模型图,并以编程方式将其导出为图像文件格式。要以交互方式打印和导出模型图,请参阅打印模型图。
打印命令
MATLAB® print
命令提供几个打印选项。例如,要将 sldemo_enginewc
模型中的 Compression
子系统打印到您的默认打印机,请在 MATLAB 命令行窗口中输入以下命令。
openExample('sldemo_enginewc'); print -sCompression
使用 print
命令时,只能打印一个图。要打印模型层次结构中的多个层级,请使用多个 print
命令,对每个要打印的图使用一个命令。
提示
或者,考虑以交互方式打印。在 Simulink 工具栏中,在仿真选项卡的文件部分中,点击打印。然后,使用 Simulink 编辑器中的“打印模型”对话框指定要打印的图。有关详细信息,请参阅选择要打印的系统。
您可以结合使用 set_param
函数和以下参数来指定模型的打印选项。
有关打印的模型参数
参数 | 描述 | 值 |
---|---|---|
| 纸张的打印方向。 |
|
| 纸张位置模式。
|
|
| 打印纸张类型。 |
|
| 打印纸张尺寸单位。 |
|
| 与每个平铺页面相关联的边距尺寸。向量中的每个元素代表特定边的一个边距。 | 向量 - |
打印具有多行名称或名称中包含空格的系统
要打印名称显示为多行的系统,请将名称指定给某个变量,然后在 print
命令中使用该变量。此示例说明如何打印名为 Aircraft Dynamics Model
的子系统。
openExample('simulink_aerospace/AircraftLongitudinalFlightControlExample') open_system('slexAircraftExample/Aircraft Dynamics Model'); sys = sprintf('slexAircraftExample/Aircraft\nDynamics\nModel'); print (['-s' sys])
要打印名称中包含一个或多个空格的系统,请将该名称指定为字符向量。例如,要打印 Throttle & Manifold
子系统,请输入以下命令。
openExample('sldemo_enginewc'); open_system('sldemo_enginewc/Throttle & Manifold'); print (['-sThrottle & Manifold'])
设置纸张方向和类型
要只设置纸张方向,请使用 orient
函数。或者,通过结合使用 set_param
函数和 PaperOrientation
模型参数来设置纸张方向。
要设置纸张类型,请结合使用 set_param
函数和 PaperType
模型参数。例如,要打印美国信纸大小的纸张,请将纸张类型设置为 'usletter'
。
在多页上打印图
默认情况下,打印过程中会缩放每个模块图,使图能够打印在一个页面上。对于大图,这种自动缩放会使打印的图像变形。
分块打印允许您打印甚至是最大的模块图,而不会牺牲清晰度和细节。分块打印允许您将一个模块图打印到多个页面上。例如,您可以像下图那样使用图块来拆分模型,每个白框和每个灰框代表一个单独的打印页面。
启用分块打印
使用
set_param
函数将PaperPositionMode
参数设置为tiled
。将
print
命令与-tileall
参量结合使用。
例如,要为 sldemo_enginewc
模型中的 Compression
子系统启用分块打印,请使用以下命令。
openExample('sldemo_enginewc'); set_param('sldemo_enginewc/Compression', 'PaperPositionMode', ... 'tiled'); print('-ssldemo_enginewc/Compression', '-tileall')
显示分块页面边界
要以编程方式显示页面边界,请使用 set_param
函数,并将模型参数 ShowPageBoundaries
设置为 on
。
openExample('sldemo_enginewc'); set_param('sldemo_enginewc', 'ShowPageBoundaries', 'on')
设置分块页面边距
通过减少边距大小,可以增加分块页面的可打印面积。要指定分块页面的边距大小,请将 set_param
函数与 TiledPaperMargins
参数结合使用。默认情况下,每个边距为 0.5 英寸。TiledPaperMargins
的值是一个向量,按照以下顺序指定页边距:[left top right bottom]
。每个元素指定页面上特定边的边距大小。PaperUnits
参数的值决定边距的测量单位。
指定要打印的分块页面的范围
要通过编程方式指定分块页面的页码范围,请将 print
命令与 -tileall
和 -pages
参量结合使用。在 -pages
后面附加一个二元素向量,以指定范围。
注意
Simulink 使用行优先方案为分块页面分配页码。例如,第一行的第一页标为 1,第一行的第二页标为 2,依此类推。
例如,要打印第二、第三和第四页,请使用以下命令。
openExample('simulink_general/VanDerPolOscillatorExample'); print('-svdp','-tileall','-pages[2 4]')
将模型打印为图像文件格式
要将模型打印为图像文件格式,如 .png
或 .jpeg
,请将 -device
参量与 MATLAB print
命令结合使用。例如,要以 .png
格式打印 vdp
模型,请使用以下命令。
openExample('simulink_general/VanDerPolOscillatorExample'); print -dpng -svdp vdp_model.png
要以编程方式将模型导出为图像格式,请执行以下操作:
在 MATLAB 命令行中调用您的模型。
model %model is your model name
使用打印命令以
.jpeg
格式保存您的模型。print('-smodel', '-djepg', 'new_name')
默认情况下,导出模型的画布(背景)与模型颜色相匹配。要对您导出为其他文件格式的模型文件使用白色或透明画布,请设置Simulink 预设项 > 常规 > 导出预设项。有关详细信息,请参阅 Simulink Preferences。