forever111 发表于 2020-11-26 00:09:10

C# 给GetEntity()添加功能

本帖最后由 forever111 于 2020-11-26 00:14 编辑

GetEntity()方法在点选图元时返回(objid(点选坐标值)),在选择空白处时提示“未选择对象”。
能不能改成选择空白处时返回点选坐标点。
鼠标点击后 有图元 返回 (objid(x,y,0));
               无图元 返回 (x,y,0);

雨的节奏 发表于 2020-11-26 11:21:01

lastpoint

...

问号兄233 发表于 2020-11-26 11:22:40

坐等高手出手。

Civil3D 发表于 2020-11-28 17:05:14

本帖最后由 Civil3D 于 2020-11-28 17:16 编辑

先用getpoint获得点坐标,再用SelectAtPoint判断
DBTransaction 是采用了NFOX类库


      
      public void Test_GetEntity1()
      {
            Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            Editor ed = doc.Editor;

            using (DBTransaction tr = new DBTransaction())
            {
                PromptSelectionResult PSR1;
               
                PromptPointOptions PPO1 = new PromptPointOptions("\n请指定点: ");
                PromptPointResult PPR1 = doc.Editor.GetPoint(PPO1);
                if (PPR1.Status != PromptStatus.OK)
                  return;
                PSR1 = ed.SelectAtPoint(PPR1.Value);

                if (PSR1.Status != PromptStatus.OK)
                {
                  ed.WriteMessage("\n "+ PPR1.Value);
                }
                else
                {
                  SelectionSet SS1 = PSR1.Value;
                  foreach (SelectedObject SO in SS1)
                  {
                        ed.WriteMessage("\n "+ SO.ObjectId+","+ PPR1.Value);                     
                  }                     
                }               
            }
         }

moz-extension://6954a6f3-1c3e-4de9-813f-fdacc5e888b0/icons/logo.png

靜偌止水 发表于 2020-11-30 09:39:24

必须学习一下,先顶一个再说

forever111 发表于 2020-12-8 20:52:38

Civil3D 发表于 2020-11-28 17:05
先用getpoint获得点坐标,再用SelectAtPoint判断
DBTransaction 是采用了NFOX类库



厉害,学习了,
我是想用DrawVector方法和jig方法绘制选择框后在计算坐标,再用SelectAtPoint判断,
可发现DrawVector方法绘制出选择框后无法清楚。

zjy2999 发表于 2020-12-9 14:13:20

学习了!!!!

qq1254582201 发表于 2021-3-15 19:59:18

Civil3D 发表于 2020-11-28 17:05
先用getpoint获得点坐标,再用SelectAtPoint判断
DBTransaction 是采用了NFOX类库



感谢大神分享心得!!!!
页: [1]
查看完整版本: C# 给GetEntity()添加功能