Mingcedar

Product: Mingcedar Studio DESIGNER

Move: show position through displacement | Mingcedar Studio

Map a number to a horizontal or vertical offset from the original position, for sliders, level markers and indicators.

Published Updated

<section id="move-detail" class="docs-block docs-block-intro docs-block-current"> <span class="section-kicker">Geometry</span> <h2>Move: show position through displacement</h2> <p>Map a number to a horizontal or vertical offset from the original position, for sliders, level markers and indicators.</p> <div class="docs-detail-list"> <article id="move-detail-item-1" class="docs-detail-row"> <strong>Overview</strong> <p>Move is a Geometry behavior for numeric single-axis motion. Use Rotate for angles and Scale for size changes.</p> </article><article id="move-detail-item-2" class="docs-detail-row"> <strong>How to use it: every control in the editor</strong> <p>Move clamps Source value to Limit minimum / Limit maximum and maps that interval to At limit minimum / At limit maximum. The output is a canvas distance relative to the original component position. Source minimum / Source maximum are available as ValueMin / ValueMax aliases. Changing the source range alone does not update the input limits.</p> <ul> <li>Behavior name is editable; Component name is read-only.</li><li>Quality override / Override border by quality configures Good and Bad borders for data quality, separately from process limits.</li><li>JS functions... inserts a method into the focused expression field.</li><li>Source value returns a number, for example ReadTagDouble(&quot;PLC_LINE01.TANK01.LEVEL&quot;, 0). Condition returns a boolean; false skips the behavior and does not hide the component.</li><li>Source minimum / Source maximum default to 0 / 100 and supply the ValueMin / ValueMax expression aliases.</li><li>At limit minimum / At limit maximum specify movement offsets, initially 0 / 120 for a new Move behavior, at the input-limit endpoints. Capture calculates an endpoint from the component geometry.</li><li>Limit minimum / Limit maximum start as independent values 0 / 100 and control clamping and normalization. Enter ValueMin / ValueMax to follow the source range.</li><li>Move axis: Horizontal or Vertical. Hide outside input limits controls visibility on an out-of-range input.</li><li>Save / Ctrl+S validates and saves; Cancel / Esc discards the edit.</li> </ul> <pre class="docs-code-block"><code>// Source value

ReadTagDouble(&quot;PLC_LINE01.TANK01.LEVEL&quot;, 0)

// Source minimum / maximum: 0 / 100

// Limit minimum / maximum: ValueMin / ValueMax

// At limit minimum / maximum: 0 / -shape.height

// Move axis: Vertical</code></pre> </article><article id="move-detail-item-3" class="docs-detail-row"> <strong>How the Capture buttons work</strong> <p>Capture beside At limit minimum / At limit maximum calculates the offset from the same component in PowerPoint. The editor records the original geometry, writes the difference between target and original coordinates, and then attempts to restore the original position.</p> <ul> <li>Choose Move axis first: Horizontal uses the Left difference and Vertical uses the Top difference.</li><li>Move the component to the desired endpoint, then use Capture beside that endpoint.</li><li>The offset uses 0.### formatting and can be replaced with a numeric expression.</li><li>The same component must remain selected. Unavailable original or current geometry produces an error.</li><li>If restoration fails, the saved offset remains; restore the component before continuing.</li> </ul> </article><article id="move-detail-item-4" class="docs-detail-row"> <strong>When to use it</strong> <p>Use a measured value to drive linear motion, for example:</p> <ul> <li>Tank level: map the level percentage into a vertical offset so the liquid block floats up and down with the level</li><li>Slider / horizontal indicator: map a 0-100 value into a horizontal offset to produce slider or horizontal indicator bar motion</li> </ul> </article><article id="move-detail-item-5" class="docs-detail-row"> <strong>Limitations and troubleshooting</strong> <p>Check these settings:</p> <ul> <li>Movement outputs use canvas distance. Use shape.width for one component width; 100 means 100 canvas units.</li><li>Limit minimum / Limit maximum controls the actual mapping, with out-of-range visibility controlled separately.</li><li>Check the movement axis before Capture to avoid recording the wrong coordinate difference.</li><li>After changing the source range, update input limits or enter ValueMin / ValueMax to follow it.</li> </ul> </article> </div> <div class="docs-note-grid"> <figure id="move-detail-image-1" class="docs-note-card manual-doc-image-card"> <img src="/WEB_img/HQPPT/current/geometry/move.png" alt="Move behavior editor" loading="lazy" decoding="async"> <figcaption> <strong>Move editor</strong> <p>Set the source range, offset range, and axis to map a value proportionally into a single-axis offset.</p> </figcaption> </figure> </div> </section>