pdms二次开发入门 c#语言

本文介绍了PDMS的二次开发步骤,包括理解二次开发、获取C#开发资料、创建简单样例程序。详细讲解了如何添加DesignAddins.xml配置、创建类库程序、继承接口并实现功能,最终实现一个显示消息框的命令。适合PDMS新手学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步 了解pdms的二次开发,此处推荐别人的一篇博客。不再重复。
参考链接:博客地址

第二步 c#开发资料的获取。安装pdms后,在安装位置的\Documentation\NetInterfaceReferenceFiles.zip,里面有多个pdms的接口文档说明。
根据名称基本可以判断该接口文件的用处,文件里面也有简介。
基础文件应该先看 Aveva.ApplicationFramework.chm 里面的接口,这是创建UI的入口。
在这里插入图片描述
第三步 开发一个简单的样例程序步骤以及代码。
1.在pdms安装目录,找到 DesignAddins.xml 文件。仿照上面的样式,添加一个HelloWorld。完成。
在这里插入图片描述

注:这个名称是一个索引,会通过这个名称,找到当前安装目录下面的dll文件。如上面的为:HelloWorld.dll
2.a.使用visual sudion 创建一个类库程序,选择.net framework 3.5版本(其他版本可能不支持),创建。在属性里面,最好设置生成路径为pdms安装目录。确认自己的pdms软件版本是64位还是32位,属性-目标平台里面选择对应的x86或者x64。
在这里插入图片描述

b.再创建两个类。一个是UI类,命令为HelloWorldAddin,一个是命令类HelloWorldCommand。此处命名可自定义,无其他关联关系。
c.添加两个引用,在pdms安装目录下找到Aveva.ApplicationFramework.dll和Aveva.ApplicationFramework.Presentation.dll。
3.准备工作完成,开始代码工作。
HelloWorldAddin需要继承Aveva.ApplicationFramework.IAddin接口,实现属性和方法。
HelloWorldCommand需要继承Aveva.ApplicationFramework.Presentation.Command类。实现构造函数和Excute函数

using Aveva.ApplicationFramework;
using Aveva.ApplicationFramework.Presentation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelloWorld
{
    public class HelloWorldAddin : IAddin
    {
        public string Name
        {
            get
            {
                return "HelloWorldAddinName";
            }
        }

        public string Description
        {
            get
            {
                return "HelloWorldAddinDescription";
            }
        }
        /// <summary>
        /// 程序打开时,会调用这个方法
        /// </summary>
        /// <param name="serviceManager"></param>
        public void Start(ServiceManager serviceManager)
        {
            //命令管理器上添加一个新的命令
            CommandManager sCommandManager = (CommandManager)serviceManager.GetService(typeof(CommandManager));
            HelloWorldCommand helloWorldCommand = new HelloWorldCommand();
            sCommandManager.Commands.Add(helloWorldCommand);
            //命令栏管理器
            CommandBarManager sCommandBarManager = (CommandBarManager)serviceManager.GetService(typeof(CommandBarManager));
            //在命令栏集合中添加一个新的命令栏
            CommandBar myToolBar = sCommandBarManager.CommandBars.AddCommandBar("helloWorldBar");
            //在工具库集合中添加一个新的按钮工具
            ButtonTool buttonTool = sCommandBarManager.RootTools.AddButtonTool("helloWorldKey", "this a Button", null, helloWorldCommand);
            //在新添加的命令栏上添加这个按钮工具
            myToolBar.Tools.AddTool("helloWorldKey");

        }
        /// <summary>
        /// 程序关闭时,会调用这个方法
        /// </summary>
        public void Stop()
        {
            
        }
    }
}
using Aveva.ApplicationFramework.Presentation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HelloWorld
{
    class HelloWorldCommand:Command
    {
        public HelloWorldCommand()
        {
            Key = "Hello";
        }
        /// <summary>
        /// 执行的方法体
        /// </summary>
        public override void Execute()
        {
            MessageBox.Show("Hello pdms world");
        }
    }
}

4.生成HelloWorld.dll,确认HelloWorld.dll文件在pdms安装目录下。打开软件Design,点击按钮,最终效果。

在这里插入图片描述
pdms二次开发 新手学习中,文章有问题欢迎指正。

<think>好的,用户想了解PDMS命令的相关用法或解决相关问题。首先,我需要回忆PDMS的基本信息,它是一个三维工厂设计管理系统,广泛应用于工程领域。用户可能需要知道常用命令,比如创建元素、修改属性或生成报告。 首先,我应该列出一些基本命令的结构,比如CREATE、MODIFY、REPORT等,并提供示例。比如创建管道可以使用CREATE PIPE,然后设置属性。用户可能需要具体的语法,所以给出代码示例会很有帮助。 接下来,常见问题可能包括命令执行错误或语法错误。我需要解释可能的原因,比如权限问题、参数错误,或者路径不存在。然后提供解决方法,比如检查权限、验证参数,或者使用WHERE命令确认元素位置。 还要考虑用户可能需要更多资源,比如官方文档或培训资料,应该推荐这些资源。此外,生成相关问题能帮助用户进一步探索,比如优化命令脚本或处理大型模型的方法。 需要确保使用中文回答,遵循格式要求,比如数学表达式用$...$,代码块用正确格式。同时检查是否有站内引用需要添加,但根据用户提供的参考,可能没有特定的引用来源,所以末尾的引用标识可以留空或省略。 最后,确保回答结构清晰,分点说明,帮助用户逐步解决问题,并保持真实可靠。可能需要提醒用户复杂操作前备份项目,避免数据丢失。</think>### PDMS命令基础与应用 PDMS(Plant Design Management System)是三维工厂设计领域的核心软件,其命令行操作可通过$!Command Syntax$模式实现高效建模。常用命令主要分为对象创建、属性修改、数据查询三类。 #### 1. 基础命令结构 ```lisp CREATE PIPE /PIPE-1001 (创建管道元件) MOD MEMBER MATER /PIPE-1001 TO CARBON_STEEL (修改材料属性) REPORT ELEMENT DIMS (生成元件尺寸报告) ``` #### 2. 常见错误排查 - **ELEMENT NOT FOUND** 检查层级关系是否完整,建议使用$WHERE /PIPE-1001$验证元件路径 - **INSUFFICIENT PRIVILEGE** 联系管理员调整用户权限组设置,标准权限结构包含: $$ AccessLevel = Read | Modify | Create | Delete $$ - **SYNTAX ERROR** 使用$HELP [命令关键字]$获取语法提示,例如: ```lisp HELP CREATE // 显示所有CREATE子命令 ``` ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值