zoukankan      html  css  js  c++  java
  • Cad 二次开发关于SelectCrossingPolygon和SelectFence返回结果Status为error的小测试

      CAD2008的二次开发,有个很奇怪的现象,只要你选择的点集不在当前视图上SelectCrossingPolygon和SelectFence返回结果Status就会为error,所以要获取正确的结果,在操作前最好全屏缩放一下!

      小测试:

            [CommandMethod("TestPromptSelectionResult")]
            public void TestPromptSelectionResult()
            {
                Point3dCollection pt3dCol = new Point3dCollection();
                pt3dCol.Add(new Point3d(486750, 2538400, 0));
                pt3dCol.Add(new Point3d(487000, 2538400, 0));
                pt3dCol.Add(new Point3d(487000, 2538600, 0));
                pt3dCol.Add(new Point3d(486750, 2538600, 0));
                pt3dCol.Add(new Point3d(486750, 2538400, 0));
                Document doc =  Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
                PromptSelectionResult psrss = doc.Editor.SelectFence(pt3dCol);
                //if (psrss.Status != PromptStatus.OK)
                    MessageBox.Show(psrss.Status.ToString());
                Polyline pl = new Polyline();
                for (int i = 0; i < pt3dCol.Count; i++)
                {
                    //添加多段线的顶点
                    pl.AddVertexAt(i, new Point2d(pt3dCol[i].X, pt3dCol[i].Y), 0, 0, 0);
                }
                CadDatabase.AppendToModelSpace(pl, doc.Database);
            }

    最后你只要看到那个多段线,再打入命令TestPromptSelectionResult就会返回OK,个人认为是c#Cad二次开发的一下Bug,求大神打我脸!

  • 相关阅读:
    Github地址
    第三次冲刺12.16
    第三次冲刺12.07~12.15
    第二次冲刺11.24~12.03
    第十天
    照片
    最终总结
    app的推广
    第三个Sprint冲刺事后诸葛亮报告
    第三个Sprint团队贡献分
  • 原文地址:https://www.cnblogs.com/baofengyu/p/5981136.html
Copyright © 2011-2022 走看看