我們的Revit Add-In允許用戶瀏覽和設置類型參數,包括鏈接模型中的類型參數。它在Revit 2011和更早版本中運行良好,但在Revit 2012和2013中,我們不能再設置這些。當在鏈接文檔上構建事務時,我會得到:「Autodesk.Revit.Exceptions.ArguementException:Document是一個鏈接文件。事務只能用於主文檔(項目或系列)。」Revit:在鏈接模型中設置類型參數
OK,所以我們可以不在鏈接的模型上使用交易。所以我嘗試在沒有事務的情況下設置參數,但後來發現異常,說我們無法在事務外修改模型。
無法在鏈接的模型上創建事務並且無法修改事務外的模型 - 那麼如何修改Revit 2012/2013中的鏈接模型?它在2011年使用相同的代碼運行良好。在網上進行了相當數量的搜索,包括The Building Coder博客,但沒有發現這種重大變化或如何解決它。任何人都可以伸出援手嗎?我們的代碼很簡單 - 我們在模型中獲得一個參數,啓動一個事務並嘗試設置一個參數值。同樣,相同的代碼工作沒有錯誤在Revit 2011
// elementType is an ElementType in document doc
// for which we want to set a type parameter.
Parameter typeParameter = elementType.get_Parameter(pararmeterName);
Transaction transaction = new Transaction(doc, "Update Revit Type"); // Exception thrown here if doc is a linked model
transaction.Start();
typeParameter.Set("FooValue");
transaction.Commit();