我要求边缘上的点横跨宽度(窄端)而不是长度(长端)。请理解这一点,因为边界框不会工作!//这些没用,因为它们是固定笛卡尔平面x,y,z上的点我不能一直得到X的最小值和最大值,因为墙可以在任何方向旋转。
//**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);
在找到获得内部或外部表面的方法后,我放弃了上面的方法,从那里你可以在你想要的一侧获得曲线,然后使用属性。endpoint(int int)列表ThisSideFace = HostObjectUtils。GetSideFaces (wall0 ShellLayerType.Interior);