OCCTProxy

occtProxy内核文件接口文档


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&amp;lt;String, Object&amp;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&amp;lt;String, Object&amp;gt; result = wireWrapper.SetPoint(x, y, z, angleX, angleY, angleZ, pointNum); // 检查操作结果 if ((int)result[&amp;quot;ResultFlag&amp;quot;] == 1) { // 提取偏移后的点位信息 double wCoord = (double)result[&amp;quot;Data&amp;quot;][&amp;quot;WCoord&amp;quot;]; double pCoord = (double)result[&amp;quot;Data&amp;quot;][&amp;quot;PCoord&amp;quot;]; double rCoord = (double)result[&amp;quot;Data&amp;quot;][&amp;quot;RCoord&amp;quot;]; double rx = (double)result[&amp;quot;Data&amp;quot;][&amp;quot;RX&amp;quot;]; double ry = (double)result[&amp;quot;Data&amp;quot;][&amp;quot;RY&amp;quot;]; double rz = (double)result[&amp;quot;Data&amp;quot;][&amp;quot;RZ&amp;quot;]; // 打印偏移结果或进行其他处理 Console.WriteLine(&amp;quot;点位 {0} 偏移成功,偏移后的坐标和角度信息如下:&amp;quot;, pointNum); Console.WriteLine(&amp;quot;WCoord: {0}, PCoord: {1}, RCoord: {2}&amp;quot;, wCoord, pCoord, rCoord); Console.WriteLine(&amp;quot;RX: {0}, RY: {1}, RZ: {2}&amp;quot;, rx, ry, rz); } else { // 处理操作失败的情况 string errorMessage = (string)result[&amp;quot;ResultMsg&amp;quot;]; Console.WriteLine(&amp;quot;偏移点位 {0} 时发生错误:{1}&amp;quot;, pointNum, errorMessage); } } catch (Exception ex) { // 处理异常情况 Console.WriteLine(&amp;quot;调用SetPoint方法时发生异常:{0}&amp;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>

页面列表

ITEM_HTML