jingking 发表于 2009-8-13 05:27:00

SelectCrossingWindow的问题

以前没做过的二次开发,有两个不明白的地方向大家请教:
....
            PromptSelectionResult presult = MdiActiveDocument.Editor.SelectCrossingWindow(p1, p2);
            if (presult .Status == PromptStatus.Error)
            {
            return;
            }
...
1. 请问“SelectCrossingWindow”参数里两个点的顺序有没有区别?记得在CAD里拉框选择时从左上和右下是不一样的。如果想选择弧(Arc)的起点或者终点该用什么方法选择?
2. 这个选择选择结果什么时候会"=PromptStatus.Error"?能不能区分“错误”和“查询为空”?
谢谢!

雪山飞狐_lzh 发表于 2009-8-13 07:34:00

1.没有,只有能构成矩形就可以,
在CAD里拉框选择时从左上和右下是不一样:
SelectWindow和SelectCrossingWindow也是不一样:)
选择圆弧,按过滤器只能选择圆心,起点角度,终点角度,你要转换一下
命令: dxf
选择对象: ((-1 . ) (0 . "ARC") (330 . ) (5 . "1B1")
(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbCircle")
(10 689.332 538.669 0.0) (40 . 840.092) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50
. 0.356785) (51 . 1.56562))
2.没有考虑过这个问题,不过我一般这样写
if(presult .Status == PromptStatus.OK)
{
}

jingking 发表于 2009-8-13 13:34:00

十分感谢!

gyl 发表于 2009-8-13 16:41:00


有dxf这个命令吗?我在CAD2008中试验没有这个命令。

雪山飞狐_lzh 发表于 2009-8-13 17:07:00

自定义的lisp函数
(defun c:dxf() (entget(car(entsel)) '("*")))

gyl 发表于 2009-8-13 17:48:00

谢谢版主!AutoCAD还真需要这么个命令,为什么不设置个正式命令呢?

雪山飞狐_lzh 发表于 2009-8-15 16:49:00

dxf一般使用者是不需要知道的
页: [1]
查看完整版本: SelectCrossingWindow的问题