CAD关于可见实体属性(com接口网页版)
图上可见实体的主要属性,有线型,图层,文字样式,颜色,是否可见,显示顺序,详细参见:http://www.mxdraw.com/help/!!MEMBERTYPE_Properties_IMxDrawEntity.htm
我们可以提取,和修改这些属性,如下图:

修改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 恢复对象颜色。
浙公网安备 33010602011771号