如何定义一个选择过滤器把矩形命令绘制的矩形选中
大家好,通过CAD工具栏的“矩形”命令:RECTANG绘制的矩形,在CAD定义的名称是什么?我想写个代码能选择文字和线段,但由于绘制的习惯,文字有单行文字和多行文字,绘制线段时即由直线也有矩形,故需要定义一选择器,把这四种图元都选中,这是我目前定义的选择集,无法选中矩形,该如何修改呢?SelectionFilter flt = new SelectionFilter(new TypedValue[] { new TypedValue(0, "TEXT,MTEXT,LINE,ACDBPOLYLINE") });
绘制完成接 entlast (0, "TEXT,MTEXT,LINE,POLYLINE") sieben 发表于 2015-4-13 15:15 static/image/common/back.gif
(0, "TEXT,MTEXT,LINE,POLYLINE")
你好,sieben,这个我也试了,还是不好使. ivde 发表于 2015-4-13 14:24 static/image/common/back.gif
绘制完成接 entlast
你好,矩形是别人已经绘制好了的,我只是想选中矩形,不是想绘制矩形。
什么是 entlast,愿闻其详啊,哈哈。 介之推 发表于 2015-4-13 20:21
你好,矩形是别人已经绘制好了的,我只是想选中矩形,不是想绘制矩形。
什么是 entlast,愿闻其详啊,哈 ...
首先筛选lwpolyline,遍历判断,如果是四个顶点,面积等于两个临边的积,再复杂情况就一言难尽了 介之推 发表于 2015-4-13 20:19 static/image/common/back.gif
你好,sieben,这个我也试了,还是不好使.
不好意思!应该是LWPOLYLINE 另外,轻型多段线应该是DXF码 60 是多段线的节点数(不敢肯定哈).(60 . 4) (70 . 1) 前者表示节点数是4,后者表示曲线是封闭的 对角线相等且平分
var p1 = pl.GetPoint3dAt(0);
var p2 = pl.GetPoint3dAt(1);
var p3 = pl.GetPoint3dAt(2);
var p4 = pl.GetPoint3dAt(3);
if (pl.NumberOfVertices == 4&& p1.DistanceTo( p3)- p2.DistanceTo( p4) < 1e-3
&& (p1+ (p1-p3)/2).Equals( p2+(p4-p2)/2))
{
} 还有5个点 且起终点重合的
页:
[1]