예제 #1
0
        private void outputWeight(_Area_v1 a, int weight)
        {
            _Ge.Point3d currentPoint = a.IP_weight;

            if (weight != 0)
            {
                write("[OK] " + weight.ToString());
                insertText(weight.ToString(), currentPoint, weightLayerName);
            }
            else
            {
                write("[SKIP]");
            }
        }
예제 #2
0
        private List <_Area_v1> getBoxAreas(List <_Db.BlockReference> blocks)
        {
            List <_Area_v1> parse = new List <_Area_v1>();

            foreach (_Db.BlockReference block in blocks)
            {
                _Db.Extents3d blockExtents = block.GeometricExtents;
                _Area_v1      area         = new _Area_v1(blockExtents.MinPoint, blockExtents.MaxPoint);
                parse.Add(area);
            }

            parse = parse.OrderBy(o => o.Start.X).ToList();

            return(parse);
        }
예제 #3
0
        private List <_Mark> getMarksInArea(_Area_v1 area, List <_Mark> allmarks)
        {
            List <_Mark> marks = new List <_Mark>();

            for (int i = allmarks.Count - 1; i >= 0; i--)
            {
                _Mark mark = allmarks[i];
                if (area.isPointInArea(mark.IP))
                {
                    marks.Add(mark);
                    allmarks.RemoveAt(i);
                }
            }

            return(marks);
        }
예제 #4
0
        private void outputTable(_Area_v1 a, List <_Mark> rows)
        {
            _Ge.Point3d currentPoint = a.IP_reinf;

            foreach (_Mark r in rows)
            {
                if (r.Position != "emptyrow")
                {
                    _Ge.Point3d position_IP = new _Ge.Point3d(currentPoint.X + 40, currentPoint.Y + 45, currentPoint.Z);
                    _Ge.Point3d diameter_IP = new _Ge.Point3d(currentPoint.X + 30 + 244, currentPoint.Y + 45, currentPoint.Z);
                    _Ge.Point3d number_IP   = new _Ge.Point3d(currentPoint.X + 60 + 390, currentPoint.Y + 45, currentPoint.Z);

                    insertText(r.Position, position_IP, markLayerName);
                    insertText(r.Diameter.ToString(), diameter_IP, markLayerName);
                    insertText(r.Number.ToString(), number_IP, markLayerName);
                }

                currentPoint = new _Ge.Point3d(currentPoint.X, currentPoint.Y - 160, currentPoint.Z);
            }
        }