// 定义一个构造选择集对象。 MxDrawSelectionSet ss = new MxDrawSelectionSet();
// 选择图上所有对象. ss.AllSelect(); for ( int i = 0; i < ss.Count;i++) { // 遍历到一个对象。 MxDrawEntity ent = (MxDrawEntity) ss.Item(i); if (ent is MxDrawDimension) { // 如果是一个标注对象. MxDrawDimension dim = (MxDrawDimension)ent; // 得到标注对象文本. String sTxt = dim.DimensionText; if (sTxt.Length == 0) { // 如果文本为空,表示,标注文字是自动生成的 // 打碎标注对象,得到里面的文字对象. MxDrawResbuf ret = dim.GetProp( "ExplodeEx" ); for ( int j = 0; j < ret.Count;j++) { MxDrawMcDbObject obj = ret.AtObject(i); if (obj == null ) continue ; if (obj is MxDrawMText) { // 该对象是个多行文本 // 取到文字对象,得到文字符串. MxDrawMText txt = (MxDrawMText)obj; sTxt = txt.Contents; break ; } else if (obj is MxDrawText) { // 该对象是个单行文本 MxDrawText txt = (MxDrawText)obj; sTxt = txt.TextString; break ; } } } // 显示得到文字内容 MessageBox.Show(sTxt); // 显示对象的线型 MessageBox.Show(ent.LineType); } } |