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# 开发技巧 轻松监控方法执行耗时

前言 MethodTimer.Fody 是一个功能强大的库,可以用于测量 .NET 应用程序中的方法的执行时间。允许你在不修改代码的情况下,自动地测量和记录方法的执行时间。 这个工具是基于.NET的 weaving 技术,通过修改IL(Intermediate Language,中间语言)代码来插入

C#开源、简单易用的Dapper扩展类库 - Dommel

前言 今天大姚给大家分享一个C#开源(MIT License)、免费、简单易用的Dapper扩展类库,帮助.NET开发者使用Dapper的CRUD操作变得更简单:Dommel。 项目特性 Dommel 使用 IDbConnection 接口上的扩展方法为 CRUD 操作提供了便捷的 API。 Dom

C语言指针易混淆知识点总结

指针 定义 指针是一个变量,存储另一个变量的内存地址,它允许直接访问和操作内存中的数据,使得程序能够以更灵活和高效的方式处理数据和内存。 获取变量地址:使用取地址符 &。 访问地址上的数据:使用解引用符 *。 例子1 指针是存储另一个变量地址的变量。通过使用取地址符 & 和解引用符 *,我们可以灵活

C++如何在main函数开始之前(或结束之后)执行一段逻辑?

1. 问题 2. 考察的要点 3. 解决策略 3.1. 方案一:使用GCC的拓展功能 3.2. 方案二:使用全局变量 3.3. 方案三:atexit 4. Demo测试 4.1. 测试代码 4.2. 执行结果 5. 程序异常退出场景 5.1. 存在的问题 5.2. 解决方案 5.2.1. 原理 5.

C#/.NET这些实用的编程技巧你都会了吗?

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

C# 使用模式匹配的好处,因为好用所以推荐~

类型检查和转换:当你需要检查对象是否为特定类型,并且希望在同一时间内将其转换为那个类型时,模式匹配提供了一种更简洁的方式来完成这一任务,避免了使用传统的as和is操作符后还需要进行额外的null检查。 复杂条件逻辑:在处理复杂的条件逻辑时,特别是涉及到多个条件和类型的情况下,使用模式匹配可以使代码更