CAD软件自定义工具栏 customUIforCAD

本工具是一个利用XML文件快速生成CAD软件的自定义菜单界面。

下载后包含如下3个文件:

customUIforCAD.exe

customUI_AutoCAD.xml

customUI_ZWCAD.xml

其中,xml文件决定了AutoCAD或ZWCAD呈现什么样的菜单。

<customUI>
    <Menus>
        <PopupMenu Name="中国">
            <PopupMenu Name="河北">
                <MenuItem Name="石家庄" Macro="SJZ"/>
            </PopupMenu>
            <PopupMenu Name="内蒙古">
                <MenuItem Name="呼和浩特" Macro="HHHT"/>
                <PopupMenu Name="乌兰察布">
                    <MenuItem Name="卓资山" Macro="ZZS"/>
                </PopupMenu>
            </PopupMenu>
            <Separator/>
            <MenuItem Name="北京" Macro="BJ"/>
        </PopupMenu>
        <PopupMenu Name="日本">
            <MenuItem Name="東京" Macro="DJ"/>
            <MenuItem Name="大阪" Macro="DB"/>
        </PopupMenu>
        <PopupMenu Name="文字对象菜单">
            <MenuItem Name="测试1" Macro="CS"/>
            <MenuItem Name="测试2" Macro="CS"/>
        </PopupMenu>
    </Menus>
    <Toolbars>
        <Toolbar Name="绘图" DockStatus="Floating" Visible="True">
            <ToolbarItem Index="0" Name="电脑" HelpString="Computer" Macro="DN" SmallIconName="RCDATA_16_LINE" LargeIconName="RCDATA_32_LINE"/>
        </Toolbar>
        <Toolbar Name="Fruits" DockStatus="DockTop" Visible="True">
            <ToolbarItem Name="苹果" HelpString="Apple" Macro="PG" SmallIconName="RCDATA_16_SPLINE" LargeIconName="RCDATA_32_SPLINE"/>
            <ToolbarItem Name="香蕉" HelpString="Banana" Macro="XJ" SmallIconName="RCDATA_16_SPLINE" LargeIconName="RCDATA_32_SPLINE"/>
            <Separator Index="1"/>
        </Toolbar>
    </Toolbars>
</customUI>

这个XML包含三部分的定制。

第一部分:菜单栏是由Menus部分决定

第二部分:内置工具栏,例如“绘图”是AutoCAD内置的一个工具栏,这个XML里面的“电脑”控件,显示在“绘图”工具栏里面

第三部分:自定义工具栏,XML里面的“Fruits”是自定义工具栏,包含两个控件。

编辑如上XML文件。在已经打开了AutoCAD或ZWCAD的前提下,双击“customUIforCAD.exe”

可以看到CAD软件呈现出自定义界面。

 

 如果点击其中的“卓资山”,则调用AutoCAD VBA工程中的ZZS这个Sub。请事先打开AutoCAD VBA手工录入这样一个宏:

 

 提示:这是由于XML中,卓资山这个菜单项的onAction等于ZZS,所以需要这样一个回调函数。

最后,点击自定义菜单项“卓资山”,弹出:

 完整效果如下:

  

本工具是递归算法,理论上支持无限多层的菜单嵌套。

在使用方式上,与RunMacro非常类似。

欢迎大家提问。

 

posted @ 2022-01-06 21:39  ryueifu  阅读(395)  评论(0)    收藏  举报