visionpro根据不连续的区域拟合圆

代码如下:

  public override bool GroupRun(ref string message, ref CogToolResultConstants result)

  {

    // To let the execution stop in this script when a debugger is attached, uncomment the following lines.

    // #if DEBUG

    // if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break();

    // #endif

    try

    {

      //初始化fitCircle工具

      Outputs.Flag = false;

      int num = Tools.CogFitCircleTool1.RunParams.NumPoints;

      for (int i = 0; i < num; i++)

      {

        if(Tools.CogFitCircleTool1.RunParams.NumPoints > 0)

          Tools.CogFitCircleTool1.RunParams.DeletePoint(0);

      }

      // Run each tool using the RunTool function

      foreach(ICogTool tool in Tools)

      {

        if (tool.Name.Contains("CogFindCircleTool"))

        {

          RunTool(tool, ref message, ref result);

          //是否接受

          if (tool.RunStatus.Result == CogToolResultConstants.Accept )

          {

            

            CogFindCircleTool mCir =  tool as CogFindCircleTool;

            //抓住的圆的点的数量

            int mCirclureAreFoundPointNum = mCir.Results.NumPointsFound;

            //3个点可以拟合圆,大于三个,将点添加到拟合圆工具中

            if (mCirclureAreFoundPointNum > 3)

            {

              for (int i = 0; i < mCirclureAreFoundPointNum; i++)

              {

                //循环将第iFindCircle中的接受点 添加到拟合圆工具中

                if (mCir.Results[i].Found&&mCir.Results[i].Used)

                {

                  Tools.CogFitCircleTool1.RunParams.AddPoint(mCir.Results[i].X, mCir.Results[i].Y);

                }

        

              }

            }

          }

        }

      }

      //运行工具

      RunTool(Tools.CogFitCircleTool1, ref message, ref result);

      Outputs.Flag = true;

    }

    catch

    {

Outputs.Flag = false;

    }

  

 

    return false;

  }

 问题描述如下:

我们需要去拟合一个圆出来,找圆工具只能帮我们忽略部分点位。但是如果产品某区域有问题,需要舍弃某区域,利用不连续的区域去获得圆的各项数据,如何操作?

工具大致如下

 

结束。

posted @   不断学  阅读(497)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示