乐筑天下

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

提示输入两点或直接输入

[复制链接]

9

主题

30

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2021-12-9 07:55:27 | 显示全部楼层 |阅读模式
您好,
我认为要求用户在屏幕上显示两点或者简单地让她按[Enter]选择可见区域是非常简单的。但似乎不是
我的目的是获取一个区域的角,以便从某个数据库中读取元素。很简单-只是当我实际上几乎总是想读取当前显示区域中的元素时,我总是不得不选择两点,这让我非常恼火
我想到了一些类似的东西<br>
var ppo=new EditorInput。PromptPointOptions(“请输入第一个角点或[输入]显示屏幕”)
编辑输入。PromptPointResult ppr=editor.GetPoint(ppo)

编辑器。GetString()不允许我选择点和编辑器。GetPoint()不允许我按Enter键。那么-有没有办法做到这一点?我很确定会有这样的帮助。我们非常感谢…
谢谢,伯纳德

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2021-12-9 09:57:55 | 显示全部楼层
AutoCAD如何知道您要选择整个可见区域?它当然不知道,只是因为您的代码提示用户按“Enter”。
因此,您可以让用户选择两个点作为所需区域的相对角,或者如果用户简单地按“Enter”,则计算当前视图的两个角。在后一种情况下,您需要设置PromptPointOptions以允许关键字并在调用Editor.GetPoint()时接受空输入。类似于:
Point3d角1;
Point3d角2;
var opt=new PromptCornerOptions("\n选择区域的第一个角点,或选择整个视图区域:")
opt.Allownone=true;
opt.Keywords.Add("整个");
opt.Keywords.Default="整个";
...
var res=ed.GetCorner(opt);
if(res.Status==PromptStatus.Ok|res.Status==PromptStatus.Keyword)
{
if(res.Status==PromptStatus.Ok)
{
角1=res.Value;
//要求用户选择另一个角
}
其他
{
//现在,您计算当前视图的2个角
GetMONtViewCorors(输出角1,输出角2)
}
}
其他
{
//返回...
}
您可以阅读这篇关于如何轻松计算当前视图大小的文章:
https://drive-cad-with-code.blogspot.com/2013/04/how-to-get-current-view-size.html
回复

使用道具 举报

9

主题

30

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2021-12-9 10:05:52 | 显示全部楼层
谢谢Norman,
我知道我必须自己计算范围 - 我的问题是GetPoint()和GetString()的组合,你展示了如何应对。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 02:11 , Processed in 0.186003 second(s), 58 queries .

© 2020-2024 乐筑天下

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