flanker_j 发表于 2012-1-10 09:23:53

块参照可以添加扩展数据吗

我写的函数代码如下:

public void SetXData(ObjectId ID, string DataText)
      {
            Database db = HostApplicationServices.WorkingDatabase;
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                DBObject dbobj = db.TransactionManager.GetObject(ID, OpenMode.ForWrite, false);
                RegAppTable reg = (RegAppTable)trans.GetObject(db.RegAppTableId, OpenMode.ForWrite);
                //如果没有名为"实体扩展数据"的注册应用程序表记录,则
                if (!reg.Has("实体扩展数据"))
                {
                  //创建一个注册应用程序表记录用来表示扩展数据
                  RegAppTableRecord app = new RegAppTableRecord();
                  //设置扩展数据的名字
                  app.Name = "实体扩展数据";
                  //在注册应用程序表加入扩展数据
                  reg.Add(app);
                  trans.AddNewlyCreatedDBObject(app, true);
                }
                //设置扩展数据的内容
                ResultBuffer rb = new ResultBuffer(
                new TypedValue((int)DxfCode.ExtendedDataRegAppName, "实体扩展数据"),
                new TypedValue((int)DxfCode.ExtendedDataAsciiString, DataText));
                //将新建的扩展数据附加到所选择的实体中
                dbobj.XData = rb;
                trans.Commit();
            }
      }
其它实体可以添加扩展数据,就是块参照加不了, 帮忙看看有什么问题。

sieben 发表于 2012-1-10 11:06:53

你的代码没有问题,或许你根本没有传入块参考

flanker_j 发表于 2012-1-10 14:50:34

sieben 发表于 2012-1-10 11:06 static/image/common/back.gif
你的代码没有问题,或许你根本没有传入块参考

就是因为加不上去啊,同一个函数,我可以加到其它实体里面,如一条LINE线。
页: [1]
查看完整版本: 块参照可以添加扩展数据吗