CAD关于可见实体属性(com接口网页版)

图上可见实体的主要属性,有线型,图层,文字样式,颜色,是否可见,显示顺序,详细参见:http://www.mxdraw.com/help/!!MEMBERTYPE_Properties_IMxDrawEntity.htm

我们可以提取,和修改这些属性,如下图:

prop.png

修改Visible属性,可让实体是否可见,比如:

// 让用户在图上选择一个对象。           
var ent = mxOcx.GetEntity("选择实体");
if (ent == null)
    return;
// 隐藏实体
ent.Visible = false;

比如修改对象颜色:

如js代码:

// -------------------------------------------------------------------------
// Summary:
//         改变实体颜色
// Parameters:
//         id            -    实体的id.
//         iR,  iG,iB    -   实体的颜色
// Returns:
//         成功返回true
// -------------------------------------------------------------------------
function ChangeColor( id, iR, iG, iB)
{
     
    var id = mxOcx.DrawLine(200, 0, 300, 100);
 // 由id得到实体对象.
 var ent = mxOcx.ObjectIdToObject(id);
 if (ent == null)
 return false;
 
 var color = mxOcx.NewComObject("IMxDrawMcCmColor");
 color.SetRGB(255,0,0);
 
 // 设置实体颜色。
 ent.TrueColor = color;
 return true;
     
 
}

注意:由于COM对象的特性,不能这样直接修改颜色,是不起作用,例如下:

 

ent.TrueColor.SetRGB(iR, iG, iB);

MxDrawModifyTheColor: 用来批量修改图上所有对象的颜色,详细参见:http://www.mxdraw.com/help/IMxDrawModifyTheColor.htm,可以在打印图纸前,用该接口把图纸所有颜色设黑白色,这样打印出来更清晰。

比如下面js代码,把所有实体颜色修改成灰色:

var changeColor = mxOcx.NewComObject("IMxDrawModifyTheColor");
changeColor.Do(mxOcx.GetDatabase(), 0x010101);

在修改颜色后调用Restore 恢复对象颜色。

posted on 2019-12-10 11:10  梦想CAD控件  阅读(396)  评论(0)    收藏  举报

导航