首页 > 其他分享 >Revit二次开发-获取RevitCommandId

Revit二次开发-获取RevitCommandId

时间:2023-09-08 22:33:22浏览次数:46  
标签:RevitCommandId id 插件 Revit command 二次开发 revit

  在revit二次开发中,如果需要用到调用原生功能或者某个插件的功能。我们可以用UIApplication.PostCommand 这个方法来调用一些RevitCommand来实现这个需求。

      但是 PostableCommand 这个枚举提供的command id比较少 只有一些常用且原生的RevitCommand。如果我们的需求里面的command id没有提供的话,我们该如何去找呢。

有以下几种方法

1、通过Revit自带日志的方法去查找。 日志的存放路径位于 %appdata%\Local\Autodesk\Revit\%revit版本%\Journals 这个路径下这里面可以查找一些revit使用日志 里面就包含了一些使用的command id 

2、通过快捷方式  快捷方式的配置用两种方法获取到。第一种就是在设置里面直接导出

第二种就是在Revit的配置路径 %appdata%\Roaming\Autodesk\Revit\%revit版本% 

这个配置表包含常用的Command Id  不包含其他插件的Command id。配置表部分

3 通过代码的方式获取 这个方式需用到不常用的两个dll  AdWindows和UIFramework  这两个dll均可以在revit的安装目录找到。

[Transaction(TransactionMode.Manual)]
internal class CommandIdCommand : CommandBase
{
    public override Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
    {
        ComponentManager.ItemExecuted += ComponentManager_ItemExecuted;  //这里做演示就不注销事件了
        return Result.Succeeded;
    }

    private void ComponentManager_ItemExecuted(object sender, RibbonItemExecutedEventArgs e)
    {
        var commandId = ControlHelper.GetCommandId(e.Item);
        Autodesk.Revit.UI.TaskDialog.Show("prompt:", $"command id:   {commandId}");
    }
}

我们可以通过事件来拿到command id 以下是第三方插件和原生command的id 都能获取到

标签:RevitCommandId,id,插件,Revit,command,二次开发,revit
From: https://www.cnblogs.com/youngala/p/17688690.html

相关文章

  • TSINGSEE青犀视频EasyDarwin开源平台源码二次开发报错service not found排查及解决
    TSINGSEE青犀视频开发的EasyDarwin开源平台提供的开源项目,拥有完整的源代码,帮助开发者更快更简单实现流媒体音视频产品功能,实现移动互联网流媒体直播点播。有位用户反馈在Windows环境下的EasyDarwin源码二次开发中,Git拉完源码,出现无法运行的情况,报:servicenotfound源码路径中找不......
  • java开发之个微机器人的二次开发
    简要描述:修改我在某群的昵称请求URL:http://域名/updateIInChatRoomNickName请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是String登录实例标识请求参数示例{"wId":"4941c159-48dc-4271-b0d0-f94adea39127",......
  • ONLYOFFICE 明文核心代码 API级别调用 可进行二次开发
    本次改造基于V7.1.1进行,已经更新进入docker。这部分东西需要付费购买,请加我的wei:cao_rui_jian_xiong项目核心sdk_all.js等全部改造为明文,可以方便阅读和二次开发下面是改造后的代码截取。(function(window,undefined){(function(window){varMAX_ACTION_TIME=20;......
  • Revit API创建几何实体Solid并找到与之相交的元素
    几何实体的创建方法之一:构成封闭底面,指定拉伸方向与拉伸高度。GeometryCreationUtilities//自创几何实体相交法[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]publicclassFindIntersectWallsByGeometry:IExternalCommand{publicResult......
  • 在线CAD的SDK如何集成到网页系统-关于MxCad项目二次开发插件集成
    前言1.很多单位拥有着数量庞大的DWG图纸,部门之间传统的图纸管理和沟通,效率较为低下,而将CAD图纸的浏览,编辑,审图,签章等工作集成到自己的网页系统,将会显著提高工作效率和企业的竞争力。集成到网页系统需要我们在后台服务器部署webcadsdk,部署后的操作界面效果如下: 2.在线CAD功......
  • python开发之微信的二次开发
    简要描述:根据消息回调收到的xml转发链接消息,适用于同内容大批量发送,可点击此处查看使用方式,第2大类4小节请求URL:http://域名地址/forwardUrl请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识wcId是......
  • python开发之微信机器人的二次开发
    简要描述:取消消息接收请求URL:http://域名地址/cancelHttpCallbackUrl请求方式:POST请求头Headers:Content-Type:application/json参数:参数名类型说明codestring1000成功,1001失败msgstring反馈信息成功返回示例{"message":"成功","code":"1000","data":......
  • 搭建CAD二次开发
    1.AutoCad下载地址AutoCad201632位:https://pan.baidu.com/s/1JFZxqnyUQ3Pxh2hX_ClRKQ?pwd=wkfmAutoCad201664位:https://pan.baidu.com/s/1MRmtp6wcu7zjc-9zPstgFg?pwd=c4fjVisualStudio2015下载地址链接:https://pan.baidu.com/s/1uE_Fc4P2LEwPeK6QtAvg3Q?pwd=691e2.新......
  • 【未完】Unity Revit与GLTF导出展示笔记
    Revit模型+材质Web网页加载显示......
  • ERPNEXT 二次开发需要学习哪些技术?
    ERPNext是一款开源的企业资源规划(ERP)软件,用于管理企业的各种业务流程,包括财务、库存、采购、销售、人力资源等。要学习二开ERPNext,您需要掌握以下技术和概念:Python编程语言:ERPNext是用Python编写的,因此对Python编程语言的了解是必要的。您需要理解Python的基本语法、数据结......