'========================================
'加载dwg数据,只以drawing方式加载
'
'输入:dwg完整路径名称
'输出:boolean类型 true-成功;false-失败
'========================================
Public Function AddDWG(ByVal sFileName As String, ByRef pMap As MapControl) As Boolean
Dim pWorkspaceFact As IWorkspaceFactory
Dim pWorkspace As IWorkspace
Dim pCadDwgWorkspace As ICadDrawingWorkspace
Dim pCadDwgDataset As ICadDrawingDataset
Dim pCadLayer As ICadLayer
Dim sPath As String, sBaseFilename As String
Dim pCadDrawingLayers As ICadDrawingLayers
Dim i As Integer
On Error GoTo errs:
Set pWorkspaceFact = New CadWorkspaceFactory
ParaFullName sFileName, sPath, sBaseFilename
Set pWorkspace = pWorkspaceFact.OpenFromFile(sPath, 0)
Set pCadDwgWorkspace = pWorkspace
Set pCadDwgDataset = pCadDwgWorkspace.OpenCadDrawingDataset(sBaseFilename & ".dwg")
Set pCadLayer = New CadLayer
Set pCadLayer.CadDrawingDataset = pCadDwgDataset
Set pCadDrawingLayers = pCadLayer
For i = 0 To pCadDrawingLayers.DrawingLayerCount - 1
If UCase(pCadDrawingLayers.DrawingLayerName(i)) = "TK" Then
pCadDrawingLayers.DrawingLayerVisible(i) = False
End If
Next i
pCadLayer.Name = sBaseFilename & ".dwg"
pMap.AddLayer pCadLayer
Set pWorkspaceFact = Nothing
Set pWorkspace = Nothing
Set pCadDwgWorkspace = Nothing
Set pCadDwgDataset = (本文已被浏览 次) | | |