sdunn 发表于 2018-9-24 15:47:00

从. net对象获取COM属性

**** Hidden Message *****

sdunn 发表于 2018-9-24 23:06:48

嗯,你的代码看起来不错,你可以试试一份文档。ObjectedToObject或AcadDocument.HandletToObject

sdunn 发表于 2018-9-25 21:50:35

类似
public class Commands
    {
      static object getComDbObj(ObjectId id, Document doc)
      {
            AcadDocument acadDocument = doc.GetAcadDocument() as AcadDocument;
            if (acadDocument == null)
                throw new System.Exception("AcadDocument is null");
            return acadDocument.ObjectIdToObject(id.OldId);
      }
      
      public static void doit()
      {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            AcadModelSpace ms = getComDbObj(doc.Database.CurrentSpaceId, doc) as AcadModelSpace; //assume
            doc.Editor.WriteMessage(ms == null ? "null" : "eOk");
      }
    }

sdunn 发表于 2018-9-28 11:23:50

谢谢你的建议。当使用id.OldIdptr从.net对象获取COM对象id时,我仍然会得到featureline对象和随后的强制转换错误。我不想重新编写例程,只使用COM版本,但这似乎是我要走的路线。
页: [1]
查看完整版本: 从. net对象获取COM属性