SetPoint
<p><strong>接口名称</strong>:SetPoint</p>
<p><strong>接口形式</strong>:DLL</p>
<p><strong>请求方式</strong>:通过<code>WireWrapper</code>实例调用<code>SetPoint()</code>方法</p>
<p><strong>接口描述</strong>:偏移轨迹上的指定点位。</p>
<p><strong>返回数据格式</strong>:<code>Dictionary&lt;String, Object&gt;</code></p>
<ul>
<li><strong>ResultFlag</strong> (int):操作结果标志,其中1表示成功,0或其他值表示失败。</li>
<li><strong>ResultMsg</strong> (String):操作结果的详细描述或错误信息。</li>
<li><strong>Data</strong> (Object):包含偏移后的点位信息的对象。
<ul>
<li><strong>WCoord</strong> (double):偏移后的点位在W坐标轴上的值。</li>
<li><strong>PCoord</strong> (double):偏移后的点位在P坐标轴上的值。</li>
<li><strong>RCoord</strong> (double):偏移后的点位在R坐标轴上的值。</li>
<li><strong>RX</strong> (double):偏移后的点位绕X轴的旋转角度。</li>
<li><strong>RY</strong> (double):偏移后的点位绕Y轴的旋转角度。</li>
<li><strong>RZ</strong> (double):偏移后的点位绕Z轴的旋转角度。</li>
</ul></li>
</ul>
<p><strong>请求参数</strong>:</p>
<ul>
<li><strong>x</strong> (double):目标位置X。</li>
<li><strong>y</strong> (double):目标位置Y。</li>
<li><strong>z</strong> (double):目标位置Z。</li>
<li><strong>angleX</strong> (double):让点位绕切线轴的X方向偏移的角度。</li>
<li><strong>angleY</strong> (double):让点位绕切线轴的Y方向偏移的角度。</li>
<li><strong>angleZ</strong> (double):让点位绕切线轴的Z方向偏移的角度。</li>
<li><strong>pointNum</strong> (int):表示需要偏移的点位的序号(非实际数组下标)。</li>
</ul>
<p><strong>调用示例</strong>(伪代码):</p>
<pre><code class="language-cpp"> // 假设已经有一个WireWrapper实例wireWrapper,该实例包含轨迹信息
// 准备偏移参数
double x = 0.0;
double y = 0.0;
double z = 0.0;
double angleX = 10.0;
// 绕X轴偏移10度
double angleY = 20.0;
// 绕Y轴偏移20度
double angleZ = 30.0;
// 绕Z轴偏移30度
int pointNum = 5;
// 需要偏移的点位序号
try {
// 调用SetPoint方法偏移指定点位
Dictionary&lt;String, Object&gt; result = wireWrapper.SetPoint(x, y, z, angleX, angleY, angleZ, pointNum);
// 检查操作结果
if ((int)result[&quot;ResultFlag&quot;] == 1) {
// 提取偏移后的点位信息
double wCoord = (double)result[&quot;Data&quot;][&quot;WCoord&quot;];
double pCoord = (double)result[&quot;Data&quot;][&quot;PCoord&quot;];
double rCoord = (double)result[&quot;Data&quot;][&quot;RCoord&quot;];
double rx = (double)result[&quot;Data&quot;][&quot;RX&quot;];
double ry = (double)result[&quot;Data&quot;][&quot;RY&quot;];
double rz = (double)result[&quot;Data&quot;][&quot;RZ&quot;];
// 打印偏移结果或进行其他处理
Console.WriteLine(&quot;点位 {0} 偏移成功,偏移后的坐标和角度信息如下:&quot;, pointNum);
Console.WriteLine(&quot;WCoord: {0}, PCoord: {1}, RCoord: {2}&quot;, wCoord, pCoord, rCoord);
Console.WriteLine(&quot;RX: {0}, RY: {1}, RZ: {2}&quot;, rx, ry, rz);
}
else {
// 处理操作失败的情况
string errorMessage = (string)result[&quot;ResultMsg&quot;];
Console.WriteLine(&quot;偏移点位 {0} 时发生错误:{1}&quot;, pointNum, errorMessage);
}
}
catch (Exception ex) {
// 处理异常情况
Console.WriteLine(&quot;调用SetPoint方法时发生异常:{0}&quot;, ex.Message);
}</code></pre>
<p><strong>注意事项</strong>:</p>
<ul>
<li>调用<code>SetPoint()</code>方法时,需要提供偏移的角度以及需要偏移的点位序号。</li>
<li><code>x</code>、<code>y</code>、<code>z</code>参数在当前描述中暂无实际作用,但可能在未来版本中有用途,建议保留或根据实际需求进行调整。</li>
<li>当前验证只包含PointNum的有效性。</li>
</ul>