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(); }