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

特性PaletteSet(停靠)

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

工具选项板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,下面是截图:

停靠状态

浮动状态
PaletteSet和Palette就简单介绍到此,2013-11-07 23:06, Time to Sleep,Good Night !
CAD二次开发(.NET)之PaletteSet和Palette的更多相关文章
- CAD二次开发中浮动面板不浮动的问题
CAD二次开发中创建了一个浮动面板,想让它创建出来后以浮动状态显示, 但是DockSides.None设置完后,面板还是不浮动.搞了很久,最后原来是 需要先设置Visible,再设置DockSides ...
- Cad 二次开发关于SelectCrossingPolygon和SelectFence返回结果Status为error的小测试
CAD2008的二次开发,有个很奇怪的现象,只要你选择的点集不在当前视图上SelectCrossingPolygon和SelectFence返回结果Status就会为error,所以要获取正确的结果, ...
- CAD二次开发
用C#有一段时间了,由于单位需要,开始接触CAD二次开发,网上一搜,加入CAD开发的群,零零碎碎看了一些文章和博客,没有系统地的知识,能解决一些小问题.最近开始系统学习,再次推荐两本书,一本事纸质版的 ...
- 推荐两个不错的CAD二次开发(.Net)手册
推荐两个不错的CAD二次开发(.Net)手册 http://www.mjtd.com/helpcenter/netguide/index.html http://www.ceesky.com/book ...
- CAD 二次开发 -- 自动加载开发的DLL
CAD二次开发可以采用写扩展DLL的方式实现.该DLL的函数可以被CAD调用. 但是调用前,必须用命令netload 将该dll加载到CAD. 其实可以修改注册表,当CAD软件启动后,自动加载扩展DL ...
- C#进行CAD二次开发环境配置
最近被公司分配到了做CAD二次开发.也是初次接触这方面的东西,其实是有些无从下手的感觉.因为公司这边也没有人有时间带我,只能是自己看书,然后再写一些Demo,再结合实际的应用来一点点的学习.废话不多说 ...
- CAD二次开发起步
1 环境搭建(VS 2017 + CAD 2019) CAD版本一般要比VS版本晚两年以上,比如我现在使用VS2017,则CAD要用2019版,至于CAD2018能不能用没试验过,有兴趣的小伙伴可以试 ...
- CAD二次开发控件,dwg控件,网页DWG控件,手机浏览编辑DWG控件
梦想绘图插件5.2(MxDraw5.2) 是国内最强,最专业的CAD开发插件(控件),不需要AutoCAD就能独立运行. 控件使用VC 2010开发,具有30万行代码规模,最早从2007年第一个版本完 ...
- C# ObjectArx cad二次开发
1 环境搭建:安装CAD 和objectArx库,这里安装的是cad2012和objectArx2010 ,vs是2010 2 新建一个类库项目,引用objectArx安装目录下inc文件夹下的AcD ...
随机推荐
- docker 容器管理上
Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: docker start container_id //启动容器后,可以使用 ...
- Javascript 排序数组或对象
分享一个用于数组或者对象的排序的函数.该函数可以以任意深度的数组或者对象的值作为排序基数对数组或的元素进行排序. 代码如下: /** * 排序数组或者对象 * by Jinko * date 2015 ...
- Java实现邮件代理发送
使用java实现邮件发送 首先需要添加jar文件mailapi.jarstmp.jar 1 import java.util.Properties; import javax.mail.Address ...
- shell 变量自增(转)
原文地址:http://www.cnblogs.com/iloveyoucc/archive/2012/07/11/2585559.html Linux Shell中写循环时,常常要用到变量的自增,现 ...
- 实现在ios文件读写
文件都是用来读写数据的,可是哪里都会有潜规则,ios里面读写数据的潜规则你知不知道,你知道不知道!!! 你有没有觉得NSUserDefaults和NSBundle,plist这些玩意阴魂不散,有时候搞 ...
- 如何使用记事本编程,并生成exe
1 新建一个txt文件,重命名为1.c 2 编程 3 打开VS2015 开发人员命令提示 4 找到1.c文件的位置,然后在VS2015 开发人员命令提示,输入cd 空格 位置,回车 cd C:\Use ...
- javascript第九课"闭包"
所谓闭包:就是一个函数内部又定义了一个函数,而这个函数能访问外部函数作用域范围内的变量,这个内部函数就叫做闭包! js中的面向对象都是使用闭包来实现的 闭包里使用的变量会现在当前函数内搜索,没有的 ...
- Egret初体验–躲避类小游戏
下面简单介绍一下我这个游戏:基本上就3个画面(准备再添加一个胜利的界面)开始画面,一个按钮,点击进入游戏游戏画面,滚动的背景,触摸移动的老鹰,从天而降的翔,以及右上角的时间条结束画面,显示结果,关注按 ...
- 【转】 LESS CSS 框架简介
简介 CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World Wide Web)中.HTML 主要负责文档结构的定义,CSS 负责文档表现形式或样式的定义. ...
- EassyMock实践 捕获参数
在测试接口过程中,有时我们希望知道自己期望传入的参数是什么,以此来判断传入参数的正确行,这时就需要用到EassyMock的capture方法.该方法能捕获传入的参数存放到自定义的变量中,然后用捕获的参 ...