选择集过滤
如图所示,有如下一些扩展属性,有没有直接选取代码为R00002 的选择集过滤方法?我想直接得到包含此代码的对象,而不想通判断来获取,请大家指点!http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 yxr_MJTD的微博 应该不行,从逻辑上也应该不行,里面很多1000组码,没有唯一性 回复 yxr_MJTD 的帖子
呵呵,我现在还是自己写的方法判断。主要我不想做这个步骤的事情,以为有这方面的方法。 /// <summary>
/// 得到选择集 根据扩展数据
/// </summary>
/// <param name="ed">ed</param>
/// <param name="xData">扩展数据值</param>
/// <param name="entIds">返回的实体列表</param>
/// <returns>返回true,false</returns>
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是可以的 本帖最后由 liuxu042 于 2011-12-12 11:17 编辑
1001 就是注册应用程序名 ((int)DxfCode.ExtendedDataRegAppName),每一组扩展属性肯定有相应的注册应用程序名,其值是可以用来过滤的 1000是其对应的字符串值(Dxfcode.ExtendedDataAsciiString),也可以用来过滤 liuxu042 发表于 2011-12-9 14:23 static/image/common/back.gif
1001 就是注册应用程序名 ((int)DxfCode.ExtendedDataRegAppName),每一组扩展属性肯定有相应的注册应用 ...
哦,好的。谢谢!
页:
[1]