Đến nội dung


Hình ảnh
- - - - -

Open Nhiều File Với C# ?


  • Please log in to reply
2 replies to this topic

#1 Bee

Bee

    biết lệnh extend

  • Members
  • PipPipPip
  • 195 Bài viết
Điểm đánh giá: 67 (tàm tạm)

Đã gửi 13 October 2016 - 10:32 PM

Room lisp dạo này thấy xôm xôm rồi. Sang đây chơi vậy.

 

Mọi người cho hỏi có code share, ví dụ : open lần lượt từng file dwg trong folder select rồi vẽ 1 line trong từng file không ạ ?

 

Nếu có thì chỉ cách cho mình nghiên cứu với :)


  • 0

#2 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 18 October 2016 - 12:47 PM

Room lisp dạo này thấy xôm xôm rồi. Sang đây chơi vậy.

 

Mọi người cho hỏi có code share, ví dụ : open lần lượt từng file dwg trong folder select rồi vẽ 1 line trong từng file không ạ ?

 

Nếu có thì chỉ cách cho mình nghiên cứu với :)

Tham khảo nhé : 

- nếu muốn chọn folder thì dùng OpenFileDialog hoặc FolderBrowserDialog

        [CommandMethod("AddLineToAllFolder", CommandFlags.Session)]
        public static void AddLineToAllFolder()
        {
            try
            {
                string folder = @"C:\Temp\";
                foreach (string dwg in System.IO.Directory.EnumerateFiles(folder, "*.dwg"))
                {
                    Document doc = Application.DocumentManager.Open(dwg, false);
                    using (doc.LockDocument())
                    using (Transaction tr = doc.TransactionManager.StartTransaction())
                    {
                        BlockTable bt = (BlockTable)tr.GetObject(doc.Database.BlockTableId, OpenMode.ForRead);
                        BlockTableRecord ms = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
                        Line line = new Line(Point3d.Origin, new Point3d(1, 1, 1));
                        ms.AppendEntity(line);
                        tr.AddNewlyCreatedDBObject(line, true);
                        tr.Commit();
                    }
                    doc.CloseAndSave(dwg);
                }
            }
            catch (System.Exception e)
            {
                Application.ShowAlertDialog("Something went wrong\n" + e.ToString());
            }
        }

  • 0

#3 Bee

Bee

    biết lệnh extend

  • Members
  • PipPipPip
  • 195 Bài viết
Điểm đánh giá: 67 (tàm tạm)

Đã gửi 26 October 2016 - 10:53 PM

 

Tham khảo nhé : 

- nếu muốn chọn folder thì dùng OpenFileDialog hoặc FolderBrowserDialog

        [CommandMethod("AddLineToAllFolder", CommandFlags.Session)]
        public static void AddLineToAllFolder()
        {
            try
            {
                string folder = @"C:\Temp\";
                foreach (string dwg in System.IO.Directory.EnumerateFiles(folder, "*.dwg"))
                {
                    Document doc = Application.DocumentManager.Open(dwg, false);
                    using (doc.LockDocument())
                    using (Transaction tr = doc.TransactionManager.StartTransaction())
                    {
                        BlockTable bt = (BlockTable)tr.GetObject(doc.Database.BlockTableId, OpenMode.ForRead);
                        BlockTableRecord ms = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
                        Line line = new Line(Point3d.Origin, new Point3d(1, 1, 1));
                        ms.AppendEntity(line);
                        tr.AddNewlyCreatedDBObject(line, true);
                        tr.Commit();
                    }
                    doc.CloseAndSave(dwg);
                }
            }
            catch (System.Exception e)
            {
                Application.ShowAlertDialog("Something went wrong\n" + e.ToString());
            }
        }

Ok thanks Gia bach. Room này không xôm nên lâu lâu mới vào check. heizz


  • 0