VB

本文介绍了一种使用VBA代码将CAD图纸加载到地图层的方法。通过创建工作空间名称对象并指定路径,然后创建CAD绘图名称对象来打开CAD图纸,并将其作为一个新的CAD图层添加到地图中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Public Sub LoadCadDrawingLayer()
  Dim pMxDoc As IMxDocument
  Dim pCadLayer As ICadLayer
  Dim pCadDrawingDataset As ICadDrawingDataset
 
  Set pMxDoc = Application.Document
  Set pCadDrawingDataset = GetCadDataset("F:/CAD文件/dwg", "105-604-15.dwg")
  If pCadDrawingDataset Is Nothing Then Exit Sub
  Set pCadLayer = New CadLayer
  Set pCadLayer.CadDrawingDataset = pCadDrawingDataset
  pCadLayer.Name = "e-51878.dwg" 'Give the map layer a name
  pMxDoc.FocusMap.AddLayer pCadLayer
  pMxDoc.UpdateContents 'Update the TOC
End Sub

Private Function GetCadDataset(strCadWorkspacePath As String, strCadFileName As String) As ICadDrawingDataset
  Dim pName As IName
  Dim pCadDatasetName As IDatasetName
  Dim pWorkspaceName As IWorkspaceName
 
  On Error GoTo ErrorHandler
 
  'Create a WorkspaceName object
  Set pWorkspaceName = New WorkspaceName
  pWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory"
  pWorkspaceName.PathName = strCadWorkspacePath
 
  'Create a CadDrawingName object
  Set pCadDatasetName = New CadDrawingName
  pCadDatasetName.Name = strCadFileName
  Set pCadDatasetName.WorkspaceName = pWorkspaceName
 
  'Open the CAD drawing
  Set pName = pCadDatasetName 'QI
  Set GetCadDataset = pName.Open
  Exit Function
 
ErrorHandler:
  Set GetCadDataset = Nothing
End Function


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值