c# aveva marine link folder

c#,aveva,marine,link,folder · 浏览次数 : 20

小编点评

```java public class LinkWorld { public static DbElement LinkWLD = DbElement.GetElement(); public class LinkDescription { public DbElement CurElement; public String Description; public String RefNo; public DbElement LnkRef; public DbElement[] LnkElements; public String LnkUse; public String Url; public LinkDescriptorUsage LinkUsage; public LinkDescription(DbElement eleLinkDesc) { this.CurElement = eleLinkDesc; this.RefNo = eleLinkDesc.GetAsString(DbAttributeInstance.REF); this.Description = eleLinkDesc.GetAsString(DbAttributeInstance.DESC); this.LnkRef = eleLinkDesc.GetElement(DbAttributeInstance.LNKREF); this.LnkElements = eleLinkDesc.GetElementArray(DbAttributeInstance.LNKELE); this.Url = eleLinkDesc.GetAsString(DbAttributeInstance.URL); this.LnkUse = eleLinkDesc.GetAsString(DbAttributeInstance.LNKUSE); this.LinkUsage = this.LnkUse.GetEnum & LinkDescriptorUsage.values(); } // Other methods omitted for brevity } // Methods to retrieve LinkDescriptions based on different criteria public enum LinkDescriptorUsage { // Enum values and descriptions } } ``` **Note:** * `DbElement` is a class representing a database element. * `DbAttributeInstance` is a class representing database attribute instance. * `LinkDescriptorUsage` is an enum representing different link usage scenarios. * The `LinkDescriptions` methods provide different ways to retrieve LinkDescription objects based on various criteria.

正文

public class LinkWorld
    {
        public static DbElement LinkWLD => Aveva.Pdms.Database.DbType.Design.FindElements(DbElementTypeInstance.LINKWLD).FirstOrDefault();
    }
    public class LinkDescription
    {
        public DbElement CurElement { get; set; }
        public string Description { get; set; }
        public string RefNo { get; set; }
        public DbElement LnkRef { get; set; }
        public DbElement[] LnkElements { get; set; }
        public string LnkUse { get; set; }
        public string Url { get; set; }
        public LinkDescriptorUsage LinkUsage { get; set; }
        public bool LnkRefMissOut => this.LnkRef == DbElement.GetElement();
        public LinkDescription(DbElement eleLinkDesc)
        {
            this.CurElement = eleLinkDesc;
            this.RefNo = eleLinkDesc.GetAsString(DbAttributeInstance.REF);
            this.Description = eleLinkDesc.GetAsString(DbAttributeInstance.DESC);
            this.LnkRef = eleLinkDesc.GetElement(DbAttributeInstance.LNKREF);
            this.LnkElements = eleLinkDesc.GetElementArray(DbAttributeInstance.LNKELE);
            this.Url = eleLinkDesc.GetAsString(DbAttributeInstance.URL);
            this.LnkUse = eleLinkDesc.GetAsString(DbAttributeInstance.LNKUSE);
            this.LinkUsage = this.LnkUse.GetEnum<LinkDescriptorUsage>();
        }
        public static List<LinkDescription> LinkDescriptions => LinkWorld.LinkWLD.FindElements(DbElementTypeInstance.LNDESC, c => c.Members().Any()).Select(c => new LinkDescription(c)).ToList();

        public static List<LinkDescription> LinkDesPlateGenFilesList => LinkWorld.LinkWLD.FindElements(DbElementTypeInstance.LNDESC, c => c.Members().Any()).Select(c => new LinkDescription(c)).Where(c => c.LinkUsage == LinkDescriptorUsage.UPMGEN).ToList();

        public static List<LinkDescription> LinkDesPlanePartGeneration => LinkWorld.LinkWLD.FindElements(DbElementTypeInstance.LNDESC, c => c.Members().Any()).Select(c => new LinkDescription(c)).Where(c => c.LinkUsage == LinkDescriptorUsage.DPPAN).ToList();

        public static List<LinkDescription> LinkDesProfileSketch => LinkWorld.LinkWLD.FindElements(DbElementTypeInstance.LNDESC, c => c.Members().Any()).Select(c => new LinkDescription(c)).Where(c => c.LinkUsage == LinkDescriptorUsage.DPROF).ToList();
    }

    public enum LinkDescriptorUsage
    {
        [Description("Profile nesting")]
        DPNEST = 0,
        [Description("Nested profile csv")]
        UNPRC = 1,
        [Description("Nested profile list")]
        UNPRL = 2,
        [Description("Weld report")]
        UWELDR = 3,
        [Description("Plate generic file")]
        UPMGEN = 4,
        [Description("Weight and centre of gravity sketch")]
        DWCOG = 5,
        [Description("Weight and centre of gravity csv")]
        UWCOG = 6,
        [Description("Parts list sketch - profiles")]
        DPRTPR = 7,
        [Description("Parts list sketch - plates")]
        DPRTPL = 8,
        [Description("Parts list - profiles")]
        UPRTPR = 9,
        [Description("Parts list - plates")]
        UPRTPL = 10,
        [Description("Mounting data profile")]
        UMNTPR = 11,
        [Description("Manstiff csv")]
        UMANSC = 12,
        [Description("Manstiff list")]
        UMANSL = 13,
        [Description("Profile sketch")]
        DPROF = 14,
        [Description("Profile generic file")]
        UPRGEN = 15,
        [Description("List of Split Plane Panel Parts")]
        UPPAN = 16,
        [Description("Plane panel parts generation")]
        DPPAN = 17
    }

 

