基于C#的厂房CAD软件Ribbon界面开发

2019-05-20 06:49田新星周学武
水利水电工程设计 2019年1期
关键词:图标命令厂房

田新星 周学武 郑 泽

随着AutoCAD 软件版本的不断更新,Ribbon 界面已经成为软件发展主流,而且从AutoCAD2015 版本开始,经典界面也已经取消,仅保留了Ribbon界面,因此,为持久保持软件的生命活力,将软件升级至Ribbon 界面势在必行。

随着设计水平的提高和软件应用的不断深入,软件默认的原始界面和功能往往不能满足用户的需求,这就需要进行二次开发。通过二次开发,既可以将原有内部命令进行重组,又可以添加新的命令,从而实现命令重组。AutoCAD 从2009 版本开始,引入了WPF(Windows Presentation Foundation)和Ribbon 界面(也可以称为功能区),他们将不同的工具进行分组,外形更加华丽。Ribbon 界面分为3 个层级,分别为选项卡(Tab)、面板(Panel)和按钮或组合框(Button 或Combo 等)。

1 Ribbon界面实现思路

采用C#方式添加Ribbon 界面的流程如图1所示。

本方法的关键在于理解C#平台Ribbon 界面结构的继承性,元素(Item)必须添加到面板(Panel)中,面板(Panel)必须添加到选项卡(Tab)中,其中如果创建多个元素,可通过重复过程A 实现。

2 Ribbon界面实现方法

2.1 基于C#的Ribbon界面实现方式

采用C#实现Ribbon 界面,可采用层次化过程实现。主要过程为:(1)创建一个源面板(sourcePanel);(2)创建一个面板的实例(Panel);(3)创建一个或多个元素(Button、SplitButton 等);(4)将元素与面板挂接。

图1 Ribbon界面创建流程图

为保证界面美观和程序易读性,可以为元素添加图片。Ribbon 界面按钮图片的定义,是通过给项目添加一个用户字典resourceDicionary的方式实现的,用户可以自定义图标ico 文件,自定义图标显示大小,图标与文字相对关系等设置。ico 文件可以通过Photoshop 等软件制作。

2.2 Ribbon界面与内部命令的链接

Ribbon 按钮类的命令处理是由其基类Ribbon CommandItem 的CommandHandler 属性实现的,该属性属于System.Windows.Input.ICommand接口,该接口,可以实现ICommand接口的RibbonCommandHandler。

2.3 链接Lisp文件和SCR脚本文件

LISP 语言和SCR 脚本文件由于具有易于交互、语法规则简单、灵活易学易用等特点而被设计人员广泛采用。对于采用Lisp 文件或SCR 脚本文件定义的命令,例如初始化文字样式、自动建立图层,可以通过以下命令实现Ribbon 界面按钮与Lisp文件或SCR 文件链接。

与Lisp 文件自动链接关键代码:

//获取当前活动文档

Document curAcadDoc = AcadApp.Document Manager.MdiActiveDocument;

//定义lsp 文件的路径

string lispPath="d:/***/set-new.lsp";

//获取lsp 文件中的函数名称

string loadStr = String.Format("(load "{0}")TextDim ",lispPath);

//执 行 函 数 curAcadDoc.SendStringToExecute(loadStr,true,false,false)

与SCR 脚本文件自动链接关键代码:

//获取当前活动文档

Document curAcadDoc =AcadApp.Document Manager.MdiActiveDocument;

//执行函数

curAcadDoc.SendStringToExecute("filedia 0 ",true,false,false);

curAcadDoc.SendStringToExecute("script d:/***/wsgp ",true,false,false);

curAcadDoc.SendStringToExecute("filedia 1 ",true,false,false);

3 厂房CAD软件Ribbon界面实现

根据上述方法完成的厂房CAD 软件Ribbon 界面如图2 所示。

图2 厂房CAD Ribbon界面

为增加程序可读性和界面友好性,绘制了部分界面图标,见表1。经过添加Ribbon 界面,厂房CAD 可以在AutoCAD2007 及以上版本使用,并能大大加快软件操作效率。

表1 厂房CAD Ribbon界面部分图标展示

4 结论与展望

通过研究厂房CAD 软件Ribbon 界面的开发过程发现,可以得到以下结论:

(1)Ribbon 界面是设计单位各种常用软件(例如Bentley 平台旗下的MicroStation、Office 系列软件等)的发展趋势,设计人员掌握基本的Ribbon 界面开发技能和软件界面定制技巧,能提高设计效率,增强软件易用性。

(2)目前绝大多数计算机已经采用64 位操作系统,AutoCAD2007 以前的版本,很难安装在64位操作系统上,因此,不建议设计人员使用低于AutoCAD2006 版本的软件。

(3)研究发现,随着AutoCAD 版本的升级,每个版本对应的引用库文件也不同(例如自定义界面的CUI 文件或CUIx 文件),开发者应结合AutoCAD官方的升级说明进行开发,否则容易引起错误。

猜你喜欢
图标命令厂房
只听主人的命令
工业厂房给排水与消防系统创新设计分析
某大型钢结构厂房桁架制作
让老厂房变文创新地标
Android手机上那些好看的第三方图标包
移防命令下达后
旧厂房改造之庭院微气候创建
图标
中国风图标设计
这是人民的命令