久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網站首頁 > CAD新聞

C#+ArcEngine加載CAD數據的幾種方法

時間:2011-04-21 10:47:18 來源:未知

打開cad文件的幾種方法

  方法一、通過遍歷CAD數據集,依次加載中點線面注記等圖層,所加載的數據均為一個獨立的圖層。

  IWorkspaceFactory pWorkspaceFactory;
  IFeatureWorkspace pFeatureWorkspace;
  IFeatureLayer pFeatureLayer;
  IFeatureDataset pFeatureDataset;
  //打開CAD數據集
  pWorkspaceFactory = new CadWorkspaceFactoryClass();
  pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(directoryPath, 0);
  //打開一個要素集
  pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName);
  //IFeaturClassContainer可以管理IFeatureDataset中的每個要素類
  IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset;
  //對CAD文件中的要素進行遍歷處理
  for (int i = 0; i < pFeatureClassContainer.ClassCount - 1; i++)
  {
  IFeatureClass pFeatureClass = pFeatureClassContainer.get_Class(i);
  if (pFeatureClass.FeatureType == esriFeatureType.esriFTAnnotation)
  {
  //如果是注記,則添加注記層
  pFeatureLayer = new CadAnnotationLayerClass();
  }
  else//如果是點、線、面,則添加要素層
  {
  pFeatureLayer = new FeatureLayerClass();
  pFeatureLayer.Name = pFeatureClass.AliasName;
  pFeatureLayer.FeatureClass = pFeatureClass;
  this.axmc_Main.Map.AddLayer(pFeatureLayer);
  this.axmc_Main.ActiveView.**();
  }

  }

  方法二、直接打開CAD數據的點線面注記等要素類,所加載的數據均為一個獨立的圖層。

 具體代碼如下:

   CadWorkspaceFactoryClass fac=new CadWorkspaceFactoryClass ();
   String filePath="E:\cad";
   IFeatureWorkspace space=fac.OpenFromFile(filePath,0) as IFeatureWorkspace ;
   下面是打開FeatureClass的代碼:
   //線
   IFeatureClass polyline =space.OpenFeatureClass("NewCAD.dwg:Polyline");  
   IFeatureLayer layer=new CadFeatureLayerClass ();
   layer.FeatureClass =polyline;
   //點
   IFeatureClass point=space.OpenFeatureClass ("NewCAD.dwg:Point");
   layer=new CadFeatureLayerClass ();
   layer.FeatureClass =point;
   //面  
   IFeatureClass polygon=space.OpenFeatureClass ("NewCAD.dwg:Polygon");
   ayer=new CadFeatureLayerClass();
   layer.FeatureClass =polygon;
   //注記  
   IFeatureClass anno=space.OpenFeatureClass ("NewCAD.dwg:Annotation");
   layer=new CadAnnotationLayerClass();
   layer.FeatureClass =anno;
