- 积分
- 30297
- 明经币
- 个
- 注册时间
- 2016-9-16
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 fangmin723 于 2024-6-26 09:29 编辑
感谢大佬告知:该段代码出自于IFoxCAD群,点击链接加入QQ频道【CAD二次开发】
貌似只能在AutoCAD中适用,欢迎大家积极测试
- #if acad
- /// <summary>
- /// 快捷命令别名重定义
- /// </summary>
- /// <param name="aliases">快捷命令别名对象集合</param>
- public static void ReSetCmds(params CmdAlias[] aliases)
- {
- foreach (var alias in aliases)
- {
- if (Utils.IsCommandDefined(alias.NewAlias) && !alias.IsReplace) return;
- // 卸载原命令(卸载前前可判断命令是否已经定义)
- if (Utils.IsCommandDefined(alias.OldAlias) && alias.IsRemoveOld)
- {
- Utils.RemoveCommand(alias.OldAlias, alias.OldAlias);
- }
- // 定义ReSet7命令调用Test777函数
- Utils.AddCommand(alias.NewAlias, alias.NewAlias, alias.NewAlias, CommandFlags.Modal, alias.CmdAction);
- }
- }
- #endif
- #if acad
- /// <summary>
- /// 快捷命令别名对象集合添加方法
- /// </summary>
- /// <param name="aliases">快捷命令别名对象集合</param>
- /// <param name="OldAlias">原命令别名</param>
- /// <param name="NewAlias">新命令别名</param>
- /// <param name="CmdAction">命令调用函数</param>
- /// <param name="IsRemoveOld">是否移除原别名,默认:<see langword="true"/>移除</param>
- /// <param name="IsReplace">是否覆盖已定义别名,默认:<see langword="true"/>覆盖</param>
- public static void Add(this List<CmdAlias> aliases, string OldAlias, string NewAlias, CommandCallback CmdAction, bool IsRemoveOld = true, bool IsReplace = true)
- {
- aliases.Add(new CmdAlias(OldAlias, NewAlias, CmdAction, IsRemoveOld, IsReplace));
- }
- #endif
- namespace System.Runtime.CompilerServices
- {
- /// <summary>
- /// 保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此类。
- /// </summary>
- public class IsExternalInit { }
- }
- record的使用:山人指导!
- #if acad
- /// <summary>
- /// 快捷命令别名对象
- /// </summary>
- /// <param name="OldAlias">原命令别名</param>
- /// <param name="NewAlias">新命令别名</param>
- /// <param name="CmdAction">命令调用函数</param>
- /// <param name="IsRemoveOld">是否移除原别名,默认:<see langword="true"/>移除</param>
- /// <param name="IsReplace">是否覆盖已定义别名,默认:<see langword="true"/>覆盖</param>
- public record class CmdAlias(string OldAlias, string NewAlias, CommandCallback CmdAction, bool IsRemoveOld = true, bool IsReplace = true);
- #endif
|
|