Product: Mingcedar Studio DESIGNER
Rotate | Mingcedar Studio
Rotate a component around a chosen pivot by an input angle, for pointers, valve plates and fan blades.
<div class="manual-doc-article manual-doc-article-section"><h2 id="geometry-rotate">Geometry: Rotate</h2>
Rotate a component around a chosen pivot by an input angle, for pointers, valve plates and fan blades.
<div class="doc-card-list">
<article class="doc-card">
<h3 id="geometry-rotate-item-1">Overview</h3>
<p>Drag Geometry → Rotate onto the component. It applies the supplied angle directly without percentage mapping.</p>
</article>
<article class="doc-card">
<h3 id="geometry-rotate-item-2">How to use it: every control in the editor</h3>
<p>Rotation input returns an angle in degrees. Maximum angle defines a symmetric allowed range and PIVOT POINT sets the pivot. Rotate does not perform source-range percentage mapping.</p>
<ul>
<li>Behavior name is editable; Component name is read-only.</li>
<li>Override border by quality configures Good / Bad borders for data quality.</li>
<li>JS functions... inserts a method into the focused expression field.</li>
<li>Rotation input: an angle expression, such as ReadTagDouble("PLC_LINE01.VALVE01.ANGLE", 0).</li>
<li>Condition: a boolean; false skips rotation and does not hide the component.</li>
<li>Maximum angle defaults to 360. A value of 90 permits -90° to +90°. Preset buttons enter 45, 90, 180, 270, or 360.</li>
<li>PIVOT POINT: Center, Top, Bottom, Left, or Right, according to the mechanical pivot.</li>
<li>Hide outside angle range hides an out-of-range angle; otherwise the angle is clamped to the boundary.</li>
<li>Save / Ctrl+S validates and saves; Cancel / Esc discards the edit.</li>
</ul>
<div class="manual-code" data-code-language="text"><div class="manual-code-toolbar"><span>Text</span><span class="manual-code-tools"><small>Text</small><button type="button" data-copy-code data-copied="Copied" data-failed="Select and copy the code" aria-label="Copy code: Text">Copy code</button><span class="manual-code-status" role="status"></span></span></div><pre tabindex="0" class="docs-code-block shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>// Rotation input</span></span>
<span class="line"><span>ReadTagDouble("PLC_LINE01.VALVE01.ANGLE", 0)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>// Maximum angle: 90</span></span>
<span class="line"><span>// PIVOT POINT: Center</span></span></code></pre></div>
</article>
<article class="doc-card">
<h3 id="geometry-rotate-item-3">When to use it</h3>
<p>Use it for angle-driven motion, for example:</p>
<ul>
<li>Gauge pointer: read the angle for the pressure/temperature value and turn the needle around its center</li>
<li>Valve angle: rotate the valve icon by its opening angle, with the pivot on the real stem center</li>
<li>Fan / mixer blade: rotate the blade by its running angle to show motion</li>
</ul>
</article>
<article class="doc-card">
<h3 id="geometry-rotate-item-4">Limitations and troubleshooting</h3>
<p>Check these limits:</p>
<ul>
<li>Rotation input uses degrees. Convert an opening percentage explicitly when the Tag is not an angle.</li>
<li>Match the pivot to the mechanical axis. Use Bottom for a bottom-hinged pointer and Center for a center-mounted component.</li>
<li>Angle presets only update Maximum angle, not Rotation input.</li>
<li>A false Condition only skips rotation. Use the hide option or a separate visibility behavior to control visibility.</li>
</ul>
</article>
</div>
<div class="docs-note-grid manual-doc-image-grid">
<figure class="docs-note-card manual-doc-image-card" id="geometry-rotate-image-1">
<img src="/WEB_img/HQPPT/current/geometry/rotate.png" alt="Rotate behavior editor" loading="lazy" decoding="async" />
<figcaption>
<strong>Figure 1: Rotate editor</strong>
<p>Apply an angle value to the component so it turns around the chosen pivot, with a max-rotation limit.</p>
</figcaption>
</figure>
</div>
</div>