Curve GetWallRealLocationCurve(Wall m_wall)
{
Curve oldCurve = (m_wall?.Location as LocationCurve)?.Curve;
if (oldCurve == null)
{
return null;
}
double baseOffset = 0;
var param = m_wall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET)?.AsDouble();
if(param != null && param.HasValue)
{
baseOffset = param.Value;
}
Transform trans = Transform.CreateTranslation(new XYZ(0,0,baseOffset));
return oldCurve.CreateTransformed(trans);
}

这段代码是Revit API的一部分,用于获取墙的实际位置曲线。它首先尝试从墙对象获取原始曲线,然后检查墙的基础偏移量。如果存在基础偏移,它将创建一个平移变换并将原始曲线应用该变换,以得到考虑了基础偏移的新位置曲线。
975

被折叠的 条评论
为什么被折叠?



