• 读取DWG文件中的文本信息(CAD2004)


      还是那句话,工作需要,不然是不会研究这个的.也许有的人会遇到跟我一样的问题,有兴趣看看,可以节约点时间.运行时要引用CAD2004的COM,这种读取文本的方式并不好,需要机器上装有AUTOCAD2004,而且针对不同的版本,程序可能要进行修改,如果有朋友能有比较好的解决方法,或者第三方控件,欢迎联系.下面将代码贴上:
     1using System;
     2using System.Collections.Generic;
     3using System.Text;
     4using System.IO;
     5
     6namespace AutoCADFilter
     7{
     8    public class Filter
     9    {
    10        public Filter()
    11        {
    12            
    13        }

    14        /// <summary>
    15        /// 读取dwg文件中的文本信息
    16        /// </summary>
    17        /// <remarks>读取dwg文件中的文本信息</remarks>
    18        /// <returns>文本内容</returns>

    19        private string ReadDwg(string path)
    20        {
    21       
    22            string content = "";
    23            string filename = "";
    24            FileInfo finfo = new FileInfo(path);
    25            filename = finfo.Name;
    26            AutoCAD.AcadApplication ap = new AutoCAD.AcadApplication();
    27            lock (ap)
    28            {
    29                try
    30                {
    31                    AutoCAD.AcadDocument ad = ap.Documents.Open(path,truenull);
    32                    for (int i = 0; i < ad.ModelSpace.Count; i++)
    33                    {
    34                        if (ad.ModelSpace.Item(i).ObjectName.ToLower().Equals("acdbmtext"))
    35                        {
    36                            AutoCAD.IAcadMText im = (AutoCAD.IAcadMText)ad.ModelSpace.Item(i);
    37                            content += im.TextString;
    38                        }

    39                        else if (ad.ModelSpace.Item(i).ObjectName.ToLower().Equals("acdbtext"))
    40                        {
    41                            AutoCAD.IAcadText im = (AutoCAD.IAcadText)ad.ModelSpace.Item(i);
    42                            content += im.TextString;
    43                        }

    44                    }

    45                    ad.Close(false, filename);
    46                }

    47                finally
    48                {
    49
    50                    ap.Quit();
    51                }

    52            }

    53            return content;
    54        }

    55
    56        public string Parse(string path)
    57        {
    58            return ReadDwg(path);
    59          
    60        }

    61    }

    62}
  • 相关阅读:
    第10组 Alpha冲刺 (4/6)(组长)
    Android菜鸟成长记10 ListVew
    Android菜鸟成长记3activity类
    Android菜鸟成长记2内部类
    Android菜鸟成长记7 Android的五大布局
    Android菜鸟成长记4button点击事件
    Android菜鸟成长记8 布局实践(微信界面的编写)
    Android菜鸟成长记9 selector的用法
    Android菜鸟成长记6 网络连接的检查
    Android菜鸟成长记5ADB和sqllite
  • 原文地址:https://www.cnblogs.com/DarkAngel/p/readdwg.html
Copyright © 2020-2023  润新知