Revit API:创建新的足迹屋顶
Revit API: Creating a new Footprint roof
我在使用 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对象
当我调用它时,它 returns: 异常:值不能为空。
知道问题出在哪里吗?非常感谢!
所以,我发现了问题所在。首先,此方法需要第 4 个参数,一个 "out attribute"(抱歉,我以前从未见过……),它需要是一个 ModelCurveArray。
问题是,即使我将 ModelCurveArray 对象作为第 4 个参数,它也会抱怨它期望 StrongBox[ModelCurveArray]。也没听说过。
无论如何,我用这个作为第四个参数:
footPrintToModelCurveMapping = clr.StrongBox[ModelCurveArray](ModelCurveArray())
而且有效。
我在使用 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对象
当我调用它时,它 returns: 异常:值不能为空。
知道问题出在哪里吗?非常感谢!
所以,我发现了问题所在。首先,此方法需要第 4 个参数,一个 "out attribute"(抱歉,我以前从未见过……),它需要是一个 ModelCurveArray。 问题是,即使我将 ModelCurveArray 对象作为第 4 个参数,它也会抱怨它期望 StrongBox[ModelCurveArray]。也没听说过。
无论如何,我用这个作为第四个参数:
footPrintToModelCurveMapping = clr.StrongBox[ModelCurveArray](ModelCurveArray())
而且有效。