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

您的位置:網(wǎng)站首頁 > CAD新聞

C#+ArcEngine加載CAD數(shù)據(jù)的幾種方法

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

打開cad文件的幾種方法

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

  IWorkspaceFactory pWorkspaceFactory;
  IFeatureWorkspace pFeatureWorkspace;
  IFeatureLayer pFeatureLayer;
  IFeatureDataset pFeatureDataset;
  //打開CAD數(shù)據(jù)集
  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數(shù)據(jù)的點線面注記等要素類,所加載的數(shù)據(jù)均為一個獨立的圖層。

 具體代碼如下:

   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文件的開發(fā)方式與Autocad方法類似,可以參考.


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

  

  IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();

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

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

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

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

  //--然后賦值給CAD數(shù)據(jù)集

  ICadDrawingDataset pCadDrawingDataset = pCadDrawingWorkspace.OpenCadDrawingDataset(fileName);

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

  //--CadDrawingDataset屬性

  ICadLayer pCadLayer = new CadLayerClass();

  pCadLayer.CadDrawingDataset = pCadDrawingDataset;

  //--利用MapControl加載CAD層

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

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

  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_欧美 国产 日本_好吊色欧美一区二区三区
热草久综合在线| 国产日韩在线看片| 激情网站五月天| 久久久亚洲影院| 美女av一区二区| 精品人妻大屁股白浆无码| 久久精品午夜福利| 欧美成人精品影院| 黄色a级片免费| 久久久精品欧美| 日韩人妻一区二区三区蜜桃视频| 97久久国产精品| 亚洲最大福利网站| 97人人模人人爽人人少妇| 在线视频不卡一区二区| 国产精品一级久久久| 欧美激情亚洲国产| 国产精品午夜视频| 中文字幕中文字幕一区三区| 国产精品一区二区三区免费视频 | 亚洲一区二区三区香蕉| 国模吧一区二区| 国产精品丝袜久久久久久不卡| 日韩免费中文专区| 九九九九九精品| 日韩日韩日韩日韩日韩| 国产成人精品免费视频| 亚洲wwwav| 国产精品69久久久久| 亚洲国产精品久久久久婷婷老年 | 日韩中文字幕av| 人人妻人人澡人人爽欧美一区双| 久久久一本精品99久久精品66| 岛国视频一区免费观看| 91久久精品日日躁夜夜躁国产| 中文字幕一区二区三区乱码| yellow视频在线观看一区二区 | 久久久精品国产亚洲| 欧美日韩第二页| 国产精品视频1区| 国内精品国产三级国产在线专| 久久人人爽亚洲精品天堂| 欧美午夜精品久久久久久蜜| 国产精品视频白浆免费视频| 国产一区二区视频免费在线观看 | 久久久久久久久91| 欧美视频第三页| 国产精品久久久久久久美男| 国产日韩欧美中文在线播放| 尤物一区二区三区| 久久婷婷人人澡人人喊人人爽 | 日本一区二区视频| 国产精品区免费视频| 国产无套内射久久久国产| 一区二区精品视频| 国产v亚洲v天堂无码久久久| 欧美两根一起进3p做受视频| 国产精品露脸自拍| 97人人爽人人喊人人模波多| 日韩欧美第二区在线观看| 国产精品少妇在线视频| 国产欧美在线观看| 亚洲国产欧美日韩| 精品国产一区av| 国产乱码精品一区二区三区日韩精品| 亚洲va欧美va在线观看| 精品久久国产精品| 高清欧美精品xxxxx| 日本乱人伦a精品| 久久艹在线视频| 国产福利片一区二区| 男人天堂a在线| 在线观看成人av| 久久久91精品国产一区不卡| 成人毛片100部免费看| 日韩欧美一区二区三区四区五区 | 黄色国产小视频| 亚洲色成人一区二区三区小说 | 日韩一区在线视频| aaa免费在线观看| 人妻精品无码一区二区三区| 欧美日韩成人网| 精品国产一区二区三区久久狼黑人 | 成人福利网站在线观看11| 欧美亚洲一区在线| 亚洲一区在线直播| 欧美成aaa人片免费看| 国产a级片免费看| 成人免费无码av| 欧美自拍视频在线观看| 亚洲综合欧美日韩| 国产精品久久久久久久久粉嫩av| 久热这里只精品99re8久| 国产素人在线观看| 欧美精品欧美精品| 日韩.欧美.亚洲| 一区二区三区四区欧美| 久久精品国产2020观看福利| 97精品国产97久久久久久免费| 韩国精品久久久999| 日本a级片电影一区二区| 亚洲一区免费看| 精品国产免费久久久久久尖叫| 日韩在线观看网址| 国产精品678| 成人伊人精品色xxxx视频| 欧美精品无码一区二区三区| 日韩欧美在线观看强乱免费| 五月天综合婷婷| 一本二本三本亚洲码| 久久成人18免费网站| 国产精品沙发午睡系列| 精品国产视频在线| 久久久久久久久久久久久国产精品| 99热在线播放| 国产精品一二区| 国产欧美精品一区二区三区介绍| 精品亚洲欧美日韩| 精品人妻一区二区三区四区在线| 欧洲精品视频在线| 日韩免费观看av| 日日噜噜夜夜狠狠久久丁香五月| 亚洲一区二区三区香蕉| 亚洲自拍中文字幕| 一区二区三区欧美成人| 欧美日本亚洲视频| 欧美成人一区二区三区电影| 国产精品久久九九| 国产精品久久久久久久一区探花 | 午夜在线视频免费观看| 亚洲精品9999| 手机看片福利永久国产日韩| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚州国产精品久久久| 午夜精品一区二区三区四区| 亚洲一二区在线| 亚洲欧美国产不卡| 色欲色香天天天综合网www | 国产chinese精品一区二区| 国产高清自拍99| 久久国产午夜精品理论片最新版本| 久久理论片午夜琪琪电影网| 国产成人一区二区三区别| 久久精品国产精品青草色艺| 久久波多野结衣| www亚洲精品| 国产精品国产亚洲伊人久久| 久久99热精品这里久久精品| 久久99热精品| 亚洲欧美久久久久一区二区三区| 午夜精品视频在线| 日韩精品久久一区| 黄黄视频在线观看| 国产欧美日韩网站| 91免费看国产| 久久国产色av免费观看| 国产精品免费观看在线| 欧美日韩成人网| 亚洲精品欧美日韩| 日本精品一区二区三区四区| 欧美在线观看视频| 国产免费一区二区三区在线观看 | 亚洲巨乳在线观看| 日本不卡高字幕在线2019| 欧美在线www| 国产深夜男女无套内射| av观看免费在线| 日韩中文字在线| 精品国产一区二区三区麻豆小说| 亚洲欧美在线网| 欧美交换配乱吟粗大25p| 国产欧美精品xxxx另类| 国产精彩精品视频| 国产不卡一区二区在线观看| 国产精品无码免费专区午夜 | www.亚洲天堂网| 深夜福利日韩在线看| 精品久久久久久无码中文野结衣| 亚洲一区二区在线免费观看| 青春草在线视频免费观看| 国产欧美日韩91| 777精品视频| 插插插亚洲综合网| 色综合电影网| 国产一二三区在线播放| 91高跟黑色丝袜呻吟在线观看| 久久精品日韩精品| 久久99国产精品自在自在app| 欧美一级免费看| 国产欧美精品日韩| www.久久色.com| 亚洲日本精品国产第一区| 青青草免费在线视频观看| 国产精品香蕉国产| 国产精品入口免费| 日本最新高清不卡中文字幕| 国产裸体写真av一区二区| 日韩综合中文字幕| 亚洲二区自拍| 国产伦精品一区二区三区在线|