标注对象都一个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("已修改对象标注样式");
}