下面代码会遍历图上所有CAD文字对象,然后取它使用的字体信息
var database = mxOcx.GetDatabase(); //返回数据库中的文字样式表表对象 var textStyleTable = database.GetTextStyleTable(); // 定义选择集对象 var ss = mxOcx.NewSelectionSet(); //构造一个过滤链表 var spFilte = mxOcx.NewResbuf(); //得到当前空间的所有实体 ss.AllSelect (spFilte); // 遍历所有对象 for(var i = 0;i <ss.Count;i++) { var ent = ss.Item(i); // 得到对象使用的文字样式记录. var rec = textStyleTable.GetAt(ent.TextStyle); if (rec == null) continue; // 得到TrueType字体属性。 var pTypeface = ""; var bold = false; var italic = false; var charset = 0; var pitchAndFamily = 0; rec.Font(pTypeface,bold,italic,charset,pitchAndFamily); var sShxFileName; var sBigShxFileName; var sShxFileName1; // 如果TrueType字体名为空,表示使用的Shx字体。 if(pTypeface.Length != 0) { // 得到西文字体 sShxFileName = rec.fileName; // 得到中文字体 sBigShxFileName = rec.bigFontFileName; sShxFileName1=sShxFileName+sBigShxFileName; alert(sShxFileName1); } }
原文地址:https://www.cnblogs.com/yzy0224/p/12009408.html
时间: 2024-07-31 20:12:33