提示输入两点或直接输入
您好,我认为要求用户在屏幕上显示两点或者简单地让她按选择可见区域是非常简单的。但似乎不是
我的目的是获取一个区域的角,以便从某个数据库中读取元素。很简单-只是当我实际上几乎总是想读取当前显示区域中的元素时,我总是不得不选择两点,这让我非常恼火
我想到了一些类似的东西<;br>
var ppo=new EditorInput。PromptPointOptions(“请输入第一个角点或[输入]显示屏幕”)
编辑输入。PromptPointResult ppr=editor.GetPoint(ppo)
…
编辑器。GetString()不允许我选择点和编辑器。GetPoint()不允许我按Enter键。那么-有没有办法做到这一点?我很确定会有这样的帮助。我们非常感谢…
谢谢,伯纳德
**** Hidden Message ***** 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
谢谢Norman,
我知道我必须自己计算范围 - 我的问题是GetPoint()和GetString()的组合,你展示了如何应对。
页:
[1]