久久国产色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_欧美 国产 日本_好吊色欧美一区二区三区
欧美高清中文字幕| 国产午夜伦鲁鲁| 国产精品国产一区二区 | 国产日韩精品电影| 欧美精品一区二区三区在线看午夜| 亚洲精品高清视频| 亚洲欧洲日本国产| 色狠狠久久av五月综合|| 奇米影视首页 狠狠色丁香婷婷久久综合| 日本久久亚洲电影| 欧美性受xxxx黑人猛交| 欧美精品第三页| 国产日韩欧美大片| 99视频免费观看| 国产mv免费观看入口亚洲| 日韩一区二区三区国产| 国产精品男女猛烈高潮激情| 国产精品国产精品| 在线视频福利一区| 日韩av免费在线看| 欧美大香线蕉线伊人久久| 欧美 日韩 国产精品| 国产一区二区三区奇米久涩| 成人精品一二区| 国产精品99导航| 丝袜美腿精品国产二区| 精品国产av无码一区二区三区| 色综合久久中文字幕综合网小说| 亚洲午夜精品福利| 日韩女优中文字幕| 美女主播视频一区| 91精品国产99久久久久久红楼| 国产成人在线精品| 麻豆乱码国产一区二区三区| 亚洲综合精品一区二区| 欧美性视频精品| 麻豆蜜桃91| 久久久视频精品| 国产精品视频网| 亚洲欧美国产精品桃花| 欧美国产亚洲一区| 91精品91久久久中77777老牛| 日韩在线视频线视频免费网站| 国产aⅴ夜夜欢一区二区三区| 无码免费一区二区三区免费播放| 欧美日韩一区在线播放| www.日本少妇| 国产精品视频不卡| 懂色中文一区二区三区在线视频| 欧美韩国日本在线| 国产精品99久久久久久久久| 国产精品视频网站在线观看| 午夜精品久久久久久久久久久久久 | 激情伊人五月天| 成人在线观看毛片| 精品国偷自产在线视频| 午夜在线视频免费观看| 国产熟人av一二三区| 色青青草原桃花久久综合 | 亚洲精品乱码久久久久久自慰| 都市激情久久久久久久久久久| 美女被啪啪一区二区| 日韩视频免费大全中文字幕| 一区二区三区国| 国产综合精品一区二区三区| 久久久久久久一| 欧美一级日本a级v片| 成人国产精品一区| 欧美成aaa人片免费看| 欧美深夜福利视频| 国产mv免费观看入口亚洲| 亚洲精品欧美极品| 国产精品永久免费| 精品国产综合区久久久久久| 国模精品视频一区二区三区| 国产成人在线免费看| 电影午夜精品一区二区三区| 成人av蜜桃| 欧美激情一区二区三区高清视频| 欧美高清性xxxxhdvideosex| 日韩在线免费视频观看| 日本高清视频一区| 久久亚洲一区二区| 亚洲欧洲一区二区福利| 97久久精品人搡人人玩| 亚洲综合在线中文字幕| 97精品免费视频| 亚洲精品久久久久久一区二区 | 久久一区二区精品| 亚洲一区二区三区在线视频| 国产精品一区二区三区四区五区| 久久成人av网站| 国产欧美在线视频| 中文字幕精品在线播放| 成人免费无码av| 亚洲va国产va天堂va久久| 久久亚洲a v| 日韩五码在线观看| 久久精品国产成人| 蜜桃久久影院| 欧美wwwxxxx| av观看免费在线| 日本亚洲欧洲精品| 久久精品五月婷婷| 青青成人在线| 久久综合久久八八| 国产精品一区在线播放| 亚洲欧美日韩综合一区| 国产成人精品免费视频| 欧美激情视频一区二区三区| 欧美xxxx做受欧美.88| 97精品一区二区三区| 大地资源第二页在线观看高清版| 久久久噜噜噜久久中文字免| 黄色a级在线观看| 欧美激情亚洲视频| 久久一区二区精品| 黄色网页免费在线观看| 久久福利视频网| 99视频在线播放| 欧美一区激情视频在线观看 | 国产精品成人品| 91精品国产综合久久男男| 日本三级中文字幕在线观看| 国产精品三级久久久久久电影| 成人国产精品色哟哟| 欧美在线免费观看| 亚洲综合自拍一区| 色琪琪综合男人的天堂aⅴ视频| 国产又粗又长又爽视频| 熟女少妇在线视频播放| 国产精品裸体一区二区三区| 国产精品亚洲精品| 青青青在线播放| 伊人久久大香线蕉av一区| 久久久久久久久久久av| 国产精品亚洲a| 欧美日韩精品免费看| 中文字幕一区二区三区四区五区 | 亚洲精品蜜桃久久久久久| 色av中文字幕一区| 国内视频一区二区| 日本一区二区黄色| 国产精品久久久对白| 久久伊人一区二区| 国产精品中文久久久久久久| 欧洲美女7788成人免费视频| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区毛片 | 国内精品久久久久久久久| 亚洲日本欧美在线| 国产精品国产对白熟妇| 久久久久一区二区| 91麻豆桃色免费看| 国产精品一区二区三区在线播放| 日本午夜人人精品| 一区二区精品国产| 欧美精品免费看| 国产精品无码专区av在线播放| 久久青草精品视频免费观看| 成人av在线不卡| 国产乱人伦真实精品视频| 黄色免费视频大全| 日本高清+成人网在线观看| 亚洲一区二区三区视频播放| 色综合久久悠悠| 国产精品国产三级欧美二区| 日韩一区二区精品视频| 国产ts一区二区| 69精品丰满人妻无码视频a片| 国产欧美婷婷中文| 国内成人精品视频| 欧美日韩在线高清| 欧美自拍视频在线| 日韩免费av片在线观看| 日本高清不卡三区| 日韩黄色片在线| 日本少妇高潮喷水视频| 日韩av大片免费看| 日本精品va在线观看| 日韩国产精品毛片| 日韩偷拍一区二区| 日本精品va在线观看| 日韩精品成人一区二区在线观看| 日韩av三级在线| 性欧美长视频免费观看不卡| 亚洲一区二区三区免费看| 亚洲最新在线| 无码人妻aⅴ一区二区三区日本| 亚洲精品人成| 日本免费一级视频| 热re99久久精品国产66热| 欧美亚洲日本黄色| 欧美精品一区二区三区三州| 精品欧美一区二区精品久久| 欧美精品一区免费| 国产日韩欧美大片| 91精品久久久久久蜜桃| 国产成人一区二区在线| 北条麻妃久久精品| 国产精品久久久久久久久|