Revit, как получить угловые точки XYZ на выбранной стене? Это не конечные точки
Мне требуются точки по краю по ширине (узкий конец), а не по длине (длинный конец). Пожалуйста, поймите это как ограничивающая рамка не будет работать! // они бесполезны, поскольку они являются точками на фиксированной декартовой плоскости x,y,z. Я не могу последовательно получить X min и max, поскольку стенка может вращаться в любой ориентации.
//**Wall0
BoundingBoxXYZ Wall0_BB = wall0.get_BoundingBox(null);
XYZ vector1 = Wall0_BB.Min;
XYZ vector2 = new XYZ(Wall0_BB.Max.X, Wall0_BB.Min.Y, Wall0_BB.Min.Z);
XYZ vectorA = vector1 - vector2;
//these are not useful as they won't give me the corner points
LocationCurve locationcurve0 = wall0.Location as LocationCurve;
Line line0 = locationcurve0.Curve as Line;
XYZ pointA0 = line0.GetEndPoint(0);
XYZ pointA1 = line0.GetEndPoint(1);
1 ответ
Я отказался от него выше после того, как нашел метод для получения внутренней или внешней грани, оттуда вы можете получить кривую на желаемой стороне, а затем конечную точку, используя свойство.endpoint(int Int) IList ThisSideFace = HostObjectUtils.GetSideFaces(wall0, ShellLayerType.Interior);