• Delphi版 MapControl加载DWG文件


    function LoadDwgFile(mapControl: TMapControl; dwgFilePath: string; dwgFileName: string): Boolean;
    var
       qCadWorkFactory: IWorkspaceFactory;
       qWorkSpace: IFeatureWorkspace;
       qFeatDataset: IFeatureDataset;
       qFeatClassContainer: IFeatureClassContainer; //要素类 容器
       qFeatClass: IFeatureClass;
       qfeatLayer: IFeatureLayer;
       I        : Integer;
    begin
       try
          //创建 CAD 工作工厂
          qCadWorkFactory := CoCadWorkspaceFactory.Create as IWorkspaceFactory;
          if qCadWorkFactory.IsWorkspace(dwgFilePath) then
          begin
             qWorkSpace := qCadWorkFactory.OpenFromFile(dwgFilePath, 0) as IFeatureWorkspace;
             qFeatDataset := qWorkSpace.OpenFeatureDataset(dwgFileName);

             qFeatClassContainer := qFeatDataset as IFeatureClassContainer;
             if (qFeatClassContainer = nil) or (qFeatClassContainer.ClassCount = 0) then
             begin
                Result := False;
                Exit;
             end;

             for I := 0 to qFeatClassContainer.ClassCount - 1 do
             begin
                qFeatClass := qFeatClassContainer.Class_[i];
                if qFeatClass.FeatureType = esriFTCoverageAnnotation then
                begin
                   qfeatLayer := CoCadAnnotationLayer.Create as IFeatureLayer;
                end
                else
                begin
                   qfeatLayer := CoFeatureLayer.Create as IFeatureLayer;
                end;

                qfeatLayer.Name := qFeatClass.AliasName;
                qfeatLayer.FeatureClass := qFeatClass;
                mapControl.AddLayer(qfeatLayer, mapControl.LayerCount);
                mapControl.ActiveView.Refresh;
             end;
          end
          else
          begin
             Result := False;
             Exit;
          end;
       except
          Result := False;
       end;
       Result := True;
    end;
  • 相关阅读:
    monkeyrunner小结
    ADB用法
    logcat命令详解【一】
    logcat命令详解【二】
    五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
    哈佛图书馆的二十条训言
    C#中千分位问题
    虚拟目录继承根目录web.config
    批量删除sql数据库木马
    决IE和Firefox下flash挡住div层的问题
  • 原文地址:https://www.cnblogs.com/chinacodegear/p/1405017.html
Copyright © 2020-2023  润新知