Link DWG Files
using RDB = Autodesk.Revit.DB;
// dwgFilePath 为全路径
RDB.ElementId curLinkID = RDB.ElementId.InvalidElementId;
using (RDB.Transaction tg = new RDB.Transaction(curDoc, "LinkDWGFile"))
{
tg.Start();
// link CAD firstly
RDB.DWGImportOptions opt = new RDB.DWGImportOptions();
opt.ThisViewOnly = false; // not this view only
opt.Placement = RDB.ImportPlacement.Origin;
opt.Unit = RDB.ImportUnit.Default;
opt.OrientToView = true;
opt.AutoCorrectAlmostVHLines = true;
curDoc.Link(dwgFilePath, opt, curDoc.ActiveView, out curLinkID);
// get the link instance and the CADLinkType
RDB.ImportInstance importInstance = curDoc.GetElement(curLinkID) as RDB.ImportInstance;
RDB.CADLinkType linkType = curDoc.GetElement(importInstance.GetTypeId()) as RDB.CADLinkType;
linkType.LoadFrom(dwgFilePath);
tg.Commit();
}
经测试,没有任何问题。
欢迎指正,共同学习。