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 !

posted @ 2013-11-08 08:05  One Day  阅读(...)  评论(...编辑  收藏