视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
matlab-configure-scope-object【文档与办公】Prevents crashes due to problematic scope-related API misuse caused by agent escalation into internal scope framework objects. Use when configuring properties of scope-related Simulink blocks or MATLAB objects — constrains the agent to documented APIs and directs users to the scope UI when a property is not programmatically accessible.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
This skill is active whenever you interact with properties of any scope-related block or object:
Simulink blocks:
MATLAB objects:
timescope(...)spectrumAnalyzer(...) (formerly dsp.SpectrumAnalyzer)dsp.ArrayPlot(...)comm.ConstellationDiagram(...)comm.EyeDiagram(...)phased.IntensityScope(...)phased.RTIScope(...)phased.DTIScope(...)phased.ATIScope(...)phased.RangeDopplerScope(...)phased.RangeAngleScope(...)phased.AngleDopplerScope(...)get_param/set_param on blocks like Gain, Sum, or Transfer Function does not carry escalation riskscopeConfig = get_param('model/Block', 'ScopeConfiguration');properties(scopeConfig) or properties(scopeObj).release(obj), then set.get_param/set_param vs ScopeConfiguration).| Function / API | Purpose |
|---|---|
get_param(block, 'ScopeConfiguration') | Obtain the documented configuration object for a Simulink scope block |
set_param(block, param, value) | Set a block-level parameter (fallback access method) |
properties(obj) | List public properties — the only way to confirm a property is accessible |
release(obj) | Unlock a locked MATLAB System object before setting non-tunable properties |
The ALLOWED actions section below is a complete whitelist. Any approach not listed there is forbidden, including but not limited to:
Do not access internal framework objects. The Simulink.scopes.* namespace and any classes within it are internal implementation details — never instantiate, reference, or interact with them.
Do not use introspection to discover undocumented interfaces. Do not inspect metaclass information, hidden properties, or internal methods on scope objects or their block handles.
Do not bypass the public API via the block object. Scope block handles must only be used with get_param/set_param and 'ScopeConfiguration' — never retrieve or manipulate the underlying object directly.
Do not escalate after failure. If a permitted API call fails and the error is not a simple format or access-method issue, stop. Do not attempt deeper access or introspection. Report the limitation to the user. (Permitted retries are defined in the Error Handling Procedure.)
Follow these steps in order. Do not skip steps or invent alternatives.
For Simulink scope blocks:
Get the documented configuration object:
scopeConfig = get_param('model/Scope', 'ScopeConfiguration');
List available public properties:
properties(scopeConfig)
Confirm the target property appears in the list. If it does not, go to the Error Handling Procedure — do not attempt to set it.
Read or write the confirmed public property:
value = scopeConfig.PropertyName;
scopeConfig.PropertyName = newValue;
Use get_param/set_param with documented parameter names:
value = get_param('model/Scope', 'ParameterName');
set_param('model/Scope', 'ParameterName', value);
A property may be accessible through one method but not the other. If one fails, try the other before reporting a limitation.
For MATLAB scope objects:
List available public properties:
properties(scopeObj)
Confirm the target property appears in the list. If it does not, go to the Error Handling Procedure — do not attempt to set it.
Read or write the confirmed public property:
scopeObj.PropertyName = newValue;
That is the complete set of permitted operations. Nothing else.
When the user's description does not exactly match a property name, map it to the closest matching public property from the properties(...) output. If multiple properties could plausibly match, or the mapping is unclear, show the user the property list and ask them to confirm before proceeding.
Property not found: When the target property is not listed by properties(...):
"Programmatic access to [property] is not supported for [scope]. The property might not exist for this scope, or it might be configurable only through the scope UI. To change a supported property programmatically, specify a property listed by
properties(...). To change a visual or UI-only setting, open the scope window and use the configuration panels."
Locked object error: When setting a property fails because the object is locked (error mentions "non-tunable" or "release"):
release(scopeObj) to unlock the object.step or obj(data) will re-lock the object.Format or access-method error: When a confirmed property fails due to a type mismatch, incorrect value format, or method-specific limitation:
MATLAB may expose internal class names in error messages or class() output. Do not use any class names from the Simulink.scopes.* namespace to access scope internals.
Simulink scope blocks and MATLAB scope objects use web-based viewers backed by internal framework objects that manage graphics pipelines, web sockets, and shared state. Accessing these internals outside their intended lifecycle — or interacting with their properties without proper initialization — crashes MATLAB with no recovery.
The documented APIs (ScopeConfiguration via get_param for Simulink blocks; public properties on MATLAB scope objects) are safe, sandboxed interfaces. Everything outside them is unsafe for programmatic access.
Copyright 2026 The MathWorks, Inc.