选择集过滤
如图所示,有如下一些扩展属性,有没有直接选取代码为R00002 的选择集过滤方法?我想直接得到包含此代码的对象,而不想通判断来获取,请大家指点!该贴已经同步到
**** Hidden Message ***** 应该不行,从逻辑上也应该不行,里面很多1000组码,没有唯一性 回复
呵呵,我现在还是自己写的方法判断。主要我不想做这个步骤的事情,以为有这方面的方法。 ///
/// 得到选择集 根据扩展数据
///
/// ed
/// 扩展数据值
/// 返回的实体列表
/// 返回true,false
public static bool TryGetSSetByXData(Editor ed, string appName, string xData, out ObjectId[] entIds)
{
TypedValue[] filList = {new TypedValue(1000, xData) ) };
SelectionFilter fileter = new SelectionFilter(filList);
PromptSelectionResult res = ed.SelectAll(fileter);
if (res.Status == PromptStatus.OK)
{
entIds = res.Value.GetObjectIds();
return true;
}
else
{
entIds = null;
return false;
}
}
这样得到不选择集,不知为什么1001是可以的
1001 就是注册应用程序名 ((int)DxfCode.ExtendedDataRegAppName),每一组扩展属性肯定有相应的注册应用程序名,其值是可以用来过滤的 1000是其对应的字符串值(Dxfcode.ExtendedDataAsciiString),也可以用来过滤
哦,好的。谢谢!
页:
[1]