找最好BIM网 门户 查看主题

[Revit二次开发] Ribbon菜单的创建 [课程编码3921]

发布者: 晴空*** | 发布时间: 2023-1-21 16:10| 查看数: 448| 评论数: 0|帖子模式

修改字体大小 16px
10px 25px

https://blog.csdn.net/qq_40416052/article/details/85010831hglegbwpsleftxihsfusrnmj

  • cralsslxagxgc

  • anqdhakuqrxhoawngqkqqrluh

    (1)项目完整代码:euzezkekgybwymzjl

    1. using System;aagabvexrfsmnfmlcujxowelzvpvcfqqfwgi
    2. using System.Collections.Generic;
      nonvjgtqyrjtghnclqydmgjuvtxozupfeoqzgbbjqotq

    3. using System.Linq;
      pioutacqhwxuwvqm

    4. using System.Text;kolahnopdtgsrcfujdnhwmqnjxyzmew
    5. using System.Threading.Tasks;jiixlhzegcnqoxewdninnvhuc
    6. using Autodesk.Revit.DB;keqrofylqeocpcopohacluscehgrhwsczv
    7. using Autodesk.Revit.UI;hdcxwxghklqikodzsgzaqhvpkcssrbrr
    8. using Autodesk.Revit.Attributes;ndhzaovuspnodpwqwjmjxxngdoqnxdnws
    9. vveltzfbmqvtijousvnsrlmkpyflxxwvew
    10. using System.Windows.Media.Imaging;//需要添加引用:PresentationCore、System.Xaml、WindowsBasekiozcgbfxuqjuvxzneosljnu
    11. using Autodesk.Revit.UI.Events;swhrsvchlfgoliqwxsfkgfoyvmyriysvjszxqr
    12. vqyzvevbduysnwqjrpuiocblpd

    13. namespace Ribbondfpbjndjnhpinmt
    14. {
    15. qlxyipkylfeqtzqgabzlmfxwvnkunvkj

    16.     [TransactionAttribute(TransactionMode.Manual)]ndhzaovuspnodpwqwjmjxxngdoqnxdnws
    17.     [RegenerationAttribute(RegenerationOption.Manual)]fathpevcjwe
    18.     public class Class1 : IExternalApplicationeksuicaqzxeba
    19.     {bqybzqtfnbkubwcgedlayhsdevffbtxshdbz
    20.         public Result OnShutdown(UIControlledApplication application)kolahnopdtgsrcfujdnhwmqnjxyzmew
    21.         {

      dcudvqphurxhlyfbdhvdzqlvhxwybdot

    22. jyufpnviqmmuseaonuficcuxnbq

    23.             return Result.Succeeded;baekvxwzpris
    24.         }okomzvzmvzykbltvabwoxslgwjcctcmhokjwcobslsfwqp
    25. iswlwicvbtmmgfakquqlskhfnlabordajtxkxjshmvgndcgt
    26.         public Result OnStartup(UIControlledApplication application)
    27. hdkhgmnplaaqclrrfnlnldaixgaqplwhnndhohirtdwy

    28.         {hgamgtcbwkqwkghwzrwsvnuebumboqqfqxbkuhba
    29.             application.CreateRibbonTab("我的工具");//创建选型卡页名称

      bsxvbahngwjtklxuwxdbygbqgrxmkwgujmgorcapjzizwjqpjmzpsjfdpqucnryu


    30.             RibbonPanel panel1 = application.CreateRibbonPanel("我的工具", "欢迎页");//创建选项卡面板imziqnnpbbujhhmxepjgqjoqawrqgv
    31.             PushButtonData pdb = new PushButtonData("我的工具", "欢迎使用", @"E:\27.Revit development\HelloWorld\HelloWorld\bin\Debug\HelloRevit.dll", "HelloRevit.Class1");//此处为我编写的HelloWorld程序,,相关链接在文章最后

      kfbjpzqrwwdtoowldavajcfycfgbwfwawmhajxxhdsttrntitijyvndss


    32.             PushButton pb = panel1.AddItem(pdb) as PushButton;xhmmjwqigciejnxfulsbjvrnahx
    33. ampjomtrvia

    34.             RibbonPanel panel2 = application.CreateRibbonPanel("我的工具", "工具");//创建面板
    35. cralsslxagxgc

    36.             SplitButtonData splitData = new SplitButtonData("我的集合", "创建工具");//创建记忆下拉按钮kfevijtwkmdcxjwtewlffkptzfjlhkkuvyocgjpffiqsxf
    37.             SplitButton sb = panel2.AddItem(splitData) as SplitButton;mhnqrrtwytfrpzmvczwisnsnddhofnwlqbkkdwrdzu
    38. kfbjpzqrwwdtoowldavkkrjgyqvalvwoutlyztmkmchbgdr


    39.             PushButtonData spd = new PushButtonData("我的工具", "创建", @"E:\27.Revit development\BasicCreation\BasicCreation\bin\Debug\BasicCreation.dll", "BasicCreation.Class1");//此处的插件是:创建墙体并实现墙体的复制、移动和镜像,相关链接在文章最后
      wnkywocvgmdjlcw

    40.             //为按钮添加图片lbaljozgqhrxxhbt
    41.             spd.LargeImage = new BitmapImage(new Uri(@"E:\27.Revit development\Bitmap.png"));//添加位图的地址jiixlhzegcnqoxewdninnvhuc
    42.             sb.AddPushButton(spd);//完成添加yutntejhooxtxuyelhwhwukjdargklwcpcsrsqougvkypzp
    43. vqyzvevbduysnwqjrpuiocblpd

    44.             //添加分隔符
    45. vlewbugqquypfdzqznvjxpxvrydsmzxbem

    46.             panel2.AddSeparator();
    47. wbprpkchsbounbmfr

    48.             PulldownButtonData pdbd = new PulldownButtonData("我的工具", "检查");
      nbsdxywdxctzvkgdsndmrsjzlwbdtvio

    49.             PushButtonData pushbtn = new PushButtonData("我的工具", "碰撞检查", @"E:\27.Revit development\Collision\Collision\bin\Debug\Collision.dll", "Collision.Class1");//这是我写的一个碰撞检查插件,相关链接在文章最后awqqrpqxwcuotiggespzqqtedjzrvovrpdhboccasojh
    50.             PulldownButton btn = panel2.AddItem(pdbd) as PulldownButton;gaidqmmmead
    51.             btn.LongDescription = "检查当前物体是否碰撞";
    52. qlxyipkylfeqtzqgabzlmfxwvnkunvkj

    53.             btn.AddPushButton(pushbtn);
    54. qlxyipkylfeqtzqgabzlmfxwvnkunvkj

    55. bjpkbjhdzbedappn

    56.             //创建下拉组合框mhnqrrtwytfrpzmvczwisnsnddhofnwlqbkkdwrdzu
    57.             RibbonPanel panel3 = application.CreateRibbonPanel("我的工具", "文件");
    58. vlewbugqquypfdzqznvjxpxvrydsmzxbem

    59.             ComboBoxData cbd = new ComboBoxData("选项");ytpqwxnoajjdqnzzqqtwpptehtwpvazynlzt
    60.             ComboBox cBox = panel3.AddItem(cbd) as ComboBox;yutntejhooxtxuyelhwhwukjdargklwcpcsrsqougvkypzp
    61. vqyzvevbduysnwqjrpuiocblpd

    62.             if(cBox != null)oxjctskzanbsxmontebsvrtexsdwsobqazpkwetkptgp
    63.             {
      xwpnrmfwqbfyckavjdgmgcikrdwvewqgnxfja

    64.                 cBox.ItemText = "选择操作";eoywaogueqerzydktgypapklethdnexiekacqlpf
    65.                 cBox.ToolTip = "请选择想要进行的操作";

      kfbjpzqrwwdtoowldavtelqditnroskuernyedswgdjbtestlxvsbicpyxkjfi


    66.                 cBox.LongDescription = "选择一直接关闭,选择二关闭并修改";
    67. hdkhgmnplaaqclrrfnlnldaixgaqplwhnndhohirtdwy

    68. hgrrqanavsvdvhqawjtawtenaqywielmv
    69.                 ComboBoxMemberData cbmd = new ComboBoxMemberData("A", "关闭");
    70. hzqyujktskfstugwwysbwpneefzjxcg

    71.                 ComboBoxMemberData cbmd2 = new ComboBoxMemberData("B", "关闭并修改");kolahnopdtgsrcfujdnhwmqnjxyzmew
    72. okxnzlmpqwmlvaxd

    73.                 cbmd.GroupName = "编辑操作";jfnpcpuyiyynygrnwafqbekeilsdrjsgzuxirxfnypp
    74.                 cBox.AddItem(cbmd);

      kfbjpzqrwwdtoowldav

    75. jyufpnviqmmuseaonuficcuxnbq

    76.                 cBox.AddItem(cbmd2); ifvbqxyqlvcipbcqonyuvqk
    77.             }
    78. vlewbugqquypfdzqznvjxpxvrydsmzxbem

    79.             cBox.CurrentChanged += change;imziqnnpbbujhhmxepjgqjoqawrqgv
    80.             cBox.DropDownClosed += closed;
      pioutacqhwxuwvqm

    81. keqrofylqeocpcopohacluscehgrhwsczv
    82. dcudvqphurxhlyfbdhvdzqlvhxwybdot

      kvvwantfnyxloxqc


    83.             return Result.Succeeded;kiozcgbfxuqjuvxzneosljnu
    84.         }upeploptsykeoqhdphwyocikwo
    85. jiixlhzegcnqoxewdninnvhuc
    86.         private void closed(object sender, ComboBoxDropDownClosedEventArgs e)ozdtjoxvytencburrroqmcg
    87.         {okomzvzmvzykbltvabwoxslgwjcctcmhokjwcobslsfwqp
    88.             TaskDialog.Show("关闭", "已关闭");ndhzaovuspnodpwqwjmjxxngdoqnxdnws
    89.         }kiozcgbfxuqjuvxzneosljnu
    90. awqqrpqxwcuotiggespzqqtedjzrvovrpdhboccasojh
    91.         private void change(object sender, ComboBoxCurrentChangedEventArgs e)enzntxawgaytvbnfthypyhqyi
    92.         {gywmfdgrhhrmoekqjgqpaallfzcmfctvgbvxshep
    93.             TaskDialog.Show("修改", "已修改");

      kfbjpzqrwwdtoowldav

    94. bcblsveljmpnaravgekzolxgidyyow

    95.         }muadfratuirfzblzyftzpuzzlhykjorwjmbvs
    96.     }ebinksvekpjfjaedltxhwdgktwtbmlipbtqligctdkrpohsp
    97. }
    bxmgobxqfitwfmthktfpvrgehfmuiefv
    复制代码bxmgobxqfitwfmthktfpvrgehfmuiefv

    Ribbon菜单插件介绍:

    mtrsjyjfvojbmuwbsbcfhqbnamebsljvkbffixwijbucfg

    [Revit二次开发] Ribbon菜单的创建

    kvvwantfnyxloxqc

    [Revit二次开发] Ribbon菜单的创建 svxntrmlzitutxpljiidonkjdjocijcoobio

    [Revit二次开发] Ribbon菜单的创建rlpnbrqlplkevcdmnvusfnodkemjppjfghmtq

    [Revit二次开发] Ribbon菜单的创建
  • lmxffbmwykutriruxngbq
  • nonvjgtqyrjtghnclqydmgjuvtxozupfeoqzgbbjqotq

    (2)项目代码中用到的插件:
  • qlxyipkylfeqtzqgabzlmfxwvnkunvkj

  • uxrdzzqaczxvencjzmqxcplrwylfdjzgih

    [Revit二次开发] 创建墙体并实现墙体的复制、移动和镜像
  • xxwqibdyreykckp

  • eoywaogueqerzydktgypapklethdnexiekacqlpf
    [Revit二次开发] 使用ElementIntersectFilter进行冲突检查dfpbjndjnhpinmt
    ifvbqxyqlvcipbcqonyuvqk
    (3)面板中制作位图需要添加的引用resentationCore、System.Xaml、WindowsBasefathpevcjwe

    [Revit二次开发] Ribbon菜单的创建

  • aviqanulxxqlyfoogkqnwugwuyifpdbcnraqelhrpiabat
  • [Revit二次开发] Ribbon菜单的创建
    zxlaglvfjacurtowdnaicegleqwjeqfvwdlfjpqxknkbiff

    [Revit二次开发] Ribbon菜单的创建pelixwdumercgzijihmyyssaeo

    [Revit二次开发] Ribbon菜单的创建
    dfpbjndjnhpinmt
    (4)代码编写完成后,将Revit2018.exe的路径设置外“启动外部程序” ugcrarzzvkldaokqcyjbmeffocffriakxwmgmwnjnxmg

    [Revit二次开发] Ribbon菜单的创建

  • thaavtymolgqmqhlntslfnydbsjxdusnthonc
  • [Revit二次开发] Ribbon菜单的创建
  • tnolbnymmvbfacnkanpcnxzojskzzhnkr

  • [Revit二次开发] Ribbon菜单的创建

    podpignecexdo

    [Revit二次开发] Ribbon菜单的创建
    cpsujccgsceogbuxwldlbpyxhdzfikujaeb

    [Revit二次开发] Ribbon菜单的创建anqdhakuqrxhoawngqkqqrluh

    [Revit二次开发] Ribbon菜单的创建
    yutntejhooxtxuyelhwhwukjdargklwcpcsrsqougvkypzp
    hgrrqanavsvdvhqawjtawtenaqywielmv

    [Revit二次开发] Ribbon菜单的创建ajcfycfgbwfwawmhajxxhdsttrntitijyvndss

    [Revit二次开发] Ribbon菜单的创建
    hdcxwxghklqikodzsgzaqhvpkcssrbrr

    (5)在Revit2018中加载应用程序 :

  • bcblsveljmpnaravgekzolxgidyyow
  • [Revit二次开发] Ribbon菜单的创建

    yxjqruzwqhpxjovon

    [Revit二次开发] Ribbon菜单的创建
    pjggjjtjehcfhxacrpsaajvieyovnzsdgmnocozpvswyvees

    [Revit二次开发] Ribbon菜单的创建

    vagdtuopqdwj

    [Revit二次开发] Ribbon菜单的创建 aftaghpkkenlgccxnhydpgsfcsxvfmyipiqrje

    将Addins\2014下的Ribbon.addin 文件复制到Addins\2018文件夹下:

    yxjqruzwqhpxjovon

    [Revit二次开发] Ribbon菜单的创建

  • uisebmhebvksbeqqdztgvh
  • [Revit二次开发] Ribbon菜单的创建 xznebswzgwaqnmveulpftvboyvqdgiwrlzzkcurgwmmogzi

    [Revit二次开发] Ribbon菜单的创建pjzizwjqpjmzpsjfdpqucnryu

    [Revit二次开发] Ribbon菜单的创建
    mtrsjyjfvojbmuwbsbcfhqbnamebsljvkbffixwijbucfg

    加载应用程序:

  • bcblsveljmpnaravgekzolxgidyyow
  • [Revit二次开发] Ribbon菜单的创建wcisutaodufhbybwrpksuslcfgdwnenwvrgqcrfljebd

    [Revit二次开发] Ribbon菜单的创建

    vagdtuopqdwj

    [Revit二次开发] Ribbon菜单的创建xgviiqdccaso

    [Revit二次开发] Ribbon菜单的创建 pjzizwjqpjmzpsjfdpqucnryu

    效果:

    xcbqoagsqvpqyubdvcftgfcmyjpnmxcwayhcrfzfdtkkllq

    [Revit二次开发] Ribbon菜单的创建

    yxjqruzwqhpxjovon

    [Revit二次开发] Ribbon菜单的创建 xgviiqdccaso

    参考文献:euzezkekgybwymzjl

      周婧祎《Autodesk Revit 2016二次开发入门教程》kkrjgyqvalvwoutlyztmkmchbgdr

    okomzvzmvzykbltvabwoxslgwjcctcmhokjwcobslsfwqp
    sluiztovtfddfn
    knvejvsaroxw
  • ajporqyctltzfgdyjwmwlyybbtexxbcxkcil

  • pjggjjtjehcfhxacrpsaajvieyovnzsdgmnocozpvswyvees

    ffoscbgvvcnerouyyxrwg

    最新评论

    浏览过的版块

    BIM设计要点
    CAD操作技巧
    • 联系我们
    • 邮箱:837005074#qq.com(请把#改成@)
    • 电话:18810188033
    • QQ客服 837005074
    • 人工客服:周一至周日(晚6点至11点)
    • 扫描加客服QQ

    • 扫描加客服微信

    QQ|关于我们|Archiver|手机版|小黑屋|找最好·学BIM网(zhaozuihao.com;xuebim.com) ( 京ICP备2024101289号-1 )

    GMT+8, 2025-5-1 20:36 , Processed in 0.395101 second(s), 67 queries .

    Powered by 找最好 X3.4

    © 2015至今 zhaozuihao.com