Update:仅通过向该方法传入1个参数来解决,大家好,这里的初级开发人员和autocad API用户没有运气谷歌一下这个。希望有人能给我指出正确的方向,目标是更新多行文字内容。ForRead”可以很好地阅读多行文字内容,然而,当我试图”。forWrite“我得到以下异常:Autodesk,AcdbMgd.dll中的“AutoCAD . runtime . exception ”遍历代码时,它在第行失败:-但仅在写入模式下失败。传入的句柄im指回一个多行文字对象,并且在转换过程中似乎获得了正确的对象ID。但是我还没有排除这个问题的原因,谁有更新多行文字时可以参考的代码,或者可以给我指出正确的方向?
- public static void editMtextContents(string handle, string newValue)
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Database db = doc.Database;
- Handle hn = new Handle(ConvertHandleToInt(handle));
- Transaction tr = db.TransactionManager.StartTransaction();
- using (tr)
- {
- ObjectId id = db.GetObjectId(false, hn, 0);
- var obj = tr.GetObject(id, OpenMode.ForWrite, false);
- var mtext = obj as MText;
- mtext.Contents = newValue;
- tr.Commit();
- }
- }
谢谢!-Bruce更新:使用Autocad 2015。
绘图/图层未锁定。
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |