基本使用
- 新建类库项目
PdmsAddin - 引入以下PMDS程序集(在PDMS安装目录下可以找到)
Aveva.ApplicationFramework.dlAveva.ApplicationFramework.Presentation.dll
- 新建
PdmsAddin类 ,添加如下代码
1 | public class PdmsAddin : IAddin |
- 生成解决方案,将生成的
PdmsAddin.dll文件拷贝到PMDS安装路径下的MyAddins目录下 - 编辑PDMS安装目录下的
DesignAddins.xml,添加一条如下记录
1 | <string>MyAddins\PdmsAddin</string> |
停靠窗口
- 新建
DockedWindowCmd类,添加如下代码
1 | public class DockedWindowCmd : Command |
- 修改
PdmsAddin类内容如下
1 | public class PdmsAddin : IAddin |
- 重新生成解决方案,将生成的
PdmsAddin.dll文件拷贝到PMDS安装路径下的MyAddins目录下 - 编辑PDMS安装目录下的
DesignAddins.xml,添加一条如下记录
1 | <string>MyAddins\PdmsAddin</string> |
- 在PMDS安装目录下新建
MyUIC目录,将PDMS根目录下的design.uic文件拷贝一份到MyUIC目录,编辑内容如下(删掉多余内容即可)
1 |
|
- 编辑PDMS安装目录下的
DesignCustomization.xml,添加一条如下记录
1 | <CustomizationFileFile Name="MyAddin" Path="MyUIC\MyDesignUic.uic"> |
-
启动PDMS,在菜单栏空白处右键点击最底下的
Customize...菜单,弹出Customize窗口- 将
Active Customization File下拉框切换为MyAddin - 选中
Command Bars菜单项,右键选择New CommandBar - 右侧可修改
CommandBar1菜单项的相关信息,例如将Caption改为MyPdmsAddin,将Name改为MyAddin.MyPdmsAddin - 在侧边工具栏点击倒数第四个图标
New StateButton新建带状态的按钮 - 右侧可修改
StateButton1项的相关信息,例如将Caption改为DockedWindow,将Name改为MyAddin.DockedWindow,将DisplayStyle改为TextOnlyAlways - 最后还需为StateButton设置Command,还是在右侧,点击
Command项,在弹出的窗口中找到要绑定的命令的Key,例如DockedWindowCmd的Key为PdmsAddin.DockedWindowCmd - 将新建的
StateButton(DockedWindow)拖动到CommandBar下 - 修改完成后,点击
Apply应用更改,关闭Customize窗口后,即可看到工具栏中的DockedWindow按钮
- 将
多文档窗口
- 新建
MdiWindowCmd类,添加如下代码
1 | public class MdiWindowCmd : Command |
- 修改
PdmsAddin类内容如下
1 | public class PdmsAddin : IAddin |
- 重新生成解决方案,将生成的
PdmsAddin.dll文件拷贝到PMDS安装路径下的MyAddins目录下 - 编辑PDMS安装目录下的
DesignAddins.xml,添加一条如下记录
1 | <string>MyAddins\PdmsAddin</string> |
- 在PMDS安装目录下新建
MyUIC目录,将PDMS根目录下的design.uic文件拷贝一份到MyUIC目录,编辑内容如下(删掉多余内容即可)
1 |
|
- 编辑PDMS安装目录下的
DesignCustomization.xml,添加一条如下记录
1 | <CustomizationFileFile Name="MyAddin" Path="MyUIC\MyDesignUic.uic"> |
-
启动PDMS,在菜单栏空白处右键点击最底下的
Customize...菜单,弹出Customize窗口- 将
Active Customization File下拉框切换为MyAddin - 选中
Command Bars菜单项,右键选择New CommandBar - 右侧可修改
CommandBar1菜单项的相关信息,例如将Caption改为MyPdmsAddin,将Name改为MyAddin.MyPdmsAddin - 在侧边工具栏点击倒数第四个图标
New StateButton新建带状态的按钮 - 右侧可修改
StateButton1项的相关信息,例如将Caption改为MdiWindow,将Name改为MyAddin.MdiWindow,将DisplayStyle改为TextOnlyAlways - 最后还需为StateButton设置Command,还是在右侧,点击
Command项,在弹出的窗口中找到要绑定的命令的Key,例如MidWindowCmd的Key为PdmsAddin.MdiWindowCmd - 将新建的
StateButton(MdiWindow)拖动到CommandBar下 - 修改完成后,点击
Apply应用更改,关闭Customize窗口后,即可看到工具栏中的MdiWindow按钮
- 将
模态窗口
- 引用程序集
- Aveva.Pdms.Database.dll
- 新建
MdiWindowCmd类,添加如下代码
1 | public class DialogWindowCmd : Command |
- 修改
PdmsAddin类内容如下
1 | public class PdmsAddin : IAddin |
- 重新生成解决方案,将生成的
PdmsAddin.dll文件拷贝到PMDS安装路径下的MyAddins目录下 - 编辑PDMS安装目录下的
DesignAddins.xml,添加一条如下记录
1 | <string>MyAddins\PdmsAddin</string> |
- 在PMDS安装目录下新建
MyUIC目录,将PDMS根目录下的design.uic文件拷贝一份到MyUIC目录,编辑内容如下(删掉多余内容即可)
1 |
|
- 编辑PDMS安装目录下的
DesignCustomization.xml,添加一条如下记录
1 | <CustomizationFileFile Name="MyAddin" Path="MyUIC\MyDesignUic.uic"> |
-
启动PDMS,在菜单栏空白处右键点击最底下的
Customize...菜单,弹出Customize窗口- 将
Active Customization File下拉框切换为MyAddin - 选中
Command Bars菜单项,右键选择New CommandBar - 右侧可修改
CommandBar1菜单项的相关信息,例如将Caption改为MyPdmsAddin,将Name改为MyAddin.MyPdmsAddin - 在侧边工具栏点击倒数第四个图标
New StateButton新建带状态的按钮 - 右侧可修改
StateButton1项的相关信息,例如将Caption改为DialogWindow,将Name改为MyAddin.DialogWindow,将DisplayStyle改为TextOnlyAlways - 最后还需为StateButton设置Command,还是在右侧,点击
Command项,在弹出的窗口中找到要绑定的命令的Key,例如DialogWindowCmd的Key为PdmsAddin.DialogWindowCmd - 将新建的
StateButton(MdiWindow)拖动到CommandBar下 - 修改完成后,点击
Apply应用更改,关闭Customize窗口后,即可看到工具栏中的DialogWindow按钮
- 将
事件
UserChanges
1 | public void Start(ServiceManager serviceManager) |
运用工具栏组件
- 引用程序集
- Aveva.Pdms.Geometry.dll
- Aveva.Pdms.Shared.dll
- 新建以下三个类
1 | public class TboxCmd : Command |
1 | public class ComBoxCmd : Command |
1 | public class CreateEquiCmd : Command |
- 验证输入合法性(可选),新建
ValidationRules类,内容如下
1 | public class ValidationRules |
- 修改
PdmsAddin类内容如下
1 | public class PdmsAddin : IAddin |
- 重新生成解决方案,将生成的
PdmsAddin.dll文件拷贝到PMDS安装路径下的MyAddins目录下 - 编辑PDMS安装目录下的
DesignAddins.xml,添加一条如下记录
1 | <string>MyAddins\PdmsAddin</string> |
- 在PMDS安装目录下新建
MyUIC目录,将PDMS根目录下的design.uic文件拷贝一份到MyUIC目录,编辑内容如下(删掉多余内容即可)
1 |
|
- 编辑PDMS安装目录下的
DesignCustomization.xml,添加一条如下记录
1 | <CustomizationFileFile Name="MyAddin" Path="MyUIC\MyDesignUic.uic"> |
-
启动PDMS,在菜单栏空白处右键点击最底下的
Customize...菜单,弹出Customize窗口- 将
Active Customization File下拉框切换为MyAddin - 选中
Command Bars菜单项,右键选择New CommandBar - 右侧可修改
CommandBar1菜单项的相关信息,例如将Caption改为MyPdmsAddin,将Name改为MyAddin.CommandBarEqui - 新建文本框,修改以下信息
- Caption: Name:
- Command: PdmsAddin.TboxCmd
- DisplayStyle: TextOnlyAlways
- Name: MyAddin.TxtName
- 新建下拉框,修改以下信息
- Caption: Desc:
- Command: PdmsAddin.ComBoxCmd
- DisplayStyle: TextOnlyAlways
- Name: MyAddin.ComBoxDesc
- 新建按钮,修改以下信息
- Caption: Create
- Command: PdmsAddin.CreateEquiCmd
- DisplayStyle: ImageAndText
- Icon : Shared:EQUI (Resource Files菜单下的Shared菜单中的Icons选项卡可看到图标)
- Name: MyAddin.BtnCreate
- 三个控件都要拖到CommandBar下
- 修改完成后,点击
Apply应用更改,关闭Customize窗口,即可看到表单
- 将
-
注意新建Equi后CurrentElement会变,需要重新选择CurrentElement(不能在EQUI下新建EQUI)
NetGridControl
- 引用程序集
- GridControl.dll
- 新建一个名为
NetGridAddinControl的Winform用户控件,其中上下结构包含一个Panel和Button,代码如下
1 | public partial class NetGridAddinControl : UserControl |
- 新建
GridCmd类内容如下
1 | public class GridCmd : Command |
Customize添加一个State Button绑定GridCmd即可
过滤器
TypeFilter
1 | private void CollTypeFilter() |
AttributeUnsetFilter
1 | private void CollUnsetFilter() |
AttributeRefFilter
1 | private void CollUnsetFilter() |
AndFilter
1 | private void CollAndFilter() |
操作PML变量
设置PML变量
1 |
|
获取PML变量
1 |
|
DatatableReference
1 | using Command = Aveva.Pdms.Utilities.CommandLine.Command; |
独立运行
- 新建控制台应用程序
TestPdmsStandalone - 引用如下程序集
Aveva.Pdms.Database.dllAveva.Pdms.Standalone.dllAveva.Pdms.Utilities.dll
- 编辑
Program内容如下:
1 | class Program |
- 将应用程序改为
x86平台(必须) - 将生成的exe应用拷贝到Pdms安装目录
- 拷贝一份Pdms安装目录下的
pdms.bat重命名为RunPdmsStandalone.bat - 编辑
RunPdmsStandalone.bat,滚动到内容末尾
1 | # 使用rem注释下面三行 |
- 运行
RunPdmsStandalone.bat
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 生活中的tree!
