CAD二次开发(.NET)之PaletteSet和Palette
在CAD中经常用到停靠或浮动的PaletteSet,比如:特性、图层特性管理器、工具选项板等(以下截图来自AutoCAD2010界面)。
特性PaletteSet(停靠)
图层特性管理器PaletteSet(浮动)
工具选项板PaletteSet(浮动、多个Palette)
这些Palette给设计带来了极大方便,灵活的展现形式(浮动和停靠)不禁让人也想给自己定制一个Palette ,下面就开始动手吧!
在CAD的acmgd.dll中我们可以找到名称空间Autodesk.AutoCAD. Windows,今天的主角Autodesk.AutoCAD.Windows.PaletteSet就出生于此。
1 [Autodesk.AutoCAD.Runtime.CommandMethod("AddMyPaletteSet")]
2
3 public void AddMyPaletteSet()
4
5 {
6
7 Autodesk.AutoCAD.Windows.PaletteSet myPaletteSet = new Autodesk.AutoCAD.Windows.PaletteSet("我的PallteSet");
8
9 myPaletteSet.Add("我的工具集", new System.Windows.Forms.Control("我的工具集"));
10
11 myPaletteSet.Add("我的颜色", new System.Windows.Forms.Control("我的颜色"));
12
13 myPaletteSet.Add("我的控件", new System.Windows.Forms.Control("我的控件"));
14
15 myPaletteSet.Visible = true;
16
17 }
以上代码是创建一个PaletteSet,包含三个Palette,最后通过设置myPaletteSet.Visible为true将其显示出来。myPaletteSet.Add第一个参数是Palette的名字,第二个参数是.Net中的WinForm控件,这里为了简便就用了Control,当然真正应用时需要自己定义UserControl。myPaletteSet.Add返回值是Palette。下面看看我们的PaletteSet小伙伴吧!
打开CAD,Netload生成的Dll,运行命令AddMyPaletteSet,下面是截图:
停靠状态
浮动状态
PaletteSet和Palette就简单介绍到此,2013-11-07 23:06, Time to Sleep,Good Night !