在c#中,定义一个Geometry.point3d,然后用ed.getpoint 方法获取CAD文档屏幕上的点.如果我在获取时不想选点,也不输入坐标.
如下:
PromptPointOptions promptPtOp = new PromptPointOptions(prompt);
PromptPointResult resPt; resPt = ed.GetPoint(promptPtOp);
Point3d TmpPt;
//正常输入情况下
if (resPt.Status == PromptStatus.OK) {
//正常输入可以得到值。 TmpPt = resPt.Value; }
//如果
else if (resPt.Status == PromptStatus.Cancel)//用户取消 { //ed.WriteMessage("用户按了取消ESC键/n"); //调试用 ed.WriteMessage("null\n"); }
在正常选择情况下TmpPt可以得到一个值,那么在用户按了ESC或其他取消键(鼠标右键后),由于point3d的X,Y,Z三个坐标是double类型
它的X,Y,Z的值还是会为0。
如果我在实例化point3d过后,在使用时,如果取消了选择点,我要怎么才能判断这个实例的值为null呢?不可能x,y,z均为0就表示为空吧?因为
用户有可能就选择0,0,0为坐标呢。不知各位看客是怎么判断的?
小弟是个新手,也许对于你们来说问的简单,但如果你知道,还是请指点一下。谢谢!由于我的明经币只有一个,所以就不加分了。
|