明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1011|回复: 3

求助 添加图形词典数据后,无法保存文件

[复制链接]
发表于 2014-9-25 23:20:34 | 显示全部楼层 |阅读模式
       小弟今日通过如下方法给图纸添加词典后,图纸竟然无法保存,实在不解,求老大们指点


public static void AddDictionary(string Dicname, string XrecordName, object val)
        {
            Database db = HostApplicationServices.WorkingDatabase;
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                DBDictionary NOD = trans.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite) as DBDictionary;
                DBDictionary Dict;
                try
                {
                    Dict = (DBDictionary)trans.GetObject(NOD.GetAt(Dicname), OpenMode.ForWrite);
                }
                catch
                {
                    Dict = new DBDictionary();
                    NOD.SetAt(Dicname, Dict);
                    trans.AddNewlyCreatedDBObject(Dict, true);
                }
   
                // 通过Xrecord和ResultBuffer添加扩展数据
                Xrecord xRec=new Xrecord();
                System.Type tp = val.GetType();
                try
                {
                    xRec = (Xrecord)trans.GetObject(Dict.GetAt(XrecordName), OpenMode.ForWrite);
                }
                catch
                {
                }
                finally
                {
                    if (tp == typeof(int))
                    {
                        xRec.Data = new ResultBuffer(new TypedValue((int)DxfCode.ExtendedDataInteger32, val));
                    }
                    else if (tp == typeof(string))
                    {
                        xRec.Data = new ResultBuffer(new TypedValue((int)DxfCode.ExtendedDataAsciiString, val));
                    }
                    else
                    {
                        xRec.Data = new ResultBuffer(new TypedValue((int)DxfCode.ExtendedDataReal, val));
                    }
                    
                    Dict.SetAt(XrecordName, xRec);
                   // trans.AddNewlyCreatedDBObject(xRec, true);
                    trans.Commit();
                }
            }
        }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-9-26 08:23:25 来自手机 | 显示全部楼层
看这里最后部分
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=76123
 楼主| 发表于 2014-9-26 10:22:39 | 显示全部楼层
谢谢老大,原来必须要加这句           NOD.UpgradeOpen();
发表于 2014-9-26 10:45:22 来自手机 | 显示全部楼层
不是这句 是后面那句
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 13:43 , Processed in 0.175998 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表