首页 > 编程语言 >C# AVEVA MARINE DRAWING TREE VIEW 快速读取方法,速度真的很快

C# AVEVA MARINE DRAWING TREE VIEW 快速读取方法,速度真的很快

时间:2024-01-25 20:12:34浏览次数:32  
标签:nextsubVh C# TREE MarElementHandle AVEVA rtns Try ex End

一般来讲我们使用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的树形数据结构

 

标签:nextsubVh,C#,TREE,MarElementHandle,AVEVA,rtns,Try,ex,End
From: https://www.cnblogs.com/NanShengBlogs/p/17988057

相关文章

  • 【ChatGPT 和文心一言哪个更好用?】
    ChatGPT和文心一言哪个更好用?随着人工智能技术的飞速发展,AI助手已经成为人们日常生活和工作中不可或缺的一部分。在众多AI助手中,ChatGPT和文心一言备受关注。本文将从智能回复、语言准确性、知识库丰富度等方面对这两大AI助手进行比较,以探讨它们在不同方面的优势和劣势。......
  • Semantic Kernel 通过 LocalAI 集成本地模型
    本文是基于LLama2是由Meta开源的大语言模型,通过LocalAI来集成LLama2来演示Semantickernel(简称SK)和本地大模型的集成示例。SK可以支持各种大模型,在官方示例中多是OpenAI和AzureOpenAIservice的GPT3.5+。今天我们就来看一看如何把SK和本地部署的开源大模型集成起来......
  • gcc
    #-Wl,-z,noexecstack是一个选项,用于告诉链接器不在程序的栈上执行代码。这个选项可以提高程序的安全性,因为它可以防止栈溢出攻击。栈溢出攻击是一种常见的攻击方式,攻击者通过向程序的栈中注入恶意代码来控制程序的执行流程。使用-Wl,-z,noexecstack选项可以防止这种攻击方式......
  • ABC337G Tree Inversion
    思路对于每个\(1\lei\len\)的\(i\)都要求答案,那我们考虑dp,去思考如何转移\(f_i\)。先不考虑全局,只考虑子树内的贡献,设\(g_u\)表示以\(u\)为根的子树内,对\(u\)来说满足条件的点对数。对于\(u\)的儿子\(v\),对\(v\)来说合法那么对\(u\)来说也一定合法。因为......
  • 基于CefSharp、WPF开发浏览器项目----系列文章
    基于CefSharp、WPF开发浏览器项目基于CefSharp开发浏览器(十一)增添F11、F12功能基于CefSharp开发浏览器(十)CefSharp.Wpf中文输入法偏移处理基于CefSharp开发浏览器(九)浏览器历史记录弹窗面板基于CefSharp开发浏览器(八)浏览器收藏夹栏基于CefSharp开发浏览器(七)浏览器收藏夹菜单基......
  • Legacy (线段树优化建图)
    题目链接:Legacy-洛谷|计算机科学教育新生态(luogu.com.cn)题解:考虑题目中一个点向区间连边,如真的对区间中的每一点分别连边后跑最短路,时间空间都要炸。因为是一个点向区间连边,考虑线段树。1到n构造两颗区间线段数 观察上图(从网上搬的)两颗线段树,一颗入树父亲向儿子连......
  • 2020-2021 ICPC Southwestern European Regional Contest (SWERC 2020)
    Preface经典前期天胡开局,70min的时候就已经过6题+会另外3题了,本来以为又要像昨天那样提前下班了后面好家伙FGH连着卡,最后磕磕碰碰刚好在结束前写完10个题,强行续上班时长了属于是A.Gratitude签到,注意出现次数相同的字符串的处理#include<cstdio>#include<iostream>#includ......
  • Golang gRPC概述及入门示例
    1、概述1.1什么是gRPCRPC的全称是RemoteProcedureCall,远程过程调用。RPC是一种协议,它实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。而gRPC又是什么呢?用官方的话来说:A......
  • .NET GC的SustainedLowLatency模式引发内存的问题
    最近遇到一个问题,应用的内存占用升上去后一直降不下来,打了dump文件后发现GC的Generation0上有很多空白区间没释放,按道理第0代堆是经常回收的,怎么会有那么多空白区间呢?查阅了相关文档后,发现这是由代码中的System.Runtime.GCSettings.LatencyMode=System.Runtime.GCLatencyMode......
  • 通达信金牌MACD副图提示顶底源码
    XA:=DATE<=20240115;DIF:(EMA(C,12)XA-EMA(C,26))XA,COLORF0F0F0;DEA:EMA(DIF,9)XA,COLOR00DCDC;MACD:2(DIF-DEA)XA,COLORSTICK;STICKLINE(MACD>REF(MACD,1)ANDMACD>=0,MACD,0,10/3,0),COLORRED;STICKLINE(MACD>REF(MACD,1)ANDMACD<0,MACD,0,10/3,1),......