标注对象都一个DimensionStyle属性,用这个属性可以设置或取到标注对象的标注样式。
下面代码演示设置一个标注对象的样式
void SetDimStyle() { MxDrawUtility mxUtility = new MxDrawUtility(); // 当用户在图上选择一个对象。 MxDrawPoint getPt; MxDrawEntity ent = mxUtility.GetEntity(out getPt, "\n 选择标注对象:"); if (ent == null) { return; } if(ent.ObjectName != "McDbAlignedDimension") { return; } MxDrawDimAligned dim = (MxDrawDimAligned)ent; // 得到数据库对象. MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase(); // 得到标注样式表. MxDrawDimStyleTable dimStyleTable = database.GetDimStyleTable(); string sDimStyleName = "MyDimStyleName"; // 得到文本式 MxDrawDimStyleTableRecord dimStyle = dimStyleTable.GetAt(sDimStyleName, true); if (dimStyle == null) { // 如果没有就新建一个。 axMxDrawX1.AddDimStyle("MyDimStyleName", "41,0.18,141,0.09,40,200", "77,1,271,3", "", ""); } else { // 如果被删除,就反删除。 dimStyle.SetProp("unErase", null); } // 设置实体文字样式。 dim.DimensionStyle = "MyDimStyleName"; MessageBox.Show("已修改对象标注样式"); }