OCCTProxy

occtProxy内核文件接口文档


Point2Curve

<p><strong>事件名称</strong>:Point2Curve</p> <p><strong>接口形式</strong>:DLL</p> <p><strong>请求方式</strong>:调用<code>OCCTProxy</code>的<code>Point2Curve</code>方法</p> <p><strong>接口描述</strong>: 在特定的两点画一条轨迹,配合仿真运动使用</p> <p><strong>返回数据格式</strong>:无,效果直接显示在画面中</p> <p><strong>请求参数</strong>: <code>List&amp;lt;double&amp;gt; tempL</code> <code>List&amp;lt;double&amp;gt; tmepL2</code></p> <p><strong>参数说明</strong>:</p> <p><code>tempL</code>是起始点的位置,<code>tempL2</code>是结束点的位置。</p> <p><strong>样例</strong>:</p> <pre><code class="language-csharp"> ActiveViewer.View.ClearCurve(); // 清除之前跑过的轨迹样式 Dictionary&amp;lt;String, Object&amp;gt; ret2 = ActiveViewer.View.InsertPointsJogPosition(test); // 获取均匀间距的点 List&amp;lt;Dictionary&amp;lt;string, object&amp;gt;&amp;gt; ans2 = ret2[&amp;quot;Data&amp;quot;] as List&amp;lt;Dictionary&amp;lt;string, object&amp;gt;&amp;gt;; try{ for (int i = 0; i &amp;lt; ans2.Count; i++) { List&amp;lt;double&amp;gt; jogs = ans2[i][&amp;quot;Jogs&amp;quot;] as List&amp;lt;double&amp;gt;; int times = (int)ans2[i][&amp;quot;Time&amp;quot;]; int num = i - 1; if (num &amp;lt; 0) { num = 0; } List&amp;lt;double&amp;gt; xyz = ans2[num][&amp;quot;XYZ&amp;quot;] as List&amp;lt;double&amp;gt;; // 获取上一点的XYZ List&amp;lt;double&amp;gt; xyz2 = ans2[i][&amp;quot;XYZ&amp;quot;] as List&amp;lt;double&amp;gt;; // 获取当前点的XYZ Dictionary&amp;lt;String, Object&amp;gt; temp = new Dictionary&amp;lt;String, Object&amp;gt;(); temp.Add(&amp;quot;Jogs&amp;quot;, jogs); // 传入当前点的关节数据 if ((bool)needCheckCollide.IsChecked) { ActiveViewer.View.CollideCheckWithMove(temp); } else { ActiveViewer.View.J_MoveToDT(temp); // 使用当前点关节数据仿真 ActiveViewer.View.Point2Curve(xyz, xyz2); // 画TCP运行轨迹 } await Task.Delay(times); // 延迟执行,可自己定义。也可以用后端根据不同段运动速度计算的times } } catch (Exception ex) { MessageBox.Show(ex.Message); }</code></pre>

页面列表

ITEM_HTML