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 ...
随机推荐
- 141. Linked List Cycle【Easy】【判断链表是否存在环】
Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linked lis ...
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest C Explode 'Em All
暴力枚举,状态压缩. 枚举哪几行放,复杂度为$O(2^{25})$,大概有$3000$多万种情况.假设有$x$行放了,没放的那几行状态或起来为$st$,如果$st$中$1$的个数大于$x$,那么不可取 ...
- luogu P1047 校门外的树
题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L,都种 ...
- 【分类讨论】【计算几何】【凸包】hihocoder 1582 ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 E. Territorial Dispute
题意:平面上n个点,问你是否存在一种黑白染色方案,使得对于该方案,无法使用一条直线使得黑色点划分在直线一侧,白色点划分在另一侧.如果存在,输出一种方案. 如果n<=2,显然不存在. 如果所有点共 ...
- 【AC自动机】【状压dp】【滚动数组】hdu6086 Rikka with String
给你m个01串,问你有多少个长度为2L的01串,满足前半段倒置取反后等于后半段,并且包含所有的m个01串. 考虑单词完全在中线前面或者后面的情况,直接将单词及其倒置取反插入AC自动机,AC自动机每个结 ...
- 【推导】【贪心】XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem D. Clones and Treasures
给你一行房间,有的是隐身药水,有的是守卫,有的是金币. 你可以任选起点,向右走,每经过一个药水或金币就拿走,每经过一个守卫必须消耗1个药水,问你最多得几个金币. 药水看成左括号,守卫看成右括号, 就从 ...
- python基础之生成器,三元表达式,列表生产式
生成器 1.什么是生成器? 在函数内但凡出现yield关键字,再调用函数就不会执行函数体代码,会返回一个值,该值称为生成器. 生成器的本质就是迭代器. 2.为什么要用生成器? 生成器是一种自定义迭代器 ...
- Codeforces Gym 100269A Arrangement of Contest 水题
Problem A. Arrangement of Contest 题目连接: http://codeforces.com/gym/100269/attachments Description Lit ...
- Hiho----拓扑排序
拓扑排序·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来. 小Ho:小Hi,你这学期有选什么课么? 小H ...
- What happens when a SQL Query runs?
Posted by Padma Chitturi in Uncategorized. Leave a Comment Hi Folks, It has been such a long time th ...