Revit 自定义RibbonPanel到Revit中

项目下找到TheApplication.cs,更改内容:

class TheApplication : IExternalApplication
    {
        public Result OnStartup(UIControlledApplication a)
        {
            RibbonPanel ribbonPanel = a.CreateRibbonPanel("NewRibbonPanel");
            PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("新建图标", "新建图标", @"E:\Visual Studio 2015\Projects\RevitAddin1\RevitAddin1\bin\Debug\RevitAddin1.dll", "RevitAddin1.TheCommand")) as PushButton;
            return Result.Succeeded;
        }

public Result OnShutdown(UIControlledApplication a)
        {
            return Result.Succeeded;
        }
    }

然后找到TheCommand.cs,更改内容:

[Transaction(TransactionMode.Manual)]
    public class TheCommand : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            TaskDialog.Show("a","sssssss");
            return Result.Succeeded;
        }
    }

最后是项目下的.addin配置文件

<AddIn Type="Command">
    <Text>Command RevitAddin1</Text>
    <Description>Some description for RevitAddin1</Description>
    <Assembly>E:\Visual Studio 2015\Projects\RevitAddin1\RevitAddin1\bin\Debug\RevitAddin1.dll</Assembly><!--项目下的dll文件-->
    <FullClassName>RevitAddin1.TheCommand</FullClassName>
    <ClientId>d364db74-9e2c-4f4e-abfd-5601d6bb44f7</ClientId>
    <VendorId>com.typepad.thebuildingcoder</VendorId>
    <VendorDescription>The Building Coder, http://thebuildingcoder.typepad.com</VendorDescription>
  </AddIn>
  <AddIn Type="Application">
    <Name>Application RevitAddin1</Name>
    <Assembly>E:\Visual Studio 2015\Projects\RevitAddin1\RevitAddin1\bin\Debug\RevitAddin1.dll</Assembly>><!--项目下的dll文件-->
    <FullClassName>RevitAddin1.TheApplication</FullClassName>
    <ClientId>098320ce-5e6d-4e06-a959-3d220b39ffae</ClientId>
    <VendorId>com.typepad.thebuildingcoder</VendorId>
    <VendorDescription>The Building Coder, http://thebuildingcoder.typepad.com</VendorDescription>
  </AddIn>

时间: 2024-11-14 07:51:50

Revit 自定义RibbonPanel到Revit中的相关文章

自定义网络加载中对话框

App在与服务器进行网络交互的时候,需要有一个提示的加载框,如图:,此时我们可以自定义一个加载中的对话框,代码如下: public class LoadingDialog extends Dialog { private static final int CHANGE_TITLE_WHAT = 1; private static final int CHNAGE_TITLE_DELAYMILLIS = 300; private static final int MAX_SUFFIX_NUMBER

Salesforce 自定义标签在代码中的应用

自定义标签简介 Salesforce 中自定义标签(Custom Label)的作用是存储一般性的文本,可以用于 Apex.Visualforce 页面.Lightning 组件等地方,用于显示提示信息.错误信息等. 与此同时,当系统管理员在"翻译工作台"模块中设置了多种语言之后,我们可以对每个标签的文字添加多语言翻译.在需要向用户显示标签内容的时候,和用户语言对应的翻译内容会自动显示出来. 在代码中的使用举例 我们用以下几个例子来展示自定义标签在代码中的使用.假设已经有了一个标签,名

【自定义控件】自定义ViewGroup 在ViewGroup中显示TextView

需求:在ViewGroup中显示一个TextView 1.继承ViewGroup 必须要实现其构造方法和一个onLayout方法 构造函数的处理: public CusViewGroup(Context context) { this(context, null); } public CusViewGroup(Context context, AttributeSet attrs) { this(context, attrs, 0); } public CusViewGroup(Context

iOS中 xib自定义View在storyboard中的使用

1,创建UIView 的SubClass 命名为MyView 2, new一个名为MyView的xib p1 3,配置xib的属性 p2 4,为View 添加背景色,添加一个按钮并定制按钮约束,这里我添加的约束为垂直居中,Button与View等宽,Button左边起点位置为0. p3 5,设置xib中的File’s owner = MyView, 拖拽view 到关联的代码中命名为contentView p4 6, 在storyboard 中对ViewController 添加一个View,之

利用自定义注解在SpringMVC中实现自定义权限检查

先描述一下应用场景,基于Spring MVC的WEB程序,需要对每个Action进行权限判断,当前用户有权限则允许执行Action,无权限要出错提示.权限有很多种,比如用户管理权限.日志审计权限.系统配置权限等等,每种权限还会带参数,比如各个权限还要区分读权限还是写权限. 想实现统一的权限检查,就要对Action进行拦截,一般是通过拦截器来做,可以实现HandlerInterceptor或者HandlerInterceptorAdapter,但是每个Action都有不同的权限检查,比如getUs

cocos2dx 2.x版本:简化提炼tolua++绑定自定义类到lua中使用

cocos2dx的3.x版本已经提供了更好地绑定方式,网上有很多相关的教程,这里给一个链接:http://www.cocoachina.com/bbs/read.php?tid=196416. 由于目前我们的项目使用的是2.x版本的,且已经开发了一半了,这时候不适合转3.x的版本,于是只能用2.x的老方法tolua++来实现绑定.这就有一个蛋疼的问题,太麻烦!每次都要写pkg.使用tolua++.exe解释器编译生成新的cpp,在其中添加自己的类的头文件引用,然后把这个新的cpp文件覆盖到lib

MYSQL自定义函数实现表中递归层次的展现

1.现在以菜单表为例,在数据库中创建表test_menu. 2.在表中创建一些实例数据 现在的菜单层次为cd_1与cd_2为一级菜单,cd_1下分为cd_1_1与cd_1_2两个二级菜单,cd_1_1下有个三级菜单cd_1_1_1,目录结构如下 cd_1 cd_1_1 cd_1_1_1 cd_1_2 cd_2 3.创建自定义函数 4.查询菜单层次 在此,菜单的各层次就很清晰的展现出来了.

mysql自定义函数--得到字符串中最后一个分隔符前面的内容

工作中使用到一些特殊的字符串,比如'50-1-1-2-3',当需要得到'50-1-1-2'时可使用以下自定义函数 DELIMITER $$ USE `mydb`$$ DROP FUNCTION IF EXISTS `get_content_before_last_separator`$$ CREATE DEFINER=`root`@`%` FUNCTION `get_content_before_last_separator`(charStr VARCHAR(200),separatorStr 

自定义写实现java中map中的功能(简易)

package test;/** * 通过自定义来实现一个map功能 * 存放键值对,根据键对象找到一个值对象,确保没有重复 */ import java.util.Map; public class test01 { SxtEntry[] arr=new SxtEntry[990]; int size; //定义函数实现将键值对放入数组 public void put(Object key,Object value){ SxtEntry entry=new SxtEntry(key, valu