CAD二次开发(.NET)之PaletteSet和Palette

时间:2022-06-17 19:31:17

  在CAD中经常用到停靠或浮动的PaletteSet,比如:特性、图层特性管理器、工具选项板等(以下截图来自AutoCAD2010界面)。

CAD二次开发(.NET)之PaletteSet和Palette

特性PaletteSet(停靠)

CAD二次开发(.NET)之PaletteSet和Palette

图层特性管理器PaletteSet(浮动)

CAD二次开发(.NET)之PaletteSet和Palette

工具选项板PaletteSet(浮动、多个Palette)

  这些Palette给设计带来了极大方便,灵活的展现形式(浮动和停靠)不禁让人也想给自己定制一个Palette ,下面就开始动手吧!

在CAD的acmgd.dll中我们可以找到名称空间Autodesk.AutoCAD. Windows,今天的主角Autodesk.AutoCAD.Windows.PaletteSet就出生于此。

 [Autodesk.AutoCAD.Runtime.CommandMethod("AddMyPaletteSet")]

 public void AddMyPaletteSet()

 {

     Autodesk.AutoCAD.Windows.PaletteSet myPaletteSet = new Autodesk.AutoCAD.Windows.PaletteSet("我的PallteSet");

     myPaletteSet.Add("我的工具集", new System.Windows.Forms.Control("我的工具集"));

     myPaletteSet.Add("我的颜色", new System.Windows.Forms.Control("我的颜色"));

     myPaletteSet.Add("我的控件", new System.Windows.Forms.Control("我的控件"));

     myPaletteSet.Visible = true;

 }

  以上代码是创建一个PaletteSet,包含三个Palette,最后通过设置myPaletteSet.Visible为true将其显示出来。myPaletteSet.Add第一个参数是Palette的名字,第二个参数是.Net中的WinForm控件,这里为了简便就用了Control,当然真正应用时需要自己定义UserControl。myPaletteSet.Add返回值是Palette。下面看看我们的PaletteSet小伙伴吧!

  打开CAD,Netload生成的Dll,运行命令AddMyPaletteSet,下面是截图:

CAD二次开发(.NET)之PaletteSet和Palette

停靠状态

CAD二次开发(.NET)之PaletteSet和Palette

浮动状态

PaletteSet和Palette就简单介绍到此,2013-11-07 23:06, Time to Sleep,Good Night !