本帖最后由 pmq 于 2025-11-12 15:18 编辑

编译好的DLL
这是一个完整的插件,实用于AutoCAD2019-2026

编译好的DLL

下拉菜单源码

自动加载DLL


VB.NET写的 AutoCAD下拉菜单和折叠菜单
可自定义配置文件


网友答:
daskfo 发表于 2025-8-30 09:50
大佬,侧边栏的箭头,可以设置成天正风格吗?好像跟天正是相反的,天正点开二级菜单的时候,箭头是向下的

修改源代码



' 主菜单按钮点击事件
AddHandler mainButton.Click,
    Sub(sender, e)
        ' 如果点击的是当前已展开的菜单,则折叠它
        If currentExpandedMenu IsNot Nothing AndAlso currentExpandedMenu Is subMenuPanel Then
            currentExpandedMenu.Visible = False
    将               currentMainButton.Text = "▶ " & CommandA.Title

   修改为         currentMainButton.Text = " " & CommandA.Title


            currentExpandedMenu = Nothing
            currentMainButton = Nothing
        Else
            ' 否则,折叠当前已展开的菜单(如果有)
            If currentExpandedMenu IsNot Nothing Then
                currentExpandedMenu.Visible = False
                           currentMainButton.Text = "▶ " & currentMainButton.Text.Substring(2)

    修改为             currentMainButton.Text = " " & currentMainButton.Text.Substring(2)


            End If

            ' 展开新的菜单
            subMenuPanel.Visible = True
                     mainButton.Text = "▼ " & CommandA.Title

    修改为        mainButton.Text = "▶ " & CommandA.Title


            ' 更新当前展开的菜单引用
            currentExpandedMenu = subMenuPanel
            currentMainButton = mainButton
        End If
    End Sub


自定义按钮的 Paint 事件
AddHandler mainButton.Paint,
    Sub(sender, e)
        Dim btn = CType(sender, Button)
        Dim g = e.Graphics
        g.Clear(btn.BackColor) ' 清除背景

        ' 绘制蓝色三角形
    将    Dim triangleText = If(subMenuPanel.Visible, "▼", "▶")
修改为
           Dim triangleText = If(subMenuPanel.Visible,, "▶" "")




网友答: 本帖最后由 pmq 于 2025-4-29 12:08 编辑






解压文件到 C 盘根目录(盘符不限,但最好是根目录)。
启动 AutoCAD 2021-2026, 输入NetLoad 加载  C:\Asur\CADDLL\AceL2026.DLL,则会自动加载“测量绘图工具菜单”
也可以加载 C:\Asur\MenuRes\ZDCD.DLL,则会自动加载“折叠菜单”,这个是分离出来的只有菜单。
如果需要每次启动CAD都自动加载菜单,则在第一次加载完成DLL后输入 SetAutoLoad 命令(前提是要“以管理员的身份运行CAD”),
如果要取消自动加载菜单,输入 RemoveAutoLoad命令,输入这两个命令才是要“以管理员的身份运行CAD”。

配置菜单文件格式:

***menugroup=Coal
***POP1
[文件]
     [打开DWG]_Open
     [保存DWG]_Save
     [文件合并]_F
     [文件分割]_FileFG
     [文件转换]_FileZH
     [复制]_copyclip

***POP2
[查询]
     [--]_0
     [距离高程]_DistHF
     [距离方位]_DistS
     [--]_1
     [图层列表]_ll
     [面积注记]_MJCX
     [--]_3
     [H 内插 H]_HiH
     [文档切换]_rt
     [--]_B3
     [坐标对换]_XYxg
     [角度查询]_JdCx
     [--]_10
     [坐标文件]_XYHF
     [左加右减]_SBJJ
     [--]_0
     [我的文档]_d
     [C 盘]_C:
     [--]_0
     [动态信息]_DTT
     [系统变量]_SysTem

***POP13
[图标菜单]
     [带基点复制]_copyBase
     [粘贴]_pasteclip
     [复制]_copyclip
     [粘贴到原坐标]_pasteorig
     [打断]_break
     [打断于一点]_BREAKATPT
     [截断]_trim
     [延伸]_extend
     [移动]_move
     [旋转]_rotate
     [分解]_explode
     [删除]_erase


其中:带“*”的行可有可无,[--]_0 后面是0只是添加分隔线,[--]_3 后面数字大于0则是将菜单文字颜色设置为3(颜色的索引)
[--]_B5  “B”就是更改菜单的背景色为5,图标文件名与命令名相同,与DLL文件菜单文件在同一目录。
菜单配置文件分两个, ZDCD.mnu折叠菜单和 XLCD.mnu下拉菜单,两个文件可相同,可不同,可用于不同的菜单项。

[图标菜单]:生成 的是:



网友答: 本帖最后由 pmq 于 2025-4-29 17:35 编辑
liuyj 发表于 2025-4-29 12:31
下一步能否支持多级菜单?再就是能让用户自己决定cad启动时的显示模式(下拉菜单还是折叠菜单)

多级菜单我觉得没必要,可用文字颜色或背景色区分。
启动时显示下拉菜单还是折叠菜单 ,已修改配置文件ZDCD.mnu

ZDCD.mnu 添加一行:

*XLCD

***上面行可以是:*ZDCD、*XLCD 或 *ZXCD
***“*ZDCD”是打开折叠菜单,“XLCD”是打开下拉菜单,“ZXCD”是打开 折叠菜单 和 下拉菜单,如果没有该行则不打开菜,由用户输入命令:ZDCD 或 XLCD才打开相应的菜单。


文件1#已更新:ZDCD.rar


网友答: 只支持cad2026?有其他的吗

网友答: 本帖最后由 pmq 于 2025-5-17 18:48 编辑
fxlt619 发表于 2025-4-20 14:58
只支持cad2026?有其他的吗

ACeL2019-2026.DLL文件支持CAD2019-2026
源码自己编译成其它版本。
只是引用对应的CAD的三个运行库
accoremgd、acdbmgd、acmgd

网友答: 效果不错,不过为什么出来的是乱码呢?

网友答:
liuyj 发表于 2025-4-20 16:43
效果不错,不过为什么出来的是乱码呢?

配置文件可能是以 GBK 或 GB2312(常见于中文环境)编码保存的,而代码默认使用 UTF-8 读取文件



网友答: 感谢分享,侧边菜单栏现在是百花齐放了

网友答: 怎么自定义配置文件?加载你提供的配置打不开二级菜单

网友答: 本帖最后由 pmq 于 2025-4-30 09:49 编辑
zilong136 发表于 2025-4-21 10:35
怎么自定义配置文件?加载你提供的配置打不开二级菜单

这是一个完整的插件,实用于AutoCAD2021-2026
配置文件在C:\Asur\MenuRes\commandICO.txt
默认二级菜单 [ 前有5个空格
你这个全部是一级菜单,没有二级菜单
最好是解压到C:根目录




网友答: 点赞点赞
卷起来了,各种边栏产品,百花齐放了。

网友答: 这个可以111111
  • 上一篇:命令行打开excle&word
  • 下一篇:没有了