与c# aveva marine link folder相似的内容:

c# aveva marine link folder

public class LinkWorld { public static DbElement LinkWLD => Aveva.Pdms.Database.DbType.Design.FindElements(DbElementTypeInstance.LINKWLD).FirstOrDefau

C# AVEVA MARINE 二次开发 读取分段

快速读取和筛选分段元素 [MyAmFunctionAtt(nameof(测试功能), nameof(读取分段))] public void 读取分段(WindowManager wm) { try { foreach (var item in wm.Windows) { if (item is Do

c# aveva marine 批量导出图纸到dxf格式

获取图纸数据库 查看代码 public static Dictionary

自己制作AM启动方式,不需要每次输入密码和用户名

第一布,查看用户名,数据库等信息 在记事本中写以下信息,保存后,后缀改为bat,双击此文件即可启动hull design模块且无黑框框的控制台哦 C:\AVEVA\Marine\OH12.1.SP4\marine.bat noconsole Mar SYSTEM/XXXXXX/PLANARHULL

C语言的简单学习

C语言是编译型语言,先编译再运行,通常用gcc进行编译,于是安装了Ubuntu操作系统。至于编辑器,VS Code也能用,先sudo apt install build-essential gdb,再在VS Code安装C/C++ extension,就可以进行开发了。 C语言程序都是 .c文件结尾

C#数据结构与算法入门教程,值得收藏学习!

前言 最近看到DotNetGuide技术社区交流群有不少小伙伴提问:想要系统化的学习数据结构和算法,不知道该怎么入门,有无好的教程推荐的?,今天大姚给大家推荐2个开源、免费的C#数据结构与算法入门教程,值得收藏学习! 数据结构与算法的作用 数据结构与算法在计算机科学中具有不可替代的地位和作用。通过学

GGTalk 开源即时通讯系统源码剖析之:聊天消息防错漏机制

GGTalk 内部实现了多种机制以确保消息的可靠性(不会错漏消息和重复消息),那么这些机制具体是怎么实现的了?

C#的多线程UI窗体控件显示方案 - 开源研究系列文章

上次编写了《LUAgent服务器端工具》这个应用,然后里面需要新启动一个线程去对文件进行上传到FTP服务器,但是新线程里无法对应用主线程UI的内容进行更改,所以就需要在线程里设置主UI线程里控件信息的方法,于是就有了此博文。此文记录的是一种高级用法。 为了实际的使用,笔者将线程操作放在独立的类当中,

C#/.NET/.NET Core编程技巧练习集(学习,实践干货)

DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.NET Core各种编程常用语法、算法、技巧、中间件、类库等等。 GitHub开源地址:https:/

C#/.NET/.NET Core优秀项目和框架2024年6月简报

前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。