AutoCAD .NET二次开发(二)
今天专门讲一个——CommandMethod。我们都在知道CAD操作要快,必须要熟悉掌握各种命令。在Lisp开发中,在函数后C:即可添加一个命令,非常方法,在.NET API也可以非常方便的设置命令,它需要CommandMethod属性。
先来看CommandMethod的定义,它的构造函数很多,其中参数最全的一个如下图所示:
groupName组名,string,命令编组名称,一般在小项目开发中用得比较少。
globalName,全局名称, string,即命令,它应该是唯一的,不然在调用时会发生意外。
localizedNameId, 本地名称,string,指定语言的本地命令名称,不知道有什么用。
flags, 命令标志,CommandFlags,定义命令的行为。详见附表。
contextMenuExtensionType, 上下文菜单类型标志 ,Type, 定义命令处于活动状态时的上下文菜单行为。
helpFileName, 帮助文件名string,帮助文件,含有命令活动状态下按下F1时要显示的帮助主题。
helpTopic ,帮助主题,string。帮助文件中的主题。
除上面这个构造函数外,它还有5个:
CommandMethodAttribute(string globalName)
CommandMethodAttribute(string globalName, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags, string helpTopic)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags, Type contextMenuExtensionType)
在使用时的注意事项有:
(1)CommandMethodAttribute和CommandMethod是一个,不管使用哪一个都可以;
(2)CommandMethodAttribut的使用需要添加相关引用,包括accoremgd,acdbmgd和acmgd三个;
(3)CommandMethod后的有效行必须是一个函数。
附表:Command Flags命令标志
枚举值 |
描述 |
ActionMacro |
可以用动作录制器录制命令动作; |
DocReadLock |
命令执行时将被只读锁定; |
Interruptible |
提示用户输入时可以中断命令; |
Modal |
别的命令运行时不能运行此命令; |
NoActionRecording |
不能用动作录制器录制命令动作; |
NoBlockEditor |
不能从块编辑器使用该命令; |
NoHistory |
不能将命令添加到repeat-last-command(重复上一个命令)历史列表; |
NoPaperSpace |
不能从图纸空间使用该命令; |
NoTileMode |
当TILEMODE置1时不能使用该命令; |
NoUndoMarker |
命令不支持撤销标记。用于不修改数据库因而也就无需出现在撤销记录中的那些命令; |
Redraw |
不清空取回的先选择后执行设置及对象捕捉设置; |
Session |
命令运行于应用程序上下文,而不是当前图形文档上下文; |
Transparent |
别的命令运行时可以运行此命令; |
Undefined |
只能通过全局名使用命令; |
UsePickSet |
清空取回的先选择后执行设置; |
AutoCAD .NET二次开发(二)的更多相关文章
- Linux基于webRTC的二次开发(二) 实现远程桌面共享
webRTC中的desktop_capture模块提供了捕获桌面和捕获窗口的相关功能,而实现远程桌面共享功能需要将desktop_capture捕获的画面作为peerconnection的视频源,下面 ...
- EasyDSS点播与直播服务器软件-二次开发接口对接说明示列
EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作.其中,点播版本主要包含:上传.转码.分发.直播版本,主要包含:直播.录像, 直播支持RTMP输 ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器软件二次开发接口对接说明示列
EasyDSS相关功能 EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作.其中,点播版本主要包含:上传.转码.分发.直播版本主要包含:直播.录像 ...
- Jmeter二次开发——基于Java请求
简述 这近几年,越来越多非http的协议需要进行性能测试,包括不仅限于各类rpc.mq.缓存等.对于这些协议,市面上可能没有现成的工具可以直接使用,这个时候,我们可以自己动手,通过编写相应的JavaS ...
- 我的AutoCAD二次开发之路 (一)
原帖地址 http://379910987.blog.163.com/blog/static/33523797201011184552167/ 今天在改代码的时候,遇到了AddVertexAt方法的用 ...
- C#/AutoCAD 2018/ObjectArx/二次开发添加图形对象步骤和添加直线的例子(三)
1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录( ...
- C#/AutoCAD 2018/ObjectArx/二次开发添加删除实体的工具函数(四)
1.添加删除实体 C# ObjectARX二次开发添加删除实体是非常容易主要代码如下: 添加实体: objId = btr.AppendEntity(entity); trans.AddNewlyCr ...
- Civil 3D 二次开发 创建AutoCAD对象—— 00 ——
不积跬步无以至千里,不积小流无以成江海.虽然创建一条直线.添加一个图层这样的小程序没有什么实际意义(内部命令很简单就可以完成),但对于初学二次开发的您来说,这可是一大步,这一步跨出去,您就跨进了二次开 ...
- 利用C#进行AUTOCAD的二次开发
众所周知,对AutoCAD进行二次开发用到的主要工具有:ObjectArx,VBA,VLisp.但它们的优缺点是显而易见的:ObjectArx功能强大,编程效率高,但它的缺点是编程者必须掌握VC++, ...
- AutoCAD二次开发——AutoCAD.NET API开发环境搭建
AutoCAD二次开发工具:1986年AutoLisp,1989年ADS,1990年DCL,1993年ADS-RX,1995年ObjectARX,1996年Active X Automation(CO ...
随机推荐
- MySQL常用的几个数据类型详解
一.字符串类型 类型 范围 说明 Char(N) [ binary] N=1~255 个字节binary :分辨大小写 固定长度 std_name cahr(32) not null VarCha ...
- 多线程IO模型
服务端编程,首要问题是选取IO模型.即如何处理大量连接,服务更多的客户端? 我们最早有2种解法,各有不足: 1.阻塞IO,每个连接都需要一个线程. 随着连接数增多,线程数剧增,系统开销太大. 2.非阻 ...
- CodeVS1169 传纸条 [DP补完计划]
题目传送门 题目描述 Description 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端, ...
- jsp页面中获取session中的值
Jsp中获取Session: session是jsp的内置对象,所以你可以直接写在jsp的 <% session.setAttribute("a", b); //把b放到se ...
- Sqli-labs less 8
Less-8 经过简单的测试,我们发现 'or 1=1--+返回正常,那么我们就基本知道应该怎么使用了,参考less5.这里简单的进行一个示例: http://127.0.0.1/sqllib/Les ...
- Express使用MongoDB常用操作
const MongoClient = require('mongodb').MongoClient const url = "mongodb://localhost:27017" ...
- shell脚本--字符串处理和动态数组
Linux下的文本处理命令,以清晰的列分割数据为高效处理源: awk 的gsub函数可替换指定字符串 echo "<tr><td>col1</td>< ...
- Python开发基础-Day13模块2
sys模块 sys模块提供了一系列有关Python运行环境的变量和函数. #重点记忆 sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit(n) #退出执行的程序未见,正 ...
- Java 生产者消费者 & 例题
Queue http://m635674608.iteye.com/blog/1739860 http://www.iteye.com/problems/84758 http://blog.csdn. ...
- 「NOI2018」归程
「NOI2018」归程 题目描述 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个 >\(1\) 个节点. \(m\) 条边的无向连通图(节点的编号从 \( ...