C# AVEVA MARINE DRAWING TREE VIEW 快速读取方法,速度真的很快
一般来讲我们使用MARAPI里面的
ElementChildFirstGet 和 ElementSiblingNextGet 函数去遍历而获得图元
''' <summary> ''' 获取当前视图的全部的子视图的句柄 ''' </summary> ''' <param name="draftApp">MarDrafting对象</param> ''' <param name="viewHandle">视图的句柄</param> ''' <returns>子视图句柄的list集合</returns> Public Shared Function ViewSubViews(draftApp As MarDrafting, viewHandle As MarElementHandle) As List(Of MarElementHandle) If Not draftApp.ElementIsView(viewHandle) Then Return Nothing End If Dim rtns As New List(Of MarElementHandle) Try Dim subvh As MarElementHandle Try subvh = draftApp.ElementChildFirstGet(viewHandle) rtns.Add(subvh) Catch ex As Exception Return Nothing End Try '读取第2个view Dim nextsubVh As MarElementHandle Try nextsubVh = draftApp.ElementSiblingNextGet(subvh) rtns.Add(nextsubVh) Catch ex As Exception End Try Dim errFlag As Boolean = True Do Try nextsubVh = draftApp.ElementSiblingNextGet(nextsubVh) rtns.Add(nextsubVh) Catch ex As Exception errFlag = False End Try Loop While errFlag Catch ex As Exception MsgBox(ex.StackTrace) End Try Return rtns End Function
今天看一个不一样的
MarDrafting mDrafting = new MarDrafting(); if (!mDrafting.DwgCurrent()) return; var marW = new MarWrapper(); try { var xmlFn = marW.PicGetData(4, -1, -1); if (File.Exists(xmlFn)) { Interaction.MsgBox(xmlFn, MsgBoxStyle.OkOnly | MsgBoxStyle.Information); } } catch (Exception ex) { Interaction.MsgBox(ex.StackTrace, MsgBoxStyle.OkOnly | MsgBoxStyle.Exclamation); }
有没有很熟悉就是XML的树形数据结构
标签:
AVEVA MARINE
, C#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具