AutoCAD二次开发(.Net)之多文本(MText)创建
2017-12-29 10:11
846 查看
using System; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.EditorInput; [CommandMethod("ADDBZ")] public void ConnectMText() { Database db = HostApplicationServices.WorkingDatabase; Document doc = Application.DocumentManager.GetDocument(db); Editor ed = doc.Editor; DocumentLock dl = doc.LockDocument(); try { using (Transaction tr = db.TransactionManager.StartTransaction()) { BlockTable blockTbl = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable; BlockTableRecord modelSpace = tr.GetObject(blockTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord; MText mt = new MText { Contents = MakeScript("ABC", "+0.01", "-0.01", ScriptType.Tolerance, 0.5) }; mt.SetDatabaseDefaults(); modelSpace.AppendEntity(mt); tr.AddNewlyCreatedDBObject(mt, true); tr.Commit(); } } catch { } dl.Dispose(); } 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,"}"); } public enum ScriptType { Fraction, Italic, Tolerance }
相关文章推荐
- AutoCAD二次开发(.Net)之多重引线(MLeader)创建
- AutoCAD二次开发(.Net)之创建图层Layer
- AutoCAD二次开发(.Net)之设置MText字体(1)
- AutoCAD二次开发(C#.Net)之字符串转换成ObjectId
- AutoCAD二次开发(.Net)之多边形交叉选择
- AutoCAD .Net 二次开发 VisualStudio 及 .Net Framework 选择
- AutoCAD二次开发(.Net)之LSP变量赋值
- AutoCAD .NET API二次开发学习指南
- 发布一个ObjectARX .NET AutoCAD 二次开发 添加各种实体的类
- .NET AutoCAD二次开发之路(四、文字篇)
- .NET AutoCAD二次开发之路(三、圆弧篇)
- AutoCAD二次开发之创建菜单
- AutoCAD.NET 二次开发(一) 自定义菜单及自动加载
- C#.NET平台的AutoCAD二次开发
- AutoCAD.net/Map 3D/AIMS/MapGuide/Civil 3D二次开发学习指南
- AutoCAD二次开发之.net API学习笔…
- AutoCAD.NET 二次开发(二) 自动替换缺失字体
- AutoCAD二次开发之.net API学习笔…
- AutoCAD二次开发——AutoCAD.NET API开发环境搭建
- AutoCAD二次开发(.Net)之获取LSP变量的值