|
问题简介:使用VC和ActiveX模型,打开窗口,载入指定DWG文档,获取选择框的四个坐标返回给控制程序。后来因为没有找到直接获取选择框四个坐标的方法,采用使用GetPoint方法获取左顶点和右底点的坐标,再使用GetCorner函数获取剩下的两个点的坐标。代码如下:
//获取点的坐标
IAcadUtility util;
VARIANT pt1,pt2,pt3,pt4,promt1,promt2;
//把提示语句输入到Variant变量中
promt1.vt = VT_BSTR;
promt2.vt = VT_BSTR;
CString s;
s = "请输入第一点";
promt1.bstrVal = s.AllocSysString();
s = "\n请输入第二点";
promt2.bstrVal = s.AllocSysString();
//获取点的坐标
COleVariant covFalse(short(FALSE));
pt1 = util.GetPoint(covFalse,promt1);
pt2 = util.GetPoint(pt1,promt2);
这段代码之前,我已经打开了AutoCAD的窗口并载入了一个DWG文件,获取了模型空间。现在的问题是,我发现程序并没有执行获取输入,我用Debug设了断点在获取坐标的两行代码,发现执行之后没有结果,在AutoCAD中也没有提示输入什么的。大家看问题出在什么地方? |
|