• 2024-05-02Aveva marine c# 循环中显示进度条
    主要的代码如下 try{WindowManager.Instance.StatusBar.StartProgressDisplay();WindowManager.Instance.StatusBar.ProgressMinimum=0;WindowManager.Instance.StatusBar.ProgressMaximum=100;WindowManager.Instance.StatusBar.Progress=0;W
  • 2024-05-01AVEVA MARINE C# 程序执行MarJobLauncher工作
    手工执行的话一般如此操作,例如分离零件等操作今天利用c#介绍下AM如何用代码执行提取零件gen文件的过程引用如下的库文件封装的类库其中appname/shortname/appExecutable这些去下面的文件去查找C:\AVEVA\Marine\OH12.1.SP4\MarJobs.xml publicstaticclassMarJobEx
  • 2024-01-25C# AVEVA MARINE DRAWING TREE VIEW 快速读取方法,速度真的很快
    一般来讲我们使用MARAPI里面的ElementChildFirstGet和ElementSiblingNextGet函数去遍历而获得图元'''<summary>'''获取当前视图的全部的子视图的句柄'''</summary>'''<paramname="draftApp">M
  • 2023-10-18C# AVEVA 加载其他AddIn插件
    通过程序加载了其他插件[MyAmFunctionAtt(nameof(测试功能),nameof(加载其他插件))]publicvoid加载其他插件(WindowManagerwm){varaddInM=Aveva.ApplicationFramework.AddinManager.Instance;varui=newMarUi();try{varaddin=addInM
  • 2023-10-15C# AVEVA MARINE 二次开发 读取分段
    快速读取和筛选分段元素[MyAmFunctionAtt(nameof(测试功能),nameof(读取分段))]publicvoid读取分段(WindowManagerwm){try{foreach(variteminwm.Windows){if(ite
  • 2023-10-02Aveva Marine VBNET 编程系列====>读取drawing explorer的第2层级 Sub views
    接上期的内容,此次读取view的下一层几subview主要用到下面的方法获取view的第一个子级一个封装的类PublicClassDrawingExpolrerExPublicSharedFunctionDrawingHasViews(draftAppAsMarDrafting)AsBooleanDimvhAsMarElementHandleTry
  • 2023-10-01Aveva Marine VBNET 编程系列===>读取drawing explorer的第一层级 view
    今天我们研究下读取drawingexpolrer的第一层级:view下面的图纸的层级目录示意图,我们今天需要获取所有的view 主要用到2个方法:1#获取第一个元素MarDrafting.ElementChildFirstGetMethod() 2#获取相邻的元素MarDrafting.ElementSiblingNextGet Method  
  • 2023-09-30Aveva Marine VBNET 编程系列-封装一个类
    由于AM的marapi的大部分类实现了IDisposable接口,所有避免内存过大,用了一般需要dispose下微软官方的解释:https://learn.microsoft.com/zh-cn/dotnet/api/system.idisposable?view=net-7.0 以下是MarDrafting类的定义,很显然它实现了IDisposable接口 ImportsSystem.Reflec
  • 2023-09-30Aveva Marine VBNET 编程系列-创建曲线
    显现的效果 代码实现:<MyAmFunctionAtt(NameOf(绘图控制),NameOf(新建曲线))>PublicSub新建曲线(wmAsWindowManager)DimdraftAppAsNewMarDraftingDimuiAsNewMarUi'ImportsAveva.Marine.UIDimutilyAsNewMarUtil'ImportsA
  • 2023-09-29Aveva Marine VBNET 编程系列-新建图纸,创建文字
    根据MarApi,创建图形文件,新建文字ImportsAveva.ApplicationFramework.PresentationImportsAveva.Marine.Drafting'marAPI.dllPublicClass绘图控制<MyAmFunctionAtt(NameOf(绘图控制),NameOf(新建图纸))>PublicSub新建图纸(wmAsWindowManager)Di
  • 2023-09-28Aveva Marine VBNET 编程系列-修改程序快捷键
    修改HullDesign程序的主题以及菜单项的快捷键 引用的dll文件下面的是代码和快捷键配置文件:https://files.cnblogs.com/files/NanShengBlogs/AMShortCut.HullDesign.zip?t=1695908179&download=trueImportsAveva.ApplicationFramework.PresentationImportsAveva.Applic
  • 2023-09-28Aveva Marine VBNET 编程系列-搭建开发框架
    引用的DllAveva.ApplicationFramework.dllAveva.ApplicationFramework.Presentation菜单展示效果创建Attribute,用于反射来动态创建菜单,不用每次都去写commandPublicClassMyAmFunctionAttInheritsAttributePrivate_menuNameAsStringPublicPropertyM