给定的层中确实包含有2个DBPoint类型对象,但本函数无法得到,返回null
本帖最后由 yanghao1 于 2013-12-19 20:43 编辑但是,遍历这个层确实找到了这2个DBPoint对象,本函数却无法得到,不知错在哪里。
public List<Entity> 得到实体(Document doc, string 实体类型,string 层名)
{
List<Entity> et = new List<Entity>();
using (DocumentLock docLock = doc.LockDocument())
{
TypedValue[] filList = new TypedValue;
filList = new TypedValue((int)DxfCode.Start, 实体类型);
filList = new TypedValue((int)DxfCode.LayerName, 层名);
SelectionFilter filter = new SelectionFilter(filList);
PromptSelectionResult res = doc.Editor.SelectAll(filter);//问题出在这里:执行此句后res的结果是"errors,"
if (res.Status == PromptStatus.OK)
{
using (Transaction trans = doc.Database.TransactionManager.StartTransaction())
{
foreach (ObjectId id in res.Value.GetObjectIds())
{
Entity entObject = trans.GetObject(id, OpenMode.ForWrite) as Entity;
et.Add(entObject);
}
trans.Commit();
}
}
}
return et;
}
提示:如果把实体类型参数换成"DBText"则能返回给定层中的所有DBText对象。
为什么实体类型参数为"DBPoint"却不能得到给定层中的DBPoint对象。
无BDTEXT,也无DBPOINT
有 POINT ,有TEXT sieben 发表于 2013-12-19 20:25 static/image/common/back.gif
无BDTEXT,也无DBPOINT
有 POINT ,有TEXT
谢谢!
如果是光栅类型该写成什么呢? sieben 发表于 2013-12-19 20:25 static/image/common/back.gif
无BDTEXT,也无DBPOINT
有 POINT ,有TEXT
对不起,字打错了,应该是DBText yanghao1 发表于 2013-12-19 20:42 static/image/common/back.gif
谢谢!
如果是光栅类型该写成什么呢?
(0 . IMAGE) sieben 发表于 2013-12-19 21:37 static/image/common/back.gif
(0 . IMAGE)
谢谢!明天试试。
页:
[1]