Ejemplo n.º 1
0
        /// <summary>
        /// 添加面所有的轮廓
        /// </summary>
        /// <param name="face"></param>
        public void Add(Face face, BeamAlignToFloorModel model)
        {
            var current = this;

            //闭合区间集合,EdgeArray
            foreach (EdgeArray edgeArray in face.EdgeLoops)
            {
                Add(new OutLine(edgeArray, model));
            }

            //if (face is PlanarFace)
            //{
            //    var current = this;
            //    //闭合区间集合,EdgeArray
            //    foreach (EdgeArray edgeArray in face.EdgeLoops)
            //    {
            //        Add(new OutLine(edgeArray, model));
            //    }
            //}
            //else if (face is CylindricalFace)
            //{
            //    var current = this;
            //    //闭合区间集合,EdgeArray TODO 改回去 无效调整
            //    EdgeArray edgeArrayColleciton = new EdgeArray();
            //    foreach (EdgeArray edgeArray in face.EdgeLoops)
            //    {
            //        for (int i = 0; i < edgeArray.Size; i++)
            //        {
            //            edgeArrayColleciton.Append(edgeArray.get_Item(i));
            //        }
            //    }
            //    Add(new OutLine(edgeArrayColleciton, model));
            //}
        }
Ejemplo n.º 2
0
 void Init(EdgeArray edgeArray, BeamAlignToFloorModel model)
 {
     Edges    = edgeArray;
     Points   = VLGeometryHelper.GetPoints(Edges, model);
     PointZ0s = Points.Select(c => new XYZ(c.X, c.Y, 0)).ToList();
     Lines    = new List <Line>();
     AddLinesFromPoints(ref Lines, Points);
     LineZ0s = new List <Line>();
     AddLinesFromPoints(ref LineZ0s, PointZ0s);
     //TODO 某些轮廓是由多个面组成,需修正Triangle的分解算法,此处修正即支持非平面的轮廓集合的处理
     Triangles   = VLGeometryHelper.GetTriangles(Points);
     TriangleZ0s = VLGeometryHelper.GetTriangles(PointZ0s);
     IsSolid     = true;
 }
Ejemplo n.º 3
0
 public OutLineManager(Document document, BeamAlignToFloorModel model)
 {
     Document = document;
     Model    = model;
 }
Ejemplo n.º 4
0
 public OutLine(EdgeArray edgeArray, BeamAlignToFloorModel model)
 {
     Init(edgeArray, model);
 }
Ejemplo n.º 5
0
 public OutLineManager0802(Document document, BeamAlignToFloorModel model)
 {
     Document     = document;
     Model        = model;
     CreatedBeams = new List <Element>();
 }
Ejemplo n.º 6
0
 public ValidFaces(Document document, BeamAlignToFloorModel model)
 {
     Document = document;
     Model    = model;
 }