- 积分
- 24557
- 明经币
- 个
- 注册时间
- 2004-3-17
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 雪山飞狐_lzh 于 2012-7-15 21:03 编辑
MText使用起来是有点复杂,特别是格式的解析
下面是个生成堆叠的示例,也许有必要写个专门的格式解析类
效果图:
- public enum ScriptType
- {
- Fraction,
- Italic,
- Tolerance
- }
- public static string MakeScript(string baseTextString, string superScript, string subScript, ScriptType scriptType, double scale)
- {
- string[] scriptTypStrings = new string[]{"/", "#", "^"};
- return
- string.Format
- (
- "\\A1;{0}{1}\\H{2:0.#}x;\\S{3}{4}{5};{6}",
- baseTextString,
- "{",
- scale,
- superScript,
- scriptTypStrings[(int)scriptType],
- subScript,
- "}"
- );
- }
- [CommandMethod("tt")]
- public static void Test()
- {
- var db = HostApplicationServices.WorkingDatabase;
- var doc = Application.DocumentManager.GetDocument(db);
- var ed = doc.Editor;
- using(Transaction tr = db.TransactionManager.StartTransaction())
- {
- MText mt =
- new MText
- {
- Contents = MakeScript("123", "+0.01", "-0.01", ScriptType.Tolerance, 0.5)
- };
- mt.SetDatabaseDefaults();
- var btr = db.CurrentSpaceId.GetObject<BlockTableRecord>(OpenMode.ForWrite);
- btr.AppendEntity(mt);
- tr.AddNewlyCreatedDBObject(mt, true);
- tr.Commit();
- }
- }
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
参与人数 1 | 威望 +1 |
明经币 +2 |
金钱 +20 |
贡献 +5 |
激情 +5 |
收起
理由
|
lzx838
| + 1 |
+ 2 |
+ 20 |
+ 5 |
+ 5 |
【精华】好程序 |
查看全部评分
|