请教一下扩展数据过滤实体的问题
www.dimcax.com
请教一下扩展数据过滤实体的问题
我在做刻度盘,先画个圆弧,然后画了50个line做刻度,为了和圆弧关联,我把圆弧的id作为参数,保存到line的扩展数据中,现在我选中弧,想通过弧的id过滤选择line。
画line时,写扩展数据的代码:
private void addlinedbrecord(string appname,objectid lineid,objectid arcid,point3d centerpoint,point3d referpoint,double angle)//typeid=1
{
resultbuffer xdatain = new resultbuffer(
new typedvalue((int)dxfcode.extendeddataregappname, appname),
new typedvalue((int)dxfcode.extendeddatainteger32,1),//type=1
new typedvalue((int)dxfcode.extendeddataasciistring, arcid.tostring()),
new typedvalue((int)dxfcode.extendeddataxcoordinate, centerpoint),
new typedvalue((int)dxfcode.extendeddataxcoordinate, referpoint),
new typedvalue((int)dxfcode.extendeddatareal, angle));
lineid.setxdata(appname, xdatain);
}
过滤时代码:
typedvalue[] ftv = new typedvalue[]
{
new typedvalue((int)dxfcode.operator , "<and"),
new typedvalue((int)dxfcode.start, "line") ,
new typedvalue(1000,arcid.tostring()),//没有用,查出结果总是空
new typedvalue((int)dxfcode.operator , "and>")
};
selectionfilter sf = new selectionfilter(ftv);
promptselectionresult sp = ed.selectall(sf);
if (sp.status != promptstatus.ok)
{
return new objectid[0] ;
}
else
{
return sp.value.getobjectids();
}
请问错在哪里?
晕,怎么没人回答呀?