Exemplo n.º 1
0
        public static List <Drawing> GetAll(bool withElevationPlan)
        {
            //AutoCAD2013でレイヤ管理画面を表示したまま、図面を切り替えるとエラーになる。
            //対策としてここでやっときゃいいっしょ。
            AutoCad.Command.CloseLayerManager();

            var drawingHandles = WindowController2.GetDrawingHandles();

            //MDIの子画面のサイズを小さくされていると、図面のファイル名を正しく取れないことがある。それ対策。
            if (drawingHandles.Count != 0)
            {
                WindowController2.Maximize(drawingHandles[0]);
            }

            var drawings = new List <Drawing>();

            foreach (var handle in drawingHandles)
            {
                var    title    = WindowController2.GetWindowTitle(handle);
                string fileName = Path.GetFileNameWithoutExtension(title);

                if (!fileName.Contains(Static.ConstructionCode))
                {
                    continue;
                }

                var drawing = new Drawing();
                drawing.WindowHandle = handle;
                drawing.FullPath     = title;

                if (!drawing.IsDenkiPlan)
                {
                    continue;
                }

                if (!withElevationPlan && drawing.IsElevation)
                {
                    continue;
                }

                if (drawing.PlanNo != Static.Drawing.PlanNo)
                {
                    continue;
                }

                if (drawing.RevisionNo != Static.Drawing.RevisionNo)
                {
                    continue;
                }

                drawings.Add(drawing);
            }

            drawings.Sort((p, q) => { return(p.FloorCode.CompareTo(q.FloorCode)); });

            return(drawings);
        }
Exemplo n.º 2
0
        public static Drawing GetCurrent()
        {
            var currentDrawingHandle = WindowController2.GetTopDrawingHandle();

            var drawing = new Drawing();

            drawing.WindowHandle = currentDrawingHandle;
            drawing.FullPath     = WindowController2.GetWindowTitle(currentDrawingHandle);

            return(drawing);
        }
Exemplo n.º 3
0
        public void GetExportDrawings()
        {
            AutoCad.Command.CloseLayerManager();
            var drawingHandles = WindowController2.GetDrawingHandles();

            if (drawingHandles.Count != 0)
            {
                WindowController2.Maximize(drawingHandles[0]);
            }

            var drawings = new List <Drawing>();

            foreach (var handle in drawingHandles)
            {
                var    title    = WindowController2.GetWindowTitle(handle);
                string fileName = Path.GetFileNameWithoutExtension(title);

                if (!fileName.Contains(Static.ConstructionCode))
                {
                    continue;
                }

                var drawing = new Drawing();
                drawing.WindowHandle = handle;
                drawing.FullPath     = title;

                if (drawing.PlanNo != Static.Drawing.PlanNo)
                {
                    continue;
                }

                if (drawing.RevisionNo != Static.Drawing.RevisionNo)
                {
                    continue;
                }

                if (!drawing.IsSocketPlan)
                {
                    continue;
                }

                this.socketPlanDrawings.Add(drawing);
            }
        }