//其實在Coverage文件的開發方式與Autocad方法類似,可以參考.


  方法三、利用繪圖空間直接加載CAD數據集,加載后各類型數據作為一個圖層顯示。

  

  IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();

  IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(directoryPath, 0);

  //--定義一個CAD畫圖空間,并把上邊打開的工作空間賦給它

  ICadDrawingWorkspace pCadDrawingWorkspace = pWorkspace as ICadDrawingWorkspace;#p#分頁標題#e#

  //--定義一個CAD的畫圖數據集,并且打開上邊指定的工作空間中一幅CAD圖

  //--然后賦值給CAD數據集

  ICadDrawingDataset pCadDrawingDataset = pCadDrawingWorkspace.OpenCadDrawingDataset(fileName);

  //--通過ICadLayer類,把上邊得到的CAD數據局賦值給ICadLayer類對象的

  //--CadDrawingDataset屬性

  ICadLayer pCadLayer = new CadLayerClass();

  pCadLayer.CadDrawingDataset = pCadDrawingDataset;

  //--利用MapControl加載CAD層

  this.axmc_Main.Map.AddLayer(pCadLayer);
  this.axmc_Main.ActiveView.**();

  方法四、也是遍歷CAD點線面,但是不用檢查數據類型是否為注記。

  IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();
  IFeatureWorkspace pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(directoryPath, 0) as IFeatureWorkspace;
  IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName);
  IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset;
  for (int i = 0; i < pFeatureClassContainer.ClassCount - 1; i++)
  {
  IFeatureClass pFeatureClass = pFeatureClassContainer.get_Class(i);
  IFeatureLayer pFeatureLayer = new FeatureLayerClass();
  pFeatureLayer.FeatureClass = pFeatureClass;
  //ICadLayer pCadLayer = new CadLayerClass();
  //pCadLayer = pFeatureLayer as ICadLayer;
  this.axmc_Main.Map.AddLayer(pFeatureLayer);
  this.axmc_Main.ActiveView.**();

  }

  方法五、類似與方法三。

  //Add passed file to MapControl
  ICadDrawingDataset pCadDrawingDataset = GetCadDrawingDataset(directoryPath, fileName);
  if (pCadDrawingDataset == null) return;
  ICadLayer pCadLayer = new CadLayerClass();
  pCadLayer.CadDrawingDataset = pCadDrawingDataset;
  pCadLayer.Name = fileName;
  this.axmc_Main.AddLayer(pCadLayer, 0);

  /// <summary>
  /// 獲取記錄集
  /// </summary>
  /// <param name="directoryPath"></param>
  /// <param name="fileName"></param>
  /// <returns></returns>
  private ICadDrawingDataset GetCadDrawingDataset(string directoryPath, string fileName)
  {
  //Create a WorkspaceName object
  IWorkspaceName pWorkspaceName = new WorkspaceNameClass();
  pWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory";
  pWorkspaceName.PathName = directoryPath;
  //Create a CadDrawingName object
  IDatasetName pDatasetName = new CadDrawingNameClass();
  pDatasetName.Name = fileName;
  pDatasetName.WorkspaceName = pWorkspaceName;
  //Open the CAD drawing
  IName pName = (IName)pDatasetName;
  return (ICadDrawingDataset)pName.Open();
 


久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
亚洲精品免费在线视频| 亚洲人精品午夜射精日韩| 精品人伦一区二区三区| 亚洲欧洲三级| 精品久久久久久综合日本| 国产精品入口芒果| 久久精品视频va| 久久精品国产欧美亚洲人人爽| 久久久久久网站| 久久久精品久久| 国产精品狼人色视频一区| 国产精品国产亚洲伊人久久| 国产精品区免费视频| 国产精品日韩欧美| 国产精品成熟老女人| 精品国产乱码久久久久久久软件 | 久久久精品一区二区三区| 久久精品91久久久久久再现| 久久精品视频中文字幕| 国产精品国产亚洲精品看不卡| 久久综合久中文字幕青草| 欧美精品在线极品| 亚洲国产日韩欧美| 欧美资源一区| 免费av网址在线| av免费网站观看| 国产成人激情小视频| 久久er99热精品一区二区三区| 久久精品视频免费播放| 久久久久久av| 无码人妻精品一区二区三区66 | 少妇特黄a一区二区三区| 日韩久久一级片| 国产日韩欧美电影在线观看| 97人人爽人人喊人人模波多| 国产不卡一区二区视频| 国产精品久在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品高潮粉嫩av| 亚洲色图自拍| 欧美影院久久久| 成人羞羞国产免费| www.美女亚洲精品| 欧美理论电影在线观看| 亚洲a∨日韩av高清在线观看| 日韩久久久久久久| 国产欧美精品一区二区三区介绍| 国产精成人品localhost| 久久天天躁狠狠躁老女人| 久久久久久国产精品| 日本精品一区二区| 国产欧亚日韩视频| 日韩中文字幕国产| 亚洲精品在线视频观看 | 国产九九九九九| 久久久久久国产免费| 精品国产乱码久久久久久郑州公司 | 国产精品久久久久久久久久久久午夜片| 精品福利影视| 日韩欧美精品久久| 成人免费无码av| 国产成人三级视频| 午夜精品久久久久久久男人的天堂| 欧美一级电影久久| 91九色单男在线观看| 操91在线视频| 欧美视频第三页| 88国产精品欧美一区二区三区| 久久伊人精品天天| 欧美亚洲在线播放| 国产成人高潮免费观看精品| 伊人久久av导航| 精品一区在线播放| 日韩网站免费观看| 少妇特黄a一区二区三区| 国产美女主播一区| 国产精品国产三级国产aⅴ9色| 人人爽久久涩噜噜噜网站| 91成人综合网| 欧美激情国产精品| 天堂资源在线亚洲视频| 国产精品夜夜夜一区二区三区尤| 日韩在线高清视频| 日韩激情视频一区二区| 久久伦理网站| 午夜精品久久久久久久久久久久| 国产精品亚洲视频在线观看| 国产精品国产一区二区| 国内一区二区三区在线视频| 国产成人精品一区| 欧洲亚洲一区二区三区四区五区| 国产富婆一区二区三区| 色乱码一区二区三区熟女| 国产精品99导航| 亚洲精品免费在线看| 91精品国产综合久久久久久蜜臀| 亚洲欧美99| 国产精品av在线| 日本精品一区在线观看| 日韩最新免费不卡| 国模一区二区三区私拍视频| 国产精品第一区| 国产久一道中文一区| 一本久道高清无码视频| 91精品久久久久久久久久入口| 亚洲制服中文| 亚洲综合av影视| 久久影视中文粉嫩av| 日本成人黄色| 久久好看免费视频| 免费黄色福利视频| 欧美精品九九久久| 91精品在线国产| 少妇性饥渴无码a区免费| 国产成人91久久精品| 欧美视频免费播放| 精品国产乱码久久久久久久软件| 国产精品直播网红| 欧美一级片中文字幕| 久久久99久久精品女同性| 蜜桃麻豆www久久国产精品| 国产aaa精品| 国产精品1区2区在线观看| 日韩久久久久久久久久久久久| 国产成人精品视频免费看| 狠狠色伊人亚洲综合网站色| 国产99视频精品免视看7| 91干在线观看| 欧美久久久久久久久久久久久| 欧美麻豆久久久久久中文| 久久综合亚洲精品| 激情内射人妻1区2区3区| 一区二区三区四区欧美| 国产盗摄视频在线观看| 国内精品久久久久久影视8| 亚洲专区国产精品| 精品国产欧美一区二区三区成人| 国产色婷婷国产综合在线理论片a| 亚洲人成77777| 国产精品视频大全| 91精品视频专区| 免费看黄在线看| 日本一本草久p| 麻豆国产va免费精品高清在线| 久久久亚洲国产精品| 国内精品视频在线| 日韩资源av在线| 精品国产乱码久久久久久88av | 久久婷婷国产麻豆91天堂| 久久天天狠狠| 国产一区二区视频在线观看| 视频一区亚洲| 国产精品成久久久久三级| 国产www精品| 99久久精品免费看国产四区 | 久久91亚洲精品中文字幕奶水| 色综合久久88色综合天天看泰| 国产二区不卡| 成人在线国产精品| 男人添女人下部视频免费| 亚洲一区二区三区乱码| 欧美日韩国产高清视频 | 日韩videos| 久久久久成人精品| 国产精品视频网站| 国产白丝袜美女久久久久| 成人免费毛片播放| 国产色一区二区三区| 欧美福利一区二区三区| 日韩av电影在线观看| 亚洲一区二区精品在线| 久久av中文字幕| 国产精品美女午夜av| 国产不卡精品视男人的天堂| 不卡中文字幕在线| 国产欧美日韩精品专区| 精品无码一区二区三区爱欲| 欧美日韩精品免费看| 热久久精品免费视频| 日本国产一区二区三区| 欧美一级视频免费看| 手机看片日韩国产| 少妇熟女一区二区| 亚洲福利av| 亚洲精蜜桃久在线| 亚州精品天堂中文字幕| 亚洲高清乱码| 日韩一区二区三区资源| 亚洲人体一区| 亚洲va男人天堂| 欧美一级欧美一级| 日韩欧美一区二区三区四区五区| 日本一区二区在线视频观看| 日韩av观看网址| 日韩欧美精品在线观看视频| 日韩欧美一区二区在线观看| 青青草成人免费在线视频| 欧美专区一二三| 激情小说综合区| 精品视频在线观看一区|