请教高手:如何遍历文字样式表中的记录?
如题,强烈请教,查找了很多帖子,似乎都只有创建文字样式与修改文字样式,那么在不知道文字样式的名字情况下如何去遍历呢?因为我想搞一个统一图纸字体的东西,需要知道图纸中使用了那些样式与字体,难道大家都没有这方面的需求么?
本帖最后由 sieben 于 2012-1-4 10:40 编辑
StringCollection reValue = new StringCollection();
Database db;
using (Transaction ctrans = db.TransactionManager.StartTransaction())
{
//任何表的遍历,字体样式表,图层表,块表,标注样式表等,输入对应的tableId即可,位于Database
SymbolTable cTable = (SymbolTable)ctrans.GetObject(tableId, OpenMode.ForRead);
foreach (ObjectId tId in cTable)
{
SymbolTableRecord stRec = (SymbolTableRecord)ctrans.GetObject(tId, OpenMode.ForRead);
reValue.Add(stRec.Name);
}
//具体到字体样式表的遍历方法
TextStyleTable cTable = (TextStyleTable)ctrans.GetObject(sc.db.TextStyleTableId, OpenMode.ForRead);
foreach (ObjectId tId in cTable)
{
TextStyle stRec = (TextStyle)ctrans.GetObject(tId, OpenMode.ForRead);
reValue.Add(stRec.Name);
}
ctrans.Commit();
} 非常感谢sieben!回答的很详细,我也弄出来了 是vb的 就是要这个效果。 很好。我用你写的把线型表也遍历出来了。
页:
[1]