Revit 애드 인을 사용하면 링크 된 모델의 매개 변수를 포함하여 유형 매개 변수를 찾아보고 설정할 수 있습니다. Revit 2011 및 이전 버전에서는 정상적으로 작동했지만 Revit 2012 및 2013에서는 더 이상 설정할 수 없습니다. 링크 된 문서에서 트랜잭션을 생성 할 때 "Autodesk.Revit.Exceptions.ArguementException : 문서가 링크 된 파일이므로 트랜잭션은 기본 문서 (프로젝트 또는 제품군)에서만 사용할 수 있습니다."Revit : 링크 된 모델의 유형 매개 변수 설정
링크 된 모델에서 트랜잭션을 사용하지 마십시오. 그래서 트랜잭션없이 매개 변수를 설정하려고 시도했지만, 트랜잭션 외부에서 모델을 수정할 수 없다는 예외가 있습니다.
링크 된 모델에서 트랜잭션을 만들 수없고 트랜잭션 외부에서 모델을 수정할 수 없습니다. 그러면 Revit 2012/2013에서 링크 된 모델을 어떻게 수정합니까? 2011 년에도 동일한 코드로 작동했습니다. The Building Coder 블로그를 비롯한 온라인 검색은 상당한 성과를 거두었지만이 급변하는 변화에 대한 언급이 없거나이를 해결하는 방법을 찾지 못했습니다. 누구든지 손 빌려 줄 수 있습니까?
코드는 간단합니다. 모델에서 매개 변수를 가져오고, 트랜잭션을 시작하고 매개 변수 값을 설정하려고합니다. 다시 동일한 코드 내가 REVIT 2012 일을 시작하고 링크 된 파일의 트랜잭션 동작을 몰랐다 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();