|
www.mxdraw.com
|
把一实体放到视区中
static bool Mx_PutEntityInView(IN LONG lId, DOUBLE dPaddingPercentage = 10);
|
参数 |
说明 |
|
IN LONG lId |
实体对象的id |
|
DOUBLE dPaddingPercentage = 10 |
实体周围空白区域大小占实体大小的百分比.默为10% |
成功返回true
例如: JS 查找图上,某个文字,并定位过去
function FindText()
{
var axMxDrawX1 = document.getElementById("MxDrawXCtrl");
// 得到当前图纸空间
var blkRec = axMxDrawX1.GetDatabase().CurrentSpace();
// 创建一个用于遍历当前图纸空间的遍历器
var iter = blkRec.NewIterator();
// 需要找的,相匹配文字.
var findTxt = "AAA";
if (iter!= null)
{
for (; !iter.Done(); iter.Step(true, false))
{
// 得到遍历器当前的实体
var ent = iter.GetEntity();
if (ent.ObjectName == "McDbText")
{
var txt = ent;
//alert(txt.TextString);
if(txt.TextString == findTxt)
{
// 把文字放到视区.
axMxDrawX1.CallLongParam1("Mx_PutEntityInView",txt.ObjectID);
break;
}
}
else if(ent.ObjectName == "McDbMText")
{
var param = axMxDrawX1.NewResbuf();
param.AddObjectId(ent.ObjectID);
var ret = axMxDrawX1.CallEx("Mx_GetMTextContent",param);
if(ret.AtString(0) == "Ok")
{
alert(ret.AtString(1));
if(ret.AtString(1) == findTxt)
{
// 把文字放到视区.
axMxDrawX1.CallLongParam1("Mx_PutEntityInView",ent.ObjectID);
break;
}
}
}
}
}
// 在这里必须显示释放控件的COM对象指针.
iter = null;
blkRec = null;
CollectGarbage();
}