1

我在使用 revit 2018 API 创建足迹屋顶时遇到问题。基本上,我这样称呼:

doc.Create.NewFootPrintRoof(ca, doc.GetElement(roofsInstances[0].LevelId), roofsInstances[0].RoofType)

和:

  • “ca”是一个有效的Autodesk.Revit.DB.CurveArray对象。这是一个闭环。
  • “doc.GetElement(roofsInstances[0].LevelId)”是一个有效的Autodesk.Revit.DB.Level对象
  • 并且“roofsInstances[0].RoofType”是一个有效的Autodesk.Revit.DB.RoofType对象

当我调用它时,它返回:异常:值不能为空。

关于可能是什么问题的任何想法?非常感谢!

4

1 回答 1

1

所以,我发现出了什么问题。首先,这个方法需要一个第四个参数,一个“out 属性”(对不起,我以前从未见过......)它需要是一个ModelCurveArray。问题是,即使我将ModelCurveArray对象作为第四个参数,它也会抱怨它需要一个StrongBox[ModelCurveArray]。也没听说过。

无论如何,我用它作为第四个参数:

footPrintToModelCurveMapping = clr.StrongBox[ModelCurveArray](ModelCurveArray())

它有效。

于 2017-10-26T07:18:43.587 回答