从. net对象获取COM属性
**** Hidden Message ***** 嗯,你的代码看起来不错,你可以试试一份文档。ObjectedToObject或AcadDocument.HandletToObject 类似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");
}
}
谢谢你的建议。当使用id.OldIdptr从.net对象获取COM对象id时,我仍然会得到featureline对象和随后的强制转换错误。我不想重新编写例程,只使用COM版本,但这似乎是我要走的路线。
页:
[1]