乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 125|回复: 8

拾取点时出现的问题

[复制链接]

10

主题

25

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2011-1-10 21:20:00 | 显示全部楼层 |阅读模式
请教斑竹 在点取坐标的时候 怎样用一个循环语句 可以一直点取 直到确定为止,显示在命令行里?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2011-1-11 09:58:00 | 显示全部楼层

仔细看下这两天的帖子,有这方面的代码:
  1.         [CommandMethod("t2")]
  2.         public static void Test2()
  3.         {
  4.             Document doc = Application.DocumentManager.MdiActiveDocument;
  5.             Database db = doc.Database;
  6.             Editor ed = doc.Editor;
  7.             var optPt = new PromptPointOptions("\n选择第一点");
  8.             optPt.AllowNone = true;
  9.             var resPt = ed.GetPoint(optPt);
  10.             optPt.Message = "\n选择下一点";
  11.             optPt.UseBasePoint = true;
  12.             while (resPt.Status == PromptStatus.OK)
  13.             {
  14.                 optPt.BasePoint = resPt.Value;
  15.                 resPt = ed.GetPoint(optPt);
  16.             }
  17.         }

回复

使用道具 举报

10

主题

25

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2011-1-11 14:58:00 | 显示全部楼层
飞狐大哥 下面这段代码加个循环 ,该怎么编? 先谢谢了
[CommandMethod("PP")]
public void Pickpt()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            Point3d pt = Pick("\n 拾取点");
            ed.WriteMessage("\n{0:f1}", pt);
        }
      public static Point3d Pick(string word)
      {
          Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
          Editor ed = doc.Editor;
          PromptPointResult pt = ed.GetPoint(word);
          if (pt.Status == PromptStatus.OK)
          {
              return (Point3d)pt.Value;
          }
          else
          {
              return new Point3d();
          }
      }
回复

使用道具 举报

22

主题

99

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
187
发表于 2011-1-11 15:57:00 | 显示全部楼层
[CommandMethod("PP")]
  public void Pickpt()
  {
   Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
   Point3d pt = Pick("\n 拾取点");
   ed.WriteMessage("\n{0:f1}", pt);
  }
  public static Point3d Pick(string word)
  {
   Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
   Editor ed = doc.Editor;
   PromptPointResult pt = ed.GetPoint(word);
   bool isSelected = false;
   while (!isSelected) {
    if (pt.Status == PromptStatus.OK) {
     isSelected = true;
     return (Point3d)pt.Value;
    } else {
     continue;
    }
   }
希望会对你有用。
  
回复

使用道具 举报

10

主题

25

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2011-1-11 16:27:00 | 显示全部楼层
还是不能连续点取么?
回复

使用道具 举报

22

主题

99

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
187
发表于 2011-1-11 17:21:00 | 显示全部楼层
把返回类型改成point3dCollection,
用选择集来获取选中的点试试。
不过你得获得用户什么时候取消选择了。
回复

使用道具 举报

10

主题

25

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2011-1-11 19:42:00 | 显示全部楼层
我的目的是在cad中连续点取任意实体上的坐标,我是初学者,还望高手能帮帮忙。不过还是要谢谢 epwt
回复

使用道具 举报

10

主题

25

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2011-1-11 21:26:00 | 显示全部楼层
恳请斑竹 帮帮我这个初学者 谢谢
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2011-1-11 22:07:00 | 显示全部楼层
这个,还是看不懂你的要求,说明清楚点?
如果有必要,贴图说明下吧
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 10:35 , Processed in 1.708693 